/* ============================================================
   The Aspen Clinic — Global CSS
   Loaded site-wide via generatepress_child/functions.php
   Matches design system from Aspen_Clinic_Website_v2
   ============================================================ */

/* ── GOOGLE FONTS (loaded via theme enqueue) ── */
/* Cormorant (serif headings) + Outfit (sans-serif body) */

/* ── ROOT TOKENS ── */
:root {
  /* Brand guideline colors */
  --burnt-cocoa: #5A1F12;
  --terracotta:  #7F3C28;
  --soft-almond: #EAD9CA;

  /* Semantic tokens (mapped to brand guideline) */
  --choc:       #5A1F12;  /* Burnt Cocoa — primary dark */
  --brown:      #3A1410;  /* darker shade of Burnt Cocoa */
  --brown-mid:  #7F3C28;  /* Terracotta Muse — secondary */
  --brown-warm: #8B5E3C;  /* lighter accent (not in guideline) */
  --cream:      #EAD9CA;  /* Soft Almond — background */
  --ivory:      #F4EDE2;
  --taupe:      #E0D4C4;
  --warm-white: #FDFAF6;
  --gold:       #B8914A;
  --gold-lt:    #D4AD6E;
  --gold-pale:  #F0E4CC;
  --text:       #3A3A3A;  /* dark grey for body text on light bg */
  --text-mid:   #5A5A5A;  /* medium dark grey for body text */
  --text-soft:  #7A7A7A;  /* lighter grey for secondary text */
  --text-muted: #B8A088;
  --border:     rgba(90,31,18,0.1);
  --border-g:   rgba(184,145,74,0.22);
  --sh:         0 4px 28px rgba(90,31,18,0.08);
  --sh-lg:      0 16px 56px rgba(90,31,18,0.13);
  --nav-h:      70px;
}

/* ── RESET & BASE ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Outfit', sans-serif;
  background: var(--cream);
  color: var(--text);
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
}
img  { display: block; max-width: 100%; }
a    { text-decoration: none; }

/* ── GENERATEPRESS RESET — strip all default chrome ── */

/* Hide GP's own header/nav/footer — ours come from header.php/footer.php */
.site-header,
.main-navigation,
.site-footer,
.site-info,
.footer-widgets,
.top-bar                     { display: none !important; }

/* Remove GP's body top-padding that offsets for sticky header */
body.admin-bar #ac-nav        { top: 32px; }

/* Strip GP's content containers — let our sections control their own width */
.site-content                { padding: 0 !important; margin: 0 !important; }
.content-area                { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.site-main                   { padding: 0 !important; margin: 0 !important; }
.one-container .container,
.grid-container              { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
/* Inside-navigation can keep its own container — only strip page content */
.site-main .grid-container   { max-width: 100% !important; padding: 0 !important; }

/* Strip GP article/entry chrome */
.entry                       { padding: 0 !important; margin: 0 !important; box-shadow: none !important; background: none !important; border-radius: 0 !important; }
.entry-header                { display: none !important; }
.entry-footer                { display: none !important; }
.entry-content               { padding: 0 !important; margin: 0 !important; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child  { margin-bottom: 0; }

/* GP adds padding to .inside-article — remove */
.inside-article              { padding: 0 !important; }

/* ── SEPARATE-CONTAINERS MODE FIX ──
   GP body class "separate-containers" adds margin + background to site-main,
   content-area, and article elements. Strip all of it. */
.separate-containers .site-main          { margin: 0 !important; }
.separate-containers .inside-article     { background: none !important; box-shadow: none !important; padding: 0 !important; }
.separate-containers .content-area       { margin: 0 !important; padding: 0 !important; }
.separate-containers.right-sidebar .content-area,
.separate-containers.left-sidebar .content-area,
.separate-containers.no-sidebar .content-area { float: none !important; width: 100% !important; }
.widget-area, #sidebar-primary           { display: none !important; }

/* Ensure html/body fill full width with Aspen cream background */
html, body                   { background-color: var(--cream) !important; width: 100%; }

/* Admin bar offset for fixed nav */
@media screen and (min-width: 783px) {
  body.admin-bar #ac-nav     { top: 32px; }
}
@media screen and (max-width: 782px) {
  body.admin-bar #ac-nav     { top: 46px; }
}

/* ── UTILITIES ── */
.serif { font-family: 'Cormorant', serif; }
.ew {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--gold);
}
.container { max-width: 1120px; margin: 0 auto; padding: 0 5%; }

/* ── BUTTONS ── */
.btn-p {
  display: inline-block;
  background: var(--choc);
  color: #fff;
  padding: .95rem 2.1rem;
  border-radius: 2px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Outfit', sans-serif;
  transition: background .25s, transform .2s;
}
.btn-p:hover { background: var(--brown-mid); transform: translateY(-1px); }
.btn-o {
  display: inline-block;
  border: 1px solid var(--brown-mid);
  color: var(--brown-mid);
  padding: .95rem 2.1rem;
  border-radius: 2px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Outfit', sans-serif;
  transition: all .25s;
}
.btn-o:hover { background: var(--brown-mid); color: #fff; transform: translateY(-1px); }
.btn-g {
  display: inline-block;
  background: var(--gold);
  color: #fff;
  padding: 1.05rem 2.5rem;
  border-radius: 2px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Outfit', sans-serif;
  transition: background .25s, transform .2s;
}
.btn-g:hover { background: var(--gold-lt); transform: translateY(-2px); }
.btn-ghost {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.7);
  padding: 1.05rem 2.5rem;
  border-radius: 2px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Outfit', sans-serif;
  transition: all .25s;
}
.btn-ghost:hover { border-color: rgba(255,255,255,.5); color: #fff; }

/* ── NAV ── */
#ac-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  padding: 0 5%;
  background: rgba(250,246,240,.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
  transition: box-shadow .3s;
}
#ac-nav.sc { box-shadow: var(--sh); }
.ac-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.ac-logo-img {
  height: 44px;
  width: auto;
  display: block;
}
.ac-nav-links {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
}
.ac-nav-links a {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-mid);
  transition: color .2s;
}
.ac-nav-links a:hover,
.ac-nav-links a[aria-current="page"] { color: var(--choc); }
.ac-nav-book {
  background: var(--choc) !important;
  color: #fff !important;
  padding: .55rem 1.4rem;
  border-radius: 2px;
  transition: background .2s !important;
}
.ac-nav-book:hover { background: var(--brown-mid) !important; }
.ac-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  margin-left: auto;
  background: none;
  border: none;
  padding: 4px;
}
.ac-burger span {
  width: 22px;
  height: 1.5px;
  background: var(--choc);
  display: block;
  transition: .3s;
}

/* ── FOOTER ── */
#ac-footer {
  background: #120700;
  padding: 4.5rem 5% 2.5rem;
}
.ac-ft {
  max-width: 1120px;
  margin: 0 auto;
}
.ac-ft-top {
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1fr;
  gap: 3.5rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 2rem;
}
.ac-ft-brand {
  font-family: 'Cormorant', serif;
  font-size: 1.3rem;
  color: #fff;
  font-weight: 500;
  margin-bottom: .3rem;
}
.ac-ft-tag {
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}
.ac-ft-desc {
  font-size: .8rem;
  color: rgba(255,255,255,.3);
  line-height: 1.8;
  font-weight: 300;
}
.ac-ft-col-h {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  font-weight: 600;
  margin-bottom: 1.1rem;
}
.ac-ft-links { list-style: none; }
.ac-ft-links li { margin-bottom: .5rem; font-size: .8rem; font-weight: 300; }
.ac-ft-links a {
  font-size: .8rem;
  color: rgba(255,255,255,.3);
  transition: color .2s;
  font-weight: 300;
}
.ac-ft-links a:hover { color: rgba(255,255,255,.6); }
.ac-ft-bot {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
}
.ac-ft-disc {
  font-size: .7rem;
  color: rgba(255,255,255,.18);
  line-height: 1.7;
  max-width: 580px;
  font-weight: 300;
}
.ac-ft-copy {
  font-size: .7rem;
  color: rgba(255,255,255,.18);
}

