*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #2a2824;--bg-2: #333028;--bg-3: #3d3a32;--border: #4a4740;--border-hover: #554f44;--text: #f2f0eb;--muted: #908a80;--accent: #f5a800;--accent-2: #c8b89a;--nav-bg: rgba(42,40,36,.94);--font: "Inter", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", "Fira Code", monospace;--max: 1200px;--nav-h: 64px;--ease: cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg: #f7f4ef;--bg-2: #ede9e2;--bg-3: #e2ddd5;--border: #ccc8c0;--border-hover: #b0aca5;--text: #1e1c18;--muted: #6b6560;--accent: #c98a00;--accent-2: #7a6a52;--nav-bg: rgba(247,244,239,.94)}[data-theme=light] .hero h1{color:#f2f0eb}[data-theme=light] .hero h1 em{color:var(--accent)}[data-theme=light] .hero-sub,[data-theme=light] .hero-content .label{color:#908a80}[data-theme=light] .page-hero h1{color:#f2f0eb}[data-theme=light] .page-hero p,[data-theme=light] .page-hero .label{color:#908a80}html{scroll-behavior:smooth}.skip-link{position:absolute;top:-100%;left:16px;z-index:9999;padding:10px 20px;background:var(--accent);color:#0f0e0c;font-size:13px;font-weight:600;border-radius:4px;text-decoration:none;transition:top .2s}.skip-link:focus{top:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .35s ease,color .35s ease}nav,footer{transition:background-color .35s ease,border-color .35s ease}.work-meta,.work-card-inner{transition:background-color .35s ease,border-color .35s ease}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}::selection{background:var(--accent);color:#111010}.label{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}h1{font-size:clamp(2.8rem,7vw,6rem);font-weight:700;line-height:1.05;letter-spacing:-.03em}h2{font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.container{max-width:var(--max);margin:0 auto;padding:0 32px}section{padding:96px 0}nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid transparent;transition:border-color .3s;overflow:visible}nav.scrolled{border-bottom-color:var(--border)}nav .container{height:var(--nav-h);display:flex;align-items:center;gap:32px}.nav-logo{font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.04em;color:var(--text)}.nav-logo span{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:36px;list-style:none;margin-left:auto}.nav-links a{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.02em;transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s var(--ease)}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.theme-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s;flex-shrink:0}.theme-toggle:hover{color:var(--text);border-color:var(--accent)}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:flex}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.hero-bg video,.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to bottom,#000000d9,#000000b8,#000000eb)}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}#hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.3;z-index:2}.hero-content{position:relative;z-index:3;padding-top:var(--nav-h);max-width:820px}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px}.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.hero h1{margin-bottom:28px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-sub{font-size:clamp(1rem,2vw,1.2rem);color:var(--muted);max-width:520px;margin-bottom:48px;line-height:1.7}.hero-cta{display:flex;gap:16px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:transform .2s var(--ease),background .2s,color .2s,box-shadow .2s;border:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#111010}.btn-primary:hover{background:#ffc230;box-shadow:0 0 28px #f5a80040}.btn-ghost{background:var(--bg-3);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);background:var(--bg-2)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;gap:24px}.section-header .label{margin-bottom:10px}.view-all{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.view-all:hover{color:var(--text);border-color:var(--muted)}.view-all svg{transition:transform .2s var(--ease)}.view-all:hover svg{transform:translate(3px)}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;row-gap:24px}.work-card{position:relative;overflow:hidden;background:var(--bg-2);grid-column:span 4;transition:background-color .35s ease,transform .3s var(--ease),box-shadow .3s ease}.work-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0000002e;z-index:1}.work-card-inner{display:flex;flex-direction:column;position:relative;overflow:hidden;height:100%}.work-visual{position:relative;width:100%;overflow:hidden;flex-shrink:0;aspect-ratio:16/9;transition:filter .4s ease}.work-card:hover .work-visual{filter:brightness(1.08)}.work-visual .vis-noise,.work-visual .mini-canvas,.work-visual .work-slide,.lab-thumb-inner .work-slide{transition:transform .6s ease}.work-card:hover .work-visual .vis-noise,.work-card:hover .work-visual .mini-canvas,.work-card:hover .work-visual .work-slide,.lab-card:hover .lab-thumb-inner .work-slide{transform:scale(1.06)}.work-overlay{display:none}.work-meta{padding:18px 22px 20px;background:var(--bg-2);border-top:1px solid var(--border);flex:1;display:flex;flex-direction:column}.work-meta p{flex:1}.work-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;display:block}.work-card h3{font-size:1.05rem;margin-bottom:6px}.work-card p{font-size:.82rem;color:var(--muted);line-height:1.5;max-width:320px}.work-arrow{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#2a282499;border:1px solid rgba(242,240,235,.2);display:flex;align-items:center;justify-content:center;opacity:0;transform:translate(4px,-4px);transition:opacity .25s,transform .25s var(--ease),background .2s;z-index:4}.work-card:hover .work-arrow{opacity:1;transform:translate(0)}.work-arrow:hover{background:#0f0e0cbf}.work-card-link{display:block;text-decoration:none;color:inherit}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:3px;padding-top:10px;padding-bottom:96px}.gallery-item{overflow:hidden;background:var(--bg-2);position:relative;cursor:pointer}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}.gallery-item:hover img,.gallery-item:hover video{transform:scale(1.04)}.gallery-item:has(video):after{content:"";position:absolute;bottom:10px;left:10px;width:28px;height:28px;border-radius:50%;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.15);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:14px;z-index:2;pointer-events:none}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#2a2824f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:24px}.lightbox-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-inner img,.lightbox-inner video{max-width:90vw;max-height:90vh;width:auto;height:auto;display:block;border-radius:2px;box-shadow:0 32px 80px #0009}.lightbox-close{position:fixed;top:20px;right:24px;width:40px;height:40px;background:var(--bg-3);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:background .2s;z-index:1001}.lightbox-close:hover{background:var(--accent);color:#111010}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:44px;background:var(--bg-3);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:background .2s;z-index:1001}.lightbox-nav:hover{background:var(--accent);color:#111010}.lightbox-prev{left:20px}.lightbox-next{right:20px}.vis-1{background:linear-gradient(135deg,#1a1612,#0f1a1e,#16121a)}.vis-2{background:linear-gradient(135deg,#1e1a10,#2a1e0e)}.vis-3{background:linear-gradient(135deg,#0e1620,#0e1e1e)}.vis-4{background:linear-gradient(135deg,#1e0e14,#140e1e)}.vis-5{background:linear-gradient(135deg,#0e1a0e,#0e1a16)}.vis-6{background:linear-gradient(135deg,#0e1420,#1a1430)}.vis-noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");background-size:256px;opacity:.5}.work-slide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease;z-index:1}.work-slide.active{opacity:1}.about-strip{padding:72px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.about-strip .container{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-positioning{font-size:clamp(1.1rem,2.2vw,1.4rem);line-height:1.65;font-weight:400;color:var(--text)}.about-positioning strong{font-weight:600;color:var(--accent-2)}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:32px}.stat-num{font-family:var(--mono);font-size:2.2rem;font-weight:600;color:var(--text);letter-spacing:-.03em;line-height:1;margin-bottom:6px}.stat-num span{color:var(--accent)}.stat-label{font-size:12px;color:var(--muted);letter-spacing:.04em}.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.focus-card{background:var(--bg-2);padding:40px 36px;transition:background-color .35s ease}.focus-card:hover{background:var(--bg-3)}.focus-icon{width:44px;height:44px;border-radius:8px;background:#c9a96e14;border:1px solid rgba(201,169,110,.18);display:flex;align-items:center;justify-content:center;margin-bottom:24px}.focus-icon svg{stroke:var(--accent)}.focus-card h3{margin-bottom:12px;font-size:1rem}.focus-card p{font-size:.875rem;color:var(--muted);line-height:1.7}.focus-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tag{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 10px;border:1px solid var(--border);border-radius:2px;transition:color .2s,border-color .2s}.focus-card:hover .tag{color:var(--text);border-color:var(--border-hover)}.page-hero{position:relative;overflow:hidden;padding-top:calc(var(--nav-h) + 72px);padding-bottom:72px}.page-hero .container{position:relative;z-index:3}.page-hero .label{margin-bottom:16px}.page-hero p{font-size:1.1rem;color:var(--muted);max-width:480px;margin-top:16px;line-height:1.7}.lab-filters,.project-filters{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.filter-btn{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 16px;border-radius:2px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .2s}.filter-btn:hover{color:var(--text);border-color:var(--border-hover)}.filter-btn.active{background:var(--accent);color:#111010;border-color:var(--accent)}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 2px;margin-bottom:80px}.lab-card{background:var(--bg-2);overflow:hidden;transition:background-color .35s ease;cursor:pointer;display:flex;flex-direction:column}.lab-card:hover{background:var(--bg-3)}.lab-thumb{aspect-ratio:16/10;overflow:hidden;position:relative}.lab-thumb-inner{width:100%;height:100%;position:relative;transition:transform .5s var(--ease)}.lab-card:hover .lab-thumb-inner{transform:scale(1.04)}.lab-body{padding:24px;flex:1;display:flex;flex-direction:column}.lab-card .work-tag{margin-bottom:6px}.lab-card h3{font-size:.95rem;margin-bottom:8px}.lab-card p{font-size:.82rem;color:var(--muted);line-height:1.6;flex:1}.lab-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.lab-date{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em}.work-card-footer-link{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:gap .2s}.work-card:hover .work-card-footer-link{gap:8px}.lv-1{background:linear-gradient(160deg,#0e1820,#0a1c16)}.lv-2{background:linear-gradient(160deg,#201a0e,#1a100e)}.lv-3{background:linear-gradient(160deg,#0e1020,#160e20)}.lv-4{background:linear-gradient(160deg,#101e0a,#0a1e12)}.lv-5{background:linear-gradient(160deg,#200a0a,#180a18)}.lv-6{background:linear-gradient(160deg,#0a1e1e,#0e1420)}.lv-7{background:linear-gradient(160deg,#1c1a0e,#201a0e)}.lv-8{background:linear-gradient(160deg,#100e20,#200a14)}.lv-9{background:linear-gradient(160deg,#0a1e0a,#0a1e1e)}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start;padding-top:calc(var(--nav-h) + 72px);padding-bottom:120px}.contact-info .label{margin-bottom:20px}.contact-info>p{font-size:1rem;color:var(--muted);line-height:1.75;margin-bottom:40px;margin-top:20px}.contact-details{display:flex;flex-direction:column;gap:20px}.contact-item{display:flex;flex-direction:column;gap:4px}.contact-item .label{color:var(--muted)}.contact-item span{font-size:.95rem}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:13px 16px;color:var(--text);font-size:14px;transition:border-color .2s,background .2s;outline:none;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#554f44;background:var(--bg-3)}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}.form-group select option{background:var(--bg-2)}.form-group textarea{resize:vertical;min-height:140px;font-family:inherit;line-height:1.6}.form-group input::placeholder,.form-group textarea::placeholder{color:#3a3630}.form-submit{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:8px}.form-note{font-size:12px;color:var(--muted)}.form-success{display:none;padding:16px 20px;background:#c9a96e0f;border:1px solid rgba(201,169,110,.2);border-radius:4px;font-size:14px;color:var(--accent)}.form-success.visible{display:block}.dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;animation:pulse 2.4s ease-in-out infinite}footer{border-top:1px solid var(--border);padding:36px 0}footer .container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-left{font-family:var(--mono);font-size:12px;color:var(--muted)}.footer-left span{color:var(--text)}.footer-links{display:flex;gap:28px;list-style:none}.footer-links a{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transition:color .2s;display:inline-flex;align-items:center;gap:6px}.footer-links a:hover{color:var(--text)}.divider{border:none;border-top:1px solid var(--border);margin:0}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--accent);transform-origin:left;z-index:200;pointer-events:none}.back-to-top{position:fixed;bottom:32px;right:32px;width:40px;height:40px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);z-index:99;transition:color .2s,border-color .2s,background-color .2s}.back-to-top:hover{color:var(--text);border-color:var(--accent)}@media (max-width: 1024px){.work-card{grid-column:span 6}.lab-grid,.focus-grid{grid-template-columns:repeat(2,1fr)}.about-strip .container{grid-template-columns:1fr;gap:48px}}@media (max-width: 768px){section{padding:64px 0}.container{padding:0 20px}h1{font-size:2.6rem}.work-card{grid-column:span 12}.focus-grid,.lab-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;padding-top:calc(var(--nav-h) + 48px)}.form-row{grid-template-columns:1fr}.about-stats{grid-template-columns:1fr 1fr}.section-header{flex-direction:column;align-items:flex-start}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}}@media (max-width: 480px){h1{font-size:2.1rem}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:200px}}@media (orientation: portrait){:root{--nav-h: 108px}nav{height:auto;overflow:visible}nav .container{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;height:auto;padding:10px 20px;gap:0;align-items:center}.nav-logo{grid-column:1;grid-row:1}.theme-toggle{grid-column:2;grid-row:1;margin-left:16px}.nav-links{grid-column:1 / 3;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;list-style:none;width:100%;padding-top:8px;border-top:1px solid var(--border);margin:8px 0 4px}.nav-links li{width:auto}.nav-links a{font-size:13px;padding:4px 0}}
