/* ==========================================================================
   Home page (Nov 2026 redesign) (scoped to body.hv2, loaded only by the home page, html/index.php)
   Palette: black / deep green / TTG lime / silver / white
   ========================================================================== */

@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/montserrat-v31-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/montserrat-v31-latin-500.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/montserrat-v31-latin-600.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/montserrat-v31-latin-700.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/montserrat-v31-latin-800.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:italic;font-weight:800;font-display:swap;src:url('/assets/fonts/montserrat-v31-latin-800italic.woff2') format('woff2')}

.hv2{
  --ink:#0a0f0c;          /* near-black, green undertone */
  --ink-2:#121a15;        /* raised dark surface */
  --ink-3:#1b261f;        /* dark card border */
  --forest:#0e3b20;
  --green:#1a5632;
  --lime:#9fcb3e;
  --lime-2:#b5d96a;
  --silver:#c9cdd2;
  --steel:#8a9097;
  --paper:#f4f5f3;        /* cool off-white (not cream) */
  --white:#fff;
  --text:#1c211e;
  --muted:#5d645f;
  --line:#e2e5e1;
  --r:20px;
  --r-sm:12px;
  --wrap:1240px;
  --gutter:clamp(16px,4vw,32px);
  --sec:clamp(72px,10vw,128px);
  font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--text);
  background:var(--paper);
}
.hv2 h1,.hv2 h2,.hv2 h3,.hv2 h4{font-family:inherit;letter-spacing:-.025em;line-height:1.08;font-weight:800;text-wrap:balance}
.hv2 p{text-wrap:pretty}
.hv2 .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.hv2 .sec{padding:var(--sec) 0}
.hv2 .accent{color:var(--lime);font-style:italic}
.hv2 .accent--dark{color:var(--green);font-style:italic}
.hv2 .eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:1.1rem}
.hv2 .eyebrow::before{content:'';width:28px;height:2px;background:currentColor}
.hv2 .on-dark .eyebrow,.hv2 .eyebrow--lime{color:var(--lime)}
.hv2 .h2{font-size:clamp(2rem,4.6vw,3.5rem)}
.hv2 .lede{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7;color:var(--muted);max-width:640px;margin-top:1.1rem}
.hv2 .on-dark .lede{color:var(--silver)}
.hv2 .head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,3.5rem)}
.hv2 .head-row>div:first-child{flex:1 1 0;min-width:min(100%,520px);max-width:820px}

/* ---- Buttons ---- */
.hv2 .b{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.9rem 1.6rem;border-radius:999px;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;white-space:nowrap}
.hv2 .b svg{width:18px;height:18px;flex:0 0 auto}
.hv2 .b--lime{background:var(--lime);color:var(--ink)}
.hv2 .b--lime:hover{background:var(--lime-2);transform:translateY(-1px);box-shadow:0 10px 30px rgba(159,203,62,.28)}
.hv2 .b--ghost{border:1.5px solid rgba(255,255,255,.4);color:var(--white)}
.hv2 .b--ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.hv2 .b--ink{background:var(--ink);color:var(--white)}
.hv2 .b--ink:hover{background:var(--forest);transform:translateY(-1px)}
.hv2 .b--line{border:1.5px solid var(--ink);color:var(--ink)}
.hv2 .b--line:hover{background:var(--ink);color:var(--white)}
.hv2 .b:focus-visible,.hv2 a:focus-visible,.hv2 button:focus-visible,.hv2 summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}

/* ---- Header on this page ---- */
.hv2 .header--scrolled{background-color:rgba(10,15,12,.86)}
.hv2 .nav__cta{border-radius:999px;background:var(--lime);color:var(--ink);font-weight:700}
.hv2 .nav__cta:hover{background:var(--lime-2)}
.hv2 .nav__list{gap:2.75rem}
.hv2 .nav__link{font-weight:600}

.hv2 .nav__extra{display:none}

/* ---- Mobile menu: full-screen circular reveal from the toggle, staggered links ----
   main.js toggles .nav--open + aria-expanded; this file only restyles that. */
