/* ============================================================
   M-POWER KRAV MAGA — Design System
   Palette: Ink #0D1015 · Steel #161C24 · Chalk #EFEDE6
            Flare #E8401C · Slate #8C93A3
   Type:    Archivo Black · Oswald · Inter
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Oswald:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --ink:#0D1015;
  --ink-2:#11161D;
  --steel:#161C24;
  --steel-2:#1D242E;
  --chalk:#EFEDE6;
  --chalk-2:#E4E1D7;
  --white:#FFFFFF;
  --flare:#E8401C;
  --flare-hot:#FF5530;
  --slate:#8C93A3;
  --line:rgba(255,255,255,.10);
  --line-dark:rgba(13,16,21,.12);
  --shadow:0 24px 60px -24px rgba(0,0,0,.55);
  --radius:14px;
  --cut:clamp(28px,5vw,64px);
  --wrap:1180px;
  --header-h:88px;
  --font-display:'Archivo Black',system-ui,sans-serif;
  --font-label:'Oswald',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  font-family:var(--font-body);
  background:var(--ink);
  color:var(--chalk);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
:focus-visible{outline:3px solid var(--flare-hot);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}

/* ---------- Type ---------- */
.eyebrow{
  font-family:var(--font-label);
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--flare);
}
.h-display{
  font-family:var(--font-display);
  text-transform:uppercase;
  line-height:.96;
  letter-spacing:-.01em;
  font-size:clamp(2.5rem,6.4vw,4.6rem);
  margin:.55em 0 .4em;
}
.h-section{
  font-family:var(--font-display);
  text-transform:uppercase;
  line-height:1.02;
  font-size:clamp(1.9rem,4vw,2.9rem);
  margin:.5em 0 .45em;
}
.h-card{
  font-family:var(--font-label);
  font-weight:600;text-transform:uppercase;letter-spacing:.04em;
  font-size:1.3rem;line-height:1.2;
}
.lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:rgba(239,237,230,.82);max-width:58ch}
.muted{color:var(--slate)}
.accent{color:var(--flare)}
.outline-word{
  color:transparent;
  -webkit-text-stroke:1.5px rgba(239,237,230,.55);
}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--font-label);
  font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  font-size:.92rem;
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 30px;
  border:0;cursor:pointer;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  transition:transform .18s ease,background .18s ease,color .18s ease;
  text-decoration:none;
}
.btn:hover{transform:translateY(-2px)}
.btn-flare{background:var(--flare);color:#fff}
.btn-flare:hover{background:var(--flare-hot)}
.btn-ghost{
  background:transparent;color:var(--chalk);
  clip-path:none;transform:skewX(-11deg);
  border:2px solid rgba(239,237,230,.45);
}
.btn-ghost:hover{border-color:var(--chalk);transform:skewX(-11deg) translateY(-2px)}
.btn-ghost .skew-fix{display:inline-flex;align-items:center;gap:10px;transform:skewX(11deg)}
.btn-dark{background:var(--ink);color:#fff;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.btn-sm{padding:12px 22px;font-size:.82rem}
.btn .arr{transition:transform .18s ease}
.btn:hover .arr{transform:translateX(4px)}

/* ---------- Header ---------- */
/* WordPress FSE template parts render as <header class="wp-block-template-part"> */
header.wp-block-template-part{
  position:fixed;inset:0 0 auto 0;z-index:100;
  height:var(--header-h);
  display:flex!important;align-items:center;
  justify-content:space-between;
  gap:24px;
  background:rgba(13,16,21,.6);
  backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .25s ease,border-color .25s ease;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  padding:0 clamp(20px,4vw,40px);
}
header.wp-block-template-part.scrolled{
  background:rgba(13,16,21,.92);
  border-color:var(--line);
}
/* If a .header-inner wrapper is present, delegate layout to it */
header.wp-block-template-part > .header-inner{
  display:flex!important;align-items:flex-end;justify-content:space-between;gap:24px;
  width:100%;
  flex:1;
  align-self:stretch; /* fill the header's full height so nav/cta can sit at the bottom edge */
}
/* Fallback: reference .site-header class for non-WP contexts */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  height:var(--header-h);
  display:flex!important;align-items:center;
  justify-content:space-between;gap:24px;
  background:rgba(13,16,21,.6);
  backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .25s ease,border-color .25s ease;
  padding:0 clamp(20px,4vw,40px);
}
.site-header.scrolled{background:rgba(13,16,21,.92);border-color:var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;}

/* Logo */
.logo{display:flex;align-items:center;gap:12px;font-family:var(--font-display);text-transform:uppercase;font-size:1.05rem;letter-spacing:.02em;line-height:1;padding:6px 0;min-width:0;text-decoration:none;color:inherit;align-self:center}
.logo-img{height:58px;width:auto;display:block;transition:opacity .2s ease}
.logo:hover .logo-img{opacity:.85}
.logo-emblem{display:none}
@media (max-width:480px){
  .logo-lockup{display:none!important}
  .logo-emblem{display:block!important;height:54px!important}
}

/* Main nav — reference HTML class */
.main-nav{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-bottom:20px}
.main-nav a{
  font-family:var(--font-label);font-weight:500;text-transform:uppercase;
  letter-spacing:.1em;font-size:.8rem;color:rgba(239,237,230,.78);
  padding:10px 11px;position:relative;text-decoration:none;
}
.main-nav a::after{
  content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;
  background:var(--flare);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
}
.main-nav a:hover,.main-nav a.active{color:#fff}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}

/* WordPress navigation block inside .main-nav class */
nav.wp-block-navigation.main-nav,
.main-nav.wp-block-navigation{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
  padding-bottom:20px;
  background:transparent!important;
}
nav.wp-block-navigation.main-nav .wp-block-navigation__container,
.main-nav.wp-block-navigation .wp-block-navigation__container{
  display:flex!important;align-items:center;gap:6px;
  list-style:none;margin:0;padding:0;
  background:transparent!important;
}
nav.wp-block-navigation.main-nav .wp-block-navigation-item__content,
.main-nav.wp-block-navigation .wp-block-navigation-item__content{
  font-family:var(--font-label);font-weight:500;text-transform:uppercase;
  letter-spacing:.1em;font-size:.8rem;color:rgba(239,237,230,.78)!important;
  padding:10px 11px;position:relative;text-decoration:none!important;display:block;
}
nav.wp-block-navigation.main-nav .wp-block-navigation-item__content::after,
.main-nav.wp-block-navigation .wp-block-navigation-item__content::after{
  content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;
  background:var(--flare);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
}
nav.wp-block-navigation.main-nav .wp-block-navigation-item__content:hover,
nav.wp-block-navigation.main-nav .wp-block-navigation-item__content.active,
.main-nav.wp-block-navigation .wp-block-navigation-item__content:hover,
.main-nav.wp-block-navigation .wp-block-navigation-item__content.active{color:#fff!important}
nav.wp-block-navigation.main-nav .wp-block-navigation-item__content:hover::after,
nav.wp-block-navigation.main-nav .wp-block-navigation-item__content.active::after,
.main-nav.wp-block-navigation .wp-block-navigation-item__content:hover::after,
.main-nav.wp-block-navigation .wp-block-navigation-item__content.active::after{transform:scaleX(1)}
/* Hide WP responsive container (we handle mobile ourselves) */
nav.wp-block-navigation.main-nav .wp-block-navigation__responsive-container,
nav.wp-block-navigation.main-nav .wp-block-navigation__responsive-container-open,
.main-nav.wp-block-navigation .wp-block-navigation__responsive-container,
.main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open{display:none!important}

.header-cta{display:flex;align-items:center;gap:14px;flex-shrink:0;padding-bottom:20px}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative;z-index:120}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--chalk);margin:6px auto;transition:.25s}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media (max-width:1020px){
  /* backdrop-filter (like transform) makes its element the containing block for any
     position:fixed descendants. The mobile nav panel AND the floating "Book a Trial"
     button both live inside .site-header, which has backdrop-filter:blur(14px) — so
     their fixed positioning was resolving against the header's own 88px-tall box
     instead of the real viewport: the menu couldn't reach the bottom of the screen,
     and the pinned CTA button landed near the top instead of floating near the bottom.
     Dropping the blur on mobile removes that containing block. */
  header.wp-block-template-part,
  .site-header{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  /* Tag-qualified on purpose: the wp:navigation block's own <ul class="wp-block-navigation__container">
     also carries the "main-nav wp-block-navigation" classes, so a bare .main-nav / .main-nav.wp-block-navigation
     selector here would match BOTH the outer <nav> and the inner <ul>, double-nesting this fixed overlay
     and its padding and breaking the mobile menu layout. */
  nav.main-nav,
  nav.wp-block-navigation.main-nav{
    position:fixed;inset:0;
    height:100vh;height:100dvh; /* explicit height as a second guard against mobile dynamic-toolbar viewport quirks */
    background:var(--ink)!important;
    flex-direction:column!important;justify-content:flex-start;gap:0;
    transform:translateX(100%);transition:transform .3s ease;z-index:110;
    overflow-y:auto;
    padding:calc(var(--header-h) + 12px) 0 110px;
    align-items:stretch;
  }
  /* WP core sets flex-wrap via the --navigation-layout-wrap custom property (default "wrap") on
     .wp-block-navigation__container; without nowrap here, column direction + wrap makes the list
     wrap into a multi-column grid once it runs out of vertical room, instead of one scrolling column. */
  .main-nav.wp-block-navigation .wp-block-navigation__container{
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:0;align-items:stretch;
    width:100%;max-width:420px;margin:0 auto;
  }
  .nav-open nav.main-nav,
  .nav-open nav.wp-block-navigation.main-nav{transform:translateX(0)!important}
  .main-nav a,.main-nav.wp-block-navigation .wp-block-navigation-item__content{
    font-size:1rem!important;letter-spacing:.06em!important;padding:12px 22px!important;
    width:100%;max-width:none;margin:0;
    text-align:center;display:block!important;
    border-bottom:1px solid var(--line);
  }
  .main-nav.wp-block-navigation li:last-child > .wp-block-navigation-item__content{border-bottom:none}
  .nav-toggle{display:block}
  .header-cta .btn-flare{display:none}
  .nav-open .header-cta .btn-flare{display:inline-flex;position:fixed;bottom:40px;left:50%;transform:translateX(-50%);z-index:115}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;
  padding:calc(var(--header-h) + 56px) 0 110px;overflow:hidden;
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;z-index:-1;
  background-image:var(--arq-hero-banner-image,none);
  background-size:cover;background-position:center 28%;
}
.hero-bg img{display:none}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(13,16,21,.96) 28%,rgba(13,16,21,.72) 55%,rgba(13,16,21,.38) 100%);
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.hero-copy .h-display span{display:block}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin:34px 0 30px}
.hero-note{font-size:.88rem;color:var(--slate)}
.hero-note strong{color:var(--chalk)}
.hero-panel{
  position:relative;clip-path:polygon(0 var(--cut),100% 0,100% calc(100% - var(--cut)),0 100%);
  box-shadow:var(--shadow);
}
.hero-panel img{height:min(560px,60vh);width:100%;object-fit:cover}
@media (max-width:900px){
  .hero{min-height:0}
  .hero-grid{grid-template-columns:1fr}
  .hero-panel{display:none}
}

