:root{
  --teal-900:#0B4A42;--teal-800:#105A51;--teal-700:#156B60;--teal-600:#1A7A6E;--teal-500:#268F83;
  --teal-300:#80C0B8;--teal-200:#B3D9D4;--teal-100:#DDF2EF;--teal-50:#F0FAF8;
  --ink:#1F2937;--dim:#596B68;--muted:#596B68;--line:#DCE9E6;--line-strong:#BFD8D3;
  --white:#FFFFFF;--off:#FAFCFB;--warm:#F7F4EE;--amber:#A8742A;--amber-ink:#8A5E1F;--red:#B64D4D;
  --shadow-1:0 2px 8px rgba(23,61,56,.06);--shadow-2:0 18px 55px rgba(23,61,56,.12);
  --radius:12px;--max:1400px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:88px;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  /* TEXT MEASURE SCALE — see the rule block below. Always px, never ch. */
  --measure-tight:560px;--measure:840px;--measure-wide:1040px
}

/* ============================================================================
   TEXT MEASURE RULE (inHR) — one column, one right edge.

   1. The measure belongs to the COLUMN, not the element. A content column sets
      --tm once; every text block inside inherits it, so all end on the same
      right edge. Indented blocks subtract their own inset with calc(), e.g.
      the journey rail: max-width:calc(var(--tm) - 90px).
   2. ALWAYS px, NEVER ch. A ch cap scales with font-size, so the same "65ch"
      rule applied to 16.8px body copy and 13.8px notes produces right edges
      130px apart. That mixing is what made the pages look ragged.
   3. The scale:
        --measure-tight   560px  captions, notes, secondary/aside copy
        --measure         840px  DEFAULT: body copy AND the headings above it
        --measure-wide   1040px  lead paragraphs and wide single-column sections
      The measure must FILL its column. A measure far narrower than the column
      it sits in leaves a hole that reads as broken, which is worse than a
      slightly long line. Raise the measure a step, or narrow the column.
      (660px was tried first and rejected on sight: the training column is
      ~950px, so it left ~290px of dead space beside the body copy.)
   4. The measure caps TEXT, not structure. Cards, bands, rules and grids span
      the full column; the text inside them obeys the measure relative to their
      own content box. Two clean verticals (column edge + measure edge) read as
      deliberate; seven random ones read as broken.
   5. Exceptions, tuned per component, not covered by the measure:
      - display H1s and hero leads (one or two line headlines, not reading text)
      - CTA-band headlines
      - multi-column grids, where each cell is its own column
   ========================================================================== */
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--white);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto}.skip{position:fixed;left:16px;top:-100px;background:var(--teal-800);color:#fff;padding:10px 14px;border-radius:6px;z-index:9999}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--teal-300);outline-offset:3px}
.nav{position:relative;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.nav-inner,.nav>.wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-size:1.55rem;font-weight:800;letter-spacing:-.05em;color:var(--ink)}.brand span{color:var(--teal-600)}.nav-links{display:flex;align-items:center;gap:30px;font-size:.94rem;font-weight:600}.nav-links a{transition:color .15s ease}.nav-links a:hover,.nav-links a.active{color:var(--teal-700)}.nav-cta{border:1px solid var(--teal-700);color:var(--teal-800)!important;padding:10px 16px;border-radius:7px}.nav-cta:hover{background:var(--teal-50)}
.statusbar{background:var(--teal-50);color:var(--dim);font-size:.75rem;border-bottom:1px solid var(--line)}.statusbar .wrap{min-height:32px;display:flex;gap:16px;align-items:center;justify-content:center}.statusbar .sep{opacity:.35}.live{color:var(--teal-300)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal-300);margin-right:6px}
.eyebrow{color:var(--teal-700);font-size:.76rem;line-height:1.2;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px}.hero{border:0}.light-hero{position:relative;overflow:hidden;padding:88px 0 72px;background:radial-gradient(ellipse at 78% 78%,#D8F5F1 0,rgba(240,250,248,.78) 28%,rgba(255,255,255,0) 65%),linear-gradient(#fff,#fff)}.light-hero::after{content:'';position:absolute;width:900px;height:420px;border:2px solid rgba(128,192,184,.24);border-radius:50%;right:-100px;bottom:-280px}.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center}.hero h1,.subhero h1{font-size:clamp(2.8rem,5vw,4.7rem);line-height:1.04;letter-spacing:-.055em;max-width:14ch}.lead{font-size:clamp(1.08rem,1.4vw,1.27rem);line-height:1.65;color:var(--dim);max-width:62ch}.hero .lead{margin-top:24px;max-width:58ch}.cta-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border-radius:7px;font-weight:700;font-size:.94rem;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--teal-700);color:#fff;box-shadow:var(--shadow-1)}.btn-primary:hover{background:var(--teal-800);box-shadow:var(--shadow-2)}.btn-secondary{border:1px solid var(--teal-700);color:var(--teal-800);background:#fff}.btn-secondary:hover{background:var(--teal-50)}.text-link{color:var(--teal-800);font-weight:700;border-bottom:1px solid var(--teal-300);padding-bottom:2px}.trust-line{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:36px;color:var(--muted);font-size:.82rem;font-weight:600}.trust-line span+span::before{content:'·';margin-right:22px;color:var(--teal-300)}
.hero-product{position:relative}.browser-frame{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-2);overflow:hidden;transform:rotate(1deg)}.frame-bar{height:42px;padding:0 14px;display:flex;align-items:center;gap:7px;background:var(--off);border-bottom:1px solid var(--line)}.frame-bar span{width:8px;height:8px;border-radius:50%;background:var(--teal-200)}.frame-bar b{margin-left:auto;margin-right:auto;font-size:.72rem;color:var(--muted);font-weight:600}.browser-frame img{width:100%;aspect-ratio:1.6;object-fit:cover;object-position:top}.product-caption{max-width:490px;margin:18px auto 0;color:var(--dim);font-size:.9rem}.product-caption strong{color:var(--ink)}
.question-band{background:var(--teal-100);color:var(--ink);padding:34px 0;border-top:1px solid var(--teal-200);border-bottom:1px solid var(--teal-200)}.question-band .eyebrow{color:var(--teal-700);margin-bottom:20px}.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.question-grid p{padding:0 30px;font-size:1.02rem;font-weight:600;line-height:1.5;border-left:1px solid var(--teal-200)}.question-grid p:first-child{padding-left:0;border-left:0}
.section{padding:var(--s7) 0}.section-heading{max-width:760px;margin-bottom:44px}.section-heading h2,.split-copy h2,.feature-copy h2,.story-question h2,.final-cta h2,.paas-layout h2{font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.12;letter-spacing:-.045em}.section-heading>p:last-child{color:var(--dim);font-size:1.08rem;margin-top:15px}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}.split-copy>div:last-child{padding-top:30px}.split-copy>div:last-child p{color:var(--dim);font-size:1.08rem;margin-bottom:18px}.intro-section{background:var(--off)}
.model-section{background:var(--white)}.system-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;position:relative}.system-flow article{min-height:150px;padding:21px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-1);position:relative}.system-flow article:not(:last-child)::after{content:'→';position:absolute;right:-12px;top:50%;z-index:2;color:var(--teal-500);font-weight:800}.system-flow article.highlight{background:var(--teal-700);border-color:var(--teal-700);color:#fff;transform:translateY(-8px);box-shadow:var(--shadow-2)}.system-flow article span{font-size:.72rem;color:var(--teal-600);font-weight:800}.system-flow article.highlight span{color:var(--teal-100)}.system-flow h3{font-size:1.03rem;margin-top:28px;line-height:1.25}.system-flow p{font-size:.86rem;color:var(--muted);margin-top:5px}.system-flow .highlight p{color:var(--teal-100)}.system-rails{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.system-rails div{border-radius:8px;background:var(--teal-50);border:1px solid var(--teal-100);padding:16px 20px;display:flex;justify-content:space-between;gap:20px}.system-rails strong{color:var(--teal-800);font-size:.88rem}.system-rails span{color:var(--dim);font-size:.84rem;text-align:right}
.dashboard-story{background:linear-gradient(135deg,var(--teal-50),#fff 62%)}.feature-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:center}.feature-copy h2{margin-bottom:22px}.feature-copy>p:not(.eyebrow){color:var(--dim);font-size:1.07rem;margin-bottom:22px}.clean-list{list-style:none;margin:24px 0 28px;display:grid;gap:10px}.clean-list li{font-weight:650;padding-left:27px;position:relative}.clean-list li::before{content:'✓';position:absolute;left:0;color:var(--teal-600);font-weight:800}.dashboard-card{background:#fff;border:1px solid var(--line);padding:10px;border-radius:14px;box-shadow:var(--shadow-2)}.dashboard-card img{width:100%;border-radius:7px}.dashboard-note{display:flex;gap:10px;align-items:center;justify-content:center;padding:14px;color:var(--dim);font-size:.82rem}.dashboard-note span{color:var(--teal-700);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.dashboard-note b{color:var(--teal-400)}
.story-section{background:linear-gradient(135deg,var(--teal-100),var(--teal-50));color:var(--ink);border-top:1px solid var(--teal-200);border-bottom:1px solid var(--teal-200)}.story-section .eyebrow{color:var(--teal-700)}.story-question{display:grid;grid-template-columns:.45fr 1.55fr;gap:60px;align-items:start}.story-question h2{max-width:22ch}.story-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:52px;border:1px solid var(--teal-200);border-radius:14px;overflow:hidden;background:var(--teal-200)}.story-steps article,.story-steps article+article{padding:24px;background:rgba(255,255,255,.7);min-height:140px}.story-steps b{color:var(--teal-700);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.story-steps p{margin-top:10px;color:var(--dim);font-size:.94rem}
.proof-section{background:var(--white)}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-grid article{padding:36px 36px 36px 0}.proof-grid article+article{padding-left:36px;border-left:1px solid var(--line)}.proof-grid strong{font-size:2.55rem;line-height:1;color:var(--teal-700);letter-spacing:-.05em}.proof-grid p{margin-top:14px;color:var(--dim)}
.value-section{background:var(--off)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.value-grid a,.product-grid a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:var(--shadow-1);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.value-grid a:hover,.product-grid a:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--teal-300)}.value-grid span,.product-grid span{font-size:.72rem;color:var(--teal-700);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.value-grid h3,.product-grid h3{font-size:1.25rem;line-height:1.3;margin:28px 0 12px}.value-grid p,.product-grid p{color:var(--dim);font-size:.93rem}.value-grid b{display:block;margin-top:24px;color:var(--teal-700);font-size:.85rem}.value-grid i{font-style:normal}.paas-strip{margin-top:18px;background:var(--teal-100);border:1px solid var(--teal-200);border-radius:10px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.paas-strip span{display:block;color:var(--teal-700);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.paas-strip strong{display:block;margin-top:4px;font-size:1rem}
.final-cta{padding:64px 0;background:var(--teal-50);border-top:1px solid var(--teal-100)}.final-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}.final-cta h2{font-size:clamp(1.7rem,3vw,2.7rem)}
.subhero{padding:84px 0 76px}.subhero.pale{background:radial-gradient(ellipse at 80% 100%,#D7F3EF 0,rgba(240,250,248,.7) 35%,#fff 70%)}.subhero h1{max-width:30ch;font-size:clamp(2.6rem,4vw,3.9rem)}.subhero .lead{margin-top:24px;max-width:96ch}.solution-map{background:#fff}.map-list{border-top:1px solid var(--line)}.map-list article{display:grid;grid-template-columns:70px 1fr 120px;gap:26px;align-items:center;padding:26px 20px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.map-list article>span{font-weight:800;color:var(--teal-500)}.map-list h3{font-size:1.16rem;margin-bottom:4px}.map-list p{color:var(--dim);font-size:.93rem}.map-list article>b{justify-self:end;color:var(--teal-700);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.map-list article.featured{background:var(--teal-50);box-shadow:inset 4px 0 0 var(--teal-600)}.product-showcase{background:var(--teal-50)}.tools-section{background:#fff}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.product-grid a{padding:24px}.product-grid h3{margin-top:26px}.paas-section{background:var(--warm)}.paas-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.paas-layout>div:first-child>p:last-child{color:var(--dim);font-size:1.05rem;margin-top:20px}.paas-points{display:grid;grid-template-columns:1fr 1fr;gap:12px}.paas-points span{background:#fff;border:1px solid #E7DFD2;border-radius:8px;padding:18px;font-weight:650;font-size:.9rem}
.subhero:not(.pale){background:var(--teal-50)}.subhero em{font-style:normal;color:var(--teal-700)}.gauges{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gauge,.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:var(--shadow-1)}.gauge .lab{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.gauge .val{font-size:2rem;font-weight:800;color:var(--teal-700);margin:10px 0}.gauge p{color:var(--dim);font-size:.9rem}.disc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.disc .item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}.disc .n{font-size:.75rem;color:var(--teal-600);font-weight:800}.disc h3{margin:18px 0 9px}.disc p{color:var(--dim);font-size:.92rem}.statement{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.25;letter-spacing:-.035em}.statement em{font-style:normal;color:var(--teal-700)}.sec-title{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.15;letter-spacing:-.04em}.sec-lead{color:var(--dim);font-size:1.05rem;max-width:68ch;margin-top:16px}.feat{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:64px 0;border-bottom:1px solid var(--line)}.feat.rev .feat-txt{order:2}.feat h3{font-size:1.8rem;line-height:1.2;margin:12px 0}.feat p{color:var(--dim)}.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.prod{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;box-shadow:var(--shadow-1)}.prod.flag{border-color:var(--teal-300);box-shadow:inset 0 3px 0 var(--teal-600),var(--shadow-1)}.tag,.chip,.st{display:inline-flex;align-items:center;background:var(--teal-50);color:var(--teal-700);border-radius:4px;padding:5px 8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.prod h3{font-size:1.35rem;margin:20px 0 10px}.prod .need,.prod .mod{color:var(--dim);font-size:.92rem}.prod .mod{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.prod .go{display:block;color:var(--teal-700);font-weight:700;font-size:.85rem;margin-top:20px}.shot{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--shadow-2);margin-top:30px}.shot img{border-radius:7px}.cap{padding:12px;color:var(--muted);font-size:.8rem}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.cta-band{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:12px;padding:40px}.cta-band h2{font-size:2rem;line-height:1.2}.cta-band p{color:var(--dim);margin:12px 0 22px}.prose{max-width:var(--measure)}.prose h2{font-size:1.8rem;margin:40px 0 14px}.prose p{color:var(--dim);margin-bottom:16px}.prose ul{list-style:none;margin:18px 0}.prose li{padding:9px 0 9px 22px;border-bottom:1px solid var(--line);position:relative;color:var(--dim)}.prose li::before{content:'+';position:absolute;left:0;color:var(--teal-600);font-weight:800}.narrow{max-width:var(--measure)}.flush{padding-top:0}.muted{color:var(--muted)}.field{margin-bottom:18px}.field label{display:block;font-size:.78rem;font-weight:700;color:var(--dim);margin-bottom:7px}.field input,.field textarea{width:100%;border:1.5px solid var(--line-strong);border-radius:7px;padding:12px;background:#fff;color:var(--ink);font-size:16px}.field input:focus,.field textarea:focus{outline:0;border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-100)}.sc-wrap{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.sc-head{padding:16px 20px;border-bottom:1px solid var(--line);font-weight:700}.sc-table{width:100%;border-collapse:collapse}.sc-table th,.sc-table td{padding:13px 18px;border-bottom:1px solid var(--line);text-align:left}.sc-table th{font-size:.72rem;color:var(--muted);text-transform:uppercase}.sc-table td{font-size:.88rem;color:var(--dim)}.sc-bar{height:6px;background:var(--teal-100);border-radius:3px;overflow:hidden}.sc-bar i{display:block;height:100%;background:var(--teal-600)}
footer{padding:56px 0 28px;border-top:1px solid var(--line);background:#fff}.footer-grid,footer>.wrap{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px}.footer-grid p,footer .co{color:var(--dim);font-size:.9rem;margin-top:12px;max-width:35ch}.footer-grid h4,footer h4{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.footer-grid>div>a:not(.brand),footer>.wrap>div>a:not(.brand){display:block;color:var(--dim);font-size:.9rem;padding:5px 0}.fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;color:var(--muted);font-size:.77rem}
@media(max-width:980px){.hero-layout,.feature-layout,.split-copy,.paas-layout{grid-template-columns:1fr;gap:48px}.hero-copy{max-width:760px}.hero-product{max-width:760px}.system-flow{grid-template-columns:repeat(3,1fr)}.system-flow article:not(:last-child)::after{display:none}.system-rails,.question-grid,.proof-grid,.value-grid{grid-template-columns:1fr}.question-grid p{padding:15px 0;border-left:0;border-top:1px solid var(--teal-200)}.question-grid p:first-child{border-top:0}.proof-grid article,.proof-grid article+article{padding:28px 0;border-left:0;border-top:1px solid var(--line)}.proof-grid article:first-child{border-top:0}.product-grid{grid-template-columns:repeat(2,1fr)}.story-question{grid-template-columns:1fr;gap:16px}.story-steps{grid-template-columns:1fr 1fr}.gauges{grid-template-columns:1fr 1fr}.disc{grid-template-columns:1fr}.feat{grid-template-columns:1fr}.feat.rev .feat-txt{order:0}}
@media(max-width:680px){.wrap{width:min(100% - 32px,var(--max))}.nav>.wrap,.nav-inner{min-height:66px;flex-wrap:wrap;padding:12px 0;gap:10px}.nav-links{order:2;width:100%;gap:18px;overflow-x:auto;padding:4px 0 3px;font-size:.82rem}.nav-links a{white-space:nowrap}.nav-cta{padding:7px 10px}.light-hero,.subhero{padding:58px 0 50px}.hero h1,.subhero h1{font-size:2.55rem}.hero-layout{gap:44px}.trust-line{gap:7px 14px}.trust-line span+span::before{margin-right:14px}.question-band{padding:28px 0}.section{padding:60px 0}.section-heading{margin-bottom:30px}.system-flow{grid-template-columns:1fr 1fr}.system-flow article{min-height:122px}.system-flow article.highlight{transform:none}.system-rails{grid-template-columns:1fr}.system-rails div{display:block}.system-rails span{display:block;text-align:left;margin-top:4px}.dashboard-note{display:block;text-align:center}.story-steps{grid-template-columns:1fr}.story-steps article,.story-steps article+article{padding:20px;min-height:auto}.value-grid,.product-grid{grid-template-columns:1fr}.paas-strip,.final-cta .wrap{align-items:flex-start;flex-direction:column}.map-list article{grid-template-columns:38px 1fr;gap:14px;padding:22px 10px}.map-list article>b{grid-column:2;justify-self:start}.paas-points{grid-template-columns:1fr}.gauges{grid-template-columns:1fr}.prod-grid{grid-template-columns:1fr}.footer-grid,footer>.wrap{grid-template-columns:1fr;gap:26px}.cta-band{padding:28px}.statusbar{display:none}}

.clean-principles{display:grid;gap:12px}.clean-principles div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px 22px;box-shadow:var(--shadow-1)}.clean-principles b{display:block;color:var(--teal-800)}.clean-principles span{display:block;color:var(--dim);font-size:.9rem;margin-top:4px}
@media(max-width:680px){.nav-links{gap:12px;font-size:.74rem}.nav-cta{padding:6px 8px}}

/* Homepage: one operating vision */
.vision-hero{position:relative;overflow:hidden;padding:72px 0 64px;background:#fff;border-bottom:1px solid var(--line)}
.vision-hero::before{content:'';position:absolute;width:760px;height:360px;border-radius:50%;right:-180px;top:-230px;background:radial-gradient(circle,rgba(221,242,239,.8),rgba(255,255,255,0) 70%);pointer-events:none}
.vision-intro{position:relative;z-index:1;max-width:900px;margin:0 auto;text-align:center}
.vision-intro h1{max-width:17ch;margin:0 auto;font-size:clamp(3rem,5.6vw,5.2rem);line-height:1.02;letter-spacing:-.058em}
.vision-intro .lead{max-width:760px;margin:24px auto 0}
.vision-intro .cta-row{justify-content:center;margin-top:28px}

.hero-model{position:relative;z-index:1;margin:48px 0 0;padding:28px;background:#fff;border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-2)}
.model-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.model-heading>div{display:grid;gap:3px;text-align:left}
.model-heading span{color:var(--teal-700);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.model-heading strong{font-size:1.12rem}
.model-heading>small{color:var(--muted);font-size:.8rem}

.model-line{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;padding:28px 0 20px}
.model-node{position:relative;min-height:124px;padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow-1);display:flex;flex-direction:column;align-items:flex-start;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.model-node:hover{transform:translateY(-3px);border-color:var(--teal-300);box-shadow:var(--shadow-2)}
.model-node>span{color:var(--teal-600);font-size:.7rem;font-weight:800;letter-spacing:.08em}
.model-node>strong{margin-top:auto;font-size:1rem;line-height:1.2}
.model-node>small{margin-top:5px;color:var(--muted);font-size:.78rem}
.model-node.impact{background:var(--teal-50);border-color:var(--teal-300)}
.model-node:not(:last-child)::after{content:'';position:absolute;right:-24px;top:50%;width:24px;height:1px;background:var(--teal-300)}
.model-node:not(:last-child)::before{content:'';position:absolute;right:-23px;top:calc(50% - 3px);width:6px;height:6px;border-top:2px solid var(--teal-500);border-right:2px solid var(--teal-500);transform:rotate(45deg);z-index:2}

.model-rails{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.model-rail{min-height:48px;padding:12px 16px;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.model-rail strong{color:var(--teal-800);font-size:.84rem}
.model-rail span{color:var(--dim);font-size:.78rem;text-align:right}
.model-rail.accelerate{border:1px dashed var(--teal-300);background:#fff}
.model-rail.foundation{border:1px solid var(--teal-100);background:var(--teal-50)}

.pathway-section{padding:72px 0;background:#fff}
.pathway-section .section-heading{margin-bottom:32px}
.pathway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pathway-card{min-height:248px;padding:28px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-1);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.pathway-card:hover{transform:translateY(-3px);border-color:var(--teal-300);box-shadow:var(--shadow-2)}
.pathway-card>span{color:var(--teal-700);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.pathway-card h3{margin-top:24px;font-size:1.3rem;line-height:1.25}
.pathway-card p{margin-top:12px;color:var(--dim);font-size:.94rem}
.pathway-card b{margin-top:auto;padding-top:22px;color:var(--teal-700);font-size:.83rem}
.pathway-card i{font-style:normal}

.compact-proof{padding:56px 0;background:var(--teal-50);border-top:1px solid var(--teal-100);border-bottom:1px solid var(--teal-100)}
.compact-proof>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.proof-copy h2{max-width:19ch;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.14;letter-spacing:-.04em}
.proof-copy .text-link{display:inline-block;margin-top:20px}
.proof-facts{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--teal-200)}
.proof-facts>div{padding:12px 24px;border-right:1px solid var(--teal-200)}
.proof-facts strong{display:block;color:var(--teal-700);font-size:2rem;line-height:1;letter-spacing:-.04em}
.proof-facts span{display:block;margin-top:10px;color:var(--dim);font-size:.82rem;line-height:1.45}

@media(max-width:980px){
  .model-line{grid-template-columns:repeat(3,1fr);gap:12px}
  .model-node:not(:last-child)::before,.model-node:not(:last-child)::after{display:none}
  .compact-proof>.wrap{grid-template-columns:1fr;gap:36px}
  .proof-copy h2{max-width:24ch}
  .proof-facts{border-left:0;border-top:1px solid var(--teal-200)}
  .proof-facts>div{padding:22px 22px 4px}
}
@media(max-width:680px){
  .vision-hero{padding:52px 0 44px}
  .vision-intro{text-align:left}
  .vision-intro h1{margin:0;font-size:2.72rem}
  .vision-intro .lead{margin-left:0}
  .vision-intro .cta-row{justify-content:flex-start}
  .hero-model{margin-top:36px;padding:18px}
  .model-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .model-line{grid-template-columns:1fr 1fr;padding:18px 0 14px}
  .model-node{min-height:108px;padding:14px}
  .model-rails{grid-template-columns:1fr}
  .model-rail{display:block}
  .model-rail span{display:block;margin-top:3px;text-align:left}
  .pathway-section{padding:56px 0}
  .pathway-grid{grid-template-columns:1fr}
  .pathway-card{min-height:210px;padding:24px}
  .compact-proof{padding:48px 0}
  .proof-facts{grid-template-columns:1fr}
  .proof-facts>div{padding:20px 0;border-right:0;border-bottom:1px solid var(--teal-200)}
  .proof-facts>div:last-child{border-bottom:0}
}
/* Diversity, equity & inclusion */
.dei-hero h1{max-width:19ch}.dei-hero .lead{max-width:76ch}.dei-questions .question-grid p{font-size:1.08rem}
.dei-offers{background:#fff}.dei-offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dei-offer-grid>a{min-height:262px;padding:26px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-1);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dei-offer-grid>a:hover{transform:translateY(-3px);border-color:var(--teal-300);box-shadow:var(--shadow-2)}.dei-offer-grid span,.dei-audit-strip>span{color:var(--teal-700);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dei-offer-grid h3{margin-top:30px;font-size:1.24rem;line-height:1.25}.dei-offer-grid p{margin-top:12px;color:var(--dim);font-size:.91rem}.dei-audit-strip{margin-top:14px;padding:20px 24px;border:1px solid var(--teal-200);border-radius:9px;background:var(--teal-50);display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center}.dei-audit-strip strong{display:block;font-size:1.02rem}.dei-audit-strip small{display:block;color:var(--dim);font-size:.86rem;margin-top:2px}.dei-audit-strip b{color:var(--teal-700);font-size:.84rem}.dei-foundation{margin-top:14px;padding:17px 22px;border:1px dashed var(--teal-300);border-radius:9px;display:grid;grid-template-columns:130px 260px 1fr;gap:22px;align-items:center}.dei-foundation>span{color:var(--teal-700);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dei-foundation strong{font-size:.92rem}.dei-foundation p{color:var(--dim);font-size:.82rem}
.dei-detail{scroll-margin-top:24px}.dei-detail.alt{background:var(--teal-50);border-top:1px solid var(--teal-100);border-bottom:1px solid var(--teal-100)}.dei-feature-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:end;margin-bottom:32px}.dei-feature-heading h2{font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.12;letter-spacing:-.045em}.dei-feature-heading>div:first-child>p:last-child{margin-top:18px;color:var(--dim);font-size:1.04rem}.dei-lenses{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dei-lenses span{min-height:72px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--dim);font-size:.83rem;font-weight:650;display:flex;align-items:center}.dei-shot-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dei-shot-grid .shot{margin-top:0}.dei-detail .feature-layout>.shot{margin-top:0}.cap strong{color:var(--ink)}.dei-steps{margin-top:24px;display:grid;gap:8px}.dei-steps span{padding:12px 14px;border-left:3px solid var(--teal-300);background:#fff;color:var(--dim);font-size:.87rem}.dei-steps b{display:inline-block;min-width:74px;color:var(--teal-800)}
.dei-extensions{background:var(--off)}.dei-extension-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dei-extension-grid article{padding:30px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-1)}.dei-extension-grid article>span{color:var(--teal-700);font-size:.72rem;font-weight:800;letter-spacing:.1em}.dei-extension-grid h3{margin:26px 0 12px;font-size:1.35rem}.dei-extension-grid p{color:var(--dim)}.dei-extension-grid b{display:block;margin-top:24px;color:var(--teal-700);font-size:.82rem;text-transform:uppercase;letter-spacing:.07em}
.dei-governance{background:var(--teal-100);border-top:1px solid var(--teal-200);border-bottom:1px solid var(--teal-200)}.dei-governance>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.dei-governance h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.14;letter-spacing:-.04em}.dei-governance-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dei-governance-points span{padding:14px 16px;border:1px solid var(--teal-200);border-radius:8px;background:rgba(255,255,255,.72);font-size:.86rem;font-weight:650}
.dei-solution-link{margin-bottom:14px;padding:22px 24px;border:1px solid var(--teal-200);border-radius:10px;background:var(--teal-50);display:grid;grid-template-columns:180px 1fr auto;gap:24px;align-items:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dei-solution-link:hover{transform:translateY(-2px);border-color:var(--teal-300);box-shadow:var(--shadow-1)}.dei-solution-link>span{color:var(--teal-700);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.dei-solution-link h3{font-size:1.12rem}.dei-solution-link p{margin-top:2px;color:var(--dim);font-size:.88rem}.dei-solution-link>b{color:var(--teal-700);font-size:.83rem}
@media(max-width:980px){.dei-offer-grid{grid-template-columns:1fr 1fr}.dei-feature-heading,.dei-governance>.wrap{grid-template-columns:1fr;gap:34px}.dei-foundation{grid-template-columns:1fr}.dei-shot-grid{grid-template-columns:1fr}.dei-solution-link{grid-template-columns:1fr auto}.dei-solution-link>span{grid-column:1/-1}}
@media(max-width:680px){.dei-offer-grid,.dei-extension-grid,.dei-lenses,.dei-governance-points{grid-template-columns:1fr}.dei-offer-grid>a{min-height:220px}.dei-audit-strip,.dei-solution-link{grid-template-columns:1fr;gap:10px}.dei-audit-strip b{margin-top:6px}.dei-foundation{gap:5px}.dei-shot-grid{gap:8px}.dei-feature-heading{margin-bottom:22px}}
/* Full-screen product screenshots */
.shot-zoom{position:relative;display:block;width:100%;padding:0;border:0;border-radius:7px;overflow:hidden;background:var(--white);color:var(--ink);text-align:left;cursor:zoom-in}.shot-zoom img{width:100%;transition:transform .15s ease}.shot-zoom:hover img{transform:scale(1.006)}.shot-expand{position:absolute;top:12px;right:12px;min-height:36px;padding:7px 11px;border:1px solid var(--line-strong);border-radius:6px;background:var(--white);box-shadow:var(--shadow-1);color:var(--teal-800);font-size:.75rem;font-weight:700;line-height:1.6}.shot-dialog{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:1600px;max-height:none;margin:auto;padding:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--white);box-shadow:var(--shadow-2);overflow:hidden}.shot-dialog::backdrop{background:rgba(11,74,66,.72)}.shot-dialog-shell{height:100%;display:flex;flex-direction:column}.shot-dialog-bar{min-height:56px;padding:8px 12px 8px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--white)}.shot-dialog-bar p{font-size:.9rem;font-weight:700}.shot-dialog-bar button{min-width:72px;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:6px;background:var(--white);color:var(--teal-800);font-weight:700;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.shot-dialog-bar button:hover{background:var(--teal-50);box-shadow:var(--shadow-1)}.shot-dialog-stage{flex:1;min-height:0;padding:16px;display:grid;place-items:center;background:var(--teal-50);overflow:auto}.shot-dialog-stage img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow-1)}
@media(max-width:680px){.shot-expand{top:8px;right:8px;min-height:32px;padding:5px 8px}.shot-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.shot-dialog-stage{padding:8px}}
/* Direction + Intelligence + Activation operating model */
.operating-model.hero-model{max-width:920px;margin:48px auto 0;padding:0;border:0;border-radius:0;box-shadow:none}
.operating-model .model-heading{padding:0 0 22px}
.operating-model-core{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(190px,.78fr) minmax(140px,.5fr);grid-template-rows:140px 100px 150px;gap:10px 26px;padding:26px 0 14px}
.operating-label{align-self:center;min-width:0;text-align:right;transition:color .15s ease}
.operating-label:hover{color:var(--teal-700)}
.operating-label strong{display:block;font-size:1.24rem;line-height:1.2}
.operating-label span{display:block;max-width:34ch;margin:6px 0 0 auto;color:var(--dim);font-size:.9rem;line-height:1.45}
.operating-label.direction,.operating-shape.direction{grid-row:1}.operating-label.intelligence,.operating-shape.intelligence{grid-row:2}.operating-label.activation,.operating-shape.activation{grid-row:3}
.operating-label{grid-column:1}.operating-shape{grid-column:2;display:block;width:76%;height:100%;justify-self:center}
.operating-shape.direction{background:var(--teal-800);clip-path:polygon(50% 0,100% 100%,0 100%)}
.operating-shape.intelligence{background:var(--teal-600)}
.operating-shape.activation{width:100%;background:var(--teal-200);clip-path:polygon(18% 0,82% 0,100% 24%,100% 100%,0 100%,0 24%)}
.operating-result{grid-column:3;grid-row:1/4;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.result-bracket{position:relative;display:block;width:24px;height:calc(100% - 16px);border-left:1px solid var(--line-strong)}
.result-bracket::before,.result-bracket::after{content:'';position:absolute;left:0;width:17px;border-top:1px solid var(--line-strong)}
.result-bracket::before{top:0}.result-bracket::after{bottom:0}
.operating-result strong{display:block;font-size:1rem;line-height:1.25}
.operating-result small{display:block;margin-top:5px;color:var(--muted);font-size:.76rem;line-height:1.4}
.operating-model .model-rails{width:58%;margin:12px 0 0 auto;grid-template-columns:1fr;gap:5px}
.operating-model .model-rail{min-height:0;padding:0;border:0;background:transparent;justify-content:flex-start}
.operating-model .model-rail strong{min-width:154px;font-size:.78rem}
.operating-model .model-rail span{font-size:.75rem;text-align:left}
.model-narrative{background:var(--teal-50);border-bottom:1px solid var(--teal-100)}
.missing-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--teal-200);border-bottom:1px solid var(--teal-200)}
.missing-grid article{padding:28px 28px 30px 0}
.missing-grid article+article{padding-left:28px;border-left:1px solid var(--teal-200)}
.missing-grid span{color:var(--teal-700);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.missing-grid h3{margin-top:18px;font-size:1.22rem;line-height:1.25}
.missing-grid p{margin-top:9px;color:var(--dim);font-size:.9rem}
.narrative-link{display:inline-block;margin-top:24px}

/* Solutions organised by the three capabilities */
.capability-map{background:var(--white)}
.capability-buckets{display:grid;gap:22px}
.capability-bucket{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:56px;padding:34px 0;border-top:3px solid var(--teal-800);scroll-margin-top:24px}
.capability-bucket.intelligence{border-top-color:var(--teal-600)}
.capability-bucket.activation{border-top-color:var(--teal-300);border-bottom:1px solid var(--line)}
.capability-bucket>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-content:start}
.capability-bucket>header>span{padding-top:5px;color:var(--teal-600);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.capability-bucket h2{font-size:clamp(1.75rem,2.6vw,2.45rem);line-height:1.1;letter-spacing:-.04em}
.capability-bucket header p{margin-top:12px;color:var(--dim);font-size:.96rem}
.bucket-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bucket-offers a{min-height:118px;padding:18px 19px;border:1px solid var(--line);border-radius:9px;background:var(--white);box-shadow:var(--shadow-1);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.bucket-offers a:hover{transform:translateY(-2px);border-color:var(--teal-300);box-shadow:var(--shadow-2)}
.bucket-offers strong{display:block;font-size:.95rem;line-height:1.35}
.bucket-offers span{display:block;margin-top:6px;color:var(--dim);font-size:.82rem;line-height:1.45}
.capability-rails{margin-top:28px}
/* Buyable services */
.service-menu{background:var(--white)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{min-height:430px;padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.service-grid article:nth-child(1){box-shadow:inset 0 4px 0 var(--teal-800)}.service-grid article:nth-child(2){box-shadow:inset 0 4px 0 var(--teal-600)}.service-grid article:nth-child(3){box-shadow:inset 0 4px 0 var(--teal-400)}.service-grid article:nth-child(4){box-shadow:inset 0 4px 0 var(--amber)}
.service-number{font-size:.72rem;color:var(--teal-700);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.service-grid h2{font-size:clamp(1.55rem,2.3vw,2.15rem);line-height:1.12;letter-spacing:-.035em;margin:30px 0 14px;max-width:15ch}.service-grid article>p{color:var(--dim);font-size:.98rem;max-width:54ch}.service-grid dl{width:100%;margin:28px 0 30px;border-top:1px solid var(--line)}.service-grid dl div{padding:14px 0;border-bottom:1px solid var(--line)}.service-grid dt{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--dim);margin-bottom:4px}.service-grid dd{margin:0;font-size:.9rem;line-height:1.5}.service-grid article>a{margin-top:auto;color:var(--teal-700);font-size:.88rem;font-weight:800}
.service-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin-top:22px;padding:22px 26px;background:var(--teal-50);border:1px solid var(--teal-200);border-radius:8px;font-size:.84rem;font-weight:750;text-align:center}.service-path b{color:var(--teal-500)}
.entry-services{background:var(--off)}.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.entry-grid a{padding:25px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-1)}.entry-grid strong,.entry-grid span{display:block}.entry-grid strong{font-size:1rem;margin-bottom:8px}.entry-grid span{color:var(--dim);font-size:.88rem;line-height:1.55}
@media(max-width:900px){.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0}.service-path{grid-template-columns:1fr;gap:8px;text-align:left}.service-path b{transform:rotate(90deg);justify-self:start}.entry-grid{grid-template-columns:1fr}}
.activation-principle{background:var(--teal-50);border-top:1px solid var(--teal-100);border-bottom:1px solid var(--teal-100)}
.activation-principle>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.activation-copy h2{font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.12;letter-spacing:-.045em}
.activation-copy>p:last-child{margin-top:18px;color:var(--dim);font-size:1.04rem}
.activation-elements{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--teal-200)}
.activation-elements span{padding:15px 4px;border-bottom:1px solid var(--teal-200);color:var(--teal-800);font-size:.88rem;font-weight:700}
.activation-elements span:nth-child(even){padding-left:20px;border-left:1px solid var(--teal-200)}
.approach-moves article{padding:28px;border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:var(--shadow-1)}
.approach-moves article>span{color:var(--teal-700);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.approach-moves article h3{margin:26px 0 11px;font-size:1.25rem;line-height:1.3}
.approach-moves article p{color:var(--dim);font-size:.93rem}

@media(max-width:900px){
  .operating-model-core{grid-template-columns:minmax(220px,1fr) minmax(170px,.72fr) minmax(130px,.55fr);column-gap:18px}
  .capability-bucket{grid-template-columns:1fr;gap:24px}
  .activation-principle>.wrap{grid-template-columns:1fr;gap:34px}
}
@media(max-width:680px){
  .operating-model.hero-model{margin-top:36px}
  .operating-model .model-heading{padding-bottom:16px}
  .operating-model-core{grid-template-columns:minmax(0,1.25fr) minmax(112px,.75fr);grid-template-rows:124px 92px 132px auto;gap:8px 12px;padding:20px 0 12px}
  .operating-label{grid-column:1;text-align:left}
  .operating-label span{margin-left:0;font-size:.8rem}
  .operating-label strong{font-size:1.05rem}
  .operating-shape{grid-column:2}
  .operating-result{grid-column:1/-1;grid-row:4;display:flex;gap:10px;min-height:66px;padding:14px 16px;background:var(--teal-50);border-top:1px solid var(--teal-100);border-bottom:1px solid var(--teal-100)}
  .result-bracket{display:none}
  .operating-result small{margin-top:3px}
  .operating-model .model-rails{width:100%;margin-top:8px}
  .operating-model .model-rail{display:flex}
  .operating-model .model-rail strong{min-width:145px}
  .missing-grid{grid-template-columns:1fr}
  .missing-grid article,.missing-grid article+article{padding:22px 0;border-left:0;border-top:1px solid var(--teal-200)}
  .missing-grid article:first-child{border-top:0}
  .missing-grid h3{margin-top:12px}
  .capability-bucket{padding:28px 0}
  .bucket-offers{grid-template-columns:1fr}
  .bucket-offers a{min-height:0}
  .activation-elements{grid-template-columns:1fr}
  .activation-elements span:nth-child(even){padding-left:4px;border-left:0}
}

/* Solutions catalogue v2 */
.solution-catalog{background:#fff;padding-top:48px}
.catalog-group{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:56px;padding:48px 0;border-top:3px solid var(--teal-800);scroll-margin-top:24px}
.catalog-group.intelligence{border-top-color:var(--teal-600)}.catalog-group.activation{border-top-color:var(--teal-300)}
.catalog-group>header{display:grid;grid-template-columns:34px 1fr;gap:14px;align-content:start}.catalog-group>header>span{color:var(--teal-600);font-size:.72rem;font-weight:800;letter-spacing:.1em;padding-top:4px}.catalog-group h2{font-size:clamp(1.75rem,2.5vw,2.35rem);line-height:1.1;letter-spacing:-.04em}.catalog-group header p:last-child{color:var(--dim);font-size:.94rem;margin-top:13px}
.catalog-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.catalog-cards a{min-height:190px;padding:26px;background:var(--off);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.catalog-cards a:hover{transform:translateY(-2px);border-color:var(--teal-300);box-shadow:var(--shadow-1)}.catalog-cards strong{font-size:1.03rem;line-height:1.35}.catalog-cards span{color:var(--dim);font-size:.88rem;line-height:1.55;margin-top:9px}.catalog-cards b{color:var(--teal-700);font-size:.8rem;margin-top:auto;padding-top:22px}
.offer-hero h1{max-width:30ch;font-size:clamp(2.4rem,3.4vw,3.5rem)}.breadcrumb{font-size:.78rem;color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:25px}.breadcrumb a{color:var(--teal-700)}.breadcrumb .sep{padding:0 10px;color:var(--teal-300)}
.offer-summary{background:#fff}.offer-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}.offer-summary h2{font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.17;letter-spacing:-.04em;max-width:18ch}.offer-summary ul{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line)}.offer-summary li{padding:16px 0 16px 25px;border-bottom:1px solid var(--line);position:relative;font-size:.94rem}.offer-summary li:before{content:'+';position:absolute;left:0;color:var(--teal-600);font-weight:800}
.offer-model{background:var(--off)}.offer-model-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}.offer-model-grid article{padding:28px;min-height:215px;border-right:1px solid var(--line)}.offer-model-grid article:last-child{border-right:0}.offer-model-grid article.current{box-shadow:inset 0 4px 0 var(--teal-600);background:var(--teal-50)}.offer-model-grid article>span{font-size:.7rem;color:var(--teal-600);font-weight:800;letter-spacing:.1em}.offer-model-grid h3{font-size:1.05rem;margin:28px 0 9px}.offer-model-grid p{color:var(--dim);font-size:.88rem}
@media(max-width:900px){.catalog-group,.offer-summary-grid{grid-template-columns:1fr;gap:28px}.offer-model-grid{grid-template-columns:1fr}.offer-model-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:0}.offer-model-grid article:last-child{border-bottom:0}}
@media(max-width:680px){.solution-catalog{padding-top:20px}.catalog-group{padding:36px 0}.catalog-cards{grid-template-columns:1fr}.catalog-cards a{min-height:165px}.offer-summary-grid{gap:42px}}


/* Offer minimum standard */
.offer-fit{max-width:55ch;color:var(--dim);font-size:.96rem;line-height:1.65;margin-top:22px}
.offer-model-grid.detailed article{min-height:315px;display:flex;flex-direction:column}
.offer-model-grid.detailed article>span{font-size:.67rem;text-transform:uppercase}
.offer-model-grid.detailed ul{list-style:none;padding:0;margin:20px 0 24px;border-top:1px solid var(--line)}
.offer-model-grid.detailed li{position:relative;padding:11px 0 11px 18px;border-bottom:1px solid var(--line);color:var(--dim);font-size:.84rem;line-height:1.5}
.offer-model-grid.detailed li:before{content:'+';position:absolute;left:0;color:var(--teal-600);font-weight:800}
.offer-model-grid.detailed article>b{margin-top:auto;color:var(--teal-800);font-size:.8rem;line-height:1.45}

/* ===== Compatibility shims — product pages (dashboards / scorecard / org-design / predictive /
   who-we-are / contact) still use class names + tokens from the earlier build. Map them onto the
   light palette so every page renders in one system. Additive only; no page markup depends on removal. ===== */
:root{--mint:var(--teal-600);--mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace}
.btn-ghost{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border-radius:7px;font-weight:700;font-size:.94rem;border:1px solid var(--teal-700);color:var(--teal-800);background:#fff}
.btn-ghost:hover{background:var(--teal-50)}
.sec-eyebrow{margin-bottom:24px}
.eyebrow.amber{color:var(--amber-ink)}.eyebrow.red{color:var(--red)}
.metricrow{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line)}
.metricrow .k{color:var(--dim);font-size:.9rem}
.metricrow .lead-dots{flex:1;border-bottom:1px dotted var(--line-strong);transform:translateY(-3px)}
.metricrow .v{color:var(--teal-700);font-weight:700;font-size:.9rem;white-space:nowrap}
.chip.on{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}
.st.on{background:var(--teal-50);color:var(--teal-700)}
.st.risk{background:#F6EEDE;color:var(--amber)}
.st.off{background:#F8ECEC;color:var(--red)}
.gauge.up .val{color:var(--teal-600)}.gauge.warn .val{color:var(--amber)}.gauge.down .val{color:var(--red)}
.panel.amber{border-color:var(--line-strong)}
.statement em{color:var(--teal-700);font-style:normal}
.arrow{display:inline-block}

/* ---- Scorecard board: perspective groups + no-JS methodology drawers (scorecard.html) ---- */
.sb-top{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.sb-top .t{font-weight:700;font-size:1.02rem;color:var(--ink)}
.sb-top .s{font-size:.82rem;font-weight:700;color:var(--teal-700)}
.sb-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--muted);font-weight:600;margin-bottom:18px}
.sb-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}
.sb-group{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;margin-bottom:14px;box-shadow:var(--shadow-1)}
.sb-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--off);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700)}
.sb-group>summary::-webkit-details-marker{display:none}
.sb-group[open]>summary{border-bottom:1px solid var(--line)}
.sb-group .grp-caret{color:var(--teal-500);font-size:.7rem;transition:transform .18s}
.sb-group[open] .grp-caret{transform:rotate(90deg)}
.sb-group .grp-cnt{margin-left:auto;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;font-size:.74rem}
.sb-kpi{border-bottom:1px solid var(--line)}
.sb-kpi:last-child{border-bottom:0}
.sb-kpi>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:13px 18px;flex-wrap:wrap}
.sb-kpi>summary::-webkit-details-marker{display:none}
.sb-kpi>summary:hover,.sb-kpi[open]>summary{background:var(--teal-50)}
.sb-main{flex:1 1 220px;min-width:0}
.sb-main .nm{font-weight:600;color:var(--ink);font-size:.93rem;display:block;line-height:1.3}
.sb-main .sub{color:var(--muted);font-size:.75rem}
.sb-vals{display:flex;gap:20px}
.sb-vals .nu{font-size:.9rem;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.sb-vals .nu small{display:block;font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.sb-caret{color:var(--teal-500);font-size:.7rem;transition:transform .18s}
.sb-kpi[open] .sb-caret{transform:rotate(90deg)}
.sb-method{padding:2px 18px 16px;color:var(--dim);font-size:.85rem;line-height:1.6;background:var(--teal-50)}
.sb-method b{color:var(--ink);font-weight:600}
@media(max-width:560px){.sb-vals{gap:14px}}
.completion-standard{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:start;margin-top:18px;padding:22px 26px;background:#fff;border:1px solid var(--line)}
.completion-standard span{color:var(--teal-700);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.completion-standard strong{font-size:.94rem;line-height:1.55}
@media(max-width:680px){.offer-model-grid.detailed article{min-height:0}.completion-standard{grid-template-columns:1fr;gap:8px}}


/* Brand meaning */
.brand-meaning{padding:var(--s6) 0;background:var(--off);border-bottom:1px solid var(--line)}
.brand-meaning>.wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:start}
.brand-meaning-intro h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;letter-spacing:-.045em;margin-top:10px}
.brand-meaning-intro>p:last-child{color:var(--dim);font-size:1rem;line-height:1.65;margin-top:16px;max-width:44ch}
.brand-meaning-model{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}
.brand-meaning-model>div{padding:24px;border-right:1px solid var(--line)}.brand-meaning-model>div:last-child{border-right:0}
.brand-meaning-model span{display:block;min-height:30px;color:var(--dim);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.brand-meaning-model strong{display:block;font-size:1.35rem;letter-spacing:-.035em;margin:22px 0 11px}.brand-meaning-model strong b{color:var(--teal-600)}
.brand-meaning-model p{color:var(--dim);font-size:.82rem;line-height:1.55}
@media(max-width:900px){.brand-meaning>.wrap{grid-template-columns:1fr;gap:32px}}
@media(max-width:680px){.brand-meaning-model{grid-template-columns:1fr}.brand-meaning-model>div{border-right:0;border-bottom:1px solid var(--line)}.brand-meaning-model>div:last-child{border-bottom:0}.brand-meaning-model span{min-height:0}}

/* Graceful heading line-wrapping — balance multi-line headings at all widths */
h1, h2, h3 { text-wrap: balance; }
.lead, .subhero .lead, .vision-intro .lead { text-wrap: pretty; }

/* --- Review fixes: responsive nav, contact grid, experience section --- */
@media(max-width:680px){
  .nav>.wrap,.nav-inner{flex-wrap:wrap;gap:10px 14px}
  .nav-links{order:2;width:100%;flex-wrap:wrap;overflow:visible;justify-content:center;gap:10px 16px;font-size:.82rem}
  .nav-cta{padding:7px 12px}
}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s7);align-items:start}
@media(max-width:680px){.contact-grid{grid-template-columns:1fr;gap:var(--s5)}}
.compact-proof>.wrap{display:block}
.compact-proof .proof-copy{max-width:820px}
.feat h2{font-size:1.8rem;line-height:1.2;margin:12px 0}

/* Homepage operating-model: fuller card narrative beside each shape */
.operating-label .op-eyebrow{display:block;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-700);margin:0 0 5px auto;max-width:none}
@media(min-width:681px){.operating-model-core{grid-template-rows:170px 130px 182px}}

/* Homepage: tiny Igal bio at the bottom of the "What inHR means" side column */
.mini-bio{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.mini-bio p{color:var(--dim);font-size:.9rem;line-height:1.62;margin-bottom:12px}
.mini-bio strong{color:var(--ink)}

/* Homepage 2-column shell: main content + sticky "What inHR means" right rail */
/* Same inner geometry as .wrap, so shell content shares the hero's left edge. */
.home-shell{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:52px 0 76px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:start}
.home-main{min-width:0}
.home-hero h1{font-size:clamp(2.3rem,3.6vw,3.6rem);line-height:1.04;letter-spacing:-.05em;max-width:16ch}
.home-hero .lead{margin-top:20px;max-width:58ch}
.home-hero .cta-row{margin-top:26px}
.home-main .operating-model.hero-model{max-width:100%;margin:44px 0 0}
.home-missing{margin-top:54px;padding-top:46px;border-top:1px solid var(--line)}
.home-aside{position:sticky;top:24px;background:var(--off);border:1px solid var(--line);border-radius:14px;padding:26px 26px 28px}
.home-aside>h2{font-size:1.75rem;letter-spacing:-.04em;margin-top:4px;line-height:1.1}
.home-aside .aside-desc{color:var(--dim);font-size:.92rem;line-height:1.6;margin-top:12px}
.aside-model{margin-top:22px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.aside-model>div{padding:15px 17px;border-bottom:1px solid var(--line)}
.aside-model>div:last-child{border-bottom:0}
.aside-model span{display:block;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--dim)}
.aside-model strong{display:block;font-size:1.12rem;letter-spacing:-.03em;margin:7px 0 5px}
.aside-model strong b{color:var(--teal-600)}
.aside-model p{color:var(--dim);font-size:.8rem;line-height:1.5}
@media(max-width:900px){.home-shell{grid-template-columns:1fr;gap:38px;padding-top:38px}.home-aside{position:static}}
@media(max-width:680px){.home-shell{width:min(100% - 32px,var(--max))}}
.meaning-layout{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:start}
.meaning-layout>div:first-child h2{font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.04em;margin-top:2px}
.meaning-layout>div:first-child>p{color:var(--dim);font-size:1.05rem;max-width:52ch;margin-top:14px}
@media(max-width:900px){.meaning-layout{grid-template-columns:1fr;gap:32px}}

/* Wider gap between the two homepage columns */
.home-shell{gap:88px}
/* Outlined line-art rocket for the operating model (replaces filled shapes) */
.operating-rocket{grid-column:2;grid-row:1/4;height:100%;max-height:470px;width:auto;justify-self:center;align-self:center;overflow:visible}
.operating-rocket>*{fill:none;stroke:var(--teal-700);stroke-width:8;stroke-linejoin:round}
@media(max-width:680px){.operating-rocket{max-height:360px}}
.brandcase{text-transform:none}

/* Slim footer (menu removed — brand + contact + copyright) */
.footer-slim{width:min(var(--max),calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:18px 48px;align-items:center}
.footer-slim .fs-brand p{color:var(--dim);font-size:.9rem;margin-top:8px;max-width:42ch}
.footer-slim .fs-contact{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.footer-slim .fs-contact a{color:var(--dim);font-size:.9rem}
.footer-slim .fs-contact a:first-child{color:var(--teal-800);font-weight:700}
.footer-slim .fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;margin-top:4px;color:var(--muted);font-size:.77rem}
@media(max-width:680px){.footer-slim{grid-template-columns:1fr;gap:14px}}

/* Homepage operating model — editorial index with shape glyphs (numbers + shapes same colour) */
.model-index.hero-model{max-width:100%;margin:44px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;background:none}
.model-index .model-heading{padding:0 0 22px}
.ed-index{max-width:100%}
.model-col{max-width:880px}
.ed-row{display:grid;grid-template-columns:74px 1fr;gap:26px;align-items:start;padding:22px 0 22px 28px;border-left:2px solid var(--teal-600);border-bottom:1px solid var(--line);color:inherit;transition:background .15s ease}
.ed-row{cursor:default}
.ed-lead{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ed-num{font-size:2.3rem;font-weight:300;color:var(--teal-600);letter-spacing:-.03em;line-height:.9}
.ed-shape{width:36px;height:36px;overflow:visible}
.ed-shape>*{fill:none;stroke:var(--teal-600);stroke-width:2.5;stroke-linejoin:round}
.ed-cap{display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--dim)}
.ed-c strong{display:block;font-size:1.3rem;letter-spacing:-.02em;margin:5px 0 0}
.ed-c p{color:var(--dim);font-size:.93rem;margin-top:7px;line-height:1.55;max-width:calc(var(--measure) - 130px)}
.ed-outcome{padding:22px 0 4px 28px;border-left:2px solid var(--teal-600);margin-top:8px}
.ed-outcome .eyebrow{margin-bottom:6px}
.ed-outcome>strong{display:block;font-size:1.35rem;letter-spacing:-.02em;color:var(--teal-900);line-height:1.15}
.ed-outcome>p{color:var(--dim);font-size:.93rem;margin-top:8px;max-width:calc(var(--measure) - 30px);line-height:1.55}
.ed-result{padding:24px 0 4px 28px;border-left:2px solid var(--teal-600);border-top:2px solid var(--ink);margin-top:-1px}
.ed-result>strong{display:block;font-size:1.15rem}
.ed-result p{color:var(--dim);font-size:.93rem;margin-top:7px;max-width:56ch;line-height:1.55}
@media(max-width:680px){.ed-row{grid-template-columns:54px 1fr;gap:16px;padding-left:20px}.ed-num{font-size:1.85rem}.ed-shape{width:30px;height:30px}.ed-result{padding-left:20px}}

/* Business-results rails (governance + scale) under the editorial model */
.ed-rails{display:flex;flex-wrap:wrap;gap:6px 30px;margin-top:10px}
.ed-rails span{color:var(--dim);font-size:.9rem;line-height:1.5}
.ed-rails b{color:var(--teal-800);font-weight:700}

/* ===== v7 domain-page components (Strategy/Analytics/AI inHR) ===== */
.triad-strip{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.triad-strip a{flex:1;min-width:190px;display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--off);border:1px solid var(--line);border-radius:8px;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.triad-strip a:hover{border-color:var(--teal-300);transform:translateY(-2px);box-shadow:var(--shadow-1)}
.triad-strip a span{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}
.triad-strip a b{font-size:1.02rem;color:var(--ink);font-weight:700}
.triad-strip a.on{background:var(--teal-50);border-color:var(--teal-300)}
.triad-strip a.on span{color:var(--teal-700)}
.triad-arrow{display:flex;align-items:center;color:var(--teal-300);font-size:1.3rem;font-weight:700}
.triad-note{margin-top:16px;color:var(--dim);font-size:.92rem;line-height:1.6;max-width:74ch}

.eng-tag{display:inline-block;align-self:flex-start;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:12px}
.eng-tag.consult{background:var(--teal-100);color:var(--teal-800)}
.eng-tag.product{background:var(--warm);color:var(--amber-ink)}
.eng-tag.train{background:var(--off);color:var(--dim);border:1px solid var(--line)}

.flagship{background:var(--teal-50);border:1px solid var(--teal-200);border-radius:16px;padding:44px}
.flagship-head h2{color:var(--teal-900);margin:2px 0 6px}
.flagship-head p{color:var(--dim);max-width:66ch}
.flagship-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 20px}
.flagship-modes article{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column}
.flagship-modes h3{color:var(--ink);margin:2px 0 8px;font-size:1.05rem}
.flagship-modes p{color:var(--dim);font-size:.9rem;line-height:1.55}
.flagship-modes em{color:var(--teal-700);font-style:normal;font-weight:600;font-size:.82rem}
.catalog-cards.tagged a{position:relative}
@media(max-width:680px){.flagship{padding:28px}.flagship-modes{grid-template-columns:1fr}.triad-arrow{display:none}.triad-strip a{min-width:0}}

/* ===== v7 story page (narrative flow) ===== */
.story-hero{padding:76px 0 44px}
.story-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
.story-hero .lead{max-width:62ch;margin-top:20px}
.pale-band{background:var(--off)}
.flow{margin-top:4px}
.flow-step{position:relative;padding:0 0 34px 68px;margin-left:20px;border-left:2px solid var(--teal-200)}
.flow-num{position:absolute;left:-21px;top:-4px;width:40px;height:40px;border-radius:50%;background:var(--teal-600);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:1.05rem}
.flow-num.done{background:var(--teal-800)}
.flow-step .eyebrow{margin-bottom:2px}
.flow-step h3{font-size:1.25rem;margin:2px 0 8px;color:var(--ink)}
.flow-step>p{color:var(--dim);max-width:72ch;line-height:1.6}
.flow-sol{margin-top:10px;font-size:.9rem;color:var(--dim)}
.flow-sol b{color:var(--ink);font-weight:700}
.flow-sol a{color:var(--teal-700);text-decoration:none;border-bottom:1px solid var(--teal-200)}
.flow-sol a:hover{border-color:var(--teal-600)}
.flow-result{position:relative;padding-left:68px;margin-left:20px;display:flex;gap:16px;align-items:flex-start}
.flow-result h3{margin:2px 0 6px;color:var(--teal-900)}
.flow-result p{color:var(--dim);max-width:60ch}
.supercharge{margin:20px 0 26px;background:var(--teal-800);color:var(--white);border-radius:14px;padding:30px 34px;box-shadow:var(--shadow-2)}
.sc-lead{display:flex;align-items:center;gap:15px;margin-bottom:18px}
.sc-zap{flex:none;width:46px;height:46px;border-radius:11px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.sc-zap svg{width:24px;height:24px;color:var(--white)}
.sc-lead .eyebrow{color:var(--teal-100);margin-bottom:5px}
.sc-lead h3{font-size:1.5rem;letter-spacing:-.02em;color:var(--white);line-height:1.15}
.sc-agents{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.sc-agents b{display:block;color:var(--white);font-size:.98rem;margin-bottom:5px}
.sc-agents span{color:var(--teal-100);font-size:.9rem;line-height:1.5}
.sc-pay{margin-top:18px;color:var(--teal-50);font-size:1.02rem;line-height:1.6}
.sc-pay a{color:var(--white);font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);white-space:nowrap}
.sc-pay a:hover{border-color:var(--white)}
@media(max-width:680px){.supercharge{padding:24px 22px}.sc-agents{grid-template-columns:1fr;gap:15px;padding:18px 0}.sc-lead h3{font-size:1.3rem}}
.edge-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:40px;align-items:center}
.edge-layout h2{color:var(--ink)}
.edge-layout>div>p{color:var(--dim);max-width:var(--measure);line-height:1.65}
.edge-proof{display:flex;flex-direction:column;gap:12px}

/* Training journey (training pages) */
.journey-sec{background:var(--off)}
.journey{margin-top:10px}
.j-stop{position:relative;margin-left:20px;padding:0 0 30px 68px;border-left:2px solid var(--teal-200)}
.j-dot{position:absolute;left:-21px;top:-4px;width:40px;height:40px;border-radius:50%;background:var(--teal-600);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:1rem}
.j-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:7px}
.j-tag{color:var(--teal-700);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.j-time{border:1px solid var(--line-strong);border-radius:999px;padding:2px 11px;color:var(--dim);font-size:.72rem;font-weight:600;background:var(--white)}
.j-stop h3{font-size:1.22rem;margin:0 0 8px;color:var(--ink)}
.j-stop>p{color:var(--dim);max-width:70ch;line-height:1.6}
.j-road{position:relative;margin-left:20px;padding:0 0 30px 68px;border-left:2px dashed var(--teal-300)}
.j-road>div{max-width:52ch;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:13px 18px}
.j-road span{display:block;color:var(--teal-700);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px}
.j-road p{color:var(--dim);font-size:.86rem;line-height:1.55}
.j-stop.j-dest{border-left:2px solid transparent;padding-bottom:0}
.j-dest .j-dot{background:var(--teal-900)}
.j-dest>div{background:var(--teal-50);border:1px solid var(--teal-200);border-radius:12px;padding:24px 28px;box-shadow:var(--shadow-1);max-width:760px}
.j-dest h3{margin-top:0}
.j-dest p{color:var(--dim);line-height:1.6}
/* Homepage: applies the text measure rule (see top of file). The model column's blocks are
   indented by their own rails, so each subtracts its inset to share one right edge.
   Scoped to .home-main so the 14 deep pages using .section-heading are untouched. */
.home-main .section-heading{max-width:var(--measure)}
.home-main .sc-pay{max-width:calc(var(--measure) - 34px)}
.edge-layout h2{max-width:var(--measure)}
@media(max-width:680px){.home-main .section-heading,.home-main .sc-pay,.edge-layout h2,.ed-c p,.ed-outcome>p{max-width:none}}

/* Deep-offer body column: applies the text measure rule (see top of file).
   Named .train-main historically; it is now the column for BOTH training pages and consultancy
   offer pages (renaming would touch live pages for no user benefit).
   Journey content sits 90px in (rail + dot), so its caps subtract that inset. */
.train-main{--tm:var(--measure)}
.train-main>section+section{margin-top:72px}
.train-main .section-heading{max-width:var(--tm);margin-bottom:24px}
.train-main .need-body{max-width:var(--tm);font-size:1.05rem;line-height:1.65;margin-bottom:14px}
.train-main .offer-fit{max-width:var(--tm)}
.train-main .j-stop>p,.train-main .j-stop>h3,.train-main .j-topics,.train-main .j-road>div,.train-main .j-dest>div{max-width:calc(var(--tm) - 90px)}
.train-main .j-foot{max-width:calc(var(--tm) - 20px)}
.train-main .depths-head h3,.train-main .depths-head p,.train-main .depths{max-width:var(--tm)}
@media(max-width:900px){.train-main{--tm:100%}.train-main .j-stop>p,.train-main .j-stop>h3,.train-main .j-topics,.train-main .j-road>div,.train-main .j-dest>div,.train-main .j-foot,.train-main .depths-head h3,.train-main .depths{max-width:none}}
.aside-cta{margin-top:22px}.aside-cta .btn{display:block;text-align:center}
/* Consultancy phases: the pills are OUTPUTS, not topics, so they carry a label. */
.j-out{display:block;color:var(--teal-700);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-top:16px}
.j-out+.j-topics{margin-top:8px}
.j-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-width:640px}
.j-topics span{border:1px solid var(--teal-200);background:var(--white);border-radius:999px;padding:6px 15px;color:var(--teal-800);font-size:.82rem;font-weight:600}
.j-foot{margin:26px 0 0 20px;padding-left:68px;color:var(--dim);font-size:.92rem;max-width:78ch;line-height:1.6}
@media(max-width:680px){.j-stop,.j-road,.j-foot{margin-left:8px;padding-left:50px}.j-dot{width:34px;height:34px;left:-18px;font-size:.9rem}.j-dest>div{padding:20px 18px}}
/* Programme depths — one journey sold at more than one length (training pages).
   Structure spans the column; the grid cells cap the text, so no measure override needed. */
.depths-head{margin:52px 0 0}
.depths-head h3{font-size:1.4rem;letter-spacing:-.03em;margin:4px 0 10px}
.depths{margin-top:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--white)}
.depths>div{display:grid;grid-template-columns:210px 1fr;gap:6px 26px;padding:20px 24px;border-bottom:1px solid var(--line)}
.depths>div:last-child{border-bottom:0}
.depths>div.d-lead{background:var(--teal-50)}
.depths h4{font-size:1.05rem;letter-spacing:-.02em;margin:0 0 8px;color:var(--ink)}
.depths .d-tag{display:inline-block;border:1px solid var(--line-strong);border-radius:999px;padding:2px 11px;color:var(--dim);font-size:.72rem;font-weight:600;background:var(--white)}
.depths p{color:var(--dim);font-size:.9rem;line-height:1.6}
.depths p+p{margin-top:7px}
.depths p b{color:var(--ink);font-weight:600}
@media(max-width:900px){.depths>div{grid-template-columns:1fr;gap:10px}}
.src{display:block;margin-top:10px;font-size:.78rem;color:var(--muted)}
.src a{color:var(--teal-700);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.src a:hover{color:var(--teal-900)}
.edge-proof a{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:18px 20px;text-decoration:none;display:flex;flex-direction:column;gap:3px;transition:border-color .15s ease,transform .15s ease}
.edge-proof a:hover{border-color:var(--teal-300);transform:translateY(-2px)}
.edge-proof b{color:var(--ink)}
.edge-proof span{color:var(--dim);font-size:.88rem}
@media(max-width:680px){.story-hero{padding:48px 0 28px}.edge-layout{grid-template-columns:1fr;gap:24px}.flow-step,.flow-result{padding-left:54px}.flow-num{width:34px;height:34px;left:-18px;font-size:.95rem}}

/* ===== v7 domain page — positioning + 3 solution types ===== */
.domain-solutions .soln-type{padding-bottom:8px;margin-bottom:40px}
.domain-solutions .soln-type:last-child{margin-bottom:0}
.soln-type-head{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.soln-type-head h2{font-size:1.4rem;margin:10px 0 4px;color:var(--ink)}
.soln-type-head p{color:var(--dim);font-size:.95rem;max-width:var(--measure)}

/* stat callout inside a solution type */
.soln-stat{display:flex;gap:16px;align-items:flex-start;margin-top:18px;padding:16px 18px;background:var(--teal-50);border-left:3px solid var(--teal-600);border-radius:8px;max-width:72ch}
.soln-stat b{font-size:2rem;font-weight:800;color:var(--teal-700);line-height:1;flex:none}
.soln-stat span{color:var(--dim);font-size:.92rem;line-height:1.5}
.soln-stat cite{display:block;margin-top:5px;font-style:normal;font-size:.76rem;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}
.soln-stat cite a{color:var(--teal-700);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.soln-stat cite a:hover{color:var(--teal-900)}
.soln-stat cite a:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px;border-radius:2px}
.soln-note{margin-top:10px;font-size:.86rem;color:var(--muted)}
.soln-note a{color:var(--teal-700);text-decoration:underline;text-underline-offset:2px}

/* fill the page width: pitch (why + stat) left, offerings right */
.domain-solutions .soln-type{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:52px;align-items:start;margin-bottom:0;padding:36px 0;border-bottom:1px solid var(--line)}
.domain-solutions .soln-type:last-child{border-bottom:0}
.soln-type-head{border-bottom:0;padding-bottom:0;margin-bottom:0}
.soln-type-head p{max-width:none}
.soln-stat{max-width:none;margin-top:18px}
.domain-solutions .catalog-cards{grid-template-columns:repeat(auto-fit,minmax(248px,1fr));align-content:start}
.domain-solutions .soln-type>.soln-stat{grid-column:1/-1;margin-top:26px}
@media(max-width:820px){.domain-solutions .soln-type{grid-template-columns:1fr;gap:22px;padding:26px 0}}
/* Who we are — inset portrait in the story prose */
.wwa-inset{float:right;width:220px;margin:6px 0 18px 30px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:var(--shadow-1)}
.wwa-inset img{display:block;width:100%;height:auto;border-radius:7px}
.wwa-inset figcaption{padding:9px 4px 2px;text-align:center;color:var(--muted);font-size:.72rem;font-family:var(--mono)}
@media(max-width:680px){.wwa-inset{float:none;width:min(240px,70%);margin:4px auto 22px}}
/* Subscribe band */
.subscribe-band{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;background:var(--teal-50);border:1px solid var(--teal-100);border-radius:12px;padding:40px}
.subscribe-band h2{font-size:1.9rem;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px}
.sb-copy>p:last-child{color:var(--dim);margin:0}
.sb-form .field{margin-bottom:14px}
.sb-form .field input{background:#fff}
.sb-consent{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;cursor:pointer;color:var(--dim);font-size:.88rem;line-height:1.5}
.sb-consent input{flex:none;width:17px;height:17px;margin-top:2px;accent-color:var(--teal-700);cursor:pointer}
.sb-form button{width:100%}
.sb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sb-status{margin-top:14px;font-size:.88rem;line-height:1.5;font-weight:600;min-height:1.35em}
.sb-status.ok{color:var(--teal-800)}
.sb-status.err{color:var(--red)}
.sb-fine{margin-top:14px;color:var(--muted);font-size:.75rem;line-height:1.55;font-family:var(--mono)}
@media(max-width:820px){.subscribe-band{grid-template-columns:1fr;gap:28px;padding:28px}}
/* Nav subscribe button — a soft-filled sibling to the outlined .nav-cta.
   Deliberately lighter: "Get in Touch" stays the primary ask. */
.nav-sub{background:var(--teal-50);color:var(--teal-800)!important;padding:10px 16px;border-radius:7px;border:1px solid transparent}
.nav-sub:hover{background:var(--teal-100)}
.nav-sub.active{border-color:var(--teal-200)}
/* Subscribe page */
.sub-page-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:start}
.sub-page-grid .panel{padding:32px}
.sb-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field .opt{color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;font-size:.72rem;font-family:var(--mono)}
.sub-aside .prose li{padding-left:0;border-bottom:1px solid var(--line)}
.sub-aside .prose li::before{content:none}
.sub-aside .prose li strong{color:var(--ink)}
@media(max-width:900px){.sub-page-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:560px){.sb-row{grid-template-columns:1fr;gap:0}}
@media(max-width:680px){.nav-sub{padding:7px 10px}}

.sb-cta{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}
.sb-cta .sb-fine{margin-top:0}

/* ============ Mobile navigation (2026-08-15) ============
   The desktop single-row nav needs ~1022px (8 items, measured); below that it used to wrap
   into 3-4 centered rows costing 197px — 23% of a phone's first screen. At ≤1024px the nav
   is now a compact 60px bar (brand + burger) with a slide-down panel: stacked 44px+ tap
   targets, Subscribe and Get in Touch as full-width buttons. Toggle JS is inlined after each
   page's nav; panel closes on link tap, Escape, or outside click. Desktop ≥1025px unchanged. */
.nav-toggle{display:none}
@media(max-width:1024px){
  .nav>.wrap,.nav-inner{min-height:60px;flex-wrap:nowrap;padding:0;gap:12px}
  .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;padding:0;margin-right:-8px;background:none;border:0;cursor:pointer}
  .nav-toggle span{display:block;height:2px;width:22px;background:var(--ink);border-radius:2px;transition:transform .2s ease}
  .nav.open .nav-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
  .nav.open .nav-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;order:0;width:auto;flex-direction:column;align-items:stretch;gap:0;padding:6px 20px 18px;font-size:1rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);overflow:visible}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:13px 6px;border-bottom:1px solid var(--line);white-space:nowrap}
  .nav-links .nav-sub,.nav-links .nav-cta{margin-top:12px;text-align:center;border-radius:8px;padding:12px 16px;border-bottom-width:1px}
  .nav-links .nav-sub{border:1px solid transparent;background:var(--teal-50)}
  .nav-links .nav-cta{border:1px solid var(--teal-700)}
}
