


*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--f-body);background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:var(--ink)}

:where(a,button,summary,[tabindex]):focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}
:where(.req,.stages,.foot) :where(a,button,summary,[tabindex]):focus-visible{outline-color:var(--accent)}



.fade{opacity:0;transform:translateY(12px);transition:opacity var(--t-reveal) var(--ease),transform var(--t-reveal) var(--ease);transition-delay:var(--d,0s)}
.fade.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.fade{transition:none;opacity:1;transform:none}}


.wrap{max-width:calc(var(--wrap) + 2 * var(--gut));margin:0 auto;padding:0 var(--gut)} 
.sect{padding:var(--sect) 0 0}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.head-row.head-center{flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3)}
.head-center .h2{max-width:30ch;margin:0 auto}



.h1,.hero h1{margin:0;max-width:640px;font:500 var(--fs-h1)/1.1 var(--f-display);letter-spacing:-.018em;text-wrap:balance} 
.h2{margin-top:var(--sp-3);font:500 var(--fs-h2)/1.18 var(--f-display);letter-spacing:-.01em;text-wrap:balance;max-width:26ch}
.h2:first-child{margin-top:0}                                   
.h2.center{margin-left:auto;margin-right:auto;text-align:center} 
.h2-sub{margin:14px auto 0;text-align:center;font:500 clamp(17px,1.9vw,22px)/1.35 var(--f-display);letter-spacing:0;color:var(--accent-deep)}
.eyebrow{font:600 12px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}
.lead{margin-top:var(--sp-3);font:400 17px/1.6 var(--f-body);color:var(--ink-72);max-width:52ch}
.acc{color:var(--accent-deep)}  
.link{font:600 14.5px/1 var(--f-body);color:var(--accent-deep);border-bottom:1.5px solid var(--link-line);padding-bottom:3px;white-space:nowrap}



.top{position:sticky;top:0;z-index:50;padding:0 var(--gut);background:var(--top-bg);-webkit-backdrop-filter:blur(var(--top-blur));backdrop-filter:blur(var(--top-blur))}
.top-in{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;height:var(--top-h)}
.brand{display:inline-flex;align-items:center;font:600 19px/1 var(--f-display);letter-spacing:0;color:var(--ink)}
.brand svg{width:.74em;height:.74em;margin:0 .16em 0 .21em;flex:none;transform:translateY(-.21em)}
.brand svg line{stroke:var(--accent);stroke-width:18;stroke-linecap:round}
.top .brand{color:var(--ink)}
.top .brand svg line{stroke:var(--accent-deep)}
.top .nav a{color:var(--ink)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{display:inline-flex;align-items:center;height:40px;padding:0;font:300 15.5px/1 var(--f-body);letter-spacing:.01em;white-space:nowrap;transition:color var(--t-color)}
.nav a:hover{color:var(--accent-deep)}
.pill{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:var(--r-lg);font:600 14px/1 var(--f-body);color:var(--ink);background:var(--accent);transition:background var(--t-color),transform var(--t-press);white-space:nowrap}
.pill:hover{background:var(--accent-press);transform:translateY(var(--lift-xs))}
.burger{display:none;width:40px;height:40px;border-radius:var(--r-sm);place-items:center;color:var(--ink)}
.m-menu{display:none;position:absolute;left:var(--gut);right:var(--gut);top:calc(100% - 4px);z-index:49;background:var(--bg);border:1px solid var(--ink-10);border-radius:var(--r-lg);padding:8px 20px 20px}
.m-menu.open{display:block}
.m-menu a{display:block;padding:13px 4px;font:300 17px/1 var(--f-body)}
.m-menu .pill{margin-top:16px;width:100%;justify-content:center;background:var(--accent)}
@media(max-width:900px){.nav{display:none}.burger{display:grid}.top-cta .pill{display:none}}



.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 28px;border-radius:var(--r-lg);font:600 16px/1 var(--f-body);transition:transform var(--t-btn) var(--ease),background var(--t-color);text-align:center}
.btn:hover{transform:translateY(var(--lift-sm))}
.btn.primary{background:var(--accent);color:var(--ink)}
.btn.primary:hover{background:var(--accent-press)}
.btn.ghost{border:1.5px solid var(--ink-45);color:var(--ink)}
.btn.ghost:hover{background:var(--ink-05)}

.btn:disabled,.btn[aria-disabled="true"],.pill[aria-disabled="true"]{opacity:.45;pointer-events:none}