/* ── SECTIONS SHARED ── */
section.ac { padding: 7rem 5%; }
.s-head { margin-bottom: 3.5rem; }
.s-head.ctr { text-align: center; }
.s-head.ctr .s-sub { margin: 1rem auto 0; }
.s-title {
  font-family: 'Cormorant', serif;
  font-size: clamp(2rem, 3.5vw, 2.9rem);
  font-weight: 500;
  color: var(--choc);
  line-height: 1.15;
  margin-top: .65rem;
}
.s-title em { font-style: italic; color: var(--brown-mid); }
.s-sub {
  font-size: .975rem;
  color: var(--text-mid);
  font-weight: 300;
  line-height: 1.8;
  max-width: 580px;
  margin-top: .9rem;
}

/* ── REVEAL ANIMATION ── */
.rv { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.rv.on { opacity: 1; transform: translateY(0); }
.rv1 { transition-delay: .1s; }
.rv2 { transition-delay: .2s; }
.rv3 { transition-delay: .3s; }

/* ── KEYFRAMES ── */
@keyframes fU {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes acSpin {
  to { transform: rotate(360deg); }
}

/* ── MOBILE ── */
@media (max-width: 900px) {
  .ac-nav-links { display: none; }
  .ac-burger    { display: flex; }
  .ac-ft-top    { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 500px) {
  .ac-ft-top { grid-template-columns: 1fr; }
}

/* ── MEGA MENU ── */
.ac-nav-has-mega { position: relative; }
.ac-mega {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  width: 720px;
  max-width: 90vw;
  background: var(--warm-white);
  border: 1px solid var(--border);
  border-radius: 4px;
  box-shadow: var(--sh-lg);
  padding: 1.75rem 1.75rem 1.25rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, transform .25s, visibility .25s;
  z-index: 210;
  pointer-events: none;
}
.ac-nav-has-mega:hover .ac-mega,
.ac-nav-has-mega:focus-within .ac-mega {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.ac-mega-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem;
}
.ac-mega-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: .7rem .85rem;
  border-radius: 3px;
  transition: background .2s;
  text-decoration: none;
}
.ac-mega-item:hover { background: var(--cream); }
.ac-mega-item .ew {
  font-size: 8px;
  letter-spacing: .12em;
  color: var(--text-muted);
  font-weight: 500;
}
.ac-mega-t {
  font-family: 'Cormorant', serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--choc);
  line-height: 1.2;
}
.ac-mega-item:hover .ac-mega-t { color: var(--brown-warm); }
.ac-mega-foot {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  text-align: center;
}
.ac-mega-all {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--gold);
  text-decoration: none;
  transition: color .2s;
}
.ac-mega-all:hover { color: var(--gold-lt); }

@media (max-width: 900px) {
  .ac-mega { display: none; }
}

/* ============================================================
   HOME PAGE STYLES (Moved from wp-block.html to avoid wpautop)
   ============================================================ */

