:root {
      --ink:#090a0c;
      --ink-soft:#44464b;
      --paper:#ffffff;
      --paper-soft:#f5f5f2;
      --accent:#fe294d;
      --accent-deep:#c90d33;
      --accent-soft:#fff0f3;
      --line:#dedfe2;
      --line-dark:rgba(255,255,255,.18);
      --dark:#050608;
      --dark-soft:#15171a;
      --radius:16px;
      --radius-sm:10px;
      --container:1220px;
      --shadow:0 22px 60px rgba(0,0,0,.14);
    }

    *, *::before, *::after { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      color:var(--ink);
      background:var(--paper);
      font-family:"Inter", Arial, sans-serif;
      font-size:16px;
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    body.menu-open { overflow:hidden; }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    button, input, select { font:inherit; }
    button { color:inherit; }
    h1, h2, h3, p { margin-top:0; }
    h1, h2, h3 { line-height:1.06; letter-spacing:-.04em; font-weight:400; }
    p { color:var(--ink-soft); }
    [hidden] { display:none !important; }
    section[id] { scroll-margin-top:88px; }

    :focus-visible {
      outline:3px solid var(--accent);
      outline-offset:4px;
    }

    .skip-link {
      position:fixed;
      top:10px;
      left:10px;
      z-index:1000;
      padding:10px 14px;
      background:var(--paper);
      color:var(--ink);
      border-radius:var(--radius-sm);
      transform:translateY(-160%);
    }
    .skip-link:focus { transform:none; }

    .container {
      width:min(var(--container), calc(100% - 48px));
      margin-inline:auto;
    }

    .site-header {
      position:sticky;
      top:0;
      z-index:80;
      background:rgba(255,255,255,.96);
      color:var(--ink);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(16px);
    }
    .nav {
      min-height:76px;
      display:flex;
      align-items:center;
      gap:34px;
    }
    .brand {
      flex:0 0 auto;
      width:184px;
      height:54px;
      overflow:hidden;
    }
    .brand img {
      width:184px;
      height:54px;
      object-fit:cover;
      object-position:center;
    }
    .nav-links {
      display:flex;
      align-items:center;
      gap:30px;
      margin-left:auto;
    }
    .nav-links a {
      position:relative;
      color:var(--ink);
      font-size:15px;
      font-weight:500;
      transition:color .2s ease;
    }
    .nav-links a::after {
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-10px;
      height:2px;
      background:var(--accent-deep);
      transform:scaleX(0);
      transform-origin:left;
      transition:transform .2s ease;
    }
    .nav-links a:hover { color:var(--accent); }
    .nav-links a.is-active { color:var(--accent-deep); }
    .nav-links a.is-active::after { transform:scaleX(1); }
    .nav-contact {
      display:inline-flex;
      align-items:center;
      gap:7px;
      margin-left:2px;
      color:var(--ink);
      font-size:13px;
      font-weight:600;
      white-space:nowrap;
    }
    .nav-contact:hover { color:var(--accent-deep); }
    .nav-contact i { color:var(--accent-deep); font-size:18px; }
    .nav-cta { margin-left:6px; }

    .btn {
      min-height:50px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      padding:0 22px;
      border:1px solid transparent;
      border-radius:999px;
      font-size:15px;
      font-weight:600;
      line-height:1.2;
      cursor:pointer;
      transition:transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .btn:hover { transform:translateY(-2px); }
    .btn:active { transform:translateY(0) scale(.985); }
    .btn-primary {
      background:var(--accent-deep);
      color:#fff;
      box-shadow:0 9px 24px rgba(201,13,51,.22);
    }
    .btn-primary:hover { background:#af0b2c; box-shadow:0 12px 30px rgba(201,13,51,.28); }
    .btn-ghost {
      border-color:rgba(255,255,255,.72);
      color:#fff;
      background:transparent;
    }
    .btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); }
    .btn-light {
      border-color:var(--line);
      background:var(--paper);
      color:var(--ink);
    }
    .btn-light:hover { border-color:#aaaeb4; }
    .btn i { font-size:19px; }

    .menu-toggle {
      display:none;
      width:46px;
      height:46px;
      margin-left:auto;
      padding:0;
      place-items:center;
      border:1px solid var(--line);
      border-radius:50%;
      color:var(--ink);
      background:transparent;
      cursor:pointer;
    }
    .menu-toggle i { font-size:24px; }
    .menu-toggle:active { transform:scale(.96); }
    .mobile-menu {
      position:fixed;
      inset:76px 0 auto;
      z-index:75;
      padding:20px 24px 26px;
      background:#fff;
      border-bottom:1px solid var(--line);
      box-shadow:var(--shadow);
    }
    .mobile-menu nav { display:grid; }
    .mobile-menu nav a {
      padding:15px 0;
      color:var(--ink);
      border-bottom:1px solid var(--line);
      font-size:18px;
    }
    .mobile-menu .btn { width:100%; margin-top:20px; }
    .mobile-contact-row {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      margin-top:18px;
    }
    .mobile-contact-row a {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      min-height:46px;
      border:1px solid var(--line);
      border-radius:999px;
      color:var(--ink);
      font-size:12px;
      font-weight:600;
    }
    .mobile-contact-row i { color:var(--accent-deep); font-size:18px; }

    .dark-chapter { background:var(--paper-soft); color:var(--ink); }
    .hero {
      position:relative;
      isolation:isolate;
      min-height:690px;
      padding:64px 0;
      overflow:hidden;
      background:#2b2524;
    }
    .hero::after {
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      background:
        linear-gradient(90deg,rgba(11,12,14,.72) 0%,rgba(11,12,14,.44) 43%,rgba(11,12,14,.2) 62%,rgba(11,12,14,.58) 100%),
        linear-gradient(0deg,rgba(11,12,14,.38),transparent 52%);
    }
    .hero-background {
      position:absolute;
      inset:0;
      z-index:-2;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center 42%;
    }
    .hero-grid {
      min-height:562px;
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(370px,420px);
      gap:86px;
      align-items:center;
    }
    .hero-copy {
      align-self:center;
      max-width:760px;
      padding:24px 0;
    }
    .hero-kicker {
      display:flex;
      align-items:center;
      gap:10px;
      margin-bottom:22px;
      color:#fff;
      font-size:14px;
      font-weight:500;
      letter-spacing:.02em;
    }
    .hero-kicker i { color:var(--accent); font-size:22px; }
    .hero h1 {
      max-width:780px;
      margin-bottom:22px;
      color:#fff;
      font-size:clamp(48px,4.4vw,68px);
    }
    .hero h1 span { display:block; }
    .hero h1 em { color:#fff; font-style:normal; font-weight:600; }
    .hero-lede {
      max-width:570px;
      margin-bottom:28px;
      color:rgba(255,255,255,.86);
      font-size:18px;
      line-height:1.55;
    }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
    .hero-proof {
      display:flex;
      gap:30px;
      margin:30px 0 0;
    }
    .hero-proof div { padding-left:14px; border-left:2px solid var(--accent); }
    .hero-proof dt { color:rgba(255,255,255,.65); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
    .hero-proof dd { margin:3px 0 0; color:#fff; font-size:17px; font-weight:500; }

    .lead-form {
      align-self:center;
      display:flex;
      flex-direction:column;
      justify-content:center;
      padding:28px 30px 30px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:var(--radius-sm);
      background:rgba(10,11,13,.58);
      color:#fff;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 24px 65px rgba(0,0,0,.26);
      backdrop-filter:blur(9px);
    }
    .form-conversion-head { margin-bottom:12px; }
    .form-conversion-head span {
      display:flex;
      align-items:center;
      gap:7px;
      margin-bottom:5px;
      color:rgba(255,255,255,.7);
      font-size:11px;
      font-weight:600;
      letter-spacing:.07em;
      text-transform:uppercase;
    }
    .form-conversion-head span i { color:var(--accent); font-size:16px; }
    .form-conversion-head h2 { margin:0 0 6px; color:#fff; font-size:24px; letter-spacing:-.035em; }
    .form-conversion-head p { margin:0; color:rgba(255,255,255,.78); font-size:12px; line-height:1.45; }
    .form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .field { margin-top:7px; }
    .field label {
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }
    .field input,
    .field select {
      width:100%;
      min-height:46px;
      padding:0 2px;
      border:0;
      border-bottom:1px solid rgba(255,255,255,.66);
      border-radius:0;
      background:transparent;
      color:#fff;
      transition:border-color .2s ease, box-shadow .2s ease;
    }
    .field input::placeholder { color:rgba(255,255,255,.78); }
    .field select option { color:var(--ink); background:#fff; }
    .field input:focus,
    .field select:focus {
      outline:0;
      border-color:var(--accent);
      box-shadow:0 2px 0 var(--accent);
    }
    .field input:hover,
    .field select:hover { border-color:rgba(255,255,255,.92); }
    .field input:user-invalid:not(:focus),
    .field select:user-invalid:not(:focus) {
      border-color:#ff9aad;
      box-shadow:0 1px 0 #ff9aad;
    }
    .phone-field {
      display:grid;
      grid-template-columns:116px minmax(0,1fr);
      border-bottom:1px solid rgba(255,255,255,.66);
    }
    .phone-field:focus-within { border-color:var(--accent); box-shadow:0 2px 0 var(--accent); }
    .phone-field:has(input:user-invalid:not(:focus)) { border-color:#ff9aad; box-shadow:0 1px 0 #ff9aad; }
    .phone-field select,
    .phone-field input {
      min-width:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none !important;
    }
    .phone-field select { padding-right:8px; border-right:1px solid rgba(255,255,255,.34); }
    .lead-form .btn { width:100%; margin-top:21px; }
    .form-note { margin:10px 0 0; color:rgba(255,255,255,.65); font-size:11px; line-height:1.45; }
    .consent {
      display:grid;
      grid-template-columns:17px minmax(0,1fr);
      gap:9px;
      align-items:start;
      margin-top:15px;
      color:rgba(255,255,255,.72);
      font-size:11px;
      line-height:1.45;
      cursor:pointer;
    }
    .consent input { width:17px; height:17px; margin:0; accent-color:var(--accent-deep); }
    .consent input:user-invalid { outline:2px solid #ff9aad; outline-offset:2px; }
    .consent a { color:#fff; text-decoration:underline; text-underline-offset:2px; }
    .form-contact-options {
      display:flex;
      justify-content:center;
      gap:16px;
      margin-top:12px;
      font-size:11px;
    }
    .form-contact-options a { display:inline-flex; align-items:center; gap:5px; color:#fff; }
    .form-contact-options a:hover { color:#ffb6c3; }
    .form-contact-options i { color:var(--accent); font-size:15px; }

    .metric-band { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .metric-grid {
      display:grid;
      grid-template-columns:repeat(4,1fr);
    }
    .metric {
      min-height:126px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      padding:22px 28px;
      border-right:1px solid var(--line);
    }
    .metric:first-child { border-left:1px solid var(--line); }
    .metric strong { color:var(--accent-deep); font-size:29px; font-weight:500; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
    .metric span { margin-top:2px; color:#62666c; font-size:13px; }

    section.light-section { padding:112px 0; }
    .section-head {
      max-width:760px;
      margin-bottom:46px;
    }
    .section-head.wide { max-width:920px; }
    .section-signal {
      display:grid;
      width:34px;
      height:34px;
      margin-bottom:20px;
      place-items:center;
      color:var(--accent-deep);
      background:var(--accent-soft);
      border-radius:50%;
      font-size:18px;
    }
    .section-head h2 {
      margin-bottom:17px;
      font-size:clamp(40px,5vw,66px);
    }
    .section-head p {
      max-width:680px;
      margin-bottom:0;
      font-size:18px;
    }

    .journey-tab:active,
    .route-tab:active,
    .industry-card:active { transform:scale(.99); }
    .programme-sequence {
      position:relative;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      border-top:1px solid rgba(255,255,255,.14);
      border-bottom:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.025);
    }
    .programme-step {
      position:relative;
      min-width:0;
      display:flex;
      flex-direction:column;
      color:#f7f7f8;
      border-right:1px solid rgba(255,255,255,.14);
      background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
      overflow:hidden;
    }
    .programme-step:last-child { border-right:0; }
    .programme-step:nth-child(2) { background:linear-gradient(180deg,rgba(254,41,77,.055),rgba(255,255,255,.012) 54%); }
    .programme-step:nth-child(3) { background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(117,128,151,.055)); }
    .programme-step:nth-child(4) { background:linear-gradient(180deg,rgba(254,41,77,.04),rgba(255,255,255,.018)); }
    .programme-step-media {
      position:relative;
      aspect-ratio:4 / 3;
      margin:0;
      overflow:hidden;
      border-bottom:1px solid rgba(255,255,255,.14);
      background:#22242a;
    }
    .programme-step-media::after {
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      background:
        linear-gradient(180deg,rgba(8,9,12,.04) 12%,rgba(8,9,12,.22) 46%,rgba(8,9,12,.94) 100%),
        linear-gradient(125deg,rgba(201,13,51,.15),transparent 52%);
    }
    .programme-step-media img {
      width:100%;
      height:100%;
      object-fit:cover;
      filter:saturate(.82) contrast(1.04) brightness(.9);
      transition:transform .5s cubic-bezier(.16,1,.3,1), filter .3s ease;
    }
    .programme-step:hover .programme-step-media img { transform:scale(1.025); filter:saturate(.95) contrast(1.04) brightness(.94); }
    .programme-step-title {
      position:absolute;
      left:28px;
      right:28px;
      bottom:25px;
      z-index:2;
    }
    .programme-step-content {
      position:relative;
      flex:1;
      display:flex;
      flex-direction:column;
      padding:25px 28px 34px;
    }
    .programme-step-index {
      display:block;
      margin-bottom:13px;
      color:#ff8196;
      font-size:clamp(42px,3.6vw,58px);
      font-weight:500;
      line-height:.82;
      letter-spacing:-.07em;
      text-shadow:0 2px 18px rgba(0,0,0,.28);
    }
    .programme-step h3 { max-width:310px; margin:0; color:#fff; font-size:clamp(24px,1.9vw,30px); letter-spacing:-.045em; text-shadow:0 2px 20px rgba(0,0,0,.48); }
    .programme-step-content > p { min-height:68px; margin-bottom:22px; color:rgba(247,247,248,.68); font-size:13.5px; line-height:1.55; }
    .programme-points {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:9px 12px;
      padding:0;
      margin:0 0 26px;
      list-style:none;
    }
    .programme-points li {
      display:flex;
      align-items:flex-start;
      gap:6px;
      color:rgba(255,255,255,.84);
      font-size:12px;
      line-height:1.45;
    }
    .programme-points i { flex:0 0 auto; margin-top:2px; color:#ff8196; font-size:14px; }
    .programme-step .text-link { margin-top:auto; color:#ff91a4; }
    .check-list {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px 20px;
      padding:0;
      margin:0 0 26px;
      list-style:none;
    }
    .check-list li { display:flex; align-items:flex-start; gap:9px; color:#33363a; font-size:14px; }
    .check-list i { margin-top:3px; color:var(--accent-deep); font-size:17px; }
    .text-link {
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:var(--accent-deep);
      font-size:14px;
      font-weight:600;
    }
    .text-link i { font-size:17px; transition:transform .2s ease; }
    .text-link:hover i { transform:translateX(3px); }

    .proof-section {
      position:relative;
      padding:112px 0;
      background:#f7f6f2;
      overflow:hidden;
    }
    .proof-section::before {
      content:"";
      position:absolute;
      width:620px;
      height:620px;
      top:-280px;
      right:-180px;
      border-radius:50%;
      pointer-events:none;
      background:radial-gradient(circle,rgba(254,41,77,.11),rgba(254,41,77,0) 68%);
    }
    .proof-intro {
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
      gap:72px;
      align-items:end;
      padding-bottom:44px;
    }
    .proof-kicker {
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:20px;
      color:var(--accent-deep);
      font-size:12px;
      font-weight:600;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .proof-kicker::before {
      content:"";
      width:26px;
      height:1px;
      background:currentColor;
    }
    .proof-intro h2 { max-width:760px; margin:0; font-size:clamp(42px,5vw,66px); }
    .proof-intro p { max-width:560px; margin:0 0 6px; font-size:17px; }
    .proof-showcase {
      position:relative;
      display:flex;
      flex-direction:column;
      gap:10px;
      padding:12px;
      border:1px solid rgba(9,10,12,.08);
      border-radius:28px;
      background:rgba(255,255,255,.76);
      box-shadow:0 28px 80px rgba(31,27,22,.09);
      backdrop-filter:blur(12px);
    }
    .proof-stage {
      position:relative;
      min-height:580px;
      overflow:hidden;
      border-radius:20px;
      color:#fff;
      background:#17181b;
      isolation:isolate;
    }
    .proof-stage::after {
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      pointer-events:none;
      background:linear-gradient(90deg,rgba(3,4,6,.28),rgba(3,4,6,0) 68%),linear-gradient(180deg,rgba(3,4,6,.04) 12%,rgba(3,4,6,.14) 45%,rgba(3,4,6,.9) 100%);
    }
    .proof-stage-image {
      position:absolute;
      inset:0;
      z-index:-2;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center 42%;
      transform:scale(1.015);
    }
    .proof-stage-top {
      position:absolute;
      inset:24px 24px auto;
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:flex-start;
    }
    .proof-stage-badge,
    .proof-stage-stat {
      border:1px solid rgba(255,255,255,.32);
      border-radius:999px;
      background:rgba(8,9,11,.38);
      box-shadow:0 10px 32px rgba(0,0,0,.12);
      backdrop-filter:blur(14px);
    }
    .proof-stage-badge {
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 14px;
      font-size:11px;
      font-weight:600;
      letter-spacing:.04em;
      text-transform:uppercase;
    }
    .proof-stage-badge i { color:#ff6680; font-size:17px; }
    .proof-stage-stat { min-width:156px; padding:12px 16px; border-radius:14px; }
    .proof-stage-stat strong { display:block; font-size:19px; font-weight:600; letter-spacing:-.03em; }
    .proof-stage-stat small { display:block; color:rgba(255,255,255,.72); font-size:10px; line-height:1.35; }
    .proof-stage-content {
      position:absolute;
      inset:auto 40px 40px;
      max-width:590px;
    }
    .proof-stage-icon {
      width:50px;
      height:50px;
      display:grid;
      place-items:center;
      margin-bottom:20px;
      border:1px solid rgba(255,255,255,.32);
      border-radius:50%;
      color:#fff;
      background:var(--accent-deep);
      font-size:23px;
      box-shadow:0 12px 30px rgba(92,0,18,.25);
    }
    .proof-stage-label {
      margin:0 0 10px;
      color:#ff9dad;
      font-size:11px;
      font-weight:600;
      letter-spacing:.11em;
      text-transform:uppercase;
    }
    .proof-stage h3 { max-width:560px; margin:0 0 14px; color:#fff; font-size:clamp(34px,4vw,52px); }
    .proof-stage-content > p:not(.proof-stage-label) { max-width:570px; margin:0 0 24px; color:rgba(255,255,255,.78); font-size:15px; }
    .proof-stage .text-link { width:max-content; color:#fff; }
    .proof-stage .text-link:hover { color:#ff9dad; }
    .proof-selector {
      order:-1;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:0;
      padding:0 4px;
      border-bottom:1px solid rgba(9,10,12,.1);
    }
    .proof-choice {
      position:relative;
      width:100%;
      min-height:82px;
      display:grid;
      grid-template-columns:28px minmax(0,1fr) 20px;
      gap:10px;
      align-items:center;
      padding:14px 13px;
      border:0;
      border-right:1px solid rgba(9,10,12,.08);
      border-radius:0;
      color:var(--ink);
      background:transparent;
      text-align:left;
      cursor:pointer;
      transition:background-color .18s ease, box-shadow .18s ease;
    }
    .proof-choice:last-child { border-right:0; }
    .proof-choice:hover { background:rgba(9,10,12,.025); }
    .proof-choice[aria-pressed="true"] {
      color:var(--accent-deep);
      background:transparent;
      box-shadow:inset 0 -2px 0 var(--accent-deep);
    }
    .proof-choice-index {
      color:#96989c;
      font-size:11px;
      font-weight:600;
      letter-spacing:.08em;
    }
    .proof-choice[aria-pressed="true"] .proof-choice-index { color:var(--accent-deep); }
    .proof-choice-copy strong { display:block; font-size:13px; font-weight:500; line-height:1.3; letter-spacing:-.015em; }
    .proof-choice-copy span { display:none; }
    .proof-choice > i { color:#9a9ca1; font-size:16px; transition:transform .2s ease, color .2s ease; }
    .proof-choice:hover > i { transform:translate(2px,-2px); }
    .proof-choice[aria-pressed="true"] > i { color:var(--accent-deep); transform:translate(2px,-2px); }
    .proof-social-label {
      display:flex;
      justify-content:space-between;
      gap:24px;
      align-items:center;
      margin-top:46px;
      color:#66696e;
      font-size:12px;
    }
    .proof-social-label strong { display:flex; align-items:center; gap:8px; color:var(--ink); font-size:13px; font-weight:600; }
    .proof-social-label strong i { color:var(--accent-deep); font-size:19px; }
    .review-grid {
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
      gap:20px;
      margin-top:28px;
    }
    .review-card {
      margin:0;
      padding:24px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:#fff;
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .review-card:hover { border-color:#c9cace; box-shadow:0 15px 36px rgba(9,10,12,.07); transform:translateY(-2px); }
    .review-card--quote {
      min-height:430px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      padding:38px;
      background:var(--paper-soft);
    }
    .review-stack { display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); gap:12px; }
    .review-stars { display:flex; gap:2px; margin-bottom:18px; color:#c88100; font-size:17px; }
    .review-card--quote blockquote { max-width:680px; margin:0 0 28px; color:var(--ink); font-size:clamp(24px,2.5vw,34px); line-height:1.35; letter-spacing:-.025em; }
    .review-summary { margin:0 0 18px; color:var(--ink); font-size:15px; line-height:1.52; }
    .review-card figcaption { color:#60646a; font-size:12px; }
    .review-card figcaption strong { display:block; color:var(--ink); font-size:13px; }
    .review-option {
      width:100%;
      display:grid;
      grid-template-columns:40px minmax(0,1fr) 24px;
      gap:14px;
      align-items:center;
      padding:18px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      color:var(--ink);
      background:#fff;
      text-align:left;
      cursor:pointer;
      transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
    }
    .review-option:hover { border-color:#c7c9ce; box-shadow:0 10px 26px rgba(9,10,12,.06); }
    .review-option[aria-pressed="true"] { border-color:#e2a1ad; background:var(--accent-soft); }
    .review-option > i:first-child {
      display:grid;
      width:40px;
      height:40px;
      place-items:center;
      border-radius:50%;
      color:var(--accent-deep);
      background:var(--accent-soft);
      font-size:20px;
    }
    .review-option[aria-pressed="true"] > i:first-child { color:#fff; background:var(--accent-deep); }
    .review-option-copy { min-width:0; }
    .review-option strong { display:block; margin-bottom:3px; font-size:14px; }
    .review-option span { display:block; color:#676a70; font-size:12px; line-height:1.4; }
    .review-option > i:last-child { color:#9a9da2; font-size:18px; }
    .review-option[aria-pressed="true"] > i:last-child { color:var(--accent-deep); }

    .team-section { padding:112px 0; background:var(--paper-soft); }
    .team-intro {
      display:grid;
      grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
      gap:70px;
      align-items:end;
      margin-bottom:38px;
    }
    .team-intro h2 { max-width:650px; margin:0; font-size:clamp(40px,4.8vw,62px); }
    .team-intro p { max-width:620px; margin:0; font-size:18px; }
    .team-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:18px;
    }
    .team-card {
      min-width:0;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:#fff;
      will-change:transform;
      transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .team-card:hover {
      transform:translateY(-3px);
      border-color:#c9cace;
      box-shadow:0 18px 42px rgba(9,10,12,.08);
    }
    .team-card img {
      width:100%;
      height:auto;
      aspect-ratio:4 / 4.25;
      object-fit:cover;
      object-position:center 24%;
      background:#e7e7e3;
      filter:saturate(.88);
      transform-origin:center;
    }
    .team-card-body { padding:24px 22px 26px; }
    .team-card h3 { margin:0 0 6px; font-size:24px; }
    .team-role {
      min-height:39px;
      margin:0 0 14px;
      color:var(--accent-deep);
      font-size:12px;
      font-weight:600;
      line-height:1.45;
    }
    .team-card-body > p:not(.team-role) { margin:0; font-size:13px; line-height:1.55; }
    .team-card-open {
      display:inline-flex;
      align-items:center;
      gap:7px;
      margin-top:18px;
      padding:0;
      border:0;
      color:var(--accent-deep);
      background:transparent;
      font-size:13px;
      font-weight:600;
      cursor:pointer;
    }
    .team-card-open i { font-size:16px; transition:transform .2s ease; }
    .team-card-open:hover i { transform:translateX(3px); }

    .expert-dialog {
      width:min(880px,calc(100% - 32px));
      max-height:min(760px,calc(100vh - 32px));
      padding:0;
      border:0;
      border-radius:var(--radius);
      background:transparent;
      overflow:visible;
    }
    .expert-dialog::backdrop { background:rgba(9,10,12,.66); backdrop-filter:blur(5px); }
    .expert-dialog-panel {
      position:relative;
      display:grid;
      grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
      overflow:hidden;
      border-radius:var(--radius);
      background:#fff;
      box-shadow:0 30px 90px rgba(0,0,0,.28);
    }
    .expert-dialog-panel > img { width:100%; height:100%; min-height:460px; object-fit:cover; }
    .expert-dialog-copy { align-self:center; padding:46px; }
    .expert-dialog-role { margin:0 0 9px; color:var(--accent-deep); font-size:13px; font-weight:600; }
    .expert-dialog h2 { margin-bottom:18px; font-size:clamp(34px,4vw,52px); }
    .expert-dialog-copy > p:last-of-type { margin-bottom:26px; font-size:16px; }
    .expert-dialog-close {
      position:absolute;
      top:16px;
      right:16px;
      z-index:2;
      display:grid;
      width:42px;
      height:42px;
      place-items:center;
      padding:0;
      border:1px solid var(--line);
      border-radius:50%;
      color:var(--ink);
      background:rgba(255,255,255,.94);
      cursor:pointer;
    }
    .expert-dialog-close i { font-size:20px; }

    .journey-section { background:var(--paper-soft); }
    .journey-shell { border-top:1px solid #d6d7d8; border-bottom:1px solid #d6d7d8; }
    .journey-tabs {
      display:grid;
      grid-template-columns:repeat(5,1fr);
      border-bottom:1px solid #d6d7d8;
    }
    .journey-tab {
      min-height:116px;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      justify-content:center;
      gap:10px;
      padding:18px 20px;
      border:0;
      border-right:1px solid #d6d7d8;
      background:transparent;
      text-align:left;
      cursor:pointer;
      transition:background-color .2s ease;
    }
    .journey-tab:last-child { border-right:0; }
    .journey-tab i { font-size:25px; color:#777a7f; }
    .journey-tab span { font-size:13px; font-weight:500; line-height:1.3; }
    .journey-tab[aria-selected="true"] { background:#fff; }
    .journey-tab[aria-selected="true"] i,
    .journey-tab[aria-selected="true"] span { color:var(--accent-deep); }
    .journey-panel {
      min-height:300px;
      display:grid;
      grid-template-columns:120px minmax(0,1.25fr) minmax(260px,.75fr);
      gap:34px;
      align-items:center;
      padding:42px;
      background:#fff;
    }
    .journey-index { color:var(--accent); font-size:68px; font-weight:400; letter-spacing:-.07em; }
    .journey-panel h3 { margin-bottom:13px; font-size:40px; }
    .journey-panel p { max-width:590px; margin-bottom:0; }
    .journey-visual {
      position:relative;
      min-height:210px;
      margin:0;
      overflow:hidden;
      border-radius:var(--radius);
      background:var(--paper-soft);
    }
    .journey-visual img { width:100%; height:210px; object-fit:cover; }
    .journey-visual figcaption { padding:13px 15px; color:#4f5257; background:var(--accent-soft); font-size:12px; }
    .journey-visual strong { display:block; margin-bottom:3px; color:var(--ink); font-size:13px; }

    .industries-head {
      margin-bottom:42px;
    }
    .industries-head .section-head { margin-bottom:0; }
    .industry-grid {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:20px;
    }
    .industry-card {
      min-width:0;
      min-height:430px;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      padding:0;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:#fff;
      overflow:hidden;
      text-align:left;
      will-change:transform;
      transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .industry-card:hover { transform:translateY(-4px); border-color:#b6b8bd; box-shadow:0 16px 32px rgba(0,0,0,.08); }
    .industry-card > img { width:100%; height:220px; object-fit:cover; border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; filter:saturate(1.14) contrast(1.03); transform-origin:center; }
    .industry-card-body { flex:1; display:flex; flex-direction:column; align-items:flex-start; width:100%; padding:22px; }
    .industry-card h3 { margin:0 0 10px; font-size:25px; }
    .industry-card p { margin-bottom:24px; font-size:14px; }

    .route-section { padding-top:0 !important; }
    .route-layout {
      display:grid;
      grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
      gap:50px;
      align-items:stretch;
    }
    .route-photo {
      min-height:620px;
      margin:0;
      overflow:hidden;
      border-radius:var(--radius);
      background:var(--paper-soft);
    }
    .route-photo img { width:100%; height:100%; object-fit:cover; }
    .route-tool { align-self:center; }
    .route-tool h2 { margin-bottom:17px; font-size:clamp(40px,4.8vw,62px); }
    .route-tool > p { max-width:610px; margin-bottom:28px; font-size:18px; }
    .route-tabs {
      display:inline-flex;
      gap:5px;
      margin-bottom:28px;
      padding:5px;
      border:1px solid var(--line);
      border-radius:999px;
      background:var(--paper-soft);
    }
    .route-tab {
      min-height:42px;
      padding:0 17px;
      border:0;
      border-radius:999px;
      background:transparent;
      font-size:14px;
      cursor:pointer;
    }
    .route-tab[aria-selected="true"] { background:var(--ink); color:#fff; }
    .route-panel { min-height:230px; padding:28px 0; border-top:1px solid var(--line); }
    .route-panel h3 { margin-bottom:12px; font-size:32px; }
    .route-panel .check-list { margin:22px 0 0; }
    .cost-line {
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:24px;
      margin-top:10px;
      padding-top:26px;
      border-top:1px solid var(--line);
    }
    .cost-line small { display:block; color:#71747a; }
    .cost-line strong { display:block; margin-top:2px; font-size:34px; font-weight:500; letter-spacing:-.04em; }

    .support-section { background:var(--paper-soft); }
    .support-layout {
      display:grid;
      grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
      gap:60px;
      align-items:start;
    }
    .support-intro { position:sticky; top:104px; }
    .support-layout .section-head { margin-bottom:26px; }
    .support-photo {
      height:330px;
      margin:0;
      overflow:hidden;
      border-radius:var(--radius);
      background:#fff;
    }
    .support-photo img { width:100%; height:100%; object-fit:cover; }
    .support-list { border-top:1px solid #d5d6d8; }
    .support-item {
      display:grid;
      grid-template-columns:54px minmax(0,1fr);
      gap:18px;
      padding:25px 0;
      border-bottom:1px solid #d5d6d8;
    }
    .support-item > i {
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      color:var(--accent-deep);
      background:#fff;
      border-radius:50%;
      font-size:23px;
    }
    .support-item h3 { margin:1px 0 6px; font-size:23px; }
    .support-item p { margin:0; font-size:14px; }

    .faq-layout {
      display:grid;
      grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
      gap:70px;
      align-items:start;
    }
    .faq-layout .section-head { margin-bottom:24px; }
    .faq-photo {
      height:300px;
      margin:0;
      overflow:hidden;
      border-radius:var(--radius);
      background:var(--paper-soft);
    }
    .faq-photo img { width:100%; height:100%; object-fit:cover; }
    .faq { border-top:1px solid var(--line); }
    .faq details { border-bottom:1px solid var(--line); }
    .faq summary {
      min-height:84px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      padding:20px 0;
      list-style:none;
      color:var(--ink);
      font-size:18px;
      font-weight:500;
      cursor:pointer;
    }
    .faq summary::-webkit-details-marker { display:none; }
    .faq summary::after {
      content:"+";
      flex:0 0 auto;
      display:grid;
      width:34px;
      height:34px;
      place-items:center;
      border:1px solid var(--line);
      border-radius:50%;
      font-size:20px;
      font-weight:400;
      transition:transform .2s ease, background-color .2s ease;
    }
    .faq details[open] summary::after { transform:rotate(45deg); background:var(--accent-soft); border-color:#f1bbc5; }
    .faq summary:hover { color:var(--accent-deep); }
    .faq summary:hover::after { border-color:#e39aa7; }
    .faq details[open] summary { color:var(--accent-deep); }
    .faq details p { max-width:720px; padding:0 58px 25px 0; margin:0; }

    .final-cta { padding:0 0 112px; }
    .cta-panel {
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
      gap:50px;
      align-items:center;
      padding:58px;
      overflow:hidden;
      border:1px solid #f1c9d0;
      background:var(--accent-soft);
      border-radius:var(--radius);
      box-shadow:0 24px 60px rgba(85,18,31,.08);
    }
    .cta-panel::before {
      content:"";
      position:absolute;
      inset:0 auto auto 0;
      width:88px;
      height:4px;
      background:var(--accent-deep);
    }
    .cta-panel h2 { max-width:720px; margin-bottom:13px; font-size:clamp(38px,4.8vw,62px); }
    .cta-panel p { margin-bottom:24px; font-size:17px; }
    .cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
    .cta-actions small { display:inline-flex; align-items:center; gap:7px; color:#606368; }
    .cta-actions small i { color:var(--accent-deep); font-size:17px; }
    .cta-photo {
      height:360px;
      margin:0;
      overflow:hidden;
      border:6px solid rgba(255,255,255,.72);
      border-radius:var(--radius);
      background:#fff;
      box-shadow:0 20px 44px rgba(85,18,31,.14);
      transform:rotate(1deg);
    }
    .cta-photo img { width:100%; height:100%; object-fit:cover; }

    footer { border-top:1px solid var(--line); background:#fff; }
    .footer-main {
      min-height:210px;
      display:grid;
      grid-template-columns:240px minmax(0,1fr) minmax(250px,.55fr);
      gap:50px;
      align-items:center;
    }
    .footer-brand {
      width:210px;
      height:62px;
      overflow:hidden;
    }
    .footer-brand img { width:210px; height:62px; object-fit:cover; object-position:center; }
    .footer-links { display:flex; flex-wrap:wrap; gap:14px 25px; }
    .footer-links a { font-size:14px; font-weight:500; }
    .footer-links a:hover { color:var(--accent-deep); }
    .footer-contact { display:grid; gap:9px; }
    .footer-contact a { display:flex; align-items:center; gap:7px; color:var(--ink); font-size:13px; font-weight:500; }
    .footer-contact a:hover { color:var(--accent-deep); }
    .footer-contact i { color:var(--accent-deep); font-size:18px; }
    .footer-contact small { color:#74777c; font-size:11px; line-height:1.45; }
    .footer-note { grid-column:1 / -1; margin:0 0 22px; font-size:11px; line-height:1.5; }
    .footer-note a { text-decoration:underline; text-underline-offset:2px; }
    .footer-bottom {
      display:flex;
      justify-content:space-between;
      gap:24px;
      padding:20px 0;
      border-top:1px solid var(--line);
      color:#73767b;
      font-size:11px;
    }

    /* Deliberate page rhythm: each chapter gets a distinct visual role. */
    .metric-band {
      border:0;
      color:#fff;
      background:var(--accent-deep);
    }
    .metric { border-color:rgba(255,255,255,.22); }
    .metric:first-child { border-color:rgba(255,255,255,.22); }
    .metric strong { color:#fff; }
    .metric span { color:rgba(255,255,255,.74); }

    #programme {
      position:relative;
      overflow:hidden;
      padding-bottom:0;
      color:#f7f7f8;
      background:
        radial-gradient(circle at 8% 0%,rgba(254,41,77,.15),transparent 28%),
        radial-gradient(circle at 92% 18%,rgba(126,139,170,.11),transparent 25%),
        linear-gradient(135deg,#0b0c0f 0%,#17181d 48%,#101116 100%);
    }
    #programme::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 34%);
    }
    #programme > .container { position:relative; }
    #programme .section-head h2 { color:#f7f7f8; }
    #programme .section-head p { color:rgba(247,247,248,.66); }
    .team-section {
      position:relative;
      border-top:1px solid rgba(9,10,12,.08);
      background:#fff;
      overflow:hidden;
    }
    .team-section::before {
      content:"";
      position:absolute;
      width:420px;
      height:420px;
      right:-240px;
      bottom:-240px;
      border-radius:50%;
      background:var(--accent-soft);
    }
    .team-section > .container { position:relative; }
    .team-card {
      border-color:rgba(9,10,12,.06);
      background:#f6f4ef;
      box-shadow:0 14px 36px rgba(23,19,16,.07);
    }
    .team-card:nth-child(even) { margin-top:28px; }

    .journey-section {
      position:relative;
      color:#fff;
      background:#171518;
      overflow:hidden;
    }
    .journey-section::after {
      content:"";
      position:absolute;
      width:720px;
      height:720px;
      right:-380px;
      top:-420px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:50%;
      box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012);
      pointer-events:none;
    }
    .journey-section > .container { position:relative; z-index:1; }
    .journey-section .section-head h2 { color:#fff; }
    .journey-section .section-head p { color:rgba(255,255,255,.68); }
    .journey-section .section-signal { color:#fff; background:var(--accent-deep); }
    .journey-shell {
      overflow:hidden;
      border:1px solid rgba(255,255,255,.16);
      border-radius:22px;
      box-shadow:0 30px 80px rgba(0,0,0,.28);
    }
    .journey-tabs { border-color:rgba(255,255,255,.14); background:#201e21; }
    .journey-tab { color:#fff; border-color:rgba(255,255,255,.12); }
    .journey-tab i { color:rgba(255,255,255,.54); }
    .journey-tab:hover { background:rgba(255,255,255,.06); }
    .journey-tab[aria-selected="true"] { color:#fff; background:var(--accent-deep); }
    .journey-tab[aria-selected="true"] i,
    .journey-tab[aria-selected="true"] span { color:#fff; }
    .journey-panel { background:#fff; }

    #industries {
      position:relative;
      background:#fff4f6;
    }
    #industries::before {
      content:"";
      position:absolute;
      inset:0 0 auto;
      height:7px;
      background:linear-gradient(90deg,var(--accent-deep) 0 18%,#ff8498 18% 35%,transparent 35%);
    }
    .industry-grid { gap:24px; }
    .industry-card {
      border-color:rgba(112,19,38,.08);
      box-shadow:0 16px 38px rgba(79,27,38,.08);
    }

    .route-section {
      padding:112px 0 !important;
      background:#ece9e2;
    }
    .route-layout {
      gap:0;
      overflow:hidden;
      border:1px solid rgba(9,10,12,.08);
      border-radius:24px;
      background:#fff;
      box-shadow:0 28px 70px rgba(39,33,28,.12);
    }
    .route-photo { min-height:680px; border-radius:0; }
    .route-tool { padding:54px; }

    .support-section { position:relative; background:#fff; }
    .support-list {
      display:grid;
      gap:12px;
      border:0;
    }
    .support-item {
      padding:23px;
      border:1px solid rgba(9,10,12,.08);
      border-radius:var(--radius);
      background:#f7f5f0;
      transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
    }
    .support-item:hover {
      border-color:#e2a1ad;
      box-shadow:0 14px 34px rgba(53,28,33,.07);
      transform:translateX(4px);
    }
    .support-item > i { background:var(--accent-soft); }

    #faq { background:#f1efea; }
    .faq {
      display:grid;
      gap:10px;
      border:0;
    }
    .faq details {
      padding:0 20px;
      border:1px solid rgba(9,10,12,.07);
      border-radius:14px;
      background:#fff;
      transition:border-color .2s ease,box-shadow .2s ease;
    }
    .faq details[open] {
      border-color:#e5a7b2;
      box-shadow:0 12px 32px rgba(78,35,44,.07);
    }
    .faq summary { min-height:76px; }
    .faq details p { padding-bottom:23px; }
    .faq-photo { box-shadow:0 20px 48px rgba(38,31,27,.12); }

    .final-cta { padding:0 0 112px; background:#f1efea; }
    .cta-panel {
      border:0;
      color:#fff;
      background:var(--accent-deep);
      box-shadow:0 28px 70px rgba(95,7,25,.24);
    }
    .cta-panel::before { background:#fff; }
    .cta-panel h2 { color:#fff; }
    .cta-panel p,
    .cta-actions small { color:rgba(255,255,255,.76); }
    .cta-panel .btn-primary { color:var(--accent-deep); background:#fff; box-shadow:none; }
    .cta-panel .btn-primary:hover { background:#fff3f5; box-shadow:0 12px 30px rgba(49,0,9,.18); }
    .cta-panel .text-link { color:#fff; }
    .cta-actions small i { color:#fff; }

    .quick-actions { display:none; }

    @media (max-width:1120px) {
      .hero-grid { grid-template-columns:minmax(0,1fr) minmax(340px,390px); gap:42px; }
      .nav-contact { display:none; }
      .proof-choice { padding-inline:12px; }
      .review-grid { grid-template-columns:1fr; }
      .review-card--quote { min-height:300px; }
      .review-stack { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:none; }
      .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .journey-panel { grid-template-columns:90px minmax(0,1fr); }
      .journey-visual { grid-column:2; }
      .programme-sequence { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .programme-step:nth-child(2) { border-right:0; }
      .programme-step:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.14); }
      .programme-step-content > p { min-height:0; }
    }

    @media (max-width:900px) {
      .nav-links, .nav-cta { display:none; }
      .menu-toggle { display:grid; }
      .hero { padding-top:48px; }
      .hero-grid { min-height:auto; grid-template-columns:1fr; gap:38px; }
      .hero-background { width:100%; opacity:1; }
      .hero-copy { padding-right:0; }
      .lead-form { width:min(100%,620px); }
      .metric-grid { grid-template-columns:repeat(2,1fr); }
      .metric:nth-child(3) { border-left:1px solid var(--line); border-top:1px solid var(--line); }
      .metric:nth-child(4) { border-top:1px solid var(--line); }
      .metric:nth-child(3), .metric:nth-child(4) { border-color:rgba(255,255,255,.22); }
      .route-layout, .support-layout, .faq-layout { grid-template-columns:1fr; }
      .industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .proof-intro { grid-template-columns:1fr; gap:22px; }
      .proof-stage { min-height:540px; }
      .proof-choice { min-height:90px; }
      .team-intro { grid-template-columns:1fr; gap:18px; }
      .expert-dialog-panel { grid-template-columns:1fr; max-height:calc(100vh - 32px); overflow:auto; }
      .expert-dialog-panel > img { height:300px; min-height:0; }
      .expert-dialog-copy { padding:34px; }
      .journey-tabs { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
      .journey-tab { flex:0 0 180px; scroll-snap-align:start; }
      .route-photo { min-height:460px; }
      .route-tool { padding:42px; }
      .support-intro { position:static; }
      .cta-panel { grid-template-columns:1fr; padding:42px; }
      .cta-photo { transform:none; }
      .footer-main { grid-template-columns:1fr 1.5fr; padding:44px 0; }
      .footer-contact { grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); }
      .footer-note { grid-column:1 / -1; }
    }

    @media (max-width:680px) {
      .container { width:min(100% - 32px,var(--container)); }
      .site-header .nav { min-height:70px; }
      .brand { width:164px; height:49px; }
      .brand img { width:164px; height:49px; }
      .mobile-menu { inset:70px 0 auto; }
      .hero { padding:42px 0 48px; }
      .hero h1 { font-size:clamp(40px,12vw,52px); }
      .hero h1 span { display:inline; }
      .hero h1 span + span::before { content:" "; }
      .hero-lede { font-size:16px; }
      .hero-actions { flex-direction:column; align-items:stretch; }
      .hero-actions .btn { width:100%; }
      .hero-proof { gap:18px; }
      .hero-proof dd { font-size:15px; }
      .lead-form { padding:23px; }
      .form-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
      .metric { min-height:112px; padding:18px 15px; }
      .metric strong { font-size:22px; }
      section.light-section { padding:78px 0; }
      .section-head { margin-bottom:34px; }
      .section-head h2 { font-size:clamp(36px,11vw,48px); }
      .section-head p { font-size:16px; }
      #programme { padding-top:78px; }
      .programme-sequence { grid-template-columns:1fr; }
      .programme-step,
      .programme-step:nth-child(2) { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
      .programme-step:last-child { border-bottom:0; }
      .programme-step-media { aspect-ratio:16 / 10; }
      .programme-step-title { left:22px; right:22px; bottom:22px; }
      .programme-step-content { padding:27px 22px 32px; }
      .programme-step-index { margin-bottom:12px; font-size:48px; }
      .programme-step h3 { font-size:28px; }
      .programme-step-content > p { min-height:0; }
      .check-list { grid-template-columns:1fr; }
      .proof-section { padding:78px 0; }
      .proof-intro { padding-bottom:30px; }
      .proof-intro h2 { font-size:clamp(38px,11vw,49px); }
      .proof-showcase { padding:8px; border-radius:22px; }
      .proof-stage { min-height:500px; border-radius:16px; }
      .proof-stage-top { inset:16px 16px auto; }
      .proof-stage-stat { display:none; }
      .proof-stage-content { inset:auto 24px 27px; }
      .proof-stage h3 { font-size:clamp(34px,10vw,44px); }
      .proof-stage-content > p:not(.proof-stage-label) { font-size:14px; }
      .proof-selector {
        display:flex;
        gap:6px;
        padding-bottom:2px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:inline mandatory;
        scrollbar-width:none;
      }
      .proof-selector::-webkit-scrollbar { display:none; }
      .proof-choice { flex:0 0 205px; min-height:82px; padding:14px 12px; scroll-snap-align:start; }
      .proof-social-label { align-items:flex-start; flex-direction:column; gap:5px; margin-top:34px; }
      .review-card { padding:22px; }
      .review-card--quote { min-height:280px; padding:28px 24px; }
      .review-stack { grid-template-columns:1fr; }
      .review-option { padding:15px; }
      .team-section { padding:78px 0; }
      .team-card:nth-child(even) { margin-top:0; }
      .team-grid { grid-template-columns:1fr; }
      .team-card img { aspect-ratio:4 / 3.8; }
      .expert-dialog-panel > img { height:240px; }
      .expert-dialog-copy { padding:28px 22px; }
      .journey-panel { min-height:360px; grid-template-columns:1fr; gap:18px; padding:28px 22px; }
      .journey-index { font-size:52px; }
      .journey-panel h3 { font-size:34px; }
      .journey-visual { grid-column:auto; }
      .industry-grid { grid-template-columns:1fr; }
      .route-photo { min-height:360px; }
      .route-tool { padding:32px 22px 36px; }
      .cost-line { align-items:flex-start; flex-direction:column; }
      .support-item { grid-template-columns:46px minmax(0,1fr); }
      .faq summary { font-size:16px; }
      .faq details p { padding-right:0; }
      .final-cta { padding-bottom:86px; }
      .cta-panel { padding:32px 24px; }
      .footer-main { grid-template-columns:1fr; gap:28px; }
      .footer-contact { grid-column:auto; grid-template-columns:1fr; }
      .footer-note { grid-column:auto; }
      .footer-bottom { flex-direction:column; }
      .quick-actions {
        position:fixed;
        left:10px;
        right:10px;
        bottom:10px;
        z-index:70;
        display:grid;
        grid-template-columns:.8fr 1.2fr;
        gap:8px;
        padding:8px;
        border:1px solid rgba(255,255,255,.18);
        border-radius:14px;
        background:rgba(5,6,8,.94);
        box-shadow:0 16px 38px rgba(0,0,0,.28);
        backdrop-filter:blur(16px);
        opacity:0;
        transform:translateY(calc(100% + 24px));
        pointer-events:none;
        transition:opacity .22s ease, transform .22s ease;
      }
      .quick-actions.is-visible { opacity:1; transform:none; pointer-events:auto; }
      .quick-actions .btn { min-height:44px; padding:0 12px; font-size:12px; }
    }

    @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
      .site-header { background:#fff; }
      .lead-form { background:rgba(10,11,13,.9); }
      .quick-actions { background:#050608; }
    }

    @media (prefers-reduced-transparency:reduce) {
      .site-header { background:#fff; backdrop-filter:none; }
      .lead-form { background:rgba(10,11,13,.92); backdrop-filter:none; }
      .quick-actions { background:#050608; backdrop-filter:none; }
    }

    @media (prefers-reduced-motion:reduce) {
      html { scroll-behavior:auto; }
      *, *::before, *::after {
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
      }
    }