.hero{padding:var(--sect-hero) 0 0}
.hero-c{position:relative;max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:224px minmax(0,1fr) 224px;grid-template-areas:"in h1 out" "in core out" "p p p" "cta cta cta";column-gap:clamp(20px,2.5vw,32px);align-items:center;justify-items:center;text-align:center}
.hero h1{grid-area:h1;align-self:end}
.hero-c > p{grid-area:p;margin-top:clamp(28px,4vw,44px);font:400 clamp(16px,1.8vw,19px)/1.6 var(--f-body);color:var(--ink-72);max-width:64ch}
@media(min-width:1080px){.hero-c > p{margin-top:-36px}} 
.hero p strong{font-weight:600;color:var(--ink)}
.hero-cta{grid-area:cta;margin-top:32px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}
.hero-cta .btn{padding:19px 32px;font-size:17px}


.flow-col{position:relative;z-index:2;display:grid;gap:18px;width:100%}
.flow-col.flow-in{grid-area:in;position:relative;height:392px;--chaos:1}
.flow-col.flow-in .node{position:absolute;width:auto;transform:rotate(var(--rot,0deg))}
.flow-col.flow-in .node:nth-child(1){left:22px;top:0;--rot:-3deg}
.flow-col.flow-in .node:nth-child(2){left:0;top:82px;--rot:2.5deg}
.flow-col.flow-in .node:nth-child(3){left:28px;top:162px;--rot:-1.5deg}
.flow-col.flow-in .node:nth-child(4){left:6px;top:246px;--rot:3deg}
.flow-col.flow-in .node:nth-child(5){left:24px;top:328px;--rot:-2deg}
.flow-col.flow-out{grid-area:out;justify-items:end}
.flow-col.flow-out .node{width:auto}
.hero-c.flow-anim .flow-col.flow-out .node{opacity:0} 


.node{width:min(100%,208px);display:flex;align-items:center;gap:var(--sp-3);padding:12px 14px 12px 12px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--ink-07);box-shadow:var(--shadow-node)}
.node .ic{flex:none;width:38px;height:38px;border-radius:var(--r-md);background:var(--accent-soft);display:grid;place-items:center;color:var(--accent-deep)}
.node .ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.node b{display:block;font:600 14px/1.2 var(--f-body);color:var(--ink)}
.node span{display:block;margin-top:3px;font:400 12.5px/1.35 var(--f-body);color:var(--muted);white-space:nowrap}
.flow-col.flow-out .node,.node.dark{background:var(--dark);border-color:var(--white-06);box-shadow:var(--shadow-dark)}
.flow-col.flow-out .node .ic,.node.dark .ic{background:var(--accent-14);color:var(--accent)}
.flow-col.flow-out .node b,.node.dark b{color:var(--white)}
.flow-col.flow-out .node span,.node.dark span{color:rgba(241,238,232,.7)}