/* HERO */
.ac-hero{min-height:100vh;padding-top:var(--nav-h,70px);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#FAF5EF;}
.ac-hero-l{display:flex;flex-direction:column;justify-content:center;padding:7rem 4% 7rem 7%;position:relative;}
.ac-hero-l::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 10% 60%,rgba(184,145,74,.07),transparent 55%);pointer-events:none;}
.ac-hero-tag{display:flex;align-items:center;gap:.7rem;margin-bottom:2rem;opacity:0;animation:fU .7s .1s forwards;}
.ac-hero-tag-line{width:28px;height:1px;background:var(--gold);}
.ac-hero-h1{font-family:'Cormorant',serif;font-size:clamp(2.6rem,4.2vw,3.8rem);font-weight:500;line-height:1.1;color:var(--choc);margin-bottom:1.5rem;opacity:0;animation:fU .7s .25s forwards;}
.ac-hero-h1 em{font-style:italic;color:var(--brown-mid);}
.ac-hero-sub{font-size:.975rem;color:var(--text-mid);line-height:1.8;max-width:460px;font-weight:300;margin-bottom:1rem;opacity:0;animation:fU .7s .4s forwards;}
.ac-hero-support{font-size:.8rem;color:var(--text-soft);font-weight:300;margin-bottom:2.5rem;opacity:0;animation:fU .7s .5s forwards;}
.ac-hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;opacity:0;animation:fU .7s .55s forwards;}
.ac-hero-r{position:relative;overflow:hidden;min-height:100vh;}
.ac-hero-img{position:absolute;inset:0;background:transparent;}
.ac-hero-img::before{content:'';position:absolute;inset:-15%;opacity:.35;background:url("data:image/svg+xml,%3Csvg width='1200' height='1200' viewBox='0 0 1200 1200' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='600' cy='600' r='550' fill='none' stroke='%235C3220' stroke-width='1'/%3E%3Ccircle cx='600' cy='600' r='420' fill='none' stroke='%235C3220' stroke-width='.7'/%3E%3Ccircle cx='600' cy='600' r='300' fill='none' stroke='%235C3220' stroke-width='.5'/%3E%3Ccircle cx='600' cy='600' r='180' fill='none' stroke='%235C3220' stroke-width='.3'/%3E%3Cline x1='0' y1='600' x2='1200' y2='600' stroke='%235C3220' stroke-width='.4'/%3E%3Cline x1='600' y1='0' x2='600' y2='1200' stroke='%235C3220' stroke-width='.4'/%3E%3C/svg%3E") center/contain no-repeat;animation:acSpin 120s linear infinite;will-change:transform;}
body.blog .ac-hero-img::before { animation: none !important; inset: -20% -60% -20% -20% !important; opacity: 0.15 !important; }
@media (max-width: 900px) {
  body.blog .ac-hero-img::before { inset: -20% !important; opacity: 0.1 !important; }
}
@media (prefers-reduced-motion:reduce){.ac-hero-img::before{animation:none;}}
.ac-hero-fade{position:absolute;inset:0;background:linear-gradient(to right,#FAF5EF 0%,transparent 14%);}
.ac-hero-badge{position:absolute;bottom:3rem;left:2.5rem;background:rgba(250,245,239,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.25rem 1.75rem;border-radius:3px;border-left:3px solid var(--gold);}
.ac-hero-badge-n{font-family:'Cormorant',serif;font-size:1.9rem;font-weight:500;color:var(--choc);line-height:1;}
.ac-hero-badge-l{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-top:3px;}

/* TRUST BAR */
.ac-trust{background:var(--choc);padding:1.1rem 5%;}
.ac-trust-inner{display:flex;justify-content:center;flex-wrap:wrap;}
.ac-trust-item{display:flex;align-items:center;gap:.45rem;padding:.45rem 1.75rem;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.65);position:relative;}
.ac-trust-item+.ac-trust-item::before{content:'';position:absolute;left:0;top:20%;height:60%;width:1px;background:rgba(255,255,255,.12);}
.ac-td{width:3.5px;height:3.5px;border-radius:50%;background:var(--gold);flex-shrink:0;}

/* PROBLEM */
.ac-problem{background:var(--ivory);}
.ac-prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:stretch;}
.ac-prob-left{background:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/quote-bg-scaled.webp') center/cover no-repeat;border-radius:4px;position:relative;min-height:480px;}
.ac-problem:nth-of-type(2) .ac-prob-left{background-image:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/about-quote-bg.webp');}
.ac-prob-left.ac-contact-bg{background-image:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/contact-bg-v2.webp');}
.ac-prob-card{background:rgba(253,250,246,.92);backdrop-filter:blur(3px);border:1px solid var(--border);border-radius:4px;padding:2.25rem 2.25rem 2rem;box-shadow:var(--sh);position:relative;}
.ac-prob-left .ac-prob-card{position:absolute;right:-3rem;bottom:-2rem;width:90%;}
.ac-prob-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--gold),var(--brown-warm));border-radius:4px 0 0 4px;}
.ac-prob-quote{font-family:'Cormorant',serif;font-size:1.2rem;font-style:italic;color:var(--choc);line-height:1.6;margin-bottom:1rem;}
.ac-prob-attr{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
.ac-prob-list{list-style:none;margin-top:2rem;}
.ac-prob-item{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 0;border-bottom:1px solid var(--border);}
.ac-prob-item:last-child{border-bottom:none;}
.ac-prob-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:9px;}
.ac-prob-txt{font-size:.9rem;color:var(--text-mid);line-height:1.65;font-weight:300;}
.ac-prob-txt strong{color:var(--choc);font-weight:500;}
.ac-prob-close{font-size:.9rem;color:var(--text-mid);font-weight:300;line-height:1.75;margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--border);}
.ac-prob-close em{font-family:'Cormorant',serif;font-style:italic;color:var(--choc);font-size:1.05rem;}

/* DIFFERENCE */
.ac-diff{background:var(--warm-white);}
.ac-diff-intro{font-size:.975rem;color:var(--text-mid);font-weight:300;line-height:1.8;max-width:640px;margin-bottom:3rem;}
.ac-diff-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.ac-dc{background:var(--cream);border:1px solid var(--border);border-radius:4px;padding:2.5rem 2rem;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.ac-dc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold),var(--brown-warm));transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.ac-dc:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);}
.ac-dc:hover::after{transform:scaleX(1);}
.ac-dc-n{font-family:'Cormorant',serif;font-size:3.2rem;font-weight:300;color:var(--gold);line-height:1;margin-bottom:1.25rem;}
.ac-dc-t{font-family:'Cormorant',serif;font-size:1.45rem;font-weight:500;color:var(--choc);margin-bottom:.65rem;}
.ac-dc-b{font-size:.875rem;color:var(--text-mid);line-height:1.8;font-weight:300;}

