/*
Theme Name: Neo Spartan Fitness
Theme URI: https://www.neospartanfitness.in/
Author: ThatRank
Author URI: https://thatrank.com/
Description: Custom single-page WordPress theme for Neo Spartan Fitness, a strength & conditioning gym in Sector 22C, Chandigarh. Light, conversion-focused and SEO-ready. Converted from a hand-built static page.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neo-spartan
*/

:root{
  /* ---- TYPE: one heading, one body, one optional label ---- */
  --font-heading:'Oswald',system-ui,sans-serif;       /* every heading */
  --font-body:'Barlow',system-ui,sans-serif;          /* every paragraph */
  --font-label:'Barlow Condensed',system-ui,sans-serif;/* optional: eyebrows/buttons */
  /* ---- TYPE SCALE ---- */
  --fs-h1:clamp(2.7rem,6.2vw,4.6rem);
  --fs-h2:clamp(1.95rem,4.2vw,2.95rem);
  --fs-h3:1.5rem;
  --fs-h4:1.2rem;
  --fs-h5:.9rem;
  --fs-body:1.0625rem;   /* 17px */
  --fs-lede:1.15rem;
  --fs-sm:.9rem;
  --fs-eyebrow:.8rem;
  /* ---- COLOR (from the logo) ---- */
  --primary:#ef9d21;      /* gold  — primary brand colour */
  --primary-deep:#ef9d21;
  --secondary:#fbfb07;    /* rust  — secondary brand colour */
  --secondary-deep:#ef9d21;
  --ink:#160b03;          /* black — complementary */
  --paper:#ffffff;        /* white — complementary */
  --mist:#F7F5EF;
  --soft:#F1EEE6;
  --ink-soft:rgba(22,11,3,.78);
  --muted:rgba(22,11,3,.55);
  --line:rgba(22,11,3,.12);
  --star:#ef9d21;
  --maxw:1180px;
  --r:18px;--r-sm:14px;--r-pill:999px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 1px 2px rgba(23,21,15,.04),0 1px 0 var(--line);
  --shadow-lg:0 22px 48px -28px rgba(23,21,15,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--ink);color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ===================== ONE TYPE SYSTEM ===================== */
/* every heading uses the heading font */
.display,.head,h1,h2,h3,h4,h5,h6,
.stat .num,.prog h3,.why li h4,.plan .price,.coach h4,.branch h3,.acc summary,.foot h5{
  font-family:var(--font-heading);font-weight:600;text-transform:uppercase;letter-spacing:.01em;line-height:1.1;color:var(--ink)}
.display{font-weight:700;line-height:1.04;font-size:var(--fs-h1)}
.head{font-size:var(--fs-h2);line-height:1.06}
/* every paragraph uses the body font (inherited; stated for clarity) */
p,li,.lede,.ans,.rev p,.coach p,.why li p,.branch .row span,.foot p,.hero .rating,.who b,.who small{font-family:var(--font-body)}
.lede{font-size:var(--fs-body)}
.section-head p{font-size:var(--fs-body)}
.who small,.rating{font-size:var(--fs-sm)}
/* optional label font — small caps utility text */
.eyebrow,.btn,.nav a.link,.hdr-phone,.pn,.tier,.badge,.lab,.role,.branch .tag,.dir,.more,.mobile-bar a{font-family:var(--font-label)}

.eyebrow{font-weight:600;letter-spacing:.26em;text-transform:uppercase;font-size:var(--fs-eyebrow);color:var(--primary)}
.kicker{display:inline-flex;align-items:center;gap:12px}
.kicker::before{content:"";width:32px;height:2px;background:var(--primary);display:block}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;box-sizing:border-box;border:2px solid transparent;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:1rem;padding:15px 34px;border-radius:0;transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s,border-color .25s}
.btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--primary:hover{background:#fff;color:var(--ink);border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn .ar{transition:transform .25s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}

.section{padding:100px 0;position:relative}
.section.mist{background:var(--mist)}
.section-head{max-width:720px;margin-bottom:54px}
.section-head h2{margin-top:14px}

.ph{position:relative;background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);border-radius:var(--r)}
.ph::after{content:"";position:absolute;inset:0;opacity:.7;background-image:linear-gradient(rgba(23,21,15,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(23,21,15,.04) 1px,transparent 1px);background-size:32px 32px}
.ph span{position:relative;z-index:1;font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.6)}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:90;padding:16px 0;transition:padding .3s var(--ease),background .3s,box-shadow .3s}
.hdr.scrolled{padding:9px 0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line),0 8px 24px -20px rgba(0,0,0,.4)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:66px;width:auto;object-fit:contain;transition:height .3s var(--ease)}
.hdr.scrolled .logo img{height:54px}
.nav{display:flex;align-items:center;gap:32px}
.nav a.link{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;color:var(--ink-soft);position:relative;padding:4px 0}
.nav a.link::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--primary);transition:width .25s var(--ease)}
.nav a.link:hover{color:var(--ink)}
.nav a.link:hover::after{width:100%}
.hdr-cta{display:flex;align-items:center;gap:14px}
.hdr-phone{font-weight:700;letter-spacing:.06em;font-size:1.2rem;color:var(--ink)}
.hdr-phone:hover{color:var(--primary)}
.burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:22px;position:relative}
.burger span{position:absolute;left:0;height:2px;width:100%;background:var(--ink);transition:.3s}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:10px}.burger span:nth-child(3){top:20px}