@media (max-width:768px){
  .hv2{--menu-ease:cubic-bezier(.77,0,.18,1);--menu-origin:calc(100% - var(--gutter) - 14px) 32px}
  .hv2 .header__logo,.hv2 .nav__toggle{position:relative;z-index:2}

  .hv2 .nav{
    position:fixed;inset:0;top:0;width:100%;height:100vh;height:100dvh;z-index:1;
    display:flex;flex-direction:column;justify-content:space-between;
    padding:calc(var(--nav-height,64px) + 28px) var(--gutter) calc(28px + env(safe-area-inset-bottom));
    background:radial-gradient(120% 70% at 100% 0%,rgba(26,86,50,.55) 0%,rgba(26,86,50,0) 60%),var(--ink);
    box-shadow:none;overflow-y:auto;transform:none;
    clip-path:circle(0 at var(--menu-origin));
    visibility:hidden;
    transition:clip-path .55s var(--menu-ease),visibility 0s linear .55s;
  }
  .hv2 .nav--open{
    clip-path:circle(150% at var(--menu-origin));
    visibility:visible;
    transition:clip-path .7s var(--menu-ease),visibility 0s;
  }

  .hv2 .nav .nav__list{flex-direction:column;align-items:stretch;gap:0;padding:0}
  .hv2 .nav__list>li{
    opacity:0;transform:translateY(22px);
    transition:opacity .25s ease,transform .25s ease;
  }
  .hv2 .nav--open .nav__list>li{
    opacity:1;transform:none;
    transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1);
  }
  .hv2 .nav--open .nav__list>li:nth-child(1){transition-delay:.18s}
  .hv2 .nav--open .nav__list>li:nth-child(2){transition-delay:.23s}
  .hv2 .nav--open .nav__list>li:nth-child(3){transition-delay:.28s}
  .hv2 .nav--open .nav__list>li:nth-child(4){transition-delay:.33s}
  .hv2 .nav--open .nav__list>li:nth-child(5){transition-delay:.38s}
  .hv2 .nav--open .nav__list>li:nth-child(6){transition-delay:.43s}
  .hv2 .nav--open .nav__list>li:nth-child(7){transition-delay:.50s}

  .hv2 .nav__link{
    display:flex;align-items:center;justify-content:space-between;
    padding:.95rem 0;border-bottom:1px solid rgba(255,255,255,.08);
    font-size:clamp(1.6rem,7.5vw,2.1rem);font-weight:800;letter-spacing:-.025em;text-transform:none;
    color:var(--white);
  }
  .hv2 .nav__link::after{
    content:'';display:block;position:static;width:22px;height:22px;flex:0 0 auto;
    background:currentColor;opacity:.35;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .2s ease,opacity .2s ease;
  }
  .hv2 .nav__link:hover,.hv2 .nav__link:active,.hv2 .nav__link--active{color:var(--lime)}
  .hv2 .nav__link:hover::after,.hv2 .nav__link:active::after{opacity:1;transform:translateX(4px)}
  .hv2 .nav__cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:1.75rem;font-size:.9rem}

  .hv2 .nav__extra{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
    margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08);
    font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);
    opacity:0;transition:opacity .2s ease;
  }
  .hv2 .nav--open .nav__extra{opacity:1;transition:opacity .5s ease .55s}
  .hv2 .nav__extra a{color:var(--silver)}
  .hv2 .nav__extra a:hover{color:var(--lime)}

  /* Hamburger -> X */
  .hv2 .nav__toggle{width:44px;height:44px;margin-right:-8px;padding:0;align-items:center;justify-content:center;gap:0;background:none;border:0;border-radius:50%;cursor:pointer}
  .hv2 .nav__toggle-bar{position:absolute;left:10px;top:21px;width:24px;height:2px;transition:transform .45s var(--menu-ease),opacity .2s ease,width .3s ease}
  .hv2 .nav__toggle-bar:nth-child(1){transform:translateY(-7px)}
  .hv2 .nav__toggle-bar:nth-child(3){transform:translateY(7px);width:16px}
  .hv2 .nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(1){transform:rotate(45deg)}
  .hv2 .nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(2){opacity:0;transform:scaleX(.2)}
  .hv2 .nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(3){transform:rotate(-45deg);width:24px}

  html.hv2-menu-open,html.hv2-menu-open body{overflow:hidden}
  html.hv2-menu-open .hv2 .draft-flag,html.hv2-menu-open chat-widget{opacity:0;pointer-events:none;transition:opacity .2s ease}
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  .hv2 .nav,.hv2 .nav--open{clip-path:none;opacity:0;transition:opacity .2s ease,visibility 0s linear .2s}
  .hv2 .nav--open{opacity:1;transition:opacity .2s ease,visibility 0s}
  .hv2 .nav__list>li,.hv2 .nav--open .nav__list>li{transform:none;transition-delay:0s!important}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hv2 .hero2{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:var(--white);overflow:hidden;isolation:isolate}