/* CTA */
.ac-cta{background:var(--choc);text-align:center;padding:8rem 5%;position:relative;overflow:hidden;}
.ac-cta::before{content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:130%;height:200%;background:radial-gradient(ellipse at center,rgba(184,145,74,.1),transparent 55%);pointer-events:none;}
.ac-cta .ew{color:var(--gold);display:block;margin-bottom:1.5rem;}
.ac-cta-h{font-family:'Cormorant',serif;font-size:clamp(2rem,3.8vw,3rem);font-weight:500;color:#fff;line-height:1.2;margin-bottom:1.25rem;max-width:620px;margin-left:auto;margin-right:auto;}
.ac-cta-s{font-size:.9rem;color:rgba(255,255,255,.45);margin-bottom:2.75rem;font-weight:300;}
.ac-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ============================================================
   HOME PAGE — ADDITIONAL SECTIONS (from v2 mockup)
   Process · Conditions · Doctor Trust · First Visit
   ============================================================ */

/* PROCESS */
.ac-process{background:var(--choc);}
.ac-process .ew{color:var(--gold-lt);}
.ac-process .s-title{color:#fff;}
.ac-process .s-sub{color:rgba(255,255,255,.45);}
.ac-proc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem;}
.ac-pc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:2rem 2rem 1.75rem;transition:background .3s,border-color .3s,transform .3s,box-shadow .3s;}
.ac-pc:hover{background:rgba(255,255,255,.07);border-color:rgba(184,145,74,.3);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,0.25);}
.ac-pc-num{font-family:'Cormorant',serif;font-size:2.5rem;font-weight:300;color:rgba(184,145,74,.35);line-height:1;margin-bottom:1rem;}
.ac-pc-t{font-size:.975rem;font-weight:600;color:#fff;letter-spacing:.02em;margin-bottom:.4rem;}
.ac-pc-b{font-size:.85rem;color:rgba(255,255,255,.45);line-height:1.8;font-weight:300;}
.ac-pc.span2{grid-column:span 2;}

/* CONDITIONS */
.ac-conditions{background:var(--ivory);}
.ac-cond-wrap{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;}
.ac-cond-pill{background:var(--warm-white);border:1px solid var(--border);border-radius:100px;padding:.65rem 1.35rem;font-size:.8rem;font-weight:500;color:var(--text-mid);letter-spacing:.02em;transition:all .25s;cursor:default;}
.ac-cond-pill:hover{background:var(--choc);color:#fff;border-color:var(--choc);transform:translateY(-2px);}
.ac-cond-note{background:var(--gold-pale);border-left:3px solid var(--gold);border-radius:0 3px 3px 0;padding:1.1rem 1.5rem;font-size:.825rem;color:var(--text-mid);line-height:1.7;font-weight:300;}
.ac-cond-note strong{color:var(--choc);font-weight:500;}

/* BENTO GRID AREAS OF FOCUS */
.ac-bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;margin-top:2rem;}
.ac-focus-card{background:var(--warm-white);border:1px solid var(--border);border-radius:4px;padding:2rem 2rem;display:flex;flex-direction:column;justify-content:center;transition:transform .3s,box-shadow .3s;min-height:140px;position:relative;}
.ac-focus-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--border-g);}
.ac-focus-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--gold);opacity:0;transition:opacity .3s;border-radius:4px 0 0 4px;}
.ac-focus-card:hover::before{opacity:1;}
.ac-focus-card-t{font-family:'Cormorant',serif;font-size:1.35rem;font-weight:500;color:var(--choc);margin-bottom:.5rem;}
.ac-focus-card-d{font-size:.825rem;color:var(--text-mid);line-height:1.65;font-weight:300;margin:0;}
.ac-bento-span-2{grid-column:span 2;}
.ac-bento-span-3{grid-column:span 3;}

@media(max-width:900px){
  .ac-bento-grid{grid-template-columns:repeat(2,1fr);}
  .ac-bento-span-2, .ac-bento-span-3{grid-column:span 2;}
}
@media(max-width:600px){
  .ac-bento-grid{grid-template-columns:1fr;}
  .ac-bento-span-2, .ac-bento-span-3{grid-column:span 1;}
}

/* CHECKLIST */
.ac-checklist{list-style:none;display:flex;flex-direction:column;gap:.9rem;margin-bottom:2.5rem;max-width:560px;margin-left:0;padding-left:0;}
.ac-checklist-item{display:flex;align-items:center;gap:.85rem;font-size:.925rem;color:var(--text-mid);font-weight:300;}
.ac-checklist-icon{color:var(--gold);flex-shrink:0;width:18px;height:18px;}