/* hero */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:132px 0 80px;overflow:hidden;color:#fff;background-image:linear-gradient(rgba(18,16,11,.72),rgba(18,16,11,.82)),url("https://thatrank.com/Neo-Spartan-Fitness/wp-content/uploads/2026/06/unnamed.webp");background-repeat:no-repeat,no-repeat;background-position:center center,center center;background-size:cover,cover;background-attachment:scroll,scroll}
.hero-inner{position:relative;z-index:2;max-width:840px;margin:0 auto}
.hero .eyebrow{color:var(--primary)}
.hero h2{font-size:var(--fs-h1);color:#fff;margin:20px 0 0;line-height:1.04}
.hero h2 .gold{color:var(--primary)}
.hero .lede{color:rgba(255,255,255,.84);max-width:620px;margin:24px auto 32px}
.hero .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero .btn--primary{background:#fff;color:var(--ink);border-color:transparent}
.hero .btn--primary:hover{background:var(--secondary);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.hero .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.hero .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.hero-rating{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:28px;color:rgba(255,255,255,.8);font-size:.95rem}
.hero-rating .stars{color:var(--star);letter-spacing:2px}
.hero-social{display:flex;gap:12px;justify-content:center;margin-top:28px}
.hero-social a{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.34);display:grid;place-items:center;color:#fff;transition:.25s}
.hero-social a:hover{border-color:var(--primary);color:var(--primary);background:rgba(255,255,255,.07);transform:translateY(-3px)}
.hero-social svg{width:19px;height:19px}
@media(max-width:560px){.hero{min-height:auto;padding:118px 0 64px}}
/* marquee */
.marquee{background:var(--ink);color:#fff;overflow:hidden;padding:14px 0}
.marquee .track{display:flex;width:max-content;animation:scroll 28s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee span{font-family:var(--font-heading);font-weight:600;text-transform:uppercase;font-size:1.05rem;letter-spacing:.04em;padding:0 26px;display:inline-flex;align-items:center;gap:26px;white-space:nowrap}
.marquee .dot{display:inline-flex;align-items:center;color:var(--primary)}
.marquee .dot img{width:24px;height:24px;display:block;object-fit:contain}
@keyframes scroll{to{transform:translateX(-50%)}}

/* stats */
.stats{background:var(--paper);border-bottom:1px solid var(--line)}
.stats .grid{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:50px 24px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .num{font-weight:700;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1}
.stat .num .u{color:var(--primary)}
.stat .lab{letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;color:var(--muted);margin-top:10px;font-weight:600}

/* programs */
.programs .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.prog{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:32px 30px 28px;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.prog::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--primary);transition:width .4s var(--ease)}
.prog:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.prog:hover::before{width:100%}
.prog .pn{color:var(--primary);font-weight:700;letter-spacing:.1em;font-size:.85rem;text-transform:uppercase}
.prog h3{font-weight:600;font-size:var(--fs-h3);margin:12px 0 10px;line-height:1.12}
.prog p{color:var(--ink-soft);font-size:var(--fs-body)}
.prog .more{margin-top:18px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;color:var(--ink-soft);display:inline-flex;gap:7px;align-items:center;transition:gap .25s,color .25s}
.prog:hover .more{color:var(--primary);gap:12px}
.prog.cta-card{background:var(--ink);border-color:var(--ink)}
.prog.cta-card .pn{color:var(--primary)}
.prog.cta-card h3{color:#fff}
.prog.cta-card p{color:rgba(255,255,255,.72)}
.prog.cta-card .more{color:var(--primary)}

/* why — choose us */
.whyx .grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.whyx-feats{display:grid;grid-template-columns:1fr 1fr;gap:36px 30px}
.feat{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.feat .ic{width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none;transition:transform .3s var(--ease),background .3s}
.feat .ic svg{width:22px;height:22px}
.feat:hover .ic{background:var(--primary);transform:translateY(-3px)}
.feat h4{font-family:var(--font-heading);font-weight:600;text-transform:uppercase;font-size:1.12rem;letter-spacing:.01em;color:var(--ink);line-height:1.2;margin-top:6px}
.feat p{color:var(--ink-soft);font-size:var(--fs-body);margin-top:9px;line-height:1.55}
.whyx-media{display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:repeat(2,196px);gap:18px}
.wx-img{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);display:block;transition:transform .4s var(--ease)}
.wx-img.a{grid-column:1;grid-row:1}
.wx-img.b{grid-column:1;grid-row:2}
.wx-img.tall{grid-column:2;grid-row:1 / span 2}
.wx-bg{position:absolute;inset:0;background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%);background-size:cover;background-position:center;transition:transform .6s var(--ease)}
.wx-img.b .wx-bg{background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%)}
.wx-img.tall .wx-bg{background-image:var(--img,none),linear-gradient(160deg,#160b03,#160b03 74%)}
.wx-img:hover{transform:translateY(-4px)}
.wx-img:hover .wx-bg{transform:scale(1.06)}
@media(max-width:980px){
  .whyx .grid{grid-template-columns:1fr;gap:42px}
  .whyx-media{grid-template-rows:repeat(2,184px);max-width:580px;margin:0 auto;width:100%}
}
@media(max-width:560px){
  .whyx-feats{grid-template-columns:1fr;gap:26px}
  .whyx-media{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,138px)}
}
/* plans */
.plans .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.plan{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:38px 32px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.plan .tier{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:700;font-size:.88rem}
.plan .tier-desc{color:var(--muted);font-size:.9rem;margin-top:6px}
.plan .price{font-family:var(--font-heading);font-weight:700;font-size:3.1rem;line-height:1;margin:18px 0 0;color:var(--ink);display:flex;align-items:flex-start;gap:2px}
.plan .price .cur{color:var(--primary);font-size:1.5rem;margin-top:5px}
.plan .price .per{align-self:flex-end;font-family:var(--font-body);font-weight:500;font-size:.95rem;color:var(--muted);text-transform:none;letter-spacing:0;margin:0 0 6px 5px}
.plan .pdiv{height:1px;background:var(--line);margin:24px 0}
.plan ul{list-style:none;display:grid;gap:13px;margin:0 0 30px}
.plan li{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;color:var(--ink-soft);font-size:.97rem}
.plan li .ck{width:21px;height:21px;border-radius:50%;background:rgba(239,157,33,.14);color:var(--primary);display:grid;place-items:center;flex:none;margin-top:1px}
.plan li .ck svg{width:12px;height:12px}
.plan .btn{margin-top:auto;justify-content:center;width:100%}
.plan .badge{position:absolute;top:18px;right:18px;background:var(--secondary);color:var(--ink);font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700;padding:5px 13px;border-radius:var(--r-pill)}
.plan.featured{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:var(--shadow-lg)}
.plan.featured .tier{color:var(--primary)}
.plan.featured .tier-desc{color:rgba(255,255,255,.6)}
.plan.featured .price{color:#fff}
.plan.featured .pdiv{background:rgba(255,255,255,.14)}
.plan.featured li{color:rgba(255,255,255,.82)}
.plan.featured li .ck{background:rgba(239,157,33,.22)}
.plan.featured .btn--primary{background:#fff;color:var(--ink);border-color:transparent}
.plan.featured .btn--primary:hover{background:var(--secondary);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
@media(min-width:981px){.plan.featured{transform:translateY(-12px)}.plan.featured:hover{transform:translateY(-18px)}}
@media(max-width:980px){.plans .grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}}
/* trainers */
.trainers .grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center}
.tm-copy .lede{color:var(--ink-soft);margin:20px 0 0;max-width:440px}
.tm-list{list-style:none;margin:24px 0 30px;display:grid;gap:14px}
.tm-list li{display:flex;align-items:center;gap:13px;font-weight:600;color:var(--ink);font-size:1.02rem}
.tm-list li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--primary);flex:none}
.tm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 22px}
.coach2{text-align:center}
.cav{position:relative;display:block;width:100%;max-width:152px;aspect-ratio:1/1;margin:0 auto 16px;border-radius:50%;overflow:hidden;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s}
.cav-bg{position:absolute;inset:0;background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%);background-size:cover;background-position:center;transition:transform .5s var(--ease)}
.coach2:nth-child(3n) .cav-bg{background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%)}
.coach2:nth-child(3n+1) .cav-bg{background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%)}
.coach2:hover .cav{transform:translateY(-4px);box-shadow:0 0 0 3px var(--primary),var(--shadow-lg)}
.coach2:hover .cav-bg{transform:scale(1.06)}
.cname{font-family:var(--font-heading);font-weight:600;text-transform:uppercase;font-size:1.05rem;letter-spacing:.01em;color:var(--ink)}
.crole{color:var(--muted);font-size:.9rem;margin-top:4px;letter-spacing:.03em}
@media(max-width:980px){.trainers .grid{grid-template-columns:1fr;gap:42px}.tm-grid{max-width:560px;margin:0 auto;width:100%}}
@media(max-width:560px){.tm-grid{grid-template-columns:repeat(2,1fr);gap:26px 16px}.cav{max-width:130px}}
/* reviews */
.rev-carousel{position:relative}
.rev-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 6px}
.rev-track::-webkit-scrollbar{display:none}
.rev{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.rev .stars{color:var(--star);letter-spacing:2px;font-size:.98rem}
.rev p{margin:14px 0 22px;color:var(--ink-soft);font-size:var(--fs-body);line-height:1.62;flex:1}
.rev .who{display:flex;align-items:center;gap:13px;margin-top:auto}
.rev .av{width:44px;height:44px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-family:var(--font-heading);font-weight:700;color:var(--primary);font-size:1.05rem;flex:none}
.rev .who-meta b{display:block;font-weight:600;font-size:1.02rem;color:var(--ink);transition:color .2s}
.rev .who-meta small{color:var(--muted);font-size:.8rem}
a.who:hover .who-meta b{color:var(--primary)}
.rev-ctrl{display:flex;gap:12px;justify-content:center;margin-top:36px}
.rev-arrow{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.rev-arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
.rev-arrow svg{width:20px;height:20px}
@media(max-width:980px){.rev{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:640px){.rev{flex-basis:86%}}
/* faq */
.faq .acc{max-width:940px;margin:0 auto;display:grid;gap:16px}
.acc details{background:var(--mist);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .3s,background .3s}
.acc details[open]{background:var(--paper);border-color:rgba(22,11,3,.12)}
.acc summary{list-style:none;cursor:pointer;padding:21px 24px;display:flex;justify-content:space-between;gap:18px;align-items:center;font-family:var(--font-body);font-weight:600;font-size:1.08rem;color:var(--ink);text-transform:none;letter-spacing:0;line-height:1.35}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--primary-deep)}
.acc .chev{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:var(--paper);border:1px solid var(--line);transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s}
.acc .chev svg{width:18px;height:18px}
.acc details[open] .chev{transform:rotate(180deg);background:var(--primary);border-color:var(--primary);color:var(--ink)}
.acc .ans{padding:0 24px 22px;color:var(--ink-soft);max-width:800px;line-height:1.62}
@media(max-width:560px){.acc summary{font-size:1rem;padding:18px 18px}.acc .ans{padding:0 18px 20px}}
/* cta band */
.cta-band{position:relative;text-align:center;padding:104px 0;overflow:hidden;color:#fff;background-image:linear-gradient(rgba(18,16,11,.82),rgba(18,16,11,.88)),url("https://thatrank.com/Neo-Spartan-Fitness/wp-content/uploads/2026/06/gym-in.jpg");background-repeat:no-repeat,no-repeat;background-position:center center,center center;background-size:cover,cover;background-attachment:scroll,scroll}
.cta-band .wrap{position:relative;z-index:1}
.cta-band .display{font-size:clamp(2.2rem,5.4vw,3.7rem);color:#fff}
.cta-band .gold{color:var(--primary)}
.cta-band p{color:rgba(255,255,255,.72);max-width:560px;margin:16px auto 30px}
.cta-band .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-band .btn--primary{background:#fff;color:var(--ink);border-color:transparent}
.cta-band .btn--primary:hover{background:var(--secondary);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.cta-band .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cta-band .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}

/* footer (light, with catchy overlay) */
footer{position:relative;background:#F4F2EA;color:var(--ink-soft);padding:74px 0 30px;overflow:hidden;border-top:1px solid var(--line)}
.foot-overlay{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(58% 48% at 90% 6%,rgba(239,157,33,.18),transparent 62%),
    radial-gradient(52% 60% at 4% 104%,rgba(251,251,7,.12),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='1.3' cy='1.3' r='1.3' fill='%23171510' fill-opacity='0.05'/%3E%3C/svg%3E")}
footer .wrap{position:relative;z-index:1}
.foot{display:grid;grid-template-columns:1.6fr 1.05fr .85fr 1.2fr;gap:40px}
.foot-col h5{font-family:var(--font-heading);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);font-size:1.22rem;margin-bottom:24px;position:relative;padding-bottom:12px}
.foot-col h5::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--primary)}
.foot-logo{height:88px;width:auto;object-fit:contain}
.foot-brand p{color:var(--ink-soft);font-size:var(--fs-body);line-height:1.62;max-width:340px;margin-top:18px}
.foot-phone{display:inline-flex;align-items:center;gap:14px;margin-top:24px}
.fp-ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--ink);flex:none;transition:transform .25s var(--ease)}
.foot-phone:hover .fp-ic{transform:translateY(-3px)}
.fp-ic svg{width:23px;height:23px}
.fp-txt b{font-family:var(--font-heading);font-weight:600;font-size:1.4rem;color:var(--ink);display:block;letter-spacing:.01em;line-height:1.1}
.fp-txt small{color:var(--muted);font-size:.82rem}
.hours{list-style:none;display:grid}
.hours li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.hours li:first-child{padding-top:0}
.hours li:last-child{border-bottom:0}
.hours .day{font-weight:600;color:var(--ink);font-size:.98rem}
.hours .time{color:var(--primary);font-weight:600;font-size:.95rem}
.fnav{list-style:none;display:grid;gap:2px}
.fnav a{display:inline-block;color:var(--ink-soft);font-size:.98rem;padding:7px 0;transition:color .2s}
.fnav a:hover{color:var(--ink)}
.cinfo{margin-bottom:20px}
.clabel{display:inline-block;font-family:var(--font-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-size:.85rem;margin-bottom:5px}
.cinfo p{margin-top:0;color:var(--ink-soft);font-size:var(--fs-body);max-width:290px;line-height:1.55}
.cinfo a:hover{color:var(--primary)}
.fsocial{display:flex;gap:12px;margin-top:8px}
.fsocial a{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--ink);background:rgba(255,255,255,.5);transition:.25s}
.fsocial a:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-3px)}
.fsocial svg{width:18px;height:18px}
.foot-bottom{position:relative;z-index:1;text-align:center;border-top:1px solid var(--line);margin-top:52px;padding-top:26px;color:var(--muted);font-size:.88rem}
.foot-bottom b{color:var(--ink);font-weight:600}
@media(max-width:980px){.foot{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:720px){.foot{grid-template-columns:1fr;gap:32px}footer{padding-bottom:96px}}
/* mobile bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:1fr 1.2fr;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -8px 24px -16px rgba(0,0,0,.3)}
.mobile-bar a{padding:14px 8px;text-align:center;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.86rem;display:flex;flex-direction:column;align-items:center;gap:4px}
.mobile-bar a svg{width:18px;height:18px}
.mobile-bar a.call{color:var(--ink);border-right:1px solid var(--line)}
.mobile-bar a.wa{color:var(--primary);border-left:1px solid var(--line);border-right:1px solid var(--line)}
.mobile-bar a.book{background:var(--ink);color:#fff}

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

@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .hero-media{max-width:440px}
  .why .grid,.loc .grid,.faq .grid{grid-template-columns:1fr;gap:36px}
  .programs .grid,.plans .grid,.trainers .grid,.reviews .grid{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  :root{--fs-body:1rem}
  .nav,.hdr-phone{display:none}
  .burger{display:block}
  .section{padding:70px 0}
  .stats .grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}
  .programs .grid,.plans .grid,.trainers .grid,.reviews .grid,.foot{grid-template-columns:1fr}
  .mobile-bar{display:grid}
  footer{padding-bottom:84px}
  .hero{padding-bottom:90px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* shared helpers */
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .kicker{justify-content:center}
.center{text-align:center}
.ig-link{color:var(--primary);font-weight:600}

/* ===== PROGRAMS BENTO ===== */
.progrid-wrap{position:relative;margin-bottom:8px}
.progrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:216px;grid-auto-flow:dense;gap:16px;transition:max-height .6s var(--ease)}
.progrid.collapsed{max-height:var(--collapse-h,688px);overflow:hidden}
.ptile{position:relative;border-radius:var(--r);overflow:hidden;display:block;box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s}
.ptile.t-tall{grid-row:span 2}
.ptile.t-wide{grid-column:span 2}
.ptile-bg{position:absolute;inset:0;background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%);background-size:cover;background-position:center;transition:transform .65s var(--ease)}
.ptile:nth-child(3n) .ptile-bg{background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%)}
.ptile:nth-child(4n) .ptile-bg{background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%)}
.ptile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.58) 100%);transition:background .4s}
.ptile-name{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#fff;font-family:var(--font-heading);font-weight:700;text-transform:uppercase;font-size:1.45rem;line-height:1.05;letter-spacing:.01em;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.ptile.t-tall .ptile-name,.ptile.t-wide .ptile-name{font-size:1.7rem}
.ptile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ptile:hover .ptile-bg{transform:scale(1.07)}
.ptile:hover::after{background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.72) 100%)}
.progrid-wrap::before{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--paper));z-index:4;pointer-events:none;border-radius:0 0 var(--r) var(--r);transition:opacity .4s}
.progrid-wrap.expanded::before{opacity:0}
.show-more{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);z-index:5;background:var(--ink);color:#fff;box-sizing:border-box;border:2px solid var(--ink);cursor:pointer;font-family:var(--font-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:1rem;padding:14px 34px;border-radius:0;box-shadow:var(--shadow-lg);transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s,opacity .3s}
.show-more:hover{background:#fff;color:var(--ink);border-color:var(--ink);transform:translateX(-50%) translateY(-2px);box-shadow:var(--shadow-lg)}
.progrid-wrap.expanded .show-more{opacity:0;pointer-events:none}

/* ===== INSTAGRAM VIDEO ===== */
.videos{background:var(--mist)}
.reels{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reels::-webkit-scrollbar{display:none}
.reel{position:relative;flex:0 0 auto;width:clamp(218px,74vw,268px);aspect-ratio:9/16;border-radius:var(--r);overflow:hidden;scroll-snap-align:center;box-shadow:var(--shadow);background:#160b03;display:block;transition:transform .4s var(--ease),box-shadow .4s}
.reel video,.reel iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;display:block}
.reel-bg{position:absolute;inset:0;background:linear-gradient(160deg,#160b03,#160b03 76%)}
.reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;color:#fff;transition:transform .35s var(--ease),background .35s}
.reel-play svg{width:24px;height:24px;margin-left:3px}
.reel:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.reel:hover .reel-play{transform:translate(-50%,-50%) scale(1.12);background:var(--secondary)}

@media(max-width:980px){
  .progrid{grid-template-columns:repeat(3,1fr);grid-auto-rows:190px;--collapse-h:608px}
}
@media(max-width:720px){
  .progrid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:12px;--collapse-h:474px}
  .ptile-name{font-size:1.15rem;left:16px;right:16px;bottom:14px}
  .ptile.t-tall .ptile-name,.ptile.t-wide .ptile-name{font-size:1.2rem}
}

/* overview (gym intro) */
.overview .grid{display:grid;grid-template-columns:1fr 1.05fr;gap:58px;align-items:center}
.ov-media{position:relative}
.ov-img{display:block;position:relative;aspect-ratio:5/4;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg)}
.ov-bg{position:absolute;inset:0;background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%);background-size:cover;background-position:center;transition:transform .6s var(--ease)}
.ov-media:hover .ov-bg{transform:scale(1.05)}
.ov-badge{position:absolute;left:-16px;bottom:26px;background:var(--paper);border-radius:14px;box-shadow:var(--shadow-lg);padding:14px 18px;display:flex;align-items:center;gap:12px;max-width:236px}
.ov-badge-g{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:none}
.ov-badge-g svg{width:24px;height:24px}
.ov-rating{display:flex;align-items:center;gap:7px}
.ov-rating b{font-family:var(--font-heading);font-weight:700;font-size:1.12rem;color:var(--ink);line-height:1}
.ov-stars{color:var(--star);font-size:.84rem;letter-spacing:1px}
.ov-badge small{color:var(--muted);font-size:.76rem;margin-top:3px;display:block}
.ov-copy h1 .gold{color:var(--primary)}
.ov-copy p{color:var(--ink-soft);margin-top:18px;max-width:520px}
.ov-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}
@media(max-width:980px){.overview .grid{grid-template-columns:1fr;gap:46px}.ov-media{max-width:540px}}
@media(max-width:560px){.ov-badge{left:12px;bottom:12px;padding:11px 14px;max-width:210px}}

