/* Rescu refine layer v1 — loaded last on every page.
   Quiet, site-wide polish: type rendering, wrapping, focus, legibility, motion preferences,
   plus the homepage service-story frames and buttons. Brand tokens unchanged. */

html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}
p,li,blockquote{text-wrap:pretty}
::selection{background:#E7714D;color:#2B0F1C}

/* Keyboard focus: visible, on-brand, never on mouse click */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid #E7714D;outline-offset:3px;border-radius:6px}

/* Legibility: footer fine print was 35% opacity on near-black */
.footer-copy{color:rgba(247,242,236,.62)!important}
.footer-copy.footer-disclaimer{color:rgba(247,242,236,.55)!important}

/* Respect reduced-motion settings */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.rv,.rev{opacity:1!important;transform:none!important}
}

/* ---------- Homepage service stories (.leon-sec) ---------- */
.leon-sec{padding:clamp(72px,11vh,128px) 8vw}
.leon-sec .split{gap:clamp(32px,6vw,96px)}
.leon-sec .panel{position:relative;border-radius:20px;overflow:hidden;background:#2B0F1C;
  box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(249,227,219,.06);aspect-ratio:4/5;max-height:78vh;margin:0}
.leon-sec .panel img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.leon-sec .panel:hover img{transform:scale(1.025)}
.leon-sec .panel::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(22,7,16,0) 55%,rgba(22,7,16,.55) 100%)}
.leon-sec .panel .tag{position:absolute;z-index:2;left:16px;bottom:16px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  color:#F9E3DB;background:rgba(22,7,16,.62);padding:8px 12px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

/* The service-story buttons had no styles (rendered as blue browser links) */
.lh2-btn{display:inline-flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;letter-spacing:.04em;
  color:#F9E3DB;text-decoration:none;padding:13px 22px;border-radius:999px;border:1px solid rgba(249,227,219,.28);
  transition:background-color .25s,border-color .25s,color .25s}
.lh2-btn:hover{background:#E7714D;border-color:#E7714D;color:#2B0F1C}
.lh2-btn:visited{color:#F9E3DB}
.lh2-btn:hover:visited{color:#2B0F1C}

@media (max-width:900px){
  .leon-sec{padding:64px 20px}
  .leon-sec .panel{aspect-ratio:4/4.4;max-height:none}
}

/* ---------- Layout fixes found in the v61 audit ---------- */
/* Homepage-style footer: 5 fixed columns never collapsed, hiding 3 link columns on phones */
@media (max-width:900px){
  footer.dfoot > .cols{grid-template-columns:1fr 1fr!important;gap:28px 20px!important}
  footer.dfoot > .cols > div:first-child{grid-column:1/-1}
}
/* Contact form: first/last name side by side overflowed small phones */
@media (max-width:520px){
  form[data-rescu-contact] div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}
/* Wellhub service cards: two fixed columns overflowed phones */
@media (max-width:640px){
  section.mx > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}
/* Data tables scroll inside their own box on phones instead of overflowing the page */
@media (max-width:640px){
  table.aeo-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ---------- v62.1 universal premium layer ---------- */
:root{--rescu-plum:#481B2E;--rescu-tang:#E7714D;--rescu-lav:#BAA5C0;--rescu-cer:#DCDFE7;--rescu-fawn:#F9E3DB;--rescu-chalk:#F7F7F7;--rescu-ink:#160710}
html{scroll-padding-top:96px;scroll-behavior:smooth}
body{overflow-x:hidden;background:var(--rescu-ink);color:var(--rescu-chalk)}
main{isolation:isolate}
main>section{position:relative}
main>section:not(.premium-home-hero):not(.premium-treatment-strip):not(.leon-premium-home):not(.fb-hero):not(.page-hero){border-top:1px solid rgba(249,227,219,.055)}
:where(.inner,.mx,.container,.wrap,.shell){width:min(100% - 40px,1240px);margin-inline:auto}
:where(h1,.page-h1,.fb-h1){letter-spacing:-.02em;line-height:.91}
:where(h2,h3){letter-spacing:-.012em}
:where(p,li){line-height:1.68}
:where(img,video){max-width:100%}
:where(.card,.tier,.bundle,.service-card,.result-card,.offer-card,.price-card){border-color:rgba(249,227,219,.12)!important;box-shadow:0 18px 55px rgba(0,0,0,.18)}
:where(.btn,.ph-btn,.lph-btn,.lh2-btn){min-height:44px;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
:where(.btn,.ph-btn,.lph-btn,.lh2-btn):hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.22)}
a[href^="tel:"],a[href^="mailto:"]{text-underline-offset:3px}

/* Persistent conversion rail: intentionally subtle on desktop, thumb-friendly on mobile */
.rescu-conversion-rail{position:fixed;z-index:950;right:18px;bottom:18px;display:flex;gap:8px;align-items:center;padding:7px;background:rgba(22,7,16,.76);border:1px solid rgba(249,227,219,.12);border-radius:999px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 44px rgba(0,0,0,.28)}
.rescu-conversion-rail a{font:700 11px/1 Montserrat,sans-serif;letter-spacing:.045em;text-decoration:none;border-radius:999px;padding:11px 14px;white-space:nowrap}
.rescu-conversion-rail .reset{background:var(--rescu-tang);color:#2B0F1C}
.rescu-conversion-rail .member{color:var(--rescu-fawn);border:1px solid rgba(249,227,219,.24)}
@media(max-width:720px){
  body{padding-bottom:68px}
  .rescu-conversion-rail{left:10px;right:10px;bottom:10px;justify-content:stretch;border-radius:18px;padding:6px}
  .rescu-conversion-rail a{flex:1;text-align:center;padding:12px 8px;font-size:10.5px}
  :where(.inner,.mx,.container,.wrap,.shell){width:min(100% - 32px,1240px)}
}