/* Triad strip */
.triad{
  background:var(--flare);color:#fff;overflow:hidden;
  clip-path:polygon(0 0,100% var(--cut),100% 100%,0 calc(100% - var(--cut)));
  padding:calc(var(--cut) + 18px) 0;
  position:relative;z-index:2;
  margin-top:calc(var(--cut) * -1); /* pull up to overlap the hero's bottom padding, closing WordPress's default block-gap */
}
.triad-track{display:flex;gap:64px;white-space:nowrap;width:max-content;animation:triad-scroll 26s linear infinite}
.triad-track span{
  font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.3rem);
  display:flex;align-items:center;gap:64px;
}
.triad-track i{font-style:normal;font-size:.6em;opacity:.7}
@keyframes triad-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.triad-track{animation:none;flex-wrap:wrap;white-space:normal;width:auto}}

/* ---------- Sections ---------- */
.section{padding:clamp(72px,9vw,120px) 0;position:relative;margin-top:0}
.section-light{background:var(--chalk);color:var(--ink)}
.section-light .lead{color:rgba(13,16,21,.74)}
.section-light .muted{color:rgba(13,16,21,.55)}
.section-light .eyebrow{color:var(--flare)}
.section-steel{background:var(--steel)}
.section-cut-top{clip-path:polygon(0 var(--cut),100% 0,100% 100%,0 100%);margin-top:calc(var(--cut)*-1);padding-top:calc(clamp(72px,9vw,120px) + var(--cut))}
.section-head{max-width:760px;margin-bottom:clamp(36px,5vw,56px)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}