.hv2 .hero2__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hv2 .hero2__video{opacity:0;transition:opacity .6s ease}
.hv2 .hero2__video.is-playing{opacity:1}
.hv2 .hero2::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,15,12,.92) 0%,rgba(10,15,12,.62) 48%,rgba(10,15,12,.2) 100%),linear-gradient(0deg,rgba(10,15,12,1) 0%,rgba(10,15,12,0) 40%)}
.hv2 .hero2__body{padding-top:calc(var(--nav-height,70px) + 64px);padding-bottom:clamp(40px,6vw,72px)}
.hv2 .hero2__kicker{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem .9rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--silver)}
.hv2 .hero2__kicker i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(159,203,62,.2)}
.hv2 .hero2__title{font-size:clamp(2.6rem,7.2vw,6rem);max-width:12ch;margin:1.4rem 0 1.4rem;line-height:1}
.hv2 .hero2__text{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.65;color:var(--silver);max-width:560px}
.hv2 .hero2__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
.hv2 .hero2__stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.14);margin-top:clamp(48px,7vw,88px)}
.hv2 .stat{padding:1.6rem 1.25rem 0 0}
.hv2 .stat+.stat{padding-left:1.25rem;border-left:1px solid rgba(255,255,255,.14)}
.hv2 .stat__n{font-size:clamp(1.9rem,3.2vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1;background:linear-gradient(180deg,#fff 0%,var(--silver) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hv2 .stat__n em{font-style:normal;color:var(--lime);-webkit-text-fill-color:var(--lime)}
.hv2 .stat__l{margin-top:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}

/* ---- Partner strip ---- */
.hv2 .partners{background:var(--ink);color:var(--steel);border-top:1px solid var(--ink-3)}
.hv2 .partners .wrap{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap;padding-top:1.6rem;padding-bottom:1.6rem}
.hv2 .partners span{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hv2 .partners img{height:28px;width:auto;opacity:.9;filter:grayscale(1) brightness(1.6)}
.hv2 .ratings{display:flex;align-items:center;gap:1rem 1.75rem;flex-wrap:wrap;justify-content:center;padding-left:clamp(1.5rem,4vw,3.5rem);border-left:1px solid var(--ink-3)}
.hv2 .rating{display:inline-flex;align-items:center;gap:.55rem;font-size:.85rem;font-weight:500;color:var(--silver)}
.hv2 .rating strong{color:var(--white);font-weight:800}
.hv2 .rating__star{display:inline-flex;color:var(--lime)}
.hv2 .rating__star svg{width:16px;height:16px;fill:currentColor}
@media (max-width:768px){.hv2 .ratings{padding-left:0;border-left:0;width:100%}}

/* ==========================================================================
   PATHS (how do you want to start?)
   ========================================================================== */
.hv2 .paths{background:var(--ink);color:var(--white);padding:var(--sec) 0 calc(var(--sec) * .75)}
.hv2 .paths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.hv2 .path{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.75rem;border-radius:var(--r);background:var(--ink-2);border:1px solid var(--ink-3);transition:border-color .2s ease,transform .2s ease,background-color .2s ease;min-height:210px}
.hv2 .path:hover{border-color:var(--lime);transform:translateY(-3px);background:#152019}
.hv2 .path__tag{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.hv2 .path h3{font-size:1.45rem;margin-top:.3rem}
.hv2 .path p{color:var(--silver);font-size:.95rem;line-height:1.6}
.hv2 .path__go{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--ink);align-self:flex-end}
.hv2 .path__go svg{width:18px;height:18px}

/* ==========================================================================
   SCHOOLS
   ========================================================================== */
.hv2 .filters{display:flex;flex-wrap:wrap;gap:.5rem}
.hv2 .chip{padding:.6rem 1.1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--white);font:inherit;font-size:.82rem;font-weight:600;color:var(--text);cursor:pointer;transition:all .15s ease;min-height:42px}
.hv2 .chip:hover{border-color:var(--ink)}
.hv2 .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--white)}
.hv2 .schools{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.hv2 .school{display:flex;flex-direction:column;background:var(--white);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}
.hv2 .school:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(10,15,12,.12)}
.hv2 .school[hidden]{display:none}
.hv2 .school__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--forest)}
.hv2 .school__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hv2 .school:hover .school__media img{transform:scale(1.04)}
.hv2 .school__media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,15,12,.85) 0%,rgba(10,15,12,0) 55%)}
.hv2 .school__place{position:absolute;left:1.25rem;right:1.25rem;bottom:1.1rem;z-index:1;color:var(--white)}
.hv2 .school__loc{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.hv2 .school__name{font-size:1.6rem;margin-top:.25rem}
.hv2 .school__badge{position:absolute;top:1rem;left:1rem;z-index:1;padding:.35rem .8rem;border-radius:999px;background:var(--lime);color:var(--ink);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hv2 .school__body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.25rem 1.4rem;flex:1}
.hv2 .school__label{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:.45rem}
.hv2 .dates{display:flex;flex-wrap:wrap;gap:.4rem}
.hv2 .date{padding:.35rem .7rem;border-radius:8px;background:var(--paper);border:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--text)}
.hv2 .date--soon{color:var(--muted);font-weight:500}
.hv2 .school__coach{font-size:.88rem;color:var(--muted)}
.hv2 .school__coach strong{color:var(--text);font-weight:700}
.hv2 .school__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.hv2 .school__link{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}
.hv2 .school__link svg{width:16px;height:16px;transition:transform .15s ease}
.hv2 .school:hover .school__link svg{transform:translateX(3px)}
.hv2 .school__ratio{font-size:.78rem;font-weight:600;color:var(--steel)}
.hv2 .schools__more{display:flex;justify-content:center;margin-top:2.5rem}

