/* MakoHire site styles. Tokens come from the MakoHire Brand Guide (Indigo & Sage, October 2026):
   warm neutrals first, Indigo for emphasis, Sage as decoration only (never text). Inter only. */
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --mh-indigo:#3F51B5; --mh-sage:#87A96B; --mh-graphite:#2F2F2F; --mh-warm-gray:#6D6D6D; --mh-beige:#F5F3EF; --mh-cream:#FEFEFE;
  --mh-indigo-050:#F3F4FA; --mh-indigo-100:#EBEDF7; --mh-indigo-200:#D4D8EE; --mh-indigo-700:#344294; --mh-indigo-800:#2C397F; --mh-indigo-900:#232D64;
  --mh-sage-200:#DAE4D2; --mh-sage-700:#5A7745;
  --mh-beige-200:#ECE8E1; --mh-beige-300:#E2DDD4; --mh-beige-400:#CFC8BC;
  --font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --radius-md:10px; --radius-lg:16px; --radius-xl:24px;
  --shadow-lg:0 16px 40px rgba(47,47,47,.10),0 4px 10px rgba(47,47,47,.05);
  --ease:cubic-bezier(.2,0,0,1); --dur:180ms;
  --head-h:84px; --gutter:24px;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mh-cream);color:var(--mh-graphite);font-family:var(--font-sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,address{margin:0}
address{font-style:normal}
h1,h2,h3{text-wrap:balance}
ul,ol{margin:0;padding:0}
a{color:var(--mh-indigo);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--mh-indigo-700);text-decoration-thickness:2px}
:focus-visible{outline:3px solid rgba(63,81,181,.5);outline-offset:2px;border-radius:4px}
::selection{background:var(--mh-indigo-200)}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--mh-indigo);color:var(--mh-cream);padding:10px 16px;border-radius:var(--radius-md);font-weight:600}
.skip:focus{top:12px;color:var(--mh-cream)}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}