/* header contrast over dark hero */
.nav a.link{color:rgba(255,255,255,.86)}
.nav a.link:hover{color:var(--primary)}
.hdr.scrolled .nav a.link{color:var(--ink-soft)}
.hdr.scrolled .nav a.link:hover{color:var(--primary)}
.hdr-phone{color:#fff}.hdr-phone:hover{color:var(--primary)}
.hdr.scrolled .hdr-phone{color:var(--ink)}
.burger span{background:#fff}
.hdr.scrolled .burger span{background:var(--ink)}
@media(max-width:720px){.nav a.link{color:var(--ink-soft)}}

/* programs carousel */
.prog-carousel{position:relative}
.prog-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px}
.prog-track::-webkit-scrollbar{display:none}
.pcard{position:relative;flex:0 0 clamp(238px,78vw,288px);aspect-ratio:3/4;scroll-snap-align:start;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:block;transition:transform .4s var(--ease),box-shadow .4s}
.pcard-bg{position:absolute;inset:0;background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%);background-size:cover;background-position:center;transition:transform .65s var(--ease)}
.pcard:nth-child(3n) .pcard-bg{background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%)}
.pcard:nth-child(4n) .pcard-bg{background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%)}
.pcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.62) 100%);transition:background .4s}
.pcard-name{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;color:#fff;font-family:var(--font-heading);font-weight:700;text-transform:uppercase;font-size:1.4rem;line-height:1.05;letter-spacing:.01em;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pcard:hover .pcard-bg{transform:scale(1.07)}
.pcard:hover::after{background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.72) 100%)}
.prog-ctrl{display:flex;gap:12px;justify-content:center;margin-top:34px}

