:root{color-scheme:dark;--bg:#10110e;--raised:#171913;--line:#30332a;--paper:#f2f2e9;--muted:#a8ab9b;--acid:#dff96a;--ink:#161b0b;--ease:cubic-bezier(.2,0,0,1);--mono:'Cascadia Mono',Consolas,monospace;--display:'Segoe UI',Arial,sans-serif;--gutter:clamp(20px,5.3vw,100px);font:16px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--paper);scroll-padding-top:110px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-width:280px}
button,input{font:inherit}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--acid);outline-offset:5px}
[hidden]{display:none!important}
.shell{width:min(calc(100% - 2 * var(--gutter)),1470px);margin-inline:auto}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;z-index:30;top:10px;left:10px;background:var(--acid);color:var(--ink);padding:12px 16px}
.progress{height:2px;background:var(--acid);position:fixed;top:0;left:0;right:0;transform:scaleX(var(--progress,0));transform-origin:left;z-index:20;pointer-events:none}
.header{position:sticky;top:0;z-index:10;background:#10110ef2;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
.brand{width:max-content;display:flex;align-items:center;gap:8px;font:800 1rem/1 var(--display);letter-spacing:-.04em}
.brand span{color:var(--acid);margin-left:-7px}
.nav,.header-actions{display:flex;align-items:center;gap:clamp(14px,2.7vw,44px)}
.nav a,.header-contact,.language{font-size:.83rem;font-weight:650;min-height:44px;display:flex;align-items:center;gap:8px}
.nav a,.language{color:var(--muted)}
.header-actions{justify-content:flex-end;gap:14px}
.language{background:none;border:0;padding:0 8px;font-family:var(--mono)}
.header-contact{border:1px solid #4b513a;padding:0 13px}
.header-contact>span:last-child,.quiet-link>span:last-child{color:var(--acid)}
.hero{min-height:min(735px,calc(100svh - 71px));display:grid;grid-template-columns:1.01fr .99fr;grid-template-rows:1fr auto;align-items:center;position:relative}
.hero-copy{position:relative;z-index:2;padding:54px 0 60px;pointer-events:none}
.hero-copy a{pointer-events:auto}
.eyebrow{font:500 clamp(.65rem,.8vw,.75rem)/1.4 var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.dot{display:inline-block;width:7px;height:7px;background:var(--acid);margin-right:7px;vertical-align:.08em}
.hero h1,.section h2,.footer h2{font-family:var(--display);font-weight:800;line-height:.97;letter-spacing:-.072em;margin:0;text-wrap:balance}
.hero h1{font-size:clamp(54px,7.55vw,140px);margin:25px 0 28px;line-height:.94;width:max-content;max-width:114%}
.hero h1>span{display:block;overflow:clip;overflow-clip-margin:.13em}
.hero h1>span>span{display:block}
.acid,.section h2::after,.footer h2::after{color:var(--acid)}
.hero-lead{font-size:clamp(1rem,1.35vw,1.23rem);max-width:440px;margin:0;color:var(--muted);line-height:1.55}
.hero-actions{display:flex;align-items:center;gap:clamp(14px,2.3vw,34px);flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:51px;padding:0 17px;font-weight:750;font-size:.9rem;border:1px solid transparent;white-space:nowrap}
.button-acid{color:var(--ink);background:var(--acid)}
.quiet-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:650}
.hero-visual{position:relative;margin:30px 0 20px -3%;height:clamp(380px,43vw,660px);display:grid;grid-template-rows:1fr auto;align-self:stretch;min-width:0}
.hero-frame{position:absolute;inset:5% 0 11%;background-image:linear-gradient(#dff96a0d 1px,transparent 1px),linear-gradient(90deg,#dff96a0d 1px,transparent 1px);background-size:42px 42px;border:1px solid #dff96a19;pointer-events:none}
.frame-id,.frame-axis{position:absolute;font:.65rem var(--mono);letter-spacing:.08em;color:#9aa482}
.frame-id{left:13px;top:13px}.frame-axis{right:13px;bottom:13px}
.corner{position:absolute;width:12px;height:12px;border:solid #c4d676;border-width:0;z-index:1}
.tl{top:-1px;left:-1px;border-width:1px 0 0 1px}.tr{top:-1px;right:-1px;border-width:1px 1px 0 0}.bl{bottom:-1px;left:-1px;border-width:0 0 1px 1px}.br{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.hero-canvas{display:block;position:absolute;inset:2% 0 7%;width:100%;height:91%}
.visual-caption{grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font:.68rem var(--mono);letter-spacing:.07em;z-index:1}
.motion-button{background:none;border:0;color:var(--muted);display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 4px;font:inherit}
.motion-button[aria-pressed=true]{color:var(--acid)}
.hero-bottom{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);min-height:50px;gap:12px}
.hero-bottom b{color:var(--acid);padding:0 5px;font-weight:400}
.hero-bottom>a{justify-self:end;display:grid;place-items:center;min-width:42px;height:44px;color:var(--acid);font-size:1.18rem}
.section{padding-block:clamp(68px,10vw,144px) 0}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,340px);align-items:end;gap:30px;margin:18px 0 clamp(24px,4vw,55px)}
.section h2,.footer h2{font-size:clamp(39px,6.7vw,106px);text-wrap:initial}
.section h2::after,.footer h2::after{content:'.'}
.section h2>span,.footer h2>span{display:none}
.section-heading p{color:var(--muted);margin:0;font-size:clamp(.95rem,1.3vw,1.1rem);line-height:1.55}
.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,34px)}
.project-card{position:relative;display:block;text-align:left;border:1px solid var(--line);background:var(--raised);color:var(--paper);padding:0;width:100%;min-width:0;overflow:hidden}
.project-card:first-child{grid-column:1/-1}
.project-card:first-child .project-media{aspect-ratio:2.27}
.project-media{display:block;position:relative;aspect-ratio:1.68;background:#24271c;overflow:hidden;isolation:isolate}
.project-media>img{display:block;width:100%;height:100%;object-fit:cover;outline:1px solid #fff2;outline-offset:-1px}
.project-topline{position:absolute;z-index:1;top:14px;left:14px;color:#f1f2e7;background:#141711e8;border:1px solid #ffffff28;padding:6px 9px;font:.68rem var(--mono);text-transform:uppercase;letter-spacing:.065em}
.project-arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);color:var(--acid);font-size:1.3rem}
.project-info{padding:clamp(14px,2.3vw,28px);display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px}
.project-title{display:block;font:800 clamp(1.5rem,3.1vw,3.5rem)/1.05 var(--display);letter-spacing:-.055em}
.project-description{display:block;margin-top:8px;color:var(--muted);font-size:clamp(.86rem,1.25vw,1rem);line-height:1.45}
.money-visual{display:grid;height:100%;min-height:200px;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding:4.5% 8%;background:#172619;background-image:linear-gradient(#dff96a12 1px,transparent 1px),linear-gradient(90deg,#dff96a12 1px,transparent 1px);background-size:32px 32px;color:#ebf4dd}
.money-word{display:grid;gap:8px;justify-items:start}.money-word strong{font:800 clamp(1.5rem,5.15vw,5.5rem)/.98 var(--display);letter-spacing:-.07em;overflow-wrap:anywhere}.money-word em{font:.65rem var(--mono);font-style:normal;color:#dff96a;letter-spacing:.09em;text-transform:uppercase}
.money-panel{background:#0c170f;border:1px solid #57754c;border-radius:14px;padding:clamp(10px,3vw,35px);box-shadow:16px 24px 0 #0b160b66;transform:rotate(-4deg);display:grid;gap:clamp(8px,1.4vw,18px);min-width:0}
.money-panel>span{font:.68rem var(--mono);color:#c4d8bd;text-transform:uppercase;letter-spacing:.07em}
.money-panel strong{font:800 clamp(1.55rem,4.6vw,4.8rem)/.95 var(--display);letter-spacing:-.07em;color:#dff96a;white-space:nowrap}
.money-bars{height:clamp(22px,4vw,56px);display:flex;align-items:end;gap:6px}.money-bars i{flex:1;background:#89a954;border-radius:2px 2px 0 0;height:var(--height)}.money-bars i:last-child{background:var(--acid)}
.archive-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px}
.filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.filter,.search{min-height:44px;border:1px solid var(--line);background:none;color:var(--muted);font-size:.84rem;padding:0 12px}
.filter[aria-pressed=true]{background:var(--acid);color:var(--ink);border-color:var(--acid);font-weight:750}
.search{display:flex;gap:10px;align-items:center;min-width:0}.search>span:not(.sr-only){color:var(--acid);font-size:1.15rem}.search input{background:none;border:0;color:var(--paper);width:100%;min-width:0}.search input::placeholder{color:var(--muted)}
.archive-meta{padding:14px 0;border-bottom:1px solid var(--line)}
.archive-list{list-style:none;margin:0;padding:0}
.archive-row{width:100%;text-align:left;display:grid;grid-template-columns:3rem minmax(0,1.25fr) minmax(0,1.1fr) 34px;align-items:center;gap:12px;min-height:61px;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 3px}
.archive-title{font:750 clamp(1rem,2vw,1.55rem)/1.13 var(--display);letter-spacing:-.025em;overflow-wrap:anywhere}
.archive-stack{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.archive-arrow{justify-self:center;color:var(--acid);font-size:1.1rem}.empty{color:var(--muted);margin:22px 0 0}
.services{margin:0;border-top:1px solid var(--line)}
.services>div{display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;padding:clamp(18px,2.8vw,34px) 0;border-bottom:1px solid var(--line)}
.services dt{font:800 clamp(1.28rem,3vw,2.35rem)/1.06 var(--display);letter-spacing:-.05em}.services dd{margin:0;color:var(--muted);max-width:420px}
.footer{margin-top:clamp(72px,11vw,155px);background:#1b2112;border-top:1px solid #3f4a2b}
.footer-content{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:clamp(42px,7.2vw,100px) 0}
.footer h2{margin-top:14px}.footer-meta{display:flex;align-items:center;gap:30px;min-height:60px;border-top:1px solid #3f4a2b}.footer-meta a{display:inline-flex;align-items:center;min-height:44px;gap:7px}.footer-meta a:last-child{margin-left:auto}
.case-dialog{width:min(870px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;color:var(--paper);background:var(--bg);border:1px solid #5b6740;overflow:auto;overscroll-behavior:contain}
.case-dialog::backdrop{background:#080908d9;backdrop-filter:blur(5px)}
.case-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px clamp(16px,4vw,40px);border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:2}
.case-close{min-width:44px;min-height:44px;border:1px solid var(--line);background:none;color:var(--acid);font-size:1.55rem;line-height:1}
.case-body{padding:clamp(16px,4vw,40px)}
.case-body h2{font:800 clamp(2.2rem,6vw,5rem)/.98 var(--display);letter-spacing:-.065em;margin:0;overflow-wrap:anywhere}
.case-summary{color:var(--muted);margin:14px 0 23px;font-size:1.05rem}
.case-body .project-media{aspect-ratio:2;min-height:0}.case-body .money-visual{min-height:0}
.case-details{display:grid;gap:0;margin:23px 0 18px}
.case-details>div{display:grid;grid-template-columns:8rem 1fr;gap:12px;border-top:1px solid var(--line);padding:13px 0}
.case-details dt{color:var(--acid);font:.73rem/1.5 var(--mono);text-transform:uppercase}.case-details dd{margin:0;overflow-wrap:anywhere}
.case-links{display:flex;gap:9px;flex-wrap:wrap}.case-links .quiet-link{padding:0 13px;border:1px solid var(--line)}
body:has(.case-dialog[open]){overflow:hidden}
@media (hover:hover){.nav a:hover,.language:hover,.quiet-link:hover,.motion-button:hover,.footer-meta a:hover{color:var(--acid)}.header-contact:hover,.project-card:hover,.filter:hover,.case-close:hover{border-color:var(--acid)}.button-acid:hover{background:#ecffa0}.archive-row:hover{background:#23291a}.project-card:hover .project-arrow{color:var(--ink);background:var(--acid)}}
@media (prefers-reduced-motion:no-preference){
  :root{scroll-behavior:smooth}
  .button,.project-card,.project-arrow,.archive-row,.header-contact,.filter,.case-close{transition:background-color 150ms,border-color 150ms,color 150ms,scale 150ms}
  .button:active,.case-close:active{scale:.96}
  .hero h1>span>span{animation:hero-line 780ms var(--ease) both}.hero h1>span:nth-child(2)>span{animation-delay:110ms}
  .hero-kicker,.hero-lead,.hero-actions,.hero-visual{animation:fade-in 520ms var(--ease) both}.hero-lead{animation-delay:220ms}.hero-actions{animation-delay:320ms}.hero-visual{animation-delay:140ms}
  .motion-ready .reveal:not(.revealed){opacity:0;transform:translateY(18px)}
  .motion-ready .reveal{transition:opacity 520ms var(--ease),transform 520ms var(--ease)}
  .motion-ready .reveal:focus-within{opacity:1;transform:none}
  .case-dialog[open]{animation:fade-in 300ms var(--ease) both}
  .project-media>img{transition:scale 650ms var(--ease)}
  @media (hover:hover){.project-card:hover .project-media>img{scale:1.045}}
}
@keyframes hero-line{from{transform:translateY(115%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:900px){.hero h1{font-size:clamp(48px,8.7vw,83px)}.hero-visual{height:clamp(335px,49vw,500px)}.hero{min-height:570px}.section-heading{grid-template-columns:1fr minmax(155px,245px)}.featured-grid .project-card:last-child:nth-child(even){grid-column:1/-1}.featured-grid .project-card:last-child:nth-child(even) .project-media{aspect-ratio:2.1}}
@media (min-width:901px){.featured-grid .project-card:last-child:nth-child(even){grid-column:1/-1}.featured-grid .project-card:last-child:nth-child(even) .project-media{aspect-ratio:2.8}}
@media (max-width:680px){
  :root{scroll-padding-top:112px}.header-inner{height:auto;grid-template-columns:1fr auto;gap:0 10px;padding-top:4px}.nav{grid-row:2;grid-column:1/-1;gap:24px;border-top:1px solid var(--line);justify-content:space-between}.nav a{min-height:38px}.header-contact{min-height:38px;padding:0 9px}.header-actions{gap:5px}.header-actions .language{min-width:40px;justify-content:center}
  .hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0}.hero-copy{padding:39px 0 11px}.hero h1{font-size:clamp(44px,11.9vw,79px);max-width:100%;margin:17px 0 20px}.hero-actions{margin-top:17px;gap:8px 15px}.hero-lead{max-width:36ch}.hero-visual{height:clamp(245px,76vw,435px);margin:9px 0 9px}.hero-bottom{grid-template-columns:auto 1fr auto;gap:6px;font-size:.57rem}.hero-bottom>span:nth-child(2){justify-self:center}.hero-bottom b{padding:0 1px}
  .section{padding-top:70px}.section-heading{grid-template-columns:1fr;gap:10px;margin:14px 0 22px}.featured-grid{grid-template-columns:1fr}.project-card:first-child .project-media,.featured-grid .project-card:last-child:nth-child(even) .project-media{aspect-ratio:1.5}.project-topline{top:8px;left:8px;padding:4px 6px}.money-visual{min-height:0;padding:8% 6%;gap:3%}.money-panel{box-shadow:8px 12px 0 #0b160b66}.money-word strong{font-size:clamp(1.35rem,6.7vw,2.8rem)}
  .archive-controls{align-items:stretch;flex-direction:column;gap:9px}.filter{padding:0 9px}.archive-row{grid-template-columns:1.6rem minmax(0,1fr) 26px;gap:8px;min-height:62px}.archive-stack{display:none}
  .services>div{grid-template-columns:1.6rem 1fr;gap:8px 11px}.services dd{grid-column:2}.footer-content{align-items:start;flex-direction:column;gap:21px}.footer-meta{gap:14px}.case-details>div{grid-template-columns:1fr;gap:4px}
}