/* DOCTOR TRUST */
.ac-doctr{background:var(--warm-white);}
.ac-doctr-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.ac-doc-visual{position:relative;height:520px;}
.ac-doc-img-main{position:absolute;top:0;left:0;width:72%;height:82%;background:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/dr-ridhwan.webp') center top/cover no-repeat,linear-gradient(145deg,#C8A07A,#5C3220);border-radius:4px;overflow:hidden;}
.ac-doc-img-main::after{content:'Dr. Ridhwan';position:absolute;bottom:1.25rem;left:1.25rem;font-family:'Cormorant',serif;font-size:1rem;font-style:italic;color:rgba(255,255,255,.75);}
.ac-doc-img-sec{position:absolute;bottom:0;right:0;width:52%;height:52%;background:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/dr-iman.webp') center top/cover no-repeat,linear-gradient(145deg,#E0C090,#8B5E3C);border-radius:4px;border:4px solid var(--warm-white);overflow:hidden;}
.ac-doc-img-sec::after{content:'Dr. Iman';position:absolute;bottom:1rem;left:1rem;font-family:'Cormorant',serif;font-size:.9rem;font-style:italic;color:rgba(255,255,255,.75);}
.ac-doc-note{background:var(--ivory);border:1px solid var(--border);border-radius:4px;padding:1.75rem 2rem;margin-top:2rem;position:relative;}
.ac-doc-note::before{content:'\201C';font-family:'Cormorant',serif;font-size:5rem;color:var(--taupe);position:absolute;top:-1.5rem;left:1.5rem;line-height:1;}
.ac-doc-note-q{font-family:'Cormorant',serif;font-size:1.1rem;font-style:italic;color:var(--choc);line-height:1.6;position:relative;z-index:1;}
.ac-doc-note-a{font-size:.775rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:.75rem;}
.ac-doc-creds{display:flex;flex-direction:column;gap:1.1rem;margin-top:2.25rem;}
.ac-cred{display:flex;align-items:flex-start;gap:.85rem;}
.ac-cred-ic{width:34px;height:34px;border-radius:50%;background:var(--gold-pale);border:1px solid var(--border-g);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;color:var(--gold);}
.ac-cred-tx{font-size:.85rem;color:var(--text-mid);line-height:1.65;font-weight:300;}
.ac-cred-tx strong{color:var(--choc);font-weight:500;display:block;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1px;}

/* FIRST VISIT */
.ac-visit{background:var(--cream);}
.ac-visit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.ac-vc{background:var(--warm-white);border:1px solid var(--border);border-radius:4px;padding:2.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;transition:box-shadow .25s,transform .25s;}
.ac-vc:hover{box-shadow:var(--sh);transform:translateY(-3px);}
.ac-vc-chk{width:44px;height:44px;border-radius:50%;background:var(--gold-pale);border:1px solid var(--border-g);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold);}
.ac-vc-chk svg{width:22px;height:22px;}
.ac-vc-tx{font-size:.85rem;color:var(--text-mid);line-height:1.7;font-weight:300;}
.ac-vc-tx strong{color:var(--choc);font-weight:500;display:block;margin-bottom:.35rem;font-size:.9rem;}

/* BENTO BOX — modern card grid with icons */
.ac-bento{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.ac-bento-card{background:var(--warm-white);border:1px solid var(--border);border-radius:8px;padding:2rem 1.75rem;display:flex;flex-direction:column;gap:.85rem;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;}
.ac-bento-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);}
.ac-bento-card.ac-bento-dark{background:var(--choc);border-color:transparent;}
.ac-bento-card.ac-bento-dark .ac-bento-t{color:#fff;}
.ac-bento-card.ac-bento-dark .ac-bento-d{color:rgba(255,255,255,.5);}
.ac-bento-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;}
.ac-bento-dark .ac-bento-icon{color:var(--gold-lt);}
.ac-bento-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.ac-bento-t{font-family:'Cormorant',serif;font-size:1.15rem;font-weight:500;color:var(--choc);line-height:1.3;}
.ac-bento-d{font-size:.85rem;color:var(--text-mid);line-height:1.7;font-weight:300;}
@media(max-width:900px){.ac-bento{grid-template-columns:1fr;}}

/* FLOW GRID — 4-column with arrow connectors */
.ac-flow-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:0;align-items:stretch;}
.ac-flow-card{background:var(--warm-white);border:1px solid var(--border);border-radius:4px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;}
.ac-flow-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold),var(--brown-warm));transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.ac-flow-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);}
.ac-flow-card:hover::after{transform:scaleX(1);}
.ac-flow-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;}
.ac-flow-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.ac-flow-num{font-family:'Cormorant',serif;font-size:.75rem;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;}
.ac-flow-tx{font-size:.85rem;color:var(--text-mid);line-height:1.7;font-weight:300;}
.ac-flow-tx strong{color:var(--choc);font-weight:500;display:block;margin-bottom:.35rem;font-size:.9rem;}
.ac-flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--taupe);padding:0 .5rem;}
.ac-flow-arrow svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

@media(max-width:900px){
  .ac-flow-grid{grid-template-columns:1fr;gap:0;}
  .ac-flow-arrow{transform:rotate(90deg);padding:.75rem 0;}
}

/* MOBILE — additional sections */
@media(max-width:900px){
  .ac-hero{grid-template-columns:1fr;}
  .ac-hero-r{height:380px;min-height:380px;overflow:hidden;}
  .ac-hero-img{left:0;}
  .ac-hero-fade{left:0;background:linear-gradient(to bottom,var(--cream) 0%,transparent 30%);}
  .ac-hero-l{padding:4.5rem 5% 3rem;}
  .ac-prob-grid{grid-template-columns:1fr;gap:2.5rem;}
  .ac-diff-cards{grid-template-columns:1fr;}
  .ac-proc-grid{grid-template-columns:1fr;}
  .ac-pc.span2{grid-column:span 1;}
  .ac-doctr-grid{grid-template-columns:1fr;gap:2.5rem;}
  .ac-doc-visual{height:400px;}
  .ac-visit-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .ac-visit-grid{grid-template-columns:1fr;}
}

/* ============================================================
   PROGRAMMES (from v2 mockup — used on Services hub + home)
   ============================================================ */