/* Type */
.eyebrow,.foot-label,.menu-label{font-size:13px;line-height:1.2;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mh-indigo)}
.display{font-size:clamp(40px,5.2vw,64px);line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--mh-indigo);text-wrap:balance}
.lead,.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--mh-warm-gray);text-wrap:pretty}
.rule{display:block;width:64px;height:4px;border-radius:2px;background:var(--mh-indigo)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;padding:13px 20px;border:0;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.btn:hover{text-decoration:none}
.btn-lg{padding:15px 24px;font-size:17px}
.btn-sm{padding:10px 16px;font-size:15px}
.btn-primary{background:var(--mh-indigo);color:var(--mh-cream)}
.btn-primary:hover{background:var(--mh-indigo-700);color:var(--mh-cream)}
.btn-secondary{background:transparent;color:var(--mh-indigo);box-shadow:inset 0 0 0 1.5px var(--mh-indigo-200)}
.btn-secondary:hover{background:var(--mh-indigo-050);color:var(--mh-indigo)}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* Header: always Cream, full-color lockup with clear space of half its height */
.site-head{position:relative;z-index:30;background:var(--mh-cream);border-bottom:1px solid var(--mh-beige-300)}
.head-row{display:flex;align-items:center;gap:40px;min-height:var(--head-h);padding-block:21px}
.logo{flex:none;display:block;line-height:0}
.logo img{width:184px;height:auto}
.nav{display:flex;gap:24px}
.nav a{font-size:14px;font-weight:600;color:var(--mh-graphite);text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--mh-indigo)}
.head-cta{margin-left:auto}
.menu{display:none}
.menu>summary{list-style:none;cursor:pointer;font-size:15px;font-weight:600;padding:10px 16px;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1.5px var(--mh-beige-400);color:var(--mh-graphite)}
.menu>summary::-webkit-details-marker{display:none}
.menu[open]>summary{background:var(--mh-beige)}
.menu-panel{position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - var(--head-h));overflow:auto;background:var(--mh-cream);border-bottom:1px solid var(--mh-beige-300);box-shadow:var(--shadow-lg);padding:8px max(var(--gutter),env(safe-area-inset-right,0px)) 28px max(var(--gutter),env(safe-area-inset-left,0px))}
.menu-label{margin:20px 0 4px}
.menu-panel ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.menu-panel li a{display:block;padding:9px 0;color:var(--mh-graphite);text-decoration:none;font-weight:500}
.menu-panel li a:hover{color:var(--mh-indigo)}
.menu-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media (min-width:1081px){.site-head{position:sticky;top:0;background:rgba(254,254,254,.95);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}
@media (max-width:1080px){.nav{display:none}.menu{display:block}.head-row{gap:16px}}

/* Hero: the clip fills the first screen and the copy sits on it. An Indigo scrim (the guide's scrim,
   deepest where the text is) keeps Cream text readable on every frame while the footage still shows. */
.hero{display:flex;align-items:flex-end;min-height:min(calc(100vh - var(--head-h)),920px);min-height:min(calc(100svh - var(--head-h)),920px);background:var(--mh-indigo-900);color:var(--mh-cream)}
.hero .media{background:var(--mh-indigo-900)}
.hero .media-clip{object-position:57% 50%}
.hero .media::before{background:linear-gradient(90deg,rgba(35,45,100,.82) 0%,rgba(35,45,100,.68) 50%,rgba(35,45,100,.34) 78%,rgba(35,45,100,.2) 100%)}
.hero .media::after{background:linear-gradient(0deg,rgba(35,45,100,.6) 0%,rgba(35,45,100,0) 55%)}
.hero-inner{width:100%;padding-block:96px 88px}
.hero-copy{max-width:880px}
.kicker{font-size:17px;line-height:1.45;font-weight:600;max-width:32em}
.hero .rule{margin:24px 0 22px;background:var(--mh-sage)}
.hero .display{max-width:15ch;margin-bottom:22px;font-size:clamp(44px,5.6vw,78px);line-height:1.04;color:var(--mh-cream)}
.hero .lede{max-width:38em;color:var(--mh-cream)}
.hero .lede b{font-weight:700;color:var(--mh-cream)}
.hero .actions{margin:30px 0 14px}
.hero .btn-primary{background:var(--mh-cream);color:var(--mh-indigo)}
.hero .btn-primary:hover{background:var(--mh-indigo-100);color:var(--mh-indigo)}
.hero .btn-secondary{color:var(--mh-cream);box-shadow:inset 0 0 0 1.5px rgba(254,254,254,.6)}
.hero .btn-secondary:hover{background:rgba(254,254,254,.1);color:var(--mh-cream)}
.hero :focus-visible{outline-color:rgba(254,254,254,.85)}
.lede b{font-weight:600;color:var(--mh-graphite)}
.note{font-size:14px;line-height:1.4;color:var(--mh-warm-gray)}
.hero .note{color:var(--mh-cream)}

.field{position:absolute;border-radius:50%;pointer-events:none}
/* Story: four steps beside the model, in normal flow. Without JavaScript every step is open;
   with it, one step is open at a time and opening one moves the model to that moment. */
.story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.story-steps{border-top:1px solid var(--mh-beige-300)}
.story-step{padding-block:18px;border-bottom:1px solid var(--mh-beige-300)}
.step-when{display:block;margin-bottom:4px;font-size:14px;line-height:1.3;font-weight:600;color:var(--mh-indigo)}
.step-title{display:block;font-size:clamp(20px,1.9vw,24px);line-height:1.25;font-weight:700;letter-spacing:-.015em;color:var(--mh-graphite);transition:color var(--dur) var(--ease)}
.step-body{padding-top:12px}
.step-body p{margin-bottom:12px}
.step-body p:last-child{margin-bottom:0}
.step-cta{margin-top:18px}
.step-btn{position:relative;display:block;width:100%;padding:0 44px 0 0;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}
.step-btn::after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;border-right:2px solid var(--mh-indigo);border-bottom:2px solid var(--mh-indigo);transform:translateY(-70%) rotate(45deg);transition:transform var(--dur) var(--ease)}
.story-step.is-open .step-btn::after{transform:translateY(-25%) rotate(-135deg)}
.story-step.is-open .step-title,.step-btn:hover .step-title{color:var(--mh-indigo)}
.story-step.is-open .step-btn{cursor:default}
.story-stage{min-width:0}
.story-paths{margin-top:64px}
.story-paths h3{margin-bottom:12px;font-size:20px;line-height:1.3;font-weight:700}
.paths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;margin-top:0}
.dots{list-style:none;display:grid;gap:10px;margin-top:4px}
.dots li{display:flex;gap:14px}
.dots li::before{content:"";flex:none;width:10px;height:10px;margin-top:.6em;border-radius:50%;background:var(--mh-sage)}
.paths{list-style:none;margin-top:12px;border-top:1px solid var(--mh-beige-300)}
.paths li{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--mh-beige-300)}
.paths a{font-weight:600;text-decoration:none}
.paths a:hover{text-decoration:underline}
.paths span{font-size:15px;line-height:1.45;color:var(--mh-warm-gray)}