.flow-core{grid-area:core;align-self:start;position:relative;z-index:3;width:266px;margin-top:28px;border-radius:16px;background:linear-gradient(150deg,var(--dark-deep),var(--accent-deep));color:var(--white);display:grid;place-items:center;text-align:center;padding:16px 14px;box-shadow:var(--shadow-core)}
.flow-core .brand{color:var(--white);font-size:13px}
.flow-core b{display:block;margin-top:8px;font:500 12px/1.3 var(--f-display);color:var(--white);white-space:nowrap}
.flow-core p{margin:4px 0 0;font:400 11px/1.4 var(--f-body);color:rgba(241,238,232,.75);max-width:none;white-space:nowrap}
@media(max-width:1079px){
  .hero-c{grid-template-columns:minmax(0,1fr) 266px minmax(0,1fr);grid-template-areas:"h1 h1 h1" "in core out" "p p p" "cta cta cta"}
  .hero h1{align-self:auto;max-width:900px;font-size:clamp(28px,4.6vw,52px)}
  .flow-col.flow-in,.flow-col.flow-out{margin-top:var(--block)}
  .flow-core{align-self:center;margin-top:var(--block)}
  .hero-c > p{margin-top:12px}
}
@media(max-width:760px){
  .hero-c{display:flex;flex-direction:column;align-items:center}
  .flow-col{grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
  .flow-col.flow-in{margin-top:32px;position:static;height:auto;--chaos:0}
  .flow-col.flow-in .node:nth-child(n){position:static;width:100%;left:auto;top:auto;transform:none}
  .flow-core{margin-top:22px!important}
  .flow-col.flow-out{margin-top:22px}
  .flow-col.flow-in,.flow-col.flow-out{justify-items:stretch}
  .node{width:100%}
  .node span{white-space:normal}
  .flow-core{width:min(100%,266px);margin:0 auto;padding:18px 14px}
}


.facts{margin-top:var(--block);display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}
.fact-i{padding:20px 0 4px}
.fact-i b{display:block;font:500 24px/1 var(--f-display);color:var(--accent-deep)}
.fact-i span{display:block;margin-top:8px;font:400 14.5px/1.45 var(--f-body);color:var(--ink-60)}
@media(max-width:700px){.facts{grid-template-columns:1fr}.fact-i{padding-bottom:16px}}

.hero-band{margin-top:var(--block);border-radius:var(--r-lg);overflow:hidden;background:var(--bg)}
.hero-band img{width:100%;height:auto;display:block}


.stat-row{margin-top:var(--sp-6);display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px}
.stat-col{padding:22px 0 8px}
.sc-label{display:block;font:500 13px/1.35 var(--f-body);color:var(--ink-60)}
.stat-col b{display:block;margin:12px 0 8px;font:500 var(--fs-stat)/1.05 var(--f-display);color:var(--accent-deep)}
.sc-desc{display:block;font:400 14px/1.45 var(--f-body);color:var(--ink-60)}
.t-cards{margin-top:var(--sp-6);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.t-card{position:relative;overflow:hidden;min-height:440px;padding:26px 24px;border-radius:var(--r-lg);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-5);background-size:cover;background-position:center;color:var(--white);transition:transform var(--t-card-lg) var(--ease)}
.t-card:hover{transform:translateY(var(--lift-lg))}
.t-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,12,.5),rgba(8,9,12,.22) 45%,rgba(8,9,12,.7))} 
.t-card>*{position:relative}

.t-cards.nophoto .t-card{background-image:none!important;background-color:var(--dark);min-height:380px;box-shadow:var(--shadow-dark)}
.t-cards.nophoto .t-card::before{background:radial-gradient(closest-side at 88% 12%,rgba(201,183,154,.22),transparent 72%)}
.t-card .ind{font:600 11.5px/1.3 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.t-card .ind b{color:var(--accent);font-weight:600}
.t-card blockquote{font:500 17px/1.5 var(--f-body);text-wrap:pretty}
.t-card figcaption{display:flex;flex-direction:column;gap:4px}
.t-card figcaption b{margin-top:14px;font:500 15px/1.4 var(--f-display);color:var(--white)} 
.t-card figcaption span{font:400 13.5px/1.45 var(--f-body);color:rgba(255,255,255,.72)}
.t-card .more{font:600 13.5px/1 var(--f-body);color:var(--accent);margin-top:6px}

.cases-note{margin-top:18px;font:400 13.5px/1.5 var(--f-body);color:var(--muted)}
.cases-more{margin-top:14px}
@media(max-width:900px){.stat-row{grid-template-columns:1fr 1fr}.t-cards{grid-template-columns:1fr}.t-card{min-height:360px}}
@media(max-width:520px){.stat-row{grid-template-columns:1fr}}


.cases{margin-top:var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,24px)}
.case{display:flex;flex-direction:column;gap:14px;padding:26px 24px 24px;border:1px solid var(--ink-14);border-radius:var(--r-lg);background:var(--white);transition:transform var(--t-card) var(--ease),box-shadow var(--t-card) ease}
.case:hover{transform:translateY(var(--lift-md));box-shadow:var(--shadow-card)}
.case .ind{font:600 11.5px/1.3 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-60)}
.case .ind b{color:var(--accent-deep);font-weight:600}
.case h3{font:500 17px/1.35 var(--f-display);letter-spacing:0}
.case .res{display:grid;gap:10px;margin-top:4px;padding-top:14px}
.case .res div{display:flex;flex-direction:column;gap:3px}
.case .res b{font:500 20px/1.1 var(--f-display);color:var(--accent-deep)}
.case .res span{font:400 13.5px/1.4 var(--f-body);color:var(--ink-60)}
.case .more{margin-top:auto;padding-top:14px;font:600 14px/1 var(--f-body);color:var(--accent-deep)}
@media(max-width:860px){.cases{grid-template-columns:1fr}}


