:root{--transition-speed:.4s}[data-theme=spatial]{--bg-color:#f7f7f5;--text-color:#1a1a1a;--accent-color:#8c7b6c;--card-bg:#fff;--border-color:#e0e0dc;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-theme=cinematic]{--bg-color:#0b0b0d;--text-color:#f0f0f3;--accent-color:#00f0ff;--card-bg:#16161a;--border-color:#2a2a32;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family);transition:background-color var(--transition-speed), color var(--transition-speed);margin:0;padding:0}.navbar{border-bottom:1px solid var(--border-color);background-color:var(--bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;transition:border-color var(--transition-speed), background-color var(--transition-speed);justify-content:space-between;align-items:center;padding:20px 40px;display:flex;position:sticky;top:0}.logo{letter-spacing:2px;font-size:1.4rem;font-weight:800}.logo span{color:var(--accent-color)}.theme-switcher{background:var(--card-bg);border:1px solid var(--border-color);border-radius:30px;padding:4px;display:flex}.switch-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .3s;display:flex}.switch-btn.active{background-color:var(--accent-color);color:#fff}.nav-links a{color:var(--text-color);margin-left:20px;font-size:.9rem;text-decoration:none}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:30px;margin-top:40px;display:grid}.project-card{background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:16px;transition:transform .3s,border-color .3s,box-shadow .3s;overflow:hidden}.project-card:hover{border-color:var(--accent-color);transform:translateY(-6px);box-shadow:0 12px 30px #00000014}.media-wrapper{background:#111;width:100%;height:260px;overflow:hidden}.card-image,.card-video{object-fit:cover;width:100%;height:100%}.project-info{padding:24px}.project-info h3{margin:0 0 6px;font-size:1.2rem;font-weight:700}.project-info span{color:var(--accent-color);text-transform:uppercase;letter-spacing:1.5px;font-size:.8rem;font-weight:600}.contact-section{border-top:1px solid var(--border-color);margin-top:100px;padding:80px 0 40px}.contact-container{max-width:580px}.contact-section h2{letter-spacing:-.5px;margin:0 0 10px;font-size:2.2rem}.contact-section p{opacity:.8;margin-bottom:30px;font-size:1.05rem}.contact-form{flex-direction:column;gap:18px;display:flex}.form-group{width:100%}.form-input{background:var(--card-bg);border:1px solid var(--border-color);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:12px;outline:none;padding:16px 20px;font-family:inherit;font-size:.98rem;transition:border-color .3s,box-shadow .3s}.form-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #8c7b6c26}textarea.form-input{resize:vertical;min-height:120px}.submit-btn{background:var(--text-color);color:var(--bg-color);cursor:pointer;border:none;border-radius:12px;margin-top:10px;padding:18px 36px;font-size:1rem;font-weight:600;transition:opacity .3s,transform .2s}.submit-btn:hover{opacity:.9;transform:translateY(-2px)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;box-sizing:border-box;background:#000000d9;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;width:100%;max-width:800px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.close-modal{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;width:36px;height:36px;font-size:1.2rem;position:absolute;top:20px;right:20px}.modal-body{padding:30px}.modal-media{object-fit:cover;border-radius:12px;width:100%;max-height:450px}