/* The model: a utility system as five CSS 3D slabs. The resting state is the finished one. */
.model{position:relative;isolation:isolate;background:var(--mh-indigo-900);border-radius:var(--radius-xl);overflow:hidden;color:var(--mh-cream)}
.model .media{background:var(--mh-indigo-900)}
.model .media::before{background:var(--mh-indigo);mix-blend-mode:color}
.model .media::after{background:linear-gradient(180deg,rgba(35,45,100,.2) 0%,rgba(35,45,100,.5) 65%,rgba(35,45,100,.85) 100%)}
.model>figcaption,.model>.scene,.model>.timeline,.model>.legend{position:relative;z-index:2}
.model .motion-btn{top:14px;right:14px;bottom:auto}
.model-title{display:block;padding:22px 150px 0 26px;font-size:14px;line-height:1.4;font-weight:600}
.cap{display:none}
.model[data-state="owned"] .cap-owned,.model[data-state="gone"] .cap-gone,.model[data-state="gap"] .cap-gap,.model[data-state="seats"] .cap-seats,.model[data-state="handover"] .cap-handover{display:inline}
.scene{position:relative;height:clamp(260px,46vh,390px);perspective:1600px;perspective-origin:50% 20%}
.world{position:absolute;left:50%;top:47%;width:0;height:0;transform-style:preserve-3d;--s:1.04;transform:scale(calc(var(--s) * (1 + var(--p, 0) * .06))) rotateX(calc(57deg - var(--p, 0) * 5deg)) rotateZ(calc(-33deg + var(--p, 0) * 12deg))}
.tiles{position:absolute;inset:0;list-style:none;transform-style:preserve-3d}
.tile{position:absolute;left:-165px;width:330px;height:54px;top:calc(-178px + var(--i) * 72px);transform-style:preserve-3d}
.cube{position:absolute;inset:0;--h:12px;transform-style:preserve-3d}
.cube>.t{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 14px;border-radius:3px;background:var(--mh-cream);box-shadow:inset 0 0 0 1px var(--mh-beige-300);transform:translateZ(var(--h));transition:background-color .5s var(--ease)}
.cube>i{position:absolute;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cube>.f{left:0;right:0;bottom:0;height:var(--h);background:var(--mh-beige-300);transform-origin:50% 100%;transform:rotateX(-90deg)}
.cube>.l{left:0;top:0;bottom:0;width:var(--h);background:var(--mh-beige-200);transform-origin:0 50%;transform:rotateY(-90deg)}
.cube>.r{right:0;top:0;bottom:0;width:var(--h);background:var(--mh-beige-400);transform-origin:100% 50%;transform:rotateY(90deg)}
.t-name{font-size:14px;line-height:1.2;font-weight:600;color:var(--mh-graphite);transition:color .5s var(--ease)}
.t-sys{font-size:12px;line-height:1.3;color:var(--mh-warm-gray)}
.pin{position:absolute;bottom:50%;width:16px;height:32px;margin-left:-8px;transform-origin:50% 100%;transform:translateZ(calc(12px + var(--lift, 0px))) rotateZ(calc(33deg - var(--p, 0) * 12deg)) rotateX(-90deg)}
.pin::before,.pin::after{content:"";position:absolute;left:50%;transform:translateX(-50%)}
.pin::before{top:0;width:11px;height:11px;border-radius:50%}
.pin::after{bottom:0;width:16px;height:18px;border-radius:8px 8px 3px 3px}
.pin-prog{left:226px;opacity:.5;transition:opacity .6s var(--ease),transform .8s var(--ease)}
.pin-prog::before,.pin-prog::after{box-shadow:inset 0 0 0 1.5px var(--mh-cream)}
.pin-own{left:294px;transition:opacity .5s var(--ease),transform .7s var(--ease)}
.pin-own::before,.pin-own::after{background-color:var(--mh-sage);box-shadow:inset 0 0 0 1.5px var(--mh-sage);transition:background-color .5s var(--ease),box-shadow .5s var(--ease)}
.thread{position:absolute;left:226px;width:68px;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:var(--mh-sage);transform-origin:0 50%;transform:translateZ(12.5px);transition:transform .5s var(--ease)}
.timeline{--go:60%;--now:calc(var(--go) - 12%);padding:24px 26px 0}
.track{position:relative;height:12px}
.track::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;border-radius:1px;background:rgba(254,254,254,.32)}
.window{position:absolute;left:calc(var(--go) - 24%);width:24%;top:4px;height:4px;border-radius:2px;background:var(--mh-sage);transform-origin:0 50%;transition:opacity .5s var(--ease)}
.golive{position:absolute;left:var(--go);top:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--mh-cream)}
.now{position:absolute;z-index:1;top:-4px;left:var(--now);width:20px;height:20px;margin-left:-10px;border-radius:50%;border:2px solid var(--mh-cream);background:rgba(135,169,107,.55);transition:left .8s var(--ease)}
.now span{font-style:normal;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:11px;line-height:1;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mh-cream);white-space:nowrap}
.cube{transition:transform .6s var(--ease)}
.model .media-clip{transition:opacity .6s var(--ease)}
.phases{position:relative;height:18px;margin-top:8px;font-size:12px;line-height:18px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mh-indigo-200)}
.phases span{position:absolute;top:0;white-space:nowrap;transition:color .5s var(--ease)}
.ph-prog{left:0}
.ph-go{left:var(--go);transform:translateX(-50%);color:var(--mh-cream)}
.ph-after{right:0}
.legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;padding:14px 26px 20px;border-top:1px solid rgba(254,254,254,.16);font-size:13px;line-height:1.4;color:var(--mh-indigo-200)}
.legend li{display:inline-flex;align-items:center;gap:8px}
.k{flex:none;display:inline-block}
.k-prog,.k-own{width:10px;height:14px;border-radius:5px 5px 2px 2px}
.k-prog{box-shadow:inset 0 0 0 1.5px var(--mh-cream);opacity:.75}
.k-own{background:var(--mh-sage)}
.k-thread{width:16px;height:2px;border-radius:2px;background:var(--mh-sage)}
.k-window{width:16px;height:4px;border-radius:2px;background:var(--mh-sage)}