/* instagram reel embeds in the carousel */
.reels .instagram-media{flex:0 0 auto!important;width:340px!important;min-width:326px!important;max-width:340px!important;margin:0!important;border-radius:16px!important;box-shadow:var(--shadow)!important;scroll-snap-align:center}
@media(max-width:560px){.reels .instagram-media{width:86vw!important;min-width:300px!important;max-width:340px!important}}

/* hero title — masked word reveal (transform animation) */
.anim-title .line{display:block}
.anim-title .w{display:inline-block;overflow:hidden;vertical-align:top;line-height:1.04;padding-bottom:.12em;margin-bottom:-.12em}
.anim-title .wi{display:inline-block;animation:titleRise .9s cubic-bezier(.2,.75,.25,1) both;animation-delay:var(--d,0s)}
@keyframes titleRise{from{transform:translateY(120%);filter:blur(7px);opacity:0}to{transform:translateY(0);filter:blur(0);opacity:1}}

/* contact + map */
.contact .grid{display:grid;grid-template-columns:.95fr 1.15fr;gap:48px;align-items:stretch}
.contact-info .lede{color:var(--ink-soft);margin-top:18px;max-width:430px}
.contact-rows{display:grid;gap:20px;margin:28px 0 30px}
.crow{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.crow .ci{width:42px;height:42px;border-radius:50%;background:var(--primary);color:var(--ink);display:grid;place-items:center;flex:none}
.crow .ci svg{width:20px;height:20px}
.crow .clabel{font-family:var(--font-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.78rem}
.crow p{margin-top:3px;color:var(--ink-soft);font-size:var(--fs-body);line-height:1.55}
.crow a:hover{color:var(--primary)}
.contact-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.map-col{display:flex;flex-direction:column;height:100%}
.map-chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:14px}
.map-chip{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:0;padding:9px 16px;font-family:var(--font-label);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;color:var(--ink);box-shadow:var(--shadow);transition:.2s}
.map-chip svg{width:15px;height:15px;color:currentColor}
.map-chip:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}
.map-frame{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:16/11;margin-top:auto;margin-bottom:auto;width:100%}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:980px){.contact .grid{grid-template-columns:1fr;gap:36px}.map-chips{justify-content:flex-start}.map-frame{aspect-ratio:16/12}}

