:root { --night:#10191e; --ivory:#efeae0; --blue:#607d87; --bronze:#a88e6c; --ink:#1a262c; --line-dark:rgba(239,234,224,.18); --line-light:rgba(16,25,30,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:"IBM Plex Sans",sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; inset:0 0 auto; min-height:118px; padding:25px clamp(28px,6vw,96px); color:var(--ivory); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line-dark); }
.wordmark { display:inline-flex; flex-direction:column; width:184px; }
.wordmark-name { display:flex; flex-direction:column; font-family:Newsreader,serif; font-size:28px; line-height:.76; letter-spacing:-.035em; }
.wordmark-name span:last-child { color:#90a7ad; align-self:flex-end; padding-right:22px; }
.wordmark-rule { height:8px; margin-top:6px; border-top:1px solid #90a7ad; position:relative; }
.wordmark-rule i { position:absolute; right:-1px; top:-3px; width:5px; height:5px; background:#90a7ad; border-radius:50%; }
.wordmark-descriptor { font-size:7px; line-height:1; letter-spacing:.08em; text-transform:uppercase; text-align:right; white-space:nowrap; }
nav { display:flex; gap:38px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
nav a { color:rgba(239,234,224,.64); transition:color .2s; }
nav a:hover, nav a:focus-visible { color:var(--ivory); }
.header-action { justify-self:end; padding-bottom:4px; color:var(--ivory); font-size:13px; border-bottom:1px solid var(--blue); }
.hero { min-height:760px; height:100svh; max-height:940px; padding:170px clamp(28px,8.5vw,138px) 80px; background:var(--night); color:var(--ivory); position:relative; overflow:hidden; display:flex; align-items:center; }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:19%; height:1px; background:linear-gradient(90deg,transparent 0%,rgba(96,125,135,.2) 12%,rgba(96,125,135,.72) 64%,transparent 100%); }
.hero-field { position:absolute; inset:0; pointer-events:none; opacity:.75; }
.hero-field span { position:absolute; right:-15vw; width:67vw; height:12vw; border-top:1px solid rgba(96,125,135,.11); border-radius:50%; transform:rotate(-5deg); }
.hero-field span:nth-child(1){bottom:4%}.hero-field span:nth-child(2){bottom:0;right:-6vw}.hero-field span:nth-child(3){bottom:-5%;right:2vw}.hero-field span:nth-child(4){bottom:-10%;right:8vw}.hero-field span:nth-child(5){bottom:-15%;right:15vw}
.hero-content { position:relative; z-index:2; width:min(950px,78vw); }
.overline { margin:0 0 40px; color:#90a7ad; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.19em; }
h1,h2,h3 { font-family:Newsreader,serif; font-weight:400; }
h1 { margin:0; max-width:950px; font-size:clamp(66px,7.7vw,118px); line-height:.95; letter-spacing:-.048em; }
h1 em { color:#94a9ae; font-style:italic; }
.hero-intro { margin:42px 0 35px; max-width:585px; color:rgba(239,234,224,.64); font-size:17px; line-height:1.75; }
.primary-link { display:inline-flex; align-items:center; gap:42px; min-width:206px; padding:14px 0 10px; color:var(--ivory); border-bottom:1px solid var(--bronze); font-size:13px; letter-spacing:.04em; justify-content:space-between; }
.hero-note { margin:22px 0 0; color:rgba(239,234,224,.38); font-size:11px; letter-spacing:.08em; }
.hero-reference { position:absolute; z-index:2; right:clamp(28px,6vw,96px); bottom:38px; display:flex; gap:30px; color:rgba(239,234,224,.32); font-size:9px; letter-spacing:.14em; }
.mandate { padding:125px clamp(28px,8.5vw,138px) 140px; display:grid; grid-template-columns:.48fr 2.24fr; gap:7vw; border-bottom:1px solid var(--line-light); }
.section-label { display:flex; gap:24px; color:var(--blue); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.section-label span { color:var(--bronze); }.section-label p { margin:0; }
.mandate-copy h2,.approach h2,.inquiries h2 { margin:0; font-size:clamp(44px,5vw,74px); line-height:1.02; letter-spacing:-.04em; }
.mandate-copy>p { max-width:690px; margin:42px 0 0; color:#4d5a5f; font-size:17px; }
.mandate-copy>.client-line { max-width:none; margin-top:62px; padding-top:20px; border-top:1px solid var(--line-light); color:var(--blue); font-size:12px; letter-spacing:.07em; }
.capabilities { padding:120px clamp(28px,8.5vw,138px) 140px; display:grid; grid-template-columns:.48fr 2.24fr; gap:7vw; border-bottom:1px solid var(--line-light); }
.capabilities-body>h2 { max-width:930px; margin:0; font-family:Newsreader,serif; font-size:clamp(38px,4.2vw,62px); font-weight:400; line-height:1.08; letter-spacing:-.035em; }
.capability-list,.stage-list { margin-top:78px; border-top:1px solid var(--line-light); }
.capability-list article,.stage-list article { display:grid; grid-template-columns:70px .72fr 1.25fr; gap:4vw; padding:34px 0 38px; border-bottom:1px solid var(--line-light); align-items:start; }
.row-number { margin:3px 0 0; color:var(--bronze); font:italic 16px/1 Newsreader,serif; }
.capability-list h3,.stage-list h3 { margin:0; font-family:Newsreader,serif; font-size:27px; font-weight:400; line-height:1.2; }
.capability-list article>p:last-child,.stage-list article>p:last-child { margin:0; color:#5d696d; font-size:15px; line-height:1.7; }
.approach { padding:120px clamp(28px,8.5vw,138px) 140px; display:grid; grid-template-columns:.48fr 2.24fr; gap:7vw; }
.approach-body { grid-column:2; }
.approach-heading { padding-bottom:70px; }
.approach-heading>p { max-width:760px; margin:40px 0 0; color:#4d5a5f; font-size:17px; line-height:1.75; }
.stage-list { margin-top:0; }
.brief { padding:120px clamp(28px,8.5vw,138px) 135px; background:#e6e0d5; display:grid; grid-template-columns:.48fr 1.08fr 1.16fr; gap:7vw; border-top:1px solid var(--line-light); }
.brief-copy { grid-column:2; }
.brief .overline { margin-bottom:30px; color:var(--blue); }
.brief-copy h2 { margin:0; font-family:Newsreader,serif; font-size:clamp(44px,4.8vw,72px); font-weight:400; line-height:1.02; letter-spacing:-.04em; }
.brief-copy>p:last-child { max-width:610px; margin:38px 0 0; color:#4d5a5f; font-size:17px; }
.brief-form { align-self:end; padding-top:50px; border-top:1px solid var(--line-light); }
.field-row { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:end; }
.email-field label { display:block; margin-bottom:8px; color:var(--blue); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.email-field input { width:100%; height:54px; padding:0; background:transparent; color:var(--ink); border:0; border-bottom:1px solid rgba(16,25,30,.55); border-radius:0; font:400 17px/1 "IBM Plex Sans",sans-serif; outline:none; }
.email-field input:focus { border-color:var(--blue); box-shadow:0 2px 0 -1px var(--blue); }
.brief-form button { height:54px; min-width:170px; padding:0 17px; background:var(--night); color:var(--ivory); border:1px solid var(--night); font:500 13px/1 "IBM Plex Sans",sans-serif; display:flex; align-items:center; justify-content:space-between; gap:28px; cursor:pointer; transition:background .2s,color .2s; }
.brief-form button:hover,.brief-form button:focus-visible { background:var(--blue); border-color:var(--blue); }
.brief-form button:disabled { cursor:wait; opacity:.66; }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.turnstile-container:empty { display:none; }
.turnstile-container { margin-top:22px; min-height:65px; }
.consent { margin:22px 0 0; color:#667175; font-size:12px; line-height:1.55; }
.consent a { color:var(--ink); border-bottom:1px solid rgba(16,25,30,.35); }
.form-status { min-height:25px; margin:18px 0 0; color:var(--blue); font-size:14px; }
.brief-form[data-state="success"] .form-status { color:#425b54; }
.brief-form[data-state="duplicate"] .form-status,.brief-form[data-state="error"] .form-status { color:#725944; }
.inquiries { min-height:620px; padding:100px clamp(28px,8.5vw,138px) 110px; background:var(--night); color:var(--ivory); position:relative; display:flex; flex-direction:column; justify-content:center; }
.inquiry-rule { position:absolute; top:0; left:clamp(28px,8.5vw,138px); right:clamp(28px,8.5vw,138px); border-top:1px solid var(--line-dark); }
.inquiry-rule span { position:absolute; top:-3px; right:0; width:5px; height:5px; background:var(--blue); border-radius:50%; }
.inquiries h2 { max-width:940px; font-size:clamp(58px,7.1vw,104px); }
.inquiry-copy { max-width:660px; margin:46px 0 0; color:rgba(239,234,224,.58); font-size:16px; line-height:1.75; }
.inquiry-contact { margin-top:52px; width:min(460px,100%); }
.inquiry-contact>p { margin:0; color:#90a7ad; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.inquiry-email { margin-top:10px; padding:16px 0 12px; border-bottom:1px solid var(--bronze); display:flex; justify-content:space-between; color:rgba(239,234,224,.8); font-size:14px; }
footer { padding:45px clamp(28px,6vw,96px); background:var(--night); color:rgba(239,234,224,.45); border-top:1px solid var(--line-dark); display:grid; grid-template-columns:1fr auto 1fr; gap:40px; align-items:end; font-size:10px; letter-spacing:.06em; }
footer p { margin:0; }footer p:last-child { justify-self:end; }.wordmark-footer { width:150px; color:var(--ivory); }.wordmark-footer .wordmark-name { font-size:23px; }.wordmark-footer .wordmark-descriptor { font-size:6px; }
footer .privacy-placeholder { grid-column:2; color:rgba(239,234,224,.28); }
@media (max-width:980px){.site-header{grid-template-columns:1fr auto}nav{display:none}.hero-content{width:100%}.mandate,.capabilities,.approach{grid-template-columns:1fr 2fr}.approach-body{grid-column:2}.brief{grid-template-columns:1fr 2fr}.brief-copy,.brief-form{grid-column:2}.brief-form{padding-top:10px;border-top:0}}
@media (max-width:650px){.site-header{min-height:96px;padding:18px 22px}.wordmark-small{width:145px}.wordmark-small .wordmark-name{font-size:23px}.wordmark-small .wordmark-descriptor{font-size:5.5px}.header-action{font-size:11px}.hero{min-height:930px;height:auto;padding:155px 22px 110px;align-items:flex-start}h1{font-size:clamp(54px,15vw,78px)}.hero-intro{margin-top:34px;font-size:16px}.hero-note{max-width:280px;line-height:1.6}.hero-reference{right:22px}.mandate,.capabilities,.approach{padding:85px 22px 95px;display:block}.section-label{margin-bottom:55px}.mandate-copy h2,.approach h2{font-size:46px}.mandate-copy>p,.approach-heading>p{margin-top:32px;font-size:16px}.mandate-copy>.client-line{margin-top:48px;font-size:11px;line-height:1.8}.capabilities-body>h2{font-size:41px}.capability-list,.stage-list{margin-top:55px}.capability-list article,.stage-list article{grid-template-columns:36px 1fr;gap:8px 12px;padding:28px 0}.capability-list h3,.stage-list h3{font-size:25px}.capability-list article>p:last-child,.stage-list article>p:last-child{grid-column:2;font-size:15px}.approach-body{display:block}.approach-heading{padding-bottom:45px}.brief{padding:82px 22px 92px;display:block}.brief-label{margin-bottom:55px}.brief-copy h2{font-size:48px}.brief-copy>p:last-child{font-size:16px}.brief-form{margin-top:58px;padding-top:35px;border-top:1px solid var(--line-light)}.field-row{grid-template-columns:1fr}.brief-form button{width:100%;margin-top:10px}.inquiries{min-height:720px;padding:85px 22px}.inquiry-rule{left:22px;right:22px}.inquiries h2{font-size:55px}.inquiry-copy{font-size:15px}.inquiry-email{font-size:12px}footer{grid-template-columns:1fr;padding:42px 22px}footer p:last-child,footer .privacy-placeholder{justify-self:start;grid-column:1}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.policy{min-height:100vh;padding:clamp(3rem,8vw,7rem) max(1.5rem,calc((100vw - 760px)/2));background:var(--ivory);color:var(--ink)}
.policy h1{margin:0 0 .5rem;font-size:clamp(3rem,8vw,5.5rem);font-weight:400}.policy h2{margin:2.5rem 0 .75rem;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:400}.policy p{max-width:68ch;line-height:1.75}.policy-date{color:var(--blue)}.policy a{text-decoration:underline;text-underline-offset:.22em}