/* Story states, set by site.js when a step opens. Without JavaScript the model stays finished. */
/* gone: the program team lifts off and leaves. gap: the slabs sink, the footage dims, nobody is there.
   seats: open seats hover over each slab. handover: owners land beside the program team and the threads draw. */
.world{transition:transform 1s var(--ease)}
.model[data-state="gone"]{--p:.25}
.model[data-state="gap"]{--p:.5}
.model[data-state="seats"]{--p:.75}
.model[data-state="handover"]{--p:1}
.model[data-state="gone"] .pin-prog{opacity:0;--lift:64px}
.model[data-state="gap"] .pin-prog,.model[data-state="seats"] .pin-prog{opacity:0;--lift:64px}
.model[data-state="handover"] .pin-prog{opacity:1}
.model[data-state="gone"] .pin-own,.model[data-state="gap"] .pin-own{opacity:0;--lift:40px}
.model[data-state="seats"] .pin-own{--lift:26px}
.model[data-state="gone"] .thread,.model[data-state="gap"] .thread,.model[data-state="seats"] .thread{transform:translateZ(12.5px) scaleX(0)}
.model[data-state="gap"] .cube{transform:translateZ(-10px)}
.model[data-state="gap"] .cube>.t{background:var(--mh-beige)}
.model[data-state="gap"] .t-name{color:var(--mh-warm-gray)}
.model[data-state="gap"] .media-clip{opacity:.3}
.model[data-state="seats"] .pin-own::before,.model[data-state="seats"] .pin-own::after{background-color:transparent;box-shadow:inset 0 0 0 1.5px var(--mh-sage)}
.model[data-state="gone"] .window,.model[data-state="gap"] .window{opacity:.35}
.model[data-state="handover"] .window{box-shadow:0 0 0 3px rgba(135,169,107,.35)}
.model[data-state="gone"] .timeline{--now:var(--go)}
.model[data-state="gap"] .timeline{--now:calc(var(--go) + 26%)}
.model[data-state="seats"] .timeline{--now:calc(var(--go) - 38%)}
.model[data-state="gap"] .ph-after{color:var(--mh-cream)}
.model[data-state="seats"] .ph-prog{color:var(--mh-cream)}

