/* Self-hosted fonts. Google Fonts was render-blocking and could not be
   made async: LiteSpeed rewrites the <link> and strips media="print". */
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/archivo-black-400.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlow-condensed-500.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-400-600.woff2) format('woff2')}
/* ==========================================================================
   Muscle Time Fitness — v2 "Chapters"
   Vertical rail navigation · full-height numbered chapters · editorial grid
   ========================================================================== */

:root{
  --red:#FF2A18;
  --red-lt:#FF4A3D;
  --red-dk:#B3140A;
  --ink:#050505;
  --ink-2:#0C0C0E;
  --ink-3:#141417;
  --pap:#F4F1EA;          /* warm paper, used for inverted chapters */
  --tx:#F2F2F0;
  --tx-2:#9A9A9E;
  --tx-3:#5E5E64;
  --line:rgba(255,255,255,.13);
  --line-2:rgba(255,255,255,.22);
  --rail:92px;
  --head:'Archivo Black','Arial Black',sans-serif;
  --cond:'Barlow Condensed',Oswald,'Arial Narrow',sans-serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--tx);font-family:var(--body);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:clip;              /* NOT hidden: hidden would make body a scroll container */
  overscroll-behavior-y:none;
}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}

h1,h2,h3{margin:0;font-weight:400;line-height:1;text-transform:uppercase}
.mega{font-family:var(--head);letter-spacing:-.022em}
.cond{font-family:var(--cond);font-weight:700;letter-spacing:.01em}

/* ---------- fixed vertical rail ---------- */
.rail{
  position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:60;
  background:var(--ink-2);border-right:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:22px 0;
}
.rail__mark{
  width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:11px;
  background:var(--red);color:#fff;font-family:var(--head);font-size:1rem;letter-spacing:-.03em;
}
.rail__word{
  writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--cond);font-weight:700;
  letter-spacing:.26em;text-transform:uppercase;font-size:.7rem;color:var(--tx-3);
  white-space:nowrap;      /* was wrapping into two overlapping columns */
}
.rail__dots{display:flex;flex-direction:column;gap:14px;align-items:center}
.rail__dot{
  position:relative;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  font-family:var(--cond);font-weight:700;font-size:.78rem;color:var(--tx-3);
  transition:color .25s,background .25s;
}
.rail__dot::after{
  content:"";position:absolute;inset:0;border-radius:50%;border:1px solid transparent;
  transition:border-color .25s;
}
.rail__dot:hover{color:var(--tx)}
.rail__dot.is-on{color:#fff;background:var(--red)}
.rail__dot.is-on::after{border-color:rgba(255,42,24,.45);inset:-5px}
.rail__wa{
  width:42px;height:42px;border-radius:50%;background:#1FA851;display:grid;place-items:center;
  transition:transform .2s;
}
.rail__wa:hover{transform:scale(1.1)}
.rail__wa svg{width:22px;height:22px;fill:#fff}


/* ---------- location picker (sits above the WhatsApp button) ---------- */
.loc-wrap{position:relative;display:flex;flex-direction:column;align-items:center}
.loc{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg,var(--red-lt),var(--red-dk));border:0;color:#fff;
  box-shadow:0 0 0 1px rgba(255,42,24,.5), 0 8px 22px rgba(255,42,24,.42);
  transition:transform .2s,box-shadow .2s;
}
.loc::after{                    /* soft pulse so it reads as "find us" */
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px solid rgba(255,42,24,.45);animation:locPulse 2.6s ease-out infinite;
}
@keyframes locPulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.15);opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.loc::after{animation:none;opacity:.5}}
.loc:hover,.loc[aria-expanded="true"]{
  transform:scale(1.1);box-shadow:0 0 0 2px #fff, 0 10px 28px rgba(255,42,24,.6);
}
.loc svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.loc-sheet{
  position:absolute;left:calc(100% + 12px);bottom:0;z-index:80;width:max-content;min-width:210px;
  background:var(--ink-3);border:1px solid var(--line-2);border-radius:4px;
  box-shadow:0 18px 50px rgba(0,0,0,.65);padding:.55rem;display:grid;gap:.25rem;
}
.loc-sheet__t{
  margin:.2rem .55rem .45rem;font-family:var(--cond);font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;font-size:.68rem;color:var(--tx-3);
}
.loc-sheet a{
  display:grid;gap:.12rem;padding:.6rem .7rem;border-radius:3px;
  font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:.95rem;color:var(--tx);
  transition:background .18s,color .18s;
}
.loc-sheet a span{
  font-family:var(--body);font-weight:500;text-transform:none;letter-spacing:0;
  font-size:.76rem;color:var(--tx-3);
}
.loc-sheet a:hover{background:var(--red);color:#fff}
.loc-sheet a:hover span{color:rgba(255,255,255,.85)}

@media (max-width:720px){
  /* rail is a bottom bar on phones - open the sheet upward instead */
  .loc-sheet{left:auto;right:0;bottom:calc(100% + 12px);min-width:190px}
}

/* ---------- top bar (minimal) ---------- */
.top{
  position:fixed;top:0;left:var(--rail);right:0;height:74px;z-index:70;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(1.2rem,4vw,3rem);pointer-events:none;
  /* opaque backdrop: chapter tags scroll behind this, never through it */
  background:linear-gradient(180deg,rgba(5,5,5,.97) 62%,rgba(5,5,5,0));
}
.top>*{pointer-events:auto}
.top__meta{
  font-family:var(--cond);font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  font-size:.72rem;color:var(--tx-3);
}
.top__right{display:flex;align-items:center;gap:1rem}
.top__call{
  font-family:var(--cond);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  font-size:.78rem;color:var(--tx-2);transition:color .2s;
}
.top__call:hover{color:var(--red)}
.menu-btn{
  display:flex;align-items:center;gap:.6rem;font-family:var(--cond);font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;
  border:1px solid var(--line);padding:.7rem 1.1rem;border-radius:100px;
  background:rgba(10,10,12,.85);transition:border-color .2s,color .2s;
}
.menu-btn:hover{border-color:var(--red);color:var(--red)}
.menu-btn i{display:block;width:16px;height:9px;position:relative}
.menu-btn i::before,.menu-btn i::after{
  content:"";position:absolute;left:0;width:16px;height:1.5px;background:currentColor;transition:.25s;
}
.menu-btn i::before{top:0}
.menu-btn i::after{top:7px}
body.menu-open .menu-btn i::before{top:4px;transform:rotate(45deg)}
body.menu-open .menu-btn i::after{top:4px;transform:rotate(-45deg)}

/* ---------- full-screen overlay menu ---------- */
.menu{
  position:fixed;inset:0 0 0 var(--rail);z-index:58;background:var(--ink-2);
  display:grid;grid-template-columns:1.25fr .75fr;
  /* clear the fixed top bar so the first item never sits under it */
  padding-top:74px;
  /* the list can be taller than the screen: let the panel scroll */
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  clip-path:inset(0 0 100% 0);
  visibility:hidden;pointer-events:none;
  transition:clip-path .55s cubic-bezier(.76,0,.24,1),visibility 0s linear .55s;
}
body.menu-open .menu{
  clip-path:inset(0 0 0 0);visibility:visible;pointer-events:auto;
  transition:clip-path .55s cubic-bezier(.76,0,.24,1),visibility 0s;
}
.menu__list{align-self:safe center;padding:1.6rem clamp(1.5rem,6vw,5rem);display:grid;gap:.1rem}
.menu__list a{
  display:flex;align-items:baseline;gap:1.2rem;padding:.42rem 0;
  font-family:var(--head);font-size:clamp(1.45rem,3.4vw,2.6rem);letter-spacing:-.02em;
  text-transform:uppercase;color:var(--tx-3);transition:color .25s,transform .25s;
}
.menu__list a span{font-family:var(--cond);font-size:.8rem;letter-spacing:.2em;color:var(--red)}
.menu__list a:hover{color:#fff;transform:translateX(14px)}
.menu__side{
  border-left:1px solid var(--line);padding:clamp(2rem,6vw,4rem);align-self:safe center;
  font-size:.95rem;color:var(--tx-2);
}
.menu__side h4{
  font-family:var(--cond);font-weight:700;letter-spacing:.2em;font-size:.74rem;
  color:var(--tx-3);margin:0 0 .9rem;text-transform:uppercase;
}
.menu__side p{margin:0 0 1.8rem;line-height:1.65}
.menu__side strong{display:block;color:#fff;font-weight:600}

/* ---------- chapter shell ---------- */
.stage{margin-left:var(--rail)}
.ch{
  position:relative;min-height:100vh;min-height:100svh;
  padding:clamp(5.6rem,10vh,7rem) clamp(1.4rem,5vw,4.5rem) clamp(3.2rem,6vh,5rem);
  display:flex;flex-direction:column;justify-content:center;
  border-bottom:1px solid var(--line);overflow:hidden;
}
.ch--pap{background:var(--pap);color:var(--ink);border-bottom-color:rgba(0,0,0,.12)}
.ch--ink3{background:var(--ink-3)}
.ch__tag{
  /* in normal flow: as an absolute element it overlapped headings and controls
     whenever a chapter was shorter than the viewport */
  margin:0 0 1.15rem;
  display:flex;align-items:center;gap:.85rem;
  font-family:var(--cond);font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  font-size:.72rem;color:var(--tx-3);
}
.ch--pap .ch__tag{color:rgba(0,0,0,.45)}
.ch__tag b{color:var(--red);font-weight:700}
.ch__tag::after{content:"";width:clamp(30px,6vw,72px);height:1px;background:currentColor;opacity:.4}

/* ---------- 01 hero ---------- */
.hero{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}
.hero__type{min-width:0}
.hero__type h1{font-size:clamp(2.6rem,6.2vw,5.4rem);max-width:14ch}
.hero__type h1 span{display:block}
.hero__type h1 .out{
  color:transparent;-webkit-text-stroke:2px var(--red);text-stroke:2px var(--red);
}
.hero__lede{margin:1.4rem 0 0;max-width:52ch;color:var(--tx-2);font-size:clamp(1rem,1.2vw,1.08rem)}
.hero__acts{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.9rem}
.hero__side{
  writing-mode:vertical-rl;font-family:var(--cond);font-weight:700;letter-spacing:.4em;
  text-transform:uppercase;font-size:.8rem;color:var(--tx-3);padding-bottom:.5rem;
}
.hero__strip{
  margin-top:clamp(1.8rem,4vh,3rem);display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
}
.hero__strip div{padding:1.4rem 1.2rem 0;border-right:1px solid var(--line)}
.hero__strip div:last-child{border-right:0}
.hero__strip b{
  display:block;font-family:var(--head);font-size:clamp(1.5rem,3vw,2.4rem);
  line-height:1;color:#fff;letter-spacing:-.02em;white-space:nowrap;
}
.hero__strip span{
  display:block;margin-top:.5rem;font-family:var(--cond);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;color:var(--tx-3);
}
.slash{
  position:absolute;right:-14%;top:-22%;width:62%;height:150%;pointer-events:none;
  background:linear-gradient(200deg,rgba(255,42,24,.5),rgba(255,42,24,0) 62%);
  transform:skewX(-13deg);filter:blur(38px);
}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;font-family:var(--cond);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;
  padding:1.02rem 1.9rem;border:1px solid transparent;border-radius:2px;
  transition:transform .2s,background .2s,color .2s,border-color .2s;
}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
.btn--wire{border-color:var(--line);color:var(--tx)}
.btn--wire:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}
.ch--pap .btn--wire{border-color:rgba(0,0,0,.25);color:var(--ink)}
.ch--pap .btn--wire:hover{border-color:var(--red);color:var(--red)}
.btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4}