/* ---------- Cards / grids ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-3 > li{display:contents}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media (max-width:980px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-3,.grid-2{grid-template-columns:1fr}}

.card{
  background:var(--steel);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;position:relative;overflow:hidden;
  transition:transform .2s ease,border-color .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:rgba(232,64,28,.5)}
.card .h-card{margin:14px 0 10px}
.card p{color:rgba(239,237,230,.7);font-size:.96rem}
.card-icon{
  width:46px;height:46px;display:grid;place-items:center;
  background:rgba(232,64,28,.14);color:var(--flare);font-size:1.2rem;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
.section-light .card{background:#fff;border-color:var(--line-dark);box-shadow:0 14px 34px -22px rgba(13,16,21,.35)}
.section-light .card p{color:rgba(13,16,21,.66)}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.stat{background:var(--ink-2);padding:28px 24px}
.stat b{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.4rem);color:#fff;display:block;line-height:1}
.stat span{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--slate);display:block;margin-top:10px}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- Class cards ---------- */
.class-card{
  display:grid;grid-template-rows:220px auto;background:var(--steel);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:transform .2s ease,border-color .2s ease;
}
.class-card:hover{transform:translateY(-4px);border-color:rgba(232,64,28,.5)}
.class-card img{width:100%;height:100%;object-fit:cover}
.class-card-body{padding:26px 26px 30px}
.class-meta{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 16px}
.tag{
  font-family:var(--font-label);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 12px;border:1px solid var(--line);color:var(--slate);border-radius:99px;
}
.tag-flare{border-color:rgba(232,64,28,.5);color:var(--flare)}
.class-place{font-size:.92rem;color:rgba(239,237,230,.7)}
.class-place b{color:var(--chalk);display:block}
.class-card .btn{margin-top:20px}