.stages{margin-top:var(--sp-5);background:var(--dark);color:var(--dark-text);border-radius:var(--r-lg);padding:clamp(26px,4vw,52px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,4vw,48px);position:relative;overflow:hidden}
.stages::after{content:"";position:absolute;left:-160px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(201,183,154,.18),transparent 72%);pointer-events:none}
.stages-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,36px) clamp(24px,3vw,40px)}
.stage .num{display:block;font:600 12px/1 var(--f-body);letter-spacing:.08em;color:var(--accent)}
.stage h3{margin-top:10px;font:500 17px/1.3 var(--f-display);letter-spacing:0;color:var(--white)}
.stage .term{display:block;margin-top:6px;font:400 13px/1.4 var(--f-body);color:var(--dark-muted)}
.stage ul{list-style:none;margin-top:14px;display:grid;gap:var(--sp-1)}
.stage li{position:relative;padding-left:16px;font:400 14.5px/1.45 var(--f-body);color:rgba(241,238,232,.86)}
.stage li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:var(--r-xs);background:var(--accent)}
.stages-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--dark-deep);min-height:100%}
.stages-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1000px){.stages{grid-template-columns:1fr}.stages-photo{aspect-ratio:16/10;min-height:0}}
@media(max-width:600px){.stages-grid{grid-template-columns:1fr}}
.stages-cta{margin-top:28px;display:flex;justify-content:center}


.quote-band{margin-top:var(--sect);background:var(--panel);padding:clamp(48px,7vw,88px) 0}
.quote-band p{font:500 var(--fs-quote)/1.3 var(--f-display);letter-spacing:-.005em;max-width:30ch;text-wrap:balance}



.steps{margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.steps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:21px;height:2px;background:var(--accent);opacity:.7}
.step{position:relative;text-align:center;padding:0 clamp(8px,1.5vw,18px)}
.step .num{position:relative;z-index:1;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);border:2px solid var(--accent-deep);background:var(--bg);font:500 13px/1 var(--f-display);letter-spacing:0;color:var(--ink)}
.step h3{margin-top:var(--sp-3);font:500 16px/1.3 var(--f-display);letter-spacing:0}
.step p{margin-top:var(--sp-1);font:400 14px/1.5 var(--f-body);color:var(--ink-60)}
.step:last-child .num{background:var(--accent-deep);color:var(--white)}
.step:last-child h3{color:var(--accent-deep)}
.steps-note{margin-top:var(--sp-6);font:500 clamp(16px,1.9vw,21px)/1.4 var(--f-display);letter-spacing:0;max-width:38ch}
.princ-label{margin-top:clamp(40px,5vw,56px)}
.princ{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,24px)}
.princ div{padding:22px 22px 24px;border-radius:var(--r-lg);background:var(--accent-soft)}
.princ h3{font:500 16px/1.3 var(--f-display);letter-spacing:0}
.princ p{margin-top:10px;font:400 14.5px/1.55 var(--f-body);color:var(--ink-72)}
@media(max-width:860px){.princ{grid-template-columns:1fr}}
@media(max-width:760px){
  .steps{grid-template-columns:1fr;gap:22px}
  .steps::before{left:21px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .step{display:grid;grid-template-columns:44px 1fr;column-gap:16px;text-align:left;padding:0}
  .step .num{grid-row:1 / 3}
  .step h3{margin-top:10px}
  .step p{margin-top:6px}
}



.svc{margin-top:var(--sp-6);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:start}
.svc-detail{position:sticky;top:110px;padding:clamp(22px,3vw,36px);border-radius:var(--r-lg);background:var(--panel);min-height:300px}
.svc-detail .num{display:block;font:600 12px/1 var(--f-body);letter-spacing:.08em;color:var(--accent-deep)}
.svc-detail h3{margin-top:var(--sp-2);font:500 clamp(18px,2vw,24px)/1.25 var(--f-display);letter-spacing:0}
.svc-detail p{margin-top:14px;font:400 16px/1.6 var(--f-body);color:var(--ink-72)}
.svc-detail .link{display:inline-block;margin-top:20px}
.svc-list{list-style:none;display:grid;gap:6px}
.svc-list button{display:flex;align-items:center;gap:14px;width:100%;padding:10px 0;text-align:left;font:500 clamp(18px,1.9vw,25px)/1.22 var(--f-display);letter-spacing:0;color:var(--ink-45);transition:color var(--t-color)}
.svc-list button::before{content:"";flex:none;width:9px;height:9px;border-radius:var(--r-xs);background:var(--accent);opacity:0;transition:opacity var(--t-color)}
.svc-list li.on button{color:var(--ink)}
.svc-list li.on button::before{opacity:1}
.svc-list button:hover{color:var(--ink)}
@media(max-width:860px){.svc{grid-template-columns:1fr}.svc-list{order:1}.svc-detail{order:2;position:static;min-height:0}}


.fit-grid{margin-top:var(--sp-2);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:start}
.lead + .fit-grid{margin-top:var(--sp-4)} 
.fit-note{font:400 16.5px/1.6 var(--f-body);color:var(--ink-72)}
.check{list-style:none}
.check button{display:flex;align-items:center;gap:14px;width:100%;padding:15px 4px;text-align:left;font:400 16px/1.4 var(--f-body);color:var(--ink)}
.check i{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink-45);display:grid;place-items:center;transition:background var(--t-color),border-color var(--t-color)}
.check i svg{width:12px;height:12px;opacity:0;transition:opacity var(--t-color)}
.check button.on i{background:var(--accent);border-color:var(--accent)}
.check button.on i svg{opacity:1}
.fit-out{margin-top:18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px}
.fit-out b{font:500 26px/1 var(--f-display);letter-spacing:0}
.fit-out b em{font-style:normal;font-size:15px;color:var(--ink-45);font-family:var(--f-body);font-weight:500;margin-left:4px}
.fit-out span{font:400 15.5px/1.5 var(--f-body);color:var(--ink-72);flex-basis:100%}
.fit-cta{margin-top:var(--sp-4)}
@media(max-width:860px){.fit-grid{grid-template-columns:1fr}}