/* Bands */
.band{padding-block:clamp(64px,8vw,104px)}
.band-beige{background:var(--mh-beige)}
/* Two plain Cream bands in a row share one gap instead of stacking two */
.band:not(.band-beige):not(.has-media)+.band:not(.band-beige):not(.has-media){padding-top:0}
.section-head{display:grid;gap:12px;max-width:46em;margin-bottom:40px}
.section-head h2{font-size:clamp(28px,3vw,36px);line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--mh-graphite)}
/* How a search runs: the timeline rail from the model, four stops in order */
.rail-steps{position:relative;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-top:52px;counter-reset:stop}
.rail-steps li:not(:last-child)::after{content:"";position:absolute;left:32px;right:-32px;top:-37px;height:2px;background:var(--mh-sage)}
.rail-steps li{position:relative;counter-increment:stop}
.rail-steps li::before{content:counter(stop);position:absolute;left:0;top:-52px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--mh-cream);box-shadow:inset 0 0 0 2px var(--mh-indigo);color:var(--mh-indigo);font-size:14px;font-weight:700}
.rail-steps h3,.who h3{margin-bottom:8px;font-size:20px;line-height:1.3;font-weight:700;color:var(--mh-graphite)}
.rail-steps p{font-size:16px;line-height:1.55}
.proof{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px;margin-top:56px;padding-top:28px;border-top:1px solid var(--mh-beige-400)}
.proof-line{max-width:26ch;text-wrap:balance;font-size:clamp(28px,3.2vw,40px);line-height:1.15;font-weight:800;letter-spacing:-.025em;color:var(--mh-indigo)}
.proof-link{font-size:16px;font-weight:600}
/* Engagement models: a spec sheet, with the same rows lined up across the three models */
.spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto)}
.spec-col{display:grid;grid-row:span 4;grid-template-rows:subgrid;padding:0 28px;border-left:1px solid var(--mh-beige-300)}
.spec-col:first-child{padding-left:0;border-left:0}
.spec-col h3{padding-bottom:16px;font-size:22px;line-height:1.25;font-weight:700;color:var(--mh-indigo)}
.spec-col p{padding-block:14px;border-top:1px solid var(--mh-beige-300);font-size:16px;line-height:1.55}
.spec-label{display:block;margin-bottom:4px;font-size:14px;font-weight:600;color:var(--mh-warm-gray)}
.fine{margin-top:24px;max-width:60em;font-size:15px;line-height:1.55;color:var(--mh-warm-gray)}
/* Who it's for: three columns of text under a Sage rule, straight on the band */
.who{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.who li{padding-top:20px;border-top:2px solid var(--mh-sage)}
.who p{font-size:17px;line-height:1.55}
.on-dark .who h3{color:var(--mh-cream)}
.on-dark .who p{color:var(--mh-indigo-200)}
.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;align-items:start}
.faq{border-top:1px solid var(--mh-beige-300)}
.faq-item{border-bottom:1px solid var(--mh-beige-300)}
.faq-item>summary{position:relative;list-style:none;cursor:pointer;padding:20px 44px 20px 0;font-size:18px;line-height:1.4;font-weight:600}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;border-right:2px solid var(--mh-indigo);border-bottom:2px solid var(--mh-indigo);transform:translateY(-70%) rotate(45deg);transition:transform var(--dur) var(--ease)}
.faq-item[open]>summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq-item>p{padding:0 0 22px;max-width:60em;font-size:17px;color:var(--mh-warm-gray)}

