*{box-sizing:border-box}html{line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0}summary{display:list-item}

:root { --ink:#07191a; --ivory:#f3f0e7; --paper:#ebe6da; --gold:#c6a66b; --sage:#a7b4a5; --line:rgba(7,25,26,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:var(--font-sans),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button, input, textarea { font:inherit; }
.shell { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.section-pad { padding-block:120px; }
.section-label,.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 30px; font-size:11px; line-height:1; letter-spacing:.2em; text-transform:uppercase; font-weight:600; }
.section-label::before { content:""; width:28px; height:1px; background:var(--gold); }
.inverse { color:var(--sage); }
.eyebrow span { width:7px; height:7px; border:1px solid var(--gold); border-radius:50%; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--font-display),Georgia,serif; font-weight:400; letter-spacing:-.035em; }
h2 { font-size:clamp(48px,5vw,76px); line-height:.98; }
h1 em,h2 em,.wordmark em { color:var(--gold); font-style:italic; font-weight:400; }

.hero { min-height:100vh; position:relative; overflow:hidden; display:flex; flex-direction:column; color:var(--ivory); background:var(--ink); }
.hero::before { content:""; position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent 5%,#000 60%); }
.nav { height:92px; position:relative; z-index:3; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.14); }
.wordmark { display:flex; align-items:center; gap:12px; font-family:var(--font-display),Georgia,serif; font-size:22px; text-transform:uppercase; letter-spacing:.07em; }
.mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--gold); color:var(--gold); font-size:21px; }
.navlinks { display:flex; gap:36px; font-size:12px; color:#cbd0c9; }
.navlinks a,.nav-cta,.text-link,footer a { transition:color .2s ease; }
.navlinks a:hover,.text-link:hover,footer a:hover { color:var(--gold); }
.nav-cta { justify-self:end; display:flex; gap:14px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.nav-cta span,.button span,.contact-panel a span,.solution>a span { color:var(--gold); }
.hero-grid { position:relative; z-index:2; flex:1; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:center; padding-block:70px 52px; }
.hero-copy { max-width:890px; }
.hero h1 { font-size:clamp(70px,8.2vw,125px); line-height:.82; margin-bottom:42px; }
.hero-lede { max-width:650px; color:#c2c9c1; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:42px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-width:242px; padding:18px 20px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button.light { background:var(--ivory); color:var(--ink); }
.text-link { display:flex; gap:30px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.hero-note { align-self:end; margin-bottom:36px; padding:24px 0 0 24px; border-top:1px solid var(--gold); border-left:1px solid rgba(198,166,107,.25); }
.hero-note p { font-family:var(--font-display); font-size:24px; }
.hero-note span { display:block; color:#9eaaa0; font-size:12px; line-height:1.7; }
.hero-bottom { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.14); }
.hero-bottom p { margin:0; padding:20px 20px 20px 0; color:#9ba79d; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.hero-orbit { position:absolute; width:680px; height:680px; right:-180px; top:130px; border:1px solid rgba(198,166,107,.25); border-radius:50%; transform:rotate(-14deg); }
.hero-orbit i { position:absolute; inset:12%; border:1px solid rgba(198,166,107,.19); border-radius:50%; }
.hero-orbit i:nth-child(2){ inset:25%; }.hero-orbit i:nth-child(3){ inset:44%; background:var(--gold); box-shadow:0 0 0 7px rgba(198,166,107,.1); }

.manifesto { display:grid; grid-template-columns:1fr 3fr; gap:50px; }
.manifesto>div { max-width:920px; }
.manifesto h2 { margin-bottom:44px; }
.manifesto>div p { margin-left:auto; max-width:610px; color:#52605d; font-size:17px; line-height:1.8; }
.solutions { background:var(--ink); color:var(--ivory); }
.section-head { display:grid; grid-template-columns:2fr 1fr; gap:90px; align-items:end; margin-bottom:78px; }
.section-head h2 { margin:0; }
.section-head>p { color:#9faaa2; font-size:15px; line-height:1.8; }
.solution { display:grid; grid-template-columns:80px 1fr auto; gap:36px; padding:42px 0; border-top:1px solid rgba(255,255,255,.16); }
.solution:last-child { border-bottom:1px solid rgba(255,255,255,.16); }
.solution-number { color:var(--gold); font-family:var(--font-display); font-size:20px; }
.solution h3 { margin-bottom:14px; font-family:var(--font-display); font-size:39px; font-weight:400; }
.solution p { max-width:700px; color:#a8b1aa; font-size:14px; line-height:1.75; }
.solution ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:10px 0 0; margin:0; }
.solution li { padding:7px 10px; border:1px solid rgba(255,255,255,.17); color:#c3cbc4; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.solution>a { align-self:center; display:flex; gap:22px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.approach-intro { display:grid; grid-template-columns:2fr 1fr; gap:100px; align-items:end; }
.approach-intro>p { color:#5d6864; font-size:15px; line-height:1.8; }
.stage-list { margin-top:80px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.stage { min-height:305px; padding:28px 24px 28px 0; border-right:1px solid var(--line); }
.stage+.stage { padding-left:24px; }
.stage:last-child { border-right:0; }
.stage>span { color:var(--gold); font-size:11px; letter-spacing:.16em; }
.stage h3 { margin:88px 0 16px; font-family:var(--font-display); font-size:28px; font-weight:500; }
.stage p { color:#66706d; font-size:12px; line-height:1.7; }
.global { position:relative; overflow:hidden; padding-block:150px; color:var(--ivory); background:#102827; }
.global-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.5fr 1fr; gap:120px; align-items:end; }
.global h2 { margin:0; font-size:clamp(60px,7vw,102px); }
.global-copy>p { font-family:var(--font-display); font-size:30px; line-height:1.2; }
.global-copy>span { color:#aab6ad; display:block; font-size:13px; line-height:1.8; }
.coordinates { display:flex; flex-wrap:wrap; gap:20px 30px; margin-top:50px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:#a7b3aa; }
.coordinates b { color:var(--gold); }
.global-lines { position:absolute; width:700px; height:700px; left:-190px; top:-110px; border:1px solid rgba(198,166,107,.17); border-radius:50%; }
.global-lines::before,.global-lines::after { content:""; position:absolute; inset:16%; border:1px solid rgba(198,166,107,.12); border-radius:50%; }.global-lines::after{inset:34%;}
.fit { padding-block:88px; }
.fit-card { padding:72px; background:#b8a06e; color:var(--ink); }
.fit-card .inverse { color:#344542; }
.fit-card .inverse::before { background:var(--ink); }
.fit-card h2 { margin-bottom:60px; }
.fit-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; border-top:1px solid rgba(7,25,26,.3); padding-top:30px; }
.fit-grid>p { max-width:430px; line-height:1.8; }
.fit-grid ul { display:grid; grid-template-columns:1fr 1fr; gap:22px 30px; margin:0; padding:0; list-style:none; }
.fit-grid li { position:relative; padding-left:22px; font-size:12px; line-height:1.5; text-transform:uppercase; letter-spacing:.08em; }
.fit-grid li::before { content:""; position:absolute; left:0; top:6px; width:6px; height:6px; border:1px solid var(--ink); border-radius:50%; }
.light-head { align-items:start; }.light-head>p { color:#62706c; }
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.insight-grid article { padding:30px 30px 20px 0; border-right:1px solid var(--line); }
.insight-grid article+article { padding-left:30px; }
.insight-grid article:last-child { border:0; }
.insight-grid span { color:#84734f; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.insight-grid h3 { min-height:112px; margin:60px 0 20px; font-family:var(--font-display); font-size:30px; font-weight:500; line-height:1.15; }
.insight-grid p { color:#68736f; font-size:13px; line-height:1.75; }
.faq { background:var(--paper); }
.faq-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:100px; }
.faq details { border-top:1px solid var(--line); }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0; cursor:pointer; list-style:none; font-family:var(--font-display); font-size:23px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:var(--gold); font-family:var(--font-sans); font-size:24px; font-weight:300; transition:transform .2s; }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details p { padding:0 50px 28px 0; color:#5c6864; font-size:13px; line-height:1.8; }
.contact { padding-block:130px; background:var(--ink); color:var(--ivory); }
.contact-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:120px; align-items:end; }
.contact h2 { font-size:clamp(67px,8vw,112px); margin-bottom:34px; }
.contact>div>div>p:last-child { max-width:650px; color:#aab4ac; line-height:1.8; }
.contact-panel { padding:35px 0; border-top:1px solid var(--gold); border-bottom:1px solid rgba(255,255,255,.18); }
.contact-panel>p { color:#a9b5ac; font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.contact-panel a { display:flex; justify-content:space-between; gap:20px; margin:28px 0; font-family:var(--font-display); font-size:clamp(22px,2.3vw,34px); word-break:break-word; }
.contact-panel>span { display:block; color:#7f8c84; font-size:10px; line-height:1.6; }
footer { background:#051313; color:var(--ivory); }
.footer-top { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:40px; padding-block:50px; border-bottom:1px solid rgba(255,255,255,.13); }
.footer-top p,.footer-top>a:last-child { margin:0; color:#94a098; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.disclaimer { display:grid; grid-template-columns:2fr 1fr; gap:100px; padding-block:30px 44px; color:#718079; font-size:9px; line-height:1.7; }
.disclaimer span { text-align:right; }

@media (max-width:900px){
  .shell{width:min(100% - 38px,1240px)} .section-pad{padding-block:86px}.nav{grid-template-columns:1fr auto}.navlinks{display:none}.hero-grid{grid-template-columns:1fr}.hero-note{display:none}.hero-bottom{grid-template-columns:1fr 1fr}.manifesto,.section-head,.approach-intro,.global-grid,.fit-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:44px}.stage-list{grid-template-columns:1fr 1fr}.stage:nth-child(2){border-right:0}.solution{grid-template-columns:48px 1fr}.solution>a{grid-column:2}.global{padding-block:100px}.fit-card{padding:48px 34px}.fit-grid ul{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr auto}.footer-top p{display:none}
}
@media (max-width:600px){
  .nav{height:76px}.wordmark{font-size:18px}.nav-cta{font-size:0;gap:0}.nav-cta span{font-size:20px}.hero-grid{padding-block:60px 35px}.hero h1{font-size:clamp(58px,19vw,82px)}.hero-lede{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-bottom p{font-size:8px}.manifesto h2 br,.section-head h2 br,.approach h2 br{display:none}.solution{gap:16px}.solution h3{font-size:32px}.stage-list{grid-template-columns:1fr}.stage,.stage+.stage{padding:28px 0;border-right:0;border-bottom:1px solid var(--line);min-height:auto}.stage h3{margin:40px 0 12px}.insight-grid{grid-template-columns:1fr}.insight-grid article,.insight-grid article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.insight-grid h3{min-height:0;margin:36px 0 16px}.fit-card{margin-inline:-19px}.contact-panel a{font-size:22px}.disclaimer{grid-template-columns:1fr;gap:20px}.disclaimer span{text-align:left}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