.ac-programmes{background:var(--ivory);}
.ac-prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.ac-pgc{background:var(--warm-white);border:1px solid var(--border);border-radius:4px;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.ac-pgc:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.ac-pgc-hd{aspect-ratio:1/1;height:auto;position:relative;overflow:hidden;}
.ac-pgc:nth-child(1) .ac-pgc-hd{background:linear-gradient(rgba(0,0,0,0.15),rgba(0,0,0,0.45)), url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/aspen-reset-bg.jpg') center/cover no-repeat;}
.ac-pgc:nth-child(2) .ac-pgc-hd{background:linear-gradient(rgba(0,0,0,0.15),rgba(0,0,0,0.45)), url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/metabolic-map-bg.jpg') center/cover no-repeat;}
.ac-pgc:nth-child(3) .ac-pgc-hd{background:linear-gradient(rgba(0,0,0,0.15),rgba(0,0,0,0.45)), url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/longevity-review-bg.jpg') center/cover no-repeat;}
.ac-pgc-hd::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 40%,rgba(255,255,255,.13),transparent 55%);}
.ac-pgc-tag{position:absolute;bottom:1.1rem;left:1.4rem;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);background:rgba(0,0,0,.18);padding:3px 9px;border-radius:100px;}
.ac-pgc-bd{padding:1.6rem 1.6rem 1.4rem;}
.ac-pgc-n{font-family:'Cormorant',serif;font-size:1.3rem;font-weight:500;color:var(--choc);margin-bottom:.4rem;}
.ac-pgc-d{font-size:.825rem;color:var(--text-mid);line-height:1.75;font-weight:300;margin-bottom:1.1rem;}
.ac-pgc-lnk{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:.4rem;transition:gap .2s;}
.ac-pgc-lnk:hover{gap:.65rem;}
.ac-prog-note{text-align:center;font-size:.8rem;color:var(--text-muted);margin-top:1.75rem;font-weight:300;}

@media(max-width:900px){
  .ac-prog-grid{grid-template-columns:1fr;}
}

/* ============================================================
   DOCTOR PAGES
   ============================================================ */

/* DOCTOR HUB CARDS */
.ac-doc-cards{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
.ac-doc-card{background:var(--warm-white);border:1px solid var(--border);border-radius:4px;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.ac-doc-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.ac-doc-card-portrait{height:340px;position:relative;overflow:hidden;background:linear-gradient(145deg,#C8A07A,#5C3220);}
.ac-doc-card-portrait[data-name="Dr. Ridhwan"]{background:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/dr-ridhwan.webp') center top/cover no-repeat,linear-gradient(145deg,#C8A07A,#5C3220);}
.ac-doc-card-portrait[data-name="Dr. Iman"]{background:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/dr-iman.webp') center top/cover no-repeat,linear-gradient(145deg,#E0C090,#8B5E3C);}
.ac-doc-card-portrait::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.13),transparent 55%);}
.ac-doc-card-portrait::after{content:attr(data-name);position:absolute;bottom:1.5rem;left:1.75rem;font-family:'Cormorant',serif;font-size:1.4rem;font-style:italic;color:rgba(255,255,255,.8);}
.ac-doc-card-body{padding:2rem 1.75rem 1.75rem;}
.ac-doc-card-role{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:.5rem;}
.ac-doc-card-name{font-family:'Cormorant',serif;font-size:1.6rem;font-weight:500;color:var(--choc);margin-bottom:.75rem;line-height:1.2;}
.ac-doc-card-bio{font-size:.875rem;color:var(--text-mid);line-height:1.8;font-weight:300;margin-bottom:1.25rem;}

/* DOCTOR PROFILE — editorial layout */
.ac-doc-profile{display:grid;grid-template-columns:340px 1fr;gap:4rem;align-items:flex-start;}
.ac-doc-sidebar{position:sticky;top:100px;}
.ac-doc-portrait{height:420px;border-radius:4px;overflow:hidden;position:relative;background:linear-gradient(145deg,#C8A07A,#5C3220);margin-bottom:1.5rem;}
.ac-doc-portrait[data-name="Dr. Ridhwan"]{background:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/dr-ridhwan.webp') center top/cover no-repeat,linear-gradient(145deg,#C8A07A,#5C3220);}
.ac-doc-portrait[data-name="Dr. Iman"]{background:url('https://the-aspen-clinic.lamanify.site/wp-content/uploads/2026/07/dr-iman.webp') center top/cover no-repeat,linear-gradient(145deg,#E0C090,#8B5E3C);}
.ac-doc-portrait::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.13),transparent 55%);}
.ac-doc-portrait::after{content:attr(data-name);position:absolute;bottom:1.5rem;left:1.5rem;font-family:'Cormorant',serif;font-size:1.2rem;font-style:italic;color:rgba(255,255,255,.8);}
.ac-doc-side-name{font-family:'Cormorant',serif;font-size:1.3rem;font-weight:500;color:var(--choc);line-height:1.2;margin-bottom:.2rem;}
.ac-doc-side-role{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.25rem;}
.ac-doc-side-creds{list-style:none;}
.ac-doc-side-cred{display:flex;align-items:flex-start;gap:.65rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.8rem;color:var(--text-mid);line-height:1.6;font-weight:300;}
.ac-doc-side-cred:last-child{border-bottom:none;}
.ac-doc-side-cred strong{color:var(--choc);font-weight:500;display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1px;}

/* DOCTOR NOTE — readable text column */
.ac-doc-note-head{font-family:'Cormorant',serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;color:var(--choc);line-height:1.2;margin-bottom:1.5rem;}
.ac-doc-note-head em{font-style:italic;color:var(--brown-mid);}
.ac-doc-body{font-size:.95rem;color:var(--text-mid);line-height:1.9;font-weight:300;max-width:620px;}
.ac-doc-body p{margin-bottom:1.3rem;}
.ac-doc-body p:first-of-type{font-size:1.05rem;color:var(--choc);font-weight:400;}
.ac-doc-body strong{color:var(--choc);font-weight:500;}
.ac-doc-body em{font-style:italic;color:var(--brown-mid);}
.ac-doc-sub-head{font-family:'Cormorant',serif;font-size:1.4rem;font-weight:500;color:var(--choc);margin:2.5rem 0 1rem;letter-spacing:.01em;}

/* PULL QUOTE */
.ac-doc-pullquote{font-family:'Cormorant',serif;font-size:1.35rem;font-style:italic;color:var(--choc);line-height:1.5;border-left:3px solid var(--gold);padding:.5rem 0 .5rem 1.75rem;margin:2rem 0;}

/* SIGNATURE */
.ac-doc-sig{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.ac-doc-sig-name{font-family:'Cormorant',serif;font-size:1.1rem;font-weight:500;color:var(--choc);}
.ac-doc-sig-role{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-top:2px;}

/* INTERESTS */
.ac-doc-interests-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);font-weight:500;margin-bottom:.75rem;}

@media(max-width:900px){
  .ac-doc-cards{grid-template-columns:1fr;}
  .ac-doc-profile{grid-template-columns:1fr;gap:2.5rem;}
  .ac-doc-sidebar{position:static;}
  .ac-doc-portrait{height:340px;}
}

/* ============================================================
   BLOG — LISTING + SINGLE POST
   ============================================================ */

/* ── BLOG HERO ── */
.ac-blog-hero { padding: 9rem 5% 3rem; background: var(--cream); }

/* Static circle background overlay for blog hero */
.ac-hero-blog-decor {
  position: absolute;
  top: 50%;
  right: -10%;
  transform: translateY(-50%);
  width: 70%;
  height: 140%;
  opacity: .18;
  background: url("data:image/svg+xml,%3Csvg width='1200' height='1200' viewBox='0 0 1200 1200' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='600' cy='600' r='550' fill='none' stroke='%235C3220' stroke-width='1'/%3E%3Ccircle cx='600' cy='600' r='420' fill='none' stroke='%235C3220' stroke-width='.7'/%3E%3Ccircle cx='600' cy='600' r='300' fill='none' stroke='%235C3220' stroke-width='.5'/%3E%3Ccircle cx='600' cy='600' r='180' fill='none' stroke='%235C3220' stroke-width='.3'/%3E%3Cline x1='0' y1='600' x2='1200' y2='600' stroke='%235C3220' stroke-width='.4'/%3E%3Cline x1='600' y1='0' x2='600' y2='1200' stroke='%235C3220' stroke-width='.4'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 900px) {
  .ac-hero-blog-decor {
    width: 100%;
    height: 100%;
    right: 0;
    top: 60%;
    opacity: .12;
  }
}

/* ── POST GRID ── */
.ac-blog-grid { padding: 3rem 5% 7rem; background: var(--cream); }
.ac-blog-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2.5rem;
  margin-bottom: 4rem;
}
.ac-blog-card {
  background: var(--warm-white);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
  transition: box-shadow .3s, transform .3s;
}
.ac-blog-card:hover {
  box-shadow: var(--sh-lg);
  transform: translateY(-4px);
}
.ac-blog-card-img {
  display: block;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: var(--taupe);
}
.ac-blog-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.ac-blog-card:hover .ac-blog-card-img img { transform: scale(1.04); }
.ac-blog-card-ph {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--taupe), var(--ivory));
}
.ac-blog-card-body { padding: 1.75rem 1.75rem 2rem; }
.ac-blog-card-meta {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .75rem;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
}
.ac-blog-card-cat { color: var(--gold); }
.ac-blog-card-cat a { color: inherit; }
.ac-blog-card-date { color: var(--text-muted); }
.ac-blog-card-t {
  font-family: 'Cormorant', serif;
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--choc);
  line-height: 1.3;
  margin-bottom: .65rem;
}
.ac-blog-card-t a { color: inherit; }
.ac-blog-card-t a:hover { color: var(--brown-mid); }
.ac-blog-card-excerpt {
  font-size: .9rem;
  color: var(--text-mid);
  font-weight: 300;
  line-height: 1.7;
  margin-bottom: 1rem;
}
.ac-blog-card-link {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--brown-warm);
  transition: color .25s;
}
.ac-blog-card-link:hover { color: var(--choc); }

/* ── EMPTY STATE ── */
.ac-blog-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 4rem 2rem;
  color: var(--text-soft);
  font-family: 'Cormorant', serif;
  font-size: 1.3rem;
  font-style: italic;
}