/* Closing call band: the one Indigo ground, deepening toward the bottom */
.call-band{overflow:hidden;background:linear-gradient(180deg,var(--mh-indigo) 0%,var(--mh-indigo-800) 100%);color:var(--mh-cream);padding-block:clamp(72px,8vw,104px)}
.call-band .media{background:var(--mh-indigo-800)}
.call-band .media::after{background:linear-gradient(180deg,rgba(44,57,127,.88) 0%,rgba(35,45,100,.94) 100%)}
.call-band .field-ring{z-index:1;width:520px;height:520px;right:-120px;bottom:-300px;border:3px solid var(--mh-sage)}
.call-copy{max-width:40em}
.call-band .rule{background:var(--mh-sage)}
.call-band h2{margin:22px 0 16px;font-size:clamp(30px,3.6vw,44px);line-height:1.15;font-weight:800;letter-spacing:-.025em;color:var(--mh-cream)}
.call-copy p{font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--mh-indigo-200)}
.call-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;max-width:44em}
.call-band .btn-primary{background:var(--mh-cream);color:var(--mh-indigo)}
.call-band .btn-primary:hover{background:var(--mh-indigo-100);color:var(--mh-indigo)}
.call-band .btn-secondary{color:var(--mh-cream);box-shadow:inset 0 0 0 1.5px rgba(254,254,254,.5)}
.call-band .btn-secondary:hover{background:rgba(254,254,254,.08);color:var(--mh-cream)}
.call-direct{flex-basis:100%;margin-top:6px;font-size:15px;color:var(--mh-indigo-200)}
.call-direct a{color:var(--mh-cream)}
.call-band :focus-visible{outline-color:rgba(254,254,254,.8)}

