@font-face{font-family:Geist;src:url('/fonts/Geist-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:GeistMono;src:url('/fonts/GeistMono-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --ink:#1d1d1b;
  --paper:#e3e0d9;
  --muted:#68685f;
  --line:#d9d9d4;
  --cream:#f0f0f0;
  --surface:#f0f0f0;
  --radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a,summary,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{font-weight:400;letter-spacing:-.025em}
h2{font-size:clamp(36px,4.6vw,70px);line-height:1.04}
p{line-height:1.6}
main{padding:8px}
.mono,.eyebrow{font-family:Geist,Inter,sans-serif;font-size:11px;line-height:1.5;font-weight:500;letter-spacing:0;text-transform:none}
.dot{display:inline-block;width:6px;height:6px;background:var(--cream);flex-shrink:0}
.dot.dark,.section .dot{background:var(--ink)}
.experts .dot,.contact .dot,.hero .dot{background:var(--cream)}
.section-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:500}
.section{padding:100px 40px}
.header{position:absolute;left:16px;right:16px;top:16px;z-index:20}
.header nav{display:flex;gap:6px;height:43px}
.glass{background:rgba(26,26,26,.34);backdrop-filter:blur(5px) saturate(180%);color:rgba(240,240,240,.85);border:0;border-radius:var(--radius)}
.brand{font-size:16px;font-weight:500;letter-spacing:-.02em;line-height:1}
.header .brand{padding:0 14px;display:flex;align-items:center;color:#f0f0f0}
.brand-dot{color:#f0f0f0}
.nav-links{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;flex:1}
.nav-links a,.nav-cta{font-size:12px;font-weight:500;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.nav-links a:hover,.nav-cta:hover,.menu:hover{background:rgba(26,26,26,.5)}
.nav-cta{min-width:168px}
.menu{display:none;border:0;padding:8px 14px;font-size:20px}
.hero{min-height:740px;height:calc(100svh - 16px);position:relative;overflow:hidden;color:var(--cream);background:var(--ink);display:flex;flex-direction:column}
.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero video{filter:saturate(.35) contrast(1.08) brightness(.92);transform:scale(1.03)}
.hero-shade{background:linear-gradient(180deg,rgba(29,29,27,.35),transparent 42%),linear-gradient(0deg,rgba(29,29,27,.78),transparent 58%)}
.hero-content{position:relative;margin-top:auto;padding:65px 40px 80px}
.hero h1{font-size:clamp(56px,7.2vw,108px);line-height:.92;letter-spacing:-.025em;font-weight:400;color:#f0f0f0}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:30px}
.hero-bottom p{max-width:430px;font-size:16px;line-height:1.5;color:rgba(240,240,240,.78)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:15px 18px;font-size:13px;font-weight:500;border:1px solid transparent;border-radius:var(--radius);transition:background .15s,transform .3s cubic-bezier(.25,1,.5,1)}
.button:hover{transform:translateY(-1px)}
.light{background:var(--surface);color:var(--ink)}
.light:hover{background:#fff}
.hero .button{margin-top:25px}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:32px;padding-top:110px;padding-bottom:70px}
.intro .section-label{align-self:start;margin-top:10px}
.intro h2{font-size:clamp(34px,3.65vw,56px)}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:38px;max-width:850px}
.intro-columns p{font-size:16px;color:var(--muted)}
.audience{display:flex;justify-content:space-between;gap:24px;margin:0 40px;padding:26px 0;border-block:1px solid var(--line);font-size:12px;font-weight:500}
.audience>span:first-child{color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:start;gap:35px;margin-bottom:38px}
.section-heading>p{font-size:21px;letter-spacing:-.035em}
.research{padding-bottom:65px}
.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.research-card{padding:25px;min-height:380px;text-align:left;border:0;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:var(--cream);background-color:var(--ink);background-size:cover;background-position:center;transition:filter .25s}
.research-card:hover{filter:brightness(1.08)}
.card-one{background-image:url('/cards/industrial.jpg')}
.card-two{background-image:url('/cards/city.jpg');color:var(--cream)}
.card-three{background-image:url('/cards/model.jpg')}
.research-card:before{content:'';position:absolute;inset:0;border:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,rgba(29,29,27,.2) 0%,rgba(29,29,27,.45) 42%,rgba(29,29,27,.82) 100%)}
.card-index,.card-title,.card-bottom{position:relative}
.card-title{font-size:clamp(29px,3vw,44px);letter-spacing:-.04em;line-height:1.08;margin:55px 0 50px}
.card-bottom{font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:500}
.round-arrow{font-size:18px}
.caption{color:var(--muted);font-size:11px;margin-top:18px;font-weight:500}
.statement{background:var(--ink);color:var(--cream);padding:30px 40px 40px;min-height:510px;display:flex;flex-direction:column;border-radius:var(--radius)}
.statement .section-label{color:rgba(240,240,240,.55)}
.statement .dot.dark{background:var(--cream)}
.statement h2{font-size:clamp(52px,7.5vw,112px);margin:65px 0 40px;letter-spacing:-.03em}
.statement-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px}
.statement-bottom p{max-width:460px;font-size:17px;line-height:1.5;color:rgba(240,240,240,.78)}
.big-asterisk{font-size:90px;line-height:.8;color:rgba(240,240,240,.85)}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.approach-title h2{font-size:clamp(36px,3.6vw,54px);margin:35px 0 25px}
.approach-title p{font-size:15px;color:var(--muted)}
details{border-top:1px solid var(--line)}
details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;display:flex;align-items:center;gap:25px;padding:27px 0;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary h3{font-size:25px;letter-spacing:-.035em;flex:1}
.plus{font-size:25px;transition:transform .2s}
details[open] .plus{transform:rotate(45deg)}
.step-body{padding:0 5px 30px 42px}
.step-body p{color:var(--muted);font-size:15px;margin-bottom:23px}
.step-body .mono{font-size:11px;font-weight:500;color:var(--ink)}
.brief-section{background:#d8d5cc;padding:65px 5%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.brief-copy h2{margin:35px 0 24px;font-size:clamp(40px,4.2vw,62px)}
.brief-copy>p{max-width:380px;font-size:16px;color:var(--muted)}
.brief-copy ul{list-style:none;margin:30px 0;padding:0;font-size:13px}
.brief-copy li{border-bottom:1px solid var(--line);padding:12px 0}
.brief-copy li:before{content:'→';margin-right:14px}
.text-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid;padding-bottom:8px;font-size:13px;font-weight:500}
.brief-paper{background:var(--surface);padding:27px 30px;box-shadow:0 18px 50px rgba(29,29,27,.08);transform:rotate(2deg);max-width:510px;border-radius:var(--radius)}
.paper-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;font-size:11px;font-weight:500;color:var(--muted)}
.paper-kicker{margin-top:42px;color:var(--muted);font-size:11px;font-weight:500}
.brief-paper h3{font-size:40px;line-height:1.08;margin:18px 0 30px}
.paper-rule{height:2px;background:var(--ink);width:40px;margin-bottom:15px}
.paper-row{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}
.paper-row>.mono{padding-top:4px;color:var(--muted);font-weight:500}
.paper-row h4{font-size:12px;font-weight:600;margin-bottom:7px}
.paper-row p{font-size:12px;color:var(--muted)}
.paper-foot{display:flex;justify-content:space-between;margin-top:30px;font-size:11px;font-weight:500;color:var(--muted)}
.offerings .section-heading h2{font-size:40px;max-width:540px;width:50%}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.offer-grid article{padding:32px;background:#ddd9d0;border-radius:var(--radius)}
.offer-grid article:nth-child(2){background:#d0ccc3}
.offer-grid h3{font-size:40px;margin:45px 0 20px}
.offer-grid p{max-width:430px;font-size:16px;color:var(--muted)}
.offer-foot{margin-top:60px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;font-weight:500}
.offer-foot a{font-size:20px;padding:5px 10px}
.experts{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--cream);min-height:530px;overflow:hidden;border-radius:var(--radius)}
.expert-copy{padding:65px 45px}
.expert-copy h2{margin:40px 0 24px}
.expert-copy p{font-size:15px;max-width:420px;color:rgba(240,240,240,.72)}
.expert-copy .button{margin-top:30px}
.expert-art{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#4a4a45 0%,#2a2a27 50%,#1d1d1b 90%);min-height:400px}
.orbit{position:absolute;left:50%;top:50%;width:70%;aspect-ratio:1;border:1px solid rgba(240,240,240,.22);border-radius:50%;transform:translate(-50%,-50%)}
.orbit-two{width:45%}
.orbit-three{width:95%}
.orbit-dot{position:absolute;width:16px;height:16px;background:var(--cream);border-radius:50%;top:31%;left:62%;box-shadow:0 0 40px rgba(240,240,240,.35)}
.expert-art>.mono{position:absolute;bottom:30px;left:30px;font-size:11px;font-weight:500;color:rgba(240,240,240,.7)}
.faq{display:grid;grid-template-columns:1fr 2fr;gap:70px}
.faq summary h3{font-size:20px;letter-spacing:-.025em}
.faq details p{padding-bottom:25px;max-width:680px;color:var(--muted);font-size:15px}
.contact{background:var(--ink);color:var(--cream);padding:65px 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;border-radius:var(--radius)}
.contact h2{margin:45px 0 28px;font-size:clamp(45px,5vw,75px)}
.contact-heading>p{font-size:15px;color:rgba(240,240,240,.55)}
.contact .section-label{color:rgba(240,240,240,.55)}
.contact form{align-self:center;display:flex;flex-direction:column}
.contact label{font-size:12px;font-weight:500;margin-bottom:12px}
.contact select,.contact textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(240,240,240,.2);border-radius:var(--radius);color:var(--cream);padding:15px;margin-bottom:25px;resize:vertical;font-size:14px}
.contact select option{background:var(--ink)}
.contact textarea::placeholder{color:rgba(240,240,240,.4)}
.contact .button{align-self:start}
.form-note{font-size:12px;color:rgba(240,240,240,.55);margin-top:15px;max-width:370px}
footer{padding:55px 48px 25px}
.footer-top{display:flex;gap:70px;justify-content:space-between}
.footer-top .brand{font-size:55px;font-weight:400;letter-spacing:-.04em}
.footer-top p{font-size:15px;line-height:1.4;color:var(--muted)}
.footer-top>div{display:flex;flex-direction:column;gap:12px;font-size:12px;font-weight:500}
.back-top{align-self:start;font-weight:500}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:70px;padding-top:20px;font-size:11px;font-weight:500;color:var(--muted)}
dialog{width:min(610px,calc(100% - 32px));max-height:85svh;border:0;padding:45px;background:var(--surface);color:var(--ink);box-shadow:0 20px 100px rgba(29,29,27,.25);border-radius:var(--radius)}
dialog::backdrop{background:rgba(29,29,27,.85);backdrop-filter:blur(5px)}
dialog h2{font-size:40px;margin:25px 0 20px}
dialog h3{font-size:20px;margin-top:25px;letter-spacing:-.02em}
dialog p,dialog li{font-size:14px;line-height:1.6}
dialog ul{padding-left:20px}
dialog li{margin-bottom:10px}
.dialog-close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:28px;padding:4px 8px}
.dialog-note{color:var(--muted);margin:25px 0}
.dark-button{background:var(--ink);color:var(--cream)}
.outline{border:1px solid var(--line);background:none}
.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}
pre{font:13px/1.6 Geist,Inter,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:18px;margin:25px 0;border-radius:var(--radius)}
#copy-status{margin-top:15px;min-height:22px}
.skip{position:fixed;top:-60px;left:20px;padding:15px;background:white;z-index:100}
.skip:focus{top:10px}
@media(min-width:1600px){main,footer{max-width:1800px;margin:auto}.header{max-width:1768px;margin:auto}.hero-content{padding-bottom:70px}}
@media(max-width:900px){.section{padding:70px 25px}.hero{min-height:750px}.hero-content{padding:50px 25px}.hero h1{font-size:80px}.nav-links a{padding:0 12px;font-size:11px}.nav-cta{min-width:140px;padding:0 12px;font-size:11px}.intro{grid-template-columns:1fr;gap:30px}.audience{margin:0 25px;flex-wrap:wrap;font-size:11px}.research-card{padding:20px;min-height:340px}.card-title{font-size:31px}.card-bottom{font-size:11px}.approach{gap:35px}.brief-section{gap:35px;padding:50px 25px}.brief-paper{padding:22px}.brief-paper h3{font-size:33px}.expert-copy{padding:45px 25px}.expert-copy h2{font-size:45px}.faq{gap:35px}.contact{padding:50px 25px;gap:40px}.footer-top{gap:30px}}
@media(max-width:640px){html{scroll-padding-top:20px}.header nav{height:40px}.header .brand{font-size:15px;padding:0 12px}.nav-cta{margin-left:auto;min-width:0;font-size:11px;padding:0 10px;gap:12px}.menu{display:block}.nav-links{display:none;position:absolute;top:48px;left:0;right:0;grid-template-columns:1fr;background:rgba(26,26,26,.92)}.nav-links.open{display:grid}.nav-links a{padding:17px 16px}.hero{min-height:740px;height:calc(100svh - 16px)}.hero-content{padding:55px 22px 70px}.hero h1{font-size:clamp(49px,12.5vw,78px)}.hero-bottom p{font-size:14px;max-width:330px}.section{padding:60px 22px}.intro-columns{grid-template-columns:1fr;gap:20px;margin-top:25px}.intro-columns p{font-size:15px}.intro h2 br{display:none}.audience{margin:0 22px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:11px}.section-heading{flex-direction:column;gap:20px}.section-heading>p{font-size:20px}.research-grid{grid-template-columns:1fr}.research-card{min-height:320px;padding:24px}.card-title{font-size:39px;margin:40px 0}.card-bottom{font-size:12px}.caption{font-size:11px}.statement{padding:25px 22px;min-height:440px}.statement h2{font-size:52px;margin:50px 0 35px}.statement-bottom{gap:25px;align-items:start}.big-asterisk{font-size:50px}.statement-bottom p{font-size:14px}.approach{grid-template-columns:1fr;gap:35px}.approach-title h2{margin:25px 0 20px}.approach-title p{font-size:14px}summary{gap:18px;padding:23px 0}summary h3{font-size:23px}.step-body{padding-left:34px}.brief-section{grid-template-columns:1fr;gap:40px;padding:45px 22px}.brief-copy h2{font-size:43px}.brief-paper{transform:rotate(1deg);max-width:100%}.offerings .section-heading h2{font-size:37px;width:auto}.offer-grid{grid-template-columns:1fr}.offer-grid article{padding:26px}.offer-grid h3{font-size:35px;margin-top:35px}.offer-grid p{font-size:15px}.offer-foot{margin-top:35px}.experts{grid-template-columns:1fr}.expert-art{min-height:260px}.orbit{width:200px}.orbit-two{width:125px}.orbit-three{width:280px}.expert-copy{padding:40px 25px 50px}.expert-copy h2{font-size:46px;margin-top:30px}.faq{grid-template-columns:1fr;gap:25px}.faq summary h3{font-size:19px}.contact{grid-template-columns:1fr;gap:40px;padding:45px 22px}.contact h2{font-size:47px;margin-top:30px}.contact-heading>p{font-size:14px}.contact-heading>p br{display:none}footer{padding:40px 30px 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-top .brand{font-size:45px}.footer-top p{font-size:13px}.footer-bottom{flex-direction:column;gap:10px;margin-top:40px;font-size:11px}dialog{padding:35px 24px}dialog h2{font-size:34px}.dialog-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