.erp{padding:clamp(32px,4.5vw,56px) clamp(22px,4vw,56px);border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--ink-07)}
.erp .h2{max-width:30ch}
.erp-grid{margin-top:var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,40px)}
.erp-grid div{padding-top:22px}
.erp-grid h3{font:500 16px/1.3 var(--f-display);letter-spacing:0}
.erp-grid p{margin-top:10px;font:400 15px/1.55 var(--f-body);color:var(--ink-60)}
.erp-note{margin-top:var(--sp-5);font:500 16.5px/1.5 var(--f-body);color:var(--ink);max-width:60ch}
.erp-foot{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
@media(max-width:760px){.erp-grid{grid-template-columns:1fr}}


.founder{margin-top:var(--sp-5);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px);align-items:center}
.founder .photo{border-radius:11px;overflow:hidden;background:var(--panel);aspect-ratio:1;max-width:380px} 
.founder .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.founder h3{margin-top:var(--sp-2);font:500 clamp(20px,2.4vw,28px)/1.2 var(--f-display);letter-spacing:0}
.founder .role{margin-top:var(--sp-1);font:500 15px/1.4 var(--f-body);color:var(--ink-60)}
.founder p.txt{margin-top:var(--sp-3);font:400 16.5px/1.6 var(--f-body);color:var(--ink-72);max-width:50ch}
.fparts{margin-top:26px;display:flex;flex-wrap:wrap;gap:22px 36px}
.fpart b{display:block;font:500 26px/1 var(--f-display);color:var(--accent-deep)}
.fpart span{display:block;margin-top:var(--sp-1);font:400 14px/1.45 var(--f-body);color:var(--ink-60);max-width:20ch}
@media(max-width:760px){.founder{grid-template-columns:1fr}.founder .photo{max-width:100%;aspect-ratio:4/3}.founder .photo img{object-position:50% 25%}}


.req{background:var(--dark);color:var(--dark-text);border-radius:var(--r-lg);padding:clamp(28px,4.5vw,64px);position:relative;overflow:hidden}
.req::after{content:"";position:absolute;right:-140px;top:-140px;width:440px;height:440px;border-radius:50%;background:radial-gradient(closest-side,rgba(201,183,154,.26),transparent 72%);pointer-events:none}
.req .eyebrow{color:var(--accent)}
.req .h2{color:var(--white)}
.req .lead{color:var(--dark-text);opacity:.8}
.req-grid{position:relative;margin-top:32px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start}