/* ==========================================================================
   COMPARE
   ========================================================================== */
.hv2 .compare__grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.hv2 .compare__text p+p{margin-top:1rem}
.hv2 .compare__text p{color:var(--muted);line-height:1.75;font-size:1.02rem}
.hv2 .compare__text strong{color:var(--text)}
.hv2 .ctable{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--white)}
.hv2 .ctable table{width:100%;border-collapse:collapse;font-size:.92rem}
.hv2 .ctable th,.hv2 .ctable td{padding:1rem 1.1rem;text-align:left;vertical-align:middle}
.hv2 .ctable thead th{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);background:var(--paper)}
.hv2 .ctable thead th.is-us{background:var(--ink);color:var(--lime)}
.hv2 .ctable tbody tr+tr td,.hv2 .ctable tbody tr+tr th{border-top:1px solid var(--line)}
.hv2 .ctable tbody th{font-weight:600;color:var(--text)}
.hv2 .ctable td{color:var(--muted);text-align:center}
.hv2 .ctable td.is-us{background:rgba(159,203,62,.1);color:var(--ink);font-weight:700}
.hv2 .ctable thead th:not(:first-child){text-align:center}
.hv2 .yes,.hv2 .no{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;vertical-align:middle}
.hv2 .yes{background:var(--green);color:#fff}
.hv2 .no{background:#eceeeb;color:#9aa09b}
.hv2 .yes svg,.hv2 .no svg{width:13px;height:13px}

/* ==========================================================================
   METHOD
   ========================================================================== */
.hv2 .method2{background:var(--ink);color:var(--white);position:relative;overflow:hidden}
.hv2 .method2::before{content:'';position:absolute;width:900px;height:900px;right:-300px;top:-400px;border-radius:50%;background:radial-gradient(circle,rgba(26,86,50,.55) 0%,rgba(26,86,50,0) 65%);pointer-events:none}
.hv2 .method2 .wrap{position:relative}
.hv2 .phases{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;counter-reset:cp}
.hv2 .phase2{border-radius:var(--r);background:var(--ink-2);border:1px solid var(--ink-3);padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}
.hv2 .phase2__top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid var(--ink-3)}
.hv2 .phase2__name{font-size:1.9rem}
.hv2 .phase2__num{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.hv2 .cp{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}
.hv2 .cp::before{counter-increment:cp;content:counter(cp);grid-row:span 3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--lime);color:var(--lime);font-weight:800;font-size:.9rem}
.hv2 .cp h4{font-size:1.1rem;letter-spacing:-.01em}
.hv2 .cp__q{font-size:.82rem;font-weight:600;color:var(--lime)}
.hv2 .cp p:last-child{font-size:.92rem;line-height:1.65;color:var(--silver)}
.hv2 .method2__loop{margin-top:1rem;display:flex;align-items:center;gap:1.25rem;padding:1.4rem 1.75rem;border-radius:var(--r);background:linear-gradient(110deg,var(--forest) 0%,var(--green) 100%)}
.hv2 .method2__loop svg{width:36px;height:36px;flex:0 0 auto;color:var(--lime)}
.hv2 .method2__loop p{color:#e6efe0;line-height:1.6}
.hv2 .method2__loop strong{color:var(--white)}

/* ==========================================================================
   INCLUDED
   ========================================================================== */
.hv2 .incl{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.hv2 .incl__item{padding:1.6rem;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}
.hv2 .incl__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:rgba(159,203,62,.16);color:var(--green);margin-bottom:1.1rem}
.hv2 .incl__icon svg{width:24px;height:24px}
.hv2 .incl__item h3{font-size:1.15rem;letter-spacing:-.01em;margin-bottom:.45rem}
.hv2 .incl__item p{font-size:.92rem;line-height:1.65;color:var(--muted)}
.hv2 .incl__item .incl__plus{margin-top:.85rem;font-size:.85rem;font-weight:700;color:var(--green)}
.hv2 .incl__plus sup{font-size:.75em;line-height:0}
.hv2 .incl__item .incl__fine{margin-top:.25rem;font-size:.75rem;color:var(--steel)}
.hv2 .incl__item--feature{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center;background:var(--ink);border-color:var(--ink);color:var(--white)}
.hv2 .incl__item--feature p{color:var(--silver)}
.hv2 .incl__item--feature .incl__icon{background:rgba(159,203,62,.14);color:var(--lime)}
.hv2 .incl__item--feature img{border-radius:var(--r-sm);width:100%;height:auto}

/* ==========================================================================
   3 DAYS
   ========================================================================== */
.hv2 .days{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative}
.hv2 .day{position:relative;padding:1.6rem;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}
.hv2 .day__when{display:inline-block;padding:.3rem .7rem;border-radius:999px;background:var(--ink);color:var(--lime);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hv2 .day h3{font-size:1.25rem;margin:1rem 0 .6rem;letter-spacing:-.015em}
.hv2 .day p{font-size:.9rem;line-height:1.65;color:var(--muted)}
.hv2 .day h3 sup{font-size:.6em;line-height:0;color:var(--green)}
.hv2 .day .day__fine{margin-top:.5rem;font-size:.75rem;color:var(--steel)}
.hv2 .days__note{margin-top:1.25rem;font-size:.82rem;color:var(--steel)}

/* ==========================================================================
   COACHES
   ========================================================================== */
.hv2 .coaches2{background:var(--white)}
.hv2 .rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,260px);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--silver) transparent}
.hv2 .rail>*{scroll-snap-align:start}
.hv2 .coach2{display:block;border-radius:var(--r);overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.hv2 .coach2 img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;background:var(--line);filter:saturate(.9)}
.hv2 .coach2__body{padding:1rem 1.1rem 1.2rem}
.hv2 .coach2__name{font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.hv2 .coach2__title{font-size:.8rem;color:var(--muted);margin-top:.2rem;line-height:1.45}
.hv2 .coach2__loc{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-top:.6rem}
.hv2 .rail-nav{display:flex;gap:.5rem}
.hv2 .rail-nav[hidden]{display:none}
.hv2 .rail-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;transition:all .15s ease}
.hv2 .rail-btn:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--white)}
.hv2 .rail-btn:disabled{opacity:.35;cursor:default}
.hv2 .rail-btn svg{width:20px;height:20px}