/* gym-themed section overlay */
.tx{position:relative}
.tx::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(46% 38% at 94% 4%,rgba(239,157,33,.10),transparent 62%),radial-gradient(42% 46% at 3% 100%,rgba(251,251,7,.06),transparent 62%);background-repeat:no-repeat,no-repeat;background-position:center,center;background-size:auto,auto}
.tx > .wrap{position:relative;z-index:1}

/* contact chips — two colours */
.map-chip.c-gold{background:var(--primary);border-color:var(--primary);color:var(--ink)}
.map-chip.c-gold:hover{background:var(--primary-deep);border-color:var(--primary-deep);color:var(--ink);transform:translateY(-2px)}
.map-chip.c-rust{background:var(--ink);border-color:var(--ink);color:#fff}
.map-chip.c-rust:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-2px)}
.map-chip.c-gold svg,.map-chip.c-rust svg{color:#fff;width:15px;height:15px}

/* gallery — 1:1, gritty hover, no shadow */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gtile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:var(--r);transition-delay:var(--d,0s)}
.gt-bg{position:absolute;inset:0;background-image:var(--img,none),linear-gradient(150deg,#160b03,#160b03 72%);background-size:cover;background-position:center center;filter:grayscale(.78) contrast(1.16) brightness(.9);transition:transform .7s var(--ease),filter .55s var(--ease)}
.gtile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.62));transition:background .4s}
.gtile::before{content:"";position:absolute;inset:0;z-index:3;border:2px solid transparent;border-radius:var(--r);transition:border-color .35s;pointer-events:none}
.gt-ic{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.5);z-index:2;width:48px;height:48px;border-radius:50%;background:var(--primary);color:var(--ink);display:grid;place-items:center;opacity:0;transition:opacity .35s,transform .4s var(--ease)}
.gt-ic svg{width:22px;height:22px}
.gtile:hover .gt-bg{transform:scale(1.08);filter:grayscale(0) contrast(1.05) brightness(1.02) saturate(1.1)}
.gtile:hover::after{background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.18))}
.gtile:hover::before{border-color:var(--primary);border-width:3px}
.gtile:hover .gt-ic{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(max-width:980px){.gal-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.gal-grid{grid-template-columns:repeat(2,1fr);gap:10px}}

/* QUESTION CTA STRIP — full-width, short */
.qband{background:var(--primary)}
.qband .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-top:clamp(30px,4.6vw,46px);padding-bottom:clamp(30px,4.6vw,46px)}
.qband-txt{max-width:780px}
.qb-eyebrow{display:inline-flex;align-items:center;gap:14px;color:var(--ink);font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:700;margin-bottom:12px}
.qb-eyebrow::after{content:"";width:60px;height:2px;background:var(--ink);opacity:.45}
.qband h2{font-family:var(--font-heading);text-transform:uppercase;color:var(--ink);font-size:clamp(1.45rem,3.1vw,2.2rem);line-height:1.04;margin:0 0 10px}
.qband p{color:var(--ink);opacity:.82;font-size:var(--fs-body);line-height:1.55;max-width:640px;margin:0}
.qb-btn{flex:none;background:#fff;color:var(--ink);border-radius:0;padding:16px 34px}
.qb-btn:hover{background:var(--ink);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}
@media(max-width:760px){.qband .wrap{flex-direction:column;align-items:flex-start;gap:22px}.qb-btn{width:100%;justify-content:center}}

/* SIMPLE ENQUIRY FORM */
.formx .section-head{margin-bottom:30px}
.lead-form{max-width:620px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lf-input{width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:0;padding:14px 16px;transition:border-color .2s}
.lf-input::placeholder{color:var(--muted)}
.lf-input:focus{outline:none;border-color:var(--ink)}
.lf-area{resize:vertical;min-height:120px;font-family:var(--font-body)}
.lf-btn{align-self:flex-start}
.lf-note{text-align:center;color:var(--muted);font-size:.92rem;margin:4px 0 0}
@media(max-width:560px){.lf-row{grid-template-columns:1fr}.lf-btn{width:100%}}

/* SPLIT ENQUIRY: CTA + form card */
.fx-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.fx-cta .head{margin:0 0 14px}
.fx-cta p{color:var(--ink-soft);font-size:var(--fs-body);line-height:1.6;margin:0 0 22px;max-width:520px}
.fx-list{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:12px}
.fx-list li{display:flex;align-items:flex-start;gap:11px;color:var(--ink);font-size:1.02rem}
.fx-list li::before{content:"";flex:none;margin-top:.5em;width:8px;height:8px;border-radius:50%;background:var(--primary)}
.fx-actions{display:flex;gap:12px;flex-wrap:wrap}
.fx-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:var(--shadow-lg)}
.fx-card .lead-form{max-width:none;margin:0}
@media(max-width:860px){.fx-grid{grid-template-columns:1fr;gap:30px}.fx-card{padding:26px}}

.price-ask{font-family:var(--font-heading);font-size:1.5rem;color:var(--ink);line-height:1.1;letter-spacing:.01em}
.plan.featured .price-ask{color:#fff}


/* =========================================================
   MULTI-PAGE: inner-page banner + WP editor content styling
   ========================================================= */
.page-hero{background:var(--ink);color:#fff;padding:130px 0 54px;position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .eyebrow.kicker{color:var(--primary)}
.page-hero .head{color:#fff;margin:0}
.page-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(239,157,33,.20),transparent 70%)}

.entry-content{max-width:820px;margin:0 auto;font-family:var(--font-body);font-size:var(--fs-body);color:var(--ink);line-height:1.7}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{font-family:var(--font-heading);color:var(--ink);line-height:1.15;text-transform:uppercase;margin:1.6em 0 .5em}
.entry-content h2{font-size:var(--fs-h2)}
.entry-content h3{font-size:var(--fs-h3)}
.entry-content h4{font-size:var(--fs-h4)}
.entry-content p{margin:0 0 1.1em}
.entry-content a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.entry-content a:hover{color:var(--primary-deep)}
.entry-content ul,.entry-content ol{margin:0 0 1.2em 1.2em;padding:0}
.entry-content li{margin:.4em 0}
.entry-content img{max-width:100%;height:auto;border-radius:var(--r)}
.entry-content blockquote{margin:1.4em 0;padding:14px 22px;border-left:3px solid var(--primary);background:var(--mist)}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.entry-content table{width:100%;border-collapse:collapse;margin:0 0 1.2em}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.entry-content .wp-block-button__link,.entry-content .button{display:inline-block;background:var(--ink);color:#fff;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;font-weight:700;padding:14px 30px;border:2px solid var(--ink);border-radius:0;text-decoration:none;transition:.25s}
.entry-content .wp-block-button__link:hover,.entry-content .button:hover{background:#fff;color:var(--ink)}