.form{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}
.form label{display:flex;flex-direction:column;gap:6px;font:600 11.5px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--dark-muted)}
.form label.full{grid-column:1 / -1}
.form input,.form select,.form textarea{width:100%;padding:13px 14px;border-radius:var(--r-md);border:1px solid var(--white-14);background:var(--white-06);color:var(--white);font:400 15px/1.4 var(--f-body);outline:none;transition:border-color var(--t-color)}
.form input::placeholder,.form textarea::placeholder{color:rgba(234,230,223,.4)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent)}
.form [aria-invalid="true"],.form [aria-invalid="true"]:focus{border-color:var(--error)} 
.form :disabled{opacity:.5;cursor:not-allowed} 
.form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A948D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form select option{color:var(--ink)}
.form textarea{min-height:104px;resize:vertical}
.form .btn{grid-column:1 / -1;justify-self:start;margin-top:4px}
.form .fine{grid-column:1 / -1;font:400 12.5px/1.5 var(--f-body);color:var(--dark-muted)}
.sent{grid-column:1 / -1;padding:14px 16px;border-radius:var(--r-md);background:var(--accent-14);border:1px solid var(--accent-40);font:500 14.5px/1.5 var(--f-body);color:var(--white)}
.promises{list-style:none;display:grid;gap:14px}
.promises li{position:relative;padding:0 0 0 24px;font:400 15.5px/1.5 var(--f-body);color:var(--dark-text)}
.promises li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.req-meta{margin-top:26px;display:grid;gap:10px;padding-top:20px}
.req-meta div{display:flex;justify-content:space-between;gap:var(--sp-2);font:500 13px/1.4 var(--f-body)}
.req-meta span:first-child{color:var(--dark-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}
.req-meta span:last-child{color:var(--white)}
@media(max-width:860px){.req-grid{grid-template-columns:1fr}}
@media(max-width:560px){.form{grid-template-columns:1fr}}


.posts{margin-top:var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,32px)}
.post{display:flex;flex-direction:column;padding-top:20px;transition:transform var(--t-card) var(--ease)}
.post:hover{transform:translateY(var(--lift-md))}
.post .meta{font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60)}
.post .meta em{font-style:normal;font-weight:400;letter-spacing:0;text-transform:none;font-size:12.5px;margin-left:var(--sp-1)}
.post h3{margin-top:14px;font:500 16.5px/1.35 var(--f-display);letter-spacing:0}
.post p{margin-top:10px;font:400 15px/1.55 var(--f-body);color:var(--ink-60)}
.post .more{margin-top:auto;padding-top:var(--sp-3);font:600 13px/1 var(--f-body);color:var(--accent-deep)}
@media(max-width:760px){.posts{grid-template-columns:1fr}}


.foot{margin-top:var(--sect);background:var(--dark);color:var(--dark-text)}
.foot-in{max-width:calc(var(--wrap) + 2 * var(--gut));margin:0 auto;padding:clamp(48px,7vw,72px) var(--gut) 26px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(24px,4vw,44px)}
.foot .brand{color:var(--white)}
.foot-brand p{margin-top:14px;font:400 14.5px/1.55 var(--f-body);color:var(--dark-muted);max-width:28ch}
.foot-col b{display:block;margin-bottom:var(--sp-2);font:600 11.5px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--white)}
.foot-col a{display:block;padding:5px 0;font:400 14px/1.5 var(--f-body);color:rgba(234,230,223,.72);transition:color var(--t-color)}
.foot-col a:hover{color:var(--white)}
.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:44px;padding-top:20px;font:400 13px/1 var(--f-body);color:var(--dark-muted)}
.foot-bottom div{display:flex;gap:18px}
.foot-bottom div a{color:rgba(234,230,223,.6)}
.foot-bottom div a:hover,.foot-bottom div a[aria-current="page"]{color:var(--white)} 
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1 / -1}}


.acc{color:var(--sage)}
.btn.primary,.pill{color:#F1EEE8}
.stages,.req,.foot,.t-card,.node.dark,.flow-col.flow-out .node{--accent:var(--beige);--accent-press:var(--beige-press);--accent-deep:var(--beige)}
.stages .acc,.req .acc,.foot .acc{color:var(--beige)}
.req .btn.primary,.req .pill{color:var(--deep)}
.check button.on i svg{stroke:#F1EEE8}

.brand{font:300 21px/1 var(--f-display);letter-spacing:.01em;align-items:baseline}
.brand .l42{font-weight:300;font-size:1.45em;letter-spacing:-.04em}
.brand .ldot{display:inline-block;width:.26em;height:.26em;border-radius:50%;background:var(--beige);margin:0 .12em 0 .08em}
.top .brand{color:var(--deep)}
.h1,.hero h1{font-weight:500}

.flow-col.flow-in.has-img{position:relative;isolation:isolate}
.flow-col.flow-in.has-img::before{content:"";position:absolute;left:50%;top:50%;width:155%;aspect-ratio:1;transform:translate(-45%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(201,183,154,.38),rgba(201,183,154,.14) 55%,transparent 100%);z-index:-1;pointer-events:none}
.flow-col img{width:100%;height:auto;display:block}
