/* Landing pages for /medical-weight-loss and /mens-health.
   Same visual system as /20-units: pantheon background, gold flux, tight tiles,
   and equal-weight offer panels. Header, footer, and drips come from the
   shared stylesheets. */
:root{
  --obsidian:#000000;
  --panel:#0b0a08;
  --line:#4a3b17;
  --gold:#c79e51;
  --gold-light:#eddfa9;
  --bone:#f4ecd8;
  --muted:#b3a47e;
  --display:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --body:"Jost", "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#000;color-scheme:dark}
body{
  margin:0;
  background:transparent;
  color:var(--bone);
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--gold-light)}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--gold-light);
  outline-offset:3px;
}
.skip-link{
  position:absolute;left:-999px;top:0;z-index:300;
  background:#000;color:var(--gold-light);padding:.6rem 1rem;
}
.skip-link:focus{left:8px;top:8px}

.wrap{max-width:1360px;margin:0 auto;padding:0 1.25rem 1.5rem}
@media(min-width:769px){.wrap{padding:0 4vw 2rem}}

h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;margin:0}
p{margin:0 0 1rem}

/* Roman field + flowing gold, same treatment as the injectables / 20-units page */
body::after{
  content:"";
  position:fixed;inset:0;z-index:-3;
  background:#000 url(/assets/bg-pantheon.webp?v=2) center/cover no-repeat;
  pointer-events:none;
}
body::before{
  content:"";
  position:fixed;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.50),rgba(0,0,0,.56) 40%,rgba(0,0,0,.64));
  pointer-events:none;
}
@media(max-width:768px){
  body::before{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.65))}
}
.floor-shine{
  position:fixed;left:0;right:0;bottom:0;height:38vh;z-index:-2;
  pointer-events:none;overflow:hidden;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 45%);
  mask-image:linear-gradient(180deg,transparent,#000 45%);
}
.floor-shine::before{
  content:"";position:absolute;inset:0 -60%;
  background:linear-gradient(100deg,transparent 40%,rgba(255,214,120,.16) 48%,rgba(255,236,170,.24) 50%,rgba(255,214,120,.16) 52%,transparent 60%);
  animation:floor-shine 14s ease-in-out infinite;
}
@keyframes floor-shine{0%{transform:translateX(-35%)}100%{transform:translateX(35%)}}
@media(prefers-reduced-motion:reduce){.floor-shine::before{animation:none;opacity:0}}

