:root{--bg: #0e0e0c;--bg-soft: #151512;--ink: #edeae3;--ink-dim: #8d8a82;--accent: #c8f034;--line: rgba(237, 234, 227, .12);--font-display: "Clash Display", sans-serif;--font-body: "Satoshi", sans-serif;--pad: clamp(20px, 5vw, 72px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{background:none;border:none;color:inherit;font:inherit;cursor:pointer}@media(hover:hover)and (pointer:fine){body,a,button,[data-hover]{cursor:none}}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);display:flex;align-items:flex-end;pointer-events:none}.preloader-inner{width:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:var(--pad)}.preloader-label{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.preloader-count{font-family:var(--font-display);font-weight:600;font-size:clamp(80px,18vw,220px);line-height:.85;color:var(--ink);font-variant-numeric:tabular-nums}.cursor,.cursor-ring{position:fixed;top:0;left:0;z-index:99;pointer-events:none;border-radius:50%;display:none}.cursor{width:8px;height:8px;background:var(--accent);transform:translate(-50%,-50%)}.cursor-ring{width:36px;height:36px;border:1px solid rgba(237,234,227,.35);transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,border-color .25s ease}.cursor-ring.is-hover{width:64px;height:64px;border-color:var(--accent)}@media(hover:hover)and (pointer:fine){.cursor,.cursor-ring{display:block}}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:90;pointer-events:none;opacity:.06;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.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .9s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}50%{transform:translate(2%,-1%)}to{transform:translate(-1%,2%)}}.progress{position:fixed;top:0;left:0;z-index:60;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}body:before{content:"";position:fixed;top:0;left:0;right:0;height:clamp(76px,12vh,120px);background:linear-gradient(to bottom,rgb(14,14,12) 0%,rgb(14,14,12) 52%,rgba(14,14,12,.72) 74%,transparent 100%);z-index:49;pointer-events:none}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:clamp(16px,3vw,28px) var(--pad);mix-blend-mode:difference}.nav-logo{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:.02em}.nav-logo sup{font-size:10px}.nav-right{display:flex;align-items:center;gap:24px}.nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.nav-links a{position:relative;font-size:13px;transition:color .25s ease}.nav-links a:hover{color:var(--accent)}.nav-sep{color:var(--ink-dim);opacity:.55;font-size:12px;-webkit-user-select:none;user-select:none}.nav-sep-strong{opacity:.35;margin:0 4px}@media(max-width:900px){.nav-links{display:none}}.nav-status{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@media(max-width:640px){.nav-status{display:none}}.track-toggle{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);transition:color .25s ease}.track-toggle:hover{color:var(--ink)}.track-note{color:var(--accent);font-size:13px}.track-toggle.is-playing .track-note{animation:bob 1.2s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-3px) rotate(6deg)}}@media(max-width:480px){.track-name{display:none}}.sound-toggle{display:flex;align-items:flex-end;gap:3px;height:18px;padding:4px 2px}.sound-toggle .bar{width:2.5px;background:var(--ink);border-radius:2px;animation:eq .9s ease-in-out infinite alternate;height:6px}.sound-toggle .bar:nth-child(1){animation-delay:0s}.sound-toggle .bar:nth-child(2){animation-delay:.2s}.sound-toggle .bar:nth-child(3){animation-delay:.35s}.sound-toggle .bar:nth-child(4){animation-delay:.1s}@keyframes eq{0%{height:4px}to{height:14px}}.sound-toggle.muted .bar{animation:none;height:3px;opacity:.5}.section-tag{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:clamp(28px,5vh,56px)}.section-tag:has(+.section-title){margin-bottom:clamp(10px,2vh,18px)}.section-title{font-family:var(--font-display);font-weight:600;font-size:clamp(34px,5.2vw,68px);line-height:1.05;letter-spacing:-.02em;margin-bottom:clamp(28px,5vh,56px)}.line-mask{display:block;overflow:hidden}.line{display:block;will-change:transform}.accent{color:var(--accent);font-style:normal}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);overflow:hidden}#field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-portrait-wrap{position:absolute;top:50%;right:0;transform:translateY(-50%);height:min(88svh,800px);z-index:1;pointer-events:none}.hero-portrait{height:100%;width:auto;max-width:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.06) brightness(.94);mix-blend-mode:lighten;-webkit-mask-image:radial-gradient(72% 68% at 55% 42%,#000 38%,transparent 74%);mask-image:radial-gradient(72% 68% at 55% 42%,#000 38%,transparent 74%)}.js .hero-portrait{opacity:0}@media(min-width:900px){.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(min(300px,30%),.9fr);align-items:center;column-gap:clamp(24px,4vw,72px)}.hero-content{grid-column:1;grid-row:1}.hero-portrait-wrap{position:relative;grid-column:2;grid-row:1;top:auto;right:auto;transform:none;justify-self:end;margin-right:calc(var(--pad) * -1);height:min(86svh,820px);max-width:100%}}@media(max-width:899px){.hero-portrait-wrap{top:42%;right:-14vw;height:min(62svh,560px)}.hero-portrait{max-width:none;filter:grayscale(1) contrast(1.05) brightness(.6)}}.hero-content{position:relative;z-index:2;pointer-events:none;container-type:inline-size;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2.4vh,30px)}.hero-eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:0}.hero-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,15cqi,8rem);line-height:.94;letter-spacing:-.015em;text-transform:uppercase;max-width:100%;margin:0}.hero-title .hero-role{display:inline-block;font-size:clamp(.9rem,3.4cqi,1.6rem);font-weight:500;line-height:1.25;letter-spacing:.14em;color:var(--ink-dim);margin-top:clamp(8px,1.2vh,16px)}.hero-sup{font-size:.18em;font-weight:500;letter-spacing:.08em;color:var(--ink-dim);vertical-align:super}.hero-sub{margin-top:0;max-width:min(46ch,100%);font-size:clamp(.95rem,2.2cqi,1.125rem);color:var(--ink-dim)}.hero-scroll{position:absolute;bottom:36px;right:var(--pad);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}.hero-scroll-line{width:1px;height:56px;background:linear-gradient(var(--ink-dim),transparent);animation:drip 1.8s ease-in-out infinite;transform-origin:top}@keyframes drip{0%{transform:scaleY(0)}45%{transform:scaleY(1)}to{transform:scaleY(1);opacity:0}}.marquee-wrap{padding:clamp(48px,10vh,110px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;gap:18px}.marquee{overflow:hidden;white-space:nowrap}.marquee-track{display:inline-flex;align-items:center;gap:36px;padding-right:36px;font-family:var(--font-display);font-weight:500;font-size:clamp(34px,6vw,84px);text-transform:uppercase;will-change:transform}.marquee-track i{font-style:normal;color:var(--accent);font-size:.5em}.marquee-alt .marquee-track{color:transparent;-webkit-text-stroke:1px rgba(237,234,227,.4);font-size:clamp(26px,4.5vw,60px)}.marquee-alt .marquee-track i{-webkit-text-stroke:0}.about{padding:clamp(90px,16vh,180px) var(--pad)}.about-text{font-family:var(--font-display);font-weight:500;font-size:clamp(26px,4.4vw,58px);line-height:1.18;letter-spacing:-.01em;max-width:18em}.about-text .word{opacity:.13}.about-body{margin-top:clamp(28px,5vh,52px);max-width:62ch;font-size:clamp(15px,1.6vw,17px);line-height:1.65;color:var(--ink-dim)}.stats{margin-top:clamp(64px,12vh,130px);display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--line);padding-top:36px}.stat{display:block}.stat-num{font-family:var(--font-display);font-weight:600;font-size:clamp(44px,6vw,88px);line-height:1;font-variant-numeric:tabular-nums;display:inline}.stat-unit{display:inline;color:var(--accent);font-family:var(--font-display);font-size:clamp(20px,2.4vw,32px);font-weight:600}.stat-label{display:block;margin-top:12px;font-size:13px;color:var(--ink-dim)}.stats-note{margin-top:clamp(36px,7vh,64px);border-top:1px solid var(--line);padding-top:22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr);gap:40px 20px}}.work{position:relative}.work-pin{padding:clamp(40px,8vh,80px) 0 clamp(40px,8vh,80px) var(--pad);overflow:hidden}.work-head{display:flex;justify-content:space-between;align-items:baseline;padding-right:var(--pad)}.work-hint{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.work-track{display:flex;gap:clamp(20px,3vw,44px);width:max-content;will-change:transform}.card{width:clamp(300px,36vw,520px);flex-shrink:0;perspective:1400px}.card-flip{position:relative;width:100%;height:clamp(440px,58vh,560px);transform-style:preserve-3d;transition:transform .8s cubic-bezier(.22,1,.36,1)}.card.flipped .card-flip{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;border-radius:6px}.card-back{transform:rotateY(180deg);background:var(--bg-soft);border:1px solid var(--line);padding:clamp(18px,2.2vw,28px);justify-content:space-between;gap:14px;overflow-y:auto}.back-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.card-art{flex:1 1 auto;border-radius:6px;overflow:hidden;position:relative;transition:transform .5s cubic-bezier(.22,1,.36,1)}.card:hover .card-art{transform:scale(.98)}.card-art:after{content:"";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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.15;mix-blend-mode:overlay}.art-1{background:radial-gradient(120% 140% at 20% 10%,#2c3a12,#0f1407 45%,#0e0e0c),var(--bg-soft)}.art-2{background:radial-gradient(130% 120% at 80% 20%,#36210e,#160e06,#0e0e0c)}.art-3{background:radial-gradient(120% 130% at 30% 80%,#11262b,#081012,#0e0e0c)}.art-4{background:radial-gradient(140% 120% at 70% 70%,#251329,#0f0812,#0e0e0c)}.art-5{background:radial-gradient(130% 130% at 20% 70%,#2a1410,#120906,#0e0e0c)}.art-6{background:radial-gradient(120% 140% at 75% 25%,#0f2b1c,#07120c,#0e0e0c)}.card-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--accent)}.card-icon svg{width:clamp(64px,7vw,96px);height:clamp(64px,7vw,96px);overflow:visible}.card-index{position:absolute;left:18px;top:16px;font-family:var(--font-display);color:var(--ink-dim);font-size:14px}.card-meta{padding-top:18px}.card-title{font-family:var(--font-display);font-weight:600;font-size:clamp(21px,2.3vw,30px);line-height:1.08}.card-cta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);transition:color .3s ease}.card:hover .card-cta{color:var(--accent)}.card-cta i{font-style:normal;font-size:15px;color:var(--accent);transition:transform .4s cubic-bezier(.22,1,.36,1)}.card.flipped .card-cta i{transform:rotate(45deg)}.card-tag{display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(200,240,52,.3);border-radius:99px;padding:6px 12px;align-self:flex-start}@media(max-width:899px){.work-pin{padding-right:var(--pad)}.work-track{flex-direction:column;width:100%}.card{width:100%}.card-flip{height:clamp(580px,78vh,660px)}}.anim-spin{animation:icon-spin 14s linear infinite;transform-origin:center}.anim-spin-slow{animation:icon-spin 22s linear infinite;transform-origin:center}@keyframes icon-spin{to{transform:rotate(360deg)}}.anim-pulse{animation:icon-pulse 2.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes icon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.anim-draw{stroke-dasharray:70;animation:icon-draw 3.2s ease-in-out infinite}@keyframes icon-draw{0%{stroke-dashoffset:70}55%,to{stroke-dashoffset:0}}.anim-dash{stroke-dasharray:6 7;animation:icon-dash 1.6s linear infinite}@keyframes icon-dash{to{stroke-dashoffset:-26}}.anim-ring{opacity:.35;animation:icon-ring 2.6s ease-out infinite;transform-origin:center;transform-box:fill-box}@keyframes icon-ring{0%{transform:scale(.45);opacity:.6}to{transform:scale(1.05);opacity:0}}.anim-hand{animation:icon-spin 6s linear infinite;transform-origin:24px 24px}.anim-needle{animation:icon-needle 3.4s ease-in-out infinite;transform-origin:24px 24px}@keyframes icon-needle{0%,to{transform:rotate(-28deg)}50%{transform:rotate(24deg)}}.anim-bubble{animation:icon-bubble 2.4s ease-in infinite}.anim-bubble-2{animation:icon-bubble 2.4s ease-in 1.1s infinite}@keyframes icon-bubble{0%{transform:translateY(0);opacity:0}30%{opacity:1}to{transform:translateY(-12px);opacity:0}}.anim-layer-1{animation:icon-layer 3s ease-in-out infinite}.anim-layer-2{animation:icon-layer 3s ease-in-out .25s infinite}.anim-layer-3{animation:icon-layer 3s ease-in-out .5s infinite}@keyframes icon-layer{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.star{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:13px}.star li{display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.5;color:var(--ink-dim)}.star-lbl{font-style:normal;font-family:var(--font-display);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.star li:last-child{color:var(--ink)}.star li:last-child .star-lbl{color:var(--accent)}.star li:last-child:before{content:"";display:block;width:32px;height:1px;background:var(--accent);margin-bottom:6px}.orgs{padding:clamp(90px,16vh,180px) var(--pad) 0}.org-list{border-top:1px solid var(--line)}.org-item{display:grid;grid-template-columns:1.2fr 1.4fr .9fr;gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(26px,4.5vh,44px) 12px;border-bottom:1px solid var(--line);transition:background .35s ease,padding-left .35s cubic-bezier(.22,1,.36,1)}.org-item:hover{background:var(--bg-soft);padding-left:24px}.org-id{display:flex;align-items:center;gap:18px}.org-logo{flex-shrink:0;width:56px;height:56px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden}.org-logo img{width:70%;height:70%;object-fit:contain}.org-mono{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--bg);background:var(--accent);width:100%;height:100%;display:grid;place-items:center}.org-logo:has(.org-mono){background:var(--accent)}.org-name{font-family:var(--font-display);font-weight:600;font-size:clamp(20px,2.4vw,30px);line-height:1.1}.org-flag{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-left:6px}.org-industry{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.org-about{font-size:14px;color:var(--ink-dim);max-width:52ch}.org-role{text-align:right}.org-title{display:block;font-family:var(--font-display);font-weight:500;font-size:15px}.org-years{display:block;margin-top:6px;font-size:13px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.org-edu{margin-top:28px;font-size:13px;color:var(--ink-dim)}@media(max-width:899px){.org-item{grid-template-columns:1fr;gap:16px;align-items:start}.org-role{text-align:left;display:flex;gap:14px;align-items:baseline}.org-item:hover{padding-left:12px}}.process{padding:clamp(90px,16vh,180px) var(--pad)}.process-rows{border-top:1px solid var(--line)}.process-row{position:relative;display:grid;grid-template-columns:80px 1fr 1.2fr;align-items:baseline;gap:24px;padding:clamp(24px,4vh,44px) 12px;border-bottom:1px solid var(--line);overflow:hidden}.process-row:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.65,0,.35,1);z-index:0}.process-row:hover:after{transform:scaleY(1)}.process-row>*{position:relative;z-index:1;transition:color .3s ease}.process-row:hover>*{color:var(--bg)}.row-index{font-family:var(--font-display);color:var(--ink-dim);font-size:14px}.row-icon{color:var(--accent)}.row-icon svg{width:42px;height:42px;overflow:visible}.row-title{font-family:var(--font-display);font-weight:600;font-size:clamp(30px,4.5vw,60px);text-transform:uppercase;line-height:1}.row-desc{color:var(--ink-dim);font-size:15px;max-width:42ch}@media(max-width:760px){.process-row{grid-template-columns:48px 1fr}.row-desc{grid-column:2}.row-icon svg{width:32px;height:32px}}.awards{padding:0 var(--pad) clamp(90px,16vh,180px)}.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}.award{border:1px solid var(--line);border-radius:6px;padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;transition:border-color .35s ease,transform .35s cubic-bezier(.22,1,.36,1);text-decoration:none}.award:hover{border-color:#c8f03473;transform:translateY(-6px)}.award-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}.award-link i{font-style:normal;transition:transform .35s cubic-bezier(.22,1,.36,1)}.award:hover .award-link,.award:focus-visible .award-link{opacity:1;transform:translateY(0)}.award:hover .award-link i,.award:focus-visible .award-link i{transform:translate(4px)}@media(max-width:760px){.award-link{opacity:1;transform:translateY(0)}}.award-year{font-family:var(--font-display);font-size:13px;color:var(--accent);margin-bottom:14px}.award-name{font-family:var(--font-display);font-weight:600;font-size:clamp(18px,1.9vw,24px);line-height:1.15}.award-org{margin-top:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.award-desc{margin-top:14px;font-size:13.5px;line-height:1.55;color:var(--ink-dim)}@media(max-width:760px){.awards-grid{grid-template-columns:1fr}}.gallery-sec{padding:0 var(--pad) clamp(90px,16vh,180px)}.gallery-intro{max-width:62ch;margin:0 0 clamp(32px,5vh,56px);font-size:clamp(15px,1.6vw,18px);line-height:1.65;color:var(--ink-dim)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,18px);max-width:1360px}@media(max-width:1049px){.gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:769px){.gallery{grid-template-columns:repeat(2,1fr)}}.g-item{position:relative;margin:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:6px;background:var(--bg-soft);cursor:pointer}.g-item img,.g-item .g-bg{width:100%;height:100%;display:block;background-size:cover;background-position:50% 32%;background-repeat:no-repeat;object-fit:cover;object-position:50% 32%;filter:grayscale(.35) contrast(1.02);transition:transform .6s cubic-bezier(.22,1,.36,1),filter .5s ease;-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.g-item .g-shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.g-item figcaption{z-index:3}.gallery .g-item:not(.g-placeholder):first-child{grid-column:span 2;aspect-ratio:2.75}@media(max-width:769px){.gallery .g-item:not(.g-placeholder):first-child{aspect-ratio:16 / 9}}@media(min-width:770px)and (max-width:1049px){.gallery .g-item:not(.g-placeholder):last-child{grid-column:span 2;aspect-ratio:2.75}}.g-item:hover img,.g-item:hover .g-bg{transform:scale(1.07);filter:grayscale(0) contrast(1)}.g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;font-size:12px;color:var(--ink);background:linear-gradient(transparent,#0e0e0ce6);transform:translateY(6px);opacity:0;transition:transform .4s ease,opacity .4s ease}.g-item:hover figcaption,.g-item:focus-visible figcaption{transform:translateY(0);opacity:1}.g-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.g-placeholder{cursor:default;display:grid;place-items:center;border:1px dashed var(--line);background:radial-gradient(120% 120% at 30% 20%,rgba(200,240,52,.05),transparent 60%),var(--bg-soft)}.g-ph-icon svg{width:30px;height:30px;color:var(--ink-dim);opacity:.35}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:none;place-items:center;padding:clamp(20px,5vw,64px);background:#080807f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox.open{display:grid;animation:lb-fade .3s ease}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lb-img{max-width:min(1100px,92vw);max-height:80vh;object-fit:contain;border-radius:4px;box-shadow:0 30px 80px #0009;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;pointer-events:none}.lb-cap{position:absolute;bottom:clamp(20px,5vw,48px);left:0;right:0;text-align:center;font-size:13px;letter-spacing:.06em;color:var(--ink-dim)}.lb-close{position:absolute;top:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:var(--ink);font-size:22px;line-height:1;display:grid;place-items:center;transition:background .25s ease,color .25s ease,border-color .25s ease}.lb-close:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.footer{padding:clamp(90px,18vh,200px) var(--pad) 40px;border-top:1px solid var(--line);position:relative;overflow:hidden}.footer-title{font-family:var(--font-display);font-weight:600;font-size:clamp(72px,17vw,240px);line-height:.88;text-transform:uppercase;letter-spacing:-.02em}.footer-note{margin-top:clamp(20px,4vh,36px);font-size:clamp(15px,1.7vw,18px);color:var(--ink-dim);max-width:48ch}.contact-form{margin-top:clamp(32px,6vh,60px);max-width:720px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,40px)}.field{position:relative;margin-bottom:clamp(22px,3.5vh,38px)}.field input,.field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:14px 2px 12px;font-family:var(--font-body);font-size:clamp(15px,1.5vw,17px);color:var(--ink);border-radius:0;transition:border-color .35s ease;resize:none}.field textarea{line-height:1.5}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}.field label{position:absolute;left:2px;top:14px;font-size:clamp(15px,1.5vw,17px);color:var(--ink-dim);pointer-events:none;transform-origin:left center;transition:transform .3s cubic-bezier(.22,1,.36,1),color .3s ease}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-22px) scale(.7);color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.field.invalid input,.field.invalid textarea{border-bottom-color:#e8654a}.field.invalid label{color:#e8654a}.cf-honey{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}.contact-foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:8px}.cf-submit{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:99px;padding:15px 30px;font-family:var(--font-display);font-size:clamp(15px,1.6vw,18px);color:var(--ink);position:relative;overflow:hidden;transition:color .35s ease,border-color .35s ease}.cf-submit>*{position:relative;z-index:1}.cf-submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform:translateY(101%);transition:transform .4s cubic-bezier(.65,0,.35,1);border-radius:99px}.cf-submit:hover:not(:disabled):before{transform:translateY(0)}.cf-submit:hover:not(:disabled){color:var(--bg);border-color:var(--accent)}.cf-arrow{transition:transform .4s cubic-bezier(.22,1,.36,1)}.cf-submit:hover:not(:disabled) .cf-arrow{transform:translate(5px)}.cf-submit:disabled{opacity:.55;cursor:default}.cf-submit.is-sending .cf-arrow{animation:cf-spin .7s linear infinite}@keyframes cf-spin{to{transform:rotate(360deg)}}.cf-status{font-size:13.5px;color:var(--ink-dim);opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}.cf-status.show{opacity:1;transform:translateY(0)}.cf-status.ok{color:var(--accent)}.cf-status.err{color:#e8654a}@media(max-width:600px){.field-row{grid-template-columns:1fr;gap:0}}.footer-bottom{margin-top:clamp(60px,12vh,130px);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-dim);border-top:1px solid var(--line);padding-top:24px}.footer-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-controls .nav-status{color:var(--ink-dim)}@media(max-width:640px){.footer-controls .nav-status{display:none}}.js .line{transform:translateY(110%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .line{transform:none}.js .hero-portrait,.about-text .word{opacity:1}}
