/* Homepage hero. Keep the artwork separate from copy and calls to action. */
.concept-hero{max-width:1510px;margin:auto;padding:0 44px 38px}
.hero-inner{min-height:clamp(600px,42vw,650px);display:grid;grid-template-columns:minmax(0,41%) minmax(0,59%);align-items:center}
.hero-copy{position:relative;z-index:2;padding:44px 0 0 8px}
.hero-copy h1{max-width:570px;font-size:clamp(50px,4.3vw,62px);line-height:1.055;letter-spacing:-.045em;font-weight:650;text-wrap:balance}
.hero-copy p{max-width:510px;margin-top:34px;color:#b6b6bf;font-size:clamp(18px,1.4vw,22px);font-weight:350;line-height:1.53}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.hero-actions .btn{height:54px;border-radius:13px;padding:0 27px;font-size:15px}
.hero-actions .btn-ghost{border:1px solid rgba(255,255,255,.12);background:#1c1e2a}
.hero-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.story{display:grid;place-items:center;min-width:0;margin:0}
.story-art{display:block;width:100%;max-width:740px;height:auto}
.journey{max-width:1368px;margin:-6px auto 0;padding:0 8px}
.journey-line{height:12px;display:flex;align-items:center;justify-content:space-between;position:relative;margin:0 5px 19px}
.journey-line::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#59616f80}
.journey-line span{position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:#050506;border:2px solid #3dafff;box-shadow:0 0 12px #2f6bf550}
.journey-line span:nth-child(2){border-color:#8557ff;box-shadow:0 0 12px #8557ff88}
.journey-line span:nth-child(3){border-color:#ffc16c;box-shadow:0 0 12px #ffc16c88}
.journey ol{display:grid;grid-template-columns:repeat(3,1fr);gap:54px}
.journey li{min-width:0}
.step-number{font-size:15px;color:#a9b3c8}
.journey h2{font-size:22px;letter-spacing:-.025em;line-height:1.25;margin-top:4px}
.journey p{max-width:34ch;color:#b0b5c3;font-size:15px;line-height:1.48;margin-top:8px}
@media(max-width:1180px){
 .concept-hero{padding-inline:24px}
 .hero-copy h1{font-size:clamp(45px,4.6vw,58px)}
 .hero-copy p{font-size:18px}
}
@media(max-width:950px){
 .hero-inner{grid-template-columns:1fr;min-height:0;padding-top:70px}
 .hero-copy{padding:0 4px}
 .hero-copy h1{max-width:820px}
 .hero-h1-primary,.hero-h1-detail{display:block}
 .hero-h1-detail{margin-top:8px;font-size:.76em;line-height:1.15}
 .story{width:min(100%,700px);margin:25px auto 0}
 .journey{margin-top:0}
}
@media(max-width:650px){
 .concept-hero{padding:0 20px 44px}
 .hero-inner{padding-top:57px}
 .hero-copy h1{font-size:clamp(34px,9vw,40px);letter-spacing:-.055em}
 .hero-copy p{margin-top:24px;font-size:17px;line-height:1.5}
 .hero-actions{margin-top:25px;gap:10px}
 .hero-actions .btn{height:49px;font-size:14px;padding:0 18px}
 .story{margin:30px auto 0}
 .journey-line{display:none}
 .journey ol{grid-template-columns:1fr;gap:0;border-top:1px solid #ffffff25}
 .journey li{padding:18px 0;border-bottom:1px solid #ffffff25}
 .journey h2{font-size:20px}
 .journey p{font-size:14px;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){.hero-actions .btn{transition:none}}

/* Homepage value story after the hero. Practice cards use mach-hubs.css unchanged. */
#handoff .sec-head .eyebrow,#services .sec-head .eyebrow{color:var(--violet);font-size:15px;font-weight:700;letter-spacing:.1em}
#handoff,#services,#platform-context,#closing{scroll-margin-top:92px}
#handoff .cmp-scroll-hint{display:none}
#handoff .table-wrap:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
section.home-practices{padding:52px 0 88px}
.home-practices .sec-head{margin-bottom:42px}
.home-practices .sec-head h2{max-width:none}
section.home-platform{padding:76px 0 84px;border-top:1px solid var(--stroke)}
.home-platform-top{display:flex;justify-content:space-between;align-items:center;gap:24px}
.home-platform-top .eyebrow{color:var(--violet);font-size:15px;font-weight:700;letter-spacing:.1em}
.home-platform-logo{width:175px;height:auto}
.home-platform h2{font-size:clamp(38px,4.3vw,60px);line-height:1.06;letter-spacing:-.045em;margin:12px 0 0}
.home-platform-intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px 46px;align-items:center;margin:25px 0 42px}
.home-platform-intro>p{max-width:73ch;color:var(--text2);font-size:clamp(18px,1.65vw,22px);line-height:1.45}
.home-platform-intro sup{font-size:.55em;line-height:0}
.home-platform-integrations{border-left:1px solid rgba(162,124,255,.5);padding-left:20px}
.home-platform-integrations>p,.home-platform-answer-label{color:var(--violet);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.home-platform-integration-logos{display:flex;align-items:center;gap:16px;margin-top:9px}
.home-platform-integration-logos img:first-child{width:97px}
.home-platform-integration-logos img:last-child{width:143px;filter:brightness(0) invert(1)}
.home-platform-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:18px;align-items:stretch}
.home-platform-chart,.home-platform-answer{min-width:0;min-height:445px;border:1px solid var(--stroke);border-radius:25px;overflow:hidden}
.home-platform-chart{position:relative;background:#111217}
.home-platform-chart picture{display:block}
.home-platform-chart picture img{position:absolute;top:0;left:0;width:137%;max-width:none;height:auto}
.home-platform-chart-fade{position:absolute;inset:62% 0 0;background:linear-gradient(transparent,rgba(5,5,6,.96))}
.home-platform-chart figcaption{position:absolute;right:25px;bottom:23px;left:25px;color:#c9c9d3;font-size:16px;line-height:1.3}
.home-platform-chart figcaption strong{display:block;margin-bottom:4px;color:var(--text);font-size:26px;line-height:1.12}
.home-platform-chart figcaption span{display:block}
.home-platform-answer{display:flex;flex-direction:column;padding:28px 30px;border-color:#7958c2;background:linear-gradient(145deg,#201a31,#14151d 68%)}
.home-platform-answer h3{font-size:clamp(27px,2.5vw,34px);line-height:1.13;letter-spacing:-.035em;margin:18px 0 22px}
.home-platform-answer ol{list-style:none;margin:0;padding:0}
.home-platform-answer li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:13px 0;border-top:1px solid var(--stroke)}
.home-platform-answer li>b{color:var(--violet);font-size:17px;letter-spacing:.04em}
.home-platform-answer li strong{display:block;color:var(--text);font-size:19px;line-height:1.2}
.home-platform-answer li span{display:block;color:#b5b5c0;font-size:15px;line-height:1.35;margin-top:3px}
.home-platform-promise{margin-top:auto;padding-top:17px;border-top:1px solid var(--stroke);color:#c7b7ff;font-size:16px;font-weight:600;line-height:1.35}
.home-platform-note{color:var(--text2);font-size:12px;text-align:right;margin-top:18px}
/* Final homepage statement reuses the animated roadmap art from the analyst deck. */
.home-closing{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(650px,56vw,850px);background:#050506;border-top:1px solid var(--stroke)}
.home-closing-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.home-closing-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:24px;min-height:inherit;padding-top:36px;padding-bottom:42px}
.home-closing-logo{display:block;flex:none;width:clamp(128px,11vw,150px);height:auto}
.home-closing-panel{width:100%;padding:24px 28px 12px;border:1px solid #393941;border-radius:32px;background:rgba(24,24,29,.96)}
.home-closing-panel h2{color:#a6a6b0;font-size:clamp(13px,1.15vw,16px);font-weight:700;line-height:1.25;letter-spacing:.14em;text-transform:uppercase}
.home-closing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}
.home-closing-outcome{position:relative;min-width:0;min-height:190px;padding:22px 30px 46px 0}
.home-closing-outcome+.home-closing-outcome{padding-left:30px;border-left:1px solid #41414a}
.home-closing-outcome h3{color:var(--text);font-size:clamp(28px,2.6vw,38px);line-height:1.1;letter-spacing:-.035em}
.home-closing-outcome p{max-width:34ch;margin-top:12px;color:#b5b5c0;font-size:clamp(16px,1.4vw,19px);line-height:1.42}
.home-closing-outcome::after{content:"";position:absolute;bottom:10px;left:0;width:68px;height:2px;background:var(--violet)}
.home-closing-outcome+.home-closing-outcome::after{left:30px}
@media(max-width:1100px){
 .home-platform-intro{grid-template-columns:minmax(0,1fr) 260px}
 .home-platform-grid{grid-template-columns:1fr}
 .home-platform-chart{min-height:420px}
 .home-platform-answer{min-height:0}
}
@media(max-width:700px){
 #handoff .cmp-scroll-hint{display:block;margin:-14px 0 14px;color:var(--text2);font-size:13px;line-height:1.4}
 #handoff table.cmp{width:530px;min-width:530px;table-layout:fixed}
 #handoff table.cmp th,#handoff table.cmp td{padding:14px 9px}
 #handoff table.cmp th:first-child{width:150px;padding-left:12px}
 #handoff table.cmp tr>th:first-child{position:sticky;left:0;z-index:2;background:var(--graphite);box-shadow:1px 0 rgba(255,255,255,.14)}
 #handoff table.cmp th.us{width:100px;z-index:2}
 #handoff table.cmp .us{position:sticky;right:0;z-index:1;background:#20293b;box-shadow:-1px 0 rgba(255,255,255,.14)}
 #handoff table.cmp th.us .mach-wordmark{width:82px}
 section.home-platform{padding:54px 0 62px}
 .home-platform-logo{width:150px}
 .home-platform h2{font-size:clamp(35px,9vw,45px)}
 .home-platform-intro{grid-template-columns:1fr;gap:23px;margin:20px 0 29px}
 .home-platform-integrations{justify-self:start}
 .home-platform-chart{min-height:320px}
 .home-platform-chart picture img{width:100%}
 .home-platform-answer{padding:23px}
 .home-platform-answer h3{margin:13px 0 18px}
 .home-platform-promise{margin-top:22px}
 .home-platform-note{text-align:left}
 section.home-practices{padding:40px 0 58px}
 .home-practices .sec-head{margin-bottom:32px}
 .home-practices .ptiles.p4 a.tile{min-height:clamp(330px,75vw,380px)}
 .home-closing{min-height:850px}
 .home-closing-art{object-position:70% center}
 .home-closing-inner{gap:18px;padding-top:24px;padding-bottom:24px}
 .home-closing-logo{filter:drop-shadow(0 0 12px #050506) drop-shadow(0 0 8px #050506)}
 .home-closing-panel{padding:20px 22px 10px;border-radius:25px}
 .home-closing-grid{grid-template-columns:1fr;margin-top:12px}
 .home-closing-outcome,.home-closing-outcome+.home-closing-outcome{min-height:0;padding:16px 0 31px;border-left:0}
 .home-closing-outcome+.home-closing-outcome{border-top:1px solid #41414a}
 .home-closing-outcome h3{font-size:28px}
 .home-closing-outcome p{font-size:16px;margin-top:6px}
 .home-closing-outcome::after,.home-closing-outcome+.home-closing-outcome::after{bottom:12px;left:0;width:58px}
}
@media(max-width:360px){
 #handoff table.cmp th:first-child{width:120px}
 #handoff table.cmp th.us{width:86px}
 #handoff table.cmp th.us .mach-wordmark{width:72px}
 .home-platform-top{align-items:flex-start;flex-direction:column;gap:14px}
}
