
  /* ---------- tokens ---------- */
  :root{
    --blue:#004AAD;
    --blue-deep:#003170;
    --blue-tint:#E8EFFA;
    --orange:#FF751F;
    --orange-deep:#D45F10;
    --orange-tint:#FFF1E7;
    --neutral:#F2F2F2;
    --white:#FFFFFF;
    --ink:#2B2E30;
    --ink-soft:#5B6063;
    --line:#DDE1E6;
    --bg:var(--neutral);
    --surface:var(--white);
    --text:var(--ink);
    --text-soft:var(--ink-soft);
    --header-h:76px;
    
  }

  *{box-sizing:border-box;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Poppins',Arial,Helvetica,sans-serif;
    padding-left:max(16px, env(safe-area-inset-left,0px));
    padding-right:max(16px, env(safe-area-inset-right,0px));
  }
  h1,h2,h3{font-weight:800; text-wrap:balance; margin:0; letter-spacing:-0.01em;}
  p{margin:0; line-height:1.65;}
  a{color:inherit; text-decoration:none;}
  button{font-family:inherit; cursor:pointer;}
  .wrap{max-width:1180px; margin:0 auto;}

  /* ---------- chrome: header + subnav (fixed) ---------- */
  .chrome{
    position:fixed; top:env(safe-area-inset-top,0px); left:0; right:0; z-index:50;
  }
  header.top{
    background:var(--white);
    border-bottom:1px solid var(--line);
    box-shadow:0 1px 0 rgba(0,0,0,.02);
  }
  .top-inner{
    max-width:1180px; margin:0 auto; height:var(--header-h);
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    padding:0 16px;
  }
  .brand{display:flex; align-items:center; gap:10px; flex-shrink:0;}
  .brand img{height:40px; width:auto; display:block;}
  nav.primary{display:flex; align-items:center; gap:4px; flex:1; justify-content:center;}
  nav.primary button{
    background:none; border:none; color:var(--ink-soft); font-size:14px; font-weight:600;
    padding:8px 14px; border-radius:6px; white-space:nowrap;
  }
  nav.primary button:hover{background:var(--blue-tint); color:var(--blue);}
  nav.primary button.active{color:var(--blue); background:var(--blue-tint);}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:11px 20px; border-radius:6px; font-size:14px; font-weight:700;
    border:1.5px solid transparent; white-space:nowrap;
  }
  .btn-primary{background:var(--orange); color:var(--white);}
  .btn-primary:hover{background:var(--orange-deep);}
  .btn-outline{background:transparent; color:var(--blue); border-color:var(--blue);}
  .btn-outline:hover{background:var(--blue-tint);}
  .btn-ghost-white{background:rgba(255,255,255,.12); color:var(--white); border-color:rgba(255,255,255,.5);}
  .btn-ghost-white:hover{background:rgba(255,255,255,.22);}

  .subnav{
    background:var(--blue-deep); color:var(--white);
  }
  .subnav-inner{
    max-width:1180px; margin:0 auto; height:var(--subnav-h);
    display:flex; align-items:center; gap:6px; padding:0 16px; overflow-x:auto;
  }
  .subnav-label{font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.55); margin-right:6px; flex-shrink:0;}
  .subnav button{
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.85);
    font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:999px; flex-shrink:0;
  }
  .subnav button:hover{background:rgba(255,255,255,.18);}
  .subnav button.active{background:var(--orange); border-color:var(--orange); color:var(--white);}

  /* ---------- content shell ---------- */
  main{padding-top:28px; padding-bottom:60px;}
  .page{display:flex; flex-direction:column; gap:0;}

  /* ---------- reusable blocks ---------- */
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700;
    letter-spacing:.09em; text-transform:uppercase; color:var(--orange); margin-bottom:14px;
  }
  .eyebrow::before{content:""; width:18px; height:2px; background:var(--orange); display:inline-block;}
  section.band{padding-block:56px;}
  section.band .wrap{padding-inline:16px;}
  .band-tight{padding-block:40px;}
  h2.section-title{font-size:clamp(22px,3vw,30px); margin-bottom:8px;}
  .section-sub{color:var(--text-soft); font-size:15px; max-width:640px; margin-bottom:28px;}

  .hero{background:var(--white); border-bottom:1px solid var(--line);}
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding-block:54px;}
  .hero h1{font-size:clamp(30px,4.2vw,46px); line-height:1.08; margin-bottom:18px;}
  .hero .lede{font-size:16.5px; color:var(--text-soft); max-width:520px; margin-bottom:28px;}
  .hero-visual{
    background:linear-gradient(155deg, var(--blue) 0%, var(--blue-deep) 100%);
    border-radius:14px; min-height:320px; display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden;
  }
  .hero-visual img{height:150px; width:auto; filter:drop-shadow(0 12px 24px rgba(0,0,0,.25));}
  .hero-visual::after{
    content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 75% 20%, rgba(255,117,31,.35), transparent 55%);
  }
  .cta-row{display:flex; gap:12px; flex-wrap:wrap;}

  .grid{display:grid; gap:18px;}
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
  .grid-6{grid-template-columns:repeat(6,minmax(0,1fr));}
  @media (max-width:860px){
    .hero-grid{grid-template-columns:1fr;}
    .grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
    .grid-6{grid-template-columns:repeat(3,minmax(0,1fr));}
  }
  @media (max-width:560px){
    .grid-2,.grid-3,.grid-4,.grid-6{grid-template-columns:1fr;}
  }

  .card{
    background:var(--white); border:1px solid var(--line); border-radius:10px; padding:22px;
    display:flex; flex-direction:column; gap:8px;
  }
  .card h3{font-size:15.5px;}
  .card p{font-size:13.5px; color:var(--text-soft);}
  .card .num{font-size:12px; font-weight:800; color:var(--orange); letter-spacing:.04em;}

  .tag{
    display:inline-flex; padding:5px 11px; border-radius:4px; font-size:11px; font-weight:800;
    letter-spacing:.06em; text-transform:uppercase; width:fit-content;
  }
  .tag-blue{background:var(--blue); color:var(--white);}
  .tag-orange{background:var(--orange); color:var(--white);}
  .tag-outline{background:var(--white); border:1px solid var(--blue); color:var(--blue);}
  .tag-tbd{background:var(--orange-tint); color:var(--orange-deep); border:1px solid var(--orange);}

  .chip{
    display:inline-flex; padding:7px 14px; border-radius:999px; font-size:12.5px; font-weight:600;
    background:var(--white); border:1px solid var(--line); color:var(--ink);
  }
  .chip-row{display:flex; flex-wrap:wrap; gap:8px;}

  .blue-band{background:var(--blue); color:var(--white);}
  .blue-band .section-sub{color:rgba(255,255,255,.78);}
  .blue-band .card{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18);}
  .blue-band .card h3{color:var(--white);}
  .blue-band .card p{color:rgba(255,255,255,.75);}

  .closing{
    background:var(--blue-deep); color:var(--white); text-align:center; padding-block:64px;
  }
  .closing h2{font-size:clamp(24px,3.4vw,32px); margin-bottom:22px;}

  footer.site{background:#1B1D1F; color:rgba(255,255,255,.65); padding:40px 16px;}
  footer.site .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; font-size:13px;}
  footer.site img{height:34px; width:auto; opacity:.95; margin-bottom:12px; display:block;}

  .fine{font-size:12.5px; color:var(--text-soft); font-style:italic;}
  .note-tbd{
    background:var(--orange-tint); border:1px solid #FFD8B8; color:var(--orange-deep);
    border-radius:8px; padding:10px 14px; font-size:12.5px; font-weight:600;
  }
  .divider{height:1px; background:var(--line); margin-block:0;}

  .service-group h3.group-title{
    font-size:13px; text-transform:uppercase; letter-spacing:.07em; color:var(--blue);
    margin-bottom:16px; padding-bottom:10px; border-bottom:2px solid var(--blue-tint);
  }

  .list-check{display:flex; flex-direction:column; gap:10px;}
  .list-check li{list-style:none; display:flex; gap:10px; align-items:flex-start; font-size:14px;}
  .list-check li::before{content:"—"; color:var(--orange); font-weight:800; flex-shrink:0;}

  .external-callout{
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    background:var(--blue-tint); border:1px solid #C7D8F2; border-radius:10px; padding:18px 22px;
  }
  .external-callout .btn-outline{border-color:var(--blue);}

  .page-kicker{font-size:12px; color:var(--text-soft); font-family:monospace; margin-bottom:4px;}

  /* ---------- live cohort page: accordion, schedule table, pricing, modal ---------- */
  .accordion{border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--white);}
  .accordion + .accordion{margin-top:10px;}
  .accordion summary{
    list-style:none; cursor:pointer; padding:16px 18px; font-weight:700; font-size:14.5px;
    display:flex; align-items:center; justify-content:space-between; gap:12px;
  }
  .accordion summary::-webkit-details-marker{display:none;}
  .accordion summary::after{content:"+"; color:var(--blue); font-size:18px; font-weight:700; flex-shrink:0;}
  .accordion[open] summary::after{content:"\2013";}
  .accordion .accordion-body{padding:0 18px 16px; font-size:13.5px; color:var(--text-soft); line-height:1.6;}

  .table-scroll{overflow-x:auto;}
  table.schedule{width:100%; border-collapse:collapse; font-size:13.5px; min-width:560px;}
  table.schedule th{background:var(--blue); color:var(--white); text-align:left; padding:10px 14px; font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; font-weight:700;}
  table.schedule td{padding:10px 14px; border-bottom:1px solid var(--line);}
  table.schedule tr:last-child td{border-bottom:none;}
  table.schedule tbody tr:nth-child(even) td{background:var(--neutral);}

  .pricing-card{background:var(--white); color:var(--text); border:2px solid var(--blue); border-radius:14px; padding:32px; max-width:460px; margin:0 auto;}
  .pricing-card p{color:var(--text-soft);}
  .price-tbd{font-size:32px; font-weight:800; color:var(--blue); letter-spacing:.02em;}

  .modal-overlay{position:fixed; inset:0; background:rgba(27,29,31,.6); z-index:200; display:flex; align-items:center; justify-content:center; padding:20px;}
  .modal-overlay[hidden]{display:none;}
  .modal-panel{background:var(--white); border-radius:12px; padding:30px; max-width:420px; width:100%; position:relative;}
  .modal-close{position:absolute; top:12px; right:12px; background:none; border:none; font-size:20px; line-height:1; color:var(--text-soft); padding:6px;}

  /* ---------- production additions ---------- */
  html{scroll-behavior:smooth;}
  body{margin:0; font-size:15px; -webkit-font-smoothing:antialiased;}
  [hidden]{display:none !important;}
  img{max-width:100%;}
  .skip{position:absolute; left:-999px; top:8px; background:var(--blue); color:var(--white); padding:8px 14px; border-radius:6px; z-index:100;}
  .skip:focus{left:16px;}
  a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange); outline-offset:2px;}

  .chrome{position:sticky; top:env(safe-area-inset-top,0px); margin-inline:calc(-1 * max(16px, env(safe-area-inset-left,0px)));}
  .brand img{height:36px;}
  nav.primary a{color:var(--ink-soft); font-size:14px; font-weight:600; padding:8px 14px; border-radius:6px; white-space:nowrap;}
  nav.primary a:hover{background:var(--blue-tint); color:var(--blue);}
  nav.primary a[aria-current="page"]{color:var(--blue); background:var(--blue-tint);}
  .menu-toggle{display:none; background:none; border:1.5px solid var(--line); border-radius:6px; width:42px; height:42px; align-items:center; justify-content:center; color:var(--blue);}
  .menu-toggle svg{width:22px; height:22px;}
  .mobile-nav{background:var(--white); border-bottom:1px solid var(--line); padding:8px 16px 16px;}
  .mobile-nav a{display:block; padding:12px 4px; font-weight:600; border-bottom:1px solid var(--line); color:var(--ink);}
  .mobile-nav a[aria-current="page"]{color:var(--blue);}
  .mobile-nav .btn{margin-top:14px; width:100%;}
  @media (max-width:980px){
    nav.primary{display:none;}
    .menu-toggle{display:inline-flex;}
    .top-inner > .btn-primary{display:none;}
  }
  @media (min-width:981px){ .mobile-nav{display:none !important;} }

  .hero-visual .icon-tile{position:relative; z-index:1; background:var(--white); border-radius:22px; padding:28px; display:flex;}
  .hero-visual img{height:130px; width:auto; display:block; filter:none;}

  footer.site{margin-inline:calc(-1 * max(16px, env(safe-area-inset-left,0px)));}
  footer.site .wrap{align-items:flex-start;}
  footer.site .logo-plate{background:var(--white); border-radius:8px; padding:10px 14px; display:inline-flex; margin-bottom:12px;}
  footer.site img{height:30px; width:auto; display:block; margin:0; opacity:1;}
  footer.site a:hover{color:var(--white);}
  footer.site .col{display:flex; flex-direction:column; gap:8px;}
  footer.site .col-title{color:var(--white); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px;}
  footer.site .legal-line{max-width:1180px; margin:28px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); font-size:12px; color:rgba(255,255,255,.5);}

  .btn{cursor:pointer;}
  a.btn{display:inline-flex;}
  .text-link{font-size:13.5px; font-weight:700; color:var(--blue); margin-top:6px;}
  .text-link:hover{text-decoration:underline;}
  .industry{text-align:center; padding:16px 10px; font-size:12.5px; font-weight:700; justify-content:center;}
  .label-sm{font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--blue); margin-bottom:6px;}
  .page-head{padding-block:24px 8px;}
  .page-head h1{font-size:clamp(28px,3.6vw,40px); line-height:1.12; margin-bottom:12px;}
  .price-note{font-size:15px; font-weight:700; color:var(--blue);}

  /* forms */
  .form{display:flex; flex-direction:column; gap:14px;}
  .field{display:flex; flex-direction:column; gap:6px;}
  .field label{font-size:12.5px; font-weight:700; color:var(--ink);}
  .field .opt{font-weight:500; color:var(--ink-soft);}
  .field input,.field select,.field textarea{font:inherit; font-size:14px; color:var(--ink); background:var(--white); border:1.5px solid var(--line); border-radius:6px; padding:11px 13px; width:100%;}
  .field textarea{min-height:130px; resize:vertical;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue); outline:none;}
  .intent-row{display:flex; flex-wrap:wrap; gap:8px;}
  .intent-row input{position:absolute; opacity:0; pointer-events:none;}
  .intent-row label{display:inline-flex; padding:8px 14px; border-radius:999px; font-size:13px; font-weight:600; background:var(--white); border:1.5px solid var(--line); cursor:pointer;}
  .intent-row input:checked + label{background:var(--blue); border-color:var(--blue); color:var(--white);}
  .intent-row input:focus-visible + label{outline:2px solid var(--orange); outline-offset:2px;}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .form-status{font-size:13.5px; font-weight:600; border-radius:8px; padding:12px 14px;}
  .form-status.ok{background:#E7F5EC; color:#1C6B3A; border:1px solid #BFE3CC;}
  .form-status.err{background:var(--orange-tint); color:#A8470A; border:1px solid #FFD8B8;}
  .contact-list{display:flex; flex-direction:column; gap:14px; font-size:14px;}
  .contact-list strong{display:block; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--blue); margin-bottom:2px;}

  .prose{max-width:760px;}
  .prose h2{font-size:20px; margin:30px 0 10px;}
  .prose p,.prose li{font-size:14.5px; line-height:1.7; color:var(--ink);}
  .prose ul{padding-left:20px; margin:8px 0;}
  .prose p + p{margin-top:10px;}

  @media (max-width:560px){
    :root{--header-h:64px;}
    .brand img{height:30px;}
    .hero-grid{padding-inline:20px !important; padding-block:32px;}
    .blue-band{padding-inline:20px !important;}
    .hero-visual{min-height:220px;}
    .pricing-card{padding:22px;}
  }
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{transition:none !important;} }
  .contact-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);}
  @media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
  .mobile-nav a.btn{color:var(--white); border-bottom:none; padding:12px 20px;}

  /* ---------- v2: graphics, stats, people ---------- */
  svg.art, svg.hero-art{width:100%; height:auto; display:block;}
  .hero-art-wrap{border-radius:20px; overflow:hidden; box-shadow:0 24px 60px -24px rgba(0,49,112,.45);}
  .hero-home{grid-template-columns:1fr 1.05fr;}
  .stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-top:22px;}
  .stat{background:var(--white); padding:22px 20px;}
  .stat-num{font-size:clamp(26px,3vw,34px); font-weight:800; color:var(--blue); letter-spacing:-.01em; font-variant-numeric:tabular-nums;}
  .stat:first-child .stat-num{color:var(--orange);}
  .stat-label{font-size:13px; color:var(--text-soft); margin-top:4px; line-height:1.45;}
  .way-head{display:flex; align-items:center; gap:12px;}
  .way-ico{width:46px; height:46px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;}
  .way-ico svg{width:26px; height:26px;}
  .way-blue{background:var(--blue-tint); color:var(--blue);}
  .way-orange{background:var(--orange-tint); color:var(--orange);}
  .card-media{margin:-26px -26px 16px; border-bottom:1px solid var(--line); background:var(--neutral); border-radius:10px 10px 0 0; overflow:hidden;}
  .card-media svg{display:block;}
  .card-ico{width:44px; height:44px; border-radius:11px; background:var(--blue-tint); color:var(--blue); display:inline-flex; align-items:center; justify-content:center; margin-bottom:4px;}
  .card-ico svg{width:24px; height:24px;}
  .industry{align-items:center; gap:10px;}
  .ind-ico{width:40px; height:40px; border-radius:50%; background:var(--orange-tint); color:var(--orange); display:inline-flex; align-items:center; justify-content:center;}
  .ind-ico svg{width:22px; height:22px;}
  .split{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
  .split-art{border-radius:18px; overflow:hidden; box-shadow:0 24px 60px -28px rgba(0,49,112,.45);}
  .platform-art{margin-top:28px; background:linear-gradient(160deg,var(--blue-tint),var(--neutral)); border:1px solid var(--line); border-radius:18px; padding:clamp(10px,3vw,36px);}
  .method{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:36px; align-items:center;}
  .method-art{max-width:460px; margin:0 auto; width:100%;}

  .leader{display:grid; grid-template-columns:300px 1fr; gap:40px; align-items:center;}
  .leader-role{color:var(--orange); font-weight:700; font-size:14px; margin:-2px 0 12px;}
  .photo-frame{position:relative; margin:0; aspect-ratio:4/5; border-radius:18px; overflow:hidden; background:linear-gradient(160deg,var(--blue) 0%,var(--blue-deep) 100%); box-shadow:0 0 0 6px var(--white),0 0 0 8px var(--blue-tint),0 24px 50px -24px rgba(0,49,112,.5);}
  .photo-frame::after{content:""; position:absolute; right:-40px; bottom:-40px; width:140px; height:140px; border-radius:50%; border:14px solid var(--orange); opacity:.9; pointer-events:none;}
  .photo-frame img{width:100%; height:100%; object-fit:cover; display:block; position:relative; z-index:1;}
  .photo-frame.small{aspect-ratio:1/1; border-radius:14px; box-shadow:0 0 0 4px var(--white),0 0 0 5px var(--line);}
  .photo-frame.small::after{width:80px; height:80px; right:-26px; bottom:-26px; border-width:9px;}
  .photo-empty{display:none; position:absolute; inset:0; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:rgba(255,255,255,.85); font-size:13px; font-weight:600;}
  .photo-empty svg{width:40px; height:40px;}
  .photo-frame.is-empty .photo-empty{display:flex;}

  .slider-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:22px; flex-wrap:wrap;}
  .slider-head .section-title{margin-bottom:0;}
  .slider-nav{display:flex; gap:8px;}
  .slider-btn{width:44px; height:44px; border-radius:50%; border:1.5px solid var(--blue); background:var(--white); color:var(--blue); display:inline-flex; align-items:center; justify-content:center;}
  .slider-btn:hover{background:var(--blue); color:var(--white);}
  .slider-btn svg{width:20px; height:20px;}
  .slider-track{display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 3*18px)/4); gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 4px 16px; scrollbar-width:thin;}
  .person{scroll-snap-align:start; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:16px 16px 20px; display:flex; flex-direction:column; gap:6px;}
  .person .photo-frame{margin-bottom:12px;}
  .person-name{font-size:16px;}
  .person-role{font-size:13px; font-weight:700; color:var(--orange);}
  .person-bio{font-size:13px; color:var(--text-soft);}

  @media (max-width:980px){
    .hero-home,.split,.method{grid-template-columns:1fr;}
    .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
    .slider-track{grid-auto-columns:calc((100% - 18px)/2);}
    .leader{grid-template-columns:240px 1fr; gap:28px;}
  }
  @media (max-width:640px){
    .leader{grid-template-columns:1fr;}
    .leader .photo-frame{max-width:280px;}
    .slider-track{grid-auto-columns:78%;}
    .method-cards{grid-template-columns:1fr;}
  }

  /* ---------- v3: services dropdown, pricing offers ---------- */
  nav.primary{gap:6px;}
  .nav-drop{position:relative;}
  .nav-drop-btn{display:inline-flex; align-items:center; gap:6px; background:none; border:none; color:var(--ink-soft); font-size:14px; font-weight:600; padding:8px 14px; border-radius:6px; white-space:nowrap;}
  .nav-drop-btn svg{width:16px; height:16px; transition:transform .15s;}
  .nav-drop-btn:hover,.nav-drop-btn.is-active,.nav-drop.open .nav-drop-btn{background:var(--blue-tint); color:var(--blue);}
  .nav-drop.open .nav-drop-btn svg{transform:rotate(180deg);}
  .drop-menu{position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%); min-width:320px; background:var(--white); border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 40px -18px rgba(0,49,112,.35); padding:8px; display:none; z-index:60;}
  .drop-menu::before{content:""; position:absolute; top:-10px; left:0; right:0; height:10px;}
  .nav-drop.open .drop-menu{display:block;}
  @media (hover:hover){ .nav-drop:hover .drop-menu{display:block;} .nav-drop:hover .nav-drop-btn svg{transform:rotate(180deg);} }
  .drop-menu a{display:flex; flex-direction:column; gap:2px; padding:11px 14px; border-radius:8px; color:var(--ink);}
  .drop-menu a strong{font-size:14.5px; font-weight:700;}
  .drop-menu a span{font-size:12.5px; color:var(--ink-soft); font-weight:500;}
  .drop-menu a:hover,.drop-menu a[aria-current="page"]{background:var(--blue-tint);}
  .drop-menu a:hover strong,.drop-menu a[aria-current="page"] strong{color:var(--blue);}
  .mobile-nav .m-group{padding:14px 4px 4px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--orange);}
  .mobile-nav a.m-sub{padding-left:18px;}
  .stat-word{font-size:clamp(22px,2.4vw,28px); line-height:1.25; padding-top:4px;}
  .achievements{padding:0; margin:0 0 20px; max-width:760px;}
  .achievements li{font-size:14.5px; line-height:1.6;}
  .offer-grid{margin:16px 0 18px; max-width:880px;}
  .offer h3{font-size:17px;}
  .offer p{font-size:14px;}
  .card-ico-orange{background:var(--orange-tint); color:var(--orange);}

  /* ---------- v4: photo carousel ---------- */
  .carousel{position:relative; margin-top:22px; border-radius:18px; overflow:hidden; background:var(--blue-deep); aspect-ratio:21/9; min-height:360px;}
  .slides{position:absolute; inset:0;}
  .slide{position:absolute; inset:0; margin:0; opacity:0; transition:opacity .7s ease; pointer-events:none;}
  .slide.is-active{opacity:1; pointer-events:auto;}
  .slide img{width:100%; height:100%; object-fit:cover; display:block;}
  .slide::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,26,64,.82) 0%,rgba(0,26,64,.55) 38%,rgba(0,26,64,0) 70%);}
  .slide figcaption{position:absolute; z-index:1; left:clamp(20px,5vw,56px); top:50%; transform:translateY(-50%); max-width:min(460px,70%); color:var(--white); display:flex; flex-direction:column; gap:10px; align-items:flex-start;}
  .slide-eyebrow{font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--orange);}
  .slide figcaption strong{font-size:clamp(24px,3.2vw,38px); line-height:1.12; font-weight:800; letter-spacing:-.01em;}
  .slide-text{font-size:15px; line-height:1.6; color:rgba(255,255,255,.88); margin-bottom:6px;}
  .car-btn{position:absolute; z-index:2; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; border:1.5px solid rgba(255,255,255,.6); background:rgba(0,26,64,.35); color:var(--white); display:inline-flex; align-items:center; justify-content:center; backdrop-filter:blur(4px);}
  .car-btn:hover{background:var(--orange); border-color:var(--orange);}
  .car-btn svg{width:20px; height:20px;}
  .car-prev{left:14px;} .car-next{right:14px;}
  .dots{position:absolute; z-index:2; bottom:18px; left:50%; transform:translateX(-50%); display:flex; gap:8px;}
  .dot{width:10px; height:10px; border-radius:999px; border:none; background:rgba(255,255,255,.5); padding:0; transition:width .25s;}
  .dot.is-active{width:28px; background:var(--orange);}
  .car-prev{display:none;}
  @media (min-width:761px){ .car-prev{display:inline-flex;} .slide figcaption{left:84px;} }
  @media (max-width:760px){
    .carousel{aspect-ratio:auto; min-height:520px;}
    .slide::after{background:linear-gradient(0deg,rgba(0,26,64,.9) 0%,rgba(0,26,64,.6) 45%,rgba(0,26,64,0) 75%);}
    .slide figcaption{top:auto; bottom:48px; transform:none; max-width:none; right:20px;}
    .car-btn{top:22px; transform:none; width:40px; height:40px;}
    .car-next{right:14px;}
  }
  @media (prefers-reduced-motion:reduce){ .slide{transition:none;} }

  /* ---------- v5: photos ---------- */
  figure.photo{margin:0; border-radius:18px; overflow:hidden; background:var(--blue-tint); box-shadow:0 24px 60px -28px rgba(0,49,112,.45);}
  figure.photo img{width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:3/2;}
  .photo-wide{margin-top:28px !important;}
  .photo-wide img{aspect-ratio:21/9; object-position:center 30%;}
  .slide img{object-position:center top;}
  @media (max-width:760px){ .photo-wide img{aspect-ratio:3/2;} }
  .slide::after{background:linear-gradient(0deg,rgba(0,26,64,.88) 0%,rgba(0,26,64,.55) 32%,rgba(0,26,64,0) 62%);}
  .slide figcaption{top:auto; transform:none; bottom:52px; max-width:min(640px,80%); gap:8px;}
  .slide figcaption strong{font-size:clamp(24px,2.8vw,34px);}
  @media (min-width:761px){ .slide figcaption{left:84px;} }
  .hero-photo img{aspect-ratio:5/4;}
  @media (max-width:980px){ .hero-photo img{aspect-ratio:3/2;} }
  .slide img{object-position:center 45%;}

  /* ---------- v7: real platform screenshots ---------- */
  .platform-head{margin-bottom:8px;}
  .platform-head .external-callout{margin-top:18px;}
  figure.platform-art.shot{margin:28px 0 0;}
  .platform-art.shot img{width:100%; height:auto; display:block; border-radius:14px; box-shadow:0 30px 60px -30px rgba(0,49,112,.45); border:1px solid var(--line);}
  .platform-art.shot figcaption{font-size:13px; color:var(--text-soft); text-align:center; margin-top:14px;}
  .card-media img{width:100%; height:auto; display:block; aspect-ratio:3/2; object-fit:cover;}

  /* ---------- v8 ---------- */
  .btn-visit{box-shadow:0 8px 18px -8px rgba(255,117,31,.6);}
  .btn-visit:hover{background:var(--orange-deep);}
  .slider-nav[hidden]{display:none !important;}
  .slider-track{grid-auto-columns:calc((100% - 3*18px)/4);}