/* ---------- Schedule table ---------- */
.schedule{width:100%;border-collapse:collapse;font-size:.96rem}
.schedule th,.schedule td{padding:18px 16px;text-align:left;border-bottom:1px solid var(--line-dark)}
.schedule th{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:rgba(13,16,21,.5)}
.schedule td b{display:block}
.schedule .day{font-family:var(--font-display);text-transform:uppercase;font-size:1rem;color:var(--flare)}
.schedule tr:hover td{background:rgba(232,64,28,.05)}
@media (max-width:720px){
  .schedule thead{display:none}
  .schedule tr{display:block;border:1px solid var(--line-dark);border-radius:12px;margin-bottom:14px;padding:8px 6px;background:#fff}
  .schedule td{display:block;border:0;padding:8px 14px}
}

/* ---------- Testimonials ---------- */
.testi{position:relative}
.testi-viewport{overflow:hidden}
.testi-track{display:flex;transition:transform .45s ease}
.testi-slide{flex:0 0 100%;padding:6px}
.testi-card{
  background:var(--steel);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(30px,5vw,52px);max-width:860px;margin:0 auto;text-align:center;
}
.testi-card blockquote{font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.55;color:rgba(239,237,230,.92)}
.testi-card blockquote::before{
  content:"\201C";display:block;font-family:var(--font-display);font-size:3.4rem;color:var(--flare);line-height:.6;margin-bottom:18px;
}
.testi-card cite{
  display:block;margin-top:24px;font-style:normal;
  font-family:var(--font-label);text-transform:uppercase;letter-spacing:.18em;font-size:.82rem;color:var(--slate);
}
.testi-card cite b{color:var(--chalk)}
.testi-nav{display:flex;justify-content:center;gap:12px;margin-top:28px}
.testi-btn{
  width:48px;height:48px;border:1px solid var(--line);background:transparent;color:var(--chalk);
  cursor:pointer;font-size:1.1rem;border-radius:99px;transition:.2s;
}
.testi-btn:hover{border-color:var(--flare);color:var(--flare)}
.testi-dots{display:flex;align-items:center;gap:8px}
.testi-dots button{width:9px;height:9px;border-radius:99px;border:0;background:rgba(239,237,230,.25);cursor:pointer;transition:.2s;padding:0}
.testi-dots button.on{background:var(--flare);width:26px}

/* ---------- Pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
@media (max-width:960px){.price-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}
.price-card{
  background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);
  padding:36px 32px;display:flex;flex-direction:column;position:relative;
  color:var(--ink);
}
.price-card.featured{
  background:var(--ink);color:var(--chalk);border-color:var(--ink);
  transform:scale(1.03);box-shadow:var(--shadow);z-index:2;
}
.price-flag{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--flare);color:#fff;font-family:var(--font-label);
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  padding:7px 16px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);white-space:nowrap;
}
.price-name{font-family:var(--font-display);text-transform:uppercase;font-size:1.25rem}
.price-amount{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3rem);margin:16px 0 2px;line-height:1}
.price-amount small{font-family:var(--font-label);font-weight:400;font-size:.95rem;color:var(--slate);letter-spacing:.06em}
.price-per{font-size:.84rem;color:var(--slate);margin-bottom:22px}
.price-list{margin:0 0 28px;display:grid;gap:12px;font-size:.95rem}
.price-list li{display:flex;gap:12px;align-items:flex-start}
.price-list li::before{content:"\2713";color:var(--flare);font-weight:700;flex:none}
.price-card .btn{margin-top:auto;justify-content:center;text-align:center}
.price-card.featured .price-per{color:rgba(239,237,230,.55)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:14px;max-width:840px;margin:0 auto}
.faq-item{border:1px solid var(--line-dark);border-radius:12px;background:#fff;overflow:hidden}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;
  background:none;border:0;cursor:pointer;text-align:left;
  padding:22px 26px;font-family:var(--font-label);font-weight:600;font-size:1.05rem;
  text-transform:uppercase;letter-spacing:.04em;color:var(--ink);min-height:56px;
}
.faq-q .ind{flex:none;width:30px;height:30px;border-radius:99px;display:grid;place-items:center;background:rgba(232,64,28,.12);color:var(--flare);font-size:1.2rem;transition:transform .25s}
.faq-item.open .ind{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a-inner{padding:0 26px 24px;color:rgba(13,16,21,.7)}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.team-grid{grid-template-columns:1fr}}
.team-card{background:var(--steel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s,border-color .2s}
.team-card:hover{transform:translateY(-4px);border-color:rgba(232,64,28,.5)}
.team-photo{height:300px;position:relative}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.team-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:50%;background:linear-gradient(to top,rgba(13,16,21,.85),transparent)}
.team-id{position:absolute;left:22px;bottom:18px;z-index:2}
.team-id b{font-family:var(--font-display);text-transform:uppercase;font-size:1.4rem;display:block;line-height:1}
.team-id span{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--flare)}
.team-body{padding:22px 24px 26px}
.cred-list{display:grid;gap:9px;font-size:.9rem;color:rgba(239,237,230,.72)}
.cred-list li{display:flex;gap:10px}
.cred-list li::before{content:"\25B8";color:var(--flare);flex:none}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.field label{display:block;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:rgba(13,16,21,.55);margin-bottom:8px}
.field input,.field select,.field textarea{
  width:100%;padding:15px 16px;border:1px solid var(--line-dark);border-radius:10px;
  font:inherit;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--flare);box-shadow:0 0 0 3px rgba(232,64,28,.18)}
.field textarea{min-height:140px;resize:vertical}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--flare);color:#fff;
  clip-path:polygon(0 var(--cut),100% 0,100% 100%,0 100%);
  padding:calc(clamp(60px,8vw,96px) + var(--cut)) 0 clamp(60px,8vw,96px);
}
.cta-band .h-section{max-width:680px}
.cta-band .btn-dark:hover{background:#000}
.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px}

/* ---------- Footer ---------- */
.site-footer{background:#090B0F;border-top:1px solid var(--line);padding:70px 0 30px;color:var(--chalk)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;color:var(--slate);margin-bottom:18px}
.footer-grid a{display:block;padding:5px 0;color:rgba(239,237,230,.72);font-size:.94rem;transition:color .2s;text-decoration:none}
.footer-grid a:hover{color:var(--flare-hot)}
.footer-about p{color:var(--slate);font-size:.92rem;max-width:34ch;margin-top:14px}
.footer-bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;border-top:1px solid var(--line);margin-top:56px;padding-top:26px;font-size:.82rem;color:var(--slate)}
.socials{display:flex;gap:10px;margin-top:18px}
.socials a{width:42px;height:42px;border:1px solid var(--line);border-radius:99px;display:grid;place-items:center;padding:0;color:inherit;text-decoration:none}
.socials a:hover{border-color:var(--flare);color:var(--flare)}

/* ---------- Page hero (interior) ---------- */
.page-hero{
  padding:calc(var(--header-h) + clamp(60px,8vw,100px)) 0 clamp(54px,7vw,88px);
  position:relative;overflow:hidden;background:var(--ink);
  background-image:var(--arq-page-banner-image,none);
  background-size:cover;background-position:center;
}
.page-hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(13,16,21,.55) 0%,rgba(13,16,21,.88) 100%);
}
.page-hero .bg-word{
  position:absolute;right:-2%;bottom:-6%;z-index:0;pointer-events:none;
  font-family:var(--font-display);text-transform:uppercase;
  font-size:clamp(6rem,16vw,15rem);line-height:1;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px rgba(239,237,230,.08);
}
.page-hero .wrap{position:relative;z-index:1}
.crumbs{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:var(--slate)}
.crumbs a:hover{color:var(--flare)}
.crumbs b{color:var(--flare);font-weight:500}