/* ==========================================================================
   RESULTS (dark)
   ========================================================================== */
.hv2 .results{background:var(--ink);color:var(--white)}
.hv2 .rail--video{grid-auto-columns:minmax(260px,320px)}
/* 3 videos: fill the full layout width above phone size (it scrolls again below 769px) */
@media (min-width:769px){
  .hv2 .rail--video{grid-auto-columns:1fr;overflow:visible;padding-bottom:0}
  .hv2 .rail--video .vcard video{aspect-ratio:4/5}
}
.hv2 .vcard{border-radius:var(--r);overflow:hidden;background:var(--ink-2);border:1px solid var(--ink-3)}
.hv2 .vcard video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;display:block}
.hv2 .results .rail{scrollbar-color:var(--ink-3) transparent}
.hv2 .results .rail-btn{background:transparent;border-color:var(--ink-3);color:var(--white)}
.hv2 .results .rail-btn:hover:not(:disabled){background:var(--lime);border-color:var(--lime);color:var(--ink)}
.hv2 .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.hv2 .quote{display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem;border-radius:var(--r);background:var(--ink-2);border:1px solid var(--ink-3)}
.hv2 .quote__stars{display:flex;gap:3px;color:var(--lime)}
.hv2 .quote__stars svg{width:16px;height:16px;fill:currentColor}
.hv2 .quote blockquote{font-size:1.05rem;line-height:1.6;color:#eef1ec;font-weight:500}
.hv2 .quote__who{margin-top:auto;display:flex;align-items:center;gap:.85rem}
.hv2 .quote__who img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--lime)}
.hv2 .quote__name{font-weight:700;font-size:.95rem}
.hv2 .quote__meta{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}