/* Background media: muted looping clips with a poster. Under reduced motion only the poster shows. */
.has-media{position:relative;isolation:isolate}
.media{position:absolute;inset:0;overflow:hidden;background:var(--mh-beige)}
.media-clip{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.media::before,.media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.has-media>.wrap{position:relative;z-index:2}
.motion-btn{position:absolute;z-index:3;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border:0;border-radius:999px;font:inherit;font-size:13px;line-height:1;font-weight:600;background:rgba(254,254,254,.92);color:var(--mh-graphite);box-shadow:0 0 0 1px var(--mh-beige-300);cursor:pointer}
.motion-btn[hidden]{display:none}
.motion-btn::before{content:"";flex:none;width:9px;height:10px;background:linear-gradient(90deg,currentColor 0 3px,transparent 3px 6px,currentColor 6px 9px)}
.motion-btn[data-paused]::before{width:0;height:0;border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent currentColor;background:none}
.motion-btn:hover{background:var(--mh-cream)}
.on-dark .motion-btn,.model .motion-btn{background:rgba(35,45,100,.75);color:var(--mh-cream);box-shadow:0 0 0 1px rgba(254,254,254,.3)}
.on-dark .motion-btn:hover,.model .motion-btn:hover{background:rgba(35,45,100,.95)}
.band.has-media{padding-bottom:clamp(88px,9vw,120px)}
.band-how .media::after{background:linear-gradient(90deg,rgba(245,243,239,.96) 0%,rgba(245,243,239,.9) 50%,rgba(245,243,239,.84) 100%)}
.band-who .media{background:var(--mh-indigo-900)}
.band-who .media::after{background:linear-gradient(180deg,rgba(35,45,100,.8) 0%,rgba(35,45,100,.88) 100%)}
.on-dark .section-head h2{color:var(--mh-cream)}
.on-dark .section-head .eyebrow,.on-dark .section-head .lead{color:var(--mh-indigo-200)}

/* People band: two stills */
.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.people-grid img{width:100%;height:auto;border-radius:var(--radius-lg)}
.people-link{margin-top:20px;font-weight:600}

/* Inner pages: breadcrumb, page head, prose, role lists */
.crumbs{padding-top:20px;font-size:14px;line-height:1.4;color:var(--mh-warm-gray)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--mh-beige-400)}
.crumbs a{color:var(--mh-warm-gray);text-decoration:none}
.crumbs a:hover{color:var(--mh-indigo);text-decoration:underline}
.page-head{padding-block:36px 64px}
.page-head h1{max-width:22ch;font-size:clamp(36px,4.6vw,56px);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--mh-indigo);text-wrap:balance}
.page-head .lead{max-width:40em;margin-top:18px}
.page-head .actions{margin-top:28px}
.page-head .note{margin-top:14px;color:var(--mh-warm-gray)}
.prose{max-width:44em}
.prose h2{margin:48px 0 14px;font-size:clamp(26px,2.6vw,32px);line-height:1.2;font-weight:700;letter-spacing:-.02em}
.prose h2:first-child{margin-top:0}
.prose h3{margin:28px 0 8px;font-size:20px;line-height:1.3;font-weight:700}
.prose p,.prose ul,.prose ol{margin-bottom:16px}
.prose ul{list-style:none;display:grid;gap:10px}
.prose ul li{display:flex;gap:14px}
.prose ul li::before{content:"";flex:none;width:10px;height:10px;margin-top:.6em;border-radius:50%;background:var(--mh-sage)}
.prose ol{padding-left:22px}
.prose ol li{margin-bottom:8px;padding-left:4px}
.article-body{padding-bottom:clamp(64px,8vw,104px)}
.roles{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;border-top:1px solid var(--mh-beige-300)}
.roles li{padding-block:22px;border-bottom:1px solid var(--mh-beige-300)}
.roles h3{margin-bottom:6px;font-size:20px;line-height:1.3;font-weight:700}
.roles p{font-size:16px;line-height:1.55;color:var(--mh-warm-gray)}
.roles p+p{margin-top:8px}
.roles .need{color:var(--mh-graphite)}
.roles .need b{font-weight:600;color:var(--mh-indigo)}
.band-beige .roles,.band-beige .roles li{border-color:var(--mh-beige-400)}
.band-beige .roles p{color:var(--mh-graphite)}

