/* Aaron Spira Coaching — landing page styles.
   GENERATED from aaron-spira-site/landing-page.html — port design changes there first, then re-copy this block. */
/* ============================================================
   Aaron Spira Coaching — scoped styles (prefix .asc-)
   Everything is scoped under .asc-page so it will not collide
   with your WordPress theme's global CSS.
   ============================================================ */
.asc-page *{box-sizing:border-box;margin:0;padding:0}
.asc-page{font-family:'Hanken Grotesk',system-ui,sans-serif;background:#F6F3EE;color:#1A1A17;-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden;
  /* ============================================================
     DEPTH SYSTEM TOKENS — warm, layered, premium (never black).
     Shadow base 22,32,28 = the brand's dark green-black, so every
     shadow reads warm rather than gray. Tiers: rest → raise → feat → anchor.
     ============================================================ */
  --r-sm:14px;--r-md:16px;--r-lg:20px;
  --card-bg:linear-gradient(180deg,#FFFFFF 0%,#FBF8F1 100%);
  --card-border:#DFD7C7;
  --card-border-hover:#74B092;
  --elev-hl:inset 0 1px 0 rgba(255,255,255,0.85);
  /* rest: crisp contact shadow + clearly visible ambient drop */
  --elev-rest:0 1px 2px rgba(22,32,28,0.08),0 6px 14px -4px rgba(22,32,28,0.10),0 20px 36px -14px rgba(22,32,28,0.18);
  /* raise: hover / in-view lift */
  --elev-raise:0 3px 7px rgba(22,32,28,0.13),0 18px 34px -8px rgba(22,32,28,0.24),0 44px 76px -18px rgba(22,32,28,0.38);
  /* feat: green-tinted premium glow for the featured plan */
  --elev-feat:0 3px 8px rgba(31,111,92,0.14),0 18px 38px -10px rgba(31,111,92,0.28),0 44px 80px -22px rgba(31,111,92,0.42),0 0 0 1px rgba(31,111,92,0.16);
  /* anchor: guarantee / CTA grounding */
  --elev-anchor:0 3px 8px rgba(31,111,92,0.12),0 26px 52px -16px rgba(31,111,92,0.34)}
.asc-page ::selection{background:#1F6F5C;color:#fff}
.asc-page a{transition:background-color .25s ease,color .25s ease,transform .2s ease,border-color .25s ease,box-shadow .25s ease,opacity .2s ease}
.asc-page a:focus-visible,.asc-page summary:focus-visible{outline:3px solid #C2714B;outline-offset:2px;border-radius:4px}
@keyframes ascFadeUp{from{transform:translateY(14px)}to{transform:none}}
@keyframes ascRevealUp{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes ascTicker{to{transform:translateX(-50%)}}

/* ---- header ---- */
.asc-header{position:sticky;top:0;z-index:50;background:rgba(246,243,238,0.82);backdrop-filter:blur(12px);border-bottom:1px solid #E4DFD6}
.asc-header-in{max-width:1180px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.asc-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.asc-logo{width:30px;height:30px;border-radius:50%;background:#17211D url("spira-icon-white.png") center/78% no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.06);display:inline-block;flex:none}
.asc-brand-name{font-weight:700;letter-spacing:0.04em;font-size:15px;color:#1A1A17;display:block;line-height:1.05}
.asc-brand-sub{font-size:10.5px;letter-spacing:0.22em;color:#6B6A62;font-weight:600;display:block;line-height:1.05}
.asc-nav{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.asc-nav a{text-decoration:none;color:#3A3833;font-size:14.5px;font-weight:500}
html.asc-mouse .asc-nav a:hover{color:#1F6F5C}
.asc-nav-cta{text-decoration:none;background:linear-gradient(180deg,#26816B 0%,#1F6F5C 100%);color:#fff !important;font-weight:600;font-size:14px;padding:11px 18px;border-radius:9px;box-shadow:0 1px 2px rgba(23,33,29,0.15),0 6px 14px -4px rgba(31,111,92,0.35),inset 0 1px 0 rgba(255,255,255,0.20);white-space:nowrap;flex:none}
html.asc-mouse .asc-nav-cta:hover{background:linear-gradient(180deg,#1F7460 0%,#185749 100%)}

/* ---- generic ---- */
.asc-wrap{max-width:1180px;margin:0 auto}
.asc-eyebrow{font-size:12px;letter-spacing:0.16em;font-weight:600;color:#1F6F5C;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:9px}
.asc-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#1F6F5C;display:inline-block}
.asc-h1{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(40px,5.6vw,68px);line-height:1.03;letter-spacing:-0.02em;color:#16201C;text-wrap:balance}
.asc-h2{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-0.015em;color:#16201C;text-wrap:balance}
.asc-em{font-style:italic;color:#16201C}

/* ---- buttons ---- */
.asc-btn{text-decoration:none;background:linear-gradient(180deg,#26816B 0%,#1F6F5C 60%,#1A6050 100%);color:#fff !important;font-weight:600;font-size:16px;padding:16px 28px;border-radius:11px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(20,66,55,0.55);box-shadow:0 2px 4px rgba(31,111,92,0.24),0 12px 26px -6px rgba(31,111,92,0.45),inset 0 1px 0 rgba(255,255,255,0.24)}
html.asc-mouse .asc-btn:hover{background:linear-gradient(180deg,#1F7460 0%,#185749 100%);transform:translateY(-2px);box-shadow:0 3px 6px rgba(31,111,92,0.26),0 18px 34px -8px rgba(31,111,92,0.55),inset 0 1px 0 rgba(255,255,255,0.24)}
.asc-btn-ghost{text-decoration:none;border:1px solid #C8C0AF;color:#1A1A17 !important;font-weight:600;font-size:16px;padding:16px 26px;border-radius:11px;background:linear-gradient(180deg,#FFFFFF 0%,#F6F1E7 100%);display:inline-flex;align-items:center;gap:9px;box-shadow:0 1px 2px rgba(22,32,28,0.08),0 8px 18px -6px rgba(22,32,28,0.16),inset 0 1px 0 rgba(255,255,255,0.9)}
html.asc-mouse .asc-btn-ghost:hover{border-color:#1F6F5C;color:#1F6F5C !important;background:#fff;transform:translateY(-2px);box-shadow:0 2px 4px rgba(22,32,28,0.10),0 14px 26px -8px rgba(22,32,28,0.24),inset 0 1px 0 rgba(255,255,255,0.9)}

/* ---- hero ---- */
.asc-hero{max-width:1180px;margin:0 auto;padding:clamp(48px,7vw,96px) 28px clamp(40px,5vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:clamp(36px,5vw,72px);align-items:center}
.asc-hero-copy{animation:ascFadeUp .7s ease both}
.asc-hero p.asc-lede{margin-top:26px;font-size:clamp(17px,1.4vw,19px);color:#4B4A43;max-width:30em;text-wrap:pretty}
.asc-hero-ctas{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
.asc-trustrow{margin-top:38px;display:flex;flex-wrap:wrap;gap:22px 30px}
.asc-trustrow .item{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#54524B;font-weight:500}
.asc-trustrow .chk{color:#1F6F5C;font-weight:700;font-size:15px}
.asc-mtrust{display:none} /* mobile-only condensed trust line */
.asc-hero-media{position:relative;animation:ascFadeUp .9s ease both}
.asc-hero-frame{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;border:1px solid #D6CDBB;box-shadow:0 3px 10px rgba(22,32,28,0.12),0 28px 56px -16px rgba(22,32,28,0.32),0 60px 110px -32px rgba(22,32,28,0.42),inset 0 0 0 1px rgba(255,255,255,0.10)}
/* images overshoot their frames by 1px on every side (clipped by overflow:hidden) — kills the subpixel sliver between image edge and frame border at any zoom/DPR */
.asc-hero-frame img{position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:cover;object-position:50% 35%;display:block}
.asc-hero-badge{position:absolute;bottom:-22px;left:-22px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-sm);padding:16px 18px;box-shadow:0 2px 6px rgba(22,32,28,0.10),0 20px 40px -10px rgba(22,32,28,0.30),0 0 0 1px rgba(31,111,92,0.08),var(--elev-hl);max-width:230px}
.asc-hero-badge .big{font-family:'Newsreader',serif;font-size:30px;line-height:1;color:#1F6F5C;font-weight:600}
.asc-hero-badge .sm{font-size:12.5px;color:#6B6A62;margin-top:5px}

/* ---- trust strip: auto-scrolling credential ticker (all breakpoints) ---- */
.asc-strip{background:#17211D;color:#E9EEE9}
.asc-strip-in{padding:22px 0}
.asc-ticker{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%)}
.asc-ticker-track{display:flex;width:max-content;animation:ascTicker 56s linear infinite}
.asc-ticker:active .asc-ticker-track{animation-play-state:paused}
html.asc-mouse .asc-ticker:hover .asc-ticker-track{animation-play-state:paused}
.asc-ticker-group{display:flex;flex-wrap:nowrap;align-items:center;gap:40px;padding-right:40px}
.asc-ticker-group span{font-size:13.5px;font-weight:500;color:#C5D0C8;white-space:nowrap;line-height:1.2}
.asc-ticker-group .tdot{display:inline-block;width:5px;height:5px;border-radius:50%;background:rgba(127,187,168,0.6);flex:none;padding:0}

/* ---- section paddings ---- */
.asc-sec{max-width:1180px;margin:0 auto;padding:clamp(60px,7vw,104px) 28px}
.asc-sec-head{max-width:640px;margin-bottom:44px}
.asc-sec-head p{margin-top:16px;font-size:17px;color:#4B4A43;text-wrap:pretty}

/* ---- who I help cards ---- */
.asc-grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch}
/* when four across can't fit, go 2×2; below that, single column */
@media (max-width:1120px){.asc-grid-cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.asc-grid-cards{grid-template-columns:1fr}}
.asc-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-md);padding:28px 26px;display:flex;flex-direction:column;cursor:pointer;box-shadow:var(--elev-rest),var(--elev-hl);transition:box-shadow .6s ease,transform .6s ease,border-color .6s ease}
html.asc-mouse .asc-card:hover{box-shadow:var(--elev-raise),var(--elev-hl);transform:translateY(-6px);border-color:var(--card-border-hover)}
.asc-card .num{width:40px;height:40px;border-radius:11px;background:#E8F0EC;color:#1F6F5C;display:flex;align-items:center;justify-content:center;font-family:'Newsreader',serif;font-size:19px;font-weight:600;margin-bottom:18px;box-shadow:inset 0 0 0 1px rgba(31,111,92,0.10)}
.asc-card h3{font-family:'Newsreader',serif;font-weight:600;font-size:21px;line-height:1.15;color:#16201C;letter-spacing:-0.01em}
.asc-card .blurb{margin-top:11px;font-size:14.5px;color:#54524B;text-wrap:pretty}
details.asc-disc{margin-top:auto}
details.asc-disc>summary{list-style:none;padding-top:18px;cursor:pointer;background:transparent;border:none;color:#1F6F5C;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:7px;width:max-content}
details.asc-disc>summary::-webkit-details-marker{display:none}
html.asc-mouse details.asc-disc>summary:hover{gap:11px}
.asc-disc .lbl-open{display:none}
details.asc-disc[open] .lbl-closed{display:none}
details.asc-disc[open] .lbl-open{display:inline}
.asc-disc .caret::after{content:"+";font-size:12px}
details.asc-disc[open] .caret::after{content:"\2212"}
.asc-disc ul{margin-top:16px;padding-top:16px;border-top:1px solid #ECE7DD;list-style:none;display:flex;flex-direction:column;gap:9px;animation:ascRevealUp .34s ease both}
.asc-disc li{font-size:13.5px;color:#46443E;display:flex;gap:9px;line-height:1.4}
.asc-disc li .b{color:#1F6F5C;font-weight:700;flex:none}

/* ---- problems ---- */
.asc-band{background:#EFEAE1}
.asc-band-in{max-width:1180px;margin:0 auto;padding:clamp(60px,7vw,100px) 28px}
/* Desktop: headline spans the top; photo left, body+CTA right.
   Mobile (≤760px): single column title → photo → body+CTA. */
.asc-prob-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:34px clamp(36px,5vw,64px);align-items:center}
.asc-prob-title{grid-column:1/-1;max-width:700px}
.asc-prob-photo{grid-column:1;margin:0;position:relative;aspect-ratio:16/10;border-radius:var(--r-md);overflow:hidden;border:1px solid #D6CDBB;box-shadow:0 2px 6px rgba(22,32,28,0.10),0 22px 42px -14px rgba(22,32,28,0.30);background:#E7E0D2}
.asc-prob-photo img{position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);display:block;object-fit:cover;object-position:50% 30%}
.asc-prob-photo .cap{position:absolute;bottom:12px;left:12px;font-size:12px;font-weight:600;color:#fff;background:rgba(22,32,28,0.62);backdrop-filter:blur(4px);padding:7px 13px;border-radius:999px;letter-spacing:0.02em}
.asc-prob-body{grid-column:2;padding:0 3px}
.asc-prob-body p{font-size:16.5px;color:#4B4A43;text-wrap:pretty}
.asc-btn-sm{margin-top:28px;text-decoration:none;background:linear-gradient(180deg,#26816B 0%,#1F6F5C 60%,#1A6050 100%);color:#fff !important;font-weight:600;font-size:15.5px;padding:14px 24px;border-radius:11px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(20,66,55,0.55);box-shadow:0 2px 4px rgba(31,111,92,0.22),0 10px 22px -6px rgba(31,111,92,0.42),inset 0 1px 0 rgba(255,255,255,0.24)}
html.asc-mouse .asc-btn-sm:hover{background:linear-gradient(180deg,#1F7460 0%,#185749 100%);transform:translateY(-2px)}
@media (max-width:760px){
  .asc-prob-grid{grid-template-columns:1fr;gap:0;align-items:stretch}
  .asc-prob-title{grid-column:1}
  .asc-prob-photo{grid-column:1;margin-top:24px;aspect-ratio:5/4}
  .asc-prob-body{grid-column:1;margin-top:26px}
}

/* ---- method (dark) ---- */
.asc-dark{background:#17211D;color:#E9EEE9}
.asc-dark-in{max-width:1180px;margin:0 auto;padding:clamp(64px,8vw,108px) 28px}
.asc-dark-head{max-width:660px;margin-bottom:52px}
.asc-dark-head .eb{font-size:12px;letter-spacing:0.16em;font-weight:600;color:#7FBBA8;text-transform:uppercase;margin-bottom:14px}
.asc-dark-head h2{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-0.015em;color:#fff;text-wrap:balance}
.asc-dark-head p{margin-top:16px;font-size:17px;color:#B7C3BB;text-wrap:pretty}
.asc-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
/* if four across can't fit, go 2×2; below that, single column (mobile layout) */
@media (max-width:1060px){.asc-method-grid{grid-template-columns:1fr 1fr;gap:18px}}
@media (max-width:600px){.asc-method-grid{grid-template-columns:1fr}}
.asc-step{position:relative;overflow:hidden;background:linear-gradient(158deg,#243830 0%,#19241F 100%);border:1px solid rgba(127,187,168,0.24);border-radius:var(--r-md);padding:30px 26px 28px;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,0.28),0 22px 44px -14px rgba(0,0,0,0.55),0 0 64px -10px rgba(127,187,168,0),inset 0 1px 0 rgba(255,255,255,0.07);transition:transform .6s ease,box-shadow .6s ease,border-color .6s ease}
html.asc-mouse .asc-step:hover{box-shadow:0 7px 16px rgba(0,0,0,0.36),0 36px 66px -16px rgba(0,0,0,0.72),0 0 64px -10px rgba(127,187,168,0.65),inset 0 1px 0 rgba(255,255,255,0.12);border-color:rgba(127,187,168,0.7)}
.asc-step .ghost{position:absolute;top:-22px;right:2px;font-family:'Newsreader',serif;font-size:110px;font-weight:600;color:rgba(127,187,168,0.1);line-height:1;pointer-events:none}
.asc-step .inner{position:relative}
.asc-step .tag{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#8FD3BE}
.asc-step .tag .bar{width:18px;height:2px;background:#8FD3BE;display:inline-block}
.asc-step h3{font-family:'Newsreader',serif;font-weight:600;font-size:25px;color:#fff;margin-top:14px;letter-spacing:-0.01em}
.asc-step p{margin-top:12px;font-size:15px;color:#C2CEC6;line-height:1.55;text-wrap:pretty}
/* expandable detail inside method steps (dark theme twin of .asc-disc) */
details.asc-mdisc{margin-top:16px}
details.asc-mdisc>summary{list-style:none;cursor:pointer;background:transparent;border:none;color:#8FD3BE;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:7px;width:max-content}
details.asc-mdisc>summary::-webkit-details-marker{display:none}
html.asc-mouse details.asc-mdisc>summary:hover{gap:11px}
.asc-mdisc .lbl-open{display:none}
details.asc-mdisc[open] .lbl-closed{display:none}
details.asc-mdisc[open] .lbl-open{display:inline}
.asc-mdisc .caret::after{content:"+";font-size:12px}
details.asc-mdisc[open] .caret::after{content:"\2212"}
.asc-mdisc ul{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.14);list-style:none;display:flex;flex-direction:column;gap:8px;animation:ascRevealUp .34s ease both}
.asc-mdisc li{font-size:13.5px;color:#C2CEC6;display:flex;gap:9px;line-height:1.45}
.asc-mdisc li .b{color:#8FD3BE;font-weight:700;flex:none}
.asc-toolkit{margin-top:46px;padding-top:34px;border-top:1px solid rgba(255,255,255,0.12)}
.asc-toolkit .lbl{font-size:12px;letter-spacing:0.16em;font-weight:700;text-transform:uppercase;color:#8FD3BE;margin-bottom:20px}
/* toolkit ticker: same continuous-band treatment as the hero trust strip (all breakpoints) */
.asc-toolkit .asc-ticker-track{animation-duration:38s}
.asc-toolkit .asc-ticker-group{gap:34px;padding-right:34px}
.asc-toolkit .asc-ticker-group span{font-size:15px;font-weight:600;color:#DCE5DD;letter-spacing:0.01em;text-transform:capitalize}
@media (max-width:640px){
  .asc-toolkit{margin-top:36px;padding-top:26px}
  .asc-toolkit .lbl{margin-bottom:14px;text-align:center}
  .asc-dark .asc-dark-in{padding-bottom:34px}
  .asc-toolkit .asc-ticker-track{animation-duration:30s}
  .asc-toolkit .asc-ticker-group{gap:24px;padding-right:24px}
  .asc-toolkit .asc-ticker-group span{font-size:14px}
}

/* ---- about me ---- */
.asc-why-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"media head" "media body";gap:0 clamp(40px,5vw,72px);align-content:center}
.asc-why-media{grid-area:media;align-self:center}
.asc-why-head{grid-area:head}
.asc-why-body{grid-area:body}
@media (max-width:700px){
  .asc-why-grid{grid-template-columns:1fr;grid-template-areas:"head" "media" "body";grid-template-rows:auto;align-items:stretch}
  .asc-why-media{margin-top:24px}
  .asc-why-body{margin-top:8px}
}
.asc-why-frame{aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;border:1px solid #D6CDBB;box-shadow:0 3px 10px rgba(22,32,28,0.12),0 28px 56px -16px rgba(22,32,28,0.30),0 60px 110px -34px rgba(22,32,28,0.40),inset 0 0 0 1px rgba(255,255,255,0.10);position:relative}
.asc-why-frame img{position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:cover;display:block}
.asc-why-frame .cap{position:absolute;bottom:14px;left:14px;font-size:12px;font-weight:600;color:#fff;background:rgba(22,32,28,0.62);backdrop-filter:blur(4px);padding:7px 13px;border-radius:999px;letter-spacing:0.02em}
.asc-why p{margin-top:18px;font-size:16px;color:#4B4A43;text-wrap:pretty}
.asc-why p.tight{margin-top:14px}
.asc-stats{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px}
.asc-stat{border-left:2px solid #1F6F5C;padding-left:14px}
.asc-stat .v{font-family:'Newsreader',serif;font-size:30px;line-height:1;color:#16201C;font-weight:600}
.asc-stat .l{font-size:12.5px;color:#6B6A62;margin-top:6px;line-height:1.35}
.asc-why .closer{margin-top:26px;font-size:16px;color:#16201C;font-weight:500;text-wrap:pretty}
details.asc-story{margin-top:22px}
details.asc-story>summary{list-style:none;background:linear-gradient(180deg,#FFFFFF 0%,#F6F1E7 100%);border:1px solid #C8C0AF;cursor:pointer;color:#16201C;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;width:max-content;box-shadow:0 1px 2px rgba(22,32,28,0.08),0 8px 18px -6px rgba(22,32,28,0.16),inset 0 1px 0 rgba(255,255,255,0.9);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease}
details.asc-story>summary::-webkit-details-marker{display:none}
html.asc-mouse details.asc-story>summary:hover{border-color:#1F6F5C;color:#1F6F5C;transform:translateY(-2px);box-shadow:0 2px 4px rgba(22,32,28,0.10),0 14px 26px -8px rgba(22,32,28,0.24),inset 0 1px 0 rgba(255,255,255,0.9)}
.asc-story .lbl-open{display:none}
details.asc-story[open] .lbl-closed{display:none}
details.asc-story[open] .lbl-open{display:inline}
.asc-story .caret{color:#1F6F5C}
.asc-story .caret::after{content:"+";font-size:13px}
details.asc-story[open] .caret::after{content:"\2212"}
.asc-story-body{margin-top:22px;padding-top:24px;border-top:1px solid #E4DFD6;display:flex;flex-direction:column;gap:15px;animation:ascRevealUp .4s ease both}
.asc-story-body p{font-size:15.5px;color:#4B4A43;line-height:1.62;text-wrap:pretty;margin:0}

/* ---- reviews ---- */
.asc-reviews-head{max-width:620px;margin:0 auto 40px;text-align:center}
.asc-reviews-head .asc-eyebrow{justify-content:center}
.asc-reviews-head p{margin-top:16px;font-size:17px;color:#4B4A43;text-wrap:pretty}
.asc-reviews-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);box-shadow:var(--elev-rest),0 34px 66px -22px rgba(22,32,28,0.28),var(--elev-hl)}

/* ---- pricing ---- */
.asc-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
/* when three cards can't sit side by side, stack them vertically (featured first) — same as mobile */
@media (max-width:1020px){
  .asc-price-grid{display:flex;flex-direction:column;gap:22px;max-width:560px}
  .asc-price-grid .asc-plan:nth-child(2){order:1}
  .asc-price-grid .asc-plan:nth-child(1){order:2}
  .asc-price-grid .asc-plan:nth-child(3){order:3}
  .asc-plan.feat{transform:none;margin-top:6px}
}
.asc-plan{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:30px 28px;display:flex;flex-direction:column;position:relative;box-shadow:var(--elev-rest),var(--elev-hl);transition:transform .6s ease,box-shadow .6s ease,border-color .6s ease}
html.asc-mouse .asc-plan:hover{box-shadow:var(--elev-raise),var(--elev-hl);border-color:var(--card-border-hover)}
.asc-plan.feat{border:1px solid rgba(31,111,92,0.55);background:linear-gradient(180deg,#FFFFFF 0%,#F1F8F3 100%);box-shadow:var(--elev-feat),var(--elev-hl);transform:translateY(-8px)}
html.asc-mouse .asc-plan.feat:hover{box-shadow:0 6px 18px rgba(31,111,92,0.23),0 30px 56px -12px rgba(31,111,92,0.44),0 58px 100px -22px rgba(31,111,92,0.56),0 0 0 1px rgba(31,111,92,0.28),var(--elev-hl)}
.asc-plan .badge{position:absolute;top:-12px;left:28px;background:#1F6F5C;color:#fff;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.asc-plan h3{font-family:'Newsreader',serif;font-weight:600;font-size:23px;color:#16201C;letter-spacing:-0.01em}
.asc-plan .price-row{margin-top:14px;display:flex;align-items:baseline;gap:7px}
.asc-plan .price{font-family:'Newsreader',serif;font-size:42px;font-weight:600;color:#16201C}
.asc-plan .unit{font-size:14px;color:#7A776E}
.asc-plan .pdesc{margin-top:14px;font-size:14.5px;color:#54524B;line-height:1.5;text-wrap:pretty}
.asc-plan ul{margin-top:20px;padding:20px 0 0;border-top:1px solid #ECE7DD;list-style:none;display:flex;flex-direction:column;gap:11px;flex:1}
.asc-plan li{font-size:14px;color:#3A3833;display:flex;gap:10px;line-height:1.4}
.asc-plan li .c{color:#1F6F5C;font-weight:700;flex:none}
.asc-plan .plan-cta{margin-top:24px;text-decoration:none;text-align:center;font-weight:600;font-size:15px;padding:14px;border-radius:10px;background:linear-gradient(180deg,#FFFFFF 0%,#F6F1E7 100%);color:#16201C !important;border:1px solid #C8C0AF;box-shadow:0 1px 2px rgba(22,32,28,0.08),0 6px 14px -6px rgba(22,32,28,0.16),inset 0 1px 0 rgba(255,255,255,0.9)}
html.asc-mouse .asc-plan .plan-cta:hover{border-color:#1F6F5C;color:#1F6F5C !important;background:#fff}
.asc-plan.feat .plan-cta{background:linear-gradient(180deg,#26816B 0%,#1F6F5C 60%,#1A6050 100%);color:#fff !important;border:1px solid rgba(20,66,55,0.55);box-shadow:0 2px 4px rgba(31,111,92,0.24),0 10px 22px -6px rgba(31,111,92,0.40),inset 0 1px 0 rgba(255,255,255,0.24)}
html.asc-mouse .asc-plan.feat .plan-cta:hover{background:linear-gradient(180deg,#1F7460 0%,#185749 100%);color:#fff !important}
.asc-price-note{margin-top:18px;font-size:13px;color:#7A776E;text-align:center}

/* ---- guarantee ---- */
.asc-guar-wrap{max-width:1180px;margin:0 auto;padding:0 28px clamp(60px,7vw,96px)}
.asc-guar{background:linear-gradient(158deg,#ECF4EF 0%,#E3EFE8 100%);border:1px solid #C4DDD2;border-radius:var(--r-lg);padding:clamp(36px,5vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;align-items:center;box-shadow:var(--elev-anchor),inset 0 1px 0 rgba(255,255,255,0.55)}
.asc-guar .left{display:flex;align-items:center;gap:22px}
.asc-guar .ic{width:64px;height:64px;border-radius:50%;background:#1F6F5C;color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;flex:none;box-shadow:0 10px 24px -10px rgba(31,111,92,0.6)}
.asc-guar .eb{font-size:12px;letter-spacing:0.16em;font-weight:600;color:#1F6F5C;text-transform:uppercase}
.asc-guar h2{font-family:'Newsreader',serif;font-weight:600;font-size:clamp(24px,3vw,32px);color:#16201C;margin-top:6px;line-height:1.1}
.asc-guar p{font-size:16.5px;color:#33433C;line-height:1.55;text-wrap:pretty}
.asc-guar .fine{margin-top:12px;font-size:12.5px;color:#5C6B61;line-height:1.5;text-wrap:pretty}

/* ---- faq ---- */
.asc-faq{max-width:860px;margin:0 auto;padding:0 28px clamp(64px,8vw,108px)}
.asc-faq-head{text-align:center;margin-bottom:44px}
.asc-faq-head .asc-eyebrow{justify-content:center}
.asc-faq-head h2{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.08;letter-spacing:-0.015em;color:#16201C}
.asc-faq-list{display:flex;flex-direction:column;gap:24px}
details.asc-q{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--elev-rest),var(--elev-hl);transition:transform .6s ease,box-shadow .6s ease,border-color .6s ease}
html.asc-mouse details.asc-q:hover{box-shadow:var(--elev-raise),var(--elev-hl);border-color:var(--card-border-hover)}
details.asc-q[open]{box-shadow:var(--elev-raise),var(--elev-hl);border-color:var(--card-border-hover)}
details.asc-q>summary{list-style:none;cursor:pointer;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left}
details.asc-q>summary::-webkit-details-marker{display:none}
.asc-q .q{font-size:16.5px;font-weight:600;color:#16201C;line-height:1.35}
.asc-q .sign{width:28px;height:28px;border-radius:50%;background:#E8F0EC;color:#1F6F5C;flex:none;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}
.asc-q .sign::after{content:"+"}
details.asc-q[open] .sign::after{content:"\2212"}
.asc-q .a{padding:0 24px 24px;font-size:15.5px;color:#4B4A43;line-height:1.55;text-wrap:pretty;animation:ascRevealUp .3s ease both}

/* ---- final cta ---- */
.asc-final{max-width:840px;margin:0 auto;padding:clamp(64px,8vw,112px) 28px;text-align:center}
.asc-final .seal{width:46px;height:46px;border-radius:50%;background:rgba(233,238,233,0.10) url("spira-icon-white.png") center/78% no-repeat;display:inline-block;margin-bottom:26px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.15)}
.asc-final h2{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(32px,5vw,56px);line-height:1.05;letter-spacing:-0.02em;text-wrap:balance;color:#fff}
.asc-final p{margin-top:20px;font-size:18px;color:#B7C3BB;max-width:34em;margin-left:auto;margin-right:auto;text-wrap:pretty}
.asc-final .asc-btn{margin-top:34px;font-size:17px;padding:18px 34px;box-shadow:0 10px 30px -10px rgba(31,111,92,0.7)}
.asc-final .micro{margin-top:22px;font-size:13.5px;color:#8FA399}

/* ---- footer ---- */
.asc-footer{background:#121A17;color:#9FB0A7}
.asc-footer-in{max-width:1180px;margin:0 auto;padding:48px 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.asc-footer .col-about{max-width:30em}
.asc-footer .fbrand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.asc-footer .fdot{width:26px;height:26px;border-radius:50%;background:rgba(233,238,233,0.12) url("spira-icon-white.png") center/78% no-repeat;display:inline-block}
.asc-footer .fname{font-weight:700;letter-spacing:0.04em;font-size:14px;color:#E9EEE9}
.asc-footer .fabout{font-size:14px;line-height:1.55;color:#A6B5AC}
.asc-footer .ftitle{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:#A0B0A7;font-weight:600;margin-bottom:4px;display:block}
.asc-footer .col-links{display:flex;flex-direction:column;gap:10px}
.asc-footer .col-links a{color:#B7C3BB;text-decoration:none;font-size:14px}
html.asc-mouse .asc-footer .col-links a:hover{color:#fff}
.asc-footer .col-start{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.asc-footer .fcta{text-decoration:none;background:#1F6F5C;color:#fff !important;font-weight:600;font-size:14px;padding:12px 20px;border-radius:9px}
html.asc-mouse .asc-footer .fcta:hover{background:#185749}
.asc-footer .fcontact{font-size:13px;color:#AEBDB4;line-height:1.7}
.asc-footer .fcontact strong{color:#E9EEE9;font-weight:700}
.asc-footer .fcontact a{color:#C5D0C8;text-decoration:none}
.asc-disclaimer{border-top:1px solid rgba(255,255,255,0.08);padding:22px 28px;max-width:1180px;margin:0 auto}
.asc-disclaimer p{font-size:12.5px;color:#A0B0A7;line-height:1.6;max-width:60em;text-wrap:pretty}
.asc-copyright{border-top:1px solid rgba(255,255,255,0.08);padding:18px 28px;text-align:center;font-size:12.5px;color:#A0B0A7}

/* ---- header collapse: whenever the full menu can't fit on one line,
   keep only the brand + CTA (desktop and mobile alike) ---- */
@media (max-width:900px){
  .asc-nav a:not(.asc-nav-cta){display:none}
  .asc-header-in{flex-wrap:nowrap}
}
@media (max-width:560px){
  .asc-header-in{padding:12px 16px}
  .asc-brand{min-width:0;flex-shrink:1}
  .asc-nav{flex:none}
  .asc-nav-cta{white-space:nowrap;font-size:13px;padding:10px 14px}
}
@media (max-width:340px){
  /* not enough room even for the compact CTA — drop it rather than wrap */
  .asc-nav{display:none}
}
/* ---- mobile hero: fixed-height photo band on top, frosted card sits below & overlaps its bottom edge ---- */
@media (max-width:760px){
  .asc-hero{display:block;align-items:stretch;padding:0;max-width:none;gap:0;position:relative;overflow:hidden;background:#F6F3EE}
  /* ZOOM KNOB (mobile) — photo band height. This is your quantitative zoom metric:
     LOWER = zoomed OUT (shows more of the photo's width, shorter image); HIGHER = zoomed IN.
     It was filling the whole hero (~760px) before; 620px is a little zoomed out. */
  .asc-hero-media{position:absolute;top:0;left:0;right:0;height:620px;z-index:0;margin:0;animation:none}
  .asc-hero-frame{aspect-ratio:auto;height:100%;width:100%;border-radius:0;border:none;box-shadow:none;background:#F6F3EE}
  /* MOBILE PHOTO FRAMING — object-position 40% 50% for the gym photo. Zoom is controlled by the band height above, not here. Bottom ~8% fades softly into the cream. */
  .asc-hero-frame img{width:100%;height:100%;object-fit:cover;object-position:0% 50%;transform:none;-webkit-mask-image:linear-gradient(to bottom,#000 92%,transparent 100%);mask-image:linear-gradient(to bottom,#000 92%,transparent 100%)}
  .asc-hero-badge{display:none}
  /* PHOTO REVEAL: this top padding (290px) is how much clear photo shows before the frosted card starts */
  .asc-hero-copy{order:2;position:relative;z-index:2;padding:250px 16px 32px}
  .asc-hero-panel{background:rgba(246,243,238,0.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.65);border-radius:18px;padding:24px 22px 22px;box-shadow:0 6px 16px rgba(0,0,0,0.18),0 30px 64px -16px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.5)}
  .asc-hero-panel .asc-h1{font-size:clamp(34px,9vw,44px)}
  .asc-hero-panel .asc-lede{margin-top:14px;font-size:15.5px}
  .asc-hero-ctas{margin-top:22px;flex-direction:column;gap:12px}
  .asc-hero-ctas a{width:100%;justify-content:center}
  .asc-trustrow{display:none}
  .asc-mtrust{display:flex;margin-top:18px;padding-top:16px;border-top:1px solid rgba(22,32,28,0.12);flex-direction:column;gap:8px}
  .asc-mtrust .item{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.4;color:#54524B;font-weight:500}
  .asc-mtrust .chk{color:#1F6F5C;font-weight:700;font-size:13.5px;line-height:1.3}
}

/* ============================================================
   Scroll-triggered elevation (mobile / touch)
   JS adds .is-inview to a card/panel when it reaches the central
   viewport band and removes it on exit, so nothing stays permanently
   raised. The observer only runs on touch / no-hover devices (see the
   <script> before </body>), so these rules never affect a desktop
   mouse session — desktop keeps its :hover behavior untouched.
   Transform + box-shadow/filter only → no layout shift.
   ============================================================ */
/* give elements that lack a base transition a gentle ease in/out */
.asc-stat,.asc-guar,.asc-q,.asc-final,.asc-hero-frame,.asc-hero-badge{transition:transform .6s ease,box-shadow .6s ease,border-color .6s ease,filter .6s ease}

/* clearly perceptible lifts: bigger travel + strong layered shadows + border shift */
.asc-card.is-inview{transform:translateY(-4px);box-shadow:0 2px 4px rgba(22,32,28,0.12),0 8px 14px -6px rgba(22,32,28,0.24),0 14px 20px -12px rgba(22,32,28,0.26),var(--elev-hl);border-color:var(--card-border-hover)}
.asc-step.is-inview{box-shadow:0 7px 16px rgba(0,0,0,0.36),0 36px 64px -14px rgba(0,0,0,0.72),0 0 64px -10px rgba(127,187,168,0.7),inset 0 1px 0 rgba(255,255,255,0.12);border-color:rgba(127,187,168,0.7)}
.asc-plan.is-inview{box-shadow:0 4px 10px rgba(22,32,28,0.13),0 28px 52px -10px rgba(22,32,28,0.33),var(--elev-hl);border-color:var(--card-border-hover)}
.asc-plan.feat.is-inview{box-shadow:0 6px 18px rgba(31,111,92,0.23),0 32px 58px -10px rgba(31,111,92,0.48),0 60px 100px -22px rgba(31,111,92,0.56),0 0 0 1px rgba(31,111,92,0.30),var(--elev-hl)}
/* elements with no desktop hover — still a clear, premium lift */
/* stat: line changes color + thickens; padding shrinks by the same amount so text never moves */
.asc-stat{transition:border-color .6s ease,border-left-width .6s ease,padding-left .6s ease}
.asc-stat.is-inview{border-left-color:#C2714B;border-left-width:5px;padding-left:11px}
.asc-guar.is-inview{transform:translateY(-6px);box-shadow:0 5px 14px rgba(31,111,92,0.18),0 40px 70px -16px rgba(31,111,92,0.52),inset 0 1px 0 rgba(255,255,255,0.55)}
.asc-q.is-inview{box-shadow:0 3px 8px rgba(22,32,28,0.12),0 22px 40px -8px rgba(22,32,28,0.31);border-color:var(--card-border-hover)}
.asc-final.is-inview{transform:translateY(-4px)}
/* hero badge lifts; hero frame is full-bleed on mobile, so use a brightness
   lift instead of a transform (a transform would reveal the cream edges) */
.asc-hero-badge.is-inview{transform:translateY(-6px);box-shadow:0 4px 10px rgba(22,32,28,0.15),0 30px 54px -12px rgba(22,32,28,0.46)}
.asc-hero-frame.is-inview{filter:brightness(1.06)}

/* reduced motion: keep the depth cue (shadow/border) but remove all movement */
@media (prefers-reduced-motion:reduce){
  .asc-card.is-inview,.asc-step.is-inview,.asc-plan.is-inview,
  .asc-stat.is-inview,.asc-guar.is-inview,.asc-q.is-inview,
  .asc-final.is-inview,.asc-hero-badge.is-inview,.asc-hero-frame.is-inview{transform:none;filter:none}
}

/* ============================================================
   ATMOSPHERE PASS — layered section backgrounds.
   Pure CSS gradients + one tiny inline SVG noise tile (no assets,
   no extra requests). All tints are very low alpha so text
   contrast is untouched. Delete this block to fully revert.
   ============================================================ */

/* shared: full-bleed backdrop layer behind width-constrained sections */
.asc-sec,.asc-faq{position:relative}
.asc-sec>*,.asc-faq>*{position:relative;z-index:1}
#who::before,.asc-why::before,#pricing::before,.asc-faq::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:0;pointer-events:none}

/* 1. HERO — soft green glow behind the photo, faint copper warmth near the copy.
   NOTE: the glow sits at z-index:-1 so hero children keep their own positioning
   (the mobile hero relies on .asc-hero-media being position:absolute). */
.asc-hero{position:relative}
.asc-hero::before{content:"";position:absolute;inset:-60px -160px -40px;z-index:-1;pointer-events:none;background:radial-gradient(56% 62% at 76% 42%,rgba(31,111,92,0.10) 0%,rgba(31,111,92,0) 70%),radial-gradient(44% 50% at 8% 16%,rgba(194,113,75,0.06) 0%,rgba(194,113,75,0) 70%)}

/* 2. TRUST STRIP — vertical gradient + inset shadows so it reads as a carved band, not a flat divider */
.asc-strip{background:linear-gradient(180deg,#1B2822 0%,#17211D 55%,#141D19 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -1px 0 rgba(0,0,0,0.35),inset 0 20px 32px -26px rgba(0,0,0,0.55)}

/* 3. WHO I HELP — soft beige wash + whisper of green so white cards lift off the page */
#who::before{background:radial-gradient(50% 46% at 50% 42%,rgba(31,111,92,0.045) 0%,rgba(31,111,92,0) 70%),linear-gradient(180deg,rgba(238,231,218,0) 0%,rgba(238,231,218,0.70) 24%,rgba(238,231,218,0.70) 78%,rgba(238,231,218,0) 100%)}

/* 4. PROBLEM BAND — warm layered gradient, faint copper glow, hairline top light + ultra-subtle noise */
.asc-band{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.028'/%3E%3C/svg%3E"),radial-gradient(52% 60% at 82% 14%,rgba(194,113,75,0.07) 0%,rgba(194,113,75,0) 70%),linear-gradient(180deg,#F1EBDE 0%,#EDE5D4 55%,#F0EADD 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.65),inset 0 -1px 0 rgba(22,32,28,0.05)}

/* 7. REVIEWS BAND — same family, but a green-tinted crown glow: the "proof" moment */
.asc-band:has(.asc-reviews-card){background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.028'/%3E%3C/svg%3E"),radial-gradient(56% 70% at 50% 0%,rgba(31,111,92,0.08) 0%,rgba(31,111,92,0) 70%),linear-gradient(180deg,#F0EBDF 0%,#ECE7DA 60%,#F1ECE0 100%)}

/* 5. METHOD (dark) — layered sage glows + vignette + noise; contrast on text untouched */
.asc-dark{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),radial-gradient(70% 55% at 82% -8%,rgba(127,187,168,0.10) 0%,rgba(127,187,168,0) 65%),radial-gradient(60% 50% at 8% 108%,rgba(31,111,92,0.15) 0%,rgba(31,111,92,0) 65%),linear-gradient(180deg,#18231E 0%,#151F1A 100%)}

/* 6. ABOUT ME — editorial warm wash + soft glow behind the portrait side */
.asc-why::before{background:radial-gradient(46% 54% at 20% 42%,rgba(31,111,92,0.06) 0%,rgba(31,111,92,0) 70%),linear-gradient(180deg,rgba(241,235,224,0) 0%,rgba(241,235,224,0.55) 30%,rgba(241,235,224,0.55) 72%,rgba(241,235,224,0) 100%)}

/* 8. PRICING — anchoring beige backdrop + faint green glow centered on the featured card */
#pricing::before{background:radial-gradient(44% 46% at 50% 54%,rgba(31,111,92,0.055) 0%,rgba(31,111,92,0) 70%),linear-gradient(180deg,rgba(238,231,218,0) 0%,rgba(238,231,218,0.55) 32%,rgba(238,231,218,0.55) 88%,rgba(238,231,218,0) 100%)}

/* 9. FAQ — quiet beige column so white cards don't sit on flat cream */
.asc-faq::before{background:radial-gradient(64% 56% at 50% 34%,rgba(238,231,218,0.70) 0%,rgba(238,231,218,0) 78%)}

/* 10. FINAL CTA — atmospheric close: rising sage aura + low copper ember */
.asc-dark:has(.asc-final){background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),radial-gradient(60% 70% at 50% 16%,rgba(127,187,168,0.13) 0%,rgba(127,187,168,0) 62%),radial-gradient(42% 46% at 50% 102%,rgba(194,113,75,0.09) 0%,rgba(194,113,75,0) 70%),linear-gradient(180deg,#17211D 0%,#121B16 100%)}

/* mobile: calmer, simpler layers — no side glows crowding a narrow screen */
@media (max-width:760px){
  .asc-hero::before{display:none}
}
@media (max-width:640px){
  #who::before,.asc-why::before,#pricing::before{background:linear-gradient(180deg,rgba(238,231,218,0) 0%,rgba(238,231,218,0.5) 28%,rgba(238,231,218,0.5) 72%,rgba(238,231,218,0) 100%)}
  .asc-faq::before{background:linear-gradient(180deg,rgba(238,231,218,0) 0%,rgba(238,231,218,0.45) 40%,rgba(238,231,218,0) 100%)}
}

/* ============================================================
   MOBILE RHYTHM PASS — spacing, density & readability for
   360–430px screens. Desktop values above are untouched.
   System: 20px gutters (16px ≤400px) · 60px section rhythm ·
   ~30px head-to-content gap · 14–16px card-stack gaps ·
   full-width primary CTAs. No copy or flow changes.
   ============================================================ */
@media (max-width:640px){
  /* -- global gutters + one consistent vertical rhythm -- */
  .asc-sec{padding:60px 20px}
  .asc-band-in{padding:60px 20px}
  .asc-dark-in{padding:64px 20px}
  .asc-strip-in{padding:18px 20px}
  .asc-guar-wrap{padding:0 20px 60px}
  .asc-faq{padding:0 20px 68px}
  .asc-final{padding:72px 20px 76px}
  .asc-footer-in{padding:40px 20px;gap:30px}
  .asc-disclaimer{padding:20px}
  .asc-copyright{padding:16px 20px}

  /* -- section heads: tighter, consistent lead-in -- */
  .asc-eyebrow{margin-bottom:10px}
  .asc-sec-head{margin-bottom:30px}
  .asc-sec-head p{margin-top:12px;font-size:15.5px}
  .asc-h2{line-height:1.12}

  /* -- trust strip: tighter ticker spacing on small screens -- */
  .asc-strip-in{padding:16px 0;max-width:none}
  .asc-ticker{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%)}
  .asc-ticker-track{animation-duration:48s}
  .asc-ticker-group{gap:22px;padding-right:22px}
  .asc-ticker-group span{font-size:13px}

  /* -- hero: a touch more air below the panel before the strip -- */
  .asc-hero-copy{padding-bottom:36px}
  .asc-hero-panel .asc-lede{line-height:1.55}

  /* -- who I help: steady stack gap with room for the in-view lift -- */
  .asc-grid-cards{gap:22px}
  .asc-card{padding:24px 20px}
  .asc-card .num{margin-bottom:14px}
  .asc-card .blurb{margin-top:9px;font-size:14px}
  details.asc-disc>summary{padding-top:16px}

  /* -- problems: full-width CTA -- */
  .asc-prob-body p{font-size:15.5px}
  .asc-btn-sm{margin-top:22px;width:100%;justify-content:center}

  /* -- method: denser dark cards, smaller ghost numerals -- */
  .asc-dark-head{margin-bottom:32px}
  .asc-dark-head p{margin-top:12px;font-size:15.5px}
  .asc-method-grid{gap:22px}
  .asc-step{padding:24px 20px 22px}
  .asc-step .ghost{font-size:84px;top:-16px}
  .asc-step .tag{font-size:16px;letter-spacing:0.12em}
  .asc-step h3{font-size:24px;margin-top:12px}
  .asc-step p{margin-top:10px;font-size:15.5px}

  /* -- about me: single-column stats read as a quiet list -- */
  .asc-why p{font-size:15px}
  .asc-stats{margin:36px 0;grid-template-columns:1fr;gap:18px}
  .asc-stat{display:flex;align-items:center;gap:12px;padding-left:14px;height:76px;border-left-width:3px}
  .asc-stat .v{font-size:24px;flex:none;min-width:88px}
  .asc-stat .l{margin-top:0;font-size:15px;line-height:1.4}
  .asc-stat.is-inview{border-left-width:6px;padding-left:11px} /* mobile base is 3px+14px, so 6px+11px keeps text fixed */
  .asc-why .closer{margin-top:22px;font-size:15px}
  details.asc-story{text-align:center}
  .asc-story-body{text-align:left}
  .asc-story-body p{font-size:14.5px}

  /* -- reviews -- */
  .asc-reviews-head{margin-bottom:28px}
  .asc-reviews-head p{margin-top:12px;font-size:15.5px}

  /* -- pricing: even stack, featured card sits flush in flow -- */
  /* mobile order: Mobile Personal Training (featured) first, then Live Online, then fully Online. Desktop order unchanged. */
  .asc-price-grid{display:flex;flex-direction:column;margin-top:26px;gap:22px}
  .asc-price-grid .asc-plan:nth-child(2){order:1}
  .asc-price-grid .asc-plan:nth-child(1){order:2}
  .asc-price-grid .asc-plan:nth-child(3){order:3}
  .asc-plan{padding:26px 20px}
  .asc-plan.feat{transform:none;margin-top:6px}
  .asc-plan .price{font-size:36px}
  .asc-plan .pdesc{margin-top:12px;font-size:14px}
  .asc-plan ul{margin-top:16px;padding-top:16px;gap:9px}
  .asc-plan li{font-size:13.5px}
  .asc-plan .plan-cta{margin-top:20px;padding:15px}
  .asc-price-note{font-size:12.5px}

  /* -- guarantee: compact but still the anchor moment -- */
  .asc-guar{padding:28px 22px;gap:22px}
  .asc-guar .left{gap:16px}
  .asc-guar .ic{width:52px;height:52px;font-size:24px}
  .asc-guar p{font-size:15px}

  /* -- faq: comfortable tap area, roomier stack -- */
  .asc-faq-head{margin-bottom:30px}
  .asc-faq-list{gap:20px}
  details.asc-q>summary{padding:18px;gap:14px}
  .asc-q .q{font-size:15.5px}
  .asc-q .a{padding:0 18px 20px;font-size:14.5px}

  /* -- final cta: full-width button, easy thumb reach -- */
  .asc-final p{margin-top:16px;font-size:16.5px}
  .asc-final .asc-btn{width:100%;justify-content:center;margin-top:28px;white-space:nowrap;padding-left:16px;padding-right:16px;font-size:16px}
  .asc-final .micro{margin-top:18px;font-size:12.5px}

  /* -- footer -- */
  .asc-footer .fabout{font-size:13.5px}
  .asc-disclaimer p{font-size:12px}
}

/* ticker + reduced motion: fall back to a static wrapped line (all breakpoints) */
@media (prefers-reduced-motion:reduce){
  .asc-ticker{-webkit-mask-image:none;mask-image:none}
  .asc-ticker-track{animation:none;width:auto;justify-content:center;flex-wrap:wrap}
  .asc-ticker-group{flex-wrap:wrap;justify-content:center;gap:10px 20px;padding:0 20px}
  .asc-ticker-group span{white-space:normal;text-align:center}
  .asc-ticker-group[aria-hidden="true"]{display:none}
}

/* ============================================================
   STICKY MOBILE CONSULTATION CTA
   Mobile only (≤760px). Hidden at top of page; slides in after the
   user scrolls past the hero; slides away near the final CTA/footer
   so it never covers the closing pitch or footer links.
   Floating button only (no bar) with a soft green perimeter glow.
   Fixed to the BOTTOM, so it never conflicts with the WordPress
   admin bar (which docks to the top on mobile). Safe-area aware.
   ============================================================ */
.asc-sticky-cta{display:none}
@media (max-width:760px){
  .asc-sticky-cta{display:flex;justify-content:center;position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:0 16px calc(14px + env(safe-area-inset-bottom,0px));
    pointer-events:none; /* the button itself re-enables — content behind the gaps stays tappable */
    transform:translateY(130%);
    transition:transform .45s cubic-bezier(.22,.9,.3,1),visibility .45s;
    visibility:hidden}
  .asc-sticky-cta.is-visible{transform:none;visibility:visible}
  .asc-sticky-cta a{pointer-events:auto;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;
    min-height:52px;padding:14px 24px;border-radius:11px;
    font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:600;font-size:16px;color:#fff !important;
    background:linear-gradient(180deg,#26816B 0%,#1F6F5C 60%,#1A6050 100%);
    border:1px solid rgba(20,66,55,0.55);
    /* brand shadow + very soft green halo around the perimeter — lifts it off any background without reading as an ad */
    box-shadow:0 2px 4px rgba(31,111,92,0.26),0 12px 26px -6px rgba(31,111,92,0.48),0 0 30px 4px rgba(31,111,92,0.34),inset 0 1px 0 rgba(255,255,255,0.24)}
  .asc-sticky-cta a:active{background:linear-gradient(180deg,#1F7460 0%,#185749 100%)}
}
@media (prefers-reduced-motion:reduce){
  .asc-sticky-cta{transition:opacity .25s ease,visibility .25s;transform:none;opacity:0}
  .asc-sticky-cta.is-visible{opacity:1}
}

@media (max-width:400px){
  /* very narrow phones: shave gutters, keep type readable */
  .asc-sec,.asc-band-in{padding-left:16px;padding-right:16px}
  .asc-dark-in,.asc-footer-in{padding-left:16px;padding-right:16px}
  .asc-guar-wrap,.asc-faq,.asc-final{padding-left:16px;padding-right:16px}
  .asc-final .asc-btn{font-size:clamp(13px,4.2vw,15px);padding-left:12px;padding-right:12px}
  .asc-hero-copy{padding-left:12px;padding-right:12px}
  .asc-hero-panel{padding:22px 18px 20px}
  .asc-plan .price{font-size:34px}
  .asc-stat .v{min-width:80px}
}
