/* Effective CPR NC - design layer (ported verbatim from the prototype). */
  :root{
    --ink:#0b0b0d;
    --ink-2:#16161a;
    --bone:#f4f1ea;
    --bone-2:#e8e3d7;
    --red:#d51920;
    --red-deep:#9c0d12;
    --red-bright:#ff2a31;
    --muted:#8b8780;
    --line:rgba(255,255,255,.10);
    --maxw:1160px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Barlow",system-ui,sans-serif;
    background:var(--bone);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{font-family:"Barlow Condensed","Barlow",sans-serif;text-transform:uppercase;line-height:1;letter-spacing:.01em}
  .anton{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.005em}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .red{color:var(--red)}
  .eyebrow{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
    letter-spacing:.28em;font-weight:600;font-size:.78rem;color:var(--red);
  }

  /* ---------- BUTTONS ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.6em;
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
    font-weight:700;letter-spacing:.08em;font-size:1.02rem;
    padding:15px 30px;border-radius:2px;cursor:pointer;border:2px solid var(--red);
    background:var(--red);color:#fff;transition:.25s ease;position:relative;
  }
  .btn:hover{background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-2px)}
  .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
  .btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
  .btn.ink{background:var(--ink);border-color:var(--ink);color:#fff}
  .btn.ink:hover{background:var(--red);border-color:var(--red)}
  .btn .arrow{transition:transform .25s ease}
  .btn:hover .arrow{transform:translateX(4px)}

  /* ---------- HEADER (light) ---------- */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:2px solid var(--red);box-shadow:0 1px 14px rgba(0,0,0,.05)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:96px;color:var(--ink);transition:height .28s ease}
  .brand{display:flex;align-items:center}
  .brand-logo{height:66px;width:auto;display:block;transition:height .28s ease}
  body.scrolled .nav{height:64px}
  body.scrolled .brand-logo{height:42px}
  @media(max-width:520px){.brand-logo{height:48px} body.scrolled .brand-logo{height:36px} .nav{height:74px} body.scrolled .nav{height:58px}}
  .nav-links{display:flex;align-items:center;gap:28px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:600;letter-spacing:.06em;font-size:.98rem}
  .nav-links a{color:#3c3933;transition:.2s}
  .nav-links a:hover{color:var(--red)}
  .nav-links .btn{padding:11px 22px;font-size:.94rem;color:#fff}
  @media(max-width:820px){.nav-links a:not(.btn){display:none}}

  /* ---------- HERO (photo background, centered) ---------- */
  .hero{position:relative;background:#0b0b0d center/cover no-repeat;color:#fff;overflow:hidden;padding:132px 0 122px}
  .hero{background-image:url('/static/images/hero-cpr-apex-nc.jpg');background-position:center 30%}
  .hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      linear-gradient(180deg, rgba(9,9,11,.78) 0%, rgba(9,9,11,.58) 45%, rgba(9,9,11,.74) 100%),
      radial-gradient(120% 90% at 80% 12%, rgba(213,25,32,.30), transparent 58%);
  }
  .hero .wrap{position:relative;z-index:2;max-width:1000px;margin:0 auto;text-align:center}
  .hero p.lead{font-size:1.2rem;max-width:56ch;margin:22px auto 8px;color:#e6e3dc;line-height:1.55}
  .hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;align-items:center;justify-content:center}
  .hero .micro{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:#cfcabf;margin-top:22px}
  .hero .micro b{color:#fff;font-weight:600}

  /* hero ECG card */
  .ecg-card{position:relative;border:1px solid var(--line);background:linear-gradient(160deg,#191a1f,#0e0e11);border-radius:6px;padding:26px;box-shadow:0 30px 70px -30px rgba(0,0,0,.8)}
  .ecg-card .tag{display:flex;justify-content:space-between;align-items:center;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:var(--muted)}
  .ecg-card .tag .live{display:flex;align-items:center;gap:7px;color:var(--red-bright)}
  .ecg-card .tag .live .dot{width:8px;height:8px;border-radius:50%;background:var(--red-bright);animation:blink 1.4s infinite}
  @keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
  .ecg-wrap{margin:18px 0 20px;height:96px;overflow:hidden;position:relative}
  .ecg-line{stroke:var(--red-bright);stroke-width:2.4;fill:none;filter:drop-shadow(0 0 6px rgba(255,42,49,.6));stroke-dasharray:1400;stroke-dashoffset:1400;animation:trace 3.4s linear infinite}
  @keyframes trace{to{stroke-dashoffset:0}}
  .ecg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid var(--line);padding-top:18px}
  .ecg-stats .s .n{font-family:"Anton",sans-serif;font-size:1.9rem;color:#fff;line-height:1}
  .ecg-stats .s .l{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted);margin-top:4px}

  /* ---------- TRUST BAR ---------- */
  .trust{background:var(--red);color:#fff}
  .trust .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 44px;padding:18px 24px;text-align:center;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:1rem}
  .trust span{display:inline-flex;align-items:center;gap:10px}
  .trust svg{width:18px;height:18px;flex:none}

  /* ---------- SECTION SHELL ---------- */
  section.block{padding:96px 0}
  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:46px;flex-wrap:wrap}
  .sec-head h2{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;max-width:18ch}
  .sec-head p{color:#5b574f;max-width:42ch;font-size:1.05rem}
  .kicker{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  .kicker::before{content:"";width:34px;height:2px;background:var(--red)}

  /* ---------- SERVICES (H2 classes) ---------- */
  .services{background:var(--bone)}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:880px){.svc-grid{grid-template-columns:1fr}}
  .svc{
    position:relative;background:#fff;border:1px solid var(--bone-2);border-radius:6px;
    padding:34px 30px 30px;display:flex;flex-direction:column;transition:.28s ease;overflow:hidden;
  }
  .svc::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--red),var(--red-deep))}
  .svc:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(0,0,0,.4);border-color:#d9d3c6}
  .svc .num{font-family:"Anton",sans-serif;font-size:1rem;color:var(--bone-2);position:absolute;top:26px;right:28px;font-size:3.2rem;line-height:.7;color:#efeadf}
  .svc .ico{width:46px;height:46px;color:var(--red);margin-bottom:18px}
  .svc h3{font-size:1.62rem;font-weight:700;margin-bottom:6px}
  .svc .who{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--red);font-weight:600;margin-bottom:14px}
  .svc ul{list-style:none;margin:0 0 22px;display:flex;flex-direction:column;gap:9px}
  .svc li{position:relative;padding-left:24px;font-size:.97rem;color:#3c3933}
  .svc li::before{content:"";position:absolute;left:0;top:9px;width:11px;height:11px;border:2px solid var(--red);border-radius:50%}
  .svc .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--bone-2);padding-top:18px}
  .svc .learn{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:7px;transition:.2s}
  .svc:hover .learn{color:var(--red);gap:11px}

  /* ---------- FORMATS (3 ways, light photo-split) ---------- */
  .formats{background:#fff}
  .fmt-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:stretch}
  @media(max-width:880px){.fmt-split{grid-template-columns:1fr;gap:26px}}
  .fmt-photo{position:relative;border-radius:12px;overflow:hidden;min-height:340px;box-shadow:0 30px 60px -34px rgba(0,0,0,.5)}
  .fmt-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .fmt-list{display:flex;flex-direction:column;gap:16px}
  .fmt{background:var(--bone);border:1px solid var(--bone-2);border-radius:8px;padding:22px 26px;transition:.25s}
  .fmt:hover{transform:translateY(-3px);box-shadow:0 16px 34px -24px rgba(0,0,0,.35)}
  .fmt .foot-note{margin-top:10px;font-family:"Barlow Condensed",sans-serif;font-size:.82rem;letter-spacing:.02em;color:var(--red-deep);font-weight:600}
  .fmt .step{font-family:"Anton",sans-serif;font-size:.82rem;letter-spacing:.18em;color:var(--red)}
  .fmt h3{font-size:1.42rem;margin:8px 0 4px;font-weight:700;color:var(--ink)}
  .fmt .price{font-family:"Barlow Condensed",sans-serif;font-weight:600;letter-spacing:.02em;color:#6b665e;font-size:.95rem;margin-bottom:10px}
  .fmt .price span{color:var(--muted)}
  .fmt p{color:#46423b;font-size:.97rem}
  .pick{margin-top:44px;text-align:center}
  .pick .pick-label{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#6b665e;margin-bottom:16px;font-size:.95rem}
  .pick-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
  .pick-btns .btn.ghost{color:var(--red);border-color:var(--red)}
  .pick-btns .btn.ghost:hover{background:var(--red);color:#fff}

  /* ---------- STORY ---------- */
  .story{background:var(--bone);position:relative}
  .story .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start}
  @media(max-width:900px){.story .grid{grid-template-columns:1fr;gap:34px}}
  .story .photo{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:linear-gradient(150deg,#222,#0d0d0f);border:1px solid var(--bone-2)}
  .story .photo .badge{position:absolute;left:22px;bottom:22px;right:22px;background:var(--red);color:#fff;padding:18px 20px;border-radius:4px}
  .story .photo .badge .anton{font-size:1.05rem}
  .story .photo .badge p{font-size:.84rem;color:rgba(255,255,255,.9);margin-top:4px;font-family:"Barlow",sans-serif;text-transform:none;letter-spacing:0;line-height:1.4}
  .story .photo .ph-label{position:absolute;top:16px;left:16px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:rgba(255,255,255,.4)}
  .story h2{font-size:clamp(2.1rem,4.6vw,3.3rem);font-weight:700;margin:14px 0 18px}
  .story .pull{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:1.35rem;color:var(--ink);border-left:3px solid var(--red);padding-left:18px;margin:6px 0 22px;line-height:1.25;text-transform:none;letter-spacing:0}
  .story p.body{color:#46423b;margin-bottom:16px;font-size:1.04rem}
  .story .why-name{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ink);margin-top:8px}
  .creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
  .creds .c{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600;color:var(--red-deep);background:#fff;border:1px solid var(--bone-2);padding:7px 13px;border-radius:2px}

  /* Nate section (redesign v3): copy-left, photo-right with caption */
  .story-copy{display:flex;flex-direction:column;gap:26px}
  .why-box{background:#fff;border:1px solid var(--bone-2);border-left:4px solid var(--red);border-radius:10px;padding:28px 30px}
  .why-box h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:700;margin:0 0 12px}
  .why-box p{color:#46423b;font-size:1.04rem}
  .why-box em{font-style:italic;color:var(--red-deep);font-weight:600}
  .meet .kicker{margin-bottom:12px}
  .meet .body{color:#46423b;font-size:1.06rem;margin-bottom:22px}
  .meet .cta-row{display:flex;flex-wrap:wrap;gap:12px}
  .nate-col{display:flex;flex-direction:column;align-items:center}
  .nate-photo{width:100%;aspect-ratio:4/5;border-radius:12px;overflow:hidden;border:1px solid var(--bone-2);box-shadow:0 30px 60px -34px rgba(0,0,0,.5)}
  .nate-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
  .nate-cap{margin-top:16px;text-align:center;font-family:"Barlow Condensed",sans-serif}
  .nate-cap .nm{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ink);font-size:1.15rem}
  .nate-cap .rl{text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--red);font-size:.78rem;margin-top:4px}
  /* ghost button on light backgrounds */
  .btn.ghost.dark{color:var(--ink);border-color:rgba(0,0,0,.22);background:transparent}
  .btn.ghost.dark:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

  /* instructor "In Field Experience" box (course pages) */
  .field-exp{background:var(--bone);border:1px solid var(--bone-2);border-radius:10px;padding:22px 26px;margin-top:22px}
  .field-exp .fe-title{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--red);font-size:1.05rem;margin-bottom:14px}
  .field-exp ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:11px 26px;margin:0}
  @media(max-width:520px){.field-exp ul{grid-template-columns:1fr}}
  .field-exp li{position:relative;padding-left:22px;color:#3c3933;font-size:.95rem;font-weight:600;font-family:"Barlow Condensed",sans-serif;letter-spacing:.02em}
  .field-exp li::before{content:"";position:absolute;left:0;top:6px;width:9px;height:9px;border:2px solid var(--red);border-radius:50%}

  /* dark FAQ band (course pages) - optional photo bg via inline background-image */
  .faq.faq-dark{position:relative;overflow:hidden;background-color:var(--ink);background-size:cover;background-position:center}
  .faq-dark::before{content:"";position:absolute;inset:0;background:rgba(9,9,11,.85);z-index:1}
  .faq-dark .wrap{position:relative;z-index:2}
  .faq-dark .sec-head h2{color:var(--red-bright)}
  .faq-dark .faq-item{border-top-color:rgba(255,255,255,.22)}
  .faq-dark .faq-item h3{color:#fff}
  .faq-dark .faq-item p{color:#cfccc4}

  /* ---------- STAT STRIP ---------- */
  .stat-strip{background:var(--red);color:#fff;padding:54px 0}
  .stat-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
  @media(max-width:760px){.stat-strip .wrap{grid-template-columns:repeat(2,1fr);gap:34px 22px}}
  .stat-strip .n{font-family:"Anton",sans-serif;font-size:clamp(2.4rem,5vw,3.4rem);line-height:.9}
  .stat-strip .l{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.84rem;margin-top:8px;color:rgba(255,255,255,.85)}

  /* ---------- TESTIMONIALS ---------- */
  .reviews{background:var(--bone)}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:880px){.rev-grid{grid-template-columns:1fr}}
  .rev{background:#fff;border:1px solid var(--bone-2);border-radius:6px;padding:30px 28px;position:relative}
  .rev .q{font-family:"Anton",sans-serif;color:var(--red);font-size:2.6rem;line-height:.6;display:block;margin-bottom:14px}
  .rev .stars{color:var(--red);letter-spacing:3px;font-size:.95rem;margin-bottom:12px}
  .rev p{font-size:1rem;color:#3c3933;font-style:italic}
  .rev .by{margin-top:18px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-top:1px solid var(--bone-2);padding-top:16px}

  /* ---------- AREAS (downtown Apex skyline band) ---------- */
  .areas{position:relative;background:#0b0b0d center/cover no-repeat;color:#fff;text-align:center;padding:94px 0;overflow:hidden}
  .areas{background-image:url('/static/images/apex-downtown-skyline.jpg');background-position:center 62%}
  .areas::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,11,.82),rgba(9,9,11,.66) 55%,rgba(9,9,11,.82))}
  .areas .wrap{position:relative;z-index:2}
  .areas h2{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;margin-bottom:8px}
  .areas p{color:#e0ddd5;margin:0 auto 26px;max-width:60ch}
  .area-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:800px;margin:0 auto}
  .area-tags .t{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.92rem;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);padding:9px 16px;border-radius:2px;transition:.2s}
  .area-tags .t:hover{background:var(--red);border-color:var(--red);color:#fff}

  /* ---------- FINAL CTA ---------- */
  .final{position:relative;background:var(--ink);color:#fff;padding:90px 0;overflow:hidden}
  .final::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 120% at 50% 0%,rgba(213,25,32,.4),transparent 60%)}
  .final .wrap{position:relative;z-index:2;text-align:center}
  .final h2{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:.98}
  .final h2 .stroke{color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.55)}
  .final p{color:#cfcabf;max-width:48ch;margin:20px auto 30px;font-size:1.12rem}
  .final .cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

  /* ---------- FOOTER ---------- */
  footer{background:#242428;color:#a7a29a;padding:56px 0 30px;font-size:.92rem}
  footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
  @media(max-width:760px){footer .grid{grid-template-columns:1fr 1fr}}
  footer h4{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#fff;font-size:.92rem;margin-bottom:14px}
  footer a{display:block;color:#9a958c;margin-bottom:8px;transition:.2s}
  footer a:hover{color:var(--red-bright)}
  footer .brand{color:#fff;margin-bottom:14px}
  footer .copy{border-top:1px solid #3a3a3f;margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;letter-spacing:.04em}

  /* ---------- HERO KICKER / HEADLINE (eyebrow technique) ---------- */
  .hero-kicker{
    font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;
    letter-spacing:.2em;font-weight:700;font-size:.82rem;color:var(--red-bright);
    margin:0 0 18px;
  }
  .hero-headline{
    font-family:"Barlow Condensed","Barlow",sans-serif;text-transform:uppercase;
    line-height:1.02;font-weight:700;letter-spacing:.005em;
    font-size:clamp(2.6rem,6.2vw,4.9rem);color:#fff;margin-bottom:2px;
  }
  .hero-headline .l1,.hero-headline .l2{display:block}
  .hero-headline .l1{color:#fff}
  .hero-headline .l2{color:var(--red-bright)}
  .hero-textlink{display:inline-block;margin-top:16px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.9rem;color:#cfcabf;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px}
  .hero-textlink:hover{color:#fff;border-color:#fff}
  .hero-proof{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 16px;margin-top:26px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;color:#d6d2ca}
  .hero-proof b{color:#fff;font-weight:600}
  .hero-proof .stars{color:var(--red-bright);letter-spacing:2px;font-size:.95rem}
  .hero-proof .sep{width:1px;height:16px;background:var(--line)}

  /* nav phone */
  .nav-phone{font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.04em;font-size:1.02rem;color:var(--ink) !important;display:inline-flex;align-items:center;gap:7px}
  .nav-phone:hover{color:var(--red) !important}
  .nav-phone svg{width:15px;height:15px}
  @media(max-width:640px){.nav-phone .lbl{display:none}}

  /* source citation */
  .src{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;color:var(--muted);margin-top:14px;text-align:right}
  .src a{color:var(--muted);border-bottom:1px solid var(--line)}
  .src a:hover{color:#fff}

  /* service price */
  .svc-price{font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.02em;color:var(--ink);font-size:1.08rem;margin-bottom:16px}
  .svc-price span{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}

  /* who-it's-not-for honest note */
  .whonot{background:#fff;border:1px solid var(--bone-2);border-left:4px solid var(--red);border-radius:6px;padding:22px 26px;margin-top:26px;display:flex;gap:16px;align-items:flex-start}
  .whonot svg{width:26px;height:26px;color:var(--red);flex:none;margin-top:3px}
  .whonot p{color:#3c3933;font-size:1rem}
  .whonot b{color:var(--ink)}

  /* discrete "also offered" BLS strip */
  .bls-strip{display:flex;align-items:center;justify-content:space-between;gap:26px;background:#efeadf;border:1px solid var(--bone-2);border-radius:6px;padding:22px 28px;margin-top:22px}
  @media(max-width:680px){.bls-strip{flex-direction:column;align-items:flex-start;gap:16px}}
  .bls-strip .bls-tag{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--red-deep)}
  .bls-strip h3{font-size:1.32rem;font-weight:700;margin:5px 0 6px}
  .bls-strip p{color:#4a463f;font-size:.95rem;max-width:66ch}
  .bls-strip .btn{flex:none}

  /* FAQ */
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px}
  @media(max-width:760px){.faq-grid{grid-template-columns:1fr}}
  .faq-item{border-top:2px solid var(--ink);padding-top:16px}
  .faq-item h3{font-size:1.2rem;font-weight:700;margin-bottom:8px}
  .faq-item p{color:#46423b;font-size:.98rem}
  .faq-item .confirm{color:var(--red-deep);font-weight:600}

  /* contact form in final CTA */
  .final .wrap.split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;text-align:left}
  @media(max-width:860px){.final .wrap.split{grid-template-columns:1fr;gap:34px}}
  .final .split h2{font-size:clamp(2.1rem,5vw,3.4rem)}
  .lead-form{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:8px;padding:28px}
  .lead-form h3{font-size:1.45rem;color:#fff;font-weight:700;margin-bottom:4px}
  .lead-form .fsub{color:#b9b4ab;font-size:.92rem;margin-bottom:18px}
  .lead-form label{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:#cfcabf;margin:0 0 5px}
  .lead-form input,.lead-form textarea{width:100%;background:#0f0f12;border:1px solid var(--line);border-radius:4px;color:#fff;font-family:"Barlow",sans-serif;font-size:.98rem;padding:11px 13px;margin-bottom:14px}
  .lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--red)}
  .lead-form textarea{resize:vertical;min-height:76px}
  .lead-form .btn{width:100%;justify-content:center}
  .lead-form .note{font-size:.76rem;color:var(--muted);margin-top:10px;text-align:center}

  /* reveal on scroll */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

/* ---------- PeakCMS additions: real mobile nav + sticky call bar ---------- */
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;background:transparent;border:1px solid rgba(0,0,0,.2);border-radius:3px;cursor:pointer}
.nav-burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.is-open span:nth-child(2){opacity:0}
.nav-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{background:#fff;border-top:1px solid var(--bone-2)}
.mobile-menu .mnav{display:flex;flex-direction:column;padding:6px 24px 18px}
.mobile-link{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:1.06rem;color:#3c3933;padding:14px 2px;border-bottom:1px solid var(--bone-2)}
.mobile-link:hover{color:var(--red)}
.mobile-menu .btn{color:#fff}
.mobile-menu .btn{margin-top:16px;justify-content:center}
@media(max-width:820px){ .nav-links{display:none} .nav-burger{display:inline-flex} }

.mobile-cta-bar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(7,7,8,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line)}
.mobile-cta-bar .btn{flex:1;justify-content:center;padding:13px;font-size:.95rem}
@media(max-width:640px){ .mobile-cta-bar{display:flex} body{padding-bottom:68px} }

/* accessibility: skip link + visible focus */
.skip-link{position:absolute;left:-9999px;z-index:100;background:var(--red);color:#fff;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:.6rem 1.1rem;border-radius:2px}
.skip-link:focus{left:.75rem;top:.75rem}
:focus-visible{outline:2px solid var(--red-bright);outline-offset:2px}

/* ---------- Course/certification pages (from the prototype) ---------- */
  /* breadcrumb */
  .crumb{background:var(--ink-2);color:#a8a39a}
  .crumb .wrap{padding:12px 24px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
  .crumb a{color:#a8a39a}
  .crumb a:hover{color:#fff}
  .crumb span{color:#fff}

  /* HERO (small square image + H1) */
  .phero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
  .phero::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 90% at 85% 15%,rgba(213,25,32,.28),transparent 55%);pointer-events:none}
  .phero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:center;padding:56px 24px}
  @media(max-width:820px){.phero .wrap{grid-template-columns:1fr;gap:28px;padding:44px 24px}}
  .phero-img{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:linear-gradient(150deg,#242428,#0e0e11);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center}
  @media(max-width:820px){.phero-img{max-width:300px}}
  .phero-img .ph-label{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:rgba(255,255,255,.45);padding:20px}
  .phero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .phero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:700;margin:12px 0 14px}
  .phero .lead{font-size:1.1rem;color:#d6d2ca;max-width:52ch;margin-bottom:22px}
  .phero .lead b{color:#fff;font-weight:600}
  .phero .hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
  .hero-facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.84rem;color:#b9b4ab}
  .hero-facts span{display:inline-flex;align-items:center;gap:8px}
  .hero-facts b{color:#fff;font-weight:600}
  .hero-facts svg{width:16px;height:16px;color:var(--red-bright)}

  /* section shell */
  section.block{padding:80px 0}
  .sec-head{margin-bottom:40px}
  .sec-head .kicker{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  .sec-head .kicker::before{content:"";width:34px;height:2px;background:var(--red)}
  .sec-head h2{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:700;max-width:20ch}
  .sec-head p{color:#5b574f;max-width:56ch;font-size:1.05rem;margin-top:12px}

  /* BOOKING OPTIONS (3 formats, light cards) */
  .book{background:var(--bone)}
  .book .sec-head h2{color:var(--ink)}
  .book .sec-head p{color:#5b574f}
  .opt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .opt-grid.two{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto}
  @media(max-width:880px){.opt-grid,.opt-grid.two{grid-template-columns:1fr}}
  .opt{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--bone-2);border-top:4px solid var(--red);border-radius:8px;padding:30px 28px;transition:.25s}
  .opt:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(0,0,0,.4)}
  .opt.feat{border-color:var(--red);box-shadow:0 24px 46px -26px rgba(213,25,32,.42)}
  .opt.feat::after{content:"";position:absolute;inset:0;border:1px solid rgba(213,25,32,.35);border-radius:8px;pointer-events:none}
  .opt .badge{align-self:flex-start;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:#fff;background:var(--red);padding:4px 10px;border-radius:2px;margin-bottom:14px}
  .opt .badge.ghost{background:#f4ece1;border:1px solid var(--bone-2);color:var(--red-deep)}
  .opt h3{font-size:1.42rem;font-weight:700;margin-bottom:4px;color:var(--red)}
  .opt .price{font-family:"Anton",sans-serif;font-size:2.6rem;color:var(--ink);line-height:1;margin:6px 0 2px}
  .opt .price small{font-family:"Barlow Condensed",sans-serif;font-size:.76rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;display:block;margin-top:6px;font-weight:600}
  .opt .where{font-size:.95rem;color:#46423b;margin:12px 0 16px}
  .opt .where b{color:var(--ink);font-weight:600}
  .opt .btn{margin-top:auto;justify-content:center}
  .opt .btn.ink{background:#fff;color:var(--red);border-color:var(--red)}
  .opt .btn.ink:hover{background:var(--red);color:#fff;border-color:var(--red)}
  /* class location block (from the Wix service cards) */
  .opt .loc{border-top:1px solid var(--bone-2);padding-top:16px;margin:2px 0 18px;text-align:center}
  .opt .loc .ll{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:var(--muted);margin-bottom:6px}
  .opt .loc .lv{font-family:"Barlow Condensed",sans-serif;font-weight:700;color:var(--ink);font-size:1.02rem;line-height:1.25}
  .opt .loc .la{font-size:.86rem;color:#6b665e;margin-top:3px;line-height:1.4}

  /* WHAT TO EXPECT */
  .expect .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
  @media(max-width:820px){.expect .grid{grid-template-columns:1fr;gap:32px}}
  .expect p{color:#46423b;font-size:1.05rem;margin-bottom:16px}
  .skills{background:#fff;border:1px solid var(--bone-2);border-radius:8px;padding:30px 28px}
  .skills h3{font-size:1.15rem;font-weight:700;margin-bottom:16px}
  .skills ul{list-style:none;display:flex;flex-direction:column;gap:12px}
  .skills li{position:relative;padding-left:30px;color:#3c3933;font-size:1rem}
  .skills li svg{position:absolute;left:0;top:2px;width:20px;height:20px;color:var(--red)}

  /* DETAILS facts panel (light) */
  .details{background:#fff}
  .det-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--bone-2);border:1px solid var(--bone-2);border-radius:8px;overflow:hidden}
  @media(max-width:680px){.det-grid{grid-template-columns:1fr}}
  .det{background:#fdfcfa;padding:26px 28px}
  .det .dl{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--red);font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:9px}
  .det .dl svg{width:17px;height:17px}
  .det p{color:#46423b;font-size:1rem}
  .det p b{color:var(--ink);font-weight:600}
  .det .note{color:var(--muted);font-size:.85rem;margin-top:4px}

  /* INSTRUCTOR */
  .inst .grid{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center}
  @media(max-width:820px){.inst .grid{grid-template-columns:1fr;gap:28px}}
  .inst-img{aspect-ratio:3/4;border-radius:10px;background:#242428;border:1px solid var(--bone-2);overflow:hidden}
  @media(max-width:820px){.inst-img{max-width:300px}}
  .inst-img img{width:100%;height:100%;object-fit:cover;display:block}
  .inst h2{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:700;margin:12px 0 16px}
  .inst h3{font-size:1.16rem;font-weight:700;letter-spacing:.03em;margin:24px 0 10px;color:var(--ink);display:flex;align-items:center;gap:11px}
  .inst h3::before{content:"";width:26px;height:2px;background:var(--red);flex:none}
  .inst p{color:#46423b;font-size:1.05rem;margin-bottom:16px}
  .creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
  .creds .c{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600;color:var(--red-deep);background:#fff;border:1px solid var(--bone-2);padding:7px 13px;border-radius:2px}
  .inst .learn{display:inline-flex;align-items:center;gap:7px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ink);margin-top:18px;transition:.2s}
  .inst .learn:hover{color:var(--red);gap:11px}

  /* WHO FOR */
  .whofor .grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  @media(max-width:680px){.whofor .grid{grid-template-columns:1fr}}
  .wf{background:#fff;border:1px solid var(--bone-2);border-radius:8px;padding:28px 26px}
  .wf.no{background:#faf7f1}
  .wf h3{font-size:1.2rem;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px}
  .wf h3 svg{width:22px;height:22px}
  .wf.yes h3{color:var(--red-deep)}
  .wf ul{list-style:none;display:flex;flex-direction:column;gap:10px}
  .wf li{position:relative;padding-left:22px;color:#3c3933;font-size:.98rem}
  .wf li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--red)}
  .wf.no li::before{background:var(--muted)}

  /* FAQ */
  .faq{background:var(--bone)}
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px}
  @media(max-width:760px){.faq-grid{grid-template-columns:1fr}}
  .faq-item{border-top:2px solid var(--ink);padding-top:16px}
  .faq-item h3{font-size:1.16rem;font-weight:700;margin-bottom:8px}
  .faq-item p{color:#46423b;font-size:.98rem}
  .faq-item a{color:var(--red-deep);border-bottom:1px solid var(--bone-2)}
  .faq-item .confirm{color:var(--red-deep);font-weight:600}

  /* HOW TO PAY */
  .pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media(max-width:760px){.pay-grid{grid-template-columns:1fr}}
  .pay-item{background:#fff;border:1px solid var(--bone-2);border-radius:8px;padding:26px 24px}
  .pay-item .pi{width:38px;height:38px;color:var(--red);margin-bottom:14px}
  .pay-item h3{font-size:1.25rem;font-weight:700;margin-bottom:6px}
  .pay-item p{color:#46423b;font-size:.98rem}
  .pay-item b{color:var(--ink)}
  .pay-item .fee{display:inline-block;margin-top:10px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;color:var(--red-deep);background:#f7e9e9;border-radius:2px;padding:4px 10px}

  /* FINAL CTA */
  .final{position:relative;background:var(--ink);color:#fff;padding:84px 0;overflow:hidden}
  .final::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 120% at 50% 0%,rgba(213,25,32,.4),transparent 60%)}
  .final .wrap{position:relative;z-index:2;text-align:center}
  .final h2{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:700;line-height:1}
  .final p{color:#cfcabf;max-width:50ch;margin:18px auto 28px;font-size:1.1rem}
  .final .cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

  /* footer */
  footer{background:#242428;color:#a7a29a;padding:56px 0 30px;font-size:.92rem}
  footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
  @media(max-width:760px){footer .grid{grid-template-columns:1fr 1fr}}
  footer h4{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#fff;font-size:.92rem;margin-bottom:14px}
  footer a{display:block;color:#9a958c;margin-bottom:8px;transition:.2s}
  footer a:hover{color:var(--red-bright)}
  footer .copy{border-top:1px solid #3a3a3f;margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;letter-spacing:.04em}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

/* ---------- Redesign v2: lighter, more welcoming ---------- */

/* centered section headings (dash under title) */
.sec-head.center{flex-direction:column;align-items:center;text-align:center;gap:0}
.sec-head.center .kicker{justify-content:center}
.sec-head.center h2{max-width:24ch}
.sec-head.center .dash{width:46px;height:3px;background:var(--red);border-radius:2px;margin:16px auto 0}
.sec-head.center p{max-width:62ch;margin:16px auto 0;color:#5b574f;font-size:1.05rem}

/* service cards: kicker above the title (screenshot style) */
.svc .who{order:-1;margin:0 0 8px}
.svc h3{margin-bottom:14px}
.svc .learn{color:var(--red)}
.svc:hover .learn{color:var(--red-deep)}

/* red Call / Email / Hours contact bar */
.contact-bar{background:var(--red);color:#fff}
.contact-bar .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 54px;padding:26px 24px;text-align:left}
.contact-bar .ci{display:inline-flex;align-items:center;gap:13px}
.contact-bar svg{width:26px;height:26px;flex:none;opacity:.92}
.contact-bar .cl{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:rgba(255,255,255,.82);line-height:1}
.contact-bar .cv{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.08rem;color:#fff;margin-top:5px}
.contact-bar a.cv:hover{text-decoration:underline}

/* instructor caption + small photo strip (course pages) */
.inst-cap{margin-top:14px;text-align:center;font-family:"Barlow Condensed",sans-serif}
.inst-cap .nm{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ink);font-size:1.05rem}
.inst-cap .rl{text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--red);font-size:.72rem;margin-top:3px}
.inst-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.inst-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--bone-2);display:block}

/* story photo: real image fills, keep object-fit */
.story .photo img{display:block}