/* Contact page and inquiry form */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:start}
.contact-form h2,.contact-side h2{margin-bottom:10px;font-size:24px;line-height:1.25;font-weight:700}
.contact-side{display:grid;gap:32px;padding-top:4px}
.inquiry{display:grid;gap:18px;margin-top:24px;padding:28px;background:var(--mh-cream);border-radius:var(--radius-lg)}
.form-row{display:grid;gap:6px;min-width:0;margin:0;padding:0;border:0}
.form-row>label,.form-row>legend{padding:0;font-size:15px;font-weight:600}
.radios{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:6px}
.radios label{display:inline-flex;align-items:center;gap:8px;font-size:16px}
.radios input{width:18px;height:18px;accent-color:var(--mh-indigo)}
.inquiry input[type="text"],.inquiry input[type="email"],.inquiry select,.inquiry textarea{width:100%;padding:12px 14px;font:inherit;font-size:16px;color:var(--mh-graphite);background:var(--mh-cream);border:1px solid var(--mh-beige-400);border-radius:var(--radius-md)}
.inquiry textarea{resize:vertical}
.inquiry ::placeholder{color:#8A8A8A}
.inquiry button[disabled]{opacity:.7;cursor:progress}
.hint{font-size:14px;line-height:1.45;color:var(--mh-warm-gray)}
.form-status{font-size:15px;line-height:1.5}
.form-status:empty{display:none}
.form-status.is-ok{color:var(--mh-sage-700)}
.form-status.is-error{color:#B23A3A}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Footer */
.site-foot{background:var(--mh-beige);border-top:1px solid var(--mh-beige-300);padding-block:56px 28px;font-size:15px;line-height:1.55}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px}
.foot-brand{display:grid;gap:14px;align-content:start;color:var(--mh-warm-gray)}
.foot-contact a{color:var(--mh-graphite)}
.foot-label{margin-bottom:12px}
.foot-col ul{list-style:none;display:grid;gap:8px}
.foot-col a{color:var(--mh-graphite);text-decoration:none}
.foot-col a:hover{color:var(--mh-indigo);text-decoration:underline}
.foot-base{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:40px;padding-top:20px;font-size:14px;color:var(--mh-warm-gray)}
.foot-base::before{content:"";position:absolute;top:0;left:max(var(--gutter),env(safe-area-inset-left,0px));right:max(var(--gutter),env(safe-area-inset-right,0px));height:1px;background:var(--mh-beige-300)}
.link-btn{font:inherit;font-size:14px;padding:0;border:0;background:none;color:var(--mh-indigo);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}

/* Analytics choices banner (built by mh.js) */
.consent{position:fixed;z-index:60;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:560px;margin:0 auto;padding:20px;background:var(--mh-cream);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px var(--mh-beige-300)}
.consent p{font-size:14px;line-height:1.55}
.consent-note{display:block;margin-top:4px;color:var(--mh-warm-gray)}
.consent .actions{margin-top:14px}
.consent .btn{padding:10px 16px;font-size:15px}

/* 404 */
.notfound{padding-block:clamp(64px,10vw,120px)}
.notfound .display{margin:20px 0 18px}
.notfound .lead{max-width:34em;margin-bottom:28px}
.notfound .paths{max-width:36em}

/* Short screens: a slightly smaller model */
@media (min-width:981px) and (max-height:820px){.world{--s:.92}}
@media (min-width:981px) and (max-height:700px){.world{--s:.8}.model-title{display:none}}

@media (max-width:980px){
  .hero{min-height:calc(100vh - var(--head-h));min-height:calc(100svh - var(--head-h))}
  .hero .media::before{background:linear-gradient(180deg,rgba(35,45,100,.64) 0%,rgba(35,45,100,.72) 40%,rgba(35,45,100,.9) 100%)}
  .hero .media::after{background:none}
  .hero-inner{padding-block:48px 80px}
  .story-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .story-stage{order:-1}
  .paths-grid{grid-template-columns:minmax(0,1fr)}
  .model-title{display:none}
  .scene{height:250px}
  .world{--s:.74}
  .timeline{padding-top:20px}
  .legend{margin-top:10px;padding:10px 26px 12px;gap:4px 16px;font-size:12px}
  .faq-wrap{grid-template-columns:minmax(0,1fr)}
  .roles{grid-template-columns:minmax(0,1fr)}
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .rail-steps{grid-template-columns:minmax(0,1fr);gap:28px;padding:0 0 0 52px}
  .rail-steps li:not(:last-child)::after{left:-37px;right:auto;top:29px;bottom:-28px;width:2px;height:auto}
  .rail-steps li::before{left:-52px;top:-3px}
  .spec{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .spec-col{grid-row:auto;grid-template-rows:none;padding:0;border-left:0}
  .spec-col+.spec-col{margin-top:36px}
  .faq-wrap{gap:0}
  .who{grid-template-columns:minmax(0,1fr);gap:24px}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-brand{grid-column:1 / -1}
}
@media (max-width:600px){
  :root{--gutter:16px}
  body{font-size:16px}
  .menu-panel ul{grid-template-columns:minmax(0,1fr)}
  .scene{height:235px}
  .world{--s:.72}
  .timeline{--go:52%;padding-inline:18px}
  .legend{padding-inline:18px}
  .phases{font-size:11px;letter-spacing:.08em}
  .call-band .field{display:none}
  .faq-item>summary{font-size:17px}
  .faq-item>p{font-size:16px}
  .model .motion-btn{gap:0;padding:9px;font-size:0;top:10px;right:10px}
}
@media (max-width:700px){.people-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.head-cta{display:none}.menu{margin-left:auto}}
@media (max-width:400px){.world{--s:.64}.scene{height:215px}.foot-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important}.motion-btn{display:none}}