/* ── PAGINATION ── */
.ac-blog-grid .pagination,
.ac-blog-grid .nav-links {
  display: flex;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.ac-blog-grid .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 .75rem;
  border: 1px solid var(--border);
  border-radius: 3px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-mid);
  transition: all .25s;
}
.ac-blog-grid .page-numbers:hover,
.ac-blog-grid .page-numbers.current {
  background: var(--choc);
  color: #fff;
  border-color: var(--choc);
}

/* ── SINGLE POST: HERO ── */
.ac-post-hero { padding: 9rem 5% 2.5rem; background: var(--cream); }
.ac-post-cats {
  display: flex;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.ac-post-cat {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--gold);
  padding: .3rem .8rem;
  border: 1px solid var(--border-g);
  border-radius: 2px;
  transition: all .25s;
}
.ac-post-cat:hover { background: var(--gold); color: #fff; }
.ac-post-title {
  font-family: 'Cormorant', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  color: var(--choc);
  line-height: 1.2;
  letter-spacing: -.01em;
}
.ac-post-meta {
  margin-top: 1.25rem;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-soft);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}
.ac-post-meta-dot { color: var(--text-muted); }

/* ── FEATURED IMAGE ── */
.ac-post-featured-wrap { padding: 0 5% 2rem; background: var(--cream); }
.ac-post-featured {
  max-width: 860px;
  margin: 0 auto;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: var(--sh-lg);
}
.ac-post-featured img { width: 100%; height: auto; display: block; }