/* ---------- Misc ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,70px);align-items:center}
@media (max-width:880px){.split{grid-template-columns:1fr}}
.frame{clip-path:polygon(0 24px,100% 0,100% calc(100% - 24px),0 100%);box-shadow:var(--shadow)}
.frame img{width:100%;height:100%;object-fit:cover}
.checklist{display:grid;gap:14px;margin-top:22px}
.checklist li{display:flex;gap:14px;align-items:flex-start}
.checklist li::before{content:"\2713";flex:none;width:26px;height:26px;display:grid;place-items:center;background:rgba(232,64,28,.14);color:var(--flare);font-weight:700;border-radius:99px;font-size:.8rem;margin-top:2px}
.pull-quote{
  border-left:4px solid var(--flare);padding:8px 0 8px 28px;margin:34px 0;
  font-family:var(--font-label);font-weight:500;font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.45;
}
.notice{
  display:flex;gap:16px;align-items:flex-start;background:rgba(232,64,28,.08);
  border:1px solid rgba(232,64,28,.35);border-radius:12px;padding:20px 22px;font-size:.94rem;
}
.trust-bar{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;margin-top:40px}
.trust-bar span{display:flex;align-items:center;gap:10px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--slate)}
.trust-bar i{color:var(--flare);font-style:normal}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* ---------- Instructor spotlight ---------- */
.spotlight{position:relative;overflow:hidden;background:var(--steel)}
.spotlight-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(34px,5vw,70px);align-items:center}
@media (max-width:880px){.spotlight-grid{grid-template-columns:1fr}}
.spotlight-photo{position:relative;clip-path:polygon(0 24px,100% 0,100% calc(100% - 24px),0 100%);box-shadow:var(--shadow)}
.spotlight-photo img{width:100%;height:min(560px,64vh);object-fit:cover;object-position:top}
.spotlight-badge{
  position:absolute;left:18px;bottom:38px;z-index:2;
  background:var(--flare);color:#fff;font-family:var(--font-label);
  text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;
  padding:9px 16px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
.cred-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:30px 0 8px}
@media (max-width:520px){.cred-grid{grid-template-columns:1fr}}
.cred-cell{background:var(--ink-2);padding:20px 22px}
.cred-cell b{font-family:var(--font-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;display:block;color:#fff}
.cred-cell span{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--slate);display:block;margin-bottom:6px}

/* ---------- Blog: listing ---------- */
.post-card{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);overflow:hidden;color:var(--ink);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.post-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(13,16,21,.4)}
.post-thumb{height:200px;background:var(--steel)}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1}
.post-meta{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--flare);margin-bottom:10px}
.post-body h3{font-family:var(--font-label);font-weight:600;font-size:1.18rem;line-height:1.3;text-transform:uppercase;letter-spacing:.02em}
.post-body p{font-size:.92rem;color:rgba(13,16,21,.62);margin:12px 0 18px}
.post-link{margin-top:auto;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--ink)}
.post-link:hover{color:var(--flare)}

/* Post meta line, shared between listing + article */
.meta-line{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--slate);
}
.meta-line .dot{opacity:.5}
.meta-line .cat{color:var(--flare)}
.meta-line a{color:inherit}
.meta-line a:hover{color:var(--flare)}
.meta-line > *:not(:last-child)::after{content:"\00B7";margin-left:8px;opacity:.5}

/* Featured / latest post */
.feature-post{
  display:grid;grid-template-columns:1.15fr .85fr;border-radius:var(--radius);
  overflow:hidden;background:var(--ink);color:var(--chalk);
  border:1px solid var(--line);box-shadow:var(--shadow);
}
@media (max-width:880px){.feature-post{grid-template-columns:1fr}}
.feature-post-img{min-height:320px;position:relative}
.feature-post-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature-post-body{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.feature-post-body h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.05;margin:14px 0}
.feature-post-body h2 a:hover{color:var(--flare-hot)}
.feature-post-body p{color:rgba(239,237,230,.72);max-width:52ch}
.feature-flag{font-family:var(--font-label);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--flare)}

/* Category filter */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:46px 0 36px}
.filter-btn{
  font-family:var(--font-label);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  padding:10px 18px;border-radius:99px;border:1px solid var(--line-dark);
  background:#fff;color:rgba(13,16,21,.65);cursor:pointer;transition:.2s;
  min-height:44px;
}
.filter-btn:hover{border-color:var(--flare);color:var(--flare)}
.filter-btn.on{background:var(--ink);border-color:var(--ink);color:#fff}
.post-card.hide{display:none}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:54px}
.page-btn{
  min-width:46px;min-height:46px;display:grid;place-items:center;border-radius:10px;
  border:1px solid var(--line-dark);background:#fff;color:var(--ink);
  font-family:var(--font-label);font-size:.9rem;transition:.2s;padding:0 14px;
}
.page-btn:hover{border-color:var(--flare);color:var(--flare)}
.page-btn.on,.page-btn[aria-current="page"]{background:var(--flare);border-color:var(--flare);color:#fff}

/* Newsletter strip */
.newsletter{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--chalk);border-radius:var(--radius);padding:clamp(26px,4vw,44px)}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap}
.newsletter input{padding:14px 18px;border-radius:10px;border:1px solid var(--line);background:var(--steel);color:var(--chalk);font:inherit;min-width:min(280px,70vw)}
.newsletter input:focus{outline:none;border-color:var(--flare)}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.newsletter-input{padding:14px 18px;border-radius:10px;border:1px solid var(--line);background:var(--steel);color:var(--chalk);font:inherit;min-width:min(280px,70vw);display:inline-flex;align-items:center;cursor:text}
.newsletter-input:empty::before{content:attr(data-placeholder);color:var(--slate)}
.newsletter-input:focus{outline:none;border-color:var(--flare)}

/* ---------- Blog: single article ---------- */
.progress-bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--flare);z-index:200}

.article-hero{padding:calc(var(--header-h) + clamp(46px,7vw,84px)) 0 0;background:var(--ink)}
.article-hero .wrap{max-width:880px}
.article-title.wp-block-post-title,
.article-title{
  font-family:var(--font-display);text-transform:uppercase;
  font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.04;margin:20px 0 22px;
  color:var(--chalk);
}
.article-lead.wp-block-post-excerpt,
.article-lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:rgba(239,237,230,.82);max-width:58ch;margin-bottom:0}
.article-byline{display:flex;align-items:center;gap:14px;margin:26px 0 0;padding:18px 0 34px;border-top:1px solid var(--line)}
.article-byline img{width:50px;height:50px;border-radius:99px;object-fit:cover;object-position:top;flex:none}
.article-byline b{display:block;font-size:.96rem}
.article-byline span{font-size:.8rem;color:var(--slate)}

