:root{--void:#24211F;--graph:#2F2B28;--line:#3E3A36;--charcoal:#44403B;--orange:#E1712B;--ember:#B4510F;--ink:#1F1C1A;--paper:#FAFAFA;--mist:#F3F2F0;--stone:#E2DFDB;--muted:#605A53;--steel:#B5AEA5;--display:"Sora",system-ui,sans-serif;--body:"Open Sans",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.hp{margin:0;background:var(--paper);color:var(--charcoal);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
.hp h1,.hp h2,.hp h3,.hp h4{font-family:var(--display);margin:0;color:inherit;letter-spacing:-0.02em}
.hp p,.hp ul,.hp ol{margin:0}
.hp a{color:var(--ember)}
.hp :focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:var(--ink);padding:8px 14px;z-index:50}
.skip:focus{left:8px}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 16px/1 var(--body);text-decoration:none;padding:15px 26px;border-radius:10px;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}
.hp .btn-o{background:var(--orange);color:var(--ink)}
.hp .btn-o:hover{background:#F08A47;box-shadow:0 0 0 6px rgba(225,113,43,.18)}
.hp .btn-g{color:var(--paper);border-color:rgba(250,250,250,.35)}
.hp .btn-g:hover{border-color:var(--orange);color:#fff}
.hp .btn-d{color:var(--charcoal);border-color:var(--charcoal)}
.hp .btn-d:hover{background:var(--charcoal);color:#fff}
/* header */
.h-head{position:sticky;top:0;z-index:30;background:rgba(36,33,31,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.h-head .wrap{display:flex;align-items:center;gap:28px;height:78px}
.brand{display:flex;align-items:center;background:#fff;border-radius:10px;padding:4px 10px}
.brand img{display:block;height:50px!important;width:auto!important}
.nav{display:flex;gap:26px;margin-left:auto}
.hp .nav a{color:var(--paper);text-decoration:none;font-weight:600;font-size:15px;padding:6px 0;border-bottom:2px solid transparent}
.hp .nav a:hover,.hp .nav a[aria-current]{border-bottom-color:var(--orange)}
.h-head .btn{padding:12px 20px;font-size:15px}
.menu{display:none;margin-left:auto;position:relative}
.menu summary{list-style:none;cursor:pointer;color:var(--paper);font-weight:600;border:1px solid rgba(250,250,250,.35);border-radius:10px;padding:10px 16px}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:52px;background:var(--void);border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;min-width:240px}
.hp .menu nav a{color:var(--paper);text-decoration:none;padding:12px 14px;border-radius:8px;font-weight:600}
.hp .menu nav a:hover{background:var(--graph)}
/* dark bands */
.dark{position:relative;background-color:var(--void);color:var(--paper);background-image:linear-gradient(rgba(250,250,250,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(250,250,250,.035) 1px,transparent 1px);background-size:64px 64px;overflow:hidden}
.dark::before{content:"";position:absolute;width:720px;height:720px;right:-220px;top:-260px;background:radial-gradient(closest-side,rgba(225,113,43,.22),transparent);pointer-events:none}
.dark>.wrap{position:relative}
.dark .lede,.dark .soft{color:var(--steel)}
/* home hero */
.hero{padding:88px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04;font-weight:700;letter-spacing:-0.035em}
.hero .lede{margin-top:24px;font-size:19px;max-width:33em}
.actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.globe{position:relative;aspect-ratio:1/1;width:100%;max-width:520px;justify-self:center}
.globe canvas{width:100%;height:100%;display:block}
.facts{border-top:1px solid var(--line);background:var(--void);color:var(--paper)}
.facts ul{list-style:none;padding:28px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.facts li{color:var(--steel);font-size:15px;padding-left:16px;border-left:2px solid var(--orange)}
.facts strong{display:block;font:600 22px/1.25 var(--display);color:var(--paper)}
/* inner page header */
.phead{padding:104px 0 80px}
.phead h1{font-size:clamp(38px,5vw,62px);line-height:1.06;font-weight:700;letter-spacing:-0.035em;max-width:16em}
.phead .lede{margin-top:22px;font-size:19px;max-width:36em}
/* sections */
.sec{padding:96px 0}
.sec.mist{background:var(--mist)}
.sec.dark{padding:96px 0}
.shead{max-width:44em;margin-bottom:52px}
.shead h2{font-size:clamp(30px,3.6vw,44px);line-height:1.12;font-weight:700}
.shead p{margin-top:16px;font-size:18px;color:var(--muted)}
.dark .shead p{color:var(--steel)}
/* service overview (home) */
.svc2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tile{background:#fff;border:1px solid var(--stone);border-radius:18px;padding:36px;display:flex;flex-direction:column}
.tile h3{font-size:26px;line-height:1.2;font-weight:600}
.tile>p{margin-top:12px;color:var(--muted)}
.tile ul{margin-top:24px;list-style:none;padding:0;display:grid;gap:0;border-top:1px solid var(--stone)}
.tile li{padding:16px 0;border-bottom:1px solid var(--stone)}
.tile li strong{display:block;font:600 17px/1.35 var(--display);color:var(--charcoal)}
.tile li span{font-size:15px;color:var(--muted)}
.tile .more{margin-top:28px;align-self:flex-start}
/* bullets */
.ticks{list-style:none;padding:0;display:grid;gap:10px}
.ticks li{position:relative;padding-left:22px}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--orange);transform:rotate(45deg)}
/* detail blocks (service pages) */
.block{display:grid;grid-template-columns:320px 1fr;gap:56px;padding:56px 0;border-top:1px solid var(--stone)}
.block:first-of-type{border-top:2px solid var(--charcoal)}
.block h2{font-size:30px;line-height:1.15;font-weight:700}
.block .intro{margin-top:14px;color:var(--muted)}
.block .cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.block h3{font-size:15px;font-family:var(--body);font-weight:700;color:var(--muted);margin-bottom:14px}
.tags{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.tags span{font-size:13px;padding:4px 12px;border:1px solid var(--stone);border-radius:6px;background:#fff;color:var(--muted)}
/* grids */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 64px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.pt h3{font-size:21px;font-weight:600;line-height:1.3}
.pt p{margin-top:10px}
.mark{display:block;width:28px;height:3px;background:var(--orange);margin-bottom:18px}
.card{background:#fff;border:1px solid var(--stone);border-radius:14px;padding:28px}
.card h3{font-size:19px;font-weight:600;line-height:1.3}
.card p{margin-top:10px;font-size:16px;color:var(--muted)}
.dark .card{background:var(--graph);border-color:var(--line)}
.dark .card h3{color:var(--paper)}
.dark .card p{color:var(--steel)}
/* steps */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);counter-reset:s}
.steps li{position:relative;padding-right:28px;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:700 15px/1 var(--display);color:var(--orange);padding-bottom:16px;border-bottom:2px solid var(--charcoal);margin-bottom:22px}
.dark .steps li::before{border-bottom-color:var(--line)}
.steps h3{font-size:20px;font-weight:600}
.steps p{margin-top:8px;font-size:16px}
.dark .steps p{color:var(--steel)}
/* shifts */
.cover{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.shifts{background:var(--graph);border:1px solid var(--line);border-radius:18px;padding:28px}
.shifts .cap{font-size:14px;color:var(--steel)}
.rows{margin-top:20px;display:grid;gap:14px}
.row,.axis{display:grid;grid-template-columns:128px 1fr;gap:14px;align-items:center}
.row .who{font-size:14px;line-height:1.3;font-weight:600;color:var(--paper)}
.row .who small{display:block;font-weight:400;color:var(--steel)}
.track{position:relative;height:28px;background:#3A3632;border-radius:6px;overflow:hidden}
.bar{position:absolute;top:0;bottom:0;border-radius:5px}
.bar.h{background:var(--orange);box-shadow:0 0 18px rgba(225,113,43,.55)}
.bar.c{background:#D9D3CC}
.axis{margin-top:8px}
.ax{display:flex;justify-content:space-between;font-size:12px;color:var(--steel)}
/* models */
.models{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--stone);border-radius:16px;background:#fff;overflow:hidden}
.models>div{padding:28px 24px}
.models>div+div{border-left:1px solid var(--stone)}
.models h3{font-size:18px;font-weight:600}
.models p{margin-top:8px;font-size:15px;color:var(--muted)}
/* people */
.person{display:flex;gap:18px;align-items:center}
.mono{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--void);color:var(--orange);font:700 20px/1 var(--display)}
.person h3{font-size:19px;font-weight:600}
.person p{font-size:15px;color:var(--muted)}
/* contact */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.formbox{background:#fff;border:1px solid var(--stone);border-radius:18px;padding:32px}
.placeholder{border:2px dashed var(--stone);border-radius:10px;padding:28px;color:var(--muted);font-size:15px}
.side .item+.item{margin-top:32px;padding-top:28px;border-top:1px solid var(--stone)}
.side h3{font-size:19px;font-weight:600}
.side p,.side address{margin-top:8px;font-style:normal;color:var(--muted)}
.side address strong{color:var(--charcoal)}
/* cta band */
.cta{padding:88px 0}
.cta .wrap{display:flex;gap:40px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta h2{font-size:clamp(28px,3.4vw,42px);line-height:1.12;font-weight:700;max-width:18em}
.cta p{margin-top:12px;color:var(--steel);font-size:18px}
/* prose */
.prose{max-width:46em}
.prose h2{font-size:24px;font-weight:600;margin:44px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:14px}
.prose ul{padding-left:22px;display:grid;gap:6px}
.updated{color:var(--muted);font-size:15px;margin-bottom:32px}
/* footer */
.foot{background:var(--void);color:var(--steel);font-size:15px;border-top:1px solid var(--line)}
.foot .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:64px 0 48px}
.foot h4{font:600 15px/1.3 var(--display);color:var(--paper);margin-bottom:14px}
.foot .name{font:700 22px/1.2 var(--display);color:var(--paper);letter-spacing:.02em}
.foot .name span{color:var(--orange)}
.foot p{margin-top:12px}
.foot ul{list-style:none;padding:0;display:grid;gap:8px}
.hp .foot a{color:var(--steel);text-decoration:none}
.hp .foot a:hover{color:var(--paper)}
.foot .base{border-top:1px solid var(--line);padding:22px 0;font-size:14px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media (max-width:1060px){
 .nav,.h-head .btn{display:none}
 .menu{display:block}
 .hero .wrap,.cover,.contact-grid{grid-template-columns:1fr}
 .globe{max-width:420px}
 .svc2{grid-template-columns:1fr}
 .block{grid-template-columns:1fr;gap:24px}
 .g4,.models{grid-template-columns:repeat(2,1fr)}
 .models>div:nth-child(3){border-left:0}
 .models>div:nth-child(n+3){border-top:1px solid var(--stone)}
 .steps{grid-template-columns:repeat(2,1fr);gap:40px 0}
 .foot .top{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
 body.hp{font-size:16px}
 .hero{padding:56px 0 48px}
 .phead{padding:72px 0 56px}
 .sec,.sec.dark,.cta{padding:68px 0}
 .facts ul,.g2,.g3,.g4,.models,.steps,.block .cols,.foot .top{grid-template-columns:1fr}
 .models>div+div{border-left:0;border-top:1px solid var(--stone)}
 .tile{padding:26px}
 .row,.axis{grid-template-columns:92px 1fr}
 .brand img{height:40px!important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* v3 additions: split headers, illustrations, tabs, steppers, filters, faq, toc */
.phead.split .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.ill svg{display:block;width:100%;height:auto}
.frame{border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35),0 0 0 1px rgba(225,113,43,.12)}
.dash{stroke-dasharray:6 6;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
.chipset{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chipset span{font-size:14px;padding:6px 14px;border:1px solid rgba(250,250,250,.22);border-radius:999px;color:var(--steel)}
.tablist{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--stone);margin-bottom:48px}
.tablist button{font:600 15px/1.2 var(--body);background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:16px 18px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:10px}
.tablist button:hover{color:var(--charcoal)}
.tablist button[aria-selected=true]{color:var(--charcoal);border-bottom-color:var(--orange)}
.tablist button [data-icon]{color:var(--orange);display:inline-flex}
.dark .tablist{border-bottom-color:var(--line)}
.dark .tablist button{color:var(--steel)}
.dark .tablist button:hover,.dark .tablist button[aria-selected=true]{color:#fff}
.tpanel{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.tpanel[hidden]{display:none}
.tpanel.in{animation:fadein .35s ease both}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tpanel h3{font-size:32px;line-height:1.15;font-weight:700}
.tpanel .intro{margin-top:14px;font-size:18px;color:var(--muted)}
.dark .tpanel .intro{color:var(--steel)}
.tpanel h4{margin:28px 0 12px;font:700 15px/1.3 var(--body);color:var(--muted)}
.dark .tpanel h4{color:var(--steel)}
.ticks.two{grid-template-columns:1fr 1fr;column-gap:24px}
.icard{background:#fff;border:1px solid var(--stone);border-radius:14px;padding:26px;transition:border-color .15s,transform .15s}
.icard:hover{border-color:var(--orange);transform:translateY(-2px)}
.icard [data-icon]{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(225,113,43,.1);color:var(--orange);margin-bottom:16px}
.icard h3{font-size:19px;font-weight:600;line-height:1.3}
.icard p{margin-top:8px;font-size:15.5px;color:var(--muted)}
.icard ul{margin-top:12px}
.dark .icard{background:var(--graph);border-color:var(--line)}
.dark .icard h3{color:var(--paper)}
.dark .icard p,.dark .icard li{color:var(--steel)}
.stepper .tablist{border:0;gap:0;counter-reset:st;display:grid;grid-template-columns:repeat(var(--n,5),1fr);margin-bottom:36px}
.stepper .tablist button{flex-direction:column;align-items:flex-start;gap:12px;border:0;border-top:3px solid var(--line);padding:18px 16px 0 0;text-align:left;counter-increment:st}
.stepper .tablist button::before{content:counter(st,decimal-leading-zero);font:700 14px/1 var(--display);color:var(--steel)}
.stepper .tablist button[aria-selected=true]{border-top-color:var(--orange)}
.stepper .tablist button[aria-selected=true]::before{color:var(--orange)}
.sp{background:var(--graph);border:1px solid var(--line);border-radius:16px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.sp[hidden]{display:none}
.sp.in{animation:fadein .35s ease both}
.sp h3{font-size:24px;font-weight:600;color:var(--paper)}
.sp p,.sp li{color:var(--steel)}
.sp p{margin-top:10px}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.metric{border-top:2px solid var(--orange);padding-top:16px}
.metric h3{font-size:18px;font-weight:600}
.metric p{margin-top:6px;font-size:15px;color:var(--muted)}
.dark .metric p{color:var(--steel)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.chips button{font:600 15px/1 var(--body);padding:11px 18px;border-radius:999px;border:1px solid var(--stone);background:#fff;color:var(--charcoal);cursor:pointer}
.chips button[aria-pressed=true]{background:var(--charcoal);border-color:var(--charcoal);color:#fff}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.role[hidden]{display:none}
.role .cat{display:inline-block;font-size:13px;font-weight:600;color:var(--ember);margin-bottom:8px}
.faq{max-width:52em;display:grid;gap:12px}
.faq details{background:#fff;border:1px solid var(--stone);border-radius:12px;padding:0 24px}
.faq summary{cursor:pointer;list-style:none;padding:20px 32px 20px 0;font:600 17px/1.4 var(--display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:16px;font:400 26px/1 var(--body);color:var(--orange)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding-bottom:20px;color:var(--muted)}
.matrix{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--stone);border-radius:14px;overflow:hidden}
.matrix th,.matrix td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--stone);font-size:15.5px;vertical-align:top}
.matrix th{background:var(--mist);font:600 14px/1.3 var(--body);color:var(--muted)}
.matrix td:first-child{font-weight:700;color:var(--orange);white-space:nowrap}
.matrix tr:last-child td{border-bottom:0}
.cad{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cad .icard h3 small{display:block;font:600 13px/1.3 var(--body);color:var(--ember);margin-bottom:6px}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.legal{display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:start}
.toc{position:sticky;top:110px;display:grid;gap:2px;border-left:2px solid var(--stone)}
.hp .toc a{color:var(--muted);text-decoration:none;font-size:15px;padding:7px 0 7px 16px;margin-left:-2px;border-left:2px solid transparent}
.hp .toc a:hover{color:var(--charcoal)}
.hp .toc a[aria-current]{color:var(--charcoal);border-left-color:var(--orange);font-weight:600}
.prose h2{scroll-margin-top:110px}
.next{list-style:none;padding:0;display:grid;gap:18px;counter-reset:n}
.next li{counter-increment:n;display:grid;grid-template-columns:40px 1fr;gap:14px}
.next li::before{content:counter(n);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--void);color:var(--orange);font:700 14px/1 var(--display)}
.next strong{display:block;font-family:var(--display);font-weight:600}
.next span{color:var(--muted);font-size:15px}
@media (max-width:1060px){
 .phead.split .wrap,.tpanel,.sp,.split2,.legal{grid-template-columns:1fr}
 .mgrid,.roles{grid-template-columns:repeat(2,1fr)}
 .cad{grid-template-columns:repeat(2,1fr)}
 .stepper .tablist{grid-template-columns:repeat(3,1fr);row-gap:16px}
 .toc{display:none}
}
@media (max-width:680px){
 .mgrid,.roles,.cad,.ticks.two{grid-template-columns:1fr}
 .stepper .tablist{grid-template-columns:repeat(2,1fr)}
 .tablist{flex-wrap:nowrap;overflow-x:auto}
 .tablist button{white-space:nowrap}
 .matrix th,.matrix td{padding:12px;font-size:14px}
 .tpanel h3{font-size:26px}
}
@media (prefers-reduced-motion:reduce){.dash,.tpanel.in,.sp.in{animation:none}}