/* ==========================================================================
   FIT + FAQ
   ========================================================================== */
.hv2 .fit{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hv2 .fit__col{padding:1.75rem;border-radius:var(--r);border:1px solid var(--line);background:var(--white)}
.hv2 .fit__col--yes{background:var(--ink);border-color:var(--ink);color:var(--white)}
.hv2 .fit__col h3{font-size:1.3rem;margin-bottom:1.1rem}
.hv2 .fit__col ul{list-style:none;display:grid;gap:.85rem}
.hv2 .fit__col li{display:grid;grid-template-columns:24px 1fr;gap:.75rem;font-size:.95rem;line-height:1.55;color:var(--muted)}
.hv2 .fit__col--yes li{color:var(--silver)}
.hv2 .faq2__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.hv2 .faq2__aside{position:sticky;top:calc(var(--nav-height,70px) + 24px)}
.hv2 .faq2__aside .b{margin-top:1.75rem}
.hv2 .faq2__list details{border-bottom:1px solid var(--line)}
.hv2 .faq2__list details:first-child{border-top:1px solid var(--line)}
.hv2 .faq2__list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0;font-weight:700;font-size:1.05rem;cursor:pointer;letter-spacing:-.01em}
.hv2 .faq2__list summary::-webkit-details-marker{display:none}
.hv2 .faq2__list summary::after{content:'';flex:0 0 32px;height:32px;border-radius:50%;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0f0c' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/16px no-repeat;border:1px solid var(--line);transition:transform .2s ease}
.hv2 .faq2__list details[open] summary::after{transform:rotate(45deg)}
.hv2 .faq2__list details p{padding:0 3rem 1.4rem 0;color:var(--muted);line-height:1.7}

/* ==========================================================================
   BLOG
   ========================================================================== */
.hv2 .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.hv2 .post{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.hv2 .post:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(10,15,12,.12)}
.hv2 .post__media{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--forest),var(--green))}
.hv2 .post__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hv2 .post:hover .post__media img{transform:scale(1.04)}
.hv2 .post__body{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.25rem 1.4rem;flex:1}
.hv2 .post__meta{display:flex;justify-content:space-between;gap:1rem;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.hv2 .post__meta span:first-child{color:var(--green)}
.hv2 .post__title{font-size:1.2rem;font-weight:700;letter-spacing:0;line-height:1.6em}
.hv2 .post__excerpt{font-size:.9rem;line-height:1.65;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.hv2 .post__link{margin-top:auto;padding-top:.4rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}
.hv2 .post__link svg{width:16px;height:16px;transition:transform .15s ease}
.hv2 .post:hover .post__link svg{transform:translateX(3px)}

/* ==========================================================================
   FINAL CTA
   ========================================================================== */
.hv2 .final{padding:0 0 var(--sec)}
.hv2 .final__card{position:relative;overflow:hidden;border-radius:calc(var(--r) + 8px);background:var(--ink);color:var(--white);padding:clamp(2.5rem,7vw,6rem) clamp(1.5rem,6vw,5rem);isolation:isolate}
.hv2 .final__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.45}
.hv2 .final__card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,15,12,.95) 0%,rgba(10,15,12,.55) 100%)}
.hv2 .final__card h2{font-size:clamp(2.2rem,5.4vw,4.25rem);max-width:14ch}
.hv2 .final__card p{margin-top:1.2rem;font-size:1.1rem;line-height:1.65;color:var(--silver);max-width:560px}
.hv2 .final__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.hv2 .foot{background:var(--ink);color:var(--steel);padding:clamp(56px,8vw,88px) 0 2rem;font-size:.92rem}
.hv2 .foot__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2.5rem}
.hv2 .foot__logo{width:180px;height:auto}
.hv2 .foot__brand p{margin-top:1.1rem;line-height:1.7;max-width:340px}
.hv2 .foot h4{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--white);margin-bottom:1rem}
.hv2 .foot__col a{display:block;padding:.3rem 0;color:var(--steel);transition:color .15s ease}
.hv2 .foot__col a:hover{color:var(--lime)}
.hv2 .foot__social{display:flex;gap:.6rem;margin-top:1.5rem}
.hv2 .foot__social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--ink-3);color:var(--silver);transition:all .15s ease}
.hv2 .foot__social a:hover{border-color:var(--lime);color:var(--lime)}
.hv2 .foot__social svg{width:18px;height:18px}
.hv2 .foot__sub{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--ink-3);font-size:.75rem;line-height:1.7;color:#69706b;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.hv2 .foot__sub p:first-child{max-width:720px}