.article-cover.wp-block-post-featured-image,
.article-cover{max-width:1000px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.article-cover img{
  width:100%;max-height:520px;object-fit:cover;
  clip-path:polygon(0 18px,100% 0,100% calc(100% - 18px),0 100%);
  box-shadow:var(--shadow);transform:translateY(40px);margin-top:-40px;
}

.article-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(36px,5vw,72px);
  max-width:1100px;margin:0 auto;padding:clamp(80px,10vw,120px) clamp(20px,4vw,40px) clamp(64px,8vw,96px);
}
@media (max-width:920px){.article-layout{grid-template-columns:1fr}.article-aside{display:none}}

/* Reading column — post-content typography */
.prose.wp-block-post-content,
.prose{max-width:68ch;font-size:1.13rem;line-height:1.78;color:rgba(13,16,21,.84)}
.prose > * + *{margin-top:1.35em}
.prose p:first-of-type::first-letter{
  font-family:var(--font-display);float:left;font-size:3.4em;line-height:.78;
  padding:6px 12px 0 0;color:var(--flare);
}
.prose h2{
  font-family:var(--font-display);text-transform:uppercase;color:var(--ink);
  font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.15;margin-top:2.1em;scroll-margin-top:110px;
}
.prose h3{
  font-family:var(--font-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em;
  color:var(--ink);font-size:1.12rem;margin-top:1.8em;scroll-margin-top:110px;
}
.prose a{color:var(--flare);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.prose a:hover{color:var(--flare-hot)}
.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.55em}
.prose ul{list-style:none}
.prose ul li{position:relative;padding-left:.4em}
.prose ul li::before{content:"\25B8";position:absolute;left:-1.1em;color:var(--flare)}
.prose ol{list-style:decimal}
.prose ol li::marker{font-family:var(--font-label);color:var(--flare);font-weight:600}
.prose strong{color:var(--ink)}
.prose figure{margin:2.2em 0}
.prose figure img{border-radius:12px;width:100%}
.prose figcaption{font-size:.82rem;color:rgba(13,16,21,.5);margin-top:10px;font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase}
.prose blockquote{
  border-left:4px solid var(--flare);padding:6px 0 6px 26px;
  font-family:var(--font-label);font-weight:500;font-size:1.3rem;line-height:1.5;color:var(--ink);
}
.prose blockquote cite{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-top:12px;font-style:normal}
.prose .callout{
  background:rgba(232,64,28,.07);border:1px solid rgba(232,64,28,.3);border-radius:12px;
  padding:22px 26px;font-size:1rem;
}
.prose .callout b{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--flare);display:block;margin-bottom:8px}
.prose .key-points{
  background:#fff;border:1px solid var(--line-dark);border-radius:12px;padding:24px 28px;font-size:1rem;
}
.prose .key-points b{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--ink);display:block;margin-bottom:12px}