/* v10: top carousel, cohort dates, mobile team slider fix */
.carousel-top{margin-top:0;}
.slide-title{font-size:clamp(28px,4vw,50px);line-height:1.08;font-weight:800;margin:0 0 12px;color:#fff;}
.slide-lead .slide-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.cohort-date{display:inline-flex;flex-direction:column;gap:2px;margin:12px 0 8px;padding:10px 16px;border-radius:12px;background:#FFF1E7;color:#B8480A;font-size:15px;border:1px solid #FFD2B3;}
.cohort-date strong{font-weight:800;}
.cohort-date span{font-weight:600;color:#7a3a10;font-size:14px;}
.cohort-note{margin:10px 0 0;padding:8px 12px;border-left:3px solid var(--orange,#FF751F);background:#FFF6EF;border-radius:6px;font-size:15px;}
@media (max-width:980px){.slider-track{grid-auto-columns:calc((100% - 18px)/2);}}
@media (max-width:640px){.slider-track{grid-auto-columns:82%;}}
.slider-track .person{min-width:0;}
.slider-track .person *{overflow-wrap:break-word;}
.slide-lead::after{background:linear-gradient(0deg,rgba(0,26,64,.92) 0%,rgba(0,26,64,.65) 45%,rgba(0,26,64,.15) 80%);}
.carousel-top{min-height:480px;}
@media (max-width:760px){
  .carousel-top .slide-lead{min-height:600px;}
  .carousel-top{min-height:600px;}
  .slide-title{font-size:30px;}
}

/* ---------- v11: accounts & enrolment ---------- */
.top-signin{font-weight:600;font-size:14px;color:var(--ink);text-decoration:none;padding:8px 10px;border-radius:8px;white-space:nowrap;}
.top-signin:hover{color:var(--blue);background:var(--blue-tint);}
@media (max-width:980px){.top-inner .top-signin{display:none;}}
.acct-page{padding-block:34px 60px;}
.acct-wrap{max-width:720px;margin:0 auto;}
.acct-wrap.acct-wide{max-width:1040px;}
.acct-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,32px);margin-bottom:18px;box-shadow:0 18px 40px -30px rgba(0,49,112,.35);}
.acct-narrow{max-width:480px;margin-inline:auto;}
.acct-title{font-size:clamp(24px,3vw,32px);line-height:1.15;margin:4px 0 8px;}
.acct-h2{font-size:19px;margin:0 0 6px;}
.acct-sub{color:var(--text-soft);font-size:14.5px;margin:0 0 18px;}
.acct-small{font-size:13px;color:var(--text-soft);margin:10px 0 0;}
.acct-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.acct-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--ink);}
.acct-check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--orange);}
.acct-alert{padding:12px 14px;border-radius:10px;font-size:14px;margin:0 0 16px;line-height:1.5;}
.acct-ok{background:#E7F5EC;color:#1C6B3A;border:1px solid #BFE3CC;}
.acct-bad{background:#FDECEC;color:#9B1C1C;border:1px solid #F5C2C2;}
.acct-warn{background:#FFF1E7;color:#8A3B08;border:1px solid #FFD2B3;}
.acct-alert a{color:inherit;font-weight:700;}
.acct-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.acct-grid .acct-card{margin-bottom:0;}
.acct-status{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;padding:7px 12px;border-radius:999px;background:#F3F4F6;color:#4B5563;margin-bottom:6px;}
.acct-status .dot{width:8px;height:8px;border-radius:50%;background:currentColor;}
.acct-status.ok{background:#E7F5EC;color:#1C6B3A;} .acct-status.warn{background:#FFF1E7;color:#A8470A;}
.enrol-steps{list-style:none;display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:14px 0 22px;}
.enrol-steps li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text-soft);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;}
.enrol-steps li span{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#EEF0F3;font-size:12px;}
.enrol-steps li.on{color:var(--blue);border-color:var(--blue);} .enrol-steps li.on span{background:var(--blue);color:#fff;}
.enrol-steps li.done{color:#1C6B3A;border-color:#BFE3CC;} .enrol-steps li.done span{background:#1C6B3A;color:#fff;}
.enrol-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start;}
.enrol-grid .acct-card{margin-bottom:0;}
.enrol-aside{background:linear-gradient(180deg,#F5F8FD,#fff);}
.enrol-summary h2{font-size:18px;line-height:1.3;margin:4px 0 12px;}
.enrol-facts{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:10px;}
.enrol-facts li{display:grid;grid-template-columns:72px 1fr;gap:10px;font-size:13.5px;}
.enrol-facts li strong{color:var(--text-soft);font-weight:600;}
.enrol-facts small{color:var(--text-soft);font-size:12.5px;}
.enrol-facts.compact{background:#F7F8FA;border-radius:12px;padding:14px 16px;margin:16px 0;}
.enrol-price{font-size:20px;font-weight:800;color:var(--blue-deep);}
.enrol-price small{font-size:12px;font-weight:500;color:var(--text-soft);}
.enrol-incl{padding:0;margin:0 0 10px;font-size:13.5px;}
.enrol-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.btn-pay{width:100%;justify-content:center;font-size:15.5px;padding-block:14px;}
.pay-note{display:flex;gap:8px;align-items:flex-start;} .pay-note svg{flex:none;margin-top:2px;color:#1C6B3A;}
.enrol-done{text-align:left;}
.done-icon{width:58px;height:58px;border-radius:50%;background:#E7F5EC;color:#1C6B3A;display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
@media (max-width:860px){.enrol-grid,.acct-grid{grid-template-columns:1fr;}}
@media (max-width:560px){.acct-two{grid-template-columns:1fr;}.enrol-steps li{width:100%;}}
/* v11: training page (brochure) */
.hero-points{list-style:none;padding:0;margin:4px 0 18px;display:flex;flex-wrap:wrap;gap:8px;}
.hero-points li{font-size:13px;font-weight:600;color:var(--blue-deep);background:var(--blue-tint);border-radius:999px;padding:6px 12px;}
.glance{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.glance-tile{padding:22px;display:flex;flex-direction:column;gap:6px;}
.glance-tile b{font-size:44px;line-height:1;font-weight:800;color:var(--orange);}
.glance-tile .glance-icon{color:var(--blue);height:44px;display:flex;align-items:center;}
.glance-tile span{font-size:14px;color:var(--text-soft);}
.tz-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;}
.tz-row div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;}
.tz-row small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);}
.tz-row strong{font-size:16px;color:var(--blue-deep);}
.tz-row .tz-main{background:var(--blue);border-color:var(--blue);} .tz-row .tz-main small,.tz-row .tz-main strong{color:#fff;}
.credit-callout{margin-top:16px;background:#FFF6EF;border-left:4px solid var(--orange);border-radius:10px;padding:14px 16px;font-size:14px;}
.week-title{font-size:17px;margin:26px 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.week-title span{background:var(--blue);color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 12px;}
.mod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.mod-card{padding:22px;}
.mod-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.mod-top .tag{font-size:10.5px;}
.mod-card h3{font-size:17px;margin:0 0 10px;}
.mod-card .list-check{padding:0;font-size:14px;}
.takeaways{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;max-width:860px;}
.instructors{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.instructor{display:flex !important;flex-direction:row !important;gap:14px;align-items:center !important;justify-content:flex-start !important;text-align:left;padding:18px;}
.instr-photo{width:76px;height:76px;flex:none;border-radius:50%;overflow:hidden;background:var(--blue-tint);display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 0 0 2px var(--blue-tint);}
.instr-photo img{width:100%;height:100%;object-fit:cover;}
.instr-photo span{font-weight:800;font-size:22px;color:var(--blue);}
.instructor h3{font-size:16px;margin:0 0 2px;} .instructor p{font-size:13px;color:var(--text-soft);margin:0;}
.price-big{font-size:44px;font-weight:800;color:var(--blue-deep);line-height:1;}
.price-big small{font-size:15px;font-weight:600;color:var(--text-soft);}
.price-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.price-facts div{background:#F7F8FA;border-radius:10px;padding:10px 12px;}
.price-facts small{display:block;font-size:12px;color:var(--text-soft);} .price-facts strong{font-size:15px;}
@media (max-width:860px){.glance,.instructors{grid-template-columns:1fr;}.takeaways{grid-template-columns:1fr;}}
@media (max-width:520px){.tz-row{grid-template-columns:1fr 1fr;}}
/* v12: GST/HST */
.field select{appearance:auto;}
.price-break{background:#F7F8FA;border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:14px;display:flex;flex-direction:column;gap:6px;}
.price-break div{display:flex;justify-content:space-between;gap:12px;}
.price-break .pb-total{border-top:1px solid var(--line);padding-top:8px;font-weight:800;color:var(--blue-deep);font-size:15.5px;}
