:root{--paper:#eef1f4;--paper-2:#e2e7ec;--ink:#0b1726;--ink-2:#3a4554;--ink-3:#717a89;--rule:#cfd5dd;--rule-soft:#dfe3ea;--accent:#2447b5;--accent-2:#3a5fd1;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--container:1280px;--pad-x:clamp(20px,4vw,56px)}*{box-sizing:border-box}body,html{margin:0;padding:0}html{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{line-height:1.5;font-weight:400;overflow-x:hidden}h1,h2,h3,h4,h5{margin:0;font-weight:500;letter-spacing:-.02em}p{margin:0;color:var(--ink-2)}a{color:var(--ink);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}.label,.mono{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.h1-mega{font-size:clamp(48px,7.5vw,116px);line-height:.98;letter-spacing:-.04em;text-wrap:balance}.h1,.h1-mega{font-weight:500}.h1{font-size:clamp(40px,5.4vw,80px);line-height:1;letter-spacing:-.035em}.h2{font-size:clamp(28px,3.4vw,48px);line-height:1.06;letter-spacing:-.025em}.h2,.h3{font-weight:500}.h3{font-size:clamp(20px,2vw,26px);line-height:1.2;letter-spacing:-.015em}.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.45;color:var(--ink);font-weight:400;letter-spacing:-.005em;max-width:36ch}.body-md{font-size:15px;line-height:1.6;color:var(--ink-2);max-width:44ch}.container{max-width:var(--container);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}.rule{height:1px;background:var(--rule);border:none;margin:0}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--paper) 94%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--rule-soft)}header.site .inner{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}.logo{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.logo:before{content:"";display:inline-block;width:26px;height:26px;flex-shrink:0;background:url(/logo-quad.svg) 50%/contain no-repeat;transition:transform .4s cubic-bezier(.65,0,.35,1)}.logo:hover:before{transform:rotate(90deg)}.logo .mark-sq{display:none}.logo:hover{color:var(--accent)}nav.primary{display:flex;gap:28px;align-items:center}nav.primary a{font-size:14px;color:var(--ink-3);font-weight:400;letter-spacing:-.005em;white-space:nowrap;position:relative}nav.primary a.active,nav.primary a:hover{color:var(--ink)}@media (max-width:760px){nav.primary{gap:16px}nav.primary a{font-size:13px}}nav.primary .lang-toggle{display:inline-flex;gap:4px;align-items:center;margin-left:18px;padding-left:18px;border-left:1px solid var(--rule);font-size:12px;letter-spacing:.08em;text-transform:uppercase}nav.primary .lang-toggle .here{color:var(--ink);font-weight:500}nav.primary .lang-toggle .there{color:var(--ink-3)}nav.primary .lang-toggle .there:hover{color:var(--ink)}nav.primary .lang-toggle .sep{color:var(--ink-3);opacity:.5;padding:0 3px}@media (max-width:760px){nav.primary .lang-toggle{margin-left:10px;padding-left:10px;font-size:11px}}section.hero{padding-top:clamp(56px,8vw,120px);padding-bottom:clamp(48px,6vw,96px)}.hero-meta{justify-content:space-between;padding-bottom:28px;margin-bottom:clamp(48px,8vw,96px);border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:16px}.hero-meta,.hero-meta>div{display:flex;align-items:baseline}.hero-meta>div{gap:12px}.hero-meta .v{font-size:13px;color:var(--ink)}.hero-head{max-width:18ch}.hero-foot{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(24px,4vw,80px);gap:clamp(24px,4vw,80px);align-items:end;padding-top:28px;border-top:1px solid var(--rule)}@media (max-width:760px){.hero-foot{grid-template-columns:1fr}}.pillars{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.pillar{padding:clamp(32px,4vw,64px) clamp(20px,2.4vw,40px) clamp(32px,4vw,64px) 0;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:24px;min-height:clamp(280px,32vw,380px)}.pillar:not(:first-child){padding-left:clamp(20px,2.4vw,40px)}.pillar:last-child{border-right:none;padding-right:0}.pillar .num{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.pillar .ttl{font-size:clamp(22px,2.2vw,32px);line-height:1.12;letter-spacing:-.022em;font-weight:500;color:var(--ink);margin-top:auto;max-width:14ch}.pillar .ttl .small{display:block;font-size:13px;letter-spacing:-.005em;color:var(--ink-3);margin-top:14px;font-weight:400;text-transform:none}.pillar:hover .ttl{color:var(--accent)}@media (max-width:900px){.pillars{grid-template-columns:1fr}.pillar{border-right:none;border-bottom:1px solid var(--rule);min-height:220px;padding-left:0!important;padding-right:0}.pillar:last-child{border-bottom:none}}.section{padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px)}.section-head{display:grid;grid-template-columns:1fr 1.6fr;grid-gap:clamp(24px,4vw,80px);gap:clamp(24px,4vw,80px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}.section-head .left{display:flex;flex-direction:column;gap:12px}@media (max-width:800px){.section-head{grid-template-columns:1fr}}.work-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.work-list li{display:grid;grid-template-columns:90px 1.5fr 1.2fr 100px 30px;grid-gap:clamp(16px,2vw,32px);gap:clamp(16px,2vw,32px);padding:22px 0;border-bottom:1px solid var(--rule);align-items:baseline;cursor:pointer;transition:color .2s ease}.work-list li:hover,.work-list li:hover .ttl{color:var(--accent)}.work-list li:hover .arrow{transform:translateX(4px);color:var(--accent)}.work-list .yr{font-size:13px;color:var(--ink-3);letter-spacing:-.005em}.work-list .ttl{font-size:clamp(18px,1.7vw,22px);letter-spacing:-.018em;line-height:1.2;font-weight:500;color:var(--ink);transition:color .2s ease}.work-list .desc{font-size:14px;color:var(--ink-2);line-height:1.45}.work-list .cat{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.work-list .arrow{color:var(--ink-3);transition:transform .2s ease,color .2s ease;font-size:14px}.work-list .tag{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:500;padding:4px 10px;border:1px solid var(--rule);border-radius:999px;margin-right:4px;white-space:nowrap;background:transparent}.work-list.refs li{grid-template-columns:110px 1fr 220px 30px}.work-list.refs li .desc{display:none}@media (max-width:800px){.work-list li{grid-template-columns:70px 1fr 28px;padding:18px 0}.work-list .cat,.work-list .desc{grid-column:2}.work-list.refs li{grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.work-list.refs li .yr{white-space:nowrap}.work-list.refs li .cat{grid-column:3;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.work-list.refs li .tag{font-size:9px;padding:3px 7px;margin-right:0}}.quote{font-size:clamp(24px,2.6vw,36px);line-height:1.18;letter-spacing:-.022em;font-weight:500;color:var(--ink);text-wrap:balance;max-width:22ch}.quote .accent{color:var(--accent)}.attrib{margin-top:24px;font-size:13px;color:var(--ink-3);display:flex;flex-direction:column;gap:2px}.attrib .who{color:var(--ink)}footer.site{border-top:1px solid var(--rule);padding-top:clamp(48px,6vw,80px);padding-bottom:22px;background:var(--paper)}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-gap:32px;gap:32px;padding-bottom:56px}@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr}}.foot-grid h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px;font-weight:500}.foot-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.foot-grid ul li,.foot-grid ul li a{font-size:14px;color:var(--ink-2)}.foot-grid ul a:hover{color:var(--accent)}.foot-mark{display:none}.colophon{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--rule);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;gap:12px}.cta{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink);border:none;border-radius:0;background:transparent;border-bottom:1px solid var(--ink);padding:0 0 4px;transition:color .2s ease,border-color .2s ease,gap .2s ease;width:max-content;font-family:var(--sans);letter-spacing:-.005em;cursor:pointer}.cta:hover{color:var(--accent);border-color:var(--accent);gap:16px}.cta .arrow{font-size:14px}.cta.accent{color:var(--accent);border-color:var(--accent)}.cta.accent:hover{color:var(--ink);border-color:var(--ink)}.cta.ghost{color:var(--ink-2);border-color:var(--rule)}.cta.ghost:hover{color:var(--ink);border-color:var(--ink)}.ticker{display:none}.page-intro{padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(48px,6vw,96px);display:grid;grid-template-columns:1.4fr 1fr;grid-gap:clamp(24px,4vw,80px);gap:clamp(24px,4vw,80px);align-items:end}@media (max-width:800px){.page-intro{grid-template-columns:1fr}}.service-row{padding:clamp(56px,7vw,112px) 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:.6fr 1.4fr;grid-gap:clamp(24px,4vw,80px);gap:clamp(24px,4vw,80px);align-items:start}.service-row .meta{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:110px}.service-row .meta .big-num{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.service-row .meta .big-num span{display:none}.service-row .body{display:flex;flex-direction:column;gap:clamp(28px,4vw,48px)}.service-row .body .grid-items{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;border-top:1px solid var(--rule)}.service-row .body .grid-items .item{padding:22px 24px 22px 0;border-bottom:1px solid var(--rule)}.service-row .body .grid-items .item:nth-child(2n){padding-left:24px;padding-right:0;border-left:1px solid var(--rule)}.service-row .body .item h4{font-size:16px;letter-spacing:-.015em;margin:8px 0 6px;color:var(--ink)}.service-row .body .item p{font-size:13px;color:var(--ink-2);max-width:none;line-height:1.5}@media (max-width:800px){.service-row{grid-template-columns:1fr}.service-row .meta{position:static}.service-row .body .grid-items{grid-template-columns:1fr}.service-row .body .grid-items .item:nth-child(2n){padding-left:0;border-left:none}}.frame{position:relative;width:100%;background:var(--paper-2);border:1px solid var(--rule);overflow:hidden}.frame.r-4-5{aspect-ratio:4/5}.frame.r-3-2{aspect-ratio:3/2}.frame.r-1-1{aspect-ratio:1/1}.frame.r-16-9{aspect-ratio:16/9}.frame:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 26px,rgba(17,20,24,.04) 26px 27px)}.frame .f-label{position:absolute;left:14px;bottom:12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);background:var(--paper);padding:4px 8px;border:1px solid var(--rule);font-weight:500}.form-row{display:grid;grid-template-columns:200px 1fr;grid-gap:24px;gap:24px;padding:22px 0;border-bottom:1px solid var(--rule);align-items:baseline}.form-row label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.form-row input,.form-row select,.form-row textarea{width:100%;border:none;background:transparent;font-family:var(--sans);font-size:clamp(16px,1.4vw,18px);color:var(--ink);outline:none;padding:0;resize:none;letter-spacing:-.005em}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--ink-3)}@media (max-width:700px){.form-row{grid-template-columns:1fr;gap:6px}}[data-reveal]{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}[data-reveal].in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}main.home{display:block}.home-stage{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:clamp(40px,8vw,120px);gap:clamp(40px,8vw,120px);align-items:end;padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(48px,6vw,96px)}@media (max-width:800px){.home-stage{grid-template-columns:1fr;gap:56px;padding-top:clamp(48px,6vw,96px)}}.home-stage h1{font-size:clamp(48px,8.8vw,132px);line-height:.96;letter-spacing:-.04em;font-weight:500;color:var(--ink);max-width:15ch}.home-stage h1 .dim{color:var(--accent)}.home-stage .side{display:flex;flex-direction:column;gap:28px;padding-bottom:12px;max-width:26ch}.home-stage .side .line{font-size:14px;line-height:1.55;color:var(--ink-2)}.home-stage .side .status{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500}.home-stage .side .status:before{content:"● ";color:var(--accent);margin-right:2px}.home-three{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}.home-three a{display:flex;align-items:baseline;justify-content:space-between;padding:28px clamp(20px,2.4vw,40px) 28px 0;border-right:1px solid var(--rule);color:var(--ink);font-size:clamp(18px,1.7vw,22px);letter-spacing:-.018em;font-weight:500;transition:color .2s ease,padding .2s ease}.home-three a:not(:first-child){padding-left:clamp(20px,2.4vw,40px)}.home-three a:last-child{border-right:none;padding-right:0}.home-three a:hover{color:var(--accent);padding-left:clamp(28px,2.8vw,48px)}.home-three a:first-child:hover{padding-left:clamp(8px,.4vw,8px)}.home-three .n{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.home-three .arrow{color:var(--ink-3);font-size:14px;transition:transform .2s ease}.home-three a:hover .arrow{transform:translateX(4px);color:var(--accent)}@media (max-width:800px){.home-three{grid-template-columns:1fr}.home-three a{padding:22px 0!important;border-right:none;border-bottom:1px solid var(--rule)}.home-three a:last-child{border-bottom:none}.home-three a:hover{padding-left:0!important}}.home-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--rule);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;gap:16px;flex-wrap:wrap}.home-bottom a{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;letter-spacing:.04em;text-transform:none;font-size:13px}.home-bottom a:hover{color:var(--accent);border-color:var(--accent)}.row-side{display:grid;grid-template-columns:1fr 1.6fr;grid-gap:clamp(24px,4vw,80px);gap:clamp(24px,4vw,80px);align-items:start}.row-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,5vw,96px);gap:clamp(32px,5vw,96px);align-items:end}.row-split.tight{gap:clamp(24px,3vw,56px)}.stack{display:flex;flex-direction:column;gap:28px}.stack.tight{gap:18px}.stack.wide{gap:clamp(24px,4vw,48px)}.cards-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;border-top:1px solid var(--rule)}.cards-2 .card{padding:24px 24px 24px 0;border-bottom:1px solid var(--rule)}.cards-2 .card:nth-child(2n){padding:24px 0 24px 24px;border-left:1px solid var(--rule)}.cards-2 .card h4{font-size:17px;margin:10px 0 8px}.cards-2 .card p{font-size:14px;color:var(--ink-2)}.facts-dl{margin:0;display:grid;grid-template-columns:200px 1fr;grid-gap:0;gap:0;border-top:1px solid var(--rule)}.facts-dl dd,.facts-dl dt{padding:18px 0;border-bottom:1px solid var(--rule);margin:0}.facts-dl dd{font-size:15px;color:var(--ink)}.about-portrait{display:flex;justify-content:flex-end}.about-portrait img{display:block;width:100%;max-width:278px;height:auto}.contact-write-link{display:block;color:var(--ink);border-bottom:none}.contact-write-link .big{font-size:clamp(36px,5.2vw,68px);line-height:1;letter-spacing:-.03em;font-weight:500;word-break:break-word;display:block}@media (max-width:800px){.row-side,.row-split{grid-template-columns:1fr}.row-split{align-items:start}.cards-2{grid-template-columns:1fr}.cards-2 .card,.cards-2 .card:nth-child(2n){padding:22px 0;border-left:none}.facts-dl{grid-template-columns:1fr}.facts-dl dt{border-bottom:none;padding:18px 0 6px}.facts-dl dd{padding-top:0}.about-portrait{justify-content:flex-start}.about-portrait img{max-width:220px}}.menu-toggle{display:none;background:transparent;border:none;padding:8px;margin:-8px;cursor:pointer;color:var(--ink)}.menu-toggle svg{display:block}.menu-drawer{display:none}@media (max-width:760px){nav.primary{display:none}.menu-toggle{display:inline-flex;align-items:center}.menu-drawer{display:block;position:fixed;inset:0;background:var(--paper);z-index:60;padding:24px var(--pad-x);transform:translateY(-100%);transition:transform .28s ease;overflow-y:auto}.menu-drawer.open{transform:translateY(0)}.menu-drawer .menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.menu-drawer .menu-close{background:transparent;border:none;padding:8px;margin:-8px;cursor:pointer;color:var(--ink)}.menu-drawer .menu-links{display:flex;flex-direction:column;gap:0}.menu-drawer .menu-links a{font-size:22px;letter-spacing:-.02em;padding:16px 0;border-bottom:1px solid var(--rule);color:var(--ink);font-weight:500}.menu-drawer .menu-links a.active{color:var(--accent)}.menu-drawer .menu-links a:last-of-type{border-bottom:none}.menu-drawer .menu-lang{margin-top:32px;display:flex;gap:6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.menu-drawer .menu-lang .here{color:var(--ink);font-weight:500}.menu-drawer .menu-lang .there{color:var(--ink-3)}.menu-drawer .menu-lang .sep{color:var(--ink-3);opacity:.5;padding:0 3px}body.menu-open{overflow:hidden}}