.gflux{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.gflux::before{
  content:"";position:absolute;left:0;right:0;top:-100%;height:300%;will-change:transform;
  background:repeating-linear-gradient(180deg,rgba(255,215,120,0) 0,rgba(255,215,120,0) 6%,rgba(255,226,150,.55) 8.6%,rgba(255,248,215,.95) 9.4%,rgba(255,215,120,0) 11.11%);
  animation:gflux-down 5.2s linear infinite;
}
@keyframes gflux-down{to{transform:translateY(11.111%)}}
.gflux.across::before{
  top:0;bottom:0;height:auto;left:-100%;right:auto;width:300%;
  background:repeating-linear-gradient(100deg,rgba(255,215,120,0) 0,rgba(255,215,120,0) 7%,rgba(255,226,150,.6) 9.4%,rgba(255,250,220,1) 10.2%,rgba(255,215,120,0) 11.11%);
  animation:gflux-across 9s linear infinite;
}
@keyframes gflux-across{to{transform:translateX(11.111%)}}
.gflux.floorfix{
  position:fixed;z-index:-2;opacity:1;mix-blend-mode:plus-lighter;
  -webkit-mask-image:url(/assets/gmask-pantheon.png);
  mask-image:url(/assets/gmask-pantheon.png);
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:cover;mask-size:cover;
}
.gflux.floorfix::after{content:"";position:absolute;inset:0;background:rgba(255,180,60,.55)}
.gflux.floorfix.across::before{
  background:repeating-linear-gradient(100deg,rgba(255,215,120,0) 0,rgba(255,215,120,0) 2.4%,rgba(255,226,150,.8) 3.2%,rgba(255,255,235,1) 3.6%,rgba(255,215,120,0) 3.7%);
  animation:gflux-across 11s linear infinite;
}
@media(prefers-reduced-motion:reduce){
  .gflux::before,.gflux::after,.gflux.floorfix.across::before{animation:none}
  .gflux.floorfix.across::before{opacity:0}
}

/* Tight tile grid */
.tiles{
  display:grid;
  grid-template-columns:1fr;
  gap:.75rem;
  padding:.55rem 0 1.15rem;
  align-items:stretch;
}
@media(min-width:600px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tiles>.span-all{grid-column:1/-1}
@media(min-width:960px){
  .tiles>.span-2{grid-column:span 2}
}
@media(min-width:800px){
  .tiles.tiles-close{grid-template-columns:1fr 1fr}
}
.tiles>section.tile,.tiles>.tile-intro{
  margin:0;
  background:rgba(10,10,10,.72);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  border:1px solid var(--line);
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(199,158,81,.08) inset,0 12px 30px rgba(0,0,0,.5);
  padding:1rem 1rem .9rem;
}
.tile p{color:var(--bone);font-size:1rem;line-height:1.55}
.eyebrow{
  font-family:"Cinzel", "Times New Roman", serif;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  color:var(--muted);
  margin:0 0 .55rem;
}

/* Hero — two offers at equal weight */
.offer-hero{padding:1.15rem 1.1rem 1.05rem}
.offer-copy h1{
  font-size:clamp(1.9rem, 5vw, 3.15rem);
  line-height:1.05;
  letter-spacing:-0.015em;
  margin:0 0 .55rem;
}
@media (min-width:901px){
  body.sh-page{padding-top:88px}
}
.offer-copy .g-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin:.15rem 0 .7rem;
  padding:.38rem .8rem .38rem .65rem;
  border:1px solid rgba(201,162,75,.5);
  border-radius:99px;
  background:rgba(0,0,0,.42);
  color:var(--gold-light);
  font-family:"Cinzel", "Times New Roman", serif;
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
}
.g-badge .stars{
  color:#e1b95c;
  letter-spacing:.14em;
  font-size:.92rem;
  font-family:Georgia, "Times New Roman", serif;
  text-transform:none;
}
.lede{max-width:40rem;margin:0;color:var(--bone)}
.offer-pair{
  display:grid;
  grid-template-columns:1fr;
  gap:.75rem;
  margin-top:1rem;
  align-items:stretch;
}
@media(min-width:800px){
  .offer-pair{grid-template-columns:1fr 1fr}
  .offer-pair.offer-solo{
    grid-template-columns:calc((100% - .75rem) / 2);
    justify-content:center;
  }
}
.offer-panel{
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--gold);
  border-radius:6px;
  padding:1rem 1rem .95rem;
  background:rgba(0,0,0,.35);
}
.offer-name{
  margin:0 0 .45rem;
  padding:0 0 .4rem;
  font-size:1.45rem;
  line-height:1.15;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  position:relative;
}
.offer-name::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:56px;
  height:1px;
  background:var(--gold-grad);
}
.price{margin:0 0 .15rem}
.price b{
  display:block;
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.5rem, 7vw, 3.5rem);
  line-height:.95;
  color:#f3d98a;
  letter-spacing:0;
  white-space:nowrap;
  text-shadow:0 0 14px rgba(232,200,119,.45),0 0 2px rgba(0,0,0,.6);
}
.price span{display:block;margin-top:.35rem;color:var(--gold-light);font-size:1.05rem;min-height:2.7em}
.was{margin:.35rem 0 .85rem;color:var(--muted);font-size:.92rem}
.offer-panel .btn-book{width:100%;margin-top:auto}
.offer-actions{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:.9rem}
.offer-actions .btn{
  display:flex;align-items:center;justify-content:center;
  min-height:52px;padding:.75rem .6rem;margin:0;
  font-family:"Cinzel", "Times New Roman", serif;
  font-weight:400;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;text-align:center;text-decoration:none;
  border-radius:2px;line-height:1.25;
}
a.btn-book{
  background:linear-gradient(175deg,#f0dfa4 0%,#c9a24b 55%,#93762f 100%);
  color:#1c1609;border:1px solid #c9a24b;
}
a.btn-book:hover{filter:brightness(1.06)}
a.btn-call{
  background:rgba(0,0,0,.35);
  color:var(--gold-light);
  border:1px solid var(--gold);
  letter-spacing:.04em;
  font-size:12px;
}
a.btn-call:hover{border-color:var(--gold-light);color:#f3d98a}
.hero-fine{
  margin:.75rem 0 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.45;
}
.fl-only{
  margin:.85rem 0 0;
  padding:.75rem .9rem;
  border:1px solid var(--gold);
  background:rgba(0,0,0,.5);
  color:var(--gold-light);
  font-size:1rem;
}
.fl-only b{color:#f3d98a;font-weight:600}
@media(min-width:960px){
  .tiles.steps-4{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:800px){
  .offer-hero{padding:1.3rem 1.35rem 1.15rem}
  .offer-panel{padding:1.1rem 1.15rem 1rem}
  a.btn-call{font-size:13px;letter-spacing:.08em}
}

/* Trust + steps */
.trust{padding:.85rem 1rem .75rem}
.trust-row{list-style:none;margin:0;padding:0;display:grid;gap:.85rem 1.25rem}
@media(min-width:800px){.trust-row{grid-template-columns:1.35fr .9fr .8fr;align-items:center}}
.trust-row li{display:flex;gap:.8rem;align-items:center;margin:0;min-width:0}
.trust-row p{margin:0;font-size:.95rem;line-height:1.45}
.trust h2{
  font-size:1.35rem;
  line-height:1.1;
  margin:0 0 .2rem;
  padding:0;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.trust h2::after{content:none}
.trust-avatar{
  width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:center 12%;
  flex:0 0 auto;border:1px solid var(--gold);
}
.stars{color:#e1b95c;letter-spacing:.14em;margin:0 0 .15rem;font-size:1rem}
.tiles>section.tile>h2,
.tiles>.tile-intro>h2{
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  position:relative;
  padding-bottom:.45rem;
  font-size:1.5rem;
  line-height:1.15;
  margin:0 0 .65rem;
}
.tiles>section.tile>h2:not(:first-child)::after,
.tiles>.tile-intro>h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:56px;
  height:1px;
  background:var(--gold-grad);
}
.tile-intro h2{font-size:clamp(1.85rem, 4vw, 2.35rem)}
.tiles>section.offer-hero>h2.row-label{margin:1.05rem 0 .15rem;font-size:clamp(1.7rem, 2.75vw, 2.5rem)}
.tiles>section.offer-hero>h2.row-label+.offer-pair{margin-top:.55rem}
.step-num{
  display:block;
  font-family:var(--display);
  color:var(--gold);
  font-size:1.7rem;
  line-height:1;
  margin:0 0 .35rem;
}

/* FAQ */
.faq details{border-bottom:1px solid rgba(199,158,81,.28);padding:.8rem 0}
.faq details:last-of-type{border-bottom:0;padding-bottom:.15rem}
.faq summary{
  cursor:pointer;
  font-family:var(--display);
  font-size:clamp(1.25rem, 3vw, 1.5rem);
  color:var(--gold-light);
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:baseline;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);flex:0 0 auto;font-size:1.35rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:.55rem 0 0}

.visit address{font-style:normal}
.visit a{text-decoration:none;border-bottom:1px solid rgba(199,158,81,.4)}
.hours{color:var(--muted);font-size:.95rem}

.book-again .lede{margin-bottom:.2rem}
.book-again .addr{margin:.85rem 0 0;color:var(--muted);font-size:.92rem}
.book-again .sms-note{margin:.9rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.5}
.book-again .sms-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.book-again .addr a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(199,158,81,.4)}

/* Clear offer terms, same panel as the other static pages */
.terms.sb-terms{margin-top:.4rem}
.terms.sb-terms p{text-transform:none !important;letter-spacing:.01em !important;font-size:.95rem !important;line-height:1.55 !important;font-family:var(--body) !important}
.terms.sb-terms h3{letter-spacing:.14em}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