.st{font-style:normal;font-size:.42em;vertical-align:.55em;margin-left:.12em;
  font-family:var(--body);color:var(--red)}


/* ---------- real photography layers (from the WP media library) ---------- */
.rail__mark img{width:30px;height:30px;object-fit:contain;display:block}

.hero__shot{
  position:absolute;right:0;top:0;bottom:0;width:52%;z-index:0;pointer-events:none;
  background:url('https://muscletime.in/wp-content/uploads/2026/09/mt-real-strength-floor.jpg') center right/cover no-repeat;
  opacity:.38;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 55%);
}
/* scrim so headline, buttons and the stat strip stay legible over the photo */
.ch--hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,5,5,.94) 16%,rgba(5,5,5,.55) 58%,rgba(5,5,5,.30));
}
/* .ch__tag is already absolutely positioned - only raise it, never re-position it */
.ch--hero>.ch__tag{z-index:2}
.ch--hero>.hero,.ch--hero>.hero__strip{position:relative;z-index:2}

/* chapters that sit on a photograph */
.ch--shot{position:relative;isolation:isolate}
.ch--shot::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-size:cover;background-position:center;
  transform:translateZ(0);   /* own layer: avoids repaint on every scroll frame */
}
.ch--shot::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(5,5,5,.97) 18%,rgba(5,5,5,.86) 62%,rgba(5,5,5,.95));
}
.ch--shot::before{background-image:url('https://muscletime.in/wp-content/uploads/2026/08/mt-real-equipment-rack.jpg')}


.pick__panel{
  background-image:
    linear-gradient(150deg,rgba(20,20,23,.94),rgba(12,12,14,.97)),
    url('https://muscletime.in/wp-content/uploads/2026/08/mt-real-equipment-rack.jpg');
  background-size:cover;background-position:center;
}

/* ---------- 02 statement ---------- */
.say{max-width:30ch}
.say h2{font-size:clamp(1.9rem,4.2vw,3.9rem)}
.say h2 em{font-style:normal;color:var(--red)}
.say__foot{
  margin-top:clamp(1.8rem,4vh,2.6rem);display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.4rem,3vw,3rem);max-width:1000px;
}
.say__foot p{margin:0;font-size:.98rem;color:rgba(0,0,0,.62);padding-top:1rem;
  border-top:2px solid var(--red)}
.band{
  position:absolute;left:0;right:0;bottom:0;overflow:hidden;padding:.85rem 0;
  background:var(--ink);color:var(--pap);
}
.band__t{display:flex;width:max-content;animation:roll 32s linear infinite}
.band__t span{
  font-family:var(--head);font-size:1.15rem;letter-spacing:-.01em;white-space:nowrap;
  display:flex;align-items:center;gap:2.4rem;padding-right:2.4rem;text-transform:uppercase;
}
.band__t span::after{content:"";width:7px;height:7px;background:var(--red);border-radius:50%}
@keyframes roll{to{transform:translateX(-50%)}}

/* ---------- 03 program selector ---------- */
.pick{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.6rem,4vw,4rem);align-items:stretch}
.pick__list{display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--line)}
.pick__item{
  display:flex;align-items:center;gap:1.1rem;width:100%;text-align:left;
  padding:clamp(.85rem,2vh,1.35rem) .4rem;border-bottom:1px solid var(--line);
  font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.05rem,2.1vw,1.55rem);color:var(--tx-3);letter-spacing:.01em;
  transition:color .22s,padding-left .22s;position:relative;
}
.pick__item::before{
  content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--red);
  transform:translateY(-50%);transition:width .28s cubic-bezier(.76,0,.24,1);
}
.pick__item i{font-style:normal;font-size:.72rem;color:var(--red);letter-spacing:.1em;width:1.6rem;flex:none}
.pick__item:hover{color:var(--tx-2)}
.pick__item.is-on{color:#fff;padding-left:2.6rem}
.pick__item.is-on::before{width:1.9rem}
.pick__panel{
  border:1px solid var(--line);padding:clamp(1.6rem,3.4vw,2.8rem);
  display:flex;flex-direction:column;justify-content:center;position:relative;
  background:linear-gradient(150deg,rgba(255,255,255,.035),transparent 60%);
  min-height:clamp(320px,48vh,460px);
}
.pick__panel::before{
  content:attr(data-n);position:absolute;top:clamp(.6rem,2vw,1.4rem);right:clamp(1rem,2.6vw,2rem);
  font-family:var(--head);font-size:clamp(3.4rem,8vw,7rem);line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1);
}
.pick__panel h3{font-family:var(--head);font-size:clamp(1.5rem,3vw,2.3rem);margin-bottom:1rem;letter-spacing:-.02em}
.pick__panel p{color:var(--tx-2);margin:0 0 1.5rem;max-width:52ch}
.pick__panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.pick__panel li{display:flex;gap:.75rem;color:var(--tx-2);font-size:.96rem}
.pick__panel li::before{content:"—";color:var(--red);flex:none}
.fade{animation:fade .38s ease}
@keyframes fade{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

/* ---------- 04 figures ---------- */
.figs{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2.4vw,2rem);align-items:end}
.fig{border-top:2px solid var(--red);padding-top:1.1rem}
.fig:nth-child(1){grid-column:1/span 5}
.fig:nth-child(2){grid-column:7/span 3}
.fig:nth-child(3){grid-column:1/span 3;margin-top:clamp(1.4rem,4vh,3rem)}
.fig:nth-child(4){grid-column:5/span 6;margin-top:clamp(1.4rem,4vh,3rem)}
.fig b{display:block;font-family:var(--head);font-size:clamp(2.2rem,5.6vw,4.6rem);
  line-height:.88;letter-spacing:-.035em;color:#fff;white-space:nowrap}
.fig span{display:block;margin-top:.7rem;font-family:var(--cond);font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;font-size:.74rem;color:var(--tx-3)}

/* ---------- 05 plan switcher ---------- */
.plan__tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.8rem 0 clamp(1.4rem,3vh,2rem)}
.plan__tab{
  font-family:var(--cond);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  font-size:.8rem;padding:.85rem 1.5rem;border:1px solid var(--line);border-radius:2px;
  color:var(--tx-3);transition:.22s;
}
.plan__tab:hover{color:var(--tx);border-color:var(--tx-3)}
.plan__tab.is-on{background:var(--red);border-color:var(--red);color:#fff}
.slab{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.6rem,3.4vw,3.2rem);
  border:1px solid var(--line);border-radius:6px;padding:clamp(1.6rem,3vw,2.6rem);align-items:center}
.slab__price{font-family:var(--head);font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:.9;
  letter-spacing:-.04em;color:#fff}
.slab__price sup{font-size:.3em;vertical-align:.9em;margin-right:.12em;color:var(--tx-2)}
.slab__per{font-family:var(--cond);font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  font-size:.76rem;color:var(--tx-3);margin-top:.9rem}
.slab__name{font-family:var(--cond);font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  font-size:.78rem;color:var(--red);margin-bottom:.9rem}
.slab ul{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.7rem}
.slab li{display:flex;gap:.8rem;color:var(--tx-2);font-size:.97rem}
.slab li::before{content:"—";color:var(--red);flex:none}
.plan__note{margin-top:1.4rem;font-size:.86rem;color:var(--tx-3);max-width:70ch}

/* ---------- 06 branches ---------- */
.br__tabs{display:flex;gap:.5rem;margin-bottom:clamp(1.5rem,3.5vh,2.4rem);flex-wrap:wrap}
.br__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.6rem,4vw,4rem);align-items:center}
.br__name{font-family:var(--head);font-size:clamp(1.9rem,4vw,3.2rem);letter-spacing:-.03em;
  line-height:1;margin-bottom:1.1rem}
.br__addr{font-style:normal;color:var(--tx-2);max-width:40ch;margin-bottom:1.5rem;font-size:1rem}
.br__rating{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--cond);font-weight:700;
  letter-spacing:.1em;font-size:.82rem;color:var(--red);border:1px solid rgba(255,42,24,.4);
  padding:.45rem .9rem;border-radius:2px;margin-bottom:1.3rem}
.br__meta{border-left:2px solid var(--red);padding-left:1.5rem;display:grid;gap:1.2rem}
.br__meta h4{margin:0 0 .3rem;font-family:var(--cond);font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;font-size:.72rem;color:var(--tx-3)}
.br__meta p{margin:0;color:var(--tx)}
.br__acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}