/* Sticky aside: TOC + share + CTA (TOC populated by JS from headings in .prose) */
.article-aside{position:relative}
.aside-stick{position:sticky;top:110px;display:grid;gap:22px}
.toc{background:#fff;border:1px solid var(--line-dark);border-radius:12px;padding:22px 24px}
.toc:empty{display:none}
.toc h3{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:rgba(13,16,21,.5);margin-bottom:14px}
.toc a{display:flex;align-items:center;min-height:34px;padding:7px 0 7px 14px;font-size:.88rem;color:rgba(13,16,21,.6);border-left:2px solid var(--line-dark);transition:.2s}
.toc a:hover{color:var(--flare)}
.toc a.on{color:var(--ink);border-left-color:var(--flare);font-weight:600}
.share-box{background:#fff;border:1px solid var(--line-dark);border-radius:12px;padding:20px 24px}
.share-box h3{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:rgba(13,16,21,.5);margin-bottom:12px}
.share-row{display:flex;gap:8px}
.share-row a{width:42px;height:42px;border:1px solid var(--line-dark);border-radius:99px;display:grid;place-items:center;color:var(--ink);transition:.2s}
.share-row a:hover{border-color:var(--flare);color:var(--flare)}
.aside-cta{background:var(--ink);color:var(--chalk);border-radius:12px;padding:24px}
.aside-cta b{font-family:var(--font-label);text-transform:uppercase;font-size:1.02rem;letter-spacing:.04em;display:block;margin-bottom:8px}
.aside-cta p{font-size:.86rem;color:rgba(239,237,230,.65);margin-bottom:16px}

/* Mobile table of contents: collapsible, shown only when the sticky aside is hidden. Populated by JS. */
.toc-mobile{display:none}
@media (max-width:920px){
  .toc-mobile:not(:empty){display:block;border:1px solid var(--line-dark);border-radius:12px;background:#fff;margin-bottom:1.6em}
  .toc-mobile summary{
    cursor:pointer;list-style:none;padding:16px 20px;min-height:52px;display:flex;align-items:center;justify-content:space-between;
    font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:var(--ink);
  }
  .toc-mobile summary::-webkit-details-marker{display:none}
  .toc-mobile summary::after{content:"+";font-size:1.2rem;color:var(--flare)}
  .toc-mobile[open] summary::after{content:"\2013"}
  .toc-mobile a{display:flex;align-items:center;min-height:44px;padding:4px 20px 4px 30px;font-size:.92rem;color:rgba(13,16,21,.65);border-top:1px solid var(--line-dark)}
  .toc-mobile a:hover{color:var(--flare)}
}

/* Author bio */
.author-box{
  display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid var(--line-dark);
  border-radius:var(--radius);padding:clamp(22px,3vw,32px);margin-top:clamp(44px,6vw,64px);max-width:68ch;
}
.author-box img{width:84px;height:84px;border-radius:99px;object-fit:cover;object-position:top;flex:none}
.author-box b{font-family:var(--font-label);text-transform:uppercase;font-size:1.05rem;letter-spacing:.04em;display:block}
.author-box .role{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--flare);display:block;margin:2px 0 10px}
.author-box p{font-size:.94rem;color:rgba(13,16,21,.66)}
@media (max-width:560px){.author-box{flex-direction:column}}

/* Prev / next — WordPress core post-navigation-link blocks */
.post-pager{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:68ch;margin-top:34px}
@media (max-width:640px){.post-pager{grid-template-columns:1fr}}
.post-pager .wp-block-post-navigation-link{border:1px solid var(--line-dark);border-radius:12px;padding:20px 22px;background:#fff;transition:.2s}
.post-pager .wp-block-post-navigation-link:hover{border-color:var(--flare);transform:translateY(-2px)}
.post-pager a{
  font-family:var(--font-label);text-transform:uppercase;font-size:.98rem;letter-spacing:.02em;line-height:1.3;color:var(--ink);
  display:block;
}
.post-pager .wp-block-post-navigation-link__label{
  font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--slate);display:block;margin-bottom:8px;
}
.post-pager .wp-block-post-navigation-link.is-next{text-align:right}

/* Related posts (Query Loop, styled to match listing post-card) */
.related-posts .wp-block-post-template{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.related-posts .wp-block-post-template{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.related-posts .wp-block-post-template{grid-template-columns:1fr}}
.related-posts li{list-style:none}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ============================================================
   SMALL-SCREEN HARDENING
   ============================================================ */
html,body{overflow-x:clip}
body.nav-open{overflow:hidden}

/* Reduce header height on small phones */
@media (max-width:480px){
  :root{--header-h:68px}
  header.wp-block-template-part,
  .site-header{height:var(--header-h)}
}

/* Buttons full-width on very small screens */
@media (max-width:420px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn,.cta-inner .btn,.price-card .btn{width:100%;justify-content:center}
  .btn{padding:15px 22px}
  .trust-bar{gap:10px 20px}
  .article-byline{flex-wrap:wrap}
}

/* CTA band — stack vertically on mobile */
@media (max-width:640px){
  .cta-inner{flex-direction:column;align-items:flex-start;gap:20px}
  .cta-inner .btn{width:auto}
}

/* Hero — reduce vertical padding on mobile */
@media (max-width:640px){
  .hero{padding:calc(var(--header-h) + 36px) 0 70px;min-height:0}
  .hero-copy .h-display{margin:.3em 0 .3em}
}

/* Page hero — tighten on small screens */
@media (max-width:640px){
  .page-hero{padding:calc(var(--header-h) + 36px) 0 clamp(36px,6vw,60px)}
}

/* Section padding — tighten on mobile */
@media (max-width:540px){
  .section{padding:clamp(54px,8vw,96px) 0}
  .section-cut-top{padding-top:calc(clamp(54px,8vw,96px) + var(--cut))}
}

/* Price card featured — remove scale on mobile (causes overflow) */
@media (max-width:960px){
  .price-card.featured{transform:none;margin:0}
}

/* Spotlight image — reduce height on small screens */
@media (max-width:640px){
  .spotlight-photo img{height:auto;max-height:360px}
}

/* Testimonial card — reduce font size on mobile */
@media (max-width:480px){
  .testi-card{padding:clamp(22px,6vw,36px)}
  .testi-card blockquote{font-size:1rem}
}

/* Footer — reduce top padding on mobile */
@media (max-width:540px){
  .site-footer{padding:48px 0 30px}
}

.page-btn{min-height:46px}
.faq-q{min-height:56px}
.schedule td,.schedule th{word-break:break-word}
html{-webkit-text-size-adjust:100%}
.mobile-cta{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
.hero-short{min-height:80vh;isolation:isolate}
@media (max-width:900px){.hero-short{min-height:0}}

/* ============================================================
   WORDPRESS BODY PADDING (compensate for fixed header)
   ============================================================ */
body.wp-body,
.wp-site-blocks{padding-top:0!important}
/* The first section on each page should handle its own top padding */

/* Homepage: stats band and instructor spotlight share a background, so drop the doubled padding between them */
.section-steel + .spotlight{padding-top:clamp(8px,1.5vw,24px)}
.section-steel:has(+ .spotlight){padding-bottom:clamp(32px,4vw,56px)}

/* ---------- Arq Contact forms (M-Power styling) ---------- */
.arq-contact-form{
  max-width:none;gap:20px;grid-template-columns:1fr 1fr;
  margin:18px 0 0;padding:clamp(22px,3.2vw,38px);
  background:#fff;color:var(--ink);
  border:1px solid var(--line-dark);border-radius:var(--radius);
  box-shadow:0 18px 40px -28px rgba(13,16,21,.35);
}
.arq-contact-form > *{grid-column:1/-1;min-width:0}
.arq-contact-form > .arq-contact-field-text,
.arq-contact-form > .arq-contact-field-email,
.arq-contact-form > .arq-contact-field-phone,
.arq-contact-form > .arq-contact-field:has(select[name="enquiry_type"]){grid-column:auto}
@media (max-width:640px){
  .arq-contact-form{grid-template-columns:1fr;gap:18px;padding:20px 18px}
  .arq-contact-form > *{grid-column:1/-1!important}
}
.arq-contact-field{gap:8px;margin:0}
.arq-contact-field label{
  font-family:var(--font-label);font-weight:500;text-transform:uppercase;
  letter-spacing:.12em;font-size:.74rem;line-height:1.4;color:rgba(13,16,21,.62);
}
.arq-contact-field label span[aria-hidden]{color:var(--flare)}
.arq-contact-field input[type="text"],
.arq-contact-field input[type="email"],
.arq-contact-field input[type="tel"],
.arq-contact-field select,
.arq-contact-field textarea{
  width:100%;margin:0;padding:15px 16px;
  font:inherit;font-size:1rem;line-height:1.4;color:var(--ink);
  background:#FAFAF7;border:1px solid rgba(13,16,21,.16);border-radius:10px;
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.arq-contact-field input::placeholder,
.arq-contact-field textarea::placeholder{color:rgba(13,16,21,.42)}
.arq-contact-field input:focus,
.arq-contact-field select:focus,
.arq-contact-field textarea:focus{
  outline:none;background-color:#fff;border-color:var(--flare);
  box-shadow:0 0 0 3px rgba(232,64,28,.18);
}
.arq-contact-field textarea{min-height:150px;resize:vertical}
/* Dropdowns: custom chevron with room so text never runs under it */
.arq-contact-field select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;
  padding-right:52px;text-overflow:ellipsis;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' stroke='%23E8401C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 20px center;background-size:14px 9px;
}
.arq-contact-field select::-ms-expand{display:none}
/* Consent: checkbox first, readable sentence-case label */
.arq-contact-field-consent{display:flex;align-items:flex-start;gap:12px;padding:4px 0}
.arq-contact-field-consent input[type="checkbox"]{
  order:-1;flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--flare);cursor:pointer;
}
.arq-contact-field-consent label{
  font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:.92rem;color:rgba(13,16,21,.75);cursor:pointer;
}
.arq-contact-field-help{color:rgba(13,16,21,.55);font-size:.84rem}
.arq-contact-field-error{color:#B3261E;font-size:.86rem;font-weight:600}
/* Submit: matches .btn .btn-flare */
.arq-contact-form button[type="submit"]{
  justify-self:stretch;margin-top:4px;padding:18px 30px;
  font-family:var(--font-label);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.12em;
  color:#fff;background:var(--flare);border:0;cursor:pointer;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  transition:background .18s ease,transform .18s ease;
}
.arq-contact-form button[type="submit"]:hover{background:var(--flare-hot);transform:translateY(-2px)}
.arq-contact-form button[type="submit"]:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.arq-contact-message{margin:0 0 18px;padding:14px 18px;border-radius:10px;border:1px solid currentcolor;font-weight:500}
.arq-contact-message-success{color:#1E7B34;background:#EEF8F0}
.arq-contact-message-error{color:#B3261E;background:#FCEEEE}

/* ---------- Contact page: Direct contact card ---------- */
.section-light .card.contact-direct{
  background:var(--ink);border-color:var(--ink);color:var(--chalk);
  padding:clamp(26px,3vw,40px);box-shadow:var(--shadow);
}
.card.contact-direct:hover{transform:none}
.section-light .card.contact-direct p.eyebrow{margin:0;color:var(--flare);font-size:.74rem;line-height:1}
.contact-direct .h-card{color:var(--chalk);margin:12px 0 12px;font-size:1.5rem;line-height:1.15}
.section-light .contact-direct p.contact-direct__intro{color:rgba(239,237,230,.72);font-size:.96rem;line-height:1.6;margin:0 0 22px;max-width:46ch}
.contact-direct__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.contact-direct__list li{margin:0;padding:0}
.contact-direct__list li::before{content:none;display:none}
.contact-direct__item{
  display:flex;align-items:center;gap:16px;padding:14px 18px;
  background:var(--steel);border:1px solid var(--line);border-radius:12px;
  color:var(--chalk);text-decoration:none;
  transition:border-color .2s ease,background-color .2s ease,transform .2s ease;
}
.contact-direct__item:hover,.contact-direct__item:focus-visible{border-color:var(--flare);background:var(--steel-2);transform:translateX(3px)}
.contact-direct__item:focus-visible{outline:2px solid var(--flare);outline-offset:2px}
.contact-direct__icon{
  flex:none;width:44px;height:44px;border-radius:10px;
  background:rgba(232,64,28,.14);position:relative;
}
.contact-direct__icon::after{
  content:"";position:absolute;inset:12px;background:var(--flare);
  -webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;
}
.contact-direct__item--email{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E")}
.contact-direct__item--whatsapp{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.9 9.9 0 0 0-8.5 14.96L2 22l5.17-1.5A9.9 9.9 0 1 0 12.04 2Zm0 1.8a8.1 8.1 0 1 1-4.3 14.97l-.3-.18-3.07.9.92-2.98-.2-.32A8.1 8.1 0 0 1 12.04 3.8Zm-3.2 4.06c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.21 3.07.15.2 2.1 3.2 5.08 4.49 2.48 1.07 2.98.86 3.52.8.54-.05 1.75-.71 2-1.4.24-.7.24-1.29.17-1.41-.08-.13-.27-.2-.57-.35-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.26-.46-2.4-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.66-1.62-.92-2.21-.24-.58-.48-.5-.67-.5h-.55Z'/%3E%3C/svg%3E")}
.contact-direct__item--phone{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.8 2Z'/%3E%3C/svg%3E")}
.contact-direct__text{display:grid;gap:3px;min-width:0}
.contact-direct__label{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--slate)}
.contact-direct__value{font-size:1.02rem;font-weight:500;color:var(--chalk);overflow-wrap:anywhere}
@media (max-width:640px){
  .contact-direct__item{padding:12px 14px;gap:12px}
  .contact-direct__icon{width:40px;height:40px}
  .contact-direct__icon::after{inset:11px}
}
