@font-face{font-family:"Inter";src:url("assets/fonts/Inter-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("assets/fonts/Inter-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("assets/fonts/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("assets/fonts/Inter-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
/* Inter added 6 August 2026 (Jon). The site was on Segoe UI, which nobody chose and which
   only renders on Windows. Inter was already the chosen Pre-Ski font on the quiz, the
   Parent and Guardian Guide and the Added Value Pack, so the site was the odd one out.
   Served from local files, never Google Fonts: a blocked CDN on a school laptop renders
   the fallback silently, and schools are half the audience. 800 weight maps to Bold. */
:root{
    /* Navy realigned to the logo, 31 July 2026 (Jon). The badge in the header
       is #2D3C50, so the site now uses the same navy rather than a near miss.
       Action blue and gold stay: the site pays homage to the logo, it does not
       reproduce it. Teal and beige are the logo's own colours and are used only
       on the official marks below, never as general site furniture. */
    --navy:#2D3C50;
    --navy-deep:#1f2b3a;
    --blue:#047bfd;
    --blue-dark:#0367d3;
    --snow:#f1f4f6;
    --white:#ffffff;
    --ink:#22303b;
    --gold:#f5a623;
    --logo-teal:#5BB2C4;
    --logo-beige:#EEE5CF;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--white);line-height:1.55;}
  img{max-width:100%;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

  /* Header */
  header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid #e3e9ee;}
  .nav{display:flex;align-items:center;justify-content:space-between;height:68px;}
  .logo{font-weight:800;font-size:1.5rem;letter-spacing:.06em;color:var(--navy);text-decoration:none;display:flex;align-items:center;}
  .logo span{color:var(--blue);}
  .logo-img{height:48px;width:auto;display:block;}
  nav ul{display:flex;gap:28px;list-style:none;align-items:center;}
  nav a{color:var(--navy);text-decoration:none;font-weight:600;font-size:.95rem;}
  nav a:hover{color:var(--blue);}
  .btn{display:inline-block;background:var(--blue);color:var(--white);font-weight:700;padding:14px 28px;border-radius:8px;text-decoration:none;font-size:1.05rem;box-shadow:0 4px 14px rgba(4,123,253,.35);transition:background .15s, transform .15s;}
  .btn:hover{background:var(--blue-dark);transform:translateY(-1px);}
  .btn-nav{padding:10px 20px;font-size:.95rem;box-shadow:none;}
  .btn-ghost{background:transparent;color:var(--white);border:2px solid var(--white);box-shadow:none;}
  .btn-ghost:hover{background:rgba(255,255,255,.12);}

  /* Hero */
  .hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 70%);color:var(--white);padding:72px 0 64px;}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
  .hero h1{font-size:3rem;line-height:1.12;font-weight:800;margin-bottom:18px;}
  .hero h1 em{font-style:normal;color:#8fc4ff;}
  .hero p{font-size:1.15rem;color:#dbe6ef;margin-bottom:26px;max-width:32em;}
  .hero .cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
  .hero .micro{margin-top:14px;font-size:.9rem;color:#b7c9d8;}
  .video-slot{aspect-ratio:16/10;background:rgba(255,255,255,.08);border:2px dashed rgba(255,255,255,.35);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#cfe0ee;font-weight:600;text-align:center;padding:20px;}
  .play{width:64px;height:64px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;}

  /* Guarantee strip */
  .strip{background:var(--gold);color:#3a2a00;font-weight:700;text-align:center;padding:12px 20px;font-size:1rem;}

    /* CTA sitting directly under the gold guarantee band */
  .strip-cta{background:var(--snow);padding:22px 0 24px;text-align:center;}

  /* Sections */
  section{padding:64px 0;}
  section.alt{background:var(--snow);}
  h2{font-size:2rem;color:var(--navy);font-weight:800;margin-bottom:14px;}
  .lead{font-size:1.08rem;max-width:44em;}
  .center{text-align:center;}
  .center .lead{margin:0 auto;}

  /* Why: two panels */
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px;}
  .panel{border-radius:14px;padding:30px;}
  .panel h3{font-size:1.15rem;margin-bottom:10px;}
  .panel-bad{background:#eef1f4;color:#4a5a67;border:1px solid #dfe6ec;}
  .panel-good{background:var(--navy);color:var(--white);}
  .panel-good h3{color:#8fc4ff;}

  /* Gains cards */
  .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;}
  .card{background:var(--white);border:1px solid #e3e9ee;border-radius:14px;padding:26px 22px;box-shadow:0 2px 10px rgba(41,67,88,.06);}
  .card .ico{width:46px;height:46px;border-radius:10px;background:var(--snow);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:14px;}
  .card h3{font-size:1.05rem;color:var(--navy);margin-bottom:8px;}
  .card p{font-size:.95rem;color:#4a5a67;}

  /* How it works */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;counter-reset:step;}
  .step{position:relative;background:var(--white);border-radius:14px;padding:26px 22px;border:1px solid #e3e9ee;}
  .step::before{counter-increment:step;content:counter(step);position:absolute;top:-16px;left:20px;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;}
  .step h3{font-size:1rem;color:var(--navy);margin:6px 0 6px;}
  .step p{font-size:.92rem;color:#4a5a67;}

  /* Pricing */
  .tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;align-items:stretch;}
  .tier{background:var(--white);border:1px solid #e3e9ee;border-radius:16px;padding:30px 24px;display:flex;flex-direction:column;position:relative;}
  .tier.popular{border:2px solid var(--blue);box-shadow:0 8px 26px rgba(4,123,253,.18);}
  .flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.05em;padding:5px 14px;border-radius:999px;white-space:nowrap;}
  .tier h3{color:var(--navy);font-size:1.05rem;margin-bottom:6px;}
  .price{font-size:2.1rem;font-weight:800;color:var(--navy);margin:8px 0 2px;}
  .price small{font-size:.95rem;font-weight:600;color:#6b7d8c;}
  .was{color:#8a9aa8;font-size:.9rem;text-decoration:line-through;}
  .tier ul{list-style:none;margin:16px 0 22px;flex:1;}
  .tier li{padding:6px 0 6px 26px;position:relative;font-size:.93rem;color:#394a57;}
  .tier li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800;}
  .tier .btn{text-align:center;}
  .school-note{margin-top:18px;text-align:center;font-size:.95rem;color:#4a5a67;}
  .school-note strong{color:var(--navy);}

  /* Testimonials */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
  .quote{background:var(--white);border-radius:14px;padding:26px;border:1px solid #e3e9ee;}
  .stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px;}
  .quote p{font-size:.98rem;color:#39424a;margin-bottom:12px;}
  .quote cite{font-style:normal;font-weight:700;color:var(--navy);font-size:.9rem;}

  /* Guarantee block */
  .guarantee{background:var(--navy);color:var(--white);border-radius:18px;padding:44px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;}
  .badge{width:92px;height:92px;border-radius:50%;background:var(--gold);color:#3a2a00;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:.72rem;text-align:center;line-height:1.15;padding:10px;}
  .badge b{font-size:1.05rem;}
  .guarantee h2{color:var(--white);margin-bottom:8px;}
  .guarantee p{color:#dbe6ef;max-width:40em;}
  a.link{color:var(--blue);font-weight:600;}
  .guarantee a.link{color:#8fc4ff;font-weight:600;}

  /* Final CTA */
  .final{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 70%);color:var(--white);text-align:center;}
  .final h2{color:var(--white);font-size:2.2rem;}
  .final p{color:#dbe6ef;margin:12px auto 28px;max-width:36em;}
  .final-price{font-size:3.2rem;font-weight:800;color:var(--white);line-height:1.1;margin:18px 0 4px;}
  .final .was{display:block;color:#a8bccd;font-size:1rem;margin-bottom:6px;}
  .final-note{color:#8fc4ff;font-weight:600;font-size:1rem;margin:0 auto 22px;}

  /* Simple content pages */
  .page-title{font-size:2.4rem;line-height:1.15;color:var(--navy);font-weight:800;margin-bottom:16px;}
  .prose{max-width:44em;}
  .prose p{margin-bottom:16px;}
  .prose h2{margin-top:34px;font-size:1.5rem;}
  .prose ul{margin:0 0 16px 22px;}
  .prose li{margin-bottom:8px;}
  .hero .page-title{color:var(--white);font-size:2.6rem;}

  /* Course page hero list */
  .hero-list{list-style:none;margin:8px 0 26px;}
  .hero-list li{padding:7px 0 7px 30px;position:relative;color:#dbe6ef;font-size:1.05rem;}
  .hero-list li::before{content:"\2713";position:absolute;left:0;color:#8fc4ff;font-weight:800;}

  /* Footer */
  footer{background:#141f28;color:#9fb2c1;padding:40px 0;font-size:.85rem;}
  .foot-logo{height:56px;width:auto;display:block;margin-bottom:20px;}
  .foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  footer a{color:#c6d5e1;text-decoration:none;margin-right:18px;}
  .legal{margin-top:18px;color:#7d92a3;max-width:60em;}

  /* Mobile sticky CTA */
  .sticky-cta{display:none;}

  @media (max-width:900px){
    .hero-grid,.duo,.cards,.steps,.tiers,.quotes{grid-template-columns:1fr;}
    .hero h1{font-size:2.2rem;}
    .guarantee{grid-template-columns:1fr;text-align:center;justify-items:center;}
    nav ul{display:none;}
    .sticky-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--white);padding:12px 16px;box-shadow:0 -4px 18px rgba(0,0,0,.12);}
    .sticky-cta .btn{display:block;text-align:center;}
    body{padding-bottom:74px;}
  }

/* ---- School sign-up form and parent note (added 29 July 2026) ---- */
.parent-note{background:var(--snow);border-left:5px solid var(--gold);border-radius:14px;padding:30px 32px;max-width:52em;}
.parent-note h2{margin-bottom:12px;}
.parent-note p{margin-bottom:12px;font-size:1.05rem;}
.parent-note p:last-child{margin-bottom:0;}

.school-form{max-width:34em;margin-top:28px;}
.school-form .field{margin-bottom:18px;}
.school-form label{display:block;font-weight:700;color:var(--navy);margin-bottom:6px;font-size:.98rem;}
.school-form .req{font-weight:600;font-size:.8rem;color:#6b7d8c;text-transform:uppercase;letter-spacing:.04em;margin-left:6px;}
.school-form input,.school-form select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #cfd8e0;border-radius:10px;font-size:1rem;font-family:inherit;background:var(--white);color:var(--ink);}
.school-form input:focus,.school-form select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,123,253,.18);}
.school-form .hint{font-size:.85rem;color:#5c6b78;margin-top:6px;}
.school-form .btn{width:100%;min-height:52px;margin-top:6px;text-align:center;}
.school-form textarea{width:100%;padding:12px 14px;border:1px solid #cfd8e0;border-radius:10px;font-size:1rem;font-family:inherit;background:var(--white);color:var(--ink);resize:vertical;}
.school-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,123,253,.18);}
.school-form input[type="file"]{padding:11px 12px;min-height:auto;background:var(--snow);}
.school-form h2{margin-top:32px;margin-bottom:10px;font-size:1.25rem;color:var(--navy);}
.school-form h2:first-of-type{margin-top:0;}
.school-form label.check{display:flex;align-items:flex-start;gap:10px;font-weight:500;margin:0 0 10px;line-height:1.45;}
.school-form label.check input{width:auto;min-height:auto;margin-top:3px;flex:0 0 auto;}
.form-status{max-width:34em;margin-top:16px;background:var(--white);border-left:4px solid var(--blue);padding:14px 16px;border-radius:0 10px 10px 0;font-weight:600;color:var(--navy);}
/* ---- Official brand marks (added 31 July 2026) ----
   Built in CSS rather than as flat images so they stay sharp on any screen,
   resize on mobile and are readable by search engines. The source artwork
   stays the print master: Logos and design/pre-ski_logo_schools.pdf,
   UK Schools programme.pdf and Be Safer.pdf. Colours are the logo's own. */

.official-mark{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center;background:var(--logo-beige);border-radius:16px;padding:26px 28px;margin:30px auto 0;max-width:640px;}
.official-mark img{width:96px;height:96px;flex:0 0 auto;}
.official-mark .uk-block{background:var(--navy);color:var(--logo-beige);border-radius:10px;padding:16px 26px;text-align:center;}
.official-mark .uk-block b{display:block;font-weight:800;font-size:1.35rem;line-height:1.15;letter-spacing:.02em;text-transform:uppercase;}
.official-mark .mark-note{flex-basis:100%;text-align:center;color:var(--navy);font-size:.92rem;font-weight:600;margin:0;}

@media (max-width:560px){
  .official-mark{gap:16px;padding:22px 18px;}
  .official-mark img{width:74px;height:74px;}
  .official-mark .uk-block b{font-size:1.1rem;}
}

.strapline-band{background:var(--logo-beige);color:var(--navy);text-align:center;padding:20px 24px;}
.strapline-band p{margin:0;font-weight:800;font-size:1.1rem;letter-spacing:.01em;}
.strapline-band span{white-space:nowrap;display:inline-block;margin:0 14px;}
.strapline-band span::before{content:"*";color:var(--logo-teal);margin-right:3px;}

@media (max-width:560px){
  .strapline-band p{font-size:1rem;}
  .strapline-band span{display:block;margin:4px 0;}
}

.letter{background:var(--white);border:1px solid #cfd8e0;border-left:5px solid var(--blue);border-radius:0 14px 14px 0;padding:24px 26px;margin-top:22px;max-width:44em;}
.letter p{margin:0 0 12px;}
.letter p:last-child{margin-bottom:0;}
.letter-meta{font-size:.85rem;color:#5c6b78;font-style:italic;border-bottom:1px solid #e4eaef;padding-bottom:10px;}
.letter-link{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.letter-link:hover{color:var(--blue-dark);}
.swap{background:#fff2d6;border-bottom:2px solid var(--gold,#f5a623);padding:0 3px;font-weight:700;}
.form-err{color:#b3261e;font-weight:600;min-height:1.2em;margin:4px 0 8px;}
.form-done{max-width:34em;margin-top:28px;background:var(--white);border:2px solid var(--blue);border-radius:14px;padding:28px;}
.form-done h3{color:var(--navy);font-size:1.25rem;margin-bottom:8px;}

@media (min-width:700px){
  .school-form .btn{width:auto;padding-left:40px;padding-right:40px;}
}

/* ---- Photography and Sam credentials (added 29 July 2026) ---- */

/* Image inside the "What most people do" panel */
.panel-media{display:flex;gap:22px;align-items:flex-start;}
.panel-media img{width:150px;height:200px;flex:none;object-fit:cover;border-radius:14px;display:block;}
.panel-copy{flex:1;min-width:0;}

/* Image inside a step card */
.step-photo{width:100%;height:150px;object-fit:cover;object-position:50% 34%;border-radius:10px;display:block;margin-top:16px;}

/* Sam credentials block */
.bio{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start;margin-top:30px;}
.bio-photo{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 2px 10px rgba(41,67,88,.06);}
.bio-body p{margin-bottom:16px;}
.bio-body p:last-child{margin-bottom:0;}
.creds{list-style:none;display:grid;gap:14px;margin:26px 0;}
.creds li{background:var(--white);border:1px solid #e3e9ee;border-radius:14px;padding:20px 22px;box-shadow:0 2px 10px rgba(41,67,88,.06);}
.creds strong{display:block;color:var(--navy);font-size:1.02rem;margin-bottom:6px;}
.creds span{display:block;font-size:.95rem;color:#4a5a67;}

/* Wide photo band */
.photo-band{width:100%;height:380px;object-fit:cover;object-position:50% 65%;border-radius:14px;display:block;}

@media (max-width:900px){
  .panel-media{flex-direction:column;}
  .step-photo{height:260px;}
  .bio{grid-template-columns:1fr;gap:26px;}
  .photo-band{height:260px;}
}

/* ---- School gift example table (added 29 July 2026) ---- */
/* Why teachers love PRE-SKI, added 31 July 2026 */
.love-section{padding:44px 0;}
.love-box{background:var(--white);border:1px solid #dce4ea;border-top:6px solid var(--navy);border-radius:16px;padding:32px 30px;max-width:900px;margin:0 auto;box-shadow:0 6px 24px rgba(45,60,80,.09);text-align:center;}
.love-box h2{color:var(--navy);margin-bottom:12px;}
.love-lead{font-size:1.3rem;font-weight:800;color:var(--navy);margin:0;}
.love-nos{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;margin:22px 0 20px;padding:0;}
.love-nos li{background:var(--snow);border:1px solid #d5dee6;border-radius:999px;padding:9px 17px;font-weight:700;color:var(--navy);font-size:1rem;}
.love-nos b{color:var(--blue);font-weight:900;letter-spacing:.03em;}
.love-close{font-size:1.12rem;font-weight:700;color:var(--ink);margin:0;}
@media (max-width:600px){
  .love-box{padding:26px 20px;}
  .love-lead{font-size:1.15rem;}
  .love-nos li{font-size:.95rem;padding:8px 14px;}
}

/* Pack list, dark version of hero-list for light sections */
.pack-list{list-style:none;margin:8px 0 0;padding:0;}
.pack-list li{padding:9px 0 9px 32px;position:relative;color:var(--ink);font-size:1.05rem;}
.pack-list li::before{content:"\2713";position:absolute;left:0;color:var(--blue);font-weight:800;}
.pack-list a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.pack-list a:hover{color:var(--blue-dark);}

.gift-example{margin-top:28px;background:var(--white);border:1px solid #e3e9ee;border-radius:14px;padding:26px 24px;box-shadow:0 2px 10px rgba(41,67,88,.06);}
.gift-example h3{color:var(--navy);font-size:1.15rem;margin-bottom:14px;}
.gift-table{width:100%;border-collapse:collapse;}
.gift-table caption{caption-side:top;text-align:left;font-size:.85rem;color:#5c6b78;padding-bottom:10px;}
.gift-table th,.gift-table td{padding:14px 6px;border-bottom:1px solid #e3e9ee;text-align:left;font-size:1.05rem;}
.gift-table th{font-weight:600;color:#39424a;}
.gift-table td{font-weight:800;color:var(--navy);white-space:nowrap;}
.gift-table tr:last-child th,.gift-table tr:last-child td{border-bottom:0;}
.gift-note{margin-top:14px;font-size:.92rem;color:#4a5a67;}

/* ---- Hero claim line and the six buckets (added 29 July 2026) ---- */
.claim{margin-top:20px;padding-top:16px;position:relative;}
.claim::before{content:"";position:absolute;top:0;left:0;width:52px;height:3px;background:var(--gold);border-radius:2px;}
.claim-caps{font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffffff;line-height:1.5;}
.claim-sub{margin-top:6px;font-size:1rem;color:#b7c9d8;font-style:italic;}

.buckets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;}
.bucket{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:132px;padding:22px 16px;background:var(--white);border:1px solid #e3e9ee;border-radius:14px;text-decoration:none;box-shadow:0 2px 10px rgba(41,67,88,.06);transition:border-color .15s, transform .15s, box-shadow .15s;}
.bucket:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 22px rgba(4,123,253,.16);}
.bucket-ico{font-size:1.8rem;line-height:1;}
.bucket-name{font-weight:800;color:var(--navy);font-size:1.02rem;text-align:center;}
.bucket-note{font-size:.86rem;color:#5c6b78;text-align:center;}

@media (max-width:900px){
  .buckets{grid-template-columns:repeat(2,1fr);gap:12px;}
  .bucket{min-height:120px;padding:18px 12px;}
  .claim-caps{font-size:.78rem;letter-spacing:.1em;}
}

/* ---- Footer link groups and the two card schools chooser (added 29 July 2026) ---- */
.foot-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;flex:1;max-width:40em;}
.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.foot-head{color:var(--white);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
.foot-col a{margin-right:0;}
.foot-col a:hover{color:var(--white);}

@media (max-width:900px){
  .foot-groups{grid-template-columns:1fr;gap:22px;}
  .buckets-two{grid-template-columns:1fr !important;}
}

/* ---- Photo outside the panel, and quieter legal line (added 29 July 2026) ---- */
.panel-outer{display:flex;flex-direction:column;gap:14px;}
.panel-photo{width:100%;height:220px;object-fit:cover;object-position:50% 55%;border-radius:14px;display:block;}
.panel-outer .panel{flex:1;}
.legal{border-top:1px solid #24323d;margin-top:26px;padding-top:18px;color:#67798a;font-size:.78rem;line-height:1.5;}

/* ---- About page prose sits centred in its column, not hard left (29 July 2026) ---- */
.prose{margin-left:auto;margin-right:auto;}

/* ---- Questions and answers page (added 29 July 2026) ---- */
.qa{max-width:46em;margin:0 auto;}
.qa h2{margin-top:56px;font-size:1.55rem;padding-bottom:10px;border-bottom:3px solid var(--gold);}
.qa h2:first-child{margin-top:0;}
.qa h3{margin-top:30px;margin-bottom:8px;font-size:1.1rem;color:var(--navy);font-weight:700;}
.qa p{margin-bottom:14px;}
.qa a{color:var(--blue);font-weight:600;}
.qa-jump{background:var(--snow);border-radius:14px;padding:24px 26px;margin-bottom:8px;}
.qa-jump h2{margin-top:0;font-size:1.1rem;border-bottom:0;padding-bottom:0;margin-bottom:10px;}
.qa-jump ul{list-style:none;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 24px;}
.qa-jump li{margin:0;}
.qa-jump a{font-size:.97rem;}
.qa-close{margin-top:46px;background:var(--navy);color:var(--white);border-radius:16px;padding:30px 32px;}
.qa-close h2{color:var(--white);margin-top:0;border-bottom:0;padding-bottom:0;margin-bottom:10px;}
.qa-close p{color:#dbe6ef;}
.qa-close a{color:#8fc4ff;}

@media (max-width:900px){
  .qa-jump ul{grid-template-columns:1fr;}
}

/* ---- See inside page, access steps and buy note (added 29 July 2026) ---- */
.demo-frame{max-width:320px;margin:0 auto;}
.demo-frame video{width:100%;height:auto;display:block;border-radius:14px;background:#000;}
.demo-caption{max-width:34em;margin:22px auto 0;font-size:1rem;color:#4a5a67;}

.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
.shot{margin:0;background:var(--white);border:1px solid #e3e9ee;border-radius:14px;padding:14px;box-shadow:0 2px 10px rgba(41,67,88,.06);}
.shot img{width:100%;height:auto;display:block;border-radius:10px;}
.shot figcaption{margin-top:12px;font-size:.92rem;color:#4a5a67;text-align:left;}

.compare-shot{width:100%;height:auto;display:block;border-radius:14px;margin-top:26px;}

.access-steps{max-width:40em;margin:44px auto 0;background:var(--white);border:1px solid #e3e9ee;border-radius:14px;padding:26px 28px;text-align:left;box-shadow:0 2px 10px rgba(41,67,88,.06);}
.access-steps h3{color:var(--navy);font-size:1.15rem;margin-bottom:12px;}
.access-steps ol{margin:0 0 16px 20px;}
.access-steps li{margin-bottom:8px;font-size:.98rem;color:#4a5a67;}
.access-more{font-size:.98rem;color:#4a5a67;margin:0;}
.access-more a{color:var(--blue);font-weight:600;}

.buy-note{max-width:34em;margin:0 auto 26px;}
.buy-note p{margin:0 0 10px;font-size:1rem;color:#dbe6ef;max-width:none;}
.buy-note a{color:#8fc4ff;font-weight:600;}

@media (max-width:900px){
  .shots{grid-template-columns:1fr;}
}

/* ---- Inline icons in place of emoji (added 29 July 2026) ---- */
.card .ico{color:var(--blue);}
.card .ico svg{width:28px;height:28px;display:block;}
.bucket-ico{color:var(--navy);display:flex;align-items:center;justify-content:center;}
.bucket-ico svg{width:28px;height:28px;display:block;}
.play svg{width:26px;height:26px;display:block;}

/* ---- Top menu button and panel (added 29 July 2026) ---- */
nav{display:flex;align-items:center;gap:22px;}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid #e3e9ee;border-radius:10px;color:var(--navy);cursor:pointer;}
.menu-btn:hover{color:var(--blue);border-color:var(--blue);}
.menu-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.menu-btn svg{width:24px;height:24px;display:block;}
.menu-panel{position:absolute;top:100%;left:0;right:0;padding-top:8px;}
.menu-panel[hidden]{display:none;}
.menu-inner{background:var(--white);border:1px solid #e3e9ee;border-radius:14px;box-shadow:0 2px 10px rgba(41,67,88,.06);padding:24px 28px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px 32px;max-height:calc(100vh - 96px);overflow-y:auto;}
.menu-col{display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
.menu-head{color:var(--navy);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;}
.menu-col a{color:var(--navy);text-decoration:none;font-weight:400;font-size:.95rem;padding:7px 0;}
.menu-col a:hover{color:var(--blue);}
.menu-col a:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}

@media (max-width:900px){
  .menu-inner{grid-template-columns:1fr;gap:18px;padding:20px 22px;max-height:calc(100vh - 168px);}
}

/* ---- Lesson split: one still beside the written coaching cues (30 July 2026) ---- */
.lesson-split{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start;margin-top:28px;}
.lesson-still{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 2px 10px rgba(41,67,88,.10);}
.cue-list{list-style:none;margin:0;padding:0;}
.cue-list li{background:var(--white);border:1px solid #e3e9ee;border-left:4px solid var(--blue);border-radius:10px;padding:16px 18px;margin-bottom:12px;font-size:1.05rem;color:#39424a;line-height:1.5;}
.cue-step{display:block;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:5px;}
@media (max-width:900px){
  .lesson-split{grid-template-columns:1fr;gap:22px;}
  .lesson-still{max-width:300px;margin:0 auto;}
}

/* ---- Audience pages: three-card block and the quiet closing note (30 July 2026) ---- */
@media (min-width:901px){
  .cards-3{grid-template-columns:repeat(3,1fr);}
}
section.page-note{padding:44px 0 52px;}
.page-note p{max-width:44em;margin:0 auto;font-size:1rem;color:#4a5a67;}
.page-note a{color:var(--blue);font-weight:600;}

/* 30 July 2026: course platform screenshots on See inside */
.sc-shots{display:grid;gap:44px;max-width:960px;margin:34px auto 0;}
.sc-shot{text-align:left;}
.sc-step{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;}
.sc-step span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;background:var(--blue);color:#fff;font-size:.85rem;letter-spacing:0;}
.sc-shot h3{font-size:1.32rem;margin:0 0 10px;}
.sc-frame{border:1px solid #dbe3ea;border-radius:12px;overflow:hidden;background:var(--white);
  box-shadow:0 10px 30px rgba(19,42,64,.10);}
.sc-frame img{display:block;width:100%;height:auto;}
.sc-cap{margin:14px 0 0;font-size:1rem;line-height:1.6;color:#4a5a67;max-width:44em;}
@media (min-width:900px){
  .sc-shots{gap:56px;}
  .sc-shot h3{font-size:1.45rem;}
}
.page-note-inline{max-width:44em;margin:36px auto 0;font-size:1rem;color:#4a5a67;text-align:center;}

/* 30 July 2026: course screenshot on the home page access steps */
.access-shot{width:100%;margin:20px 0 0;border:1px solid #dbe3ea;border-radius:10px;
  overflow:hidden;background:var(--white);box-shadow:0 8px 24px rgba(19,42,64,.10);}
.access-shot img{display:block;width:100%;height:auto;}
.access-shot-cap{margin:10px 0 14px;font-size:.95rem;color:#4a5a67;text-align:left;}

/* 30 July 2026: multiple-booking offer block on the five non-school buckets */
.multi-offer{max-width:680px;margin:38px auto 0;padding:26px 28px;border:2px solid var(--blue);
  border-radius:14px;background:var(--white);text-align:center;}
.multi-offer h3{margin:0 0 10px;font-size:1.35rem;}
.multi-offer p{margin:0 0 12px;font-size:1.02rem;line-height:1.6;color:#33424f;}
.multi-code{font-size:1rem;color:#4a5a67;}
.multi-code span{display:inline-block;margin-left:6px;padding:5px 12px;border-radius:7px;
  background:var(--blue);color:#fff;font-weight:700;letter-spacing:.05em;font-size:1rem;}
.multi-terms{margin:14px 0 0 !important;font-size:.88rem !important;color:#66757f !important;}
@media (max-width:600px){
  .multi-offer{padding:22px 18px;}
  .multi-offer h3{font-size:1.2rem;}
  .multi-code span{display:block;margin:8px auto 0;max-width:190px;}
}

/* 30 July 2026: gear guide v2 */
.gear-disclosure{max-width:52em;margin:0 auto;font-size:.95rem;line-height:1.65;color:#4a5a67;text-align:center;}
.gear-list{display:grid;gap:22px;max-width:820px;margin:30px auto 0;}
.gear-list-tight{gap:16px;}
.gear-item{border:1px solid #dbe3ea;border-radius:12px;padding:20px 22px;background:var(--white);}
.gear-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px;}
.gear-head h3{margin:0;font-size:1.18rem;}
.gear-price{font-size:.95rem;font-weight:700;color:var(--blue);white-space:nowrap;}
.gear-item p{margin:0 0 10px;font-size:1rem;line-height:1.65;color:#33424f;}
.gear-item p:last-child{margin-bottom:0;}
.gear-note{font-size:.93rem !important;color:#66757f !important;border-left:3px solid var(--blue);padding-left:12px;}
.gear-sub{max-width:820px;margin:42px auto 0;font-size:1.3rem;}
.gear-table{width:100%;max-width:900px;margin:28px auto 0;border-collapse:collapse;font-size:.98rem;}
.gear-table th,.gear-table td{padding:12px 14px;border-bottom:1px solid #dbe3ea;text-align:left;vertical-align:top;line-height:1.55;}
.gear-table th{background:var(--navy);color:#fff;font-size:.9rem;letter-spacing:.03em;text-transform:uppercase;}
.gear-table td.rent,.gear-table td.buy,.gear-table td.depends{font-weight:700;white-space:nowrap;}
.gear-table td.buy{color:#1a7f3c;}
.gear-table td.rent{color:var(--blue);}
.gear-table td.depends{color:#8a6d1f;}
.gear-callout{max-width:820px;margin:34px auto 0;padding:24px 26px;border:2px solid var(--blue);border-radius:14px;background:var(--white);}
.gear-callout h3{margin:0 0 12px;font-size:1.3rem;}
.gear-callout p{margin:0 0 12px;font-size:1.02rem;line-height:1.65;color:#33424f;}
.gear-callout p:last-child{margin-bottom:0;}
@media (max-width:640px){
  .gear-table{font-size:.9rem;}
  .gear-table th,.gear-table td{padding:9px 8px;}
  .gear-head{flex-direction:column;gap:2px;}
}
.gear-pricenote{max-width:52em;margin:0 auto;font-size:.92rem;color:#66757f;text-align:center;}
.gear-familynote{max-width:820px;margin:24px auto 0;padding:16px 20px;border-left:4px solid var(--blue);
  background:#f2f7fb;border-radius:0 10px 10px 0;font-size:1rem;line-height:1.65;color:#33424f;}

/* 30 July 2026: trip timeline on the five non-school buckets */
.trip-timeline{max-width:760px;margin:26px auto 0;border-left:3px solid var(--blue);padding-left:0;}
.trip-step{position:relative;padding:0 0 22px 26px;}
.trip-step:last-child{padding-bottom:6px;}
.trip-step::before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;border-radius:50%;
  background:var(--blue);border:3px solid var(--white);box-shadow:0 0 0 2px var(--blue);}
.trip-when{display:block;font-weight:800;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue);margin-bottom:5px;}
.trip-what{margin:0;font-size:1.04rem;line-height:1.6;color:#33424f;}
.trip-close{max-width:760px;margin:24px auto 0;padding:16px 20px;background:var(--white);
  border-radius:12px;font-size:1.06rem;line-height:1.6;font-weight:600;color:var(--navy);}
@media (max-width:600px){
  .trip-step{padding-left:20px;}
  .trip-what{font-size:1rem;}
}

/* The brand must never break across two lines. Added 3 August 2026 after
   seeing the live site in a browser: the hero rendered as "Get the PRE-"
   then "SKI Advantage.", because a browser is entitled to break at the
   hyphen inside PRE-SKI. The &nbsp; already in the markup only protected
   the gap before the next word. Applies wherever the brand is marked up
   as <em> in a heading; plain-text "PRE-SKI" in body copy is unprotected
   and would need a non-breaking hyphen instead. */
h1 em, h2 em, h3 em, .page-title em { white-space: nowrap; }


/* No word left on a line by itself. Added 3 August 2026.
   balance evens out short headings, pretty stops a widow on body copy.
   Browsers without support simply wrap as before, so it is safe. */
h1,h2,h3,.page-title{text-wrap:balance;}
p,li,.lead{text-wrap:pretty;}