/* ── POST BODY ── */
.ac-post-body { padding: 3rem 5% 4rem; background: var(--warm-white); }
.ac-post-content {
  max-width: 720px;
  margin: 0 auto;
  font-size: 1.05rem;
  color: var(--text-mid);
  line-height: 1.85;
  font-weight: 300;
}
.ac-post-content p { margin-bottom: 1.5rem; }
.ac-post-content p:first-of-type {
  font-size: 1.15rem;
  color: var(--choc);
  font-weight: 400;
}
.ac-post-content h2,
.ac-post-content h3,
.ac-post-content h4 {
  font-family: 'Cormorant', serif;
  color: var(--choc);
  font-weight: 500;
  line-height: 1.3;
  margin: 2.5rem 0 1rem;
}
.ac-post-content h2 { font-size: 1.7rem; }
.ac-post-content h3 { font-size: 1.4rem; }
.ac-post-content strong { color: var(--choc); font-weight: 600; }
.ac-post-content em { font-style: italic; color: var(--brown-mid); }
.ac-post-content a { color: var(--brown-warm); text-decoration: underline; text-decoration-color: var(--border-g); text-underline-offset: 3px; }
.ac-post-content a:hover { color: var(--choc); text-decoration-color: var(--gold); }
.ac-post-content ul,
.ac-post-content ol { margin: 0 0 1.5rem 1.5rem; }
.ac-post-content li { margin-bottom: .5rem; }
.ac-post-content blockquote {
  font-family: 'Cormorant', serif;
  font-size: 1.35rem;
  font-style: italic;
  color: var(--choc);
  line-height: 1.5;
  border-left: 3px solid var(--gold);
  padding: .5rem 0 .5rem 1.75rem;
  margin: 2rem 0;
}
.ac-post-content img { border-radius: 4px; margin: 1.5rem 0; }
.ac-post-content pre {
  background: var(--ivory);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 1.25rem;
  overflow-x: auto;
  font-size: .875rem;
  margin: 1.5rem 0;
}
.ac-post-content code { font-family: monospace; font-size: .9em; }
.ac-post-content hr { border: none; border-top: 1px solid var(--border); margin: 2.5rem 0; }
.ac-post-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.ac-post-content th, .ac-post-content td { border: 1px solid var(--border); padding: .75rem; text-align: left; }
.ac-post-content th { background: var(--ivory); font-weight: 500; }

/* ── POST FOOTER ── */
.ac-post-foot {
  max-width: 720px;
  margin: 3rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.ac-post-tags { display: flex; gap: .5rem; flex-wrap: wrap; }
.ac-post-tags a {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-soft);
  padding: .3rem .7rem;
  border: 1px solid var(--border);
  border-radius: 2px;
  transition: all .25s;
}
.ac-post-tags a:hover { border-color: var(--gold); color: var(--gold); }
.ac-post-back {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--brown-warm);
  transition: color .25s;
}
.ac-post-back:hover { color: var(--choc); }

/* ── POST CTA ── */
.ac-post-cta { padding: 4rem 5% 7rem; background: var(--cream); }
.ac-cta-box {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  background: var(--choc);
  color: #fff;
  padding: 3.5rem 2.5rem;
  border-radius: 4px;
}
.ac-cta-box h2 {
  font-family: 'Cormorant', serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 1rem;
  color: #fff;
}
.ac-cta-box p {
  font-size: .95rem;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(255,255,255,.7);
  margin-bottom: 2rem;
}

/* ── BLOG RESPONSIVE ── */
@media (max-width: 900px) {
  .ac-blog-cards { grid-template-columns: 1fr; }
  .ac-post-foot { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   FORMINATOR FORM OVERRIDES
   Matches Aspen Clinic's brand typography, colors, and layout
   ============================================================ */
.forminator-custom-form {
  max-width: 100% !important;
  font-family: 'Outfit', sans-serif !important;
}

/* Clear default background/border styling */
.forminator-custom-form,
.forminator-ui.forminator-custom-form-126 {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

/* Labels and Helper Text */
.forminator-ui.forminator-custom-form-126 .forminator-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--choc) !important;
  margin-bottom: 8px !important;
}

.forminator-ui.forminator-custom-form-126 .forminator-description {
  font-size: 11px !important;
  color: var(--text-soft) !important;
  margin-top: 4px !important;
}

/* Input & Select Custom Fields */
.forminator-ui.forminator-custom-form-126 .forminator-input,
.forminator-ui.forminator-custom-form-126 .forminator-select,
.forminator-ui.forminator-custom-form-126 .forminator-textarea,
.forminator-ui.forminator-custom-form-126 select.forminator-select--field,
.forminator-ui.forminator-custom-form-126 .forminator-select2 + .select2-container .select2-selection {
  background-color: var(--warm-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 2px !important;
  color: var(--text) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  height: auto !important;
  padding: 12px 16px !important;
  transition: border-color .25s, box-shadow .25s !important;
  box-sizing: border-box !important;
}

/* Focus and Active States */
.forminator-ui.forminator-custom-form-126 .forminator-input:focus,
.forminator-ui.forminator-custom-form-126 .forminator-textarea:focus,
.forminator-ui.forminator-custom-form-126 .forminator-select2 + .select2-container--open .select2-selection {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px rgba(184, 145, 74, 0.12) !important;
  outline: none !important;
}

/* Submit Button */
.forminator-ui.forminator-custom-form-126 .forminator-button-submit {
  display: inline-block !important;
  background: var(--choc) !important;
  color: #fff !important;
  padding: .95rem 2.1rem !important;
  border-radius: 2px !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-family: 'Outfit', sans-serif !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .25s, transform .2s !important;
  box-shadow: none !important;
  width: auto !important;
}

.forminator-ui.forminator-custom-form-126 .forminator-button-submit:hover {
  background: var(--brown-mid) !important;
  transform: translateY(-1px) !important;
}

/* Adjust wrapper layout */
.forminator-ui.forminator-custom-form-126 .forminator-row {
  margin-bottom: 20px !important;
}