/* ---------- 07 contact ---------- */
.ct{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.8rem,4vw,3.6rem);align-items:start}
.ct h2{font-family:var(--head);font-size:clamp(1.8rem,3.8vw,3.2rem);letter-spacing:-.03em;line-height:1}
.ct__note{color:var(--tx-2);margin:1.4rem 0 0;max-width:40ch}
.form{display:grid;gap:1.15rem;background:linear-gradient(165deg,var(--s2,rgba(255,255,255,.03)),transparent);
  border:1px solid var(--line);border-radius:6px;padding:clamp(1.3rem,2.6vw,2rem)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
.fld{display:grid;gap:.4rem}
.fld label{font-family:var(--cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-size:.76rem;color:var(--tx-2)}
.fld input,.fld select,.fld textarea{
  font:inherit;font-size:1rem;padding:.95rem 1.05rem;color:var(--tx);width:100%;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line-2);border-radius:4px;
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.fld input:hover,.fld select:hover,.fld textarea:hover{border-color:var(--tx-3)}
.fld textarea{resize:vertical;min-height:92px}
.fld select{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A9A9E' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .4rem center;background-size:17px;padding-right:2.2rem}
.fld select option{background:var(--ink-3);color:var(--tx)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--tx-3)}
.fld input:focus,.fld select:focus,.fld textarea:focus{
  outline:none;border-color:var(--red);background:rgba(255,42,24,.07);
  box-shadow:0 0 0 3px rgba(255,42,24,.18);
}
.fld input::placeholder,.fld textarea::placeholder{color:var(--tx-3);opacity:1}
.form__ok{border-left:2px solid var(--red);padding:.85rem 1rem;background:rgba(255,42,24,.08);
  font-size:.94rem}
[hidden]{display:none !important}

/* ---------- footer ---------- */
.ftr{margin-left:var(--rail);background:var(--ink-2);border-top:1px solid var(--line);
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.4rem,5vw,4.5rem);
  display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;align-items:center;
  font-family:var(--cond);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  font-size:.74rem;color:var(--tx-3);
}
.ftr a:hover{color:var(--red)}
.ftr__links{display:flex;flex-wrap:wrap;gap:1.4rem}



/* ---------- imagery: photo cards, shot rows, gallery ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2rem}
.pcard{
  position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--line);
  aspect-ratio:4/3;isolation:isolate;background:var(--ink-3);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s;
}
.pcard img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.15) brightness(.82);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s;
}
.pcard::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(5,5,5,.94));
}
.pcard:hover{transform:translateY(-5px);border-color:rgba(255,42,24,.5)}
.pcard:hover img{transform:scale(1.06);filter:grayscale(0) brightness(.95)}
.pcard__t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.2rem 1.3rem}
.pcard__t h3{font-family:var(--head);font-size:clamp(1.05rem,1.7vw,1.35rem);
  letter-spacing:-.01em;color:#fff;margin:0 0 .3rem}
.pcard__t p{margin:0;font-size:.88rem;color:var(--tx-2);line-height:1.5}

/* small photo rows */
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}
.shots--2{grid-template-columns:repeat(2,1fr);max-width:760px}
.shots figure{margin:0;border-radius:4px;overflow:hidden;border:1px solid rgba(0,0,0,.14);
  aspect-ratio:4/3;background:#ddd}
.ch--shot .shots figure,.ch--ink3 .shots figure{border-color:var(--line);background:var(--ink-3)}
.shots img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.shots figure:hover img{transform:scale(1.05)}
.shots--2 figure{aspect-ratio:1/1}

/* gallery */
.ch--gal{min-height:auto}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:.9rem;margin-top:2rem}
.gal figure{margin:0;border-radius:4px;overflow:hidden;border:1px solid var(--line);
  aspect-ratio:1/1;background:var(--ink-3)}
.gal figure:nth-child(1),.gal figure:nth-child(6){grid-row:span 2;aspect-ratio:1/2.06}
.gal img{width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(.3) brightness(.8);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s}
.gal figure:hover img{transform:scale(1.06);filter:grayscale(0) brightness(1)}

@media (max-width:1080px){
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .gal{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .pgrid{grid-template-columns:1fr}
  .pcard{aspect-ratio:16/10}
  .shots{grid-template-columns:repeat(2,1fr);gap:.7rem}
  .shots figure:nth-child(3){display:none}
  .gal{grid-template-columns:repeat(2,1fr);gap:.6rem}
  .gal figure:nth-child(1),.gal figure:nth-child(6){grid-row:span 1;aspect-ratio:1/1}
}


/* LiteSpeed swaps not-yet-loaded images for a 1x1 base64 GIF; stretched across a
   card that reads as a grey block. Hide the placeholder so the dark card shows
   through until the real photo arrives, then fade it in. */
.pcard img[src^="data:"],.gal img[src^="data:"],.shots img[src^="data:"]{opacity:0}
.pcard img,.gal img,.shots img{transition:opacity .4s ease,transform .55s cubic-bezier(.2,.8,.2,1),filter .35s}



/* Inner pages stack a short header above one or two chapters. Forcing every
   chapter to a full viewport height left large dead gaps, so only the
   single-page home keeps that behaviour. */
body:not(.home) .stage .ch{min-height:auto}
body:not(.home) .stage .ch--head{padding-bottom:0}
body:not(.home) .stage .ch + .ch{padding-top:clamp(2rem,5vh,3.4rem)}


/* ---------- offer posters (wp-admin > Offer Posters) ---------- */
.posters-wrap{margin-top:clamp(2rem,4vh,3rem)}
.posters-h{
  font-family:var(--cond);font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  font-size:.8rem;color:var(--red);margin:0 0 1rem;display:flex;align-items:center;gap:.85rem;
}
.posters-h::after{content:"";flex:1;max-width:120px;height:1px;background:var(--line-2)}
.posters{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:820px}
.poster{margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;
  background:var(--ink-3);transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s}
.poster:hover{transform:translateY(-4px);border-color:rgba(255,42,24,.45)}
.poster img{width:100%;height:auto;display:block}
.poster figcaption{
  padding:.7rem .9rem;font-family:var(--cond);font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;font-size:.72rem;color:var(--tx-3);border-top:1px solid var(--line);
}
@media (max-width:640px){ .posters{grid-template-columns:1fr;max-width:420px} }

/* ---------- offer cards (managed from wp-admin > Offers) ---------- */
.ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.8rem}
.ocard{
  display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;
  background:linear-gradient(165deg,var(--ink-3),var(--ink-2));overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s;
}
.ocard:hover{transform:translateY(-5px);border-color:rgba(255,42,24,.45);
  box-shadow:0 18px 44px rgba(0,0,0,.5)}
