:root{
    --blue:#1446A2;
    --blue-bright:#2E66C9;
    --blue-on-dark:#4F86E0;
    --navy:#0A121F;
    --navy-soft:#111B2D;
    --navy-card:#0E1626;
    --white:#FFFFFF;
    --black:#000000;
    --paper:#FFFFFF;
    --paper-2:#F3F6FB;
    --ink:#0A121F;
    --muted:#566076;
    --muted-d:#9AA6BC;
    --line:rgba(10,18,31,.12);
    --line-soft:rgba(10,18,31,.08);
    --line-light:rgba(255,255,255,.14);

    --display:'Montserrat',sans-serif;
    --sans:'Inter',sans-serif;

    --maxw:1280px;
    --pad:clamp(20px,5vw,80px);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{
    font-family:var(--sans);
    background:var(--paper);
    color:var(--ink);
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

  /* ---------- Type ---------- */
  .eyebrow{
    font-family:var(--sans);font-size:.72rem;font-weight:700;
    letter-spacing:.22em;text-transform:uppercase;color:var(--blue);
    display:inline-flex;align-items:center;gap:.7em;
  }
  .eyebrow::before{content:"";width:26px;height:2px;background:var(--blue);display:inline-block}
  .eyebrow.on-dark{color:var(--blue-on-dark)}
  .eyebrow.on-dark::before{background:var(--blue-on-dark)}

  .sec-title{
    font-family:var(--display);font-weight:800;text-transform:uppercase;
    font-size:clamp(2rem,5vw,3.7rem);line-height:.98;letter-spacing:-.01em;
  }
  .lead{font-size:clamp(1.1rem,1.9vw,1.4rem);line-height:1.5;color:var(--muted);font-weight:400}
  .body-copy p{margin-bottom:1.05em;color:#3a4356}
  .body-copy p:last-child{margin-bottom:0}
  .dark .body-copy p{color:#c2cad9}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.7em;
    font-family:var(--sans);font-weight:700;font-size:.8rem;
    letter-spacing:.13em;text-transform:uppercase;
    padding:1.05em 1.9em;border:2px solid var(--blue);
    background:var(--blue);color:#fff;cursor:pointer;border-radius:0;
    transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease;
  }
  .btn svg{transition:transform .25s ease}
  .btn:hover{background:var(--blue-bright);border-color:var(--blue-bright);transform:translateY(-2px)}
  .btn:hover svg{transform:translateX(4px)}
  .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
  .btn.ghost.on-dark{color:#fff;border-color:rgba(255,255,255,.5)}
  .btn.ghost.on-dark:hover{background:#fff;color:var(--navy);border-color:#fff}

  /* ---------- Nav ---------- */
  header.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;transition:background .35s ease,box-shadow .35s ease,padding .35s ease}
  header.nav.scrolled{background:rgba(10,18,31,.92);backdrop-filter:saturate(140%) blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.08);padding:11px 0}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .logo-img{height:38px;width:auto}
  .nav-links{display:flex;align-items:center;gap:30px}
  .nav-links a.link{font-size:.78rem;font-weight:600;letter-spacing:.03em;color:#fff;position:relative;padding:4px 0}
  .nav-links a.link::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--blue-on-dark);transition:width .25s ease}
  .nav-links a.link:hover::after{width:100%}
  .nav-cta{font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:.8em 1.4em;background:var(--blue);color:#fff;transition:background .25s ease,transform .25s ease}
  .nav-cta:hover{background:var(--blue-bright);transform:translateY(-1px)}
  .menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
  .menu-btn span{width:24px;height:2px;background:#fff;transition:.3s}

  /* ---------- Hero ---------- */
  .hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;background:var(--navy);color:#fff;overflow:hidden;padding-top:140px;padding-bottom:clamp(40px,7vh,90px)}
  /* hero media stack (video-ready) */
  .hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:#0A121F}
  .hero.video-on .hero-film,.hero.video-on .hero-sweep{opacity:0}
  .hero-film{position:absolute;inset:0;z-index:0;transition:opacity .8s ease;
    background:
      radial-gradient(120% 90% at 80% 6%, rgba(20,70,162,.5) 0%, transparent 55%),
      radial-gradient(95% 80% at 6% 100%, rgba(46,102,201,.22) 0%, transparent 50%),
      linear-gradient(180deg,#0A121F 0%, #0d1626 55%, #0A121F 100%);
  }
  .hero-film::before{content:"";position:absolute;inset:-20%;
    background:
      radial-gradient(38% 30% at 22% 26%, rgba(46,102,201,.32), transparent 60%),
      radial-gradient(34% 26% at 80% 72%, rgba(20,70,162,.36), transparent 62%);
    animation:glowDrift 18s ease-in-out infinite alternate}
  .hero-film::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 7.5vw);opacity:.55;animation:fieldDrift 24s linear infinite}
  @keyframes fieldDrift{from{transform:translateX(0)}to{transform:translateX(7.5vw)}}
  @keyframes glowDrift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-3%) scale(1.08)}100%{transform:translate(-3%,2%) scale(1.04)}}
  .hero-sweep{position:absolute;top:-30%;left:-45%;width:42%;height:160%;z-index:0;transition:opacity .8s ease;
    background:linear-gradient(100deg,transparent,rgba(120,170,255,.10) 45%,rgba(185,212,255,.20) 50%,rgba(120,170,255,.10) 55%,transparent);
    transform:skewX(-12deg);filter:blur(5px);animation:sweep 9s ease-in-out infinite}
  @keyframes sweep{0%{left:-45%}55%{left:135%}100%{left:135%}}
  .hero-particles{position:absolute;inset:0;z-index:2;display:block;opacity:.55;transition:opacity .8s ease}
  .hero-scrim{position:absolute;inset:0;z-index:3;
    background:
      linear-gradient(180deg, rgba(10,18,31,.55) 0%, rgba(10,18,31,.16) 38%, rgba(10,18,31,.30) 70%, rgba(10,18,31,.85) 100%),
      linear-gradient(90deg, rgba(10,18,31,.6) 0%, rgba(10,18,31,.12) 46%, transparent 76%)}
  .hero-grain{position:absolute;inset:0;z-index:4;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  .hero .wrap{position:relative;z-index:5;width:100%}
  .hero-tag{display:inline-flex;align-items:center;gap:.7em;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#cdd6e6;border:1px solid var(--line-light);padding:.55em 1em;margin-bottom:clamp(24px,4vh,40px)}
  .hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--blue-on-dark);animation:pulse 2.4s ease-out infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(79,134,224,.5)}70%{box-shadow:0 0 0 10px rgba(79,134,224,0)}100%{box-shadow:0 0 0 0 rgba(79,134,224,0)}}
  .hero h1{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(3rem,10.5vw,9.5rem);line-height:.9;letter-spacing:-.02em;margin:0;text-shadow:0 2px 44px rgba(0,0,0,.38)}
  .hero h1 .row{display:block;overflow:hidden}
  .hero h1 .row span{display:block;transform:translateY(105%);animation:riseUp .9s cubic-bezier(.22,1,.36,1) forwards}
  .hero h1 .row:nth-child(2) span{animation-delay:.12s}
  .hero h1 .row:nth-child(3) span{animation-delay:.24s}
  .hero h1 .accent{color:var(--blue-on-dark)}
  @keyframes riseUp{to{transform:translateY(0)}}
  .hero-bottom{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,70px);align-items:end;margin-top:clamp(34px,6vh,60px)}
  .hero-support{font-size:1.02rem;color:#c2cad9;max-width:48ch;line-height:1.65;opacity:0;animation:fadeUp .8s ease .5s forwards}
  .hero-support strong{color:#fff;font-weight:600}
  .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;opacity:0;animation:fadeUp .8s ease .62s forwards}
  .hero-divisions{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:6px}
  .hero-divisions span{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#aab4c8;border:1px solid var(--line-light);padding:.45em .8em}
  @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
  .scroll-hint{position:absolute;right:var(--pad);bottom:clamp(40px,7vh,90px);z-index:3;writing-mode:vertical-rl;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#7e8aa0;display:flex;align-items:center;gap:14px}
  .scroll-hint .line{width:1px;height:54px;background:linear-gradient(var(--blue-on-dark),transparent)}

  /* ---------- Section scaffolding ---------- */
  section{position:relative}
  .pad-y{padding-top:clamp(70px,11vh,140px);padding-bottom:clamp(70px,11vh,140px)}
  .dark{background:var(--navy);color:#fff}
  .dark .lead{color:#aeb8cb}
  .blue{background:var(--blue);color:#fff}
  .sec-head{max-width:780px;margin-bottom:clamp(34px,5vh,58px)}
  .sec-head .eyebrow{margin-bottom:18px}
  .sec-head .sec-sub{margin-top:18px;font-size:1.02rem;color:var(--muted);max-width:62ch}
  .dark .sec-head .sec-sub{color:#aeb8cb}

  /* ---------- Photo placeholders ---------- */
  .photo{position:relative;background:linear-gradient(150deg,#0e1a30,#16294a 60%,#0d1830);overflow:hidden}
  .photo::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 26px)}
  .photo::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 70% at 70% 20%,rgba(46,102,201,.3),transparent 60%)}
  .photo .ph-label{position:absolute;left:14px;bottom:12px;z-index:2;font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#bcc6da;border:1px solid rgba(255,255,255,.2);padding:.4em .7em;background:rgba(10,18,31,.45)}

  /* ---------- Our Story ---------- */
  .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);align-items:center}
  .story-media{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .story-media .photo{aspect-ratio:3/4}
  .story-media .wide{grid-column:1 / -1;aspect-ratio:16/9}
  .founders{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}
  .founder{flex:1;min-width:180px;border-top:3px solid var(--blue);padding-top:14px}
  .founder .name{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.1rem;letter-spacing:.01em}
  .founder .role{font-size:.82rem;color:var(--muted);margin-top:4px;line-height:1.45}

  /* ---------- Why ELSA ---------- */
  .strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .strength{background:#fff;padding:30px 26px;transition:background .25s ease}
  .strength:hover{background:var(--paper-2)}
  .strength .num{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--blue);letter-spacing:.04em}
  .strength h3{font-family:var(--sans);font-weight:700;font-size:1.05rem;margin-top:10px;line-height:1.3}
  .strength p{font-size:.92rem;color:var(--muted);margin-top:8px}

  /* ---------- Testimonials ---------- */
  .testi{text-align:center;max-width:760px;margin:0 auto}
  .testi .mark{font-family:var(--display);font-weight:900;font-size:clamp(4rem,12vw,8rem);line-height:.7;color:var(--blue-on-dark);display:block}
  .testi h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(1.8rem,4.5vw,3.1rem);line-height:1;margin:20px 0 18px}
  .testi p{color:#aeb8cb;font-size:1.05rem;max-width:54ch;margin:0 auto}
  .testi .coming{display:inline-flex;align-items:center;gap:.7em;margin-top:22px;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-on-dark);border:1px solid var(--line-light);padding:.6em 1.1em}
  .testi-future{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px}
  .testi-future .cell{border:1px solid var(--line-light);padding:20px 18px;text-align:left}
  .testi-future .cell .t{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-on-dark);margin-bottom:8px}
  .testi-future .cell ul{list-style:none;font-size:.86rem;color:#aeb8cb}
  .testi-future .cell li{padding:3px 0}

  /* ---------- Pathways ---------- */
  .pathways-shell{display:grid;grid-template-columns:340px 1fr;border:1px solid var(--line);background:#fff}
  .path-list{display:flex;flex-direction:column;border-right:1px solid var(--line)}
  .path-tab{text-align:left;background:none;border:none;cursor:pointer;padding:24px 26px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px;transition:background .2s ease;position:relative}
  .path-tab:last-child{border-bottom:none}
  .path-tab::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);transform:scaleY(0);transform-origin:top;transition:transform .25s ease}
  .path-tab .pt-code{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .path-tab .pt-name{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.3rem;letter-spacing:0;color:var(--ink);line-height:1}
  .path-tab:hover{background:var(--paper-2)}
  .path-tab.active{background:var(--navy)}
  .path-tab.active::before{transform:scaleY(1)}
  .path-tab.active .pt-name{color:#fff}
  .path-tab.active .pt-code{color:var(--blue-on-dark)}
  .path-detail{padding:clamp(30px,4vw,52px)}
  .path-panel{display:none;animation:fadePanel .4s ease}
  .path-panel.active{display:block}
  @keyframes fadePanel{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  .path-panel .pp-code{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:flex;align-items:center;gap:.7em}
  .path-panel .pp-code::before{content:"";width:24px;height:2px;background:var(--blue)}
  .path-panel h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1;margin-bottom:18px;letter-spacing:-.01em}
  .path-panel .pp-lead{font-size:1.12rem;line-height:1.55;color:var(--ink);margin-bottom:16px;font-weight:500}
  .path-panel .pp-copy{font-size:.96rem;color:var(--muted);margin-bottom:24px;max-width:62ch}
  .path-panel .pp-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px}
  .path-panel .pp-benefits li{list-style:none;font-size:.9rem;color:var(--ink);padding:8px 0;border-top:1px solid var(--line);display:flex;gap:.6em;align-items:flex-start}
  .path-panel .pp-benefits li::before{content:"";flex:none;width:7px;height:7px;margin-top:.5em;background:var(--blue);transform:rotate(45deg)}
  .path-note{margin-top:24px;padding:16px 20px;background:var(--paper-2);border-left:3px solid var(--blue);font-size:1rem;color:var(--blue);font-weight:500}

  /* ---------- Accountability ---------- */
  .acc-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(34px,5vw,70px);align-items:start}
  .expectations{columns:2;column-gap:30px}
  .expectations li{list-style:none;break-inside:avoid;padding:11px 0;border-bottom:1px solid var(--line-light);font-size:.94rem;color:#c2cad9;display:flex;gap:.7em;align-items:flex-start}
  .expectations li svg{flex:none;margin-top:3px;color:var(--blue-on-dark)}
  .conduct-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
  .conduct-card{border:1px solid var(--line-light);padding:28px 26px}
  .conduct-card h4{font-family:var(--sans);font-weight:700;font-size:1.05rem;margin-bottom:10px;color:#fff}
  .conduct-card p{font-size:.9rem;color:#aeb8cb}

  /* ---------- Quote band ---------- */
  .quote-band{text-align:center;max-width:1000px;margin:0 auto}
  .quote-band .q{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.5vw,4.6rem);line-height:.96;letter-spacing:-.01em;color:#fff}
  .quote-band .q .soft{color:rgba(255,255,255,.62)}

  /* ---------- Process ---------- */
  .steps{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .step{background:#fff;padding:32px 30px;transition:background .25s}
  .step:hover{background:var(--paper-2)}
  .step .step-top{display:flex;align-items:baseline;gap:16px;margin-bottom:12px}
  .step .step-num{font-family:var(--display);font-weight:800;font-size:2.2rem;line-height:.8;color:var(--blue)}
  .step h3{font-family:var(--sans);font-weight:700;font-size:1.15rem;line-height:1.2}
  .step p{font-size:.93rem;color:var(--muted)}
  .step ul{list-style:none;margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
  .step ul li{font-size:.74rem;color:var(--muted);border:1px solid var(--line);padding:.35em .7em}
  .services{margin-top:44px;border-top:3px solid var(--navy);padding-top:30px}
  .services h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.4rem;margin-bottom:22px;letter-spacing:-.01em}
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 28px}
  .services-grid li{list-style:none;font-size:.92rem;color:var(--ink);padding:9px 0;border-top:1px solid var(--line);display:flex;gap:.6em;align-items:flex-start}
  .services-grid li::before{content:"";flex:none;width:6px;height:6px;margin-top:.55em;background:var(--blue);transform:rotate(45deg)}

  /* ---------- Packages ---------- */
  .packages{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .pkg{background:var(--navy-card);border:1px solid var(--line-light);padding:30px 26px;display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease;position:relative;overflow:hidden}
  .pkg::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--tier,var(--muted-d))}
  .pkg:hover{transform:translateY(-6px);border-color:var(--blue-on-dark)}
  .pkg.bronze{--tier:#B07A47}
  .pkg.silver{--tier:#BFC6D2}
  .pkg.gold{--tier:#E2B23C}
  .pkg.platinum{--tier:#9FE0FF;background:linear-gradient(180deg,#0f1d33,#0c1422)}
  .pkg .pkg-tier{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tier)}
  .pkg .pkg-name{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.85rem;letter-spacing:-.01em;margin:8px 0 14px;color:#fff}
  .pkg .pkg-desc{font-size:.88rem;color:#aeb8cb;margin-bottom:20px;line-height:1.5}
  .pkg .pkg-incl{font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--blue-on-dark);margin-bottom:12px}
  .pkg ul{list-style:none;flex:1}
  .pkg ul li{font-size:.86rem;color:#d4dae6;padding:8px 0;border-top:1px solid var(--line-light);display:flex;gap:.6em;align-items:flex-start}
  .pkg ul li svg{flex:none;margin-top:3px;color:var(--blue-on-dark)}
  .pkg ul li.carry{color:#7e8aa0;font-style:italic}
  .pkg .pkg-cta{margin-top:22px}
  .pkg .pkg-cta a{display:block;text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:.9em;border:2px solid var(--line-light);color:#fff;transition:.25s}
  .pkg .pkg-cta a:hover{background:var(--blue);border-color:var(--blue)}
  .pkg-foot{text-align:center;margin-top:40px}
  .pkg-foot p{font-size:1.05rem;color:#aeb8cb;margin-bottom:20px}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,70px);align-items:start}
  .contact-form{display:grid;gap:16px}
  .field{display:flex;flex-direction:column;gap:7px}
  .field label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .field input,.field select,.field textarea{font-family:var(--sans);font-size:.95rem;color:var(--ink);background:#fff;border:1px solid var(--line);padding:.9em 1em;border-radius:0;width:100%;transition:border-color .2s ease,box-shadow .2s ease}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(20,70,162,.18)}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
  .form-status{display:none;align-items:center;gap:.6em;font-size:.85rem;font-weight:600;margin-top:4px}
  .form-status.success{display:flex;color:var(--blue)}
  .form-status.error{display:flex;color:#a72020}
  .contact-form button[disabled]{cursor:wait;opacity:.68}
  .turnstile-wrap{min-height:65px}
  .contact-disabled{border:1px solid var(--line);padding:clamp(24px,4vw,42px);background:var(--paper-2)}
  .contact-disabled p{color:var(--muted);margin-bottom:18px}
  .contact-disabled-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .contact-disabled-links a{font-weight:700;color:var(--blue);overflow-wrap:anywhere}
  .contact-disabled-links a:hover{color:var(--blue-bright)}
  .contact-aside .ca-item{padding:18px 0;border-top:1px solid var(--line)}
  .contact-aside .ca-item:first-child{border-top:none;padding-top:0}
  .contact-aside .ca-label{font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:5px}
  .contact-aside .ca-val{font-size:1.15rem;color:var(--ink);font-weight:600}
  .contact-aside .ca-val a:hover{color:var(--blue)}

  /* ---------- Footer ---------- */
  footer.foot{background:var(--navy);color:#fff;padding-top:clamp(60px,9vh,100px)}
  .foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding-bottom:50px;border-bottom:1px solid var(--line-light)}
  .foot-brand .logo-img{height:60px;margin-bottom:22px}
  .foot-brand .foot-slogan{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.2rem;line-height:1.05;color:var(--blue-on-dark);margin-bottom:14px}
  .foot-brand p{font-size:.92rem;color:#aeb8cb;max-width:38ch}
  .foot-col h5{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-on-dark);margin-bottom:16px}
  .foot-col a,.foot-col span{display:block;font-size:.9rem;color:#c2cad9;padding:5px 0;transition:color .2s}
  .foot-col a:hover{color:#fff}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:26px 0 34px;font-size:.78rem;color:#7e8aa0}
  .foot-bottom .legal{display:flex;gap:22px}
  .foot-bottom .legal a:hover{color:#fff}

  /* ---------- Reveal ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- Responsive ---------- */
  @media(max-width:1080px){
    .testi-future{grid-template-columns:repeat(2,1fr)}
    .packages{grid-template-columns:repeat(2,1fr)}
    .strengths{grid-template-columns:repeat(2,1fr)}
    .services-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:860px){
    .nav-links{position:fixed;inset:0 0 0 auto;width:min(82vw,360px);background:var(--navy);flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;padding:60px 40px;transform:translateX(100%);transition:transform .4s cubic-bezier(.22,1,.36,1)}
    .nav-links.open{transform:translateX(0)}
    .nav-links a.link{font-size:1.1rem}
    .nav-links .nav-cta{background:var(--blue)}
    .menu-btn{display:flex;z-index:101}
    .menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .menu-btn.open span:nth-child(2){opacity:0}
    .menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .hero-bottom{grid-template-columns:1fr;gap:30px}
    .story-grid,.acc-grid,.contact-grid{grid-template-columns:1fr}
    .story-grid .story-media{order:-1}
    .pathways-shell{grid-template-columns:1fr}
    .path-list{flex-direction:column;border-right:none;border-bottom:1px solid var(--line)}
    .conduct-cards{grid-template-columns:1fr}
    .steps{grid-template-columns:1fr}
    .foot-top{grid-template-columns:1fr 1fr}
    .expectations{columns:1}
    .path-panel .pp-benefits{grid-template-columns:1fr}
  }
  @media(max-width:560px){
    .strengths,.services-grid,.testi-future,.packages,.field-row{grid-template-columns:1fr}
    .scroll-hint{display:none}
    .founders{flex-direction:column}
    .foot-top{grid-template-columns:1fr}
    .foot-bottom{flex-direction:column;align-items:flex-start}
  }

  /* ====== PREMIUM EFFECTS ====== */
  .scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--blue),var(--blue-bright));box-shadow:0 0 12px rgba(46,102,201,.6);transition:width .12s linear}
  .film-grain{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:170px 170px;animation:grainShift 5.5s steps(6) infinite}
  @keyframes grainShift{0%{background-position:0 0}100%{background-position:170px -110px}}
  .cursor-glow{position:fixed;top:0;left:0;width:540px;height:540px;border-radius:50%;pointer-events:none;z-index:140;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(46,102,201,.5),transparent 64%);filter:blur(34px);mix-blend-mode:screen;opacity:0;transition:opacity .45s ease;will-change:left,top}
  .cursor-glow.on{opacity:.7}

  /* refined reveals + stagger */
  .reveal{opacity:0;transform:translateY(30px) scale(.985);filter:blur(6px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .85s ease}
  .reveal.in{opacity:1;transform:none;filter:none}
  .reveal.stagger{opacity:1;transform:none;filter:none}
  .stagger > *{opacity:0;transform:translateY(26px);filter:blur(5px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),filter .6s ease}
  .stagger.in > *{opacity:1;transform:none;filter:none}
  .stagger.in > *:nth-child(1){transition-delay:0.04s}
  .stagger.in > *:nth-child(2){transition-delay:0.08s}
  .stagger.in > *:nth-child(3){transition-delay:0.12s}
  .stagger.in > *:nth-child(4){transition-delay:0.16s}
  .stagger.in > *:nth-child(5){transition-delay:0.2s}
  .stagger.in > *:nth-child(6){transition-delay:0.24s}
  .stagger.in > *:nth-child(7){transition-delay:0.28s}
  .stagger.in > *:nth-child(8){transition-delay:0.32s}
  .stagger.in > *:nth-child(9){transition-delay:0.36s}
  .stagger.in > *:nth-child(10){transition-delay:0.4s}
  .stagger.in > *:nth-child(11){transition-delay:0.44s}
  .stagger.in > *:nth-child(12){transition-delay:0.48s}

  /* premium hover depth */
  .pkg{transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .4s ease}
  .pkg:hover{box-shadow:0 34px 70px -24px rgba(0,0,0,.6),0 0 0 1px rgba(79,134,224,.22)}
  .strength,.step{position:relative}
  .strength::after,.step::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--blue);transition:width .45s cubic-bezier(.22,1,.36,1)}
  .strength:hover::after,.step:hover::after{width:100%}
  .strength .num,.step .step-num{display:inline-block;transition:transform .3s ease}
  .strength:hover .num,.step:hover .step-num{transform:translateY(-3px)}
  .photo{transition:transform .55s cubic-bezier(.22,1,.36,1)}
  .photo:hover{transform:scale(1.018)}
  .path-tab{transition:background .25s ease,padding-left .25s ease}
  .path-tab:hover{padding-left:30px}

  /* button sheen */
  .btn{position:relative;overflow:hidden}
  .btn::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.26),transparent);transform:skewX(-18deg);transition:left .65s ease;pointer-events:none}
  .btn:hover::after{left:150%}

  /* marquee */
  .marquee{background:var(--navy);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);overflow:hidden;padding:15px 0}
  .marquee-track{display:inline-flex;white-space:nowrap;will-change:transform;animation:marquee 42s linear infinite}
  .marquee:hover .marquee-track{animation-play-state:paused}
  .marquee span{display:inline-block;white-space:nowrap;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.24em;color:#93a4c2}
  .marquee b{color:var(--blue-on-dark);padding:0 1em;font-weight:700}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}


  /* ====== ENHANCED HOVER ====== */
  .pkg > *{position:relative;z-index:1}
  .pkg{transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .42s ease}
  .pkg::before{transition:height .35s ease}
  .pkg::after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(130% 70% at 50% 0%, rgba(46,102,201,.22), transparent 68%);opacity:0;transition:opacity .45s ease;pointer-events:none}
  .pkg:hover{transform:translateY(-10px) scale(1.02);border-color:var(--blue-on-dark);box-shadow:0 42px 82px -28px rgba(0,0,0,.72),0 0 0 1px rgba(79,134,224,.32)}
  .pkg:hover::before{height:7px}
  .pkg:hover::after{opacity:1}
  .pkg .pkg-name{transition:transform .42s cubic-bezier(.22,1,.36,1)}
  .pkg:hover .pkg-name{transform:translateY(-3px)}
  .pkg .pkg-cta a{transition:background .25s ease,border-color .25s ease,letter-spacing .25s ease}
  .pkg:hover .pkg-cta a{letter-spacing:.18em}

  .strength,.step{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,background .3s ease}
  .strength:hover,.step:hover{transform:translateY(-7px);box-shadow:0 28px 56px -24px rgba(10,18,31,.5);z-index:2;background:#fff}

  .founder{transition:transform .35s ease,border-color .35s ease}
  .founder:hover{transform:translateY(-4px);border-color:var(--blue)}

  .testi-future .cell{transition:transform .35s ease,border-color .35s ease,background .35s ease}
  .testi-future .cell:hover{transform:translateY(-5px);border-color:var(--blue-on-dark);background:rgba(79,134,224,.06)}

  .conduct-card{transition:transform .35s ease,border-color .35s ease}
  .conduct-card:hover{transform:translateY(-5px);border-color:var(--blue-on-dark)}

  @media(prefers-reduced-motion:reduce){
    *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
    .hero h1 .row span{transform:none}
    .hero-sweep,.hero-particles{display:none}
    .reveal{opacity:1;transform:none;filter:none}
    .stagger > *{opacity:1;transform:none;filter:none}
    .cursor-glow{display:none}
    .marquee-track,.film-grain{animation:none}
    .btn::after{display:none}
  }

  /* real founder photos */
  .photo.has-img{background-size:cover;background-position:center}
  .photo.has-img::before{display:none}
  .photo.has-img::after{background:linear-gradient(to top, rgba(10,18,31,.92) 0%, rgba(10,18,31,.25) 38%, transparent 66%)}
  .photo.has-img .ph-label{background:rgba(10,18,31,.5);border-color:rgba(255,255,255,.28);color:#fff}