/* ---- Draft ribbon (local review only) ---- */
.hv2 .draft-flag{position:fixed;left:16px;bottom:16px;z-index:1500;padding:.5rem .85rem;border-radius:999px;background:#ffd84d;color:#1a1a1a;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 20px rgba(0,0,0,.25)}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .hv2 .schools,.hv2 .posts{grid-template-columns:repeat(2,1fr)}
  .hv2 .post:nth-child(3){display:none}
  .hv2 .days{grid-template-columns:repeat(2,1fr)}
  .hv2 .nav__list{gap:2rem}
}
@media (max-width:960px){
  .hv2 .paths__grid,.hv2 .phases,.hv2 .quotes,.hv2 .incl{grid-template-columns:1fr}
  .hv2 .incl__item--feature{grid-column:auto;grid-template-columns:1fr}
  .hv2 .compare__grid,.hv2 .faq2__grid,.hv2 .fit{grid-template-columns:1fr}
  .hv2 .faq2__aside{position:static}
  .hv2 .foot__grid{grid-template-columns:1fr 1fr}
  .hv2 .foot__brand{grid-column:1/-1}
  .hv2 .path{min-height:0}
}
@media (max-width:768px){
  .hv2 .hero2__stats{grid-template-columns:repeat(2,1fr)}
  .hv2 .stat:nth-child(odd){padding-left:0;border-left:0}
  .hv2 .stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14);margin-top:1.4rem}
  .hv2 .stat:last-child:nth-child(odd){grid-column:1/-1}
  .hv2 .hero2::after{background:linear-gradient(0deg,rgba(10,15,12,1) 0%,rgba(10,15,12,.55) 60%,rgba(10,15,12,.35) 100%)}
  .hv2 .schools,.hv2 .days,.hv2 .posts{grid-template-columns:1fr}
  .hv2 .post:nth-child(3){display:flex}
  .hv2 .ctable table{table-layout:fixed;font-size:.8rem}
  .hv2 .ctable thead th:first-child{width:34%}
  .hv2 .ctable th,.hv2 .ctable td{padding:.75rem .4rem;overflow-wrap:break-word}
  .hv2 .ctable tbody th{padding-left:.85rem}
  .hv2 .ctable thead th{font-size:.6rem;letter-spacing:.06em}
  .hv2 .filters{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) .25rem;scrollbar-width:none;width:calc(100% + var(--gutter) * 2)}
  .hv2 .filters::-webkit-scrollbar{display:none}
  .hv2 .chip{flex:0 0 auto}
  .hv2 .hero2__cta .b,.hv2 .final__cta .b{flex:1 1 100%}
  .hv2 .faq2__list details p{padding-right:0}
  .hv2 .method2__loop{flex-direction:column;align-items:flex-start}
}
@media (max-width:480px){
  .hv2 .foot__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .hv2 *{transition:none!important;scroll-behavior:auto!important}
}