.ocard__img{aspect-ratio:16/10;overflow:hidden;background:var(--ink-3);flex:none}
.ocard__img img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.ocard:hover .ocard__img img{transform:scale(1.05)}
.ocard__b{padding:1.3rem 1.35rem 1.5rem}
.ocard__b h3{font-family:var(--head);font-size:clamp(1.05rem,1.6vw,1.3rem);
  letter-spacing:-.01em;color:#fff;margin:0 0 .5rem}
.ocard__b p{margin:0;color:var(--tx-2);font-size:.94rem;line-height:1.65}
.ocard__note{margin-top:1.6rem;font-size:.86rem;color:var(--tx-3)}
.ocard__empty{margin-top:1.6rem;color:var(--tx-3);border:1px dashed var(--line-2);
  padding:1.2rem;border-radius:6px}
.ocard__empty strong{color:var(--tx)}
.ch--offers{min-height:auto}

@media (max-width:1080px){ .ogrid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .ogrid{grid-template-columns:1fr} }

/* ---------- multi-page: primary nav, doc pages, FAQ ---------- */
.top__brand{
  font-family:var(--head);font-size:1.15rem;letter-spacing:-.01em;text-transform:uppercase;color:#fff;
}
.top__brand em{font-style:normal;color:var(--red)}
.pnav{display:flex;gap:1.5rem;align-items:center}
.pnav a{
  font-family:var(--cond);font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  font-size:.82rem;color:var(--tx-3);padding:.3rem 0;position:relative;transition:color .2s;
}
.pnav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--red);transition:width .24s cubic-bezier(.2,.8,.2,1)}
.pnav a:hover{color:var(--tx)}
.pnav a:hover::after,.pnav a[aria-current="page"]::after{width:100%}
.pnav a[aria-current="page"]{color:#fff}

.ch--head{min-height:auto;padding-bottom:0;border-bottom:0;justify-content:flex-start}
/* the page-header block is short, so the tag must sit in normal flow -
   left absolute it collided with the H1 */
.ch--head .ch__tag{margin:0 0 1rem}
.ch--head h1{font-size:clamp(1.9rem,4vw,3.4rem);max-width:20ch}
.ch--head .hero__lede{margin-top:1.2rem}

/* legal / long-form documents */
.ch--doc{min-height:auto}
.doc{max-width:70ch;color:var(--tx-2);font-size:1rem;line-height:1.75}
.doc h2{font-family:var(--head);font-size:clamp(1.6rem,3.4vw,2.4rem);color:#fff;
  margin:0 0 1.2rem;letter-spacing:-.02em}
.doc h3{font-family:var(--cond);font-weight:700;font-size:1.12rem;letter-spacing:.06em;
  color:#fff;margin:2.2rem 0 .7rem;text-transform:uppercase}
.doc p{margin:0 0 1rem}
.doc ul{margin:0 0 1.2rem;padding-left:1.1rem;display:grid;gap:.55rem}
.doc li{padding-left:.2rem}
.doc li::marker{color:var(--red)}
.doc a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.doc strong{color:var(--tx)}

/* FAQ (mirrors the FAQPage schema) */
.ch--faq{min-height:auto}
.faqs{display:grid;gap:.7rem;max-width:60rem}
.faq{border:1px solid var(--line);border-radius:3px;background:var(--ink-3);overflow:hidden}
.faq[open]{border-color:rgba(255,42,24,.45)}
.faq summary{
  cursor:pointer;list-style:none;padding:1.15rem 1.4rem;font-family:var(--cond);font-weight:700;
  font-size:1.02rem;letter-spacing:.02em;color:var(--tx);display:flex;justify-content:space-between;
  gap:1.2rem;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--head);font-size:1.3rem;color:var(--red);
  line-height:1;transition:transform .25s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq__a{padding:0 1.4rem 1.25rem;color:var(--tx-2);font-size:.97rem;line-height:1.7}
.faq__a p{margin:0}

/* full footer */
.ftr--full{display:block;padding:clamp(2.6rem,5vw,4rem) clamp(1.4rem,5vw,4.5rem) 0;
  text-transform:none;letter-spacing:0;font-family:var(--body);font-size:.94rem}
.ftr__cols{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:2.4rem;padding-bottom:2.6rem}
.ftr__cols h4{font-family:var(--cond);font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  font-size:.74rem;color:#fff;margin:0 0 1rem}
.ftr__cols p{margin:0;color:var(--tx-3);line-height:1.7}
.ftr__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ftr__cols a{color:var(--tx-2);transition:color .18s}
.ftr__cols a:hover{color:var(--red)}
.ftr--full .ftr__bar{border-top:1px solid var(--line);padding:1.4rem 0;display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:1rem;color:var(--tx-3);font-size:.85rem}

@media (max-width:1080px){
  .pnav{display:none}
  .ftr__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .top__brand{font-size:1rem}
  .ftr__cols{grid-template-columns:1fr;gap:1.8rem}
  .ftr--full{margin-bottom:62px}
}

/* ---------- reveal ---------- */
.rv{opacity:1}
html.js .rv{opacity:0;transform:translateY(20px);
  transition:opacity .75s cubic-bezier(.22,.8,.24,1),transform .75s cubic-bezier(.22,.8,.24,1)}
html.js .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .band__t{animation:none}
  html.js .rv{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms !important}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  /* photo recedes so the text column owns the screen */
  .hero__shot{width:78%;opacity:.20}
  .ch--hero::after{background:linear-gradient(90deg,rgba(5,5,5,.95) 30%,rgba(5,5,5,.80) 70%,rgba(5,5,5,.7))}
  .hero{grid-template-columns:1fr}
  .hero__side{display:none}
  .pick,.slab,.br__grid,.ct{grid-template-columns:1fr}
  .pick__panel{min-height:auto}
  .menu{grid-template-columns:1fr}
  .menu__side{display:none}
  .figs{grid-template-columns:repeat(6,1fr)}
  .fig:nth-child(1),.fig:nth-child(2),.fig:nth-child(3),.fig:nth-child(4){grid-column:auto/span 3;margin-top:0}
}
@media (max-width:720px){
  h1,h2,h3{line-height:1.06}
  .hero__shot{opacity:.16}
  .ch--hero::after{background:linear-gradient(180deg,rgba(5,5,5,.9),rgba(5,5,5,.82))}
  :root{--rail:0px}
  body{font-size:16px}
  .rail{
    top:auto;left:0;right:0;bottom:0;width:100%;height:62px;flex-direction:row;
    border-right:0;border-top:1px solid var(--line);
    padding:0 .85rem;justify-content:space-between;gap:.6rem;
  }
  /* pin and WhatsApp were touching at the right edge */
  .rail .loc-wrap{margin-left:auto}
  .rail__wa{margin-left:.15rem}
  .rail__word{display:none}
  .rail__dots{flex-direction:row;gap:4px}
  .rail__dot{width:30px;height:30px;font-size:.7rem}
  .rail__mark{width:38px;height:38px}
  .stage,.ftr{margin-left:0}
  .stage{padding-bottom:62px}
  .menu{inset:0 0 62px 0;grid-template-columns:1fr;padding-top:64px}
  .top{left:0;height:64px;background:linear-gradient(180deg,rgba(5,5,5,.95),transparent)}
  .top__meta,.top__call{display:none}
  .ch{padding-top:5.5rem}
  .hero__strip{grid-template-columns:repeat(2,1fr)}
  .hero__strip div{border-bottom:1px solid var(--line);padding-bottom:1rem}
  .say__foot{grid-template-columns:1fr;gap:1rem}
  .figs{grid-template-columns:repeat(2,1fr)}
  .f2{grid-template-columns:1fr}
  .ftr{flex-direction:column;text-align:center;margin-bottom:62px}
}

/* ---------- phones: rail bottom-bar overflow fix ----------
   375px of bar was being asked to hold 437px of content, which pushed the
   location and WhatsApp buttons off the right edge. Navigation lives in the
   menu on phones, so the bar keeps only what people tap. */
@media (max-width:560px){
  .rail__dots{display:none}
  .rail{padding:0 1rem;gap:.75rem;justify-content:space-between}
  .rail .loc-wrap{margin-left:auto}
  .loc{width:44px;height:44px;flex:none}
  .rail__wa{width:44px;height:44px;flex:none;margin-left:0}
  .rail__wa svg{width:24px;height:24px}
}


/* ==========================================================================
   v1.5.6 — mobile-first pass (most visitors are on phones)
   Measured at 320/360/375/390/414px: no horizontal overflow, but tap targets
   under 40px, 11-12px labels, full-viewport chapters leaving empty screens,
   and content scrolling visibly behind the logo.
   ========================================================================== */

/* tablets + desktop rail: chapter dots were 34px, below a comfortable tap size */
.rail__dot{width:40px;height:40px}
.rail__dots{gap:10px}

@media (max-width:720px){
  /* chapters size to their content; only the opening hero fills the screen */
  .ch{min-height:auto;padding:calc(64px + 1.9rem) 1.25rem 2.6rem}
  .ch--hero{min-height:calc(100svh - 62px - env(safe-area-inset-bottom));padding-bottom:2rem}
  body:not(.home) .stage .ch + .ch{padding-top:2.2rem}
  /* the scrolling word band is pinned to the chapter bottom - keep room for it */
  .ch:has(> .band){padding-bottom:calc(2.6rem + 64px)}
  .ch--head{padding-bottom:0}

  /* solid header so text never shows through the logo while scrolling */
  .top{
    height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1.1rem 0;
    background:rgba(5,5,5,.97);border-bottom:1px solid var(--line);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  }
  .top__brand{display:inline-flex;align-items:center;min-height:44px;font-size:1.05rem}
  .menu-btn{min-height:44px;padding:.6rem 1rem}
  .menu{padding-top:calc(64px + env(safe-area-inset-top))}
  .menu__list a{color:var(--tx-2);padding:.55rem 0;min-height:48px}
  .menu__list a[aria-current="page"]{color:#fff}

  /* bottom action bar clears the iPhone home indicator */
  .rail{height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .stage{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .ftr--full,.ftr{margin-bottom:calc(62px + env(safe-area-inset-bottom))}
  .menu{bottom:calc(62px + env(safe-area-inset-bottom))}
  .rail__mark{width:44px;height:44px}

  /* thumb-friendly calls to action */
  .hero__acts,.br__acts{display:grid;grid-template-columns:1fr;gap:.75rem}
  .hero__acts .btn,.br__acts .btn,.slab .btn,.form .btn{width:100%;justify-content:center;min-height:52px}
  .form .btn{justify-self:stretch !important}
  .btn{font-size:.88rem;padding:1rem 1.4rem}

  /* plan switcher: three equal, tappable tabs */
  .plan__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
  .plan__tab{min-height:48px;padding:.75rem .4rem;font-size:.86rem;letter-spacing:.1em;text-align:center}
  .br__tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
  .br__tabs .btn,.br__tabs button{justify-content:center;min-height:48px;padding:.8rem .5rem}

  /* readable labels (were 11-12px) */
  .ch__tag{font-size:.8rem;letter-spacing:.2em}
  .hero__strip span,.fig span{font-size:.78rem;letter-spacing:.14em}
  .slab__name,.slab__per,.br__meta h4,.fld label{font-size:.82rem}
  .poster figcaption{font-size:.8rem}
  .posters-h{font-size:.86rem}
  .ftr__cols h4{font-size:.82rem}
  .hero__lede{font-size:1.02rem}

  /* hero headline scales with the screen instead of a fixed floor */
  .hero__type h1{font-size:clamp(2.35rem,11.5vw,3.4rem)}
  .ch--head h1{font-size:clamp(1.75rem,8.4vw,2.4rem)}

  /* footer links become proper tap targets */
  .ftr__cols ul{gap:0}
  .ftr__cols ul a,.ftr--full .ftr__bar a{display:inline-flex;align-items:center;min-height:44px;padding:0 .35rem}
  .ftr--full .ftr__bar{justify-content:center;text-align:center}

  /* inline phone / email links inside content get a larger hit area */
  .br__meta a,.ct__note a{display:inline-block;padding:.35rem 0}

  /* FAQ rows */
  .faq summary{min-height:56px;padding:1rem 1.1rem;font-size:1.05rem}
  .faq__a{padding:0 1.1rem 1.1rem}

  /* forms: 16px+ inputs stop iOS from zooming on focus */
  .fld input,.fld select,.fld textarea{font-size:16px;min-height:52px}

  /* cards breathe a little less on small screens */
  .pgrid,.ogrid{gap:.9rem}
  .pcard__t{padding:1rem 1.05rem}
  .slab{padding:1.4rem 1.2rem}
  .pick__panel{padding:1.4rem 1.2rem}
  .doc{font-size:1rem;line-height:1.75}
}

/* very small phones (iPhone SE / older Android, 320-374px) */
@media (max-width:374px){
  .ch{padding-left:1rem;padding-right:1rem}
  .top{padding-left:.9rem;padding-right:.9rem}
  .menu-btn span{display:none}
  .menu-btn{padding:.6rem .8rem}
  .hero__strip b{font-size:1.45rem}
  .fig b{font-size:2.1rem}
  .plan__tab{font-size:.78rem;letter-spacing:.06em}
  .br__tabs{grid-template-columns:1fr}
  .menu__list a{font-size:1.35rem}
}

/* landscape phones: don't force a full-height hero */
@media (max-height:500px) and (orientation:landscape){
  .ch--hero{min-height:auto}
}

/* tablets (721-1080px): same touch sizing as phones, desktop layout kept */
@media (max-width:1080px){
  .top__brand{display:inline-flex;align-items:center;min-height:44px}
  .top__call{display:inline-flex;align-items:center;min-height:44px;padding:0 .4rem;font-size:.84rem}
  .menu-btn{min-height:44px}
  .ftr__cols ul{gap:0}
  .ftr__cols ul a,.ftr--full .ftr__bar a{display:inline-flex;align-items:center;min-height:44px}
  .ftr__cols p a{display:inline-block;padding:.55rem 0}
  .ch__tag{font-size:.78rem}
  .hero__strip span,.fig span{font-size:.76rem}
  .plan__tab{min-height:48px;font-size:.84rem}
  .ct__note a,.hero__lede a,p > a[href^="tel:"],p > a[href^="mailto:"]{display:inline-block;padding:.45rem 0}
}

/* phones keep the header to logo + menu; the call button lives in the bottom bar and menu */
@media (max-width:720px){
  .top__call,.top__meta{display:none}
}


/* ==========================================================================
   v1.6.0 - new page structure (Fit-plan / Fit-package), admin-editable plans,
   tighter spacing, everything visible without tabs
   ========================================================================== */

/* spacing: sections size to their content; only the hero fills the screen */
.ch{min-height:auto;padding:clamp(4.2rem,8vw,6rem) clamp(1.4rem,5vw,4.5rem)}
.ch--hero{min-height:100vh;min-height:100svh;padding-top:clamp(6rem,12vh,8rem)}
.ch--head{padding-top:clamp(6.4rem,11vw,8.5rem);padding-bottom:clamp(1.6rem,3vw,2.4rem)}
.ch--head + .ch{padding-top:clamp(2rem,4vw,3rem)}
.stage .ch + .ch--faq{padding-top:clamp(3rem,6vw,4.5rem)}

.ch--hero .hero__type h1{font-size:clamp(2.3rem,5vw,4.4rem);max-width:17ch;line-height:1.02}
.ch--hero .hero__type h1 .out{display:inline}

.sec-h{font-family:var(--head);font-size:clamp(1.7rem,3.6vw,2.8rem);letter-spacing:-.02em;line-height:1.05;
  text-transform:uppercase;margin:0 0 clamp(1.2rem,2.4vw,1.8rem)}
.ch--pap .sec-h{color:var(--ink)}
.ch p{max-width:68ch}
.ch--pap p{color:rgba(0,0,0,.72)}
.txtlink{display:inline-flex;align-items:center;min-height:44px;color:var(--red);font-weight:600;
  text-decoration:underline;text-underline-offset:4px}

.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3.6rem);align-items:center}
.split .shots{margin-top:0}

/* breadcrumb */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 1.1rem;
  font-family:var(--cond);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--tx-3)}
.crumbs a{color:var(--tx-2);display:inline-flex;align-items:center;min-height:32px}
.crumbs a:hover{color:var(--red)}
.crumbs [aria-current]{color:var(--red)}

/* primary nav with dropdowns (desktop) */
.pnav{gap:.4rem}
.pnav__item{position:relative;display:flex;align-items:center}
.pnav__item > a{padding:.7rem .55rem}
.pnav__caret{width:26px;height:36px;margin-left:-.35rem;display:grid;place-items:center;color:var(--tx-3)}
.pnav__caret::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.pnav__sub{position:absolute;top:100%;left:0;min-width:220px;padding:.45rem;display:grid;gap:.1rem;
  background:var(--ink-3);border:1px solid var(--line-2);border-radius:4px;box-shadow:0 18px 44px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility 0s linear .18s}
.pnav__sub a{padding:.75rem .85rem;border-radius:3px;font-family:var(--cond);font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;font-size:.86rem;color:var(--tx-2)}
.pnav__sub a:hover,.pnav__sub a[aria-current]{background:rgba(255,255,255,.06);color:#fff}
.pnav__item:hover .pnav__sub,.pnav__item:focus-within .pnav__sub,.pnav__item.is-open .pnav__sub{
  opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s,visibility 0s}
.pnav__item:hover .pnav__caret::before,.pnav__item.is-open .pnav__caret::before{transform:translateY(1px) rotate(225deg)}

/* overlay menu sub-links */
.menu__list > a{padding:.35rem 0}
.menu__sub{display:grid;gap:0;margin:-.1rem 0 .5rem 1.2rem;padding-left:1rem;border-left:1px solid var(--line)}
.menu__sub a{font-family:var(--cond);font-weight:600;font-size:clamp(1.05rem,2.2vw,1.35rem);letter-spacing:.06em;
  text-transform:uppercase;color:var(--tx-2);padding:.45rem 0;min-height:44px;display:flex;align-items:center}
.menu__sub a:hover,.menu__sub a[aria-current]{color:var(--red)}
.menu__side a{display:block;padding:.2rem 0}

/* membership plan cards */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;
  padding:clamp(1.4rem,2.6vw,2rem);background:linear-gradient(165deg,rgba(255,255,255,.035),transparent 60%)}
.plan--hot{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset}
.plan__badge{position:absolute;top:-.8rem;left:1.4rem;background:var(--red);color:#fff;border-radius:2px;
  padding:.3rem .65rem;font-family:var(--cond);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}
.plan__name{font-family:var(--cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:1.05rem;
  color:var(--tx);margin:0 0 .8rem;line-height:1.2}
.plan__price{font-family:var(--head);font-size:clamp(2.3rem,4.4vw,3.2rem);line-height:1;letter-spacing:-.03em;color:#fff;margin:0}
.plan__price sup{font-size:.4em;vertical-align:.95em;margin-right:.1em;color:var(--tx-2)}
.plan__per{margin:.55rem 0 1.2rem;font-family:var(--cond);font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  font-size:.86rem;color:var(--tx-2)}
.plan__list{list-style:none;margin:0 0 1.5rem;padding:1.1rem 0 0;border-top:1px solid var(--line);display:grid;gap:.6rem;flex:1;align-content:start}
.plan__list li{display:flex;gap:.7rem;color:var(--tx-2);font-size:.97rem;line-height:1.45}
.plan__list li::before{content:"\2713";color:var(--red);flex:none;font-weight:700}
.plan .btn{justify-content:center;width:100%}
.plan__note{margin-top:1.3rem;font-size:.92rem;color:var(--tx-2)}
.plan__note a,.ct__note a,.notice-box a:not(.btn){color:var(--red);text-decoration:underline;text-underline-offset:3px}
.empty{color:var(--tx-2)}

/* branch cards */
.brs{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.br{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;padding:clamp(1.3rem,2.6vw,2rem);
  background:rgba(12,12,14,.82)}
.br__rating{display:inline-flex;align-self:flex-start;margin:0 0 .9rem}
.br__name{font-family:var(--head);font-size:clamp(1.5rem,2.8vw,2.1rem);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 .7rem}
.br__addr{font-style:normal;color:var(--tx-2);margin:0 0 1.1rem;line-height:1.6}
.br__meta{margin:0 0 1.2rem;display:grid;gap:.9rem;border-left:2px solid var(--red);padding-left:1.1rem}
.br__meta dt{font-family:var(--cond);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;color:var(--tx-3)}
.br__meta dd{margin:.15rem 0 0;color:var(--tx)}
.br__meta a{display:inline-block;padding:.3rem 0}
.br__map{margin:0 0 1.2rem;border-radius:4px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;background:var(--ink-3)}
.br__map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3)}
.br__acts{margin-top:auto;display:flex;flex-wrap:wrap;gap:.6rem}
.br__acts .btn{flex:1 1 auto;justify-content:center}

/* link cards (Fit-plan / Fit-package) */
.lcards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.lcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--ink-3);
  transition:transform .25s,border-color .25s}
.lcard:hover{transform:translateY(-4px);border-color:rgba(255,42,24,.5)}
.lcard__img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ink-2)}
.lcard__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.95)}
.lcard__b{display:grid;gap:.45rem;padding:1.2rem 1.3rem 1.4rem}
.lcard__h{font-family:var(--head);font-size:clamp(1.25rem,2.2vw,1.6rem);text-transform:uppercase;color:#fff}
.lcard__p{color:var(--tx-2)}
.lcard__go{margin-top:.4rem;font-family:var(--cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.86rem;color:var(--red)}

/* quick contact tiles */
.qc{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.qc__i{display:grid;gap:.3rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:6px;background:var(--ink-3);
  transition:border-color .2s}
.qc__i:hover{border-color:var(--red)}
.qc__i span{font-family:var(--cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--tx-3)}
.qc__i b{font-weight:600;color:#fff;word-break:break-word}

/* notices, sitemap, editor content */
.notice-box{border:1px dashed var(--line-2);border-radius:6px;padding:clamp(1.4rem,3vw,2.2rem);max-width:760px}
.notice-box p{color:var(--tx-2)}
.smap{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;max-width:520px}
.smap a{display:flex;align-items:center;min-height:46px;font-family:var(--cond);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;font-size:1.15rem;color:var(--tx);border-bottom:1px solid var(--line)}
.smap a:hover{color:var(--red)}
.smap ul{list-style:none;margin:0 0 .4rem;padding:0 0 0 1.4rem}
.smap ul a{font-size:1rem;color:var(--tx-2)}
.doc--editor{max-width:78ch}
.doc--editor h2{margin-top:2rem}
.doc--editor img{height:auto;border-radius:4px;margin:1rem 0}
.doc--editor table{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;font-size:.95rem;display:block;overflow-x:auto}
.doc--editor th,.doc--editor td{border:1px solid var(--line-2);padding:.6rem .75rem;text-align:left;vertical-align:top}
.doc--editor th{background:var(--ink-3);color:#fff}

/* footer */
.ftr__sub{margin:.1rem 0 .3rem;padding-left:.9rem !important;gap:0 !important}
.ftr__sub a{color:var(--tx-3)}
.ftr__hours{margin-top:.9rem !important;color:var(--tx-2) !important}

/* offers page */
.posters{max-width:none;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* gallery: equal tiles */
.gal figure:nth-child(1),.gal figure:nth-child(6){grid-row:auto;aspect-ratio:1/1}

@media (max-width:1080px){
  .qc{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
}
@media (max-width:720px){
  .ch{padding:calc(64px + 1.6rem) 1.25rem 2.4rem}
  .ch--hero{min-height:calc(100svh - 62px - env(safe-area-inset-bottom));padding-top:calc(64px + 1.8rem)}
  .ch--head{padding-top:calc(64px + 1.4rem);padding-bottom:1.2rem}
  .ch + .ch{padding-top:2.4rem}
  .ch--hero .hero__type h1{font-size:clamp(1.85rem,8.6vw,2.6rem);max-width:none}
  .ch--head h1{font-size:clamp(1.6rem,7.6vw,2.2rem)}
  .sec-h{font-size:clamp(1.45rem,6.6vw,1.9rem)}
  .brs,.lcards,.qc{grid-template-columns:1fr}
  .br__acts{display:grid;grid-template-columns:1fr}
  .plans{grid-template-columns:1fr;gap:1.4rem}
  .menu__sub{margin-left:.2rem}
  .smap a{font-size:1.05rem}
}
@media (max-width:374px){
  .ch{padding-left:1rem;padding-right:1rem}
}

/* anchored sections clear the fixed header */
[id]{scroll-margin-top:84px}

/* v1.6.1 - comfortable tap sizes for breadcrumbs, inline links and branch phones */
.crumbs a{min-height:44px}
.plan__note a,.ct__note a,.notice-box p a,.br__meta a{display:inline-flex;align-items:center;min-height:44px}
.br__meta dd{line-height:1.5}


/* ==========================================================================
   v1.7.0 - editor-managed page text (SEO), WhatsApp plan pages
   ========================================================================== */

/* editor text blocks */
.doc--editor{color:var(--tx-2);font-size:1.02rem;line-height:1.75}
.doc--editor > *:first-child{margin-top:0}
.doc--editor p{margin:0 0 1.05rem;max-width:72ch}
.doc--editor h2{font-family:var(--head);font-size:clamp(1.35rem,2.6vw,1.9rem);text-transform:uppercase;letter-spacing:-.01em;
  color:#fff;margin:2.2rem 0 .9rem;line-height:1.15}
.doc--editor h3{font-family:var(--cond);font-weight:700;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:1.6rem 0 .6rem}
.doc--editor ul,.doc--editor ol{margin:0 0 1.2rem;padding-left:1.3rem;display:grid;gap:.5rem;max-width:72ch}
.doc--editor li::marker{color:var(--red);font-weight:700}
.doc--editor a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.doc--editor strong{color:var(--tx)}
.doc--editor figure{margin:1.4rem 0;max-width:760px}
.doc--editor figure img{width:100%;height:auto;border-radius:6px;border:1px solid var(--line)}
.doc--editor .wp-block-buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0 1.6rem}
.doc--editor .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:1rem 1.6rem;
  background:#1FA851;color:#fff !important;text-decoration:none !important;border-radius:3px;font-family:var(--cond);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;transition:filter .2s,transform .2s}
.doc--editor .wp-block-button__link:hover{filter:brightness(1.1);transform:translateY(-2px)}

/* same text on the light "paper" sections */
.ch--pap .doc--editor{color:rgba(0,0,0,.74)}
.ch--pap .doc--editor h2,.ch--pap .doc--editor h3,.ch--pap .doc--editor strong{color:var(--ink)}
.ch--pap .doc--editor a{color:#c21b0c}
.ch--pap .doc--editor figure img{border-color:rgba(0,0,0,.12)}

/* WhatsApp call to action on Diet / Workout plan pages */
.wa-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 2.2rem}
.btn--wa{background:#1FA851;color:#fff;font-size:.95rem;padding:1.1rem 1.8rem}
.btn--wa svg{width:22px;height:22px;fill:#fff;stroke:none}
.btn--wa:hover{background:#26c060;transform:translateY(-2px)}

@media (max-width:720px){
  .wa-cta{display:grid;grid-template-columns:1fr}
  .wa-cta .btn{width:100%;justify-content:center;min-height:56px}
  .doc--editor .wp-block-buttons,.doc--editor .wp-block-button{display:grid;width:100%}
  .doc--editor .wp-block-button__link{width:100%}
  .doc--editor h2{font-size:clamp(1.2rem,5.6vw,1.5rem)}
}


/* ==========================================================================
   v1.7.3 - enquiry section: the column beside the form now carries contact
   details, gym timings, ratings and a photo instead of empty space
   ========================================================================== */
.ct{grid-template-columns:.95fr 1.05fr;align-items:start}
.ct__side{display:grid;gap:clamp(1.2rem,2.4vw,1.8rem)}
.ct__note{margin:0;max-width:46ch}

.ct__facts{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.ct__facts li{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--line);color:var(--tx-2);line-height:1.5}
.ct__facts li:last-child{border-bottom:1px solid var(--line)}
.ct__facts b{display:block;font-family:var(--cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-size:.82rem;color:var(--tx-3);margin-bottom:.2rem}
.ct__facts a{color:var(--tx);text-decoration:none;border-bottom:1px solid rgba(255,42,24,.45)}
.ct__facts a:hover{color:var(--red)}
.ct__ico{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,42,24,.12);color:var(--red)}
.ct__ico svg{width:19px;height:19px;fill:currentColor}
.ct__ico--wa{background:rgba(31,168,81,.14);color:#1FA851}

.ct__stats{display:flex;flex-wrap:wrap;gap:clamp(1rem,3vw,2.2rem)}
.ct__stats b{display:block;font-family:var(--head);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1;color:#fff;letter-spacing:-.02em}
.ct__stats span{display:block;margin-top:.35rem;font-family:var(--cond);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;font-size:.76rem;color:var(--tx-3)}

.ct__photo{margin:0;border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:21/9;max-height:200px;background:var(--ink-3)}
.ct__photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.15) brightness(.85)}

/* on the light "paper" sections the same block stays readable */
.ch--pap .ct__facts li{color:rgba(0,0,0,.72);border-color:rgba(0,0,0,.12)}
.ch--pap .ct__facts a{color:var(--ink)}
.ch--pap .ct__stats b{color:var(--ink)}

@media (max-width:1080px){
  .ct{grid-template-columns:1fr}
  .ct__photo{display:none}
}
@media (max-width:720px){
  .ct__facts li{padding:.75rem 0}
  .ct__stats{gap:1.1rem}
}


/* ==========================================================================
   v1.7.5 - readability: small grey labels were too dim/small on the dark
   background, and the header navigation was undersized
   ========================================================================== */

/* header navigation */
.pnav > .pnav__item > a{font-size:.95rem;color:var(--tx-2);letter-spacing:.08em}
.pnav > .pnav__item > a:hover{color:#fff}
.pnav > .pnav__item > a[aria-current]{color:#fff}
.pnav__caret{color:var(--tx-2)}
.pnav__sub a{font-size:.92rem;color:var(--tx)}
.top__call{font-size:.9rem;color:var(--tx);letter-spacing:.08em}
.top__brand{font-size:1.25rem}
.menu-btn{font-size:.84rem;color:var(--tx)}

/* small uppercase labels: brighter and slightly larger everywhere */
.qc__i span{color:var(--red);font-size:.88rem;letter-spacing:.12em}
.qc__i b{font-size:1.08rem}
.ct__facts b{color:var(--tx-2);font-size:.86rem}
.ch__tag{color:var(--tx-2)}
.ch--pap .ch__tag{color:rgba(0,0,0,.6)}
.hero__strip span,.fig span,.ct__stats span{color:var(--tx-2);font-size:.8rem}
.plan__per{color:var(--tx-2)}
.br__meta dt{color:var(--tx-2);font-size:.84rem}
.poster figcaption{color:var(--tx-2);font-size:.84rem}
.crumbs{color:var(--tx-2)}
.crumbs a{color:var(--tx-2)}
.ftr{color:var(--tx-2)}
.ftr__cols p,.ftr__cols a{color:var(--tx-2)}
.ftr__sub a{color:var(--tx-2)}
.ftr--full .ftr__bar{color:var(--tx-2)}
.loc-sheet__t{color:var(--tx-2)}
.rail__word{color:var(--tx-2)}
.menu__side h4{color:var(--tx-2)}
.ftr__cols h4,.menu__side h4{font-size:.84rem}

@media (max-width:1080px){
  .top__call{font-size:.88rem}
}

/* ==========================================================================
   v1.7.7 - enquiry section sits on a dimmed gym photo instead of showing a
   separate picture under the contact details
   ========================================================================== */
.ch--enq{position:relative;isolation:isolate;overflow:hidden}
.ch--enq::before{content:"";position:absolute;inset:0;z-index:-2;
  background:url('https://muscletime.in/wp-content/uploads/2026/09/mt-real-functional-turf.jpg') center/cover no-repeat;
  transform:translateZ(0);filter:grayscale(.25)}
.ch--enq::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,rgba(5,5,5,.96) 30%,rgba(5,5,5,.86) 60%,rgba(5,5,5,.78))}
.ch--enq .form{background:linear-gradient(165deg,rgba(18,18,21,.92),rgba(10,10,12,.92));
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:var(--line-2)}
.ch--enq .ct__facts li{border-color:rgba(255,255,255,.16)}
@media (max-width:720px){
  .ch--enq::after{background:linear-gradient(180deg,rgba(5,5,5,.93),rgba(5,5,5,.9))}
}


/* ==========================================================================
   v1.7.7 - long page text is broken into cards (Contact page) so people can
   scan it instead of reading a wall of paragraphs
   ========================================================================== */
.doc--editor:has(.icards){max-width:1080px}
.doc--editor .icards{display:grid;gap:14px;margin:0 0 2rem;
  grid-template-columns:repeat(auto-fit,minmax(248px,1fr))}
.doc--editor .icard{margin:0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  transition:border-color .2s ease,transform .2s ease}
.doc--editor .icard:hover{border-color:var(--line-2);transform:translateY(-2px)}
.doc--editor .icard h3{margin:0 0 .5rem;font-size:.95rem;letter-spacing:.09em;color:var(--red)}
.doc--editor .icard p{margin:0;max-width:none;font-size:.97rem;line-height:1.62}
.doc--editor .icard p > a:first-child{font-family:var(--cond);font-size:1.15rem;font-weight:700;
  letter-spacing:.02em;color:#fff;text-decoration:none;display:inline-block;margin-bottom:.15rem}
.doc--editor .icard p > a:first-child:hover{color:var(--red)}
@media (max-width:560px){
  .doc--editor .icards{gap:10px}
  .doc--editor .icard{padding:15px 16px}
}


/* ==========================================================================
   v1.8.0
   - the location pin used to float in the middle of the rail; it now sits
     with the WhatsApp button at the bottom on every page
   - the About block was a wide cream panel with an empty right column and no
     imagery: it is now text + a sticky photo column over a soft gym photo
   ========================================================================== */

/* --- side rail: keep the two round buttons together ---------------------- */
.rail__foot{display:flex;flex-direction:column;align-items:center;gap:16px}

/* --- about: soft photo behind the cream panel ---------------------------- */
.ch--pap{position:relative;isolation:isolate;overflow:hidden}
.ch--pap::before{content:"";position:absolute;inset:0;z-index:-2;
  background:url('https://muscletime.in/wp-content/uploads/2026/09/mt-real-dumbbell-rack-hinjawadi.jpg') center/cover no-repeat;
  filter:grayscale(.4)}
.ch--pap::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(135deg,rgba(244,241,234,.97) 45%,rgba(244,241,234,.88))}

/* --- about: text column + sticky photo column ---------------------------- */
.ch--split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.2rem 3rem;align-items:start}
.ch--split > .ch__tag,.ch--split > .sec-h{grid-column:1 / -1}
.ch--split > .doc--editor{max-width:none}
.ch--split > .doc--editor p,.ch--split > .doc--editor ul,.ch--split > .doc--editor ol{max-width:64ch}
.ch__aside{position:sticky;top:96px;display:grid;gap:1.1rem}
.ch__aside figure{margin:0}
.ch__aside figure img{width:100%;height:auto;border-radius:8px;border:1px solid rgba(0,0,0,.12);display:block}
.ch__aside figcaption{margin-top:.5rem;font-size:.85rem;line-height:1.5;color:rgba(0,0,0,.6)}
.aside__facts{margin:0;display:grid;gap:.75rem;padding:1.1rem 1.2rem;border-radius:10px;
  background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.1)}
.aside__facts > div{display:grid;gap:.15rem}
.aside__facts dt{font-family:var(--cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-size:.72rem;color:rgba(0,0,0,.5)}
.aside__facts dd{margin:0;font-size:.95rem;line-height:1.45;color:var(--ink)}

@media (max-width:1080px){
  .ch--split{grid-template-columns:minmax(0,1fr) 260px;gap:1.8rem 2rem}
  .ch__aside{top:80px}
}
@media (max-width:900px){
  .ch--split{grid-template-columns:1fr}
  .ch__aside{position:static;max-width:520px}
}

/* the rail turns into a bottom bar on small screens: the two buttons sit
   side by side there, pushed to the right edge */
@media (max-width:1080px){
  .rail__foot{flex-direction:row;gap:.4rem;margin-left:auto}
  .rail .loc-wrap{margin-left:0}
}
@media (max-width:560px){
  .rail__foot{gap:.5rem}
}

/* ==========================================================================
   v1.8.1 - laptop and wide-screen fixes
   - the top bar faded to transparent at its lower edge, so page text showed
     through it on the light About block: make it solid
   - nothing capped the width of a chapter, so on wide laptops and desktops
     the About text and its side column drifted to opposite edges
   ========================================================================== */
.top{background:rgba(5,5,5,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08)}

/* the split block keeps a comfortable reading width and stays centred */
.ch--split{width:100%;max-width:1120px;margin-inline:auto}
.ch--split > .doc--editor p,.ch--split > .doc--editor ul,.ch--split > .doc--editor ol{max-width:none}
.ch--split > .doc--editor figure{max-width:100%}

/* wide screens: centre every chapter's content instead of stretching it */
@media (min-width:1500px){
  .ch{align-items:center}
  .ch > *:not(.hero__shot){width:100%;max-width:1400px}
  .ch--split{max-width:1200px}
}


/* ==========================================================================
   v1.8.2 - About Us page
   A single tall column of text with one enormous portrait photo filled the
   whole screen. The page is now: story + photo stack, numbers, four "inside
   the gym" cards, a members block with a photo grid, a gallery and branches.
   ========================================================================== */

/* inline editor images never take over the screen again */
.doc--editor figure{max-width:640px}
.doc--editor figure img{max-height:440px;object-fit:cover}

/* ---- story: reading column + photo stack ---- */
.ch--story{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem 3.4rem;align-items:start;
  width:100%;max-width:1180px;margin-inline:auto}
.story__text{min-width:0}
.story__text .doc--editor{max-width:66ch}
.story__media{position:sticky;top:96px;display:grid;gap:1.1rem}
.story__shot{margin:0;position:relative}
.story__shot img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid rgba(0,0,0,.12)}
.story__shot--a img{aspect-ratio:4/3;object-fit:cover}
.story__shot--b{margin:-3.4rem 0 0 auto;width:66%}
.story__shot--b img{aspect-ratio:3/4;object-fit:cover;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.story__shot figcaption{margin-top:.55rem;font-size:.84rem;line-height:1.5;color:rgba(0,0,0,.6);text-align:right}

/* ---- four cards: what the floor looks like ---- */
.acards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.acard{margin:0;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;
  overflow:hidden;transition:transform .25s ease,border-color .25s ease}
.acard:hover{transform:translateY(-4px);border-color:var(--line-2)}
.acard figure{margin:0;overflow:hidden}
.acard img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s ease}
.acard:hover img{transform:scale(1.05)}
.acard h3{margin:1rem 1.15rem .4rem;font-family:var(--cond);font-size:1.02rem;letter-spacing:.06em;
  text-transform:uppercase;color:#fff}
.acard p{margin:0 1.15rem 1.15rem;font-size:.92rem;line-height:1.6;color:var(--tx-2)}

/* ---- who trains here: copy + photo grid ---- */
.ch--who{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2rem 3.4rem;
  align-items:center;width:100%;max-width:1180px;margin-inline:auto}
.who__copy p{max-width:52ch}
.who__acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.who__grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.who__grid figure{margin:0}
.who__grid img{width:100%;height:auto;object-fit:cover;display:block;border-radius:10px;
  border:1px solid rgba(0,0,0,.12)}
.who__grid figure:nth-child(1) img{aspect-ratio:4/5}
.who__grid figure:nth-child(2) img{aspect-ratio:4/5;margin-top:1.6rem}
.who__grid figure:nth-child(3) img{aspect-ratio:1/1}
.who__grid figure:nth-child(4) img{aspect-ratio:1/1;margin-top:1.6rem}

@media (max-width:1080px){
  .ch--story{grid-template-columns:minmax(0,1fr) 280px;gap:1.8rem 2.2rem}
  .acards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .ch--story{grid-template-columns:1fr}
  .story__media{position:static;max-width:560px;grid-template-columns:1fr 1fr;align-items:start}
  .story__shot--b{margin:0;width:100%}
  .story__shot figcaption{text-align:left}
  .ch--story .aside__facts{grid-column:1 / -1}
  .ch--who{grid-template-columns:1fr}
  .who__copy p{max-width:none}
}
@media (max-width:560px){
  .story__media{grid-template-columns:1fr}
  .acards{grid-template-columns:1fr;gap:.9rem}
  .who__grid figure:nth-child(2) img,.who__grid figure:nth-child(4) img{margin-top:0}
  .doc--editor figure img{max-height:340px}
}

/* WordPress prints width/height attributes on every image; without an explicit
   height:auto those attributes beat aspect-ratio and the cards grew very tall */
.acard img,.story__shot img,.who__grid img,.ch--gal .gal img,.acards img{height:auto}
.story__shot--a img{aspect-ratio:4/3;object-fit:cover;height:auto}
.story__shot--b img{aspect-ratio:3/4;object-fit:cover;height:auto}
.who__grid figure:nth-child(1) img,.who__grid figure:nth-child(2) img{aspect-ratio:4/5;height:auto}
.who__grid figure:nth-child(3) img,.who__grid figure:nth-child(4) img{aspect-ratio:1/1;height:auto}

/* v1.8.4 - home page About block: link out to the full story */
.story__more{margin:1.5rem 0 0}
.ch--pap .story__more .btn--wire{border-color:rgba(0,0,0,.25);color:var(--ink)}
.ch--pap .story__more .btn--wire:hover{border-color:var(--red);color:var(--red)}

/* v1.8.5 - the story block also runs on the dark inner pages */
.ch--story:not(.ch--pap) .story__shot img{border-color:var(--line)}
.ch--story:not(.ch--pap) .story__shot figcaption{color:var(--tx-2);text-align:left}
.ch--story:not(.ch--pap) .aside__facts{background:rgba(255,255,255,.04);border-color:var(--line)}
.ch--story:not(.ch--pap) .aside__facts dt{color:var(--tx-3)}
.ch--story:not(.ch--pap) .aside__facts dd{color:#fff}
.ch--story:not(.ch--pap) .aside__facts a{color:var(--red)}
.ch--story + .ch{padding-top:clamp(2.4rem,5vw,3.6rem)}

/* v1.8.6 - branch cards lead with a photo of the floor */
.br__photo{margin:0 0 1.1rem;overflow:hidden;border-radius:12px}
.br__photo img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;
  transition:transform .5s ease}
.br:hover .br__photo img{transform:scale(1.04)}
@media (max-width:560px){
  .br__photo{margin-bottom:.9rem}
  .br__photo img{aspect-ratio:16/9}
}

/* v1.8.7 - free PDF download card on the Diet Plan and Workout Plan pages */
.dl{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:clamp(1.4rem,3.5vw,2.8rem);align-items:center;
  width:100%;max-width:980px;padding:clamp(1.2rem,3vw,2rem);margin:0 0 2.6rem;
  border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(255,42,24,.10),rgba(255,255,255,.02) 55%)}
.dl__thumb{display:block;border-radius:8px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.45);transform:rotate(-2deg);transition:transform .25s}
.dl__thumb:hover{transform:rotate(0) translateY(-4px)}
.dl__thumb img{display:block;width:100%;height:auto;aspect-ratio:794/1123;background:#fff}
.dl__tag{margin:0 0 .5rem;font-family:var(--cond);font-weight:700;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.dl__title{margin:0 0 .8rem;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.1}
.dl__text{margin:0 0 1rem;color:var(--tx-2);max-width:56ch;line-height:1.6}
.dl__list{margin:0 0 1.1rem;padding:0;list-style:none;display:grid;gap:.45rem}
.dl__list li{position:relative;padding-left:1.5rem;line-height:1.5}
.dl__list li::before{content:"";position:absolute;left:0;top:.5em;width:.7rem;height:.38rem;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}
.dl__meta{margin:0 0 1.3rem;font-size:.86rem;color:var(--tx-2)}
.dl__btns{display:flex;flex-wrap:wrap;gap:.8rem}
.dl__btns svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.dl__next{margin:0 0 .6rem;font-size:clamp(1.3rem,2.6vw,1.7rem)}
.dl__nexttext{margin:0 0 1.4rem;color:var(--tx-2);max-width:64ch;line-height:1.6}
@media (max-width:720px){
  .dl{grid-template-columns:1fr;text-align:left}
  .dl__thumb{width:100%;max-width:210px;margin:0 auto}
  .dl__btns{display:grid;grid-template-columns:1fr}
  .dl__btns .btn{width:100%;justify-content:center;min-height:56px}
}

/* v1.8.8 - six-photo gallery (home, about): even 3 x 2 grid, no tall tiles */
.ch--gal6 .gal{grid-template-columns:repeat(3,1fr)}
.ch--gal6 .gal figure,.ch--gal6 .gal figure:nth-child(1),.ch--gal6 .gal figure:nth-child(6){grid-row:auto;aspect-ratio:4/3}
@media (max-width:720px){
  .ch--gal6 .gal{grid-template-columns:repeat(2,1fr)}
  .ch--gal6 .gal figure,.ch--gal6 .gal figure:nth-child(1),.ch--gal6 .gal figure:nth-child(6){aspect-ratio:1/1}
}

/* v1.8.9 - careers: hiring posters (wp-admin > Careers) and the home page band */
.posters--hiring{grid-template-columns:repeat(auto-fit,minmax(260px,520px));max-width:1080px;margin-bottom:1.8rem}
.posters--hiring .poster a{display:block}
.ch--hire{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:2rem 3.4rem;align-items:center;
  width:100%;max-width:1180px;margin-inline:auto}
.hire__copy p{max-width:52ch}
.hire__poster{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.45);transition:transform .25s,border-color .25s}
.hire__poster:hover{transform:translateY(-4px);border-color:rgba(255,42,24,.45)}
.hire__poster img{display:block;width:100%;height:auto}
@media (max-width:900px){
  .ch--hire{grid-template-columns:1fr}
  .hire__poster{max-width:460px}
}
@media (max-width:640px){
  .posters--hiring{grid-template-columns:1fr}
  .ch--hire .who__acts{display:grid;grid-template-columns:1fr}
  .ch--hire .who__acts .btn{width:100%;justify-content:center;min-height:56px}
}

/* v1.9.1 - grouped HTML sitemap */
.smap2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;width:100%;max-width:1180px}
.smap2__g{border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.4rem;background:rgba(255,255,255,.02)}
.smap2__h{margin:0 0 .6rem;font-family:var(--cond);font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.smap2 ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.smap2 li{display:grid;gap:.1rem;padding:.35rem 0}
.smap2 li + li{border-top:1px solid var(--line)}
.smap2 a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--cond);font-weight:700;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tx)}
.smap2 a:hover{color:var(--red)}
.smap2 span{font-size:.9rem;line-height:1.5;color:var(--tx-2)}
@media (max-width:1080px){ .smap2{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .smap2{grid-template-columns:1fr} }

/* v1.9.1 - six menu items: between the menu-button breakpoint and 1240px the header
   ran out of room, so the phone link (also in the side rail) steps aside there */
@media (min-width:1081px) and (max-width:1240px){
  .top__call{display:none}
  .pnav__item > a{padding:.7rem .45rem}
}

/* v1.9.7 - Instagram / Facebook links */
.social{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.social__a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem 0 .8rem;
  border:1px solid var(--line);border-radius:999px;color:var(--tx-2);font-family:var(--cond);font-weight:700;
  font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;transition:color .18s,border-color .18s}
.social__a:hover{color:#fff;border-color:var(--red)}
.social__a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.social__a svg .dot,.social__a svg .fill{fill:currentColor;stroke:none}
.ftr__cols .social__a{color:var(--tx-2)}
.ftr__cols .social__a:hover{color:#fff}

/* v1.9.8 - a single offer poster shows large instead of half width */
.posters:has(> .poster:only-child){grid-template-columns:minmax(0,620px)}
.poster a{display:block}

/* v1.9.9 - offer with a price list (wp-admin > Offers > Offer prices) */
.deal{width:100%;max-width:1180px;margin-top:1.8rem;padding:clamp(1.3rem,3vw,2.2rem);border:1px solid rgba(255,190,60,.35);
  border-radius:16px;background:radial-gradient(120% 140% at 0% 0%,rgba(255,170,40,.14),transparent 55%),linear-gradient(165deg,var(--ink-3),var(--ink-2))}
.deal__h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.2rem;margin-bottom:1.4rem}
.deal__h h3{margin:0;font-family:var(--head);font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.1;color:#fff}
.deal__until{display:inline-flex;align-items:center;min-height:36px;padding:0 1rem;border-radius:999px;background:#FFC83D;color:#1a1200;
  font-family:var(--cond);font-weight:700;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}
.deal__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}
.deal__t{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1.15rem 1.1rem 1.1rem;
  border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}
.deal__t.is-best{border-color:#FFC83D;background:rgba(255,200,61,.08)}
.deal__flag{position:absolute;top:-.7rem;right:.8rem;padding:.15rem .6rem;border-radius:999px;background:#FFC83D;color:#1a1200;
  font-family:var(--cond);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.deal__d{font-family:var(--cond);font-weight:700;font-size:1.02rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tx)}
.deal__p{font-family:var(--head);font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.1;color:#fff}
.deal__n{display:inline-block;padding:.12rem .55rem;border-radius:999px;background:rgba(255,42,24,.16);color:#ff8a7d;
  font-size:.78rem;font-weight:600;letter-spacing:.02em}
.deal__pm{margin-top:auto;padding-top:.35rem;font-size:.85rem;color:var(--tx-2)}
.deal__txt{margin:1.4rem 0 0;max-width:80ch;color:var(--tx-2);line-height:1.65}
.deal__acts{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.deal__acts .btn--wa svg{width:22px;height:22px;fill:#fff;stroke:none}
@media (max-width:1080px){ .deal__grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:640px){
  .deal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .deal__t{padding:1rem .9rem .95rem}
  .deal__acts{display:grid;grid-template-columns:1fr}
  .deal__acts .btn{width:100%;justify-content:center;min-height:56px}
}
/* v2.0.1 - phones: one package per row, name + free months left, price + per month right */
@media (max-width:640px){
  .deal{padding:1.1rem 1rem 1.2rem;border-radius:14px}
  .deal__h{margin-bottom:1.1rem;gap:.6rem}
  .deal__h h3{font-size:1.45rem}
  .deal__until{min-height:32px;font-size:.8rem;padding:0 .85rem}
  .deal__grid{grid-template-columns:1fr;gap:.6rem}
  .deal__t{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"d p" "n pm";
    align-items:center;column-gap:.8rem;row-gap:.25rem;padding:.85rem 1rem}
  .deal__t.is-best{padding-top:1.1rem}
  .deal__d{grid-area:d;font-size:.98rem;line-height:1.25}
  .deal__p{grid-area:p;font-size:1.4rem;text-align:right;white-space:nowrap}
  .deal__n{grid-area:n;justify-self:start;white-space:nowrap}
  .deal__pm{grid-area:pm;margin:0;padding:0;text-align:right;white-space:nowrap;font-size:.8rem}
  .deal__flag{top:-.65rem;right:.9rem}
  .deal__txt{margin-top:1.1rem;font-size:.95rem}
}

/* v2.0.2 - responsive audit (15 pages x 10 widths, 320-1920px): readable labels, 44px tap targets */
.aside__facts dt{font-size:.8rem}
.rail__word{font-size:.78rem}
.deal__flag{font-size:.78rem}
.crumbs a{min-width:44px;justify-content:center}
.crumbs a:first-child{justify-content:flex-start}
.doc--editor .icard p a{display:inline-flex;align-items:center;min-height:44px}

/* v2.0.4 - Instagram button in the side rail / mobile bottom bar, beside the location pin */
.rail__ig{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);
  box-shadow:0 6px 18px rgba(214,36,159,.35);transition:transform .2s}
.rail__ig:hover{transform:scale(1.1)}
.rail__ig svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.9}
.rail__ig svg .dot{fill:#fff;stroke:none}
@media (max-width:560px){ .rail__ig{width:44px;height:44px} .rail__ig svg{width:24px;height:24px} }
/* tablets keep the vertical side rail, so its three round buttons stack instead of sitting in a row */
@media (min-width:721px) and (max-width:1080px){
  .rail__foot{flex-direction:column;gap:12px;margin-left:0}
}
