:root{
  --alv-charcoal:#36474C;--alv-cream:#FAF7F1;--alv-cream-lt:#FFFFFF;--alv-stone:#A89A87;--alv-taupe:#6E5D4A;/* darkened from #7A6A58 for WCAG AA on cream */
  --alv-salmon:#C5A86E;--alv-salmon-dk:#7C6228;--alv-ink:#1A1A1A;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--alv-cream);color:var(--alv-ink);font-family:'Inter','Inter Fallback',sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
img,iframe{max-width:100%;height:auto;}
h1,h2,h3,h4{font-family:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;font-weight:500;letter-spacing:-0.015em;margin:0;line-height:1.1;color:var(--alv-charcoal);}
p{margin:0;}
a{color:inherit;}

/* SKIP LINK (accessibility) */
.alv-skip-link{position:absolute;left:-9999px;top:0;background:var(--alv-charcoal);color:var(--alv-cream);padding:14px 22px;text-decoration:none;font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;z-index:2000;border-radius:0 0 8px 0;}
.alv-skip-link:focus{left:0;top:0;outline:2px solid var(--alv-salmon);outline-offset:-4px;}

/* FOCUS STATES (keyboard navigation accessibility) */
.alv-nav a:focus-visible,.alv-pill-btn:focus-visible,.alv-header-cta:focus-visible,.alv-image-card:focus-visible,.alv-footer-nav a:focus-visible,.alv-footer-legal a:focus-visible,.alv-mobile-toggle:focus-visible,.alv-wordmark:focus-visible{outline:2px solid var(--alv-salmon);outline-offset:3px;border-radius:6px;}
input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--alv-salmon-dk);outline-offset:2px;}

/* HEADER */
.alv-header{position:sticky;top:0;z-index:1000;background:var(--alv-charcoal);color:var(--alv-cream);padding:18px 6vw;display:flex;align-items:center;justify-content:space-between;}
.alv-wordmark{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:22px;font-weight:500;letter-spacing:0.20em;text-transform:uppercase;color:var(--alv-cream);text-decoration:none;}
.alv-nav{display:flex;gap:28px;}
.alv-nav a{position:relative;font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--alv-cream);text-decoration:none;cursor:pointer;transition:color 200ms ease;padding-bottom:6px;}
@media (hover:hover){.alv-nav a:hover,.alv-nav a.active{color:var(--alv-salmon);}}
.alv-nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--alv-salmon);border-radius:1px;}
.alv-header-cta{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;padding:12px 26px;border-radius:999px;background:var(--alv-salmon);color:var(--alv-charcoal);text-decoration:none;border:none;cursor:pointer;transition:all 220ms ease;}
@media (hover:hover){.alv-header-cta:hover{background:var(--alv-salmon-dk);color:var(--alv-cream);}}
.alv-mobile-toggle{display:none;background:none;border:none;color:var(--alv-cream);font-size:24px;cursor:pointer;}

/* PAGES (multi-page mode) */


/* BUTTONS / PILLS */
.alv-pill-btn{display:inline-block;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;font-weight:500;padding:14px 28px;border-radius:999px;background:rgba(251,247,238,0.92);color:var(--alv-charcoal);border:1px solid rgba(168,154,135,0.30);text-decoration:none;transition:all 220ms ease;cursor:pointer;}
@media (hover:hover){.alv-pill-btn:hover{background:var(--alv-charcoal);color:var(--alv-cream);border-color:var(--alv-charcoal);}}
.alv-pill-btn-dark{background:var(--alv-charcoal);color:var(--alv-cream);border-color:var(--alv-charcoal);}
@media (hover:hover){.alv-pill-btn-dark:hover{background:var(--alv-salmon-dk);border-color:var(--alv-salmon-dk);}}
@media (hover:hover){.alv-section-dark .alv-pill-btn:hover{background:var(--alv-salmon);color:var(--alv-charcoal);border-color:var(--alv-salmon);}}

/* HERO PHOTO */







/* MANIFESTO */
.alv-manifesto{background:var(--alv-cream);text-align:center;padding:112px 6vw;}
.alv-manifesto h2{font-size:84px;line-height:1.05;letter-spacing:-0.02em;margin:0 auto 36px;max-width:1100px;}
.alv-manifesto p{font-size:19px;color:var(--alv-charcoal);margin:0 auto 36px;max-width:640px;line-height:1.55;}

/* SOFT BAND */
.alv-soft-band{background:var(--alv-cream);padding:88px 6vw;}


/* THREE UP */
.alv-three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1240px;margin:0 auto;}

/* NESTED CARD */
.alv-nested{background:#FFFFFF;border-radius:28px;padding:48px 40px 56px;border:1px solid rgba(168,154,135,0.18);box-shadow:0 1px 3px rgba(42,38,32,0.10),0 14px 38px rgba(42,38,32,0.07);display:flex;flex-direction:column;height:100%;position:relative;transition:transform 300ms ease,box-shadow 300ms ease;}

.alv-nested-title{font-family:'Inter','Inter Fallback',sans-serif;font-size:28px;font-weight:600;color:var(--alv-charcoal);letter-spacing:-0.01em;margin:0 0 14px;line-height:1.2;}
.alv-nested-promise{font-family:'Inter','Inter Fallback',sans-serif;font-size:17px;color:var(--alv-taupe);line-height:1.55;margin:0 0 28px;}

/* INNER CARD */
.alv-inner-stack{display:flex;flex-direction:column;gap:14px;margin-top:auto;flex:1;}
.alv-inner{background:#EFEDE4;border-radius:18px;padding:24px 24px 26px;border:1px solid rgba(168,154,135,0.12);margin-top:auto;display:flex;flex-direction:column;}
.alv-inner-stack .alv-inner{margin-top:0;flex:1;}
.alv-inner-headline{font-family:'Inter','Inter Fallback',sans-serif;font-size:17px;font-weight:600;color:var(--alv-charcoal);margin:0 0 10px;line-height:1.3;}
.alv-inner-body{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-taupe);line-height:1.55;margin:0;}

/* PILL ROW */
.alv-pill-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1240px;margin:48px auto 0;text-align:center;}
.alv-pill-row > *{justify-self:center;}

/* TWO PANEL */
.alv-two-panel-wrap{padding:72px 0;background:var(--alv-cream);}
.alv-two-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;max-width:1240px;margin:0 auto;padding:0 6vw;}
.alv-two-panel-left{background:#FFFFFF;border-radius:28px;padding:56px 44px;display:flex;flex-direction:column;justify-content:center;}
.alv-two-panel-right{background:#FFFFFF;border-radius:28px;padding:56px 44px;display:flex;flex-direction:column;justify-content:center;}
.alv-two-panel h2{font-family:'Inter','Inter Fallback',sans-serif;font-size:34px;font-weight:600;line-height:1.25;margin:0 0 24px;letter-spacing:-0.01em;}
.alv-two-panel-right h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:24px;font-weight:600;margin:0 0 22px;}
.alv-checklist{list-style:none;padding:0;margin:0;}
.alv-checklist li{display:flex;align-items:flex-start;gap:16px;padding:12px 0;font-family:'Inter','Inter Fallback',sans-serif;font-size:17px;line-height:1.5;}
.alv-checklist li::before{content:'';flex-shrink:0;width:26px;height:26px;border-radius:50%;background:rgba(197,168,110,0.32) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23545E3B' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") no-repeat center;background-size:14px 14px;margin-top:2px;}

/* PERSONA */
.alv-persona-band{background:var(--alv-cream);padding:88px 6vw 80px;text-align:center;}
.alv-persona-heading{font-size:60px;letter-spacing:-0.015em;margin:0 0 56px;line-height:1.1;color:var(--alv-charcoal);}
.alv-persona-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1240px;margin:0 auto;}
.alv-persona-card{background:#FFFFFF;border-radius:24px;padding:48px 36px;text-align:left;min-height:340px;display:flex;flex-direction:column;}
.alv-persona-card h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:26px;font-weight:600;margin:0 0 22px;line-height:1.25;letter-spacing:-0.01em;}
.alv-persona-card p{font-family:'Inter','Inter Fallback',sans-serif;font-size:17px;line-height:1.6;margin:0;color:var(--alv-charcoal);}

/* DARK SECTION */
.alv-section-dark-wrap{padding:72px 6vw;background:var(--alv-cream);}
.alv-section-dark{background:var(--alv-charcoal);color:var(--alv-cream);border-radius:32px;padding:80px 56px;max-width:1100px;margin:0 auto;box-shadow:inset 0 1px 0 rgba(245,240,227,0.10),0 24px 60px rgba(42,38,32,0.22);}
.alv-section-dark-wrap.compact{padding:56px 6vw;}
.alv-section-dark-wrap.compact .alv-section-dark{padding:48px 44px;border-radius:24px;}
.alv-section-dark-wrap.compact .alv-section-dark h2{font-size:38px !important;line-height:1.1 !important;}
.alv-section-dark-wrap.compact .alv-section-dark p{font-size:16px !important;}
.alv-section-dark h1,.alv-section-dark h2,.alv-section-dark h3{color:var(--alv-cream);}
.alv-eyebrow{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--alv-salmon-dk);margin-bottom:16px;display:inline-block;}
.alv-section-dark .alv-eyebrow{color:var(--alv-cream);}

/* IMAGE CARDS */
.alv-image-cards-wrap{padding:56px 0 80px;background:var(--alv-cream);}
.alv-image-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1320px;margin:0 auto;padding:0 6vw;}
.alv-image-cards.four-up{grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:1024px){.alv-image-cards.four-up{grid-template-columns:repeat(2,1fr);gap:18px;}}
.alv-image-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/4.4;border-radius:18px;overflow:hidden;background:#D6CFC0 center 30%/cover no-repeat;text-decoration:none;box-shadow:0 4px 18px rgba(42,38,32,0.08);transition:transform 280ms cubic-bezier(0.2,0.6,0.2,1),box-shadow 280ms ease;color:var(--alv-charcoal);padding:0;}


.alv-image-card > *{position:relative;z-index:1;}
.alv-image-card > div{background:rgba(42,38,32,0.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:18px 22px 18px;border-radius:16px;border:1px solid rgba(245,240,227,0.10);box-shadow:0 6px 20px rgba(42,38,32,0.18);}
.alv-image-card-title{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:22px;font-weight:500;margin:0 0 2px;line-height:1.15;letter-spacing:-0.012em;color:var(--alv-charcoal);}
.alv-image-card-sub{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;margin:0;color:var(--alv-taupe);}

/* VS COMPARISON */
.alv-vs-wrap{padding:64px 6vw;background:var(--alv-cream);}

.alv-vs-box{border-radius:28px;padding:56px 44px;display:flex;flex-direction:column;}


.alv-vs-box-yes h3,.alv-vs-box-yes p,.alv-vs-box-yes li{color:var(--alv-cream);}



.alv-vs-list li{display:flex;align-items:flex-start;gap:14px;padding:13px 0;font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.5;}
.alv-vs-list li::before{content:'';flex-shrink:0;width:26px;height:26px;border-radius:50%;margin-top:2px;background-position:center;background-repeat:no-repeat;background-size:14px 14px;}
.alv-vs-box-no .alv-vs-list li::before{background-color:rgba(168,154,135,0.35);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23211C17' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");}
.alv-vs-box-yes .alv-vs-list li::before{background-color:rgba(245,240,227,0.92);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23211C17' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");}

/* TESTIMONIAL */

.alv-testimonial-split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;max-width:1280px;margin:0 auto;padding:0 6vw;}








/* HEADLINE BAND */
.alv-headline-band{background:var(--alv-cream);padding:112px 6vw 80px;text-align:center;}
.alv-headline-band-hero{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:84px;line-height:1.08;color:var(--alv-charcoal);letter-spacing:-0.018em;margin:0 auto 36px;max-width:1080px;}
.alv-headline-band-sub{font-family:'Inter','Inter Fallback',sans-serif;font-size:19px;line-height:1.55;color:var(--alv-charcoal);max-width:720px;margin:0 auto;opacity:0.85;}

/* TRI PANEL */

.alv-tri-panel{background:#FFFFFF;border-radius:32px;padding:56px 48px;display:grid;grid-template-columns:1.1fr 1.1fr 1.3fr;gap:48px;align-items:stretch;max-width:1320px;margin:0 6vw;}
.alv-tri-panel-intro h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:26px;font-weight:600;line-height:1.25;margin:0 0 18px;letter-spacing:-0.01em;}
.alv-tri-panel-intro p{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.6;margin:0 0 28px;}
.alv-tri-panel-benefits h4{font-family:'Inter','Inter Fallback',sans-serif;font-size:24px;font-weight:600;margin:0 0 22px;}


/* CLOSING */


/* PHYSICIAN PORTRAIT - centered above text in two-panel-left */

/* Physician page two-panel: right panel sits at natural height and centers vertically against the left panel */

.alv-physician-grid .alv-two-panel-right{padding:32px 36px !important;justify-content:flex-start !important;}

/* Membership page price-card left panel - vertically aligned with includes-list right panel */

.alv-membership-grid .alv-two-panel-left{padding:36px 40px !important;justify-content:flex-start !important;text-align:center;}


/* FOOTER */
.alv-footer{background:var(--alv-cream);text-align:center;padding:72px 6vw 64px;border-top:1px solid rgba(168,154,135,0.32);}
.alv-footer-wordmark{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;letter-spacing:0.20em;text-transform:uppercase;font-size:24px;color:var(--alv-charcoal);margin:0 0 28px;display:block;}
.alv-footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;margin:0 auto 24px;list-style:none;padding:0;}
.alv-footer-nav a{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--alv-charcoal);text-decoration:none;cursor:pointer;}
@media (hover:hover){.alv-footer-nav a:hover{color:var(--alv-salmon-dk);}}

.alv-footer-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:8px auto 18px;list-style:none;padding:0;}
.alv-footer-legal a{font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--alv-taupe);text-decoration:none;cursor:pointer;}
@media (hover:hover){.alv-footer-legal a:hover{color:var(--alv-charcoal);}}
.alv-footer-disclaimer{font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;line-height:1.6;color:var(--alv-taupe);max-width:680px;margin:20px auto 0;padding-top:18px;border-top:1px solid rgba(168,154,135,0.20);}

/* PROSE (legal pages) */
.alv-prose{max-width:780px;margin:0 auto;padding:0 6vw 96px;font-size:16px;line-height:1.7;}
.alv-prose h2{font-size:28px;margin:40px 0 14px;}
.alv-prose p{margin:0 0 14px;}

/* STEP BADGE (numbered process circles) */
.alv-step-badge{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;border:1.5px solid var(--alv-salmon-dk);background:#FBF7EE;color:var(--alv-charcoal);font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:22px;font-weight:500;letter-spacing:-0.01em;line-height:1;margin-bottom:18px;box-shadow:0 2px 8px rgba(42,38,32,0.06);}
.alv-section-dark .alv-step-badge{background:transparent;border-color:var(--alv-salmon);color:var(--alv-cream);}

/* PRICE CARD LEFT-ACCENT STROKE */


/* FOOTER ORNAMENT */

/* NEWSLETTER (pre-footer band) */





.alv-newsletter-form input{flex:1;min-width:240px;padding:14px 20px;border-radius:999px;border:1px solid rgba(168,154,135,0.45);font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;background:#FBF7EE;color:var(--alv-charcoal);}
.alv-newsletter-form input:focus{outline:none;border-color:var(--alv-salmon-dk);}
.alv-newsletter-form button{border:none;cursor:pointer;}

@media (max-width:767px){
  
  
  
  
  .alv-newsletter-form input{width:100%;}
}

/* PILLAR NUMBER EYEBROW (small standalone number above pillar titles) */


/* MOBILE */
@media (max-width:900px){
  .alv-three-up,.alv-pill-row,.alv-persona-cards,.alv-image-cards{grid-template-columns:1fr;gap:18px;}
  .alv-two-panel,.alv-tri-panel,.alv-testimonial-split{grid-template-columns:1fr;gap:24px;}
  .alv-tri-panel{padding:32px 24px;border-radius:22px;margin:0 5vw;}
  
  .alv-nav{display:none;}
  .alv-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--alv-charcoal);padding:24px 6vw;gap:16px;border-bottom:1px solid rgba(197,168,110,0.30);}
  .alv-mobile-toggle{display:block;}
  .alv-header{position:sticky;top:0;}
  
  
  
  .alv-manifesto{padding:72px 6vw;}
  .alv-manifesto h2{font-size:38px;}
  .alv-manifesto p{font-size:16px;}
  .alv-soft-band{padding:64px 5vw;}
  
  .alv-nested{padding:32px 24px 36px;border-radius:20px;}
  .alv-nested-title{font-size:24px;}
  .alv-inner{padding:20px 20px 22px;border-radius:14px;}
  .alv-pill-row{margin-top:24px;}
  .alv-two-panel-wrap{padding:56px 0;}
  .alv-two-panel-left,.alv-two-panel-right{padding:32px 24px;border-radius:22px;}
  .alv-two-panel h2{font-size:24px;}
  .alv-persona-band{padding:64px 5vw 48px;}
  .alv-persona-heading{font-size:36px;margin-bottom:36px;}
  .alv-persona-card{min-height:auto;padding:32px 24px;border-radius:18px;}
  .alv-persona-card h3{font-size:22px;}
  .alv-section-dark{padding:48px 28px;border-radius:22px;}
  .alv-image-cards-wrap{padding:32px 0 64px;}
  .alv-image-cards{padding:0 5vw;}
  .alv-image-card{aspect-ratio:4/3.6;padding:24px;border-radius:18px;}
  .alv-image-card-title{font-size:22px;}
  .alv-vs-wrap{padding:48px 5vw;}
  .alv-vs-box{padding:36px 24px;border-radius:22px;}
  
  .alv-vs-list li{font-size:15px;}
  
  
  
  
  .alv-headline-band{padding:72px 6vw;}
  .alv-headline-band-hero{font-size:36px;}
  .alv-headline-band-sub{font-size:15px;}
  
  
  .alv-footer{padding:48px 5vw;}
  .alv-footer-wordmark{font-size:18px;}
  .alv-footer-nav{gap:14px;}
}

/* === MOBILE CLEAN-UP PASS (mobile-scoped only) === */
/* overflow-x:clip (not hidden) so position:sticky on the header still works */
html,body{overflow-x:clip;}

@media (max-width:900px){
  
  .alv-vs-box{padding:36px 24px !important;border-radius:22px !important;}
  
  
  .alv-vs-list li{font-size:15px !important;}
}

@media (max-width:767px){
  /* Force-cap fonts that may have leaked from desktop bumps */
  body,p,li{font-size:16px !important;}
  h1{font-size:34px !important;line-height:1.12 !important;}
  h2{font-size:28px !important;line-height:1.18 !important;}
  h3{font-size:22px !important;}
  h4{font-size:18px !important;}

  /* Containers safe from overflow */
  .alv-three-up,.alv-pill-row,.alv-persona-cards,.alv-image-cards{grid-template-columns:1fr !important;gap:16px !important;}
  .alv-two-panel,.alv-tri-panel,.alv-testimonial-split{grid-template-columns:1fr !important;gap:20px !important;padding-left:0 !important;padding-right:0 !important;}
  .alv-tri-panel{margin:0 5vw !important;padding:28px 22px !important;border-radius:20px !important;}
  
  .alv-two-panel{padding:0 5vw !important;}
  .alv-two-panel-left,.alv-two-panel-right{padding:28px 22px !important;border-radius:18px !important;}
  .alv-two-panel h2{font-size:22px !important;}
  .alv-two-panel-right h3{font-size:20px !important;}

  /* Nested cards: re-cap font sizes */
  .alv-nested{padding:28px 22px !important;border-radius:18px !important;}
  .alv-nested-title{font-size:22px !important;}
  .alv-nested-promise{font-size:15px !important;}
  .alv-inner{padding:18px 18px 20px !important;border-radius:14px !important;}
  .alv-inner-headline{font-size:15px !important;}
  .alv-inner-body{font-size:14px !important;}

  /* Big headlines: comfortable on phones */
  
  
  
  .alv-manifesto{padding:56px 6vw !important;}
  .alv-manifesto h2{font-size:30px !important;line-height:1.15 !important;}
  .alv-manifesto p{font-size:14px !important;}
  .alv-headline-band{padding:56px 6vw !important;}
  .alv-headline-band-hero{font-size:30px !important;line-height:1.15 !important;}
  .alv-headline-band-sub{font-size:14px !important;}
  .alv-persona-band{padding:48px 5vw 36px !important;}
  .alv-persona-heading{font-size:26px !important;margin-bottom:28px !important;}
  .alv-persona-card{padding:24px 20px !important;border-radius:16px !important;min-height:auto !important;}
  .alv-persona-card h3{font-size:18px !important;margin-bottom:12px !important;}
  .alv-persona-card p{font-size:14px !important;}

  /* Image cards */
  .alv-image-cards{padding:0 5vw !important;}
  .alv-image-card{aspect-ratio:4/3.4 !important;padding:20px !important;border-radius:16px !important;}
  .alv-image-card-title{font-size:20px !important;}
  .alv-image-card-sub{font-size:13px !important;}

  /* Charcoal founding section */
  .alv-section-dark-wrap{padding:48px 5vw !important;}
  .alv-section-dark{padding:36px 24px !important;border-radius:20px !important;}
  .alv-section-dark h2{font-size:30px !important;line-height:1.1 !important;}
  .alv-section-dark .alv-eyebrow{font-size:13px !important;}
  .alv-section-dark ul li{font-size:14px !important;padding:8px 0 !important;}

  /* Testimonial split */
  
  
  
  

  /* Soft band */
  .alv-soft-band{padding:48px 5vw !important;}

  /* VS comparison */
  .alv-vs-wrap{padding:40px 5vw !important;}
  .alv-vs-box{padding:28px 20px !important;border-radius:18px !important;}
  
  
  
  
  .alv-vs-list li{font-size:14px !important;padding:10px 0 !important;}

  /* Header */
  .alv-header{padding:14px 5vw !important;flex-wrap:nowrap;}
  .alv-wordmark{font-size:16px !important;letter-spacing:0.14em !important;}
  .alv-header-cta{display:none !important;}
  .alv-mobile-toggle{display:inline-flex !important;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:28px;color:var(--alv-cream);background:none;border:none;cursor:pointer;line-height:1;padding:4px 8px;}
  .alv-nav{display:none;}
  .alv-nav.open{display:flex !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--alv-charcoal);padding:20px 5vw;gap:14px;border-bottom:1px solid rgba(197,168,110,0.30);box-shadow:0 12px 24px rgba(0,0,0,0.25);}
  .alv-nav.open a{padding:10px 0;font-size:14px;}

  /* Forms full-width */
  form input,form textarea,form button{width:100% !important;}

  /* Pull-quote sizing */
  
  

  /* Footer */
  .alv-footer{padding:40px 5vw 36px !important;}
  .alv-footer-wordmark{font-size:16px !important;letter-spacing:0.16em !important;}
  .alv-footer-nav{gap:10px 18px !important;}
  .alv-footer-nav a{font-size:11px !important;}

  /* Make sure horizontal scroll never happens */
  .alv-image-cards,.alv-three-up,.alv-pill-row,.alv-persona-cards,.alv-two-panel,.alv-tri-panel,.alv-testimonial-split{width:100% !important;box-sizing:border-box;}

  /* Add bottom padding so sticky mobile CTA bar doesn't cover content */
  body{padding-bottom:74px !important;}
}

/* MOBILE STICKY CTA BAR */
.alv-mobile-sticky-cta{display:none;}
@media (max-width:767px){
  .alv-mobile-sticky-cta{
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:999;
    background:rgba(42,38,32,0.96);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    padding:12px 16px;
    box-shadow:0 -8px 20px rgba(42,38,32,0.20);
    align-items:center;
    justify-content:center;
    border-top:1px solid rgba(197,168,110,0.30);
  }
  .alv-mobile-sticky-cta a{
    display:block;
    flex:1;
    text-align:center;
    font-family:'Inter','Inter Fallback',sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--alv-charcoal);
    background:var(--alv-salmon);
    padding:14px 22px;
    border-radius:999px;
    text-decoration:none;
    cursor:pointer;
  }
  .alv-mobile-sticky-cta a:active{background:var(--alv-salmon-dk);}
}

@media (max-width:380px){
  
  .alv-manifesto h2,.alv-headline-band-hero{font-size:26px !important;}
  .alv-nested-title{font-size:20px !important;}
}

/* REDUCED MOTION (accessibility: respect user's OS preference) */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  .alv-image-card:hover,.alv-nested:hover{transform:none !important;}
}

/* ============================================================
   MOBILE OPTIMIZATIONS (Tier 1-3)
   Mobile-scoped or neutral on desktop
   ============================================================ */

html{scroll-behavior:smooth;}

a, button, input, textarea, select, .alv-pill-btn, .alv-image-card, .alv-mobile-toggle, .alv-mobile-sticky-cta a{touch-action:manipulation;}

.alv-pill-btn:active{transform:scale(0.97);}
.alv-header-cta:active{transform:scale(0.97);}
.alv-nav a:active{opacity:0.7;}
.alv-mobile-sticky-cta a:active{background:var(--alv-salmon-dk) !important;transform:scale(0.97);}

.alv-mobile-sticky-cta{transition:transform 280ms cubic-bezier(0.4,0,0.2,1);}

.alv-nav-backdrop{display:none;position:fixed;inset:0;background:rgba(42,38,32,0.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:998;opacity:0;pointer-events:none;transition:opacity 220ms ease;}
@media (max-width:900px){
  .alv-nav-backdrop{display:block;}
  .alv-nav-backdrop.active{opacity:1;pointer-events:auto;}
  .alv-header{z-index:1000;}
}

@media (max-width:767px){
  .alv-mobile-sticky-cta{padding-bottom:calc(12px + env(safe-area-inset-bottom)) !important;}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom)) !important;}
  input, textarea, select{font-size:16px !important;}
  
  .alv-nested{padding:24px 18px 28px !important;}
  .alv-inner{padding:16px 16px 18px !important;}
  .alv-nested{box-shadow:0 1px 3px rgba(42,38,32,0.08),0 8px 20px rgba(42,38,32,0.06) !important;}
  .alv-section-dark{box-shadow:inset 0 1px 0 rgba(245,240,227,0.08),0 12px 28px rgba(42,38,32,0.15) !important;}
  .alv-image-card{transition:transform 280ms ease,box-shadow 280ms ease !important;}
}

/* === Scroll-reveal: gentle fade + lift on viewport entry (added: animations) === */
.js-reveal .alv-two-panel-left,
.js-reveal .alv-two-panel-right,
.js-reveal .alv-nested,
.js-reveal .alv-persona-card,
.js-reveal .alv-image-card,
.js-reveal .alv-vs-box,
.js-reveal .alv-inner,
.js-reveal .alv-manifesto,
.js-reveal .alv-pill-row,
.js-reveal .alv-section-dark,
.js-reveal .alv-tri-panel > *,
.js-reveal .alv-testimonial-split > *{
  opacity:0;
  transform:translateY(11px);
  transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1);
}
.js-reveal .alv-two-panel-left.is-visible,
.js-reveal .alv-two-panel-right.is-visible,
.js-reveal .alv-nested.is-visible,
.js-reveal .alv-persona-card.is-visible,
.js-reveal .alv-image-card.is-visible,
.js-reveal .alv-vs-box.is-visible,
.js-reveal .alv-inner.is-visible,
.js-reveal .alv-manifesto.is-visible,
.js-reveal .alv-pill-row.is-visible,
.js-reveal .alv-section-dark.is-visible,
.js-reveal .alv-tri-panel > .is-visible,
.js-reveal .alv-testimonial-split > .is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (max-width:480px){
.js-reveal .alv-two-panel-left,
.js-reveal .alv-two-panel-right,
.js-reveal .alv-nested,
.js-reveal .alv-persona-card,
.js-reveal .alv-image-card,
.js-reveal .alv-vs-box,
.js-reveal .alv-inner,
.js-reveal .alv-manifesto,
.js-reveal .alv-pill-row,
.js-reveal .alv-section-dark,
.js-reveal .alv-tri-panel > *,
.js-reveal .alv-testimonial-split > *{
    transform:translateY(11px);
    transition-duration:450ms;
  }
}
@media (prefers-reduced-motion: reduce){
.js-reveal .alv-two-panel-left,
.js-reveal .alv-two-panel-right,
.js-reveal .alv-nested,
.js-reveal .alv-persona-card,
.js-reveal .alv-image-card,
.js-reveal .alv-vs-box,
.js-reveal .alv-inner,
.js-reveal .alv-manifesto,
.js-reveal .alv-pill-row,
.js-reveal .alv-section-dark,
.js-reveal .alv-tri-panel > *,
.js-reveal .alv-testimonial-split > *{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}
/* Pages without sticky CTA (contact, thank-you) - remove the bottom padding reserved for it */
body.no-sticky-cta{padding-bottom:0 !important;}
@media (max-width:767px){body.no-sticky-cta{padding-bottom:env(safe-area-inset-bottom) !important;}}

/* Membership price card - preserve impact on mobile (overrides global h3 mobile cap) */
@media (max-width:767px){
  .alv-two-panel-left .alv-nested .alv-nested-title{font-size:48px !important;line-height:1 !important;}
  .alv-two-panel-left .alv-nested .alv-nested-title span{font-size:16px !important;}
}
@media (max-width:480px){
  .alv-two-panel-left .alv-nested .alv-nested-title{font-size:44px !important;}
  .alv-two-panel-left .alv-nested{padding:24px 20px 28px !important;}
  .alv-two-panel-left p[style*="font-size:26px"]{font-size:22px !important;line-height:1.3 !important;}
}

/* Map section: overlay card stacks below the map on mobile */
@media (max-width:768px){
  .alv-map-wrap iframe{height:300px !important;}
  .alv-map-card{position:static !important;max-width:none !important;border-radius:0 0 14px 14px !important;box-shadow:none !important;border:0 !important;border-top:1px solid rgba(168,154,135,0.40) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(234,227,211,1) !important;}
}

/* VS comparison: lock title row to 2-line height so bullet rows align across both columns */


/* Salmon pill button variant (Membership "EXPLORE THE PRACTICE" etc.) - proper hover */
.alv-pill-btn-salmon{background:var(--alv-salmon);border-color:var(--alv-salmon);color:var(--alv-charcoal);}
@media (hover:hover){.alv-pill-btn-salmon:hover{background:var(--alv-salmon-dk);border-color:var(--alv-salmon-dk);color:var(--alv-cream);}}

/* === HIGH-END EDITORIAL TOUCHES === */

/* Anchor scroll padding so jumps clear the sticky header */
html{scroll-padding-top:88px;}

/* Animated underline on header nav - slides in from left on hover */
.alv-nav a::after{content:'';position:absolute;left:0;bottom:-2px;height:2px;background:var(--alv-salmon);border-radius:1px;width:0;transition:width 320ms cubic-bezier(0.22,1,0.36,1);}
@media (hover:hover){.alv-nav a:hover::after,.alv-nav a.active::after{width:100%;}}

/* Animated underline on footer nav (charcoal on cream) */
.alv-footer-nav a,.alv-footer-legal a{position:relative;text-decoration:none;}
.alv-footer-nav a::after,.alv-footer-legal a::after{content:'';position:absolute;left:0;bottom:-3px;height:1px;background:var(--alv-charcoal);width:0;transition:width 320ms cubic-bezier(0.22,1,0.36,1);}
@media (hover:hover){.alv-footer-nav a:hover::after,.alv-footer-legal a:hover::after{width:100%;}}

/* Editorial pull-quote band */



/* Reading progress bar - fixed top, fills as you scroll */
.alv-progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--alv-salmon);z-index:1100;width:0;will-change:width;transition:width 60ms linear;pointer-events:none;}

/* Sticky FAQ table-of-contents */
.alv-faq-toc{position:sticky;top:72px;z-index:90;background:rgba(234,227,211,0.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px 6vw;border-bottom:1px solid rgba(168,154,135,0.25);}
.alv-faq-toc-inner{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;}
.alv-faq-toc a{position:relative;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--alv-taupe);text-decoration:none;padding:8px 0;transition:color 220ms ease;}
.alv-faq-toc a::after{content:'';position:absolute;left:0;bottom:4px;height:1px;background:var(--alv-charcoal);width:0;transition:width 280ms cubic-bezier(0.22,1,0.36,1);}
@media (hover:hover){.alv-faq-toc a:hover{color:var(--alv-charcoal);}}
@media (hover:hover){.alv-faq-toc a:hover::after{width:100%;}}
@media (max-width:767px){
  .alv-faq-toc{top:58px;padding:12px 5vw;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .alv-faq-toc-inner{flex-wrap:nowrap;justify-content:flex-start;min-width:max-content;gap:0 22px;}
  .alv-faq-toc a{font-size:11px;letter-spacing:0.14em;white-space:nowrap;}
}
/* Scroll-margin so FAQ anchors clear sticky header + TOC */
.alv-faq-anchor{scroll-margin-top:130px;}

/* === Back-to-top floating button (JS-injected when body has .alv-has-back-to-top) === */
.alv-back-to-top{position:fixed;right:24px;bottom:96px;width:48px;height:48px;border-radius:50%;background:rgba(42,38,32,0.92);color:var(--alv-cream);display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;border:none;z-index:1050;opacity:0;transform:translateY(12px);transition:opacity 280ms ease,transform 280ms ease,background 220ms ease;pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 6px 18px rgba(42,38,32,0.22);}
.alv-back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto;}
@media (hover:hover){.alv-back-to-top:hover{background:var(--alv-salmon-dk);}}
.alv-back-to-top svg{width:18px;height:18px;}
@media (max-width:767px){.alv-back-to-top{right:16px;bottom:90px;width:44px;height:44px;}}

/* === SPA page transition fade === */



/* === Section divider (Lora/Apple-style 72px hairline between cream sections) === */
.alv-section-divider{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--alv-salmon-dk);border:0;position:relative;margin:8px 0;vertical-align:middle;opacity:1;}
.alv-section-divider::before,.alv-section-divider::after{content:'';position:absolute;top:50%;width:40px;height:1px;background:var(--alv-charcoal);opacity:0.30;transform:translateY(-50%);}
.alv-section-divider::before{right:100%;margin-right:6px;}
.alv-section-divider::after{left:100%;margin-left:6px;}
.alv-section-divider-wrap{padding:0 6vw;background:var(--alv-cream);text-align:center;}
@media (max-width:480px){.alv-section-divider::before,.alv-section-divider::after{width:26px;}}

/* FAQ TOC click - brief landing highlight on the destination element */
.alv-faq-highlight{animation:alv-faq-flash 1.6s cubic-bezier(0.22,1,0.36,1) both;}
@keyframes alv-faq-flash{
  0%{box-shadow:0 0 0 3px rgba(197,168,110,0.55), 0 0 0 6px rgba(197,168,110,0.20);}
  60%{box-shadow:0 0 0 3px rgba(197,168,110,0.30), 0 0 0 12px rgba(197,168,110,0);}
  100%{box-shadow:0 0 0 0 rgba(197,168,110,0);}
}
@media (prefers-reduced-motion: reduce){.alv-faq-highlight{animation:none;}}

/* === Cross-browser polish for in-app browsers, iOS Safari, iPad === */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
a,button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;}
body{overscroll-behavior-y:none;}

/* Footer address - editorial clickable map link */



/* Map iframe - explicit height (overrides global iframe{height:auto}). Wide cinematic strip on desktop. */
.alv-map-wrap iframe{height:440px !important;}
@media (max-width:768px){.alv-map-wrap iframe{height:360px !important;}}
@media (max-width:480px){.alv-map-wrap iframe{height:320px !important;}}

/* === IMAGE CARDS - definitive Polaroid override (image on top, cream caption below) === */
.alv-image-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  aspect-ratio:4/4.4 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center 30% !important;
  background-repeat:no-repeat !important;
  text-decoration:none !important;
  box-shadow:0 4px 18px rgba(42,38,32,0.10) !important;
  transition:transform 280ms cubic-bezier(0.2,0.6,0.2,1),box-shadow 280ms ease !important;
  padding:0 !important;
  color:var(--alv-charcoal) !important;
}
.alv-image-card::after{display:none !important;content:none !important;}

.alv-image-card > div{
  background:#FFFFFF !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:18px 22px 20px !important;
  border-radius:0 !important;
  border:0 !important;
  border-top:1px solid rgba(168,154,135,0.22) !important;
  box-shadow:none !important;
  position:relative !important;
  z-index:2 !important;
}
.alv-image-card-title{
  font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;
  font-size:22px !important;
  font-weight:500 !important;
  letter-spacing:-0.012em !important;
  line-height:1.15 !important;
  margin:0 0 4px !important;
  color:var(--alv-charcoal) !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.alv-image-card-sub{
  font-family:'Inter','Inter Fallback',sans-serif !important;
  font-size:11px !important;
  font-weight:500 !important;
  letter-spacing:0.10em !important;
  text-transform:uppercase !important;
  line-height:1.4 !important;
  margin:0 !important;
  color:var(--alv-taupe) !important;
  text-shadow:none !important;
  opacity:1 !important;
}
@media (max-width:480px){
  .alv-image-card{aspect-ratio:4/4.2 !important;}
  .alv-image-card > div{padding:14px 18px 16px !important;}
  .alv-image-card-title{font-size:19px !important;}
  .alv-image-card-sub{font-size:10px !important;}
}

/* ============================================================
   STAT STRIP - 3-figure proof band (Home, others)
   ============================================================ */




/* ============================================================
   WHY CONCIERGE GRID - 6 differentiators on Why Concierge page
   ============================================================ */
.alv-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1240px;margin:0 auto;}
.alv-why-card{background:#FFFFFF;border-radius:22px;padding:36px 32px 38px;border:1px solid rgba(168,154,135,0.22);display:flex;flex-direction:column;transition:transform 280ms cubic-bezier(0.2,0.6,0.2,1),box-shadow 280ms ease;}

.alv-why-card h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:20px;font-weight:600;color:var(--alv-charcoal);margin:0 0 14px;line-height:1.25;letter-spacing:-0.005em;}
.alv-why-card p{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-taupe);line-height:1.6;margin:0;}
.alv-why-card .alv-why-num{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:13px;font-weight:500;color:var(--alv-salmon-dk);letter-spacing:0.10em;margin:0 0 10px;display:block;}
@media (max-width:980px){.alv-why-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.alv-why-grid{grid-template-columns:1fr;}}

/* ============================================================
   CREDENTIALED PHYSICIAN CARD - Physician page enhancement
   ============================================================ */
.alv-cred-card{background:#FFFFFF;border-radius:22px;padding:36px 36px 40px;border:1px solid rgba(168,154,135,0.22);}
.alv-cred-card h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:22px;font-weight:600;color:var(--alv-charcoal);margin:0 0 20px;letter-spacing:-0.005em;}
.alv-cred-row{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;}
.alv-cred-row li{padding:14px 0;border-bottom:1px solid rgba(168,154,135,0.22);}
.alv-cred-row li:last-child{border-bottom:none;padding-bottom:0;}
.alv-cred-row li:first-child{padding-top:0;}
.alv-cred-label{font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--alv-salmon-dk);display:block;margin:0 0 4px;}
.alv-cred-value{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;font-weight:500;color:var(--alv-charcoal);line-height:1.45;margin:0;}
.alv-cred-value-detail{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;font-weight:400;color:var(--alv-taupe);line-height:1.5;margin:4px 0 0;}

/* ============================================================
   MULTI-STEP CONTACT FORM - Get Matched flow
   ============================================================ */
.alv-multistep{display:flex;flex-direction:column;gap:18px;}


.alv-multistep-fill{height:100%;background:var(--alv-salmon-dk);border-radius:2px;width:33%;transition:width 320ms cubic-bezier(0.25,0.46,0.45,0.94);}
.alv-multistep-step{display:none;flex-direction:column;gap:14px;animation:alvFadeIn 320ms cubic-bezier(0.25,0.46,0.45,0.94);}
.alv-multistep-step.is-active{display:flex;}
@keyframes alvFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.alv-multistep-step h4{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:24px;font-weight:500;color:var(--alv-charcoal);margin:0 0 6px;letter-spacing:-0.01em;}
.alv-multistep-step p.alv-multistep-help{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;color:var(--alv-taupe);font-size:15px;margin:0 0 6px;}


.alv-multistep-option input{margin:3px 0 0;accent-color:var(--alv-salmon-dk);flex-shrink:0;}
.alv-multistep-option input:checked + span{font-weight:600;}

.alv-multistep-input{padding:14px 18px;border-radius:14px;border:1px solid rgba(168,154,135,0.40);font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;background:#FFFFFF;color:var(--alv-charcoal);}
.alv-multistep-input:focus{outline:none;border-color:var(--alv-salmon-dk);box-shadow:0 0 0 1px var(--alv-salmon-dk);}

.alv-multistep-back{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--alv-taupe);background:none;border:none;cursor:pointer;padding:8px 0;}
@media (hover:hover){.alv-multistep-back:hover{color:var(--alv-charcoal);}}
.alv-multistep-back[hidden]{display:none;}
.alv-multistep-next{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;font-weight:500;padding:14px 28px;border-radius:999px;background:var(--alv-charcoal);color:var(--alv-cream);border:1px solid var(--alv-charcoal);cursor:pointer;transition:all 220ms ease;}
@media (hover:hover){.alv-multistep-next:hover{background:var(--alv-salmon-dk);border-color:var(--alv-salmon-dk);}}


/* ============================================================
   MOBILE V2 - Polish for newer components + touch UX
   Applies only on mobile breakpoints; does not affect desktop.
   ============================================================ */

/* Phones (≤767px) */
@media (max-width:767px){

  /* Touch targets: enforce 44×44px minimum on interactive elements */
  .alv-pill-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:12px 22px !important;}
  .alv-nav.open a{padding:14px 0 !important;min-height:44px;display:flex;align-items:center;}
  .alv-footer-nav a,.alv-footer-legal a{padding:6px 4px;display:inline-block;}

  /* Credentialed physician card */
  .alv-cred-card{padding:28px 22px 30px !important;border-radius:18px;}
  .alv-cred-card h3{font-size:18px !important;margin-bottom:14px !important;}
  .alv-cred-label{font-size:10px !important;letter-spacing:0.14em !important;}
  .alv-cred-value{font-size:15px !important;}
  .alv-cred-value-detail{font-size:13px !important;line-height:1.45 !important;}
  .alv-cred-row li{padding:12px 0 !important;}

  /* Why concierge cards */
  .alv-why-card{padding:28px 22px 30px !important;border-radius:18px;}
  .alv-why-card h3{font-size:18px !important;margin-bottom:10px !important;}
  .alv-why-card p{font-size:14px !important;line-height:1.55 !important;}
  .alv-why-num{font-size:12px !important;}
  .alv-why-grid{gap:14px !important;}

  /* Contact form - touch-friendly inputs */
  .alv-multistep-input{padding:16px 18px !important;min-height:50px !important;font-size:16px !important;}
  textarea.alv-multistep-input{min-height:110px;}

  /* Membership page - keep $399 prominent on mobile (override default h3 cap) */
  main#page-membership h3.alv-nested-title,
  #page-membership h3.alv-nested-title{font-size:56px !important;line-height:1;}
  main#page-membership h3.alv-nested-title span,
  #page-membership h3.alv-nested-title span{font-size:16px !important;}

  /* Stat strip - already collapses; tighten gap */
  

  /* Concierge 101 questions - tighter on mobile */
  #page-concierge-explained h2{font-size:24px !important;margin-bottom:14px !important;}

  /* Faq TOC pills - slightly tighter so they fit */
  .alv-faq-toc-inner{gap:8px !important;flex-wrap:wrap;}
  .alv-faq-toc-inner a{padding:8px 14px !important;font-size:11px !important;}

  /* Reduce excessive vertical padding on small screens to keep flow tight */
  .alv-section-divider-wrap{padding:24px 0 !important;}
}

/* Very small phones (≤380px) - iPhone SE / older Android */
@media (max-width:380px){
  .alv-cred-card{padding:22px 18px !important;}
  .alv-why-card{padding:22px 18px !important;}
  
  main#page-membership h3.alv-nested-title,
  #page-membership h3.alv-nested-title{font-size:48px !important;}
  /* Image cards - tighter aspect for very narrow phones */
  .alv-image-card{aspect-ratio:4/3 !important;}
}

/* Landscape phones - prevent hero photo from eating the viewport */

/* ============================================================
   REDESIGN 2026-06 - CINEMATIC HOME COMPONENTS
   Additive only: new prefixed classes; nothing above is changed.
   Photographic images are centralized here for one-place swap at
   launch (replace these three URLs with real Dr. Sharma + office shots).
   ============================================================ */
:root{
  --img-hero:url('/assets/hero.jpg');
  --img-physician:url('/assets/physician.jpg');
  --img-services:url('/assets/hero-doctor.jpg');
}

/* --- CINEMATIC HERO --- */
.alv-hero{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--alv-charcoal);isolation:isolate;}
.alv-hero-bg{position:absolute;inset:0;z-index:0;background:var(--img-hero) center 13%/cover no-repeat;transform:scale(1.12);transform-origin:center top;animation:alvKenBurns 26s cubic-bezier(0.22,1,0.36,1) forwards;will-change:transform;}
.alv-hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(42,38,32,0.22) 0%,rgba(42,38,32,0.08) 36%,rgba(42,38,32,0.42) 72%,rgba(42,38,32,0.74) 100%);pointer-events:none;}
.alv-hero-inner{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto;padding:0 6vw 9vh;}


.alv-hero-title{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(42px,6.4vw,94px);line-height:1.04;letter-spacing:-0.022em;color:var(--alv-cream);margin:0 0 22px;max-width:17ch;text-shadow:0 2px 24px rgba(42,38,32,0.45);text-wrap:balance;}
.alv-hero-sub{font-family:'Inter','Inter Fallback',sans-serif;font-size:clamp(15px,1.4vw,19px);line-height:1.6;color:var(--alv-cream);opacity:0.95;margin:0 0 34px;max-width:48ch;text-shadow:0 1px 16px rgba(42,38,32,0.5);}
.alv-hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}

.alv-hero-trust span{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--alv-cream);opacity:0.88;text-shadow:0 1px 12px rgba(42,38,32,0.55);}
.alv-hero-trust i{width:4px;height:4px;border-radius:50%;background:var(--alv-salmon);display:inline-block;opacity:0.9;}
.alv-hero-scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:2;width:25px;height:40px;border:1.5px solid rgba(234,227,211,0.55);border-radius:14px;display:flex;justify-content:center;padding-top:7px;}
.alv-hero-scroll::before{content:'';width:3px;height:8px;border-radius:2px;background:var(--alv-cream);animation:alvScrollDot 1.8s ease-in-out infinite;}
.alv-btn-ghost-light{background:rgba(245,240,227,0.10);color:var(--alv-cream);border:1px solid rgba(234,227,211,0.55);}
@media (hover:hover){.alv-btn-ghost-light:hover{background:var(--alv-cream);color:var(--alv-charcoal);border-color:var(--alv-cream);}}
@keyframes alvKenBurns{from{transform:scale(1.12);}to{transform:scale(1);}}
@keyframes alvScrollDot{0%,100%{opacity:0;transform:translateY(0);}50%{opacity:1;transform:translateY(7px);}}
@media (max-width:767px){
  .alv-hero{min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);}
  .alv-hero-inner{padding:0 5vw 13vh;}
  
  .alv-hero-title{font-size:clamp(34px,9.5vw,52px) !important;}
  .alv-hero-sub{margin-bottom:26px;}
  .alv-hero-cta-row .alv-pill-btn{width:100%;}
  .alv-hero-scroll{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .alv-hero-bg{animation:none;transform:scale(1.02);}
  .alv-hero-scroll::before{animation:none;}
}

/* --- SERVICES MENU --- */
.alv-svc-wrap{background:var(--alv-cream);padding:104px 6vw 88px;}
.alv-svc-head{text-align:center;max-width:860px;margin:0 auto 56px;}
.alv-svc-head h2{font-size:clamp(32px,4.4vw,56px);letter-spacing:-0.018em;line-height:1.08;margin:10px 0 0;}
.alv-svc-head p{font-family:'Inter','Inter Fallback',sans-serif;font-size:17px;color:var(--alv-taupe);line-height:1.6;margin:18px auto 0;max-width:62ch;}
.alv-svc-label{display:flex;align-items:center;gap:16px;max-width:1240px;margin:0 auto 22px;font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;font-weight:600;letter-spacing:0.20em;text-transform:uppercase;color:var(--alv-salmon-dk);}
.alv-svc-label::after{content:'';flex:1;height:1px;background:rgba(168,154,135,0.34);}
.alv-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1240px;margin:0 auto 40px;}
.alv-svc-card{background:#FFFFFF;border:1px solid rgba(168,154,135,0.22);border-radius:20px;padding:30px 26px 32px;display:flex;flex-direction:column;transition:transform 280ms cubic-bezier(0.2,0.6,0.2,1),box-shadow 280ms ease,border-color 280ms ease;}

.alv-svc-ic{width:40px;height:40px;margin:0 0 18px;color:var(--alv-salmon-dk);}
.alv-svc-ic svg{width:100%;height:100%;display:block;}
.alv-svc-card h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:18px;font-weight:600;color:var(--alv-charcoal);margin:0 0 8px;letter-spacing:-0.005em;line-height:1.25;}
.alv-svc-card p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;color:var(--alv-taupe);line-height:1.55;margin:0;}
.alv-svc-fine{text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;color:var(--alv-taupe);max-width:680px;margin:34px auto 44px;line-height:1.55;}
@media (max-width:1024px){.alv-svc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.alv-svc-grid{grid-template-columns:1fr;gap:14px;}}
@media (max-width:767px){.alv-svc-wrap{padding:64px 5vw 56px;}.alv-svc-head{margin-bottom:40px;}.alv-svc-grid{gap:13px;}.alv-svc-card{padding:20px 20px 22px;border-radius:16px;}.alv-svc-ic{width:32px;height:32px;margin-bottom:10px;}.alv-svc-card h3{margin-bottom:7px;}}

/* --- SERVICES SUPPORTING PHOTO BAND --- */
.alv-svc-photo{position:relative;max-width:1240px;margin:0 auto;border-radius:26px;overflow:hidden;min-height:340px;background:var(--img-services) 70% center/cover no-repeat;display:flex;align-items:flex-end;}
.alv-svc-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(42,38,32,0.66) 0%,rgba(42,38,32,0.20) 58%,rgba(42,38,32,0.04) 100%);}
.alv-svc-photo-cap{position:relative;z-index:1;padding:44px;max-width:580px;}
.alv-svc-photo-cap p{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;font-size:clamp(21px,2.6vw,32px);line-height:1.3;color:var(--alv-cream);margin:0;text-shadow:0 2px 18px rgba(42,38,32,0.55);}
@media (max-width:767px){.alv-svc-photo{min-height:230px;border-radius:18px;}.alv-svc-photo-cap{padding:26px;}}

/* --- PHYSICIAN FEATURE --- */
.alv-md-wrap{background:#FFFFFF;}
.alv-md{display:grid;grid-template-columns:0.9fr 1.1fr;align-items:stretch;max-width:1320px;margin:0 auto;}
.alv-md-photo{background:var(--img-physician) center 18%/cover no-repeat;min-height:560px;}
.alv-md-body{padding:88px 6vw 88px 64px;display:flex;flex-direction:column;justify-content:center;max-width:760px;}
.alv-md-body h2{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:clamp(30px,3.6vw,46px);letter-spacing:-0.018em;line-height:1.1;margin:10px 0 6px;}
.alv-md-role{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--alv-salmon-dk);margin:0 0 24px;}
/* Role meta: small sage lead-rule (matches the hero overline) + tighter on mobile. Phrases stay intact via &nbsp; in the markup, so the line wraps cleanly between phrases. */
.alv-md-role::before{content:'';display:inline-block;width:22px;height:1px;background:var(--alv-salmon);vertical-align:middle;margin:0 12px 3px 0;}
/* A long credential gets its own clean second line (slightly smaller = title/credential hierarchy, and fits on one line on mobile) instead of wrapping mid-phrase */
.alv-md-role .alv-md-role-sub{display:block;margin-top:5px;font-size:0.85em;letter-spacing:0.09em;}
@media (max-width:767px){.alv-md-role{font-size:12.5px;letter-spacing:0.10em;}.alv-md-role::before{width:16px;margin-right:9px;}}
.alv-md-body p:not(.alv-md-role){font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.7;color:var(--alv-charcoal);margin:0 0 18px;max-width:62ch;}
.alv-md-creds{list-style:none;padding:0;margin:14px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:13px 24px;}
.alv-md-creds li{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;line-height:1.45;color:var(--alv-charcoal);padding-left:26px;position:relative;}
.alv-md-creds li::before{content:'';position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:50%;background:rgba(197,168,110,0.30) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23545E3B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") no-repeat center;background-size:10px;}
@media (max-width:900px){.alv-md{grid-template-columns:1fr;}.alv-md-photo{min-height:360px;}.alv-md-body{padding:48px 6vw;max-width:none;}}
@media (max-width:767px){.alv-md-photo{min-height:300px;}.alv-md-body{padding:40px 5vw;}.alv-md-creds{grid-template-columns:1fr;gap:11px;margin-bottom:24px;}}

/* --- HOW IT BEGINS - 4 STEP --- */
.alv-steps-wrap{background:var(--alv-cream);padding:96px 6vw;}
.alv-steps-head{text-align:center;max-width:760px;margin:0 auto 56px;}
.alv-steps-head h2{font-size:clamp(30px,4vw,52px);letter-spacing:-0.018em;line-height:1.1;margin:10px 0 0;}
.alv-steps-head p{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;color:var(--alv-taupe);margin:16px auto 0;max-width:58ch;line-height:1.6;}
.alv-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;max-width:1240px;margin:0 auto;}
.alv-step{position:relative;display:flex;flex-direction:column;}
.alv-step h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:18px;font-weight:600;color:var(--alv-charcoal);margin:20px 0 8px;letter-spacing:-0.005em;}
.alv-step p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;color:var(--alv-taupe);line-height:1.6;margin:0;}
.alv-step-line{position:absolute;top:29px;left:70px;right:-13px;height:1px;background:rgba(84,94,59,0.42);}
.alv-step:last-child .alv-step-line{display:none;}
@media (max-width:900px){.alv-steps{grid-template-columns:repeat(2,1fr);gap:32px 24px;}.alv-step-line{display:none;}}
@media (max-width:600px){.alv-steps{grid-template-columns:1fr;gap:28px;}}
@media (max-width:767px){.alv-steps-wrap{padding:64px 5vw;}}

/* --- FOUNDING OFFER (extends alv-section-dark) --- */
.alv-offer-price{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(56px,8vw,92px);line-height:1;letter-spacing:-0.03em;color:var(--alv-cream);margin:14px 0 6px;}
.alv-offer-price span{font-family:'Inter','Inter Fallback',sans-serif;font-size:18px;font-weight:500;letter-spacing:0.02em;color:var(--alv-salmon);}
.alv-offer-points{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;margin:22px 0 34px;}
.alv-offer-points span{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;color:var(--alv-cream);opacity:0.92;display:flex;align-items:center;gap:10px;}
.alv-offer-points span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--alv-salmon);flex-shrink:0;}
@media (max-width:767px){.alv-offer-points{flex-direction:column;align-items:center;gap:10px;}}
.alv-dotsep .alv-sep{margin:0 .5em;color:inherit;}
@media (max-width:767px){.alv-dotsep .alv-seg{display:block;}.alv-dotsep .alv-sep{display:none;}}

/* --- STICKY DUAL CONTACT BAR (home) --- */
.alv-sticky-dual{display:none;}
@media (max-width:767px){
  .alv-sticky-dual{display:flex;gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:999;background:rgba(42,38,32,0.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px rgba(42,38,32,0.22);border-top:1px solid rgba(197,168,110,0.30);}
  .alv-sticky-dual a{flex:1;text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:13px 8px;border-radius:999px;text-decoration:none;min-height:48px;display:flex;align-items:center;justify-content:center;transition:transform 200ms ease;}
  .alv-sticky-dual a:active{transform:scale(0.97);}
  .alv-sticky-dual .alv-sd-note{background:transparent;color:var(--alv-cream);border:1px solid rgba(234,227,211,0.45);}
  .alv-sticky-dual .alv-sd-reserve{background:var(--alv-salmon);color:var(--alv-charcoal);}
}

/* ============================================================
   REBALANCE 2026-06b - image-forward personas + tighter rhythm
   (less-scrolly pass: photos in the mid-page run, trimmed padding)
   ============================================================ */
:root{
  --img-persona1:url('/assets/ph-persona1.jpg');
  --img-persona3:url('/assets/ph-persona3.jpg');
}
.alv-svc-wrap{padding-top:84px;padding-bottom:72px;}
.alv-manifesto{padding-top:88px;padding-bottom:88px;}
.alv-persona-band{padding-top:72px;padding-bottom:76px;}
.alv-steps-wrap{padding-top:80px;padding-bottom:80px;}
.alv-section-dark-wrap{padding-top:60px;padding-bottom:64px;}
.alv-persona-photo{position:relative;overflow:hidden;min-height:400px;justify-content:flex-end;background:#36474C center/cover no-repeat;color:var(--alv-cream);box-shadow:0 10px 30px rgba(42,38,32,0.16);}
.alv-persona-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,38,32,0.24) 0%,rgba(42,38,32,0.40) 38%,rgba(42,38,32,0.62) 64%,rgba(42,38,32,0.90) 100%);}
.alv-persona-photo > *{position:relative;z-index:1;}
.alv-persona-photo h3{color:var(--alv-cream);}
.alv-persona-photo p{color:var(--alv-cream);opacity:0.93;}
.alv-persona-photo.p1{background-image:var(--img-persona1);}
.alv-persona-photo.p3{background-image:var(--img-persona3);}
@media (max-width:767px){.alv-persona-photo{min-height:300px;}}

/* ============================================================
   POLISH 2026-06c - tighter rhythm, symmetry, motion, photo adds
   ============================================================ */
:root{--img-offer:url('/assets/clinical.jpg');}

/* Whitespace - close the dead gaps between sections */
.alv-manifesto{padding-top:84px !important;padding-bottom:60px !important;}
.alv-section-divider-wrap{padding-top:6px !important;padding-bottom:6px !important;}
.alv-svc-wrap{padding-top:60px !important;}
.alv-vs-wrap{padding-top:60px;padding-bottom:64px;}
.alv-steps-wrap{padding-top:72px;padding-bottom:72px;}
@media (max-width:767px){
  .alv-manifesto{padding-top:44px !important;padding-bottom:32px !important;}
  .alv-section-divider-wrap{padding:4px 0 !important;}
  .alv-svc-wrap{padding-top:40px !important;}
}

/* Services symmetry - ~3 per row so 6 cards = a clean 3+3 and 5 cards = a centered 3+2 (was 4-per-row → orphaned 4+1 / 4+2). Cards grow to fill a row but max-width caps them, so an incomplete last row centers WITHOUT stretching. Grid max-width forces 3-up on wide screens. */
.alv-svc-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;max-width:1180px;margin:0 auto;}
.alv-svc-grid .alv-svc-card{flex:1 0 300px;max-width:none;}
@media (max-width:980px){.alv-svc-grid .alv-svc-card{flex:1 0 280px;}}
@media (max-width:600px){.alv-svc-grid .alv-svc-card{flex:1 1 100%;max-width:none;}}

/* Services mid photo - break the card list with imagery between clusters */
.alv-svc-photo.mid{margin-top:36px;margin-bottom:40px;}

/* Founding-offer band - faint photo behind the espresso card */
.alv-offer-photo{position:relative;}
.alv-offer-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(38,46,43,0.90),rgba(38,46,43,0.82)),var(--img-offer) center/cover no-repeat;opacity:1;border-radius:inherit;pointer-events:none;}
.alv-offer-photo > *{position:relative;z-index:1;}

/* Hero - staggered rise-in on load (pure CSS) */
@keyframes alvRiseIn{from{opacity:0;transform:translateY(11px);}to{opacity:1;transform:none;}}
.alv-hero-inner > *{animation:alvRiseIn 700ms cubic-bezier(.16,1,.3,1) both;}

.alv-hero-title{animation-delay:.22s;}
.alv-hero-sub{animation-delay:.34s;}
.alv-hero-cta-row{animation-delay:.46s;}

@media (prefers-reduced-motion:reduce){.alv-hero-inner > *{animation:none;}}

/* Scroll-reveal - fade up + stagger for the new sections (JS adds .is-visible) */
.js-reveal .alv-svc-head,.js-reveal .alv-svc-label,.js-reveal .alv-svc-card,.js-reveal .alv-svc-photo,.js-reveal .alv-md-photo,.js-reveal .alv-md-body,.js-reveal .alv-step{opacity:0;transform:translateY(11px);transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1);}
.js-reveal .alv-svc-head.is-visible,.js-reveal .alv-svc-label.is-visible,.js-reveal .alv-svc-card.is-visible,.js-reveal .alv-svc-photo.is-visible,.js-reveal .alv-md-photo.is-visible,.js-reveal .alv-md-body.is-visible,.js-reveal .alv-step.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.js-reveal .alv-svc-head,.js-reveal .alv-svc-label,.js-reveal .alv-svc-card,.js-reveal .alv-svc-photo,.js-reveal .alv-md-photo,.js-reveal .alv-md-body,.js-reveal .alv-step{opacity:1 !important;transform:none !important;}}

/* Sage CTA contrast - deep-sage fill + cream text (a mid sage fails AA either way) */
.alv-pill-btn-salmon,.alv-header-cta{background:#C5A86E;color:var(--alv-cream);border-color:#C5A86E;}
@media (hover:hover){.alv-pill-btn-salmon:hover,.alv-header-cta:hover{background:#414B2E;color:var(--alv-cream);border-color:#414B2E;}}
@media (max-width:767px){.alv-sticky-dual .alv-sd-reserve{background:#C5A86E;color:var(--alv-cream);}.alv-sticky-dual .alv-sd-reserve:active{background:#414B2E !important;}}

/* ============================================================
   POLISH 2026-06e - gap fixes, centered steps, face framing,
   directional scroll-reveals (from the sides)
   ============================================================ */

/* Close the services → comparison dead space */
.alv-svc-wrap{padding-bottom:34px !important;}
.alv-svc-fine{margin-bottom:12px !important;}
.alv-vs-wrap{padding-top:36px !important;}

/* Steps - centered to the title, single connector line, tighter bottom */
.alv-steps-wrap{padding-bottom:44px;}
.alv-steps{position:relative;}
.alv-steps::before{content:'';position:absolute;top:29px;left:12.5%;right:12.5%;height:1px;background:rgba(197,168,110,0.45);z-index:0;}
.alv-step{text-align:center;align-items:center;position:relative;z-index:1;}
.alv-step .alv-step-badge{margin-left:auto;margin-right:auto;position:relative;z-index:1;}
.alv-step-line{display:none !important;}
@media (max-width:900px){.alv-steps::before{display:none;}}

/* Personas - frame faces (was 50% 50% center-crop), more room, stronger text scrim */
.alv-persona-photo{background-position:50% 22% !important;min-height:460px;}
.alv-persona-photo::after{background:linear-gradient(180deg,rgba(33,28,23,0.10) 0%,rgba(33,28,23,0.28) 36%,rgba(33,28,23,0.66) 62%,rgba(33,28,23,0.95) 100%);}
.alv-persona-photo{transition:transform 320ms cubic-bezier(.2,.6,.2,1),box-shadow 320ms ease;}

@media (max-width:767px){.alv-persona-photo{min-height:420px;}}

/* Richer scroll motion - directional reveals */
.js-reveal .alv-vs-box-no{transform:translateX(-44px);}
.js-reveal .alv-vs-box-yes{transform:translateX(44px);}
.js-reveal .alv-vs-box-no.is-visible,.js-reveal .alv-vs-box-yes.is-visible{transform:none;}
.js-reveal .alv-md-photo{transform:translateX(-46px);}
.js-reveal .alv-md-body{transform:translateX(46px);}
.js-reveal .alv-md-photo.is-visible,.js-reveal .alv-md-body.is-visible{transform:none;}
@media (max-width:900px){
  .js-reveal .alv-vs-box-no,.js-reveal .alv-vs-box-yes,.js-reveal .alv-md-photo,.js-reveal .alv-md-body{transform:translateY(11px);}
  .js-reveal .alv-vs-box-no.is-visible,.js-reveal .alv-vs-box-yes.is-visible,.js-reveal .alv-md-photo.is-visible,.js-reveal .alv-md-body.is-visible{transform:none;}
}

/* Header - one clean line, no wrapping (was crowded/wrapping ~900-1366px) */
.alv-header{padding-left:3.2vw;padding-right:3.2vw;gap:18px;}
.alv-wordmark{white-space:nowrap;flex-shrink:0;letter-spacing:0.12em;}
.alv-nav{flex-wrap:nowrap;gap:16px;}
.alv-nav a{white-space:nowrap;font-size:12px;letter-spacing:0.08em;padding-bottom:4px;}
.alv-header-cta{white-space:nowrap;flex-shrink:0;padding:11px 18px;font-size:11px;letter-spacing:0.12em;}
@media (max-width:1120px) and (min-width:901px){.alv-nav{gap:13px;}.alv-nav a{font-size:11px;letter-spacing:0.05em;}.alv-wordmark{font-size:19px;}}

/* Eyebrow → refined pill badge (skill: high-end-visual-design - eyebrow tags as pills, not naked AI labels) */
.alv-eyebrow{margin-bottom:18px;width:fit-content;align-self:flex-start;}
.alv-svc-head .alv-eyebrow,[style*="text-align:center"] > .alv-eyebrow{margin-left:auto;margin-right:auto;align-self:center;}

/* ============================================================
   COHESION 2026-06 - unify card language (Care + Physician → Home/Membership)
   De-nest .alv-inner (was a card-in-card) + lighten .alv-nested from
   taupe to the same light surface as the new sections. (Impeccable: no nested cards.)
   ============================================================ */
.alv-nested{background:#FFFFFF;box-shadow:0 1px 3px rgba(33,28,23,0.05),0 16px 40px rgba(33,28,23,0.07);}
.alv-inner-stack{gap:18px !important;margin-top:0 !important;}
.alv-inner{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;margin:0 !important;}
.alv-inner-stack .alv-inner{border-top:1px solid rgba(168,154,135,0.32) !important;padding:18px 0 0 !important;}
.alv-inner-stack > .alv-inner:first-child{border-top:none !important;padding-top:0 !important;}
.alv-nested > .alv-inner{padding:0 !important;}
.alv-inner-stack,.alv-inner-stack > .alv-inner{flex:0 0 auto !important;}
/* Equal-height cards = symmetrical rows (content balanced so blank stays minimal) */
.alv-three-up{align-items:stretch !important;}
/* GLP-1 note - 2-col so the disclaimer fills the box instead of floating in blank space */

/* 3-step stepper variant (first-visit) - connector spans the 3 badge centers */
.alv-steps.three{grid-template-columns:repeat(3,1fr) !important;}
.alv-steps.three::before{left:16.67% !important;right:16.67% !important;}
@media (max-width:900px){.alv-steps.three{grid-template-columns:1fr !important;}}
/* Two-panel columns: top-align so the section labels/headings line up (were vertically centered) */
.alv-two-panel-left,.alv-two-panel-right{justify-content:flex-start !important;}

/* MANIFESTO DARK BAND 2026-06-05 - "We changed the math." is now a deep espresso statement band (cream text), breaking the flat cream so the line lands like an editorial moment; flows into the cream membership section. Home-only (.alv-manifesto is home-only). */
.alv-manifesto{background:var(--alv-charcoal) !important;padding:78px 6vw 70px !important;}
.alv-manifesto h2{font-size:clamp(40px,6vw,72px) !important;margin-bottom:30px !important;color:var(--alv-cream) !important;}
.alv-manifesto + .alv-svc-wrap{padding-top:60px !important;}
@media (max-width:767px){.alv-manifesto{padding:52px 6vw 48px !important;}.alv-manifesto h2{font-size:clamp(32px,8.5vw,44px) !important;line-height:1.12 !important;margin-bottom:24px !important;}.alv-manifesto + .alv-svc-wrap{padding-top:40px !important;}}
.alv-section-dark .alv-eyebrow{color:var(--alv-cream);}

/* PERSONA MOBILE FIX 2026-06-05 - on mobile the photo cards collapsed to text height (.alv-persona-card{min-height:auto!important} beat the photo min-height), dropping the heading onto the face. Restore real height (higher specificity + !important) so the portrait shows ABOVE the bottom-anchored copy. */
@media (max-width:900px){.alv-persona-card.alv-persona-photo{min-height:400px !important;}}
@media (max-width:767px){.alv-persona-card.alv-persona-photo{min-height:360px !important;}}

/* STICKY CTA REVEAL 2026-06-05 - the sticky Reserve bar used to sit on the hero too (a 3rd "Reserve your spot" crowding the hero). Now it starts hidden and slides in once you scroll past the hero (.is-revealed toggled by main.js). */
.alv-sticky-dual,.alv-mobile-sticky-cta{transform:translateY(125%);transition:transform 340ms cubic-bezier(.4,0,.2,1);}
.alv-sticky-dual.is-revealed,.alv-mobile-sticky-cta.is-revealed{transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.alv-sticky-dual,.alv-mobile-sticky-cta{transition:none;}}

/* MOBILE TAP FEEDBACK 2026-06-05 - touch devices can't hover, so cards felt inert on tap. A subtle press scale gives tactile life (touch only, so desktop hover-lift is untouched). */
@media (hover:none){
  .alv-svc-card,.alv-why-card,.alv-nested,.alv-image-card,.alv-persona-photo,.alv-step{transition:transform 150ms ease,box-shadow 260ms ease;}
  .alv-svc-card:active,.alv-why-card:active,.alv-nested:active,.alv-image-card:active,.alv-persona-photo:active,.alv-step:active{transform:scale(0.985);}
}

/* HEADLINE WRAP POLISH 2026-06-05 - balance headline line lengths (kills orphan words / awkward mid-phrase breaks) and pretty-wrap subtitles+leads. Progressive enhancement: older browsers ignore it. */
.alv-hero-title,.alv-headline-band-hero,.alv-persona-heading,.alv-manifesto h2,.alv-svc-head h2,.alv-md-body h1,.alv-md-body h2,.alv-section-dark h2,.alv-two-panel h2,.alv-nested-title,.alv-cred-card h2{text-wrap:balance;}
.alv-hero-sub,.alv-headline-band-sub,.alv-svc-head p,.alv-md-body p,.alv-persona-card p,.alv-vs-box p{text-wrap:pretty;}

/* ===== 3-WAY COMPARISON MATRIX (concierge vs PCP vs traditional) 2026-06-05 ===== */
.alv-cmp{max-width:1060px;margin:0 auto;border-radius:20px;overflow:hidden;border:1px solid rgba(168,154,135,0.30);box-shadow:0 18px 50px rgba(42,38,32,0.12);background:#FFFFFF;}
.alv-cmp-head,.alv-cmp-row{display:grid;grid-template-columns:1.45fr 1.2fr 1.2fr;align-items:stretch;}
.alv-cmp-row{border-top:1px solid rgba(168,154,135,0.22);}
.alv-cmp-feat{padding:17px 24px;display:flex;align-items:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;line-height:1.3;font-weight:500;color:var(--alv-charcoal);}
.alv-cmp-head .alv-cmp-feat{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--alv-taupe);font-weight:600;}
.alv-cmp-col{padding:18px 6px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--alv-taupe);line-height:1.25;}
.alv-cmp-cell{display:flex;align-items:center;justify-content:center;padding:15px 6px;}
.alv-cmp .ic{width:26px;height:26px;background-repeat:no-repeat;background-position:center;background-size:contain;}
.alv-cmp-col-alv{background:var(--alv-charcoal);color:var(--alv-cream);font-weight:700;letter-spacing:0.09em;}
.alv-cmp-cell-alv{background:var(--alv-charcoal);}
.alv-cmp-row:last-child .alv-cmp-cell-alv{border-bottom-left-radius:0;}
.ic-yes{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='11' fill='%2346595F'/><polyline points='17 9 10.5 16 7 12.5' fill='none' stroke='%23F4F1E9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");}
.ic-yes-alv{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='11' fill='%23C5A86E'/><polyline points='17 9 10.5 16 7 12.5' fill='none' stroke='%2326312E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");}
.ic-no{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='11' fill='none' stroke='%23A6ADA8' stroke-width='1.3'/><line x1='8.6' y1='8.6' x2='15.4' y2='15.4' stroke='%23A6ADA8' stroke-width='2' stroke-linecap='round'/><line x1='15.4' y1='8.6' x2='8.6' y2='15.4' stroke='%23A6ADA8' stroke-width='2' stroke-linecap='round'/></svg>");opacity:0.95;}
.ic-mid{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><line x1='7' y1='12' x2='17' y2='12' stroke='%23A6ADA8' stroke-width='2.3' stroke-linecap='round'/></svg>");opacity:0.9;}
.alv-cmp-foot{font-family:'Inter','Inter Fallback',sans-serif;font-size:10.5px;color:var(--alv-taupe);text-align:center;margin:14px auto 0;max-width:820px;line-height:1.4;opacity:0.6;}
@media (max-width:600px){
  .alv-cmp-head,.alv-cmp-row{grid-template-columns:1.7fr 1fr 1fr;}
  .alv-cmp-feat{padding:9px 11px;font-size:11.5px;line-height:1.2;}
  .alv-cmp-head .alv-cmp-feat{font-size:0;padding:0;}
  .alv-cmp-col{padding:10px 2px;font-size:9px;letter-spacing:0;}
  .alv-cmp .ic{width:17px;height:17px;}
  .alv-cmp-cell{padding:7px 2px;}
}

/* ===== VALUE-STACK band (Membership) 2026-06-05 ===== */
.alv-vstack-band{background:var(--alv-cream);padding:10px 6vw 38px;}
.alv-vstack{max-width:920px;margin:0 auto;text-align:center;}
.alv-vstack-lead{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;font-size:clamp(19px,2.4vw,27px);color:var(--alv-charcoal);line-height:1.3;margin:0 0 22px;}

.alv-vstack-chips span{font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.03em;color:var(--alv-charcoal);background:#FFFFFF;border:1px solid rgba(168,154,135,0.42);border-radius:999px;padding:9px 18px;white-space:nowrap;}
.alv-vstack-foot{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-taupe);margin:0;line-height:1.5;}
.alv-vstack-foot strong{color:var(--alv-charcoal);font-weight:600;}
@media (max-width:600px){.alv-vstack-chips span{font-size:12px;padding:8px 14px;}}

/* ===== Composed 3-tier section rhythm (loud/quiet/loud, replaces the flat 44px) ===== */
/* Tentpole moments (dark bands + founding-offer) get the most air so they read as punctuation */
.alv-section-dark-wrap{padding-top:clamp(3rem,5.5vw,4.5rem) !important;padding-bottom:clamp(3rem,5.5vw,4.5rem) !important;}
/* Standard content sections */
.alv-svc-wrap,.alv-vs-wrap,.alv-persona-band,.alv-steps-wrap,.alv-image-cards-wrap,.alv-two-panel-wrap,.alv-manifesto,.alv-headline-band{padding-top:clamp(2.3rem,4.4vw,3.4rem) !important;padding-bottom:clamp(2.3rem,4.4vw,3.4rem) !important;}
/* Tight label+grid pairs */
.alv-soft-band{padding-top:clamp(1.9rem,3.8vw,2.6rem) !important;padding-bottom:clamp(1.9rem,3.8vw,2.6rem) !important;}
.alv-section-divider-wrap{padding-top:0 !important;padding-bottom:0 !important;}
/* ===== end rhythm block ===== */

/* ===== Hybrid polish: crisp & elevated, a touch fresher (warm) ===== */
:root{--alv-cream:#EFE9DB;}
.alv-svc-card,.alv-cred-card,.alv-two-panel-left,.alv-two-panel-right,.alv-tri-panel,.alv-why-card{background:#FFFFFF !important;border:1px solid rgba(168,154,135,0.26) !important;box-shadow:0 1px 2px rgba(42,38,32,0.05),0 14px 32px -12px rgba(42,38,32,0.16) !important;}
.alv-nested,.alv-persona-card{box-shadow:0 1px 3px rgba(42,38,32,0.10),0 20px 44px -16px rgba(42,38,32,0.16) !important;}
.alv-image-card,.alv-svc-photo,.alv-md-photo{box-shadow:0 2px 8px rgba(42,38,32,0.07),0 24px 50px -18px rgba(42,38,32,0.24) !important;}
.alv-svc-ic{width:48px !important;height:48px !important;padding:12px !important;border-radius:14px !important;background:linear-gradient(155deg,#FFFFFF,#EFEBDE) !important;color:var(--alv-salmon-dk) !important;box-shadow:0 1px 2px rgba(42,38,32,0.06),0 7px 16px -5px rgba(84,94,59,0.20) !important;border:1px solid rgba(168,154,135,0.20) !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;}
.alv-svc-ic svg{stroke-width:1.7 !important;}
@media (max-width:767px){.alv-svc-ic{width:44px !important;height:44px !important;padding:11px !important;border-radius:13px !important;}}
.alv-footer-wordmark{position:relative;left:0.1em;}
/* ===== end hybrid polish ===== */

/* ===== TEAL + GOLD palette (Peninsula-family) ===== */
:root{
  --alv-charcoal:#36474C !important;   /* deep teal-slate: text + dark sections + header */
  --alv-cream:#FAF7F1 !important;       /* clean bone */
  --alv-cream-lt:#FFFFFF !important;
  --alv-taupe:#5C665B !important;       /* muted secondary text */
  --alv-salmon:#C5A86E !important;      /* bright gold: dark-bg accents/headings */
  --alv-salmon-dk:#7C6228 !important;   /* bronze-gold: readable on light */
}
body{background:#FAF7F1 !important;}
/* gold serif headings on the dark teal bands */
.alv-section-dark h2,.alv-manifesto h2{color:#C5A86E !important;}
.alv-section-dark .alv-eyebrow{color:#D4BC84 !important;}
.alv-eyebrow{}
/* PRIMARY CTAs -> gold pill, deep-teal text */
.alv-pill-btn-dark,.alv-pill-btn-salmon,.alv-header-cta,.alv-sd-reserve,.alv-section-dark .alv-pill-btn{background:#C5A86E !important;color:#26312E !important;border-color:#C5A86E !important;}
@media (hover:hover){.alv-pill-btn-dark:hover,.alv-pill-btn-salmon:hover,.alv-header-cta:hover,.alv-sd-reserve:hover,.alv-section-dark .alv-pill-btn:hover{background:#B5975B !important;border-color:#B5975B !important;color:#26312E !important;}}
.alv-pill-btn-dark span[aria-hidden="true"],.alv-pill-btn-salmon span[aria-hidden="true"],.alv-header-cta span[aria-hidden="true"],.alv-section-dark .alv-pill-btn span[aria-hidden="true"]{background:rgba(38,49,46,0.18) !important;}
/* keep elevated porcelain surfaces */
.alv-svc-card,.alv-cred-card,.alv-two-panel-left,.alv-two-panel-right,.alv-tri-panel,.alv-why-card{background:#FFFFFF !important;}
/* ===== end teal+gold ===== */

/* ===== Cormorant Garamond display weight (runs light at 500; 600 = elegant + present) ===== */
.alv-hero-title,.alv-svc-head h2,.alv-section-dark h2,.alv-manifesto h2,.alv-persona-heading,.alv-two-panel h2,.alv-tri-panel h2,.alv-cred-card h2,.alv-md-body h1,.alv-md-body h2,.alv-nested-title,.alv-headline-band-hero,.alv-footer-wordmark,.alv-wordmark{font-weight:600 !important;}
/* ===== end cormorant weight ===== = */

/* lining figures so numerals (e.g. $399) are uniform height, not old-style */
body{font-variant-numeric:lining-nums;}
.alv-hero-title,.alv-svc-head h2,[class*=price],[class*=offer],.alv-cmp,h1,h2,h3{font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1;}

/* ===== Footer contact/hours columns (themed) ===== */
.alv-footer-info{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:560px;margin:6px auto 34px;text-align:center;}
.alv-footer-col{min-width:0;}
.alv-footer-h{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:21px;color:var(--alv-charcoal);margin:0 0 13px;}
.alv-footer-line{display:block;font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;line-height:1.5;color:var(--alv-taupe);text-decoration:none;margin:0 0 7px;}
a.alv-footer-line{width:fit-content;margin-left:auto;margin-right:auto;transition:color 200ms ease;}
@media (hover:hover){a.alv-footer-line:hover{color:var(--alv-salmon-dk);}}
.alv-footer-fine{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;font-size:14px;color:var(--alv-taupe);opacity:0.85;margin:9px 0 0;}
@media(max-width:600px){.alv-footer-info{grid-template-columns:1fr;justify-items:center;text-align:center;gap:26px;max-width:320px;}a.alv-footer-line{margin-left:auto;margin-right:auto;}}
/* ===== end footer columns ===== */

/* header emblem mark */
.alv-wordmark{display:inline-flex !important;align-items:center;gap:11px;}
.alv-mark{width:34px;height:34px;flex-shrink:0;line-height:0;}
.alv-mark svg{width:100%;height:100%;display:block;}
@media(max-width:767px){.alv-mark{width:27px;height:27px;}}

/* ===== unified tile hover: identical lift + timing + easing on every card ===== */
.alv-svc-card,.alv-why-card,.alv-cred-card,.alv-nested,.alv-image-card,.alv-persona-photo,.alv-two-panel-left,.alv-two-panel-right,.alv-tri-panel{transition:transform 240ms cubic-bezier(0.2,0.6,0.2,1),box-shadow 240ms ease !important;}


@media (hover:none){.alv-svc-card:hover,.alv-why-card:hover,.alv-cred-card:hover,.alv-nested:hover,.alv-image-card:hover,.alv-persona-photo:hover,.alv-two-panel-left:hover,.alv-two-panel-right:hover,.alv-tri-panel:hover{transform:none !important;}}
@media (prefers-reduced-motion:reduce){.alv-svc-card:hover,.alv-why-card:hover,.alv-cred-card:hover,.alv-nested:hover,.alv-image-card:hover,.alv-persona-photo:hover,.alv-two-panel-left:hover,.alv-two-panel-right:hover,.alv-tri-panel:hover{transform:none !important;}}
/* ===== unified button press: consistent scale(0.97) + explicit transitions on every CTA ===== */
.alv-header-cta,.alv-pill-btn,.alv-pill-btn-salmon,.alv-pill-btn-dark,.alv-sd-reserve,.alv-btn-ghost-light,.alv-multistep-next,.alv-back-to-top{transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease,transform 140ms cubic-bezier(0.2,0.6,0.2,1) !important;}
.alv-header-cta:active,.alv-pill-btn:active,.alv-pill-btn-salmon:active,.alv-pill-btn-dark:active,.alv-sd-reserve:active,.alv-btn-ghost-light:active,.alv-multistep-next:active,.alv-back-to-top:active{transform:scale(0.97) !important;}
/* ===== end unified hover/press ===== */

/* ===== contact preferred-method toggle ===== */
.alv-contact-prefs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0;}
.alv-contact-prefs-label{font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;color:var(--alv-taupe);margin-right:4px;}
.alv-contact-pref{display:inline-flex;align-items:center;gap:7px;font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;color:var(--alv-charcoal);border:1px solid rgba(168,154,135,0.5);border-radius:999px;padding:8px 15px;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease;}
.alv-contact-pref input{accent-color:var(--alv-salmon-dk);margin:0;width:14px;height:14px;}
.alv-contact-pref:has(input:checked){background:rgba(197,168,110,0.13);border-color:var(--alv-salmon-dk);}
/* ===== end toggle ===== */

/* ===== social icons (footer + contact) ===== */

.alv-social-row a{display:inline-flex;color:var(--alv-salmon-dk);transition:color 160ms ease,transform 160ms ease;}
@media (hover:hover){.alv-social-row a:hover{color:#A07C2E;transform:translateY(-1px);}}
.alv-social-row svg{width:20px;height:20px;display:block;}

/* ===== end social ===== */

/* band caption + small display text: balance to avoid orphan words */
.alv-svc-photo-cap p,.alv-inner-headline,.alv-step h3,.alv-svc-card h3,.alv-why-card h3{text-wrap:balance;}

.alv-wordmark{cursor:pointer;}

@media (hover:hover){/* ===== A11y polish 2026-06-08 (AA contrast + touch targets + heading hierarchy) ===== */
/* Bright gold #C5A86E is 4.26:1 on teal: fails WCAG AA for text under ~24px. #CDB176 = 4.7:1 on teal. Small gold text on dark surfaces only. */
.alv-nav a:hover,.alv-nav a.active{color:#CDB176 !important;}}
@media (hover:hover){.alv-nav a:hover::after,.alv-nav a.active::after{background:#CDB176 !important;}}
.alv-offer-price span{color:#CDB176 !important;}
/* Touch targets: WCAG 2.5.8 (24px AA), reaching 44px where layout allows */
.alv-wordmark{min-height:44px;}
a.alv-footer-line{padding-block:7px;margin-bottom:1px;}
.alv-faq-toc-inner a{min-height:44px;display:inline-flex;align-items:center;}
/* Screen-reader-only headings: keep h1 to h2 to h3 order with no visual change */
.alv-sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* Mobile: the global `body,p,li{font-size:16px !important}` was crushing the founding-band price (a <p>) to 16px. Restore its intended display size. */
@media (max-width:767px){.alv-offer-price{font-size:clamp(56px,8vw,92px) !important;}}
/* Mobile click-to-call button inside the sticky bars (outlined secondary; Reserve stays the gold primary) */
.alv-mobile-sticky-cta{gap:10px !important;}
/* Hero price line: surfaces cost + the low-risk deposit above the fold (inherits the hero rise-in) */
.alv-hero-price-note{font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;line-height:1.5;letter-spacing:0.01em;color:var(--alv-cream);margin:18px 0 0;text-shadow:0 1px 14px rgba(42,38,32,0.55);animation-delay:.54s;}
.alv-hero-price-note strong{color:#CDB176;font-weight:600;}
/* "What happens after you reserve" reassurance at the point of friction (a real 3-step sequence, so numbers are earned) */

.alv-reserve-steps li{display:flex;align-items:flex-start;gap:9px;font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;line-height:1.35;color:var(--alv-taupe);flex:1 1 150px;}
.alv-reserve-steps li span{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:rgba(124,98,40,0.12);color:var(--alv-salmon-dk);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;}
@media (max-width:600px){.alv-reserve-steps li{flex:1 1 auto;}}
/* Contact "Preferred contact": on phones, label on its own line + three equal-width pills (was wrapping 1+2 unevenly) */
@media (max-width:600px){
  .alv-contact-prefs-label{flex-basis:100%;margin:0 0 2px;}
  .alv-contact-pref{flex:1 1 0;justify-content:center;padding-left:6px;padding-right:6px;}
}
/* Booking section (contact): form card, themed to read as a native porcelain card */
.alv-book-wrap{padding:clamp(2.3rem,4.4vw,3.4rem) 6vw;}
.alv-book-head{max-width:720px;margin:0 auto 30px;text-align:center;}
.alv-book-title{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:clamp(30px,4.4vw,48px);letter-spacing:-0.02em;line-height:1.06;color:var(--alv-charcoal);margin:6px 0 12px;text-wrap:balance;}
.alv-book-sub{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.6;color:var(--alv-taupe);max-width:52ch;margin:0 auto;}
/* Form panel layout on desktop */
.alv-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;max-width:1060px;margin:0 auto;align-items:start;}
.alv-book-aside-title{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:clamp(23px,3vw,30px);letter-spacing:-0.01em;color:var(--alv-charcoal);margin:0 0 10px;}
.alv-book-aside-sub{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;line-height:1.6;color:var(--alv-taupe);margin:0 0 18px;}
.alv-book-aside-sub a{color:var(--alv-salmon-dk);font-weight:600;text-decoration:none;white-space:nowrap;}
.alv-book-alt{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;line-height:1.6;color:var(--alv-taupe);margin:16px 0 0;text-align:center;}
.alv-book-alt a{color:var(--alv-salmon-dk);font-weight:600;text-decoration:none;}
@media (max-width:860px){.alv-book-grid{grid-template-columns:1fr;gap:30px;max-width:480px;}}
/* Mobile footer nav: tighten the wide tracking + gaps so it reads calm, not spread/busy */
@media (max-width:767px){
  .alv-footer-nav{gap:10px 16px !important;}
  .alv-footer-legal{gap:9px 16px !important;}
  .alv-footer-nav a,.alv-footer-legal a{font-size:10.5px !important;letter-spacing:0.08em !important;}
}
/* Service grids: EDITORIAL INDEX at all widths (flat, hairline rules, serif names, flat bronze icons). Replaces the raised-tile look on desktop AND mobile. Text/SEO unchanged. */
.alv-svc-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:0 38px !important;max-width:1080px !important;margin:0 auto !important;}
.alv-svc-card{background:transparent !important;border:0 !important;border-top:1px solid rgba(54,71,76,0.14) !important;border-radius:0 !important;box-shadow:none !important;padding:20px 0 22px !important;transform:none !important;}
@media (hover:hover){.alv-svc-card:hover,.alv-svc-card:active{background:transparent !important;transform:none !important;box-shadow:none !important;}}
.alv-svc-card .alv-svc-ic{width:26px !important;height:26px !important;padding:0 !important;margin-bottom:13px !important;background:transparent !important;border:0 !important;box-shadow:none !important;color:var(--alv-salmon-dk) !important;}
.alv-svc-card .alv-svc-ic svg{width:100% !important;height:100% !important;stroke-width:1.5 !important;}
.alv-svc-card h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-size:22px !important;font-weight:600 !important;line-height:1.12 !important;letter-spacing:-0.01em !important;color:var(--alv-charcoal) !important;margin:0 !important;}
.alv-svc-card p{font-size:13px !important;line-height:1.48 !important;margin-top:7px !important;color:var(--alv-taupe) !important;}
@media (max-width:767px){
  .alv-svc-grid{grid-template-columns:1fr 1fr !important;gap:0 22px !important;max-width:none !important;}
  .alv-svc-card{padding:15px 0 17px !important;}
  .alv-svc-card .alv-svc-ic{width:24px !important;height:24px !important;margin-bottom:10px !important;}
  .alv-svc-card h3{font-size:19px !important;}
  .alv-svc-card p{font-size:12px !important;}
}
@media (max-width:359px){.alv-svc-grid{grid-template-columns:1fr !important;}}
/* Service fine print + the "Learn more about..." links: very small, quiet, at the bottom */
.alv-svc-fine{font-size:11px !important;line-height:1.5 !important;}
.alv-svc-fine a{font-weight:600 !important;}
/* Comparison-matrix disclaimer: keep it tiny (was bumped to 16px on mobile by the global p rule) */
.alv-cmp-foot{font-size:10px !important;}
/* Editorial: DESKTOP = only the home services (.alv-svc-grid, above) are the flat editorial index; everything else (incl. the why-concierge "What concierge medicine should be" .alv-why-card) is tiles.
   MOBILE (<=767px) = de-tile the simple title+desc grids into the home-style 2-column editorial list. The .alv-three-up .alv-nested cards stay tiles everywhere (each holds an internal checklist that a 2-up would crush). */
@media (max-width:767px){
  .alv-why-grid{grid-template-columns:1fr 1fr !important;gap:0 22px !important;max-width:none !important;}
  .alv-why-card{background:transparent !important;border:0 !important;border-top:1px solid rgba(54,71,76,0.14) !important;border-radius:0 !important;box-shadow:none !important;padding:15px 0 17px !important;}
  .alv-why-card .alv-why-num{margin-bottom:6px !important;}
  .alv-why-card h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-size:19px !important;font-weight:600 !important;letter-spacing:-0.01em !important;line-height:1.12 !important;margin-bottom:6px !important;}
  .alv-why-card p{font-size:12px !important;line-height:1.48 !important;}
  .alv-why-card:hover,.alv-why-card:active{transform:none !important;box-shadow:none !important;}
}
@media (max-width:359px){.alv-why-grid{grid-template-columns:1fr !important;}}
/* Mobile declutter primitive: hide secondary trailing copy / secondary blocks on phones only (text stays in the DOM for desktop + SEO). Wrap a trailing sentence in <span class="alv-m-less"> or a whole block with class="alv-m-less". Conversion-critical copy (price, scarcity, CTAs, access claims, compliance qualifiers) is never wrapped. */
@media (max-width:767px){.alv-m-less{display:none !important;}}
/* Cross-page flow: "Keep exploring" contextual link row tying pages together (sits on cream, above the final dark CTA band / footer). Desktop = inline row; mobile = clean stacked list with hairlines + right-aligned arrow. */
.alv-explore{background:var(--alv-cream);padding:clamp(2.6rem,5.5vw,4rem) 5vw;}
.alv-explore-inner{max-width:1000px;margin:0 auto;border-top:1px solid rgba(54,71,76,0.16);padding-top:clamp(1.8rem,3.4vw,2.6rem);text-align:center;}
.alv-explore-h{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:clamp(21px,2.6vw,28px);letter-spacing:-0.01em;color:var(--alv-charcoal);margin:0 0 20px;text-wrap:balance;}
.alv-explore-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;}
.alv-explore-row a{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;font-weight:600;color:var(--alv-salmon-dk);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;letter-spacing:0.01em;}
.alv-explore-arr{transition:transform 220ms cubic-bezier(0.2,0.6,0.2,1);}
@media (hover:hover){.alv-explore-row a:hover{color:var(--alv-charcoal);}}
@media (hover:hover){.alv-explore-row a:hover .alv-explore-arr{transform:translateX(4px);}}
@media (max-width:600px){
  .alv-explore-row{flex-direction:column;gap:0;}
  .alv-explore-row a{justify-content:space-between;width:100%;max-width:340px;margin:0 auto;padding:3px 6px;border-top:1px solid rgba(54,71,76,0.10);font-size:16px;}
  .alv-explore-row a:first-child{border-top:0;}
}
/* ===== Conversion pass 2026-06-09 (research-derived, brand-locked) ===== */
/* Mobile hero flip: on content-heavy heroes (Care, Membership) put headline/value/Reserve CTA ABOVE the photo so the ask is in the first fold. Scoped via .alv-flip-m so the physician bio hero (photo-first by design) and the home mid-page feature are untouched. */
@media (max-width:767px){.alv-flip-m .alv-md-body{order:-1;}}
/* Comparison matrix: 9px column heads were near-unreadable on mobile; bump to a legible size (still fits 4 fr-columns at 360px). */
@media (max-width:767px){.alv-cmp-col{font-size:10.5px !important;line-height:1.15 !important;}}
/* Accordion affordance: give every <details><summary> a clear +/- toggle and a 44px tap row (mobile friction fix). \2212 is a minus sign, not an em-dash. */
details > summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;cursor:pointer;}
details > summary::-webkit-details-marker{display:none;}
details > summary::after{content:'+';font-family:'Inter','Inter Fallback',sans-serif;font-weight:400;font-size:24px;line-height:1;color:var(--alv-salmon-dk);transition:transform 200ms ease;flex:none;}
details[open] > summary::after{content:'\2212';}
/* Notch / Dynamic Island safety (2026-06-10): the site is viewport-fit=cover (edge-to-edge), so on notched phones, ESPECIALLY in landscape where the notch sits on a side, the header wordmark + hamburger and the sticky bars must clear the safe-area insets. env() resolves to 0 on non-notched and desktop screens, so this is a no-op there. Scoped to <=900px so the desktop header padding is untouched. */
@media (max-width:900px){
  .alv-header{padding-top:calc(14px + env(safe-area-inset-top)) !important;padding-left:max(5vw, env(safe-area-inset-left)) !important;padding-right:max(5vw, env(safe-area-inset-right)) !important;padding-bottom:14px !important;}
  .alv-sticky-dual,.alv-mobile-sticky-cta{padding-left:max(14px, env(safe-area-inset-left)) !important;padding-right:max(14px, env(safe-area-inset-right)) !important;}
}
/* "Who Dr. Sharma serves" on MOBILE -> full-bleed horizontal swipe carousel (2026-06-10). The 3 photo cards were 3 x 400px stacked (~1200px of scroll); now one card shows with a peek of the next (the peek IS the swipe cue), cutting the section to ~one card tall. Desktop keeps the 3-up grid. Cards are forced visible so a horizontally-offscreen card never stays hidden by the scroll-reveal. */
@media (max-width:767px){
  .alv-persona-cards,.alv-image-cards{display:flex !important;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 5vw;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .alv-persona-cards::-webkit-scrollbar,.alv-image-cards::-webkit-scrollbar{display:none;}
  .alv-persona-cards{gap:14px !important;margin:0 -5vw !important;padding:6px 5vw 18px !important;}
  .alv-persona-card{flex:0 0 82% !important;scroll-snap-align:start;min-height:330px !important;}
  .alv-image-cards{gap:13px !important;padding:2px 5vw 8px !important;}
  .alv-image-card{flex:0 0 70% !important;scroll-snap-align:start;}
  .js-reveal .alv-persona-card,.js-reveal .alv-persona-card.is-visible,.js-reveal .alv-image-card,.js-reveal .alv-image-card.is-visible{opacity:1 !important;transform:none !important;}
}
/* Price chips (2026-06-10): the non-wordy way to surface the founding offer at the booking step. Three scannable spec chips, no sentences. Bronze on porcelain, AA. */
.alv-price-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 0;padding:0;}
.alv-price-chips span{font-family:'Inter','Inter Fallback',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:0.02em;color:var(--alv-salmon-dk);background:var(--alv-cream-lt);border:1px solid rgba(124,98,40,0.28);border-radius:999px;padding:7px 14px;white-space:nowrap;}
/* Care tap-to-expand (2026-06-10, mobile only): the long service checklists on the Care page collapse behind a "See what's included" toggle. Titles + promise lines stay visible; the full list stays in the DOM (SEO intact) and one tap reveals it. Desktop always expanded; the toggle button never shows there. */
@media (max-width:767px){
  .alv-xpnd .alv-inner-stack,.alv-xpnd .alv-checklist{display:none;}
  .alv-xpnd.is-open .alv-inner-stack,.alv-xpnd.is-open .alv-checklist{display:block;}
}
.alv-xpnd-btn{display:none;}
@media (max-width:767px){
  .alv-xpnd-btn{display:inline-flex;align-items:center;gap:8px;font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:0.03em;color:var(--alv-salmon-dk);background:none;border:0;padding:8px 0;min-height:44px;cursor:pointer;}
  .alv-xpnd-btn::after{content:'+';font-size:20px;line-height:1;font-weight:400;}
  .alv-xpnd.is-open .alv-xpnd-btn::after{content:'\2212';}
}
@media (hover:hover){/* Home tiles: no float (2026-06-10, Dr. Sharma). The persona cards and "Where to go next" cards (home-only classes) no longer lift or scale on hover/tap; they hold their resting shadow. Other pages' cards keep their behavior. */
.alv-image-card:hover,.js-reveal .alv-image-card.is-visible:hover{transform:none !important;box-shadow:0 4px 18px rgba(42,38,32,0.08) !important;}}
@media (hover:hover){.alv-persona-photo:hover,.alv-persona-card:hover{transform:none !important;box-shadow:0 10px 30px rgba(42,38,32,0.16) !important;}}
.alv-image-card:active,.alv-persona-photo:active,.alv-persona-card:active{transform:none !important;}
/* Section dividers + rhythm: tighter (2026-06-10, Dr. Sharma: too much white space between sections). The divider dot-and-bars keeps zero extra padding; section paddings trimmed ~18% from the previous scale. */
.alv-section-divider{margin:4px 0 !important;}
.alv-section-dark-wrap{padding-top:clamp(2.6rem,4.6vw,3.6rem) !important;padding-bottom:clamp(2.6rem,4.6vw,3.6rem) !important;}
.alv-svc-wrap,.alv-vs-wrap,.alv-persona-band,.alv-steps-wrap,.alv-image-cards-wrap,.alv-two-panel-wrap,.alv-manifesto,.alv-headline-band{padding-top:clamp(2rem,3.6vw,2.8rem) !important;padding-bottom:clamp(2rem,3.6vw,2.8rem) !important;}
.alv-soft-band{padding-top:clamp(1.7rem,3.2vw,2.2rem) !important;padding-bottom:clamp(1.7rem,3.2vw,2.2rem) !important;}
/* In-card service links: small + quiet (the global mobile p{16px} rule was inflating them) */
.alv-svc-links a{font-size:13px !important;line-height:1.6 !important;}
@media (hover:hover){/* NO hover-lift anywhere (2026-06-10, Dr. Sharma): tiles never translate on hover or tap. Scroll-reveal animations stay. Cards keep their resting shadows and depth. */
.alv-svc-card:hover,.alv-why-card:hover,.alv-cred-card:hover,.alv-nested:hover,.alv-two-panel-left:hover,.alv-two-panel-right:hover,.alv-tri-panel:hover,.alv-image-card:hover,.alv-persona-photo:hover,.alv-persona-card:hover,.alv-step:hover,
.js-reveal .alv-svc-card.is-visible:hover,.js-reveal .alv-why-card.is-visible:hover,.js-reveal .alv-cred-card.is-visible:hover,.js-reveal .alv-nested.is-visible:hover,.js-reveal .alv-two-panel-left.is-visible:hover,.js-reveal .alv-two-panel-right.is-visible:hover,.js-reveal .alv-tri-panel.is-visible:hover,.js-reveal .alv-image-card.is-visible:hover{transform:none !important;}}
.alv-svc-card:active,.alv-why-card:active,.alv-cred-card:active,.alv-nested:active,.alv-image-card:active,.alv-persona-photo:active,.alv-persona-card:active,.alv-step:active,.alv-two-panel-left:active,.alv-two-panel-right:active,.alv-tri-panel:active{transform:none !important;}
/* Footer: compact on mobile (2026-06-10, Dr. Sharma: footer read as scattered icons/headings below "Keep exploring"). Tighter rhythm, smaller headings, social row anchored to the wordmark. Desktop unchanged. */
@media (max-width:600px){
  .alv-footer{padding:34px 5vw 28px !important;}
  .alv-footer-wordmark{margin-bottom:12px !important;}
  
  .alv-footer-info{gap:14px !important;margin:10px auto 20px !important;}
  .alv-footer-h{font-size:17px !important;margin-bottom:5px !important;}
  .alv-footer-line{font-size:13px !important;margin-bottom:3px !important;}
  .alv-footer-fine{font-size:12.5px !important;margin-top:3px !important;}
}
/* ===== Validated elite-tier upgrades 2026-06-10 (sources in CLAUDE.md) ===== */
/* Dark footer mirroring the header (Aman/Sollis/JK pattern: dense-but-ordered, dark, typography mirrors header). Anchors the page end; kills the scattered cream footer. */
.alv-footer{background:var(--alv-charcoal) !important;border-top:1px solid rgba(197,168,110,0.32) !important;}
.alv-footer-wordmark{color:var(--alv-cream) !important;}
.alv-footer-h{color:#CDB176 !important;}
.alv-footer-line{color:rgba(244,241,233,0.78) !important;}
@media (hover:hover){a.alv-footer-line:hover{color:#CDB176 !important;}}
.alv-footer-fine{color:rgba(244,241,233,0.55) !important;}
.alv-social-row a{color:#CDB176 !important;}
@media (hover:hover){.alv-social-row a:hover{color:#E2CB95 !important;}}
.alv-footer-nav a{color:rgba(244,241,233,0.82) !important;}
@media (hover:hover){.alv-footer-nav a:hover{color:#CDB176 !important;}}
.alv-footer-legal a{color:rgba(244,241,233,0.55) !important;}
@media (hover:hover){.alv-footer-legal a:hover{color:rgba(244,241,233,0.85) !important;}}
.alv-footer .alv-footer-copy,.alv-footer p{color:rgba(244,241,233,0.55);}
/* Two-layer card finish: hairline + soft large-radius teal-tinted shadow (Parsley/Aman elevation, never flat, never heavy). */
.alv-svc-card,.alv-cred-card,.alv-two-panel-left,.alv-two-panel-right,.alv-tri-panel,.alv-why-card,.alv-nested{box-shadow:0 1px 2px rgba(42,38,32,0.04),0 24px 48px -32px rgba(54,71,76,0.30) !important;}
/* Tonal ladder: soft-band steps slightly below cream so porcelain cards pop and sections read as color blocks (JK/Parsley color-banding). */
.alv-soft-band{background:#FAF7F1 !important;}
/* Offer-band price anchor: the after-50 rate note as quiet secondary text (CXL anchoring; membership.io rate-lock framing; never struck-through). */
.alv-offer-anchor{font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;letter-spacing:0.04em;color:#CDB176;margin:2px 0 0;}
/* ===== end validated upgrades ===== */
/* ===== Punch-list pass 2026-06-10b (word-for-word) ===== */
/* 1. Typography unification: all card/section headings in the display serif (body stays Inter) so the theme is consistent top to bottom. */
.alv-nested-title,.alv-two-panel h2,.alv-two-panel-right h3,.alv-persona-card h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-weight:600 !important;letter-spacing:-0.015em !important;}
.alv-nested-title{font-size:30px;}
.alv-two-panel h2{font-size:36px;}
.alv-two-panel-right h3{font-size:26px;}
.alv-persona-card h3{font-size:28px;}
@media(max-width:767px){.alv-nested-title{font-size:24px !important;}.alv-two-panel h2{font-size:25px !important;}.alv-two-panel-right h3{font-size:22px !important;}.alv-persona-card h3{font-size:22px !important;}}
/* 7. Cards: close, quiet shadow (kills the fish-scale halos) + gentler tonal band + more card separation */
.alv-svc-card,.alv-cred-card,.alv-two-panel-left,.alv-two-panel-right,.alv-tri-panel,.alv-why-card,.alv-nested{box-shadow:0 1px 2px rgba(42,38,32,0.05),0 12px 26px -18px rgba(54,71,76,0.25) !important;}
.alv-soft-band{background:#FAF7F1 !important;}
@media(max-width:767px){.alv-three-up{gap:20px !important;}}
/* 8. "See what's included" alignment: identical offset in every card; opened list gets air around its hairlines */
.alv-xpnd .alv-nested-promise{margin-bottom:0 !important;}
.alv-xpnd-btn{margin:16px 0 0 !important;}
.alv-xpnd.is-open .alv-inner-stack{margin-top:16px !important;}
.alv-inner-stack .alv-inner{padding:18px 0 10px !important;}
/* 4. Carousels retired (read blocky): personas = stacked editorial photo strips; where-to-go-next = 2x2 grid. */
@media (max-width:767px){
  .alv-persona-cards{display:block !important;overflow:visible !important;margin:0 !important;padding:0 !important;}
  .alv-persona-card{width:100% !important;flex:none !important;min-height:200px !important;margin-bottom:12px !important;}
  .alv-persona-card:last-child{margin-bottom:0 !important;}
  .alv-image-cards{display:grid !important;grid-template-columns:1fr 1fr !important;gap:12px !important;overflow:visible !important;padding:0 5vw !important;}
  .alv-image-card{flex:none !important;width:auto !important;aspect-ratio:1/0.92 !important;padding:16px !important;}
  .alv-image-card-title{font-size:18px !important;}
  .alv-image-card-sub{font-size:10px !important;letter-spacing:0.06em !important;}
}
/* 6. Footer nav: ordered 2-column grid on mobile instead of a centered pyramid */
@media (max-width:600px){
  .alv-footer-nav{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px 18px !important;max-width:330px;margin:0 auto 16px !important;}
  .alv-footer-nav li{text-align:left;}
  .alv-footer-legal{gap:8px 14px !important;}
}
/* 12. Dot-and-bars dividers retired: the tonal color-blocking is the separator now (the dot read discolored against the new bands). */
.alv-section-divider-wrap{display:none !important;}
/* 13. Footer disclaimer: small and quiet */
.alv-footer-disclaimer{font-size:11.5px !important;line-height:1.55 !important;opacity:0.65;max-width:64ch;margin:14px auto 0 !important;}
/* 2/14. Hero price line: one line */
.alv-hero-price-note{font-size:13px;}
@media (max-width:374px){.alv-hero-price-note{white-space:normal;}}
/* 16. Landscape phones: compact header, natural hero height, no sticky bar eating the short viewport */
@media (orientation:landscape) and (max-height:520px){
  .alv-header{padding-top:max(8px, env(safe-area-inset-top)) !important;padding-bottom:8px !important;}
  .alv-hero{min-height:0 !important;padding-top:clamp(36px,12vh,60px);padding-bottom:12px;}
  .alv-hero-inner{padding-bottom:14px !important;}
  .alv-hero-title{font-size:clamp(26px,8.5vh,38px) !important;margin-bottom:10px !important;}
  .alv-hero-sub{font-size:13.5px !important;margin-bottom:14px !important;max-width:62ch;}
  .alv-hero-price-note{margin-top:10px !important;font-size:12px !important;}
  .alv-hero-scroll{display:none !important;}
  .alv-md-photo{min-height:240px !important;}
  .alv-sticky-dual,.alv-mobile-sticky-cta{display:none !important;}
  body{padding-bottom:0 !important;}
}
/* ===== end punch-list pass ===== */
/* ===== Punch-list 2026-06-10d ===== */
/* Mobile: hero price note centered to the full-width CTAs */
@media (max-width:767px){.alv-hero-price-note{text-align:center;width:100%;font-size:clamp(10.5px,3.4vw,13px) !important;line-height:1.5 !important;letter-spacing:0;}}
/* Footer nav: centered items (between Location above and legal below) */
@media (max-width:600px){.alv-footer-nav{justify-items:center !important;}.alv-footer-nav li{text-align:center !important;}}
/* Where-to-go-next: equal glass plates inside the tiles */
.alv-image-card > div{min-height:86px;display:flex;flex-direction:column;justify-content:flex-end;}
@media (max-width:767px){.alv-image-card > div{min-height:104px;}}
/* Contact: preferred-contact = a real segmented toggle (unmistakable on/off halves, teal fill when selected) */
.alv-contact-prefs{gap:0 !important;}
.alv-contact-prefs-label{flex-basis:100%;margin:0 0 8px !important;}
.alv-contact-pref{position:relative;flex:1 1 0;justify-content:center;border-radius:0;margin-left:-1px;padding:11px 10px;border:1px solid rgba(54,71,76,0.35);}
.alv-contact-pref:first-of-type{border-radius:999px 0 0 999px;margin-left:0;}
.alv-contact-pref:last-of-type{border-radius:0 999px 999px 0;}
.alv-contact-pref input{position:absolute;opacity:0;pointer-events:none;}
.alv-contact-pref:has(input:checked){background:var(--alv-charcoal);border-color:var(--alv-charcoal);color:var(--alv-cream);font-weight:600;}
.alv-contact-pref:has(input:focus-visible){outline:2px solid var(--alv-salmon);outline-offset:2px;}
/* ===== end punch-list d ===== */
/* Value-stack lead: Inter regular per Dr. Sharma (option A) - the last italic-serif body line, retired. */
.alv-vstack-lead{font-family:'Inter','Inter Fallback',sans-serif !important;font-style:normal !important;font-size:clamp(16px,2vw,19px) !important;}
/* H1 widened for 'Concierge primary care, without the wait.' (17ch forced a 3-line break) */
.alv-hero-title{max-width:24ch !important;}
/* Editorial service cards: breathing room (text was flush to the column gutters + hairline, reading as cut off) + 2 columns at tablet widths where 3 were too tight. */
.alv-svc-card{padding:24px 18px 24px 0 !important;}
@media (min-width:768px) and (max-width:1023px){.alv-svc-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:767px){.alv-svc-card{padding:16px 8px 18px 0 !important;}}
/* Photo caption: Inter regular per Dr. Sharma - the final italic-serif retired; site is now 100% serif-headings / Inter-body. */
.alv-svc-photo-cap p{font-family:'Inter','Inter Fallback',sans-serif !important;font-style:normal !important;font-size:clamp(17px,2.1vw,24px) !important;font-weight:500;}
/* Footer fine print: Inter regular - completes the 100% serif-headings/Inter-body system (this was the actual last live italic). */
.alv-footer-fine{font-family:'Inter','Inter Fallback',sans-serif !important;font-style:normal !important;}
/* Overlay chrome must stay hidden until explicitly activated, no matter what
   blanket reveal/failsafe rules exist now or later. */
html .alv-nav-backdrop:not(.active){opacity:0 !important;pointer-events:none !important;}
/* Labeled menu button (NN/g: icon+word outperforms bare hamburger) + desktop header phone */
.alv-mt-label{font-family:'Inter','Inter Fallback',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;margin-left:7px;}
@media (max-width:900px){
  .alv-mobile-toggle{width:auto !important;padding:4px 10px !important;}
}
@media (max-width:767px){
  .alv-svc-photo{width:calc(100% - 20px) !important;}
}
/* Footer nav 2-col grid: an odd last item centers across both columns */
@media (max-width:767px){
  .alv-footer-nav li:nth-child(odd):last-child{grid-column:1 / -1;text-align:center;}
}
/* Fixed chrome unified to the brand teal family (header/footer/bars one dark family;
   the warm brown clashed where the bar met the teal footer). One shade darker than
   the header so the gold keyline still reads over the dark footer. */
.alv-sticky-dual,.alv-mobile-sticky-cta{background:rgba(43,55,60,0.97) !important;box-shadow:0 -8px 20px rgba(34,44,48,0.28) !important;}
.alv-back-to-top{background:rgba(43,55,60,0.92) !important;}
@media (hover:hover){.alv-back-to-top:hover{background:rgba(54,71,76,0.97) !important;}}
/* Pill buttons center their content whenever they render as flex (inline style or
   stretched in a flex column). Without this, a full-width pill left-aligns its label. */
.alv-pill-btn{justify-content:center;align-items:center;text-align:center;}
/* Divide the card intro ("promise") from the bold service sub-headers more clearly.
   Same-size text was blending; add whitespace everywhere + a hairline divider only
   where the promise is directly followed by a service stack (the-practice cards). */
.alv-nested:has(.alv-inner-stack) .alv-nested-promise{padding-bottom:22px !important;margin-bottom:24px !important;border-bottom:1px solid rgba(168,154,135,0.30) !important;}
@media (max-width:767px){
  .alv-nested:has(.alv-inner-stack) .alv-nested-promise{padding-bottom:16px !important;margin-bottom:18px !important;}
}
/* Unify reveal SPEED for hover-cards: their 240ms hover transition (set !important)
   was overriding their scroll-reveal, making cards pop in faster than text/steps.
   Reveal (non-hover) = 600ms to match the whole site; hover stays snappy at 240ms. */
.js-reveal .alv-nested,.js-reveal .alv-svc-card,.js-reveal .alv-why-card,.js-reveal .alv-cred-card,.js-reveal .alv-two-panel-left,.js-reveal .alv-two-panel-right,.js-reveal .alv-tri-panel{transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1) !important;}
@media (hover:hover){.alv-nested:hover,.alv-svc-card:hover,.alv-why-card:hover,.alv-cred-card:hover,.alv-two-panel-left:hover,.alv-two-panel-right:hover,.alv-tri-panel:hover{transition:transform 240ms cubic-bezier(0.2,0.6,0.2,1),box-shadow 240ms ease !important;}}
/* Peninsula-style header: nav centered in the viewport, wordmark left, phone+Reserve grouped tight on the right. Desktop only (nav is hidden on mobile). Breakpoint raised to 1440px so the longer "Vikram Sharma, M.D." wordmark clears the centered nav; below 1440 the nav flows in-line (fits cleanly with room to spare). */
@media (min-width:1680px){
  .alv-header .alv-nav{position:absolute;left:50%;transform:translateX(-50%);}
  .alv-header .alv-nav a{font-size:12px !important;letter-spacing:0.07em !important;}
  .alv-header .alv-wordmark{margin-right:auto;}
}
/* Level header text: nav links + phone carry bottom-padding (for the underline);
   add matching top-padding so their text centers at the same line as the wordmark + Reserve button. Desktop only (mobile nav is a vertical dropdown). */
@media (min-width:901px){
  .alv-header .alv-nav a{padding-top:6px;}
}
.ic-partial{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='11' fill='none' stroke='%23A6ADA8' stroke-width='1.3'/><path d='M12 1.6 A10.4 10.4 0 0 1 12 22.4 Z' fill='%23A6ADA8'/></svg>");opacity:0.95;}
.alv-cmp-foot-tight{margin-top:4px !important;}
.alv-manifesto h2.alv-manifesto-stmt{font-size:clamp(27px,4vw,44px) !important;max-width:1080px;line-height:1.16 !important;}
.alv-manifesto h2.alv-manifesto-stmt{text-wrap:balance;}
@media(max-width:767px){.alv-manifesto h2.alv-manifesto-stmt{font-size:clamp(22px,6vw,29px) !important;}}
@media (max-width:767px){.alv-hero-inner{padding-bottom:7vh !important;}}
/* hero-mobile-drop */
@media (max-width:767px){.alv-hero-cta-row .alv-pill-btn-salmon{display:none !important;}.alv-hero-cta-row .alv-btn-ghost-light{background:#C5A86E !important;color:#26312E !important;border-color:#C5A86E !important;}}
/* hero-mobile-single-cta */

/* (pain statement band removed 2026-06-14: too many text blocks under the hero) */

/* physician first-person voice line on home (2026-06-15) */
.alv-md-body p.alv-md-voice{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:clamp(19px,1.9vw,23px);line-height:1.42;color:var(--alv-charcoal);margin:0 0 14px;max-width:46ch;}

/* persona face recentering (placeholder photos) 2026-06-15 */
.alv-persona-photo.p1{background-position:50% 28% !important;}
.alv-persona-photo.p2{background-position:50% 22% !important;}
.alv-persona-photo.p3{background-position:50% 36% !important;}

/* FAQ category nav: center (not left-scroll) on mobile 2026-06-18 */
@media (max-width:767px){
  #page-faq .alv-faq-toc{overflow-x:visible;}
  #page-faq .alv-faq-toc-inner{flex-wrap:wrap !important;justify-content:center !important;min-width:0 !important;gap:8px 16px !important;}
}

/* center the offer/promo band everywhere (match home) 2026-06-18 */
.alv-offer-photo{text-align:center;}
.alv-offer-photo .alv-offer-points{align-items:center !important;justify-content:center;}

/* service cards -> soft rounded (Option A, supersedes the flat editorial index) 2026-06-18 */
.alv-svc-grid{gap:18px !important;}
.alv-svc-card{background:#FFFFFF !important;border:1px solid rgba(168,154,135,0.26) !important;border-top:1px solid rgba(168,154,135,0.26) !important;border-radius:18px !important;box-shadow:0 1px 2px rgba(42,38,32,0.04),0 14px 30px -16px rgba(42,38,32,0.13) !important;padding:26px 24px 28px !important;}
@media (max-width:767px){.alv-svc-grid{gap:14px !important;}.alv-svc-card{padding:20px 18px 22px !important;}}

/* ===== area / town landing pages 2026-06-18 ===== */

.alv-area-prose .alv-persona-heading{text-align:center;}

.alv-area-p{font-family:'Inter','Inter Fallback',sans-serif;font-size:17px;line-height:1.78;color:var(--alv-charcoal);margin:0;text-align:left;}
/* 2-column desktop spread (local section | why section); stacks on mobile */
.alv-area-spread{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1140px;margin:0 auto;padding:0 6vw;align-items:start;}
.alv-area-h{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(26px,3vw,38px);letter-spacing:-0.015em;line-height:1.14;color:var(--alv-charcoal);margin:0 0 18px;}
.alv-area-spread .alv-area-p{font-size:16.5px;line-height:1.72;}
.alv-area-incl{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--alv-taupe);margin:28px 0 14px;}
.alv-area-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:920px;margin:0 auto;padding:0 6vw;}
.alv-area-links a{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--alv-charcoal);text-decoration:none;border:1px solid rgba(168,154,135,0.42);border-radius:999px;padding:11px 20px;background:#FFFFFF;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.alv-area-links a:hover{background:var(--alv-charcoal);color:var(--alv-cream);border-color:var(--alv-charcoal);}
.alv-area-links a.alv-area-link-all{background:var(--alv-charcoal);color:var(--alv-cream);border-color:var(--alv-charcoal);}
.alv-area-links a.alv-area-link-all:hover{opacity:.9;}
/* "Areas we serve" footer column + location hub */

.alv-areas-hub{max-width:1040px;margin:0 auto;padding:0 6vw;}
.alv-areas-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 0 26px;}
.alv-areas-grid a{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;font-weight:600;color:var(--alv-charcoal);text-decoration:none;border:1px solid rgba(168,154,135,0.42);border-radius:999px;padding:12px 22px;background:#FFFFFF;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.alv-areas-grid a:hover{background:var(--alv-charcoal);color:var(--alv-cream);border-color:var(--alv-charcoal);}
.alv-areas-wider{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.7;color:var(--alv-taupe);text-align:center;max-width:780px;margin:0 auto;}
@media (max-width:860px){.alv-area-spread{grid-template-columns:1fr;gap:38px;max-width:680px;}.alv-area-h{font-size:clamp(24px,6.2vw,32px);}}
@media (max-width:767px){.alv-area-p{font-size:16px;}.alv-area-spread .alv-area-p{font-size:16px;}}
/* ===== end a11y polish ===== */

/* ===== premium polish pass 2026-06-22 (eyebrows B + serif headings + contrast + type) ===== */
.alv-nested-title,.alv-two-panel h2,.alv-two-panel-right h3,.alv-persona-card h3,.alv-tri-panel-intro h3,.alv-why-card h3,.alv-svc-card h3,.alv-cred-card h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-weight:600 !important;letter-spacing:-0.012em !important;}

.alv-cmp-foot{opacity:1 !important;font-size:12px !important;}
.alv-wordmark{letter-spacing:0.12em !important;}
/* ===== end premium polish pass ===== */

/* ===== hero photo crops 2026-06-22 (desktop headroom + dedicated mobile portraits) ===== */
@media (max-width:767px){
  .alv-hero-bg{background-image:url('/assets/hero-mobile.jpg') !important;background-position:center center !important;background-size:cover !important;transform:none !important;animation:none !important;}
  .alv-hero::after{background:linear-gradient(180deg,rgba(42,38,32,0.28) 0%,rgba(42,38,32,0.10) 24%,rgba(42,38,32,0.46) 50%,rgba(42,38,32,0.74) 74%,rgba(42,38,32,0.93) 100%) !important;}
  .alv-svc-photo.mid{background-image:url('/assets/band-mobile.jpg') !important;background-position:center center !important;background-size:cover !important;}
  .alv-hero .alv-eyebrow{display:none !important;}
  #page-home .alv-md-photo{min-height:110vw !important;background-position:center 30% !important;}
  .alv-svc-photo.mid::after{background:linear-gradient(180deg,rgba(42,38,32,0) 40%,rgba(42,38,32,0.34) 74%,rgba(42,38,32,0.62) 100%),linear-gradient(110deg,rgba(42,38,32,0.62) 0%,rgba(42,38,32,0.16) 58%,rgba(42,38,32,0.02) 100%) !important;}
}
/* ===== end hero photo crops ===== */

/* ===== service sections: editorial index (desktop) + tap-to-expand (mobile) 2026-06-23 ===== */
.alv-svc-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:0 64px !important;max-width:1000px !important;margin:0 auto 32px !important;}
.alv-svc-card{background:transparent !important;border:0 !important;border-top:1px solid rgba(54,71,76,0.15) !important;border-radius:0 !important;box-shadow:none !important;padding:22px 0 24px !important;}
.alv-svc-card .alv-svc-ic{display:none !important;}
.alv-svc-card h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-size:26px !important;font-weight:600 !important;line-height:1.1 !important;letter-spacing:-0.01em !important;color:var(--alv-charcoal) !important;margin:0 0 6px !important;}
.alv-svc-card p{font-size:15px !important;line-height:1.55 !important;margin:0 !important;color:var(--alv-taupe) !important;max-width:60ch !important;}
@media (min-width:768px) and (max-width:1023px){.alv-svc-grid{gap:0 40px !important;}}
@media (max-width:767px){
  .alv-svc-grid{grid-template-columns:1fr !important;gap:0 !important;max-width:none !important;margin:0 auto 6px !important;}
  .alv-svc-card{padding:0 !important;border-top:1px solid rgba(54,71,76,0.15) !important;}
  .alv-svc-card h3{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:14px !important;font-size:19px !important;margin:0 !important;padding:16px 2px 16px 0 !important;min-height:44px !important;box-sizing:border-box !important;}
  html.js-svc-acc .alv-svc-card h3{cursor:pointer;}
  html.js-svc-acc .alv-svc-card h3::after{content:'+';font-family:'Inter','Inter Fallback',sans-serif;font-size:21px;font-weight:400;color:var(--alv-salmon-dk);line-height:1;flex:0 0 auto;}
  html.js-svc-acc .alv-svc-card.is-open h3::after{content:'\2212';}
  html.js-svc-acc .alv-svc-card p{max-height:0 !important;overflow:hidden !important;opacity:0 !important;padding:0 !important;transition:max-height 340ms cubic-bezier(.22,1,.36,1),opacity 220ms ease,padding 300ms ease !important;}
  html.js-svc-acc .alv-svc-card.is-open p{max-height:260px !important;opacity:1 !important;padding:0 0 18px !important;}
}
/* ===== end service editorial ===== */

/* matrix: uniform row heights 2026-06-23 */
.alv-cmp-row > div{min-height:58px;box-sizing:border-box;}
@media (max-width:600px){.alv-cmp-row > div{min-height:56px;}}

/* ===== persona duotone + authored motion 2026-06-23 ===== */
.alv-persona-photo{background-blend-mode:luminosity !important;}
.alv-persona-photo::after{background:linear-gradient(180deg,rgba(20,32,34,0.30) 0%,rgba(20,32,34,0.42) 38%,rgba(20,32,34,0.66) 64%,rgba(20,32,34,0.92) 100%) !important;}
.alv-hero-inner > *:nth-child(1){animation-delay:.06s;}
.alv-hero-inner > *:nth-child(2){animation-delay:.12s;}
.alv-hero-inner > *:nth-child(3){animation-delay:.18s;}
.alv-hero-inner > *:nth-child(4){animation-delay:.24s;}
.alv-hero-inner > *:nth-child(5){animation-delay:.30s;}
html.js-mo .alv-cmp-row{opacity:0;transform:translateY(9px);transition:opacity .56s cubic-bezier(.16,1,.3,1),transform .56s cubic-bezier(.16,1,.3,1);}
html.js-mo .alv-cmp.mo-in .alv-cmp-row{opacity:1;transform:none;}
html.js-mo .alv-cmp .ic{opacity:0;transform:scale(.82);transition:opacity .34s ease,transform .42s cubic-bezier(.16,1,.3,1);}
html.js-mo .alv-cmp.mo-in .ic{opacity:1;transform:none;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(2){transition-delay:0.05s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(2) .ic{transition-delay:0.18s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(3){transition-delay:0.11s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(3) .ic{transition-delay:0.24s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(4){transition-delay:0.17s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(4) .ic{transition-delay:0.30s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(5){transition-delay:0.23s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(5) .ic{transition-delay:0.36s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(6){transition-delay:0.29s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(6) .ic{transition-delay:0.42s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(7){transition-delay:0.35s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(7) .ic{transition-delay:0.48s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(8){transition-delay:0.41s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(8) .ic{transition-delay:0.54s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(9){transition-delay:0.47s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(9) .ic{transition-delay:0.60s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(10){transition-delay:0.53s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(10) .ic{transition-delay:0.66s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(11){transition-delay:0.59s;}
html.js-mo .alv-cmp.mo-in .alv-cmp-row:nth-child(11) .ic{transition-delay:0.72s;}

html.js-reveal .alv-offer-photo.alv-section-dark{opacity:1 !important;transform:none !important;}
html.js-mo .alv-offer-photo > *{opacity:0;transform:translateY(11px);transition:opacity .56s cubic-bezier(.16,1,.3,1),transform .56s cubic-bezier(.16,1,.3,1);}
html.js-mo .alv-offer-photo.mo-in > *{opacity:1;transform:none;}
html.js-mo .alv-offer-photo .alv-offer-price{transform:translateY(11px) scale(.965);}
html.js-mo .alv-offer-photo.mo-in .alv-offer-price{transform:none;}
html.js-mo .alv-offer-photo.mo-in > *:nth-child(1){transition-delay:0.05s;}
html.js-mo .alv-offer-photo.mo-in > *:nth-child(2){transition-delay:0.10s;}
html.js-mo .alv-offer-photo.mo-in > *:nth-child(3){transition-delay:0.15s;}
html.js-mo .alv-offer-photo.mo-in > *:nth-child(4){transition-delay:0.20s;}
html.js-mo .alv-offer-photo.mo-in > *:nth-child(5){transition-delay:0.25s;}
html.js-mo .alv-offer-photo.mo-in > *:nth-child(6){transition-delay:0.30s;}

@media (prefers-reduced-motion:reduce){
  html.js-mo .alv-cmp-row,html.js-mo .alv-cmp .ic,html.js-mo .alv-offer-photo > *{opacity:1 !important;transform:none !important;transition:none !important;}
  .alv-hero-inner > *{animation:none !important;}
}
/* ===== end persona duotone + authored motion ===== */

/* where-to-go cards on mobile: label = clean bottom bar, no subheader 2026-06-23 */
@media (max-width:767px){
  .alv-image-card{padding:0 !important;}
  .alv-image-card > div{min-height:0 !important;border-radius:0 !important;padding:13px 16px 14px !important;}
  .alv-image-card .alv-image-card-sub{display:none !important;}
  .alv-image-card-title{margin:0 !important;font-size:18px !important;}
}

/* ===== fix v2: hero + subhero fade-only (no slide) kills the settle shift 2026-06-23 ===== */
@keyframes alvRiseIn{from{opacity:0;}to{opacity:1;}}
.alv-hero-inner > *{will-change:auto;backface-visibility:visible;}
.js-reveal .alv-manifesto{transform:none !important;}
/* ===== end fix v2 ===== */

/* where-to-go Physician card: mobile headroom so hair clears 2026-06-23 */
@media (max-width:767px){a.alv-image-card[href="/the-physician"]{background-position:center 9% !important;}}

/* === why-concierge "What concierge medicine should be": de-tile to flat editorial index (match the home services treatment; desktop + fixed compact mobile, no accordion). 2026-06-23 === */
.alv-why-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:0 38px !important;max-width:1080px !important;margin:0 auto !important;}
.alv-why-card{background:transparent !important;border:0 !important;border-top:1px solid rgba(54,71,76,0.14) !important;border-radius:0 !important;box-shadow:none !important;padding:20px 0 22px !important;display:flex !important;flex-direction:column !important;}
@media (hover:hover){.alv-why-card:hover,.alv-why-card:active{background:transparent !important;transform:none !important;box-shadow:none !important;}}
.alv-why-card .alv-why-num{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-size:13px !important;font-weight:500 !important;letter-spacing:0.10em !important;color:var(--alv-salmon-dk) !important;margin:0 0 9px !important;display:block !important;}
.alv-why-card h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-size:22px !important;font-weight:600 !important;line-height:1.12 !important;letter-spacing:-0.01em !important;color:var(--alv-charcoal) !important;margin:0 !important;}
.alv-why-card p{font-family:'Inter','Inter Fallback',sans-serif !important;font-size:13px !important;line-height:1.48 !important;margin-top:7px !important;color:var(--alv-taupe) !important;}
@media (max-width:767px){
  .alv-why-grid{grid-template-columns:1fr 1fr !important;gap:0 22px !important;max-width:none !important;}
  .alv-why-card{padding:15px 0 17px !important;}
  .alv-why-card .alv-why-num{margin-bottom:6px !important;font-size:12px !important;}
  .alv-why-card h3{font-size:19px !important;}
  .alv-why-card p{font-size:12px !important;line-height:1.46 !important;}
}
@media (max-width:359px){.alv-why-grid{grid-template-columns:1fr !important;}}

/* hero stutter fix: above-the-fold hero text is INSTANT (no entrance animation), per the "above-the-fold = instant" guardrail. Removes the staggered fade that stutters on real devices. Ken Burns background zoom kept (it is on .alv-hero-bg, not a hero-inner child). 2026-06-23 */
.alv-hero-inner > *{animation:none !important;opacity:1 !important;transform:none !important;}

/* mobile scroll-jank fix (2026-06-23): the fixed/sticky chrome (mobile Reserve/Call bars, FAQ category nav, back-to-top) used backdrop-filter:blur, which forces the browser to re-blur the scrolling content every frame = stutter on fast scroll. Their backgrounds are ~0.92-0.97 opaque so dropping the blur is visually imperceptible, but it removes the per-frame GPU cost. Also clear the stale will-change on the hero bg on mobile (Ken Burns is off there). */
.alv-sticky-dual,.alv-mobile-sticky-cta,.alv-back-to-top,.alv-faq-toc{-webkit-backdrop-filter:none !important;backdrop-filter:none !important;}
.alv-faq-toc{background:var(--alv-cream) !important;}
@media (max-width:767px){.alv-hero-bg{will-change:auto !important;}}

/* hero shift fix (DEFINITIVE, replaces the metrics-match attempt): hold the hero text block invisible until webfonts are ready, then fade it in. The Inter-swap reflow (sub re-wraps -> in the bottom-anchored hero it shoves the headline ~30px) now happens while the block is invisible, so it is NEVER seen as a shift. Visible-by-default if JS is off (.hero-wait never added). Ken Burns bg still shows during the brief wait = clean cinematic reveal. 2026-06-23 */
html.hero-wait .alv-hero-inner{opacity:0;}
html.hero-ready .alv-hero-inner{opacity:1;transition:opacity 460ms cubic-bezier(.16,1,.3,1);}
@media (prefers-reduced-motion:reduce){html.hero-wait .alv-hero-inner{opacity:1 !important;}html.hero-ready .alv-hero-inner{transition:none !important;}}

/* Deliberate reveal cascade (2026-06-24): image + persona cards were the ONE inconsistent reveal: the global "unified tile hover" (transform 240ms, NO opacity, !important) made them POP their opacity instead of fading, and excluded them from the stagger group. Give them the SAME 560ms fade+rise as every other card, then cascade a row ~60ms apart so it reads as deliberate, not a flat pop. Neither card lifts on hover (transform:none), so the 560ms reveal transition can't slow hover; box-shadow keeps its own 240ms with 0 delay so hover shadow stays instant. Mobile (<=767px) forces these visible (no reveal) and reduced-motion never adds js-reveal, so both are unaffected. */
.js-reveal .alv-image-card,.js-reveal .alv-persona-card{transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1),box-shadow 240ms ease !important;}
.js-reveal .alv-image-card:nth-child(2),.js-reveal .alv-persona-card:nth-child(2){transition-delay:60ms,60ms,0s !important;}
.js-reveal .alv-image-card:nth-child(3),.js-reveal .alv-persona-card:nth-child(3){transition-delay:120ms,120ms,0s !important;}
.js-reveal .alv-image-card:nth-child(4),.js-reveal .alv-persona-card:nth-child(4){transition-delay:180ms,180ms,0s !important;}
/* ============================================================
   REVEAL SYSTEM v2: animate the meat of every section.
   Same single motion language: 11px rise, 560ms, cubic-bezier(.16,1,.3,1).
   All scoped under .js-reveal so reduced-motion users (no js-reveal class)
   see everything, statically. Children cascade beneath their heading via
   inline transitionDelay applied by main.js (mirrors the inline IO 65ms step).
   No em-dashes (commas, colons, periods, parens only).
   ============================================================ */

/* Shared initial-hidden state for the new content selectors. */
.js-reveal .alv-svc-head > *,
.js-reveal .alv-svc-fine,
.js-reveal .alv-cmp-foot,
.js-reveal .alv-band-head > *,
.js-reveal .alv-soft-band > div[style*="text-align:center"] > *,
.js-reveal .alv-persona-band > .alv-persona-heading,
.js-reveal .alv-persona-card h3,
.js-reveal .alv-persona-card p,
.js-reveal .alv-md-creds li,
.js-reveal .alv-nested-title,
.js-reveal .alv-nested-promise,
.js-reveal .alv-nested .alv-inner-body,
.js-reveal .alv-two-panel-left > h2,
.js-reveal .alv-two-panel-left > p,
.js-reveal .alv-two-panel-left > .alv-eyebrow,
.js-reveal .alv-two-panel-right > h3,
.js-reveal .alv-checklist li,
.js-reveal .alv-cred-card,
.js-reveal .alv-cred-row li,
.js-reveal .alv-why-grid,
.js-reveal .alv-why-card,
.js-reveal .alv-areas-hub > *,
.js-reveal .alv-areas-grid,
.js-reveal .alv-map-wrap,
.js-reveal .alv-map-card,
.js-reveal .alv-faq-toc,
.js-reveal .alv-soft-band > details,
.js-reveal .alv-vstack > *,
.js-reveal .alv-steps-head > *,
.js-reveal .alv-book-head > *,
.js-reveal .alv-book-aside-title,
.js-reveal .alv-book-aside-sub,
.js-reveal .alv-price-chips,
.js-reveal 
.js-reveal .alv-book-alt,
.js-reveal .alv-crumb,
.js-reveal .alv-explore-h,
.js-reveal .alv-explore-row a{
  opacity:0;
  transform:translateY(11px);
  transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1);
}
.js-reveal .alv-svc-head > *.is-visible,
.js-reveal .alv-svc-fine.is-visible,
.js-reveal .alv-cmp-foot.is-visible,
.js-reveal .alv-band-head > *.is-visible,
.js-reveal .alv-soft-band > div[style*="text-align:center"] > *.is-visible,
.js-reveal .alv-persona-band > .alv-persona-heading.is-visible,
.js-reveal .alv-persona-card h3.is-visible,
.js-reveal .alv-persona-card p.is-visible,
.js-reveal .alv-md-creds li.is-visible,
.js-reveal .alv-nested-title.is-visible,
.js-reveal .alv-nested-promise.is-visible,
.js-reveal .alv-nested .alv-inner-body.is-visible,
.js-reveal .alv-two-panel-left > h2.is-visible,
.js-reveal .alv-two-panel-left > p.is-visible,
.js-reveal .alv-two-panel-left > .alv-eyebrow.is-visible,
.js-reveal .alv-two-panel-right > h3.is-visible,
.js-reveal .alv-checklist li.is-visible,
.js-reveal .alv-cred-card.is-visible,
.js-reveal .alv-cred-row li.is-visible,
.js-reveal .alv-why-grid.is-visible,
.js-reveal .alv-why-card.is-visible,
.js-reveal .alv-areas-hub > *.is-visible,
.js-reveal .alv-areas-grid.is-visible,
.js-reveal .alv-map-wrap.is-visible,
.js-reveal .alv-map-card.is-visible,
.js-reveal .alv-faq-toc.is-visible,
.js-reveal .alv-soft-band > details.is-visible,
.js-reveal .alv-vstack > *.is-visible,
.js-reveal .alv-steps-head > *.is-visible,
.js-reveal .alv-book-head > *.is-visible,
.js-reveal .alv-book-aside-title.is-visible,
.js-reveal .alv-book-aside-sub.is-visible,
.js-reveal .alv-price-chips.is-visible,
.js-reveal 
.js-reveal .alv-book-alt.is-visible,
.js-reveal .alv-crumb.is-visible,
.js-reveal .alv-explore-h.is-visible,
.js-reveal .alv-explore-row a.is-visible{
  opacity:1;
  transform:none;
}

/* INNER-PAGE HERO inner-line cascade.
   The .alv-md-body / .alv-md-photo containers already reveal instantly
   above the fold (existing inline body IO), so the block never blank-flashes.
   We add a SEPARATE gentle entrance to the hero text lines only, armed
   synchronously by 


/* Mobile: shorter travel and slightly faster, matching the existing 450ms
   small-screen tuning. Reveal whole list/grid blocks rather than each tiny
   row so phones never show per-item flicker on fast scroll. */
@media (max-width:480px){
  .js-reveal .alv-svc-head > *,
  .js-reveal .alv-svc-fine,
  .js-reveal .alv-cmp-foot,
  .js-reveal .alv-band-head > *,
  .js-reveal .alv-soft-band > div[style*="text-align:center"] > *,
  .js-reveal .alv-persona-band > .alv-persona-heading,
  .js-reveal .alv-persona-card h3,
  .js-reveal .alv-persona-card p,
  .js-reveal .alv-md-creds li,
  .js-reveal .alv-nested-title,
  .js-reveal .alv-nested-promise,
  .js-reveal .alv-nested .alv-inner-body,
  .js-reveal .alv-two-panel-left > h2,
  .js-reveal .alv-two-panel-left > p,
  .js-reveal .alv-two-panel-left > .alv-eyebrow,
  .js-reveal .alv-two-panel-right > h3,
  .js-reveal .alv-checklist li,
  .js-reveal .alv-cred-card,
  .js-reveal .alv-cred-row li,
  .js-reveal .alv-why-grid,
  .js-reveal .alv-why-card,
  .js-reveal .alv-areas-hub > *,
  .js-reveal .alv-areas-grid,
  .js-reveal .alv-map-wrap,
  .js-reveal .alv-map-card,
  .js-reveal .alv-faq-toc,
  .js-reveal .alv-soft-band > details,
  .js-reveal .alv-vstack > *,
  .js-reveal .alv-steps-head > *,
  .js-reveal .alv-book-head > *,
  .js-reveal .alv-book-aside-title,
  .js-reveal .alv-book-aside-sub,
  .js-reveal .alv-price-chips,
  .js-reveal 
  .js-reveal .alv-book-alt,
  .js-reveal .alv-crumb,
  .js-reveal .alv-explore-h,
  .js-reveal .alv-explore-row a,
  
}

/* Reduced-motion hard backstop (defensive: js-reveal/alv-reveal-armed are never
   added under reduced motion, but keep parity with the existing block). */
@media (prefers-reduced-motion: reduce){
  .js-reveal .alv-svc-head > *,
  .js-reveal .alv-svc-fine,
  .js-reveal .alv-cmp-foot,
  .js-reveal .alv-band-head > *,
  .js-reveal .alv-soft-band > div[style*="text-align:center"] > *,
  .js-reveal .alv-persona-band > .alv-persona-heading,
  .js-reveal .alv-persona-card h3,
  .js-reveal .alv-persona-card p,
  .js-reveal .alv-md-creds li,
  .js-reveal .alv-nested-title,
  .js-reveal .alv-nested-promise,
  .js-reveal .alv-nested .alv-inner-body,
  .js-reveal .alv-two-panel-left > h2,
  .js-reveal .alv-two-panel-left > p,
  .js-reveal .alv-two-panel-left > .alv-eyebrow,
  .js-reveal .alv-two-panel-right > h3,
  .js-reveal .alv-checklist li,
  .js-reveal .alv-cred-card,
  .js-reveal .alv-cred-row li,
  .js-reveal .alv-why-grid,
  .js-reveal .alv-why-card,
  .js-reveal .alv-areas-hub > *,
  .js-reveal .alv-areas-grid,
  .js-reveal .alv-map-wrap,
  .js-reveal .alv-map-card,
  .js-reveal .alv-faq-toc,
  .js-reveal .alv-soft-band > details,
  .js-reveal .alv-vstack > *,
  .js-reveal .alv-steps-head > *,
  .js-reveal .alv-book-head > *,
  .js-reveal .alv-book-aside-title,
  .js-reveal .alv-book-aside-sub,
  .js-reveal .alv-price-chips,
  .js-reveal 
  .js-reveal .alv-book-alt,
  .js-reveal .alv-crumb,
  .js-reveal .alv-explore-h,
  .js-reveal .alv-explore-row a,
  
}

/* === AVANT-GARDE v1: directional slide-in for two-panel split sections (desktop). The two columns enter from their own edges and converge; their text rides the slide (no separate cascade) so the motion reads as one deliberate gesture. Mobile (stacked) keeps the rise+cascade. Same easing spine + 700ms. 2026-06-24 === */
@media (min-width:768px){
  .js-reveal .alv-two-panel-left{transform:translateY(16px);}
  .js-reveal .alv-two-panel-right{transform:translateY(16px);}
  .js-reveal .alv-two-panel-left.is-visible,
  .js-reveal .alv-two-panel-right.is-visible{transform:none;}
  .js-reveal .alv-two-panel-left>h2,.js-reveal .alv-two-panel-left>h3,.js-reveal .alv-two-panel-left>p,.js-reveal .alv-two-panel-left>.alv-eyebrow,
  .js-reveal .alv-two-panel-right>h2,.js-reveal .alv-two-panel-right>h3,.js-reveal .alv-two-panel-right>p,.js-reveal .alv-two-panel-right>.alv-eyebrow{opacity:1 !important;transform:none !important;transition-delay:0s !important;}
}

/* === inner-hero / VT coordination: during an active page View Transition, force the inner-page hero text VISIBLE (no separate cascade) so it cross-fades WITH the page instead of bouncing in after. The md-hero cascade still plays on a direct load (no VT). Mirrors the .alv-hero-inner guard. 2026-06-24 === */
html:active-view-transition .alv-md-body > *{opacity:1 !important;transform:none !important;}
html:active-view-transition .alv-md-photo{opacity:1 !important;transform:none !important;}

/* ============================================================
   ALVIRA MOTION SYNTHESIS  (2026-06-24)
   Three shipped effects, appended as ONE block. ZERO em-dashes.
   transform / clip-path / opacity only. Every hidden state is
   under .js-reveal or 

/* Mask window: clips the inner span. Small bottom pad + equal negative
   margin so descenders (g y p q j) and serif overshoot are not clipped,
   while layout box/spacing stay identical. display:block makes each
   window its own line so multi-line headings mask line by line. */
.js-reveal .alv-mh-win{
  display:block;
  overflow:hidden;
  padding-bottom:0.12em;
  margin-bottom:-0.12em;
}

/* Inner span: starts fully below its window, rises to 0 on reveal.
   780ms on the one easing spine (deliberately longer than the 700ms
   reveal so the rise reads as authored). will-change is cheap here
   (a handful of headings per page) and is released on settle below. */
.js-reveal .alv-mh-in{
  display:block;
  transform:translateY(106%);
  transition:transform 780ms cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.js-reveal .alv-mh.is-visible .alv-mh-in{
  transform:translateY(0);
  will-change:auto;
}

/* Multi-line cascade: 2nd and 3rd window lines lag one short beat. */
.js-reveal .alv-mh.is-visible .alv-mh-win:nth-child(2) .alv-mh-in{transition-delay:80ms;}
.js-reveal .alv-mh.is-visible .alv-mh-win:nth-child(3) .alv-mh-in{transition-delay:150ms;}

/* Above-the-fold instant-pass guard. When the JS marks an in-view
   heading .alv-mh-instant on load, the inner span SNAPS up with no
   transition (mirroring the reveal system's own instant pass), then
   the JS clears the marker on the next double-rAF so any later
   re-reveal masks normally. Prevents a late flash on first paint. */
.js-reveal .alv-mh-instant .alv-mh-in{
  transition:none !important;
  transform:translateY(0) !important;
}

/* Mobile: keep the mask (transform-only, <=3 windows). Tighten the
   descender pad slightly and shorten the rise to match the site's
   small-screen reveal feel. */
@media (max-width:767px){
  .js-reveal .alv-mh-win{padding-bottom:0.10em;margin-bottom:-0.10em;}
  .js-reveal .alv-mh-in{transition-duration:620ms;}
  .js-reveal .alv-mh.is-visible .alv-mh-win:nth-child(2) .alv-mh-in{transition-delay:60ms;}
  .js-reveal .alv-mh.is-visible .alv-mh-win:nth-child(3) .alv-mh-in{transition-delay:110ms;}
}

/* View Transition guard: during a cross-doc nav the mask must not be
   mid-rise in the outgoing snapshot. Force the inner span to rest so
   the old snapshot and the fresh page agree (mirrors the sticky-bar /
   hero-gate neutralizers under :active-view-transition elsewhere). */
html:active-view-transition .alv-mh-in{
  transform:translateY(0) !important;
  transition:none !important;
}

/* Reduced-motion hard backstop (defensive: js-reveal is never added
   for these users and the IIFE bails, so .alv-mh* never exists). */
@media (prefers-reduced-motion:reduce){
  .js-reveal .alv-mh,
  .js-reveal .alv-mh-win,
  .js-reveal .alv-mh-in{
    overflow:visible !important;
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    padding-bottom:0 !important;
    margin-bottom:0 !important;
    will-change:auto !important;
  }
}

/* ------------------------------------------------------------
   2) FEATURE-PHOTO CLIP-REVEAL + DE-ZOOM   target: .alv-md-photo
   clip-path opens from a thin centered band to full bleed; the
   de-zoom (scale 1.06 -> 1) is FOLDED INTO the SAME transform the
   directional slide already uses, so the element never carries more
   than one transform and the slide end-state (transform:none) is
   unchanged. clip-path is independent of transform, so it layers on
   for free. CSS-only: rides the REVEAL ARMING GATE + .is-visible (above fold on all
   inner pages) and .is-visible (any below-fold instance). No HTML
   edits; the per-page background-image stays inline on the element.
   ------------------------------------------------------------ */

/* Below-fold / scroll-entered variant (rides .is-visible). Desktop
   base slide is translateX(-46px) (line 1074); we append the de-zoom. */
.js-reveal .alv-md-photo{
  clip-path:inset(8% 14%);
  -webkit-clip-path:inset(8% 14%);
  transform:translateX(-46px) scale(1.06);
  transform-origin:center center;
  transition:opacity 700ms cubic-bezier(.16,1,.3,1),
             transform 1100ms cubic-bezier(.16,1,.3,1),
             clip-path 1100ms cubic-bezier(.16,1,.3,1),
             -webkit-clip-path 1100ms cubic-bezier(.16,1,.3,1);
  will-change:transform,clip-path;
}
.js-reveal .alv-md-photo.is-visible{
  clip-path:inset(0% 0%);
  -webkit-clip-path:inset(0% 0%);
  transform:none;
  will-change:auto;
}

/* Mobile base slide is translateY(11px) (line 1078). Match it: keep
   translateY, gentler de-zoom, faster wipe so a fast thumb-scroll never
   strands a half-clipped photo. (<=767px to align with the site's own
   mobile reveal breakpoint; the 900px stack already shrinks the photo.) */
@media (max-width:767px){
  .js-reveal .alv-md-photo{
    transform:translateY(11px) scale(1.04);
    transition:opacity 450ms cubic-bezier(.16,1,.3,1),
               transform 650ms cubic-bezier(.16,1,.3,1),
               clip-path 650ms cubic-bezier(.16,1,.3,1),
               -webkit-clip-path 650ms cubic-bezier(.16,1,.3,1);
  }
}

/* Above-the-fold hero variant: armed alongside the md-hero text cascade
   via 


/* View Transition guard: freeze the photo at rest during a cross-doc nav
   so a mid-wipe frame is not baked into the outgoing snapshot. */
html:active-view-transition .alv-md-photo{
  clip-path:none !important;
  -webkit-clip-path:none !important;
}

/* Reduced-motion hard backstop. */
@media (prefers-reduced-motion:reduce){
  .js-reveal .alv-md-photo,
  .js-reveal .alv-md-photo.is-visible,
  
}

/* ------------------------------------------------------------
   3) MOBILE ALTERNATING DIRECTIONAL LEAN  (two-panel split)
   Desktop (>=768px, lines 2116-2119) already converges the two columns
   from their own edges. On mobile the panels stack, so give each a small
   directional lean matching its desktop side (first from left, second
   from right) layered on the existing 11px rise. Amplitude (14px) is
   below the "is that sliding sideways?" threshold and the rise stays the
   dominant axis. CSS-only; reveal still just toggles .is-visible.
   document html,body{overflow-x:clip} (line 277) already prevents any
   horizontal scrollbar; a local clip belt is added on the wrap.
   ------------------------------------------------------------ */
@media (max-width:767px){
  .alv-two-panel-wrap{overflow-x:clip;}
  .js-reveal .alv-two-panel-left{transform:translateY(11px);}
  .js-reveal .alv-two-panel-right{transform:translateY(11px);}
  .js-reveal .alv-two-panel-left.is-visible,
  .js-reveal .alv-two-panel-right.is-visible{transform:none;}
}
@media (max-width:480px){
  .js-reveal .alv-two-panel-left{transform:translateY(11px);}
  .js-reveal .alv-two-panel-right{transform:translateY(11px);}
  .js-reveal .alv-two-panel-left.is-visible,
  .js-reveal .alv-two-panel-right.is-visible{transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .js-reveal .alv-two-panel-left,
  .js-reveal .alv-two-panel-right{transform:none !important;}
}

/* ===== REVEAL ARMING GATE (2026-06-24) =====
   Until html.alv-reveal-armed is set (one frame after the first screen is
   instant-revealed), every reveal transition below is zeroed. So content in
   the opening viewport, and content carried in by a cross-document View
   Transition, can NEVER play a slide on load (no judder/bounce). Only
   scroll-triggered reveals, which happen after arming, animate. If main.js
   never runs, nothing is ever armed: all content shows instantly, still safe. */
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-right,
.js-reveal:not(.alv-reveal-armed) .alv-nested,
.js-reveal:not(.alv-reveal-armed) .alv-persona-card,
.js-reveal:not(.alv-reveal-armed) .alv-image-card,
.js-reveal:not(.alv-reveal-armed) .alv-vs-box,
.js-reveal:not(.alv-reveal-armed) .alv-inner,
.js-reveal:not(.alv-reveal-armed) .alv-manifesto,
.js-reveal:not(.alv-reveal-armed) .alv-pill-row,
.js-reveal:not(.alv-reveal-armed) .alv-section-dark,
.js-reveal:not(.alv-reveal-armed) .alv-tri-panel > *,
.js-reveal:not(.alv-reveal-armed) .alv-testimonial-split > *,
.js-reveal:not(.alv-reveal-armed) .alv-svc-head,
.js-reveal:not(.alv-reveal-armed) .alv-svc-label,
.js-reveal:not(.alv-reveal-armed) .alv-svc-card,
.js-reveal:not(.alv-reveal-armed) .alv-svc-photo,
.js-reveal:not(.alv-reveal-armed) .alv-md-photo,
.js-reveal:not(.alv-reveal-armed) .alv-md-body,
.js-reveal:not(.alv-reveal-armed) .alv-step,
.js-reveal:not(.alv-reveal-armed) .alv-why-card,
.js-reveal:not(.alv-reveal-armed) .alv-cred-card,
.js-reveal:not(.alv-reveal-armed) .alv-tri-panel,
.js-reveal:not(.alv-reveal-armed) .alv-svc-head > *,
.js-reveal:not(.alv-reveal-armed) .alv-svc-fine,
.js-reveal:not(.alv-reveal-armed) .alv-cmp-foot,
.js-reveal:not(.alv-reveal-armed) .alv-band-head > *,
.js-reveal:not(.alv-reveal-armed) .alv-soft-band > div[style*="text-align:center"] > *,
.js-reveal:not(.alv-reveal-armed) .alv-persona-band > .alv-persona-heading,
.js-reveal:not(.alv-reveal-armed) .alv-persona-card h3,
.js-reveal:not(.alv-reveal-armed) .alv-persona-card p,
.js-reveal:not(.alv-reveal-armed) .alv-md-creds li,
.js-reveal:not(.alv-reveal-armed) .alv-nested-title,
.js-reveal:not(.alv-reveal-armed) .alv-nested-promise,
.js-reveal:not(.alv-reveal-armed) .alv-nested .alv-inner-body,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left > h2,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left > p,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left > .alv-eyebrow,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-right > h3,
.js-reveal:not(.alv-reveal-armed) .alv-checklist li,
.js-reveal:not(.alv-reveal-armed) .alv-cred-row li,
.js-reveal:not(.alv-reveal-armed) .alv-why-grid,
.js-reveal:not(.alv-reveal-armed) .alv-areas-hub > *,
.js-reveal:not(.alv-reveal-armed) .alv-areas-grid,
.js-reveal:not(.alv-reveal-armed) .alv-map-wrap,
.js-reveal:not(.alv-reveal-armed) .alv-map-card,
.js-reveal:not(.alv-reveal-armed) .alv-faq-toc,
.js-reveal:not(.alv-reveal-armed) .alv-soft-band > details,
.js-reveal:not(.alv-reveal-armed) .alv-vstack > *,
.js-reveal:not(.alv-reveal-armed) .alv-steps-head > *,
.js-reveal:not(.alv-reveal-armed) .alv-book-head > *,
.js-reveal:not(.alv-reveal-armed) .alv-book-aside-title,
.js-reveal:not(.alv-reveal-armed) .alv-book-aside-sub,
.js-reveal:not(.alv-reveal-armed) .alv-price-chips,
.js-reveal:not(.alv-reveal-armed) 
.js-reveal:not(.alv-reveal-armed) .alv-book-alt,
.js-reveal:not(.alv-reveal-armed) .alv-crumb,
.js-reveal:not(.alv-reveal-armed) .alv-explore-h,
.js-reveal:not(.alv-reveal-armed) .alv-explore-row a,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left>h2,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left>h3,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left>p,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-left>.alv-eyebrow,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-right>h2,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-right>h3,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-right>p,
.js-reveal:not(.alv-reveal-armed) .alv-two-panel-right>.alv-eyebrow,
.js-reveal:not(.alv-reveal-armed) .alv-mh-in,
.js-reveal:not(.alv-reveal-armed) .alv-mh-instant .alv-mh-in,
.js-reveal:not(.alv-reveal-armed) .alv-mh,
.js-reveal:not(.alv-reveal-armed) .alv-mh-win{transition-duration:0s !important;transition-delay:0s !important;}


/* js-mo entrance system (comparison-matrix rows/icons + offer-band beats) brought
   under the same arming discipline (2026-06-24): transitions zeroed until armed, so
   the first screen shows instantly (main.js also instant-passes in-view js-mo
   containers) and only scroll-revealed beats animate. Closes the above-fold
   flash-then-stuck-hidden bug on the .alv-cmp matrix. */
html.js-mo:not(.alv-reveal-armed) .alv-cmp-row,
html.js-mo:not(.alv-reveal-armed) .alv-cmp .ic,
html.js-mo:not(.alv-reveal-armed) .alv-offer-photo > *{transition-duration:0s !important;transition-delay:0s !important;}

/* cred card 2-col desktop 2026-06-25 */
@media(min-width:768px){.alv-cred-row{display:grid !important;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:22px;}.alv-cred-row li{padding:0 !important;border-bottom:none !important;}}

/* ===== warm tonal section system 2026-06-25 ===== */
:root{--alv-warm:#ECE8DF;}
.alv-band-warm{background:var(--alv-warm) !important;}
.alv-md-wrap{background:var(--alv-cream) !important;}

/* home specialty tier (cluster 2) inverted to teal 2026-06-25 */
.alv-svc-tier-dark{background:var(--alv-charcoal);border-radius:26px;max-width:1320px;margin:14px auto 0;padding:46px 48px 42px;}
.alv-svc-tier-dark .alv-svc-label{color:#CDB176 !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;}
.alv-svc-tier-dark .alv-svc-label::after{background:rgba(205,177,118,0.32) !important;}
.alv-svc-tier-dark .alv-svc-grid{max-width:none !important;}
.alv-svc-tier-dark .alv-svc-card{border-top-color:rgba(205,177,118,0.26) !important;}
.alv-svc-tier-dark .alv-svc-card h3{color:#CDB176 !important;}
.alv-svc-tier-dark .alv-svc-card p{color:rgba(250,247,241,0.74) !important;}
.alv-svc-tier-dark .alv-svc-fine{color:rgba(250,247,241,0.58) !important;}
.alv-svc-tier-dark .alv-svc-fine a{color:#CDB176 !important;}
@media (max-width:767px){.alv-svc-tier-dark{border-radius:18px;padding:26px 18px 24px;margin:10px 14px 0;}html.js-svc-acc .alv-svc-tier-dark .alv-svc-card h3::after{color:#CDB176 !important;}}


/* home foundation tier (cluster 1) as a light panel paired with the teal specialty tier; mid photo flattened 2026-06-25 */
.alv-svc-tier-light{background:#FFFFFF;border:1px solid rgba(168,154,135,0.22);border-radius:26px;max-width:1320px;margin:14px auto 0;padding:46px 48px 40px;box-shadow:0 1px 2px rgba(42,38,32,0.04),0 20px 46px -26px rgba(42,38,32,0.15);}
.alv-svc-tier-light .alv-svc-label{max-width:none !important;margin-left:0 !important;margin-right:0 !important;}
.alv-svc-tier-light .alv-svc-grid{max-width:none !important;}
.alv-svc-photo.mid{border-radius:0 !important;max-width:none !important;margin-top:26px !important;margin-bottom:26px !important;}
@media (max-width:767px){
  .alv-svc-tier-light{border-radius:18px;padding:24px 18px 20px;margin:10px 14px 0;}
  .alv-svc-photo.mid{border-radius:0 !important;margin-top:16px !important;margin-bottom:16px !important;}
}

/* warm band: nested cream sub-bands -> transparent so the feature section is ONE continuous warm zone (membership + service pages) 2026-06-25 */
.alv-band-warm .alv-vstack-band,
.alv-band-warm .alv-two-panel-wrap{background:transparent !important;}

/* home mid photo (white-coat band): full-bleed edge-to-edge (counters the section 6vw/5vw padding; html/body overflow-x:clip) 2026-06-25 */
.alv-svc-photo.mid{margin-left:-6vw !important;margin-right:-6vw !important;}
@media (max-width:767px){.alv-svc-photo.mid{margin-left:-5vw !important;margin-right:-5vw !important;}}

/* mobile: let the full-bleed mid photo win over the earlier .alv-svc-photo{width:calc(100% - 20px)} rule 2026-06-25 */
@media (max-width:767px){.alv-svc-photo.mid{width:auto !important;max-width:none !important;}}

/* home mid photo: WIDE FRAMED banner (breaks out wider than the panels with a small margin + rounded so the edges read finished, not raw edge-to-edge) 2026-06-25 */
.alv-svc-photo.mid{margin-left:-3vw !important;margin-right:-3vw !important;border-radius:24px !important;}
@media (max-width:767px){.alv-svc-photo.mid{margin-left:-3vw !important;margin-right:-3vw !important;border-radius:14px !important;}}

/* ===================================================================
   HERO VARIATION SYSTEM 2026-06-25  (desktop >900px, mobile <=900px)
   Reversible: remove the alv-md--* wrapper classes + this block.
   =================================================================== */

/* ---- PORTRAIT-LED (the-physician, contact) ---- */
@media (min-width:901px){
  .alv-md--portrait .alv-md{grid-template-columns:minmax(300px,0.82fr) 1.18fr;gap:clamp(40px,5vw,72px);align-items:stretch;min-height:clamp(600px,72vh,720px);}
  .alv-md--portrait .alv-md-photo{min-height:0;align-self:stretch;background-size:cover;background-position:center 26%;border-radius:6px;border:1px solid rgba(124,98,40,0.20);box-shadow:none !important;}
  .alv-md--portrait .alv-md-body{padding:48px 6vw 48px 8px;max-width:640px;align-self:center;}
  .alv-md--portrait .alv-md-body h1,.alv-md--portrait .alv-md-body h2{font-size:clamp(40px,4.6vw,60px);line-height:1.05;}
}
.js-reveal .alv-md--portrait .alv-md-photo{transform:scale(1.05);}
.js-reveal .alv-md--portrait .alv-md-photo.is-visible{transform:none;}
.js-reveal .alv-md--portrait .alv-md-body{transform:translateY(12px);}
.js-reveal .alv-md--portrait .alv-md-body.is-visible{transform:none;}

/* ---- FULL-BLEED OVERLAY (why-concierge): photo+body co-located at ALL widths ---- */
.alv-md--overlay{overflow:hidden;width:100%;}
.alv-md--overlay .alv-md{grid-template-columns:1fr;position:relative;min-height:78vh;max-height:760px;align-items:end;}
.alv-md--overlay .alv-md-photo,.alv-md--overlay .alv-md-body{grid-area:1 / 1;}
.alv-md--overlay .alv-md-photo{min-height:0;width:100%;height:100%;background-size:cover;background-position:center 35%;border-radius:0;box-shadow:none !important;border:0;}
.alv-md--overlay .alv-md-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(28,36,38,0.72) 0%,rgba(28,36,38,0.52) 22%,rgba(28,36,38,0.14) 48%,rgba(28,36,38,0) 70%);}
.alv-md--overlay .alv-md-body{position:relative;z-index:2;align-self:end;justify-self:start;max-width:min(640px,86%);padding:0 clamp(32px,6vw,96px) clamp(56px,7vh,96px);background:transparent;}
.alv-md--overlay .alv-md-body h1,.alv-md--overlay .alv-md-body h2{color:var(--alv-cream);font-size:clamp(44px,5.4vw,76px);line-height:1.05;text-shadow:0 1px 24px rgba(0,0,0,0.28);}
.alv-md--overlay .alv-md-body .alv-eyebrow{color:var(--alv-salmon);}
.alv-md--overlay .alv-md-body p{color:var(--alv-cream);opacity:0.92;max-width:46ch;}
.alv-md--overlay .alv-pill-btn{min-height:48px;}
.js-reveal .alv-md--overlay .alv-md-photo{transform:scale(1.06);clip-path:none;-webkit-clip-path:none;}
.js-reveal .alv-md--overlay .alv-md-photo.is-visible{transform:none;}
.js-reveal .alv-md--overlay .alv-md-body{transform:translateY(14px);}
.js-reveal .alv-md--overlay .alv-md-body.is-visible{transform:none;}

/* ---- EDITORIAL FLIP-RIGHT (membership, medical-weight-loss, location, press) ---- */
@media (min-width:901px){
  .alv-md--photo-right .alv-md{grid-template-columns:0.9fr 1.1fr;}
  .alv-md--photo-right .alv-md-photo{grid-column:2;grid-row:1;}
  .alv-md--photo-right .alv-md-body{grid-column:1;grid-row:1;}
}
.js-reveal .alv-md--photo-right .alv-md-photo{transform:translateX(46px) scale(1.06);}
.js-reveal .alv-md--photo-right .alv-md-photo.is-visible{transform:none;}
.js-reveal .alv-md--photo-right .alv-md-body{transform:translateX(-46px);}
.js-reveal .alv-md--photo-right .alv-md-body.is-visible{transform:none;}

/* ---- HERO MOBILE (<=900px, matches base .alv-md stack point) ---- */
@media (max-width:900px){
  .alv-md--portrait,.alv-md--overlay,.alv-md--photo-right{overflow:hidden;width:100%;}
  /* portrait stays portrait-forward: 4:5 photo + overlapping cream card */
  .alv-md--portrait .alv-md{grid-template-columns:1fr;min-height:0;}
  .alv-md--portrait .alv-md-photo{aspect-ratio:4/5;min-height:0 !important;max-height:62svh;background-position:center 24%;border-radius:14px 14px 0 0;border:0;}
  .alv-md--portrait .alv-md-body{margin-top:0;position:relative;z-index:2;background:var(--alv-cream-lt);border-radius:0;border-top:0;padding:28px 20px 28px;max-width:none;align-self:auto;}
  .alv-md--portrait .alv-md-body h1,.alv-md--portrait .alv-md-body h2{font-size:clamp(30px,8vw,38px);line-height:1.1;}
  .alv-md--portrait .alv-pill-btn{min-height:48px;width:100%;max-width:340px;}
  /* overlay stays a full-bleed photo-with-overlay (co-located, never unstacks) */
  .alv-md--overlay .alv-md{min-height:86svh;max-height:none;align-items:end;}
  .alv-md--overlay .alv-md-photo{background-position:center 42%;}
  .alv-md--overlay .alv-md-photo::after{background:linear-gradient(to top,rgba(28,36,38,0.82) 0%,rgba(28,36,38,0.60) 30%,rgba(28,36,38,0.18) 58%,rgba(28,36,38,0) 78%);}
  .alv-md--overlay .alv-md-body{max-width:100%;padding:0 20px 32px;justify-self:start;}
  .alv-md--overlay .alv-md-body h1,.alv-md--overlay .alv-md-body h2{font-size:clamp(34px,9vw,44px);line-height:1.08;text-wrap:balance;max-width:22ch;}
  .alv-md--overlay .alv-md-body p{font-size:15px;}
  .alv-md--overlay .alv-pill-btn{min-height:48px;width:100%;max-width:320px;}
  /* photo-right -> single column, stack by DOM order (NO grid-row; preserves alv-flip-m) */
  .alv-md--photo-right .alv-md{grid-template-columns:1fr;}
  .alv-md--photo-right .alv-md-photo{grid-column:1;}
  .alv-md--photo-right .alv-md-body{grid-column:1;}
  /* keep membership's price/CTA above the photo at 768-900 too */
  .alv-flip-m .alv-md-body{order:-1;}
  /* per-row signature for stacked EDITORIAL heroes only (not portrait/overlay) */
  .alv-md-wrap:not(.alv-md--portrait):not(.alv-md--overlay) .alv-md-photo{aspect-ratio:5/4;min-height:0 !important;border-radius:0;}
  .alv-md-wrap:not(.alv-md--portrait):not(.alv-md--overlay) .alv-md-body{border-top:1px solid var(--alv-salmon);padding-top:22px;}
  .alv-md-wrap:not(.alv-md--portrait):not(.alv-md--overlay) .alv-md-body .alv-eyebrow{color:var(--alv-salmon-dk);}
}
@supports not (min-height:86svh){@media (max-width:900px){.alv-md--overlay .alv-md{min-height:560px;}}}


/* hero mobile refinements 2026-06-25b: portrait overlap + stronger overlay scrim */
@media (max-width:900px){
  .alv-md--portrait .alv-md{gap:0 !important;}
  .alv-md--overlay .alv-md-photo::after{background:linear-gradient(to top,rgba(28,36,38,0.90) 0%,rgba(28,36,38,0.78) 34%,rgba(28,36,38,0.50) 56%,rgba(28,36,38,0.16) 80%,rgba(28,36,38,0) 94%) !important;}
}

/* overlay text legibility: force cream/gold over the scrim (beats inline charcoal styles on the h1) 2026-06-25c */
.alv-md--overlay .alv-md-body h1,.alv-md--overlay .alv-md-body h2{color:var(--alv-cream) !important;}
.alv-md--overlay .alv-md-body p{color:rgba(250,247,241,0.94) !important;}
.alv-md--overlay .alv-md-body .alv-eyebrow{color:var(--alv-salmon) !important;}

/* ===================================================================
   GRID VARIATION SYSTEM (Wave 2) 2026-06-25
   Reversible: remove the --lead/--directory classes + this block.
   =================================================================== */
/* 2a. LEAD-PLUS-TWO (the-practice "What we treat") */
.alv-three-up.alv-three-up--lead{grid-template-columns:1.2fr 1fr !important;align-items:start;}
.alv-three-up--lead .alv-nested-lead{grid-column:1;grid-row:1 / span 2;background:var(--alv-warm) !important;border-color:rgba(124,98,40,0.22) !important;padding:52px 44px 56px !important;}
.alv-three-up--lead .alv-nested-lead .alv-nested-title{font-size:clamp(32px,3vw,42px);line-height:1.04;}
.alv-three-up--lead .alv-nested:not(.alv-nested-lead) .alv-nested-title{font-size:26px;}
.alv-three-up--lead .alv-nested:not(.alv-nested-lead){background:var(--alv-cream-lt) !important;}
.alv-three-up--lead .alv-xpnd-btn{min-height:46px;}
@media (max-width:767px){
  .alv-three-up.alv-three-up--lead{grid-template-columns:1fr !important;gap:16px !important;}
  .alv-three-up--lead .alv-nested-lead{grid-column:auto;grid-row:auto !important;padding:30px 22px 32px !important;border-top:2px solid rgba(124,98,40,0.40) !important;}
  .alv-three-up--lead .alv-nested-lead .alv-nested-title{font-size:clamp(26px,7vw,32px) !important;line-height:1.06 !important;}
  .alv-three-up--lead .alv-nested:not(.alv-nested-lead) .alv-nested-title{font-size:22px !important;}
}
/* 2b. NUMBERED LEDGER, 01 promoted (why-concierge "Six things") */
.alv-why-grid .alv-why-num{font-size:30px !important;letter-spacing:0 !important;line-height:1 !important;color:var(--alv-salmon) !important;margin:0 0 10px !important;}
.alv-why-grid .alv-why-card:first-child{grid-column:1 / -1 !important;border-top:1px solid rgba(124,98,40,0.35) !important;padding-bottom:26px !important;}
.alv-why-grid .alv-why-card:first-child .alv-why-num{font-size:50px !important;color:var(--alv-salmon-dk) !important;}
.alv-why-grid .alv-why-card:first-child h3{font-size:30px !important;}
.alv-why-grid .alv-why-card:first-child p{font-size:15px !important;max-width:64ch;}
@media (max-width:767px){
  .alv-why-grid{grid-template-columns:1fr !important;gap:0 !important;}
  .alv-why-grid .alv-why-card{grid-column:auto !important;padding:16px 0 18px !important;}
  .alv-why-grid .alv-why-num{font-size:26px !important;}
  .alv-why-grid .alv-why-card:first-child{background:var(--alv-cream-lt) !important;border-top:2px solid rgba(124,98,40,0.45) !important;padding:18px 16px 20px !important;}
  .alv-why-grid .alv-why-card:first-child .alv-why-num{font-size:40px !important;}
  .alv-why-grid .alv-why-card:first-child h3{font-size:24px !important;}
}
/* 2c. RULED DIRECTORY (location "Hospitals and specialists") */
.alv-three-up.alv-three-up--directory{grid-template-columns:1fr 1fr !important;gap:0 56px !important;max-width:1080px;}
.alv-three-up--directory .alv-nested{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;border-top:1px solid rgba(124,98,40,0.18) !important;padding:24px 0 22px !important;min-height:56px;}
.alv-three-up--directory .alv-nested-title{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-size:24px !important;margin-bottom:6px !important;}
.alv-three-up--directory .alv-nested-promise{font-size:14px !important;color:var(--alv-salmon-dk) !important;margin-bottom:10px !important;}
.alv-three-up--directory .alv-inner{background:transparent !important;border:0 !important;padding:0 !important;}
.alv-three-up--directory .alv-inner-body{font-size:14px !important;line-height:1.55 !important;}
.alv-three-up--directory:hover .alv-nested,.alv-three-up--directory .alv-nested:active{transform:none !important;box-shadow:none !important;}
@media (max-width:767px){
  .alv-three-up.alv-three-up--directory{grid-template-columns:1fr !important;gap:0 !important;}
  .alv-three-up--directory .alv-nested{padding:18px 0 18px !important;min-height:56px;}
  .alv-three-up--directory .alv-nested-title{font-size:21px !important;}
  .alv-three-up--directory .alv-inner-body{font-size:13.5px !important;overflow-wrap:anywhere;}
}

/* ===================================================================
   Typography + flow polish (Phase 2a: line-measure caps + tiny-text floor)
   2026-06-25. Append-only, reversible. Caps LOOSE prose only; touches no
   card/hero/grid track or JS-depended class. Future tense + all copy intact.
   =================================================================== */
/* tiny-text floor (footer microcopy, site-wide; lifts the one sub-12px sentence inc. the 911 line) */
.alv-footer-disclaimer{font-size:12px !important;}
@media (max-width:767px){
  .alv-footer-disclaimer{font-size:12px !important;line-height:1.6 !important;}
  .alv-footer-legal a{font-size:11.5px !important;}
}
/* desktop body line-length caps on loose prose (65-75ch premium measure) */
.alv-two-panel-left p,.alv-two-panel-right p{max-width:68ch;}
.alv-vstack{max-width:680px;}
.alv-areas-wider{max-width:64ch;}
.alv-prose{max-width:72ch;}
.alv-svc-wrap .alv-svc-head h2{text-wrap:balance;}
#page-medical-weight-loss p[style*="max-width:1040px"],#page-hormone-therapy p[style*="max-width:1040px"]{max-width:72ch;}
#page-press .alv-soft-band > div[style*="max-width:780px"] p{max-width:68ch;}
#page-faq details p{max-width:70ch;}
#page-concierge-explained .alv-soft-band p{max-width:70ch;}

/* Phase 2a follow-up: GLP-1 compliance disclaimers (173ch -> capped; inline max-width was overridden) + concierge-explained Q&A prose */
#glp1-note,#page-medical-weight-loss p[style*="max-width:1040px"],#page-hormone-therapy p[style*="max-width:1040px"]{max-width:72ch !important;margin-left:auto !important;margin-right:auto !important;}
#page-concierge-explained p[style*="font-size:17px"]{max-width:72ch;}

/* why-concierge "Six things" -> SYMMETRIC 2-column numbered ledger 2026-06-25
   (removes the promoted-01 full-width asymmetry + the orphaned empty cell;
   uniform bronze numerals for readability on cream; editorial, not a card grid) */
.alv-why-grid{grid-template-columns:1fr 1fr !important;gap:0 64px !important;}
.alv-why-grid .alv-why-card,.alv-why-grid .alv-why-card:first-child{grid-column:auto !important;background:transparent !important;border-top:1px solid rgba(168,154,135,0.32) !important;padding:30px 0 32px !important;}
.alv-why-grid .alv-why-num,.alv-why-grid .alv-why-card:first-child .alv-why-num{font-size:30px !important;color:var(--alv-salmon-dk) !important;margin:0 0 12px !important;line-height:1 !important;}
.alv-why-grid .alv-why-card h3,.alv-why-grid .alv-why-card:first-child h3{font-size:25px !important;}
.alv-why-grid .alv-why-card p,.alv-why-grid .alv-why-card:first-child p{font-size:15px !important;max-width:none !important;}
@media (max-width:767px){
  .alv-why-grid{grid-template-columns:1fr !important;gap:0 !important;}
  .alv-why-grid .alv-why-card,.alv-why-grid .alv-why-card:first-child{padding:20px 0 22px !important;}
  .alv-why-grid .alv-why-num,.alv-why-grid .alv-why-card:first-child .alv-why-num{font-size:26px !important;}
  .alv-why-grid .alv-why-card h3,.alv-why-grid .alv-why-card:first-child h3{font-size:22px !important;}
}

/* full-bleed overlay heroes + membership full-width + interior hero eyebrows hidden 2026-06-25 */
.alv-md--overlay .alv-md{max-width:none !important;}           /* overlays go edge-to-edge (drop the 1320px cap) */
#page-membership .alv-md{max-width:none !important;}            /* membership hero stretches full-width, split kept */
.alv-md-body .alv-eyebrow{display:none !important;}            /* hide the page-name hero eyebrow on interior pages (home keeps its eyebrows; home hero uses .alv-hero, not .alv-md-body) */

/* location directory: "Labs & imaging" centered full-width below the Hospitals/Specialists row 2026-06-25 */
.alv-three-up--directory .alv-nested:nth-child(3){grid-column:1 / -1 !important;max-width:560px;margin:0 auto;text-align:center;border-top:1px solid rgba(124,98,40,0.18) !important;padding-top:26px !important;}
.alv-three-up--directory .alv-nested:nth-child(3) .alv-inner{text-align:center;}
@media (max-width:767px){.alv-three-up--directory .alv-nested:nth-child(3){text-align:left;}.alv-three-up--directory .alv-nested:nth-child(3) .alv-inner{text-align:left;}}

/* MOBILE HERO PHOTOS: explicit heights (iOS Safari can collapse aspect-ratio on content-less bg divs -> images vanished) + taller/fancier 2026-06-25 */
@media (max-width:900px){
  .alv-md-wrap:not(.alv-md--portrait):not(.alv-md--overlay) .alv-md-photo{aspect-ratio:auto !important;height:auto !important;min-height:46vh !important;background-size:cover !important;}
  .alv-md--portrait .alv-md-photo{aspect-ratio:auto !important;min-height:58vh !important;max-height:none !important;background-size:cover !important;}
  .alv-md--overlay .alv-md-photo{min-height:100% !important;height:100% !important;}
}

/* care lead -> WHITE (uniform with supporters, fixes the warm-blend) + membership body block centered 2026-06-26 */
.alv-three-up--lead .alv-nested-lead{background:var(--alv-cream-lt) !important;}
#page-membership .alv-md-body{align-self:center !important;}

/* hero CTA centered (was left-offset) + portrait photo square corners (no white space) + care "Care that travels" full-width centered (kills the left white spot) 2026-06-26 */
@media (max-width:900px){.alv-md-body .alv-pill-btn{align-self:center !important;width:auto !important;}}
.alv-md--portrait .alv-md-photo{border-radius:0 !important;}
.alv-three-up--lead .alv-nested-lead{grid-row:1 !important;}
.alv-three-up--lead .alv-nested:last-child{grid-column:1 / -1 !important;text-align:center !important;}
.alv-three-up--lead .alv-nested:last-child .alv-inner,.alv-three-up--lead .alv-nested:last-child .alv-inner-stack,.alv-three-up--lead .alv-nested:last-child .alv-inner-body,.alv-three-up--lead .alv-nested:last-child .alv-nested-promise{text-align:center !important;}

/* care lead-plus-two: natural card heights (no stretched empty white in the lead) + portrait hero CTA truly centered against asymmetric body padding 2026-06-26 */
.alv-three-up--lead{align-items:start !important;}
@media (min-width:901px){#page-physician .alv-md-body .alv-pill-btn{align-self:center !important;width:auto !important;transform:translateX(calc((6vw - 8px) / 2));}}

/* lead-plus-two cards: natural height (override base .alv-nested height:100% that was stretching the shorter lead and leaving empty white) 2026-06-26 */
.alv-three-up--lead .alv-nested{height:auto !important;}

/* care "Care that travels" full-width card: cap inner content width so centered lines stay readable 2026-06-26 */
.alv-three-up--lead .alv-nested:last-child .alv-inner-stack{max-width:840px;margin-left:auto;margin-right:auto;}

/* C: care lead-plus-two supporter titles match the lead size on a single line (equal columns give "Weight loss & hormones." room) 2026-06-26 */
@media (min-width:901px){
  .alv-three-up--lead{grid-template-columns:1fr 1fr !important;}
  .alv-three-up--lead .alv-nested:not(.alv-nested-lead) .alv-nested-title{font-size:clamp(32px,3vw,42px) !important;}
}
/* A: "Everything your care needs..." home section heading matched up in size, kept single-line by widening the heading row and capping the paragraphs 2026-06-26 */
@media (min-width:901px){
  section[aria-label="What membership includes"] .alv-svc-head{max-width:1160px !important;}
  section[aria-label="What membership includes"] .alv-svc-head p{max-width:680px;margin-left:auto;margin-right:auto;}
}

/* care "Care that travels": centered full-width on desktop, but on mobile it's a normal stacked card so left-align it to match the other two (was disjointed) 2026-06-26 */
@media (max-width:900px){
  .alv-three-up--lead .alv-nested:last-child,
  .alv-three-up--lead .alv-nested:last-child .alv-inner,
  .alv-three-up--lead .alv-nested:last-child .alv-inner-stack,
  .alv-three-up--lead .alv-nested:last-child .alv-inner-body,
  .alv-three-up--lead .alv-nested:last-child .alv-nested-promise{text-align:left !important;}
  .alv-three-up--lead .alv-nested:last-child .alv-inner-stack{max-width:none !important;margin-left:0 !important;margin-right:0 !important;}
}

/* care mobile: match supporter titles to the lead size so all three are consistent (was lead 27px / supporters 22px = disjointed) 2026-06-26 */
@media (max-width:900px){
  .alv-three-up--lead .alv-nested:not(.alv-nested-lead) .alv-nested-title{font-size:clamp(26px,7vw,32px) !important;}
}

/* hero headings to one line on desktop: contact "Start with a complimentary consultation." (full body column + tighter right pad, smaller clamp on the h1) and why-concierge "Different on purpose." (wider overlay body) 2026-06-26 */
@media (min-width:901px){
  #page-contact .alv-md-body{max-width:none !important;padding:40px 5vw !important;}
  #page-comparison .alv-md--overlay .alv-md-body{max-width:min(720px,90%) !important;}
}

/* clip ALL hero wraps (not just modifier heroes) so the base keep-left reveal translateX(46px) can't create a transient horizontal scrollbar -> stops the load-time left/right text shift on hormone-therapy (base hero) 2026-06-26 */
.alv-md-wrap{overflow:hidden;}

/* press hero photo: desktop moves the head up (inline center 40%), but on mobile the fixed nav overlaps the top, so keep it lower there to avoid the nav clipping the hair 2026-06-26 */
@media (max-width:900px){#page-press .alv-md-photo{background-position:center 12% !important;}}

/* nav image-card: white placeholder bg (was taupe #D6CFC0) + push the white label box to fully cover the rounded bottom edge, killing the off-color sub-pixel sliver at the bottom 2026-06-26 */
.alv-image-card{background-color:#FFFFFF !important;}
.alv-image-card > div{margin-bottom:-1px !important;}

/* clip two-panel-wrap so its reveal translateX(±30px) cannot spawn a transient horizontal scrollbar -> stops the disclaimer shifting right ~1-2s after load (hormone + others) 2026-06-26 */
.alv-two-panel-wrap{overflow:hidden;}

/* fineprint disclaimer: wider on desktop (bypasses the 72ch cap -> fewer lines), a touch smaller on mobile so the long ones are shorter 2026-06-26 */
@media (max-width:900px){.alv-fineprint{font-size:11px !important;line-height:1.62 !important;}}

/* svc-label mobile cap: the bumped 15px label wraps to 2 lines on phones, keep it 13px there 2026-06-26 */
@media (max-width:767px){.alv-svc-label{font-size:13px !important;}}


/* ===================================================================
   SIX-THINGS "blue & gold" panel (why-concierge "Six things that
   define this practice") — mirrors the home .alv-svc-tier-dark look.
   Reversible: remove the `alv-why-dark` class on the grid + this block.
   2026-06-26
   =================================================================== */
.alv-why-grid.alv-why-dark{background:var(--alv-charcoal) !important;border-radius:26px;max-width:1120px !important;margin:0 auto !important;padding:46px 52px 40px !important;}
.alv-why-grid.alv-why-dark .alv-why-card,
.alv-why-grid.alv-why-dark .alv-why-card:first-child{background:transparent !important;border-top-color:rgba(205,177,118,0.28) !important;}
.alv-why-grid.alv-why-dark .alv-why-num,
.alv-why-grid.alv-why-dark .alv-why-card:first-child .alv-why-num{color:#CDB176 !important;}
.alv-why-grid.alv-why-dark .alv-why-card h3,
.alv-why-grid.alv-why-dark .alv-why-card:first-child h3{color:#CDB176 !important;}
.alv-why-grid.alv-why-dark .alv-why-card p,
.alv-why-grid.alv-why-dark .alv-why-card:first-child p{color:rgba(250,247,241,0.74) !important;}
@media (max-width:767px){
  .alv-why-grid.alv-why-dark{border-radius:18px;max-width:none !important;margin:0 14px !important;padding:18px 18px 14px !important;}
  .alv-why-grid.alv-why-dark .alv-why-card:first-child{border-top:0 !important;}
}

/* ===================================================================
   HERO TEXT RISE-IN (2026-06-26) — full-image heroes (home + the three
   .alv-md--overlay heroes) rise up on load. Reversible: delete this
   whole block to restore the prior entrance (home fade / overlay
   instant). Safe by construction: gated on reduced-motion; with JS off
   or motion reduced the hero just shows in its resting place.
   =================================================================== */
@media (prefers-reduced-motion: no-preference){
  html.hero-wait .alv-hero-inner{transform:translateY(34px);}
  html.hero-ready .alv-hero-inner{opacity:1;transform:none;transition:opacity 1000ms cubic-bezier(.45,0,.25,1),transform 1200ms cubic-bezier(.45,0,.25,1);}
  .alv-md--overlay .alv-md-body{animation:alvHeroTextRise 1200ms cubic-bezier(.45,0,.25,1) both;}
}
@keyframes alvHeroTextRise{from{opacity:0;transform:translateY(34px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){
  html.hero-wait .alv-hero-inner,html.hero-ready .alv-hero-inner{transform:none !important;}
  .alv-md--overlay .alv-md-body{animation:none !important;}
}
/* === END HERO TEXT RISE-IN === */


/* === HOME "$399" value-anchor (Option A). Reversible: move "All for $399 a month."
   back into the h2 and delete this block. 2026-06-26 === */
.alv-svc-head .alv-svc-price{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:clamp(28px,3vw,32px);font-weight:500;color:var(--alv-charcoal);line-height:1.12;letter-spacing:-0.01em;margin:14px auto 0;max-width:none;opacity:1;font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1;}
.alv-svc-head .alv-svc-price .alv-svc-price-num{color:var(--alv-salmon-dk);font-weight:600;font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1;}
@media (max-width:767px){.alv-svc-head .alv-svc-price{font-size:25px !important;}}  /* beat global p{16px!important} on mobile */
/* === END HOME "$399" value-anchor === */


/* === HOME proof: scannable middot perks row + subtitle. Reversible: restore the two
   plain <p> proof lines + delete this block. Pairs are unbreakable; on <=600px each
   four perk items; the between-item middot is a ::before glued to each item so it can never strand: one line on a normal desktop, a clean wrap on a narrow window (container is only ~520px at 768-940), and one-per-line stack on mobile (middots hidden). 2026-06-28 === */
.alv-svc-head .alv-svc-rule{display:block;width:clamp(44px,5vw,60px);height:1px;background:rgba(124,98,40,0.55);margin:22px auto 18px;border:0;}
.alv-svc-head .alv-svc-perks{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:13px;row-gap:3px;text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-taupe);line-height:1.5;letter-spacing:0.02em;font-weight:500;}
.alv-svc-head .alv-svc-perks .alv-pp{white-space:nowrap;}
.alv-svc-head .alv-svc-perks .alv-pp:not(:first-child)::before{content:"\00B7";color:var(--alv-salmon-dk);margin-right:13px;}
@media (max-width:767px){
  .alv-svc-head .alv-svc-perks{font-size:14px;}
  .alv-svc-head .alv-svc-perks .alv-pp{flex:0 0 100%;}
  .alv-svc-head .alv-svc-perks .alv-pp:not(:first-child)::before{display:none;}
}
.alv-svc-head .alv-svc-sub{font-size:15px;margin-top:8px;}
/* === END HOME proof middot+subtitle === */


/* FAQ + Concierge-101 hero: full-bleed (photo runs to the page edge). Reversible:
   remove the alv-md--bleed class on those 2 heroes + this block. 2026-06-27 */
.alv-md--bleed .alv-md{max-width:none !important;}
@media (min-width:1100px){.alv-md--bleed .alv-md-body{padding-left:clamp(64px,6vw,180px) !important;}}


/* Comparison/matrix disclaimer (home + why-concierge): fade in place, NO upward shift
   on scroll-reveal (was translateY 11px). Scoped to .alv-cmp-foot only; opacity fade kept.
   Reversible: delete this block. 2026-06-28 */
.js-reveal .alv-cmp-foot,
.js-reveal:not(.alv-reveal-armed) .alv-cmp-foot,
.js-reveal .alv-cmp-foot.is-visible{transform:none !important;}
/* ALV-NAV-DROPDOWN+RELATED */
.alv-nav-group{position:relative;display:flex;}
.alv-nav-trigger{display:inline-flex;align-items:center;gap:6px;}
.alv-nav-caret{font-size:8px;line-height:1;opacity:.75;transition:transform 220ms cubic-bezier(.23,1,.32,1);}
.alv-nav-menu a{display:block;}
@media (min-width:901px){
 .alv-nav-menu{position:absolute;top:100%;left:50%;z-index:1001;min-width:214px;margin-top:12px;padding:8px;background:var(--alv-charcoal);border:1px solid rgba(197,168,110,.26);border-radius:13px;box-shadow:0 18px 42px rgba(0,0,0,.34);display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(-6px);transform-origin:top center;transition:opacity 190ms cubic-bezier(.23,1,.32,1),transform 190ms cubic-bezier(.23,1,.32,1),visibility 0s 190ms;}
 .alv-nav-menu::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px;}
 .alv-nav-group:hover .alv-nav-menu,.alv-nav-group:focus-within .alv-nav-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity 190ms cubic-bezier(.23,1,.32,1),transform 190ms cubic-bezier(.23,1,.32,1);}
 .alv-nav-group:hover .alv-nav-caret,.alv-nav-group:focus-within .alv-nav-caret{transform:rotate(180deg);}
 .alv-nav-menu a{font-family:'Inter','Inter Fallback',sans-serif;font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--alv-cream);white-space:nowrap;padding:10px 14px;border-radius:8px;transition:background-color 160ms ease,color 160ms ease;}
 .alv-nav-menu a::after{display:none !important;}
 .alv-nav-menu a:hover{background:rgba(197,168,110,.14);color:var(--alv-salmon);}
 .alv-nav-menu a.is-current{color:var(--alv-salmon);}
}
@media (prefers-reduced-motion:reduce){
 .alv-nav-menu{transition:opacity 120ms linear,visibility 0s 120ms !important;}
 .alv-nav-caret{transition:none !important;}
}
@media (max-width:900px){
 .alv-nav-group{flex-direction:column;width:100%;}
 .alv-nav-caret{display:none;}
 .alv-nav .alv-nav-menu{position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;background:none;border:none;box-shadow:none;min-width:0;padding:2px 0 6px 16px;margin:2px 0 0;display:flex;flex-direction:column;border-left:1px solid rgba(197,168,110,.22);}
 .alv-nav .alv-nav-menu::before{display:none;}
 .alv-nav .alv-nav-menu a{font-size:12px !important;letter-spacing:.06em;opacity:.82;text-transform:none;}
 .alv-nav .alv-nav-menu a::after{display:none !important;}
 .alv-nav .alv-nav-menu a.is-current{color:var(--alv-salmon);opacity:1;}
}
.alv-related-wrap{background:var(--alv-cream);padding:clamp(46px,6vw,80px) 6vw;border-top:1px solid rgba(124,98,40,.16);}
.alv-related{max-width:880px;margin:0 auto;}
.alv-related-head{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:clamp(24px,3vw,30px);font-weight:600;color:var(--alv-charcoal);text-align:center;margin:0 0 28px;line-height:1.1;}
.alv-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.alv-related-card{position:relative;display:flex;flex-direction:column;gap:7px;background:#FFFDFA;border:1px solid rgba(54,71,76,.14);border-radius:14px;padding:24px 50px 24px 26px;text-decoration:none;transition:border-color 220ms ease,transform 240ms cubic-bezier(.23,1,.32,1),box-shadow 240ms ease;}
.alv-related-card-title{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:24px;font-weight:600;line-height:1.12;color:var(--alv-charcoal);}
.alv-related-card-desc{font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;line-height:1.45;color:var(--alv-taupe);}
.alv-related-card-arrow{position:absolute;top:24px;right:24px;font-size:18px;line-height:1;color:var(--alv-salmon-dk);transition:transform 240ms cubic-bezier(.23,1,.32,1);}
@media (hover:hover){.alv-related-card:hover{border-color:rgba(124,98,40,.45);transform:translateY(-3px);box-shadow:0 16px 32px rgba(54,71,76,.10);}.alv-related-card:hover .alv-related-card-arrow{transform:translateX(5px);}}
.alv-related-card:active{transform:translateY(-1px);}
.alv-related-card:focus-visible{outline:2px solid var(--alv-salmon);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){.alv-related-card:hover{transform:none !important;}.alv-related-card:hover .alv-related-card-arrow{transform:none !important;}}
@media (max-width:640px){.alv-related-grid{grid-template-columns:1fr;}.alv-related-wrap{padding-left:5vw;padding-right:5vw;}}
/* ALV-SVC-DEEPLINKS */
.alv-svc-deeplinks{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:40px auto 0;}
.alv-deeplink{display:inline-flex;align-items:center;gap:10px;font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--alv-cream);background:var(--alv-charcoal);border:1px solid var(--alv-charcoal);border-radius:999px;padding:16px 32px;text-decoration:none;box-shadow:0 6px 18px rgba(54,71,76,.16);transition:background-color 220ms ease,border-color 220ms ease,box-shadow 240ms ease,transform 220ms cubic-bezier(.23,1,.32,1);}
.alv-deeplink-arr{color:var(--alv-salmon);transition:transform 220ms cubic-bezier(.23,1,.32,1);}
@media (hover:hover){.alv-deeplink:hover{background:#41525a;border-color:#41525a;transform:translateY(-2px);box-shadow:0 14px 30px rgba(54,71,76,.26);}.alv-deeplink:hover .alv-deeplink-arr{transform:translateX(4px);}}
.alv-deeplink:active{transform:scale(.98);}
.alv-deeplink:focus-visible{outline:2px solid var(--alv-salmon);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){.alv-deeplink:hover .alv-deeplink-arr{transform:none !important;}}
@media (max-width:600px){.alv-deeplink{width:100%;justify-content:center;}}
/* ALV-DEEPLINK-BAND */
.alv-deeplink-band{background:var(--alv-cream);padding:clamp(40px,5.5vw,72px) 6vw;}
.alv-deeplink-band .alv-svc-deeplinks{margin:0 auto;}
/* ALV-MOBILE-NAV-FIT */
@media (max-width:900px){
.alv-nav.open{max-height:calc(100vh - 60px);overflow-y:auto;-webkit-overflow-scrolling:touch;gap:10px !important;padding-top:16px !important;padding-bottom:20px !important;}
.alv-nav .alv-nav-menu a{padding:8px 0 !important;min-height:0 !important;}
.alv-nav .alv-nav-menu{margin-top:0 !important;padding-top:0 !important;padding-bottom:4px !important;}
}

/* === TWO-TIER MEMBERSHIP (2026-07-05): tier cards + dual offer-band prices. Additive; no class here is referenced by any reveal/gating selector. === */
.alv-tiers{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1100px;margin:0 auto;padding:0 6vw;align-items:stretch;}
.alv-tier{background:#fff;border:1px solid rgba(54,71,76,0.14);border-radius:20px;padding:38px 34px 34px;display:flex;flex-direction:column;}
.alv-tier--dark{background:var(--alv-charcoal);border-color:var(--alv-charcoal);color:var(--alv-cream);}
.alv-tier-badge{align-self:flex-start;font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--alv-charcoal);background:var(--alv-salmon);border-radius:999px;padding:6px 14px;margin:0 0 18px;}
.alv-tier-name{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:27px;letter-spacing:-0.01em;margin:0 0 4px;color:inherit;}
.alv-tier-for{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.6;color:var(--alv-taupe);margin:0 0 20px;}
.alv-tier--dark .alv-tier-for{color:rgba(245,240,227,0.78);}
.alv-tier-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 2px;}
.alv-tier-price strong{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(44px,5vw,54px);line-height:1;letter-spacing:-0.02em;color:inherit;}
.alv-tier-price span{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-taupe);}
.alv-tier--dark .alv-tier-price span{color:rgba(245,240,227,0.75);}
.alv-tier-note{font-family:'Inter','Inter Fallback',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--alv-salmon-dk);margin:0 0 22px;}
.alv-tier--dark .alv-tier-note{color:var(--alv-salmon);}
.alv-tier ul{list-style:none;margin:0 0 28px;padding:18px 0 0;border-top:1px solid rgba(54,71,76,0.12);flex:1;}
.alv-tier--dark ul{border-top-color:rgba(245,240,227,0.18);}
.alv-tier li{position:relative;padding:7px 0 7px 30px;font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;line-height:1.55;color:var(--alv-charcoal);}
.alv-tier--dark li{color:var(--alv-cream);}
.alv-tier li::before{content:"";position:absolute;left:2px;top:14px;width:14px;height:8px;border-left:2px solid var(--alv-salmon-dk);border-bottom:2px solid var(--alv-salmon-dk);transform:rotate(-45deg);}
.alv-tier--dark li::before{border-color:var(--alv-salmon);}
.alv-tier .alv-pill-btn{align-self:center;}
@media (max-width:900px){.alv-tiers{grid-template-columns:1fr;max-width:560px;}}
.alv-offer-duo{display:flex;justify-content:center;gap:clamp(30px,7vw,84px);margin:20px 0 8px;flex-wrap:wrap;}
.alv-offer-duo-name{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--alv-salmon);margin:0 0 6px;}
.alv-offer-duo-price{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(40px,6vw,54px);line-height:1;letter-spacing:-0.02em;color:var(--alv-cream);margin:0;}
.alv-offer-duo-price span{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;letter-spacing:0;color:rgba(245,240,227,0.75);}
.alv-offer-duo-note{font-family:'Inter','Inter Fallback',sans-serif;font-size:12.5px;color:rgba(245,240,227,0.7);margin:8px 0 0;}
/* === END two-tier === */

/* === TIER ENHANCEMENTS (2026-07-05): doors, compare table, service mini-card. Additive; reveal-safe. === */
.alv-doors{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1100px;margin:0 auto 34px;padding:0 6vw;}
.alv-door{display:block;background:#fff;border:1px solid rgba(54,71,76,0.14);border-radius:16px;padding:24px 26px;text-decoration:none;transition:border-color .2s ease,transform .2s ease;}
.alv-door:hover{border-color:var(--alv-salmon-dk);transform:translateY(-2px);}
.alv-door h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:21px;letter-spacing:-0.01em;color:var(--alv-charcoal);margin:0 0 6px;}
.alv-door p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;line-height:1.6;color:var(--alv-taupe);margin:0;}
.alv-door-arr{display:inline-block;margin-top:12px;font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.04em;color:var(--alv-salmon-dk);}
@media (max-width:700px){.alv-doors{grid-template-columns:1fr;}}
.alv-tcompare{max-width:940px;margin:0 auto;padding:0 6vw;overflow-x:auto;}
.alv-tcompare-frame{border:1px solid rgba(54,71,76,0.14);border-radius:16px;overflow:hidden;background:#fff;min-width:600px;}
.alv-tcompare table{width:100%;border-collapse:collapse;font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;color:var(--alv-charcoal);}
.alv-tcompare th{font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--alv-taupe);text-align:left;padding:16px 18px;border-bottom:1.5px solid rgba(54,71,76,0.2);background:var(--alv-cream);}
.alv-tcompare th.c,.alv-tcompare td.c{text-align:center;}
.alv-tcompare td{padding:12px 18px;border-bottom:1px solid rgba(54,71,76,0.08);line-height:1.5;}
.alv-tcompare tr:last-child td{border-bottom:none;}
.alv-tcompare td.y{color:var(--alv-salmon-dk);font-weight:700;}
.alv-tcompare td.n{color:rgba(122,116,104,0.55);}
.alv-tcompare tr.pr td{font-weight:600;background:rgba(245,240,227,0.5);}
.alv-tier-mini{max-width:1100px;margin:0 auto;padding:0 6vw;}
.alv-tier-mini-card{display:grid;grid-template-columns:minmax(250px,1fr) 1.35fr;gap:34px;background:#fff;border:1px solid rgba(54,71,76,0.14);border-radius:20px;padding:36px 38px;align-items:center;}
.alv-tier-mini-card ul{list-style:none;margin:0;padding:0;}
.alv-tier-mini-card li{position:relative;padding:7px 0 7px 30px;font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;line-height:1.55;color:var(--alv-charcoal);}
.alv-tier-mini-card li::before{content:"";position:absolute;left:2px;top:14px;width:14px;height:8px;border-left:2px solid var(--alv-salmon-dk);border-bottom:2px solid var(--alv-salmon-dk);transform:rotate(-45deg);}
.alv-tier-mini-card .alv-pill-btn,.alv-tier-mini-card .alv-pill-btn-dark{margin-top:18px;}
@media (max-width:820px){.alv-tier-mini-card{grid-template-columns:1fr;gap:20px;padding:30px 26px;}}
/* === END tier enhancements === */

.alv-tier--dark .alv-pill-btn{background:var(--alv-salmon);border-color:var(--alv-salmon);color:var(--alv-charcoal);}
.alv-tier--dark .alv-pill-btn:hover{background:var(--alv-cream);border-color:var(--alv-cream);}

/* tier CTA hierarchy: flagship stays solid gold; the M&H card pill goes quiet outline (scoped; !important needed to beat the global pill-dark override) */
.alv-tier:not(.alv-tier--dark) .alv-pill-btn-dark{background:transparent !important;color:var(--alv-charcoal) !important;border:1.5px solid rgba(54,71,76,0.45) !important;}
@media (hover:hover){.alv-tier:not(.alv-tier--dark) .alv-pill-btn-dark:hover{background:var(--alv-charcoal) !important;color:var(--alv-cream) !important;border-color:var(--alv-charcoal) !important;}}

/* === PRODUCT POLISH (2026-07-05): pillars + depth. Additive; reveal-safe. === */
.alv-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:0 auto;padding:0 6vw;}
.alv-pillar{background:#fff;border:1px solid rgba(54,71,76,0.14);border-radius:16px;padding:26px 26px 24px;box-shadow:0 6px 18px rgba(42,38,32,0.06);}
.alv-pillar h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:21px;letter-spacing:-0.01em;color:var(--alv-charcoal);margin:0 0 8px;}
.alv-pillar p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.62;color:var(--alv-taupe);margin:0;}
@media (max-width:820px){.alv-pillars{grid-template-columns:1fr;}}
.alv-tier{box-shadow:0 6px 18px rgba(42,38,32,0.07);}
.alv-tier--dark{box-shadow:0 24px 60px rgba(42,38,32,0.22);}
.alv-tier-mini-card{box-shadow:0 6px 18px rgba(42,38,32,0.06);}
.alv-tcompare-frame{box-shadow:0 6px 18px rgba(42,38,32,0.05);}
.alv-door{box-shadow:0 4px 14px rgba(42,38,32,0.05);}
/* === END product polish === */

/* tier-card symmetry: matched badge rows, equalized name/for zones, gold-tint entry CTA (overrides earlier outline rule) */
.alv-tier-badge--ghost{background:transparent;border:1px solid rgba(54,71,76,0.28);color:var(--alv-taupe);}
.alv-tier--dark .alv-tier-badge--ghost{border-color:rgba(245,240,227,0.35);color:rgba(245,240,227,0.8);}
.alv-tier-name{min-height:2.35em;}
.alv-tier-for{min-height:3.15em;}
@media (max-width:900px){.alv-tier-name,.alv-tier-for{min-height:0;}}
.alv-tier:not(.alv-tier--dark) .alv-pill-btn-dark{background:rgba(197,168,110,0.18) !important;color:var(--alv-charcoal) !important;border:1.5px solid var(--alv-salmon) !important;}
@media (hover:hover){.alv-tier:not(.alv-tier--dark) .alv-pill-btn-dark:hover{background:var(--alv-salmon) !important;color:var(--alv-charcoal) !important;border-color:var(--alv-salmon) !important;}}

/* === TIER ZONE MARKERS (2026-07-05): the thick line between memberships. Chips echo the card badges: dark=Concierge, gold=M&H. === */
.alv-zone-c,.alv-zone-mh{display:inline-block;font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;border-radius:999px;padding:6px 14px;margin-bottom:14px;}
.alv-zone-c{background:var(--alv-charcoal);color:var(--alv-salmon);}
.alv-zone-mh{background:rgba(197,168,110,0.18);border:1px solid var(--alv-salmon);color:var(--alv-charcoal);}
.alv-section-dark .alv-zone-c{background:rgba(245,240,227,0.12);color:var(--alv-salmon);}
/* === END zone markers === */

/* ============================================================
   TWO-MEMBERSHIP COMPONENT LIBRARY (2026-07-06)
   Additive only. Concierge = Peninsula elegance. Treatment = Gameday structure.
   Tokens: --alv-charcoal #36474C, --alv-cream #FAF7F1, --alv-cream-lt #FFF,
   --alv-salmon #C5A86E (gold), --alv-salmon-dk #7C6228, --alv-taupe, --alv-warm #ECE8DF.
   ============================================================ */

/* ---- Gold text-link CTA (Peninsula) ---- */
.alv-textlink{display:inline-flex;align-items:center;gap:14px;font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--alv-salmon-dk);text-decoration:none;}
.alv-textlink .alv-textlink-arw{display:inline-block;width:38px;height:1.5px;background:var(--alv-salmon-dk);position:relative;transition:width .28s cubic-bezier(0.2,0.6,0.2,1);}
.alv-textlink .alv-textlink-arw::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1.5px solid var(--alv-salmon-dk);border-right:1.5px solid var(--alv-salmon-dk);transform:rotate(45deg);}
@media (hover:hover){.alv-textlink:hover .alv-textlink-arw{width:52px;}}
.alv-section-dark .alv-textlink,.alv-statement .alv-textlink{color:var(--alv-salmon);}
.alv-section-dark .alv-textlink .alv-textlink-arw,.alv-statement .alv-textlink .alv-textlink-arw{background:var(--alv-salmon);}
.alv-section-dark .alv-textlink .alv-textlink-arw::after,.alv-statement .alv-textlink .alv-textlink-arw::after{border-color:var(--alv-salmon);}

/* ---- Image split (Peninsula): photo + gold serif headline ---- */
.alv-split-wrap{background:var(--alv-cream);padding:clamp(64px,8vw,104px) 6vw;}
.alv-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;max-width:1240px;margin:0 auto;}
.alv-split-media{border-radius:22px;overflow:hidden;min-height:clamp(360px,42vw,560px);background-size:cover;background-position:center 18%;box-shadow:0 24px 60px rgba(42,38,32,0.13);}
.alv-split-body{max-width:34rem;}
.alv-split--rev .alv-split-media{order:2;}
.alv-split-title{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(32px,4.4vw,58px);line-height:1.05;letter-spacing:-0.02em;color:var(--alv-salmon-dk);margin:0 0 22px;}
.alv-split-p{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.72;color:var(--alv-taupe);margin:0 0 26px;}
.alv-split-p + .alv-split-p{margin-top:-10px;}
@media (max-width:860px){.alv-split{grid-template-columns:1fr;gap:26px;}.alv-split--rev .alv-split-media{order:0;}.alv-split-media{min-height:280px;}}

/* ---- Dark gold statement band (Peninsula) ---- */
.alv-statement-wrap{background:var(--alv-cream);padding:clamp(48px,6vw,72px) 6vw;}
.alv-statement{background:var(--alv-charcoal);border-radius:32px;max-width:1240px;margin:0 auto;padding:clamp(72px,11vw,132px) 8vw;text-align:center;position:relative;overflow:hidden;background-size:cover;background-position:center;box-shadow:inset 0 1px 0 rgba(245,240,227,0.08),0 24px 60px rgba(42,38,32,0.20);}
.alv-statement::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(46,50,46,0.72),rgba(46,50,46,0.82));z-index:0;}
.alv-statement > *{position:relative;z-index:1;}
.alv-statement h2{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(30px,4.2vw,54px);line-height:1.12;letter-spacing:-0.01em;color:var(--alv-salmon);margin:0;}
.alv-statement p{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.7;color:rgba(245,240,227,0.86);max-width:52ch;margin:22px auto 0;}
.alv-statement .alv-textlink,.alv-statement .alv-pill-btn{margin-top:34px;}

/* ---- Numbered process cards (Gameday) ---- */
.alv-numbered-wrap{padding:clamp(72px,8vw,104px) 6vw;}
.alv-numbered-wrap.alv-numbered--dark{background:var(--alv-charcoal);}
.alv-numbered-head{max-width:760px;margin:0 auto clamp(38px,5vw,54px);text-align:center;}
.alv-numbered-head h2{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-0.015em;margin:0 0 16px;color:var(--alv-charcoal);}
.alv-numbered-head p{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.68;color:var(--alv-taupe);margin:0;}
.alv-numbered--dark .alv-numbered-head h2{color:var(--alv-cream);}
.alv-numbered--dark .alv-numbered-head p{color:rgba(245,240,227,0.78);}
.alv-numbered{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1080px;margin:0 auto;}
.alv-nstep{background:var(--alv-cream-lt);border:1px solid rgba(168,154,135,0.22);border-radius:22px;padding:34px 34px 38px;}
.alv-numbered--dark .alv-nstep{background:rgba(245,240,227,0.045);border-color:rgba(245,240,227,0.12);}
.alv-nstep-num{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:34px;color:var(--alv-salmon);line-height:1;display:block;margin-bottom:44px;}
.alv-nstep h3{font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:18px;letter-spacing:-0.01em;color:var(--alv-charcoal);margin:0 0 10px;}
.alv-nstep p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.64;color:var(--alv-taupe);margin:0;}
.alv-numbered--dark .alv-nstep h3{color:var(--alv-cream);}
.alv-numbered--dark .alv-nstep p{color:rgba(245,240,227,0.72);}
@media (max-width:760px){.alv-numbered{grid-template-columns:1fr;}.alv-nstep-num{margin-bottom:20px;}}

/* ---- Benefits icon grid (Gameday) ---- */
.alv-benefits-wrap{padding:clamp(72px,8vw,104px) 6vw;}
.alv-benefits-wrap.alv-benefits--dark{background:var(--alv-charcoal);}
.alv-benefits-head{text-align:center;max-width:760px;margin:0 auto clamp(38px,5vw,52px);}
.alv-benefits-head h2{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-0.015em;margin:0 0 16px;color:var(--alv-charcoal);}
.alv-benefits-head p{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;line-height:1.68;color:var(--alv-taupe);margin:0;}
.alv-benefits--dark .alv-benefits-head h2{color:var(--alv-cream);}
.alv-benefits--dark .alv-benefits-head p{color:rgba(245,240,227,0.78);}
.alv-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1120px;margin:0 auto;}
.alv-benefit{background:var(--alv-cream-lt);border:1px solid rgba(168,154,135,0.20);border-radius:20px;padding:40px 30px;text-align:center;}
.alv-benefits--dark .alv-benefit{background:rgba(245,240,227,0.05);border-color:rgba(245,240,227,0.10);}
.alv-benefit-ic{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;color:var(--alv-salmon-dk);margin-bottom:22px;}
.alv-benefit-ic svg{width:30px;height:30px;stroke-width:1.5;}
.alv-benefits--dark .alv-benefit-ic{color:var(--alv-salmon);}
.alv-benefit h3{font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:16.5px;color:var(--alv-charcoal);margin:0 0 8px;}
.alv-benefit p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;line-height:1.6;color:var(--alv-taupe);margin:0;}
.alv-benefits--dark .alv-benefit h3{color:var(--alv-cream);}
.alv-benefits--dark .alv-benefit p{color:rgba(245,240,227,0.72);}
@media (max-width:860px){.alv-benefits{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.alv-benefits{grid-template-columns:1fr;}.alv-benefit{padding:30px 26px;}}

/* ---- Treatment spec panel (Gameday) ---- */
.alv-spec-wrap{background:var(--alv-cream);padding:clamp(64px,8vw,100px) 6vw;}
.alv-spec{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(28px,4vw,56px);align-items:center;max-width:1240px;margin:0 auto;}
.alv-spec-media{border-radius:22px;overflow:hidden;min-height:clamp(320px,36vw,480px);background-size:cover;background-position:center;box-shadow:0 24px 60px rgba(42,38,32,0.12);}
.alv-spec-panel{background:var(--alv-cream-lt);border:1px solid rgba(168,154,135,0.2);border-radius:24px;padding:clamp(32px,3.4vw,46px);box-shadow:0 8px 28px rgba(42,38,32,0.05);}
.alv-spec-tag{display:inline-block;font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--alv-taupe);border:1px solid rgba(168,154,135,0.4);border-radius:999px;padding:5px 12px;margin-left:8px;}
.alv-spec-panel h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:clamp(26px,3vw,38px);letter-spacing:-0.01em;color:var(--alv-charcoal);margin:14px 0 8px;}
.alv-spec-lead{font-family:'Inter','Inter Fallback',sans-serif;font-size:16px;font-weight:600;color:var(--alv-charcoal);margin:0 0 14px;}
.alv-spec-p{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;line-height:1.68;color:var(--alv-taupe);margin:0 0 26px;}
.alv-spec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-top:1px solid rgba(168,154,135,0.25);padding-top:24px;margin-bottom:28px;}
.alv-spec-col h4{font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:14px;color:var(--alv-charcoal);margin:0 0 6px;}
.alv-spec-col p{font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;line-height:1.55;color:var(--alv-taupe);margin:0;}
.alv-spec-fine{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;line-height:1.6;color:var(--alv-taupe);margin:22px 0 0;}
@media (max-width:860px){.alv-spec{grid-template-columns:1fr;}.alv-spec-media{min-height:260px;order:0;}.alv-spec-row{grid-template-columns:1fr;gap:16px;}}

/* ---- Vs-matrix (Gameday): our column raised on charcoal ---- */
.alv-vsm-wrap{padding:clamp(72px,8vw,104px) 6vw;background:var(--alv-cream);}
.alv-vsm{background:var(--alv-charcoal);border-radius:32px;max-width:1180px;margin:0 auto;padding:clamp(40px,5vw,68px) clamp(28px,4vw,56px);box-shadow:0 24px 60px rgba(42,38,32,0.2);}
.alv-vsm-head{max-width:640px;margin:0 auto clamp(30px,4vw,44px);text-align:center;}
.alv-vsm-head h2{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.08;color:var(--alv-cream);margin:0 0 12px;}
.alv-vsm-head p{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;line-height:1.6;color:rgba(245,240,227,0.75);margin:0;}
.alv-vsm-tbl{width:100%;overflow-x:auto;}
.alv-vsm-tbl table{width:100%;border-collapse:collapse;min-width:560px;}
.alv-vsm-tbl th,.alv-vsm-tbl td{padding:15px 16px;text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;}
.alv-vsm-tbl thead th{font-size:13px;font-weight:600;letter-spacing:0.04em;color:rgba(245,240,227,0.7);padding-bottom:18px;}
.alv-vsm-tbl thead th.alv-vsm-ours{color:var(--alv-charcoal);}
.alv-vsm-tbl .alv-vsm-feat{text-align:left;color:rgba(245,240,227,0.9);font-weight:400;}
.alv-vsm-tbl .alv-vsm-ours{background:var(--alv-cream);color:var(--alv-charcoal);}
.alv-vsm-tbl thead th.alv-vsm-ours{background:var(--alv-cream);border-radius:16px 16px 0 0;}
.alv-vsm-tbl tbody tr:last-child td.alv-vsm-ours{border-radius:0 0 16px 16px;}
.alv-vsm-tbl tbody td{border-top:1px solid rgba(245,240,227,0.1);}
.alv-vsm-tbl tbody td.alv-vsm-ours{border-top:1px solid rgba(54,71,76,0.08);}
.alv-vsm-yes{color:var(--alv-salmon-dk);font-weight:700;}
.alv-vsm-ours .alv-vsm-yes{color:var(--alv-salmon-dk);}
.alv-vsm-no{color:rgba(245,240,227,0.4);}
.alv-vsm-brand{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:18px;color:var(--alv-charcoal);}
.alv-vsm-foot{text-align:center;margin-top:30px;}

/* ---- Icon list (Gameday why-choose 2-col) ---- */
.alv-iconlist{display:grid;grid-template-columns:1fr 1fr;gap:18px 34px;margin:28px 0 30px;}
.alv-iconlist li{display:flex;align-items:center;gap:14px;list-style:none;font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-charcoal);}
.alv-iconlist li svg{width:22px;height:22px;color:var(--alv-salmon-dk);flex:none;stroke-width:1.6;}
@media (max-width:560px){.alv-iconlist{grid-template-columns:1fr;}}
/* ============================================================ */

/* ---- Symptom-qualify block (THRIVE-style, in our theme): educate + concern card + highlighted symptoms card with CTA ---- */
.alv-symq-wrap{background:var(--alv-cream);padding:clamp(64px,8vw,100px) 6vw;}
.alv-symq{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:24px;max-width:1260px;margin:0 auto;align-items:stretch;}
.alv-symq-intro{align-self:center;}
.alv-symq-intro h2{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(30px,3.6vw,46px);line-height:1.05;letter-spacing:-0.02em;color:var(--alv-charcoal);margin:0 0 10px;}
.alv-symq-hook{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:22px;color:var(--alv-salmon-dk);margin:0 0 18px;}
.alv-symq-intro p{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;line-height:1.7;color:var(--alv-taupe);margin:0;}
.alv-symq-card{background:var(--alv-cream-lt);border:1px solid rgba(168,154,135,0.24);border-radius:22px;padding:32px 30px;}
.alv-symq-card h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:24px;line-height:1.12;color:var(--alv-charcoal);margin:0 0 18px;}
.alv-symq-card ul{list-style:none;margin:0;padding:0;}
.alv-symq-card > ul > li{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.62;color:var(--alv-taupe);margin-bottom:14px;}
.alv-symq-card--hi{background:var(--alv-charcoal);border:none;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(42,38,32,0.2);}
.alv-symq-card--hi h3{color:var(--alv-cream);}
.alv-symq-card--hi ul{margin-bottom:auto;}
.alv-symq-card--hi li{display:flex;align-items:center;gap:12px;font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;font-weight:500;color:var(--alv-cream);margin-bottom:16px;}
.alv-symq-card--hi li svg{width:20px;height:20px;color:var(--alv-salmon);flex:none;stroke-width:2;}
.alv-symq-card--hi .alv-pill-btn{margin-top:26px;align-self:flex-start;}
@media (max-width:900px){.alv-symq{grid-template-columns:1fr;gap:20px;}.alv-symq-intro{align-self:auto;}}

/* ---- Premium directional reveal (2026-07-06): media slides in from a side, copy from the other; cards fade up. Gated under .js-reveal so content is never stuck if JS/observer is absent. ---- */
.js-reveal .alv-split-media{opacity:0;transform:translateX(-46px);transition:opacity .85s ease,transform .85s cubic-bezier(0.2,0.7,0.2,1);}
.js-reveal .alv-split-body{opacity:0;transform:translateX(46px);transition:opacity .85s ease .06s,transform .85s cubic-bezier(0.2,0.7,0.2,1) .06s;}
.js-reveal .alv-split--rev .alv-split-media{transform:translateX(46px);}
.js-reveal .alv-split--rev .alv-split-body{transform:translateX(-46px);}
.js-reveal .alv-spec-media{opacity:0;transform:translateX(-46px);transition:opacity .85s ease,transform .85s cubic-bezier(0.2,0.7,0.2,1);}
.js-reveal .alv-spec-panel{opacity:0;transform:translateX(46px);transition:opacity .85s ease .06s,transform .85s cubic-bezier(0.2,0.7,0.2,1) .06s;}
.js-reveal .alv-symq-intro,.js-reveal .alv-symq-card,.js-reveal .alv-benefit,.js-reveal .alv-nstep,.js-reveal .alv-statement,.js-reveal .alv-vsm,.js-reveal .alv-numbered-head,.js-reveal .alv-benefits-head,.js-reveal .alv-tier,.js-reveal .alv-door,.js-reveal .alv-pillar{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s cubic-bezier(0.2,0.7,0.2,1);}
.js-reveal .alv-split-media.is-visible,.js-reveal .alv-split-body.is-visible,.js-reveal .alv-spec-media.is-visible,.js-reveal .alv-spec-panel.is-visible,.js-reveal .alv-symq-intro.is-visible,.js-reveal .alv-symq-card.is-visible,.js-reveal .alv-benefit.is-visible,.js-reveal .alv-nstep.is-visible,.js-reveal .alv-statement.is-visible,.js-reveal .alv-vsm.is-visible,.js-reveal .alv-numbered-head.is-visible,.js-reveal .alv-benefits-head.is-visible,.js-reveal .alv-tier.is-visible,.js-reveal .alv-door.is-visible,.js-reveal .alv-pillar.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){.js-reveal .alv-split-media,.js-reveal .alv-split-body,.js-reveal .alv-spec-media,.js-reveal .alv-spec-panel,.js-reveal .alv-symq-intro,.js-reveal .alv-symq-card,.js-reveal .alv-benefit,.js-reveal .alv-nstep,.js-reveal .alv-statement,.js-reveal .alv-vsm,.js-reveal .alv-tier,.js-reveal .alv-door,.js-reveal .alv-pillar{opacity:1 !important;transform:none !important;transition:none !important;}}

/* ---- Craft fixes (2026-07-06): dark-card contrast, gold-dot fact line (replaces pills), stronger reveal ---- */
.alv-symq-card--hi li{color:#F3EEE2 !important;font-weight:500;}
.alv-symq-card--hi li svg{color:var(--alv-salmon);opacity:1;}
.alv-benefits--dark .alv-benefit p{color:rgba(243,238,226,0.88);}
.alv-benefits--dark .alv-benefit h3{color:#FBF8F1;}
.alv-numbered--dark .alv-nstep p{color:rgba(243,238,226,0.86);}
.alv-numbered--dark .alv-nstep h3{color:#FBF8F1;}
.alv-statement p{color:rgba(243,238,226,0.92);}
.alv-vsm-tbl .alv-vsm-feat{color:rgba(243,238,226,0.94);}
/* gold-dot fact line, the high-end replacement for the hero pills */
.alv-hero-facts{font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;letter-spacing:0.01em;color:var(--alv-taupe);margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;}
.alv-hero-facts span{position:relative;padding:2px 0;margin-right:30px;}
.alv-hero-facts span:not(:last-child)::after{content:"";position:absolute;right:-17px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--alv-salmon);transform:translateY(-50%);}
@media (max-width:520px){.alv-hero-facts span{margin-right:22px;}.alv-hero-facts span:not(:last-child)::after{right:-13px;}}
/* stronger, more premium slide-in */
.js-reveal .alv-split-media{transform:translateX(-64px);transition-duration:1s;}
.js-reveal .alv-split-body{transform:translateX(56px);transition-duration:1s;}
.js-reveal .alv-split--rev .alv-split-media{transform:translateX(64px);}
.js-reveal .alv-split--rev .alv-split-body{transform:translateX(-56px);}
.js-reveal .alv-spec-media{transform:translateX(-64px);transition-duration:1s;}
.js-reveal .alv-spec-panel{transform:translateX(56px);transition-duration:1s;}

.alv-progrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1120px;margin:0 auto;padding:0 6vw;}
.alv-progrid .alv-door h3{font-size:23px;min-height:2.3em;}
@media(max-width:820px){.alv-progrid{grid-template-columns:1fr;}.alv-progrid .alv-door h3{min-height:0;}}

/* editorial sizing: bolder gold-serif split headlines, taller media (less cookie-cutter) */
.alv-split-title{font-size:clamp(34px,5vw,66px) !important;line-height:1.02;}
.alv-split-media{min-height:clamp(400px,48vw,620px) !important;}
.alv-spec-media{min-height:clamp(360px,42vw,540px) !important;}
.alv-statement h2{font-size:clamp(32px,5vw,60px) !important;}

/* restore the classy iconed care grid (icons were globally hidden by an earlier edit) */
.alv-svc-tier-dark .alv-svc-card .alv-svc-ic{display:inline-flex !important;align-items:center;justify-content:center;width:30px !important;height:30px !important;padding:0 !important;margin:0 0 16px !important;background:transparent !important;border:0 !important;box-shadow:none !important;color:var(--alv-salmon) !important;}
.alv-svc-tier-dark .alv-svc-card .alv-svc-ic svg{width:100% !important;height:100% !important;stroke-width:1.6 !important;}

/* breathing room + let headlines carry weight (redesign pass 2026-07-07) */
.alv-svc-head{max-width:760px;margin-left:auto;margin-right:auto;margin-bottom:52px;}
.alv-svc-head h2{margin-bottom:0;}
.alv-svc-head p,.alv-svc-sub{max-width:58ch;margin-left:auto;margin-right:auto;line-height:1.7;}
.alv-svc-head .alv-svc-sub{margin-top:20px;}
.alv-numbered-head,.alv-benefits-head{margin-bottom:52px;}
.alv-numbered-head p,.alv-benefits-head p{max-width:56ch;margin-left:auto;margin-right:auto;}
.alv-section-dark p{max-width:52ch !important;}
.alv-split-p{max-width:46ch;}

.alv-md--bleed .alv-md-body{align-self:center;}

/* clickable care cards (journey routing 2026-07-07) */
a.alv-svc-card{color:inherit;text-decoration:none;display:flex;}

@media (max-width:767px){.alv-svc-photo{max-width:100% !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;}}

/* centering/width discipline + facts wrap spacing (2026-07-07) */
.alv-md-body .alv-pill-btn{max-width:520px;}
.alv-hero-facts{row-gap:8px;}

/* clip reveal pre-states in new component wraps (same fix as hero wraps, 2026-07-07): the +/-56px slide-in must never create a horizontal scrollbar */
.alv-spec-wrap,.alv-vsm-wrap,.alv-split-wrap,.alv-symq-wrap,.alv-benefits-wrap,.alv-numbered-wrap,.alv-statement-wrap{overflow-x:clip;}


/* two-membership tier heads + band paragraph centering (2026-07-07) */
.alv-tierhead{text-align:center;margin:4px auto 36px;max-width:760px;}
.alv-tierhead h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:clamp(27px,3.2vw,40px);line-height:1.15;letter-spacing:-0.01em;margin:0;color:#CDB176;}
.alv-tierhead p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;letter-spacing:0.02em;line-height:1.6;color:rgba(245,240,227,0.78);margin:10px 0 0;}
.alv-tierhead p strong{font-weight:600;color:#CDB176;}
.alv-svc-tier-light .alv-tierhead h3{color:var(--alv-charcoal);}
.alv-svc-tier-light .alv-tierhead p{color:#5A5347;}
.alv-svc-tier-light .alv-tierhead p strong{color:#7C6228;}
@media(max-width:767px){.alv-tierhead{margin-bottom:26px;}.alv-tierhead p{font-size:13px;}}
.alv-section-dark p{margin-left:auto;margin-right:auto;}


/* membership tags + portrait spacing + bigger signs + tri matrix (2026-07-07 b2) */
@media(min-width:901px){.alv-md--portrait .alv-md-body{padding-left:clamp(32px,3.5vw,76px);}}
.alv-mtag{display:flex;align-items:center;gap:10px;font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.17em;text-transform:uppercase;color:#7C6228;margin:0 0 16px;}
.alv-mtag::before{content:"";width:26px;height:1px;background:#C5A86E;flex:0 0 auto;}
.alv-mtag--c{justify-content:center;margin-bottom:14px;}
.alv-mtag--c::after{content:"";width:26px;height:1px;background:#C5A86E;flex:0 0 auto;}
.alv-symq{gap:28px;}
.alv-symq-intro h2{font-size:clamp(36px,4.6vw,60px);}
.alv-symq-hook{font-size:25px;}
.alv-symq-intro p{font-size:16.5px;line-height:1.72;}
.alv-symq-card{padding:38px 34px;border-radius:24px;}
.alv-symq-card h3{font-size:29px;}
.alv-symq-card > ul > li{font-size:16px;line-height:1.66;}
.alv-cmp--tri .alv-cmp-head,.alv-cmp--tri .alv-cmp-row{grid-template-columns:1.4fr 1.02fr 1.02fr 1.02fr;}
.alv-cmp--tri .alv-cmp-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;}
.alv-cmp-col-mh{color:#7C6228;}
.alv-cmp-cell-mh{background:#F3EEE2;}
.alv-cmp-colprice{display:block;font-family:'Inter','Inter Fallback',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:0.06em;margin-top:4px;opacity:0.9;text-transform:none;}
.alv-cmp-mh-s{display:none;}
@media(max-width:640px){
  .alv-cmp--tri .alv-cmp-head,.alv-cmp--tri .alv-cmp-row{grid-template-columns:1.25fr 0.92fr 0.92fr 0.92fr;}
  .alv-cmp-mh-l{display:none;}
  .alv-cmp-mh-s{display:inline;}
  .alv-cmp-colprice{font-size:9px;letter-spacing:0.02em;}
}


/* b3 2026-07-07: tier WH group + membership compare column pop */
.alv-svc-tier-dark .alv-tier-subhead{font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.17em;text-transform:uppercase;color:#CDB176;text-align:center;margin:8px 0 24px;padding-top:28px;border-top:1px solid rgba(205,177,118,0.18);}
.alv-svc-tier-dark .alv-tier-wh{grid-template-columns:repeat(3,1fr) !important;max-width:none !important;}
@media(max-width:767px){.alv-svc-tier-dark .alv-tier-wh{grid-template-columns:1fr !important;}}
.alv-tcompare th:nth-child(2),.alv-tcompare td:nth-child(2){background:#F3EEE2;}
.alv-tcompare th:nth-child(3),.alv-tcompare td:nth-child(3){background:var(--alv-charcoal);}
.alv-tcompare th:nth-child(3){color:#CDB176;}
.alv-tcompare td:nth-child(3){color:var(--alv-cream);}
.alv-tcompare td:nth-child(3).y{color:#CDB176 !important;}
.alv-tcompare td:nth-child(2).y{color:#7C6228 !important;}
.alv-tcompare td.n{color:rgba(122,116,104,0.5) !important;font-weight:400;}
.alv-tcompare td:nth-child(3).n{color:rgba(250,247,241,0.42) !important;}
.alv-tcompare tr.pr td:nth-child(2){background:#EDE6D6 !important;}
.alv-tcompare tr.pr td:nth-child(3){background:#2B373C !important;color:#CDB176 !important;font-weight:700;}
.alv-tcompare tr.pr td:first-child{font-weight:600;}


/* b4 2026-07-07: membership compare cols swapped (Concierge left) + equal width */
.alv-tcompare table{table-layout:fixed;}
.alv-tcompare th:first-child,.alv-tcompare td:first-child{width:56%;}
.alv-tcompare th:nth-child(2),.alv-tcompare td:nth-child(2),.alv-tcompare th:nth-child(3),.alv-tcompare td:nth-child(3){width:22%;}
.alv-tcompare th:nth-child(2),.alv-tcompare td:nth-child(2){background:var(--alv-charcoal) !important;}
.alv-tcompare th:nth-child(3),.alv-tcompare td:nth-child(3){background:#F3EEE2 !important;}
.alv-tcompare th:nth-child(2){color:#CDB176 !important;}
.alv-tcompare th:nth-child(3){color:var(--alv-taupe) !important;}
.alv-tcompare td:nth-child(2){color:var(--alv-cream) !important;}
.alv-tcompare td:nth-child(3){color:var(--alv-charcoal) !important;}
.alv-tcompare td:nth-child(2).y{color:#CDB176 !important;}
.alv-tcompare td:nth-child(3).y{color:#7C6228 !important;}
.alv-tcompare td:nth-child(2).n{color:rgba(250,247,241,0.42) !important;}
.alv-tcompare td:nth-child(3).n{color:rgba(122,116,104,0.5) !important;}
.alv-tcompare tr.pr td:nth-child(2){background:#2B373C !important;color:#CDB176 !important;}
.alv-tcompare tr.pr td:nth-child(3){background:#EDE6D6 !important;color:var(--alv-charcoal) !important;}


/* b5 2026-07-07: matrix check pairing + care badges + compare widen/contrast */
.alv-cmp--tri .alv-cmp-cell-alv,.alv-cmp--tri .alv-cmp-cell-mh{justify-content:center;}
.alv-cmp--tri .alv-cmp-col-alv,.alv-cmp--tri .alv-cmp-col-mh{align-items:center;}
.alv-cmp-col-mh{background:#F3EEE2;}
.alv-mtag{display:flex;width:fit-content;max-width:100%;align-items:center;background:rgba(124,98,40,0.09);border:1px solid rgba(124,98,40,0.32);border-radius:999px;padding:6px 15px;font-family:'Inter','Inter Fallback',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:#7C6228;margin:0 0 18px;}
.alv-mtag::before,.alv-mtag::after{display:none !important;}
.alv-mtag--c{margin:0 auto 16px;}
.alv-tcompare{max-width:1080px !important;}
.alv-tcompare-frame{box-shadow:0 24px 55px -22px rgba(42,38,32,0.34) !important;border:1px solid rgba(54,71,76,0.20) !important;}


/* b9 2026-07-07: program spec panel centered + larger Best-for/Method/Follow-up */
.alv-spec-panel{text-align:center;}
.alv-spec-row{border-top:1px solid rgba(168,154,135,0.25);padding-top:30px;margin-top:10px;margin-bottom:32px;gap:30px;}
.alv-spec-col h4{font-size:17px;margin-bottom:8px;}
.alv-spec-col p{font-size:15.5px;line-height:1.6;}
.alv-spec-panel .alv-pill-btn{display:inline-block;}
.alv-spec-fine{max-width:660px;margin-left:auto;margin-right:auto;}
@media(max-width:860px){.alv-spec-col h4{font-size:16px;}.alv-spec-col p{font-size:15px;}}


/* b10 2026-07-07: audit batch (header, hub facts+doors, chips, benefits editorial,
   contact steps, faq pills, micro-interactions, perks-in-tierhead, persona heights) */
.alv-md-body .alv-hero-facts{flex-direction:column;align-items:flex-start;gap:9px;}
.alv-md-body .alv-hero-facts span{display:flex;align-items:center;gap:10px;margin-right:0;padding:0;}
.alv-md-body .alv-hero-facts span::after{display:none !important;}
.alv-md-body .alv-hero-facts span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--alv-salmon);flex:0 0 auto;}
@media (max-width:767px){.alv-offer-points span::before{display:none;}}
.alv-svc-tier-dark .alv-svc-perks{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:13px;row-gap:4px;text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.5;letter-spacing:0.02em;font-weight:500;color:rgba(250,247,241,0.88);margin:16px auto 0;}
.alv-svc-tier-dark .alv-svc-perks .alv-pp{white-space:nowrap;}
.alv-svc-tier-dark .alv-svc-perks .alv-pp:not(:first-child)::before{content:"\00B7";color:#CDB176;margin-right:13px;}
@media (max-width:767px){
  .alv-svc-tier-dark .alv-svc-perks{font-size:13.5px;}
  .alv-svc-tier-dark .alv-svc-perks .alv-pp{flex:0 0 100%;}
  .alv-svc-tier-dark .alv-svc-perks .alv-pp:not(:first-child)::before{display:none;}
}
.alv-benefits{grid-template-columns:1fr 1fr !important;gap:0 60px !important;max-width:1020px !important;}
.alv-benefit{background:transparent !important;border:0 !important;border-top:1px solid rgba(168,154,135,0.30) !important;border-radius:0 !important;box-shadow:none !important;padding:26px 4px 30px !important;text-align:left !important;}
.alv-benefit-ic{margin:0 0 12px !important;color:var(--alv-salmon-dk) !important;}
.alv-benefit h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-weight:600 !important;font-size:24px !important;margin:0 0 8px !important;}
.alv-benefit p{font-size:15px !important;}
@media (max-width:767px){.alv-benefits{grid-template-columns:1fr !important;gap:0 !important;}.alv-benefit h3{font-size:21px !important;}}
.alv-hubdoors{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1000px;margin:0 auto;}
.alv-hubdoor{position:relative;display:flex;align-items:flex-end;min-height:460px;border-radius:24px;overflow:hidden;background-color:var(--alv-charcoal);background-size:cover;background-blend-mode:luminosity;text-decoration:none;box-shadow:0 24px 55px -24px rgba(42,38,32,0.4);}
.alv-hubdoor::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,52,56,0.05) 30%,rgba(31,40,44,0.9) 100%);}
.alv-hubdoor-body{position:relative;z-index:2;padding:30px;}
.alv-hubdoor h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:29px;line-height:1.12;color:#CDB176;margin:0 0 10px;}
.alv-hubdoor p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.6;color:rgba(250,247,241,0.9);margin:0 0 14px;}
.alv-hubdoor-link{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#CDB176;}
.alv-hubdoor-link span{display:inline-block;transition:transform 220ms cubic-bezier(0.2,0.6,0.2,1);}
@media (max-width:900px){.alv-hubdoors{grid-template-columns:1fr;max-width:560px;}.alv-hubdoor{min-height:380px;}}
.alv-next-steps{margin:28px 0 0;display:flex;flex-direction:column;gap:12px;width:fit-content;}
.alv-next-steps div{display:flex;align-items:baseline;gap:14px;font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.5;color:var(--alv-taupe);}
.alv-next-steps span{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:20px;color:#7C6228;line-height:1;flex:0 0 auto;}
@media (max-width:900px){.alv-next-steps{margin:22px auto 0;}}
.alv-faq-toc-inner a{border:1px solid rgba(124,98,40,0.32);background:rgba(124,98,40,0.07);border-radius:999px;padding:9px 18px;font-weight:600;letter-spacing:0.12em;color:#7C6228;}
@media (hover:hover){
  a.alv-svc-card:hover h3,.alv-image-card:hover .alv-image-card-title,.alv-hubdoor:hover h3{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:#C5A86E;}
  .alv-explore-row a:hover .alv-explore-arr{transform:translateX(4px);}
  .alv-deeplink:hover .alv-deeplink-arr{transform:translateX(4px) !important;}
  .alv-hubdoor:hover .alv-hubdoor-link span{transform:translateX(4px);}
  .alv-faq-toc-inner a:hover{background:rgba(124,98,40,0.14);}
}
.alv-pill-btn:active,.alv-deeplink:active{transform:scale(0.98);}


/* b10h header fit (2026-07-07): nav compressed in the inline band so the Reserve CTA
   never clips; below 1100px the nav folds into the hamburger (panel styles replicated). */
@media (min-width:1366px) and (max-width:1679px){
  .alv-header .alv-nav a{font-size:12px !important;letter-spacing:0.07em !important;}
  .alv-header .alv-nav{gap:18px !important;}
  .alv-wordmark{font-size:20px !important;letter-spacing:0.12em !important;}
  .alv-header-cta{padding:11px 20px !important;font-size:11.5px !important;letter-spacing:0.12em !important;}
}
@media (min-width:901px) and (max-width:1365px){
  .alv-nav{display:none !important;}
  .alv-nav.open{display:flex !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--alv-charcoal);padding:24px 6vw;gap:16px;border-bottom:1px solid rgba(197,168,110,0.30);}
  .alv-mobile-toggle{display:block !important;}
}


/* b11 2026-07-07: tcompare dark-col lines + contact steps center */
.alv-tcompare th:nth-child(2),.alv-tcompare td:nth-child(2){border-bottom-color:rgba(205,177,118,0.22) !important;}
.alv-next-steps{margin-left:auto !important;margin-right:auto !important;}


/* b12 2026-07-07: physician/contact portrait shows whole 4:5 figure (arms), wider column */
@media (min-width:901px){
  .alv-md--portrait .alv-md{grid-template-columns:minmax(340px,1fr) 1.1fr !important;align-items:start !important;min-height:0 !important;}
  .alv-md--portrait .alv-md-photo{aspect-ratio:4/5 !important;height:auto !important;min-height:0 !important;align-self:start !important;background-position:center center !important;}
  .alv-md--portrait .alv-md-body{align-self:start !important;}
}


/* b13 2026-07-08: MOBILE REPAIR (all <=767px; desktop untouched)
   - tier accordion: icons hidden -> compact menu rows (and JS now prevents link
     navigation on tap so + expands instead of leaving the page)
   - founding band: conversion basics only (duo + deposit + month-to-month + CTA)
   - matrix: full "Metabolic & Hormone" header instead of "M&H"
   - program pages: spec panel left-aligned + compact, checklists tighter,
     benefits 2-up editorial, vs-table fits the screen (no horizontal scroll;
     the "Doing nothing" column is desktop-only) */
@media (max-width:767px){
  .alv-svc-tier-dark .alv-svc-card .alv-svc-ic,.alv-svc-tier-light .alv-svc-card .alv-svc-ic,.alv-svc-card .alv-svc-ic{display:none !important;}
  .alv-svc-tier-dark{padding:22px 18px 20px !important;}
  .alv-tier-subhead{margin:4px 0 4px !important;padding-top:16px !important;}
  .alv-tierhead{margin-bottom:12px !important;}
  .alv-offer-photo .alv-offer-anchor{display:none !important;}
  .alv-offer-photo .alv-offer-points span:nth-child(1),.alv-offer-photo .alv-offer-points span:nth-child(3){display:none !important;}
  .alv-cmp-mh-l{display:inline !important;}
  .alv-cmp-mh-s{display:none !important;}
  .alv-spec-panel{text-align:left !important;}
  .alv-spec-lead{font-size:15px !important;}
  .alv-spec-row{gap:14px !important;padding-top:16px !important;margin-top:6px !important;margin-bottom:20px !important;}
  .alv-spec-col h4{font-size:15px !important;margin-bottom:4px !important;}
  .alv-spec-col p{font-size:14px !important;line-height:1.5 !important;}
  .alv-spec-fine{margin-left:0 !important;text-align:left !important;}
  .alv-two-panel-left,.alv-two-panel-right{padding:24px 18px 20px !important;}
  .alv-checklist li{margin-bottom:10px !important;font-size:15px !important;line-height:1.5 !important;}
  .alv-benefits{grid-template-columns:1fr 1fr !important;gap:0 16px !important;}
  .alv-benefit{padding:16px 2px 18px !important;}
  .alv-benefit-ic{margin:0 0 8px !important;}
  .alv-benefit-ic svg{width:20px !important;height:20px !important;}
  .alv-benefit h3{font-size:17px !important;margin:0 0 5px !important;}
  .alv-benefit p{font-size:12.5px !important;line-height:1.5 !important;}
  .alv-benefits-head p{font-size:14px !important;}
  .alv-vsm{padding:26px 14px 24px !important;border-radius:22px !important;}
  .alv-vsm-tbl{overflow-x:visible !important;}
  .alv-vsm-tbl table{min-width:0 !important;width:100% !important;table-layout:fixed !important;}
  .alv-vsm-tbl th:nth-child(4),.alv-vsm-tbl td:nth-child(4){display:none !important;}
  .alv-vsm-tbl thead th:first-child{width:46% !important;}
  .alv-vsm-tbl th,.alv-vsm-tbl td{padding:10px 6px !important;font-size:12px !important;}
  .alv-vsm-tbl thead th{font-size:10.5px !important;letter-spacing:0.02em !important;}
  .alv-vsm-tbl .alv-vsm-feat{font-size:12.5px !important;line-height:1.4 !important;}
  .alv-vsm-brand{font-size:14px !important;}
  .alv-vsm-head p{font-size:14px !important;}
}


/* b14 2026-07-08: mobile folds + tcompare fit + program hero overlay + contact toggle */
.alv-contact-prefs{align-items:stretch;}
.alv-contact-pref{white-space:normal;text-align:center;line-height:1.3;}
@media (min-width:768px){.alv-incbtn{display:none !important;}}
@media (max-width:767px){
  html.js-fold .alv-fold > ul,html.js-fold .alv-fold > p{display:none;}
  html.js-fold .alv-fold.is-open > ul,html.js-fold .alv-fold.is-open > p{display:block;}
  html.js-fold .alv-fold > h3{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;margin-bottom:0 !important;}
  html.js-fold .alv-fold.is-open > h3{margin-bottom:14px !important;}
  html.js-fold .alv-fold > h3::after{content:'+';font-family:'Inter','Inter Fallback',sans-serif;font-size:21px;font-weight:400;color:var(--alv-salmon-dk);line-height:1;flex:0 0 auto;}
  html.js-fold .alv-fold.is-open > h3::after{content:'\2212';}
  .alv-symq-card--hi.alv-fold > h3::after,.alv-why-card.alv-fold > h3::after{color:#CDB176 !important;}
  .alv-symq{gap:14px !important;}
  .alv-symq-card{padding:18px 20px !important;border-radius:16px !important;}
  html.js-fold .alv-tier ul{display:none;}
  html.js-fold .alv-tier.is-open ul{display:block;}
  html.js-fold .alv-spec-row{display:none !important;}
  html.js-fold .alv-spec-row.is-open{display:grid !important;}
  .alv-incbtn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;border-top:1px solid rgba(168,154,135,0.35);padding:14px 2px;margin-top:14px;font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.04em;color:inherit;cursor:pointer;text-align:left;}
  .alv-incbtn span{font-size:21px;font-weight:400;color:var(--alv-salmon-dk);}
  .alv-tier--dark .alv-incbtn{border-top-color:rgba(205,177,118,0.3);color:var(--alv-cream);}
  .alv-tier--dark .alv-incbtn span{color:#CDB176;}
  .alv-spec-fine{font-size:12px !important;}
  .alv-tcompare{overflow-x:visible !important;padding:0 !important;}
  .alv-tcompare-frame{min-width:0 !important;}
  .alv-tcompare table{table-layout:fixed !important;width:100% !important;}
  .alv-tcompare th{font-size:10px !important;letter-spacing:0.04em !important;padding:12px 8px !important;}
  .alv-tcompare td{padding:10px 8px !important;font-size:12.5px !important;line-height:1.4 !important;}
  .alv-tcompare th:first-child{width:50% !important;}
  .alv-tier{padding:26px 20px 24px !important;}
  .alv-tier-for{font-size:14px !important;}
  .alv-tier li{font-size:14.5px !important;}
  .alv-contact-prefs[aria-label="Membership interest"]{flex-direction:column !important;}
  .alv-contact-prefs[aria-label="Membership interest"] .alv-contact-pref{flex:1 1 auto;margin-left:0 !important;margin-top:-1px;border-radius:0 !important;justify-content:center;padding:12px 10px !important;}
  .alv-contact-prefs[aria-label="Membership interest"] .alv-contact-pref:first-of-type{border-radius:14px 14px 0 0 !important;margin-top:0;}
  .alv-contact-prefs[aria-label="Membership interest"] .alv-contact-pref:last-of-type{border-radius:0 0 14px 14px !important;}
}
@media (max-width:900px){
  /* program hero, mobile: full photo on top, then the text on a charcoal panel
     the image fades down into (the "fading up from darkness" treatment). */
  .alv-md--m-overlay .alv-md{display:block !important;}
  .alv-md--m-overlay .alv-md-photo{position:relative;min-height:52svh !important;aspect-ratio:auto !important;width:100% !important;border-radius:0 !important;}
  .alv-md--m-overlay .alv-md-photo::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:45%;background:linear-gradient(180deg,rgba(42,54,59,0) 0%,rgba(42,54,59,0.55) 60%,#2A363B 100%);}
  .alv-md--m-overlay .alv-md-body{position:relative;background:#2A363B !important;border-top:0 !important;margin:0 !important;padding:4px 6vw 42px !important;max-width:none !important;}
  .alv-md--m-overlay .alv-md-body h1{color:var(--alv-cream) !important;}
  .alv-md--m-overlay .alv-md-body > p{color:rgba(250,247,241,0.88) !important;}
  .alv-md--m-overlay .alv-crumb,.alv-md--m-overlay .alv-crumb span{color:rgba(250,247,241,0.7) !important;}
  .alv-md--m-overlay .alv-crumb a{color:#CDB176 !important;}
}


/* b15 2026-07-08: WH strip integrated (serif subhead, gold checks) */
.alv-svc-tier-dark .alv-tier-subhead{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:clamp(21px,2.4vw,27px);font-weight:600;letter-spacing:-0.01em;text-transform:none;line-height:1.25;color:#CDB176;margin:6px 0 20px;padding-top:26px;}
.alv-tier-wh .alv-svc-card h3::before{content:"\2713";font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:0.72em;color:#CDB176;margin-right:10px;flex:0 0 auto;}
@media (max-width:767px){
  .alv-tier-wh .alv-svc-card h3{justify-content:flex-start !important;}
  html.js-svc-acc .alv-tier-wh .alv-svc-card h3::after{margin-left:auto;}
}

/* ---- b16: mobile spec CTA centered ---- */
@media (max-width:767px){
  .alv-spec-panel>.alv-pill-btn{display:flex !important;width:-moz-fit-content;width:fit-content;margin-left:auto !important;margin-right:auto !important;align-items:center;justify-content:center;}
}

/* ---- b17: hubdoor legibility ---- */
.alv-hubdoor::after{background:linear-gradient(180deg,rgba(42,52,56,0) 20%,rgba(31,40,44,0.5) 44%,rgba(21,28,31,0.97) 100%);}
.alv-hubdoor p{color:#F7F3E8;text-shadow:0 1px 12px rgba(16,22,25,0.6);}
.alv-hubdoor h3,.alv-hubdoor-link{text-shadow:0 1px 10px rgba(16,22,25,0.55);}

/* ---- b18: m-overlay on FAQ/contact heroes + dark-tier perk chips ---- */
@media (max-width:900px){
  .alv-md--m-overlay .alv-md-body .alv-eyebrow{color:#CDB176 !important;}
  .alv-md--m-overlay .alv-next-steps div{color:rgba(250,247,241,0.85);}
  .alv-md--m-overlay .alv-next-steps span{color:#CDB176;}
  [aria-label="Contact"].alv-md--m-overlay .alv-md-photo{min-height:62svh !important;background-position:center 18% !important;}
}
@media (max-width:767px){
  .alv-svc-tier-dark .alv-svc-perks{display:block !important;max-width:300px;margin:16px auto 0;}
  .alv-svc-tier-dark .alv-svc-perks .alv-pp{white-space:normal;display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left;border-bottom:1px solid rgba(197,168,110,0.22);padding:12px 2px;font-size:13.5px;line-height:1.45;letter-spacing:0.02em;color:rgba(250,247,241,0.92);}
  .alv-svc-tier-dark .alv-svc-perks .alv-pp:first-child{border-top:1px solid rgba(197,168,110,0.22);}
  .alv-svc-tier-dark .alv-svc-perks .alv-pp::before{content:"\2713";color:#CDB176;font-size:14px;display:inline !important;margin:0;}
  .alv-svc-tier-dark .alv-svc-perks .alv-pp:not(:first-child)::before{content:"\2713";font-size:14px;display:inline !important;margin:0;}
}

/* ---- b20: desktop tier ledger (D1) + nav sub-pages + mobile timeline/rows + creds fold ---- */
@media (min-width:768px){
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh),.alv-svc-tier-light .alv-svc-grid{display:block !important;max-width:920px !important;margin:0 auto 28px !important;}
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh) .alv-svc-card,.alv-svc-tier-light .alv-svc-card{display:grid !important;grid-template-columns:300px 1fr;column-gap:48px;align-items:start;padding:22px 0 !important;}
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh) .alv-svc-card .alv-svc-ic,.alv-svc-tier-light .alv-svc-card .alv-svc-ic{display:none !important;}
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh) .alv-svc-card h3,.alv-svc-tier-light .alv-svc-card h3{margin:0 !important;font-size:24px !important;}
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh) .alv-svc-card p,.alv-svc-tier-light .alv-svc-card p{margin:0 !important;max-width:none !important;}
}
.alv-nav-menu a.alv-nav-sub{padding-left:26px !important;font-size:10.5px;opacity:.78;}
.alv-nav-menu a.alv-nav-sub::before{content:"";display:inline-block;width:10px;height:1px;background:#CDB176;margin-right:9px;vertical-align:middle;}
@media (max-width:1365px){
  .alv-nav .alv-nav-menu a.alv-nav-sub{padding:8px 0 8px 20px !important;opacity:.72;font-size:11px !important;}
}
@media (max-width:600px){
  .alv-steps{gap:0 !important;}
  .alv-step{display:grid !important;grid-template-columns:44px 1fr;column-gap:16px;text-align:left !important;align-items:start;position:relative;padding:0 0 26px !important;}
  .alv-step-badge{width:44px !important;height:44px !important;font-size:18px !important;margin:0 !important;grid-column:1;grid-row:1 / span 2;}
  .alv-step h3{grid-column:2;margin:11px 0 4px !important;}
  .alv-step p{grid-column:2;margin:0 !important;}
  .alv-step:not(:last-child)::after{content:"";position:absolute;left:21.5px;top:50px;bottom:4px;width:1px;background:rgba(138,111,60,0.32);}
  .alv-step-line{display:none !important;}
}
@media (max-width:767px){
  .alv-svc-card h3{padding:13px 2px 13px 0 !important;gap:10px !important;font-size:18px !important;}
  .alv-tier-wh .alv-svc-card h3::before{margin-right:0 !important;}
  .alv-svc-tier-dark .alv-tier-subhead{font-size:19px !important;}
  .alv-svc-fine{margin-top:8px !important;}
}

/* ---- b21: review round (fineprint gutters, chips 4/4, image-card alignment, cmp header, contact hero) ---- */
p.alv-fineprint{padding-left:20px;padding-right:20px;box-sizing:border-box;}
.alv-cmp-mh-l{display:inline !important;}
.alv-cmp-mh-s{display:none !important;}
.alv-image-card-sub{min-height:2.7em;}
@media (min-width:768px){
  .alv-areas-grid{max-width:560px;margin-left:auto;margin-right:auto;}
}
@media (min-width:901px){
  .alv-md--portrait[aria-label="Contact"] .alv-md-body{align-self:center !important;}
}
@media (max-width:767px){
  .alv-image-card-title{min-height:42px;display:flex;align-items:flex-end;}
}

/* ---- b21b: V10 GFE list styled like site checklists ---- */
#page-gfe ul{list-style:none;padding:0;margin:14px 0 22px;}
#page-gfe ul li{position:relative;padding-left:26px;margin:0 0 10px;line-height:1.65;}
#page-gfe ul li::before{content:"\2713";position:absolute;left:2px;top:0;color:#8A6F3C;font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:13px;}

/* ---- b22: C+B mobile footer (contact pills + Explore-the-site fold; desktop unchanged) ---- */
@media (max-width:767px){
  .alv-footer .alv-footer-h{display:none;}
  .alv-footer-info{display:block !important;max-width:none !important;margin:16px auto 4px !important;gap:0 !important;}
  .alv-footer-col:first-child{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
  .alv-footer-col:first-child .alv-footer-line{display:inline-flex !important;align-items:center;border:1px solid rgba(197,168,110,0.5);border-radius:999px;padding:11px 18px !important;margin:0 !important;font-size:12px !important;letter-spacing:0.06em;}
  .alv-footer-explore{max-width:340px;margin:14px auto 20px;}
  .alv-footer-explore > h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:18px;color:var(--alv-cream);margin:0;padding:13px 2px;border-top:1px solid rgba(197,168,110,0.28);border-bottom:1px solid rgba(197,168,110,0.28);}
  .alv-footer-explore.alv-fold > h3::after{color:#CDB176 !important;}
  html.js-fold .alv-footer-explore.is-open > h3{border-bottom:0;}
  html.js-fold .alv-footer-explore.alv-fold > .alv-fmast-groups{display:none !important;}
  html.js-fold .alv-footer-explore.alv-fold.is-open > .alv-fmast-groups{display:block !important;border-bottom:1px solid rgba(197,168,110,0.28);padding-bottom:14px;}
  .alv-footer-explore .alv-footer-nav{margin:8px auto 0 !important;}
}
@media (min-width:768px){
  .alv-footer-explore > h3{display:none;}
}

/* ---- b23: desktop footer masthead (option A). Mobile keeps b22 pills+fold. ---- */
.alv-fmast-tag{display:none;}
.alv-fmast-group>h4{display:none;}
@media (min-width:768px){
  .alv-fmast{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.25fr;grid-template-areas:"brand g1 g2 contact";gap:48px;max-width:1180px;margin:0 auto 30px;text-align:left;padding-top:8px;}
  .alv-fmast-brand{grid-area:brand;}
  .alv-fmast .alv-footer-wordmark{text-align:left;font-size:19px;margin:0 0 12px;left:0;}
  .alv-fmast .alv-footer-social{justify-content:flex-start;margin:0 0 4px;}
  .alv-fmast-tag{display:block;font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;font-size:14.5px;line-height:1.6;color:rgba(245,240,227,0.6);margin:12px 0 0;max-width:26ch;}
  .alv-footer-explore{display:contents;}
  .alv-footer-explore>h3{display:none;}
  .alv-fmast-groups{display:contents;}
  .alv-fmast-group:nth-of-type(1){grid-area:g1;}
  .alv-fmast-group:nth-of-type(2){grid-area:g2;}
  .alv-fmast-group>h4{display:block;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#CDB176;margin:6px 0 14px;}
  .alv-fmast .alv-footer-nav{display:block !important;margin:0 !important;max-width:none !important;gap:0 !important;}
  .alv-fmast .alv-footer-nav li{margin:0;}
  .alv-fmast .alv-footer-nav a{display:block;font-size:11.5px !important;letter-spacing:0.14em;color:rgba(245,240,227,0.82);padding:7px 0 !important;}
  @media (hover:hover){.alv-fmast .alv-footer-nav a:hover{color:#CDB176;}}
  .alv-fmast .alv-footer-info{grid-area:contact;display:block !important;margin:0 !important;max-width:none !important;text-align:left;}
  .alv-fmast .alv-footer-col{margin:0 0 20px;}
  .alv-fmast .alv-footer-h{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#CDB176;margin:6px 0 12px;}
  .alv-fmast a.alv-footer-line{margin-left:0;margin-right:0;}
  .alv-footer-legal{max-width:1180px;margin:0 auto 10px;justify-content:center;border-top:1px solid rgba(197,168,110,0.2);padding-top:20px;}
  .alv-footer-disclaimer{max-width:820px;margin:10px auto 0 !important;text-align:center;border-top:0 !important;padding-top:0 !important;}
}

/* ---- b24: area sections -> centered single column below the hero image ---- */
.alv-area-spread{grid-template-columns:1fr !important;max-width:780px !important;gap:46px !important;}
.alv-area-spread .alv-area-h{text-align:center;}
.alv-area-incl{text-align:center;}

/* ---- b25: up-front payment facts as duo notes + contact start cards ---- */
.alv-offer-duo-note.alv-duo-fact{margin-top:9px;color:rgba(245,240,227,0.85);}
.alv-offer-duo-note.alv-duo-fact::before{content:"\2713";color:#CDB176;font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:12px;margin-right:7px;}
.alv-start-duo{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;max-width:720px;margin:26px auto 6px;}
.alv-start-card{flex:1 1 240px;max-width:330px;background:#FFFFFF;border:1px solid rgba(168,154,135,0.34);border-radius:16px;padding:20px 22px;text-align:center;box-shadow:0 1px 10px rgba(42,38,32,0.04);}
.alv-start-k{display:block;font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--alv-salmon-dk);margin:0 0 8px;}
.alv-start-amt{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:34px;line-height:1;color:var(--alv-charcoal);margin-right:7px;}
.alv-start-what{font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;color:var(--alv-charcoal);}
.alv-start-fine{display:block;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;line-height:1.55;color:var(--alv-taupe);margin-top:9px;}
@media (max-width:600px){.alv-start-duo{gap:10px;margin-top:20px;}.alv-start-card{padding:16px;}}

/* ---- b26: hero audience routes (W3) ---- */
.alv-hero-routes{font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;letter-spacing:0.04em;margin:20px 0 0;text-align:center;max-width:474px;}
.alv-hero-routes a{color:#CDB176;text-decoration:none;border-bottom:1px solid rgba(205,177,118,0.5);padding-bottom:2px;transition:border-color 200ms ease;}
@media (hover:hover){.alv-hero-routes a:hover{border-bottom-color:#CDB176;}}
.alv-hero-routes .alv-hr-sep{margin:0 14px;color:rgba(245,240,227,0.4);}
@media (max-width:600px){.alv-hero-routes{font-size:12.5px;}.alv-hero-routes a{display:inline-block;margin:3px 0;}}

/* ---- b27: her/him hormone split (combined W1+W2) + segmented subtitle treatment ---- */
.alv-sub-seg{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 0;margin:16px auto 0;max-width:none !important;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--alv-taupe);}
.alv-sub-seg .alv-sub-lead{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;font-weight:600;font-size:21px;letter-spacing:0.01em;text-transform:none;color:var(--alv-salmon-dk);margin-right:11px;}
.alv-sub-seg span{white-space:nowrap;}
.alv-sub-seg > span:not(:first-child)::before{content:"\00B7";margin:0 22px;color:#C5A86E;}
.alv-hh-split{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1180px;margin:38px auto 0;}
.alv-hh-panel{position:relative;display:flex;align-items:flex-end;min-height:560px;border-radius:24px;overflow:hidden;background-color:var(--alv-charcoal);background-size:cover;background-blend-mode:luminosity;text-decoration:none;box-shadow:0 24px 55px -24px rgba(42,38,32,0.4);}
.alv-hh-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,52,56,0) 12%,rgba(31,40,44,0.6) 44%,rgba(21,28,31,0.97) 100%);}
.alv-hh-body{position:relative;z-index:2;padding:34px 32px 30px;}
.alv-hh-k{display:block;font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;font-weight:600;font-size:19px;letter-spacing:0.02em;text-transform:none;color:#CDB176;margin:0 0 10px;text-shadow:0 1px 8px rgba(16,22,25,0.5);}
.alv-hh-body h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:clamp(26px,2.4vw,34px);line-height:1.12;color:var(--alv-cream);margin:0 0 10px;max-width:21ch;text-shadow:0 1px 10px rgba(16,22,25,0.55);}
.alv-hh-body p{font-family:'Inter','Inter Fallback',sans-serif;font-size:14.5px;line-height:1.6;color:rgba(250,247,241,0.88);margin:0 0 16px;max-width:52ch;text-shadow:0 1px 12px rgba(16,22,25,0.6);}
.alv-hh-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}
.alv-hh-body .alv-hubdoor-link{display:block;text-align:center;margin-top:4px;}
.alv-hh-chips span{font-family:'Inter','Inter Fallback',sans-serif;font-size:11.5px;font-weight:500;letter-spacing:0.05em;line-height:1;color:rgba(250,247,241,0.92);border:1px solid rgba(197,168,110,0.45);border-radius:999px;padding:8px 13px;}
@media (hover:hover){
  .alv-hh-panel:hover h3{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:#C5A86E;}
  .alv-hh-panel:hover .alv-hubdoor-link span{transform:translateX(4px);}
}
@media (max-width:900px){
  .alv-hh-split{grid-template-columns:1fr;max-width:560px;gap:18px;}
  .alv-hh-panel::after{background:linear-gradient(180deg,rgba(31,40,44,0.52) 0%,rgba(31,40,44,0.68) 32%,rgba(21,28,31,0.97) 100%);}
  .alv-hh-panel{min-height:500px;}
  .alv-hh-body{padding:26px 22px 24px;}
  .alv-sub-seg{flex-direction:column;gap:7px;align-items:center;}
  .alv-sub-seg span:not(:first-child)::before{content:"";margin:0;}
}

/* ---- b28: duo lockup - dot locked to true center ---- */
.alv-sub-seg--duo{display:grid !important;grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:22px;}
.alv-sub-seg--duo > span:first-child{justify-self:end;}
.alv-sub-seg--duo > span:last-child{justify-self:start;}
.alv-sub-seg--duo > span:not(:first-child)::before{content:none !important;}
.alv-sub-dot{color:#C5A86E;font-weight:700;}
@media (max-width:900px){
  .alv-sub-seg--duo{display:flex !important;flex-direction:column;align-items:center;}
  .alv-sub-seg--duo .alv-sub-dot{display:none;}
}

/* ---- b29: mobile polish - hero-route sep, hh headline scale, hub h1 one-line, footer fold centered ---- */
@media (max-width:600px){
  .alv-hero-routes .alv-hr-sep{display:none;}
  .alv-h1-hub{font-size:30px !important;}
}
@media (max-width:900px){
  .alv-hh-body h3{font-size:31px !important;line-height:1.1 !important;}
  .alv-hh-body p{font-size:14px !important;}
}
@media (max-width:767px){
  html.js-fold .alv-footer-explore.alv-fold > h3{justify-content:center;position:relative;text-align:center;}
  html.js-fold .alv-footer-explore.alv-fold > h3::after{position:absolute;right:0;top:50%;transform:translateY(-50%);}
}

/* ---- b30: either-way outcome cards (P2) - desktop lockup, mobile serif sentence-case ---- */
.alv-ew-mline{display:none;}
@media (max-width:767px){
  .alv-ew-line{display:none !important;}
  .alv-ew-mline{display:block;font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:23px !important;line-height:1.25;letter-spacing:0;color:var(--alv-charcoal);text-align:center;max-width:24ch;margin:0 auto;}
  .alv-ew-cards .alv-start-k{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:19px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--alv-charcoal);}
}

/* ---- b31: whitespace condensation (program pages, membership) ---- */
.alv-vsm-wrap{padding-top:clamp(48px,5.5vw,64px);padding-bottom:clamp(48px,5.5vw,64px);}
.alv-vsm{padding:clamp(32px,4vw,48px) clamp(28px,4vw,56px) clamp(28px,3.5vw,40px);}
.alv-benefits-wrap{padding-top:clamp(48px,5.5vw,64px);padding-bottom:clamp(56px,6vw,80px);}
.alv-spec-wrap{padding-top:clamp(44px,5vw,64px);padding-bottom:clamp(48px,5.5vw,72px);}
.alv-symq-wrap{padding-bottom:clamp(40px,4.5vw,56px);}
section[aria-label="How we decide"]{padding-top:52px !important;padding-bottom:38px !important;}
p.alv-fineprint:has(+ .alv-section-dark-wrap){margin-bottom:20px !important;padding-top:22px !important;}
p.alv-fineprint + .alv-section-dark-wrap{padding-top:40px !important;}
section[aria-label="Everything the memberships include"]{padding-bottom:40px !important;}
section[aria-label="Everything the memberships include"] + p.alv-fineprint{margin-bottom:28px !important;padding-top:22px !important;}
@media (max-width:767px){
  .alv-vsm-wrap{padding-top:36px;padding-bottom:36px;}
  .alv-benefits-wrap{padding-top:36px;}
  .alv-spec-wrap{padding-top:32px;padding-bottom:40px;}
  .alv-symq-wrap{padding-bottom:30px;}
  section[aria-label="How we decide"]{padding-top:40px !important;padding-bottom:26px !important;}
  section[aria-label="Everything the memberships include"]{padding-bottom:26px !important;}
  section[aria-label="Everything the memberships include"] + p.alv-fineprint{margin-bottom:22px !important;}
  p.alv-fineprint + .alv-section-dark-wrap{padding-top:32px !important;}
}

/* ---- b32: booking round (contact widen+cap), trifecta split, membership widen ---- */
.alv-book-grid{max-width:1240px;}
@media (min-width:1300px){.alv-book-grid{max-width:1400px;grid-template-columns:minmax(0,2.6fr) minmax(320px,1fr);gap:34px;}}
.alv-book-alt2-lead{text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;color:var(--alv-taupe);margin:30px 0 12px;}
.alv-book-alt2{text-align:center;margin:0 0 6px;}
.alv-tier .alv-pill-btn + .alv-tier-for{margin-top:18px;}
.alv-hh-split{grid-template-columns:repeat(3,1fr);max-width:1320px;gap:22px;}
.alv-hh-panel{min-height:520px;}
.alv-tiers{max-width:1280px;}
.alv-tcompare{max-width:1280px !important;}
@media (max-width:1100px){.alv-hh-split{grid-template-columns:1fr;max-width:560px;}}
@media (max-width:767px){.alv-book-alt2-lead{margin-top:24px;}}

/* ---- b33: price duo under steps head, form disclaimer, CTA space trim, mobile creds hide ---- */
.alv-price-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px 44px;max-width:680px;margin:28px auto 4px;text-align:center;}
.alv-pd-k{display:block;font-family:'Inter','Inter Fallback',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--alv-salmon-dk);margin:0 0 10px;}
p.alv-pd-price{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:46px;line-height:1;color:var(--alv-charcoal);margin:0 0 8px;}
p.alv-pd-price span{font-family:'Inter','Inter Fallback',sans-serif;font-size:14px;font-weight:500;color:var(--alv-taupe);letter-spacing:0.02em;}
p.alv-pd-note{font-family:'Inter','Inter Fallback',sans-serif;font-size:13.5px;color:var(--alv-taupe);margin:0 0 9px;}
p.alv-pd-fact{font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;line-height:1.55;color:var(--alv-charcoal);margin:0;}
p.alv-pd-fact::before{content:"\2713";color:#A8843C;font-weight:600;margin-right:7px;}
.alv-form-fine{font-family:'Inter','Inter Fallback',sans-serif;font-size:11.5px;line-height:1.6;color:var(--alv-taupe);text-align:center;max-width:64ch;margin:0 auto 16px;}
#book-call{padding-bottom:34px !important;}
#book-call .alv-book-alt2-lead{margin:16px 0 10px;}
#book-call + .alv-section-dark-wrap{padding-top:44px !important;}
@media (max-width:767px){
  .alv-md-creds{display:none !important;}
  .alv-price-duo{gap:14px 18px;margin-top:22px;}
  .alv-pd-k{font-size:10px;letter-spacing:0.13em;min-height:2.4em;display:flex;align-items:flex-end;justify-content:center;}
  p.alv-pd-price{font-size:34px !important;}
  p.alv-pd-note{font-size:12.5px !important;}
  p.alv-pd-fact{font-size:12px !important;}
  #book-call + .alv-section-dark-wrap{padding-top:34px !important;}
}

/* ---- b34: ABIM board-certified badge beside the physician name ---- */
.alv-md-namerow{display:flex;align-items:center;gap:20px;margin:10px 0 6px;}
.alv-md-namerow h2{margin:0 !important;}
.alv-abim-badge{flex:0 0 auto;display:inline-flex;}
.alv-abim-badge img{width:68px;height:68px;display:block;}
@media (hover:hover){.alv-abim-badge:hover img{transform:scale(1.05);transition:transform 180ms ease;}}
@media (max-width:767px){
  .alv-md-namerow{gap:14px;}
  .alv-abim-badge img{width:50px;height:50px;}
}

/* ---- b35: ABIM badge beside the name; name and credential line each on ONE line ---- */
.alv-md-namerow{display:flex;align-items:center;gap:12px;margin:10px 0 22px;}
.alv-md-namecol{min-width:0;flex:0 1 auto;}
.alv-md-namecol h2,.alv-md-namecol h1{margin:0 0 9px !important;}
.alv-md-namecol .alv-md-role{margin-bottom:0;}
.alv-md-namecol h1,.alv-md-namecol h2{white-space:nowrap;}
.alv-md-role .alv-md-role-sub{white-space:nowrap;}
.alv-sub-narrow{display:none;}
/* The hero text COLUMN is the real constraint, not the viewport: .alv-md-body's right padding was
   6vw, so the column NARROWED as the screen grew (503px @1440 -> 458px @1920). Cap that padding,
   then size the name, the credential line and the badge against the column itself with cqw, so the
   badge stays large and sits right beside the name while both lines stay unwrapped at every width. */
.alv-md-body:has(.alv-md-namerow){container-type:inline-size;}
@media (min-width:768px){
  .alv-md-body:has(.alv-md-namerow){padding-right:clamp(32px,6vw,64px);}
  .alv-abim-badge img{width:clamp(104px,30cqw,164px);height:auto;}
  .alv-md-namecol h1{font-size:clamp(30px,8.5cqw,50px) !important;}
  .alv-md-namecol h2{font-size:clamp(28px,8.5cqw,46px);}
  .alv-md-role .alv-md-role-sub{font-size:clamp(9px,2.1cqw,11.9px);letter-spacing:0.05em;}
}
/* A phone column (~351px at 390) cannot hold the long credential line on one line beside a large
   badge, so phones carry the shorter wording instead. */
@media (max-width:767px){
  .alv-md-namerow{gap:12px;margin-bottom:18px;}
  .alv-sub-wide{display:none;}
  .alv-sub-narrow{display:inline;}
  .alv-abim-badge img{width:clamp(96px,34cqw,126px);height:auto;}
  .alv-md-namecol h1,.alv-md-namecol h2{font-size:clamp(18px,7.6cqw,28px) !important;}
  .alv-md-role{font-size:12.5px !important;}
  .alv-md-role .alv-md-role-sub{font-size:clamp(7.2px,2.55cqw,11.9px) !important;letter-spacing:0.04em;}
}

/* ---- b36: deeplink band breathing room trimmed (its neighbours already carry padding) ---- */
.alv-deeplink-band{padding-top:clamp(12px,1.3vw,18px);padding-bottom:clamp(12px,1.3vw,18px);}

/* ---- b37: the equation band (three services become one membership) + orchestrated reveal ---- */
.alv-eq-band{background:var(--alv-cream);padding:58px 6vw 64px;text-align:center;}
.v2-eq{display:flex;align-items:center;justify-content:center;gap:16px;max-width:1180px;margin:0 auto;}
.v2-term{background:#FFFFFF;border:1px solid rgba(168,154,135,0.4);border-radius:14px;padding:24px 18px;font-family:'Inter','Inter Fallback',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--alv-taupe);white-space:nowrap;}
.v2-op{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:40px;line-height:1;color:#A8843C;flex:0 0 auto;font-weight:500;}
.v2-gold{background:var(--alv-charcoal);border:1px solid #C5A86E;border-radius:16px;padding:20px 26px;box-shadow:0 20px 48px -18px rgba(42,38,32,0.45);}
.v2-k{display:block;font-family:'Inter','Inter Fallback',sans-serif;font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#CDB176;margin:0 0 7px;}
.v2-gold h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:21px;color:var(--alv-cream);margin:0 0 6px;white-space:nowrap;}
.v2-gold p{font-family:'Inter','Inter Fallback',sans-serif;font-size:11.5px;color:rgba(250,247,241,0.85);margin:0;white-space:nowrap;}
@media (max-width:1180px){
  .v2-eq{flex-direction:column;gap:10px;}
  .v2-term{width:min(330px,86vw);white-space:normal;padding:18px 14px;}
  .v2-op{font-size:34px;}
  .v2-gold{width:min(330px,86vw);padding:20px 18px;}
  .v2-gold h3,.v2-gold p{white-space:normal;}
}
@media (max-width:767px){
  .v2-gold h3{font-size:20px !important;}
  .v2-gold p{font-size:12px !important;}
  .v2-term{font-size:11px !important;}
  .alv-eq-band{padding:44px 6vw 50px;}
}
/* reveal: terms rise in sequence, operators pop, the sum settles last */
html.js-reveal .alv-eq-band .v2-term,html.js-reveal .alv-eq-band .v2-gold{opacity:0;transform:translateY(16px);transition:opacity 0.55s cubic-bezier(0.23,1,0.32,1),transform 0.55s cubic-bezier(0.23,1,0.32,1),box-shadow 0.9s ease;}
html.js-reveal .alv-eq-band .v2-op{opacity:0;transform:scale(0.55);transition:opacity 0.4s cubic-bezier(0.23,1,0.32,1),transform 0.4s cubic-bezier(0.23,1,0.32,1);}
html.js-reveal .alv-eq-band .v2-gold{box-shadow:0 0 0 rgba(42,38,32,0);}
html.js-reveal .alv-eq-band.eq-in .v2-term,html.js-reveal .alv-eq-band.eq-in .v2-op,html.js-reveal .alv-eq-band.eq-in .v2-gold{opacity:1;transform:none;}
html.js-reveal .alv-eq-band.eq-in .v2-gold{box-shadow:0 20px 48px -18px rgba(42,38,32,0.45);}
.alv-eq-band.eq-in .v2-eq > :nth-child(1){transition-delay:0s;}
.alv-eq-band.eq-in .v2-eq > :nth-child(2){transition-delay:0.14s;}
.alv-eq-band.eq-in .v2-eq > :nth-child(3){transition-delay:0.26s;}
.alv-eq-band.eq-in .v2-eq > :nth-child(4){transition-delay:0.40s;}
.alv-eq-band.eq-in .v2-eq > :nth-child(5){transition-delay:0.52s;}
.alv-eq-band.eq-in .v2-eq > :nth-child(6){transition-delay:0.70s;}
.alv-eq-band.eq-in .v2-eq > :nth-child(7){transition-delay:0.88s;}
@media (prefers-reduced-motion: reduce){
  html.js-reveal .alv-eq-band .v2-term,html.js-reveal .alv-eq-band .v2-op,html.js-reveal .alv-eq-band .v2-gold{opacity:1 !important;transform:none !important;transition:none !important;}
  html.js-reveal .alv-eq-band .v2-gold{box-shadow:0 20px 48px -18px rgba(42,38,32,0.45) !important;}
}

/* ---- b38: equation band nested under the membership header + checklist result card ---- */
.alv-svc-wrap .alv-eq-band{padding:10px 0 44px;}
.v2-gold{text-align:center;}
.v2-checks{list-style:none;padding:0;margin:6px 0 10px;display:inline-block;text-align:left;}
.v2-checks li{font-family:'Inter','Inter Fallback',sans-serif;font-size:12.5px !important;line-height:1.5;color:rgba(250,247,241,0.92);margin:5px 0;}
.v2-checks li::before{content:"\2713";color:#CDB176;font-weight:600;margin-right:9px;}
.v2-gold p{white-space:normal;max-width:30ch;margin:0 auto;}
@media (max-width:767px){.v2-checks li{font-size:13px !important;}}

/* ---- b39: larger result card on desktop; heading states the sum, not a membership count ---- */
@media (min-width:1181px){
  .v2-gold{padding:30px 38px;border-radius:18px;min-width:360px;}
  .v2-gold h3{font-size:26px;margin:0 0 10px;}
  .v2-k{font-size:11px;margin:0 0 9px;}
  .v2-checks{margin:8px 0 14px;}
  .v2-checks li{font-size:14px !important;margin:7px 0;}
  .v2-gold p{font-size:12.5px;max-width:32ch;}
  .v2-op.v2-eqs{font-size:48px;}
}

/* ---- b40: "This practice" bracket over the two member columns of the tri-matrix ---- */
.alv-cmp-group{display:grid;grid-template-columns:1.4fr 1.02fr 1.02fr 1.02fr;background:#FFFFFF;}
.alv-cmp-glabel{grid-column:2/4;text-align:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#7C6228;padding:13px 8px 9px;position:relative;}
.alv-cmp-glabel::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:rgba(168,132,60,0.6);border-radius:2px;}
@media (max-width:640px){
  .alv-cmp-group{grid-template-columns:1.25fr 0.92fr 0.92fr 0.92fr;}
  .alv-cmp-glabel{font-size:9px !important;letter-spacing:0.12em;padding:10px 3px 7px;}
}

/* ---- b41: stacked equation uses a sum rule, not a rotated equals glyph ----
   Vertical arithmetic draws a line and puts the total beneath it; two horizontal
   bars sitting in a vertical column read as a divider instead of an operator. */
@media (max-width:1180px){
  .v2-op.v2-eqs{font-size:0 !important;width:min(330px,86vw);height:2px;background:rgba(168,132,60,0.7);border-radius:2px;margin:8px 0 4px;}
  html.js-reveal .alv-eq-band .v2-op.v2-eqs{transform:scaleX(0.24);transform-origin:center;}
  html.js-reveal .alv-eq-band.eq-in .v2-op.v2-eqs{transform:none;}
}

/* ---- b42: stacked equation resolves through a badge, not a bare rule ----
   A plain gold line read as a section divider. The site's own step-badge motif
   (circle, gold rule border, cream fill) makes the operator unmistakable. */
@media (max-width:1180px){
  .v2-op.v2-eqs{font-size:0 !important;width:auto;height:auto;background:none;border-radius:0;margin:14px 0 12px;position:relative;display:flex;align-items:center;justify-content:center;}
  .v2-op.v2-eqs::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(330px,86vw);height:1px;background:rgba(168,132,60,0.34);}
  .v2-op.v2-eqs::after{content:"=";position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1.5px solid #A8843C;background:#FBF7EE;font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:30px;font-weight:500;line-height:1;color:#A8843C;box-shadow:0 6px 18px -8px rgba(42,38,32,0.28);}
  html.js-reveal .alv-eq-band .v2-op.v2-eqs{transform:none;opacity:0;}
  html.js-reveal .alv-eq-band .v2-op.v2-eqs::after{transform:scale(0.5);transition:transform 0.5s cubic-bezier(0.23,1,0.32,1);}
  html.js-reveal .alv-eq-band.eq-in .v2-op.v2-eqs{opacity:1;}
  html.js-reveal .alv-eq-band.eq-in .v2-op.v2-eqs::after{transform:none;transition-delay:0.70s;}
}

/* ---- b43: the brace gathers the three terms into the answer (D2) ----
   Desktop stacks the terms beside the card with a vertical brace; mobile stacks
   them above it, so the same brace rotates a quarter turn and points down.
   The answer card is ~4.5x the height of a term, which is why a single
   horizontal row left the terms stranded in dead space. */
@media (min-width:1181px){
  .v2-eq{display:grid !important;grid-template-columns:minmax(280px,1fr) auto minmax(360px,0.95fr);grid-template-rows:repeat(5,auto);align-items:center;justify-content:center;gap:0 28px;max-width:1000px;}
  .v2-eq > :nth-child(1){grid-column:1;grid-row:1;}
  .v2-eq > :nth-child(3){grid-column:1;grid-row:3;}
  .v2-eq > :nth-child(5){grid-column:1;grid-row:5;}
  .v2-eq > :nth-child(2),.v2-eq > :nth-child(4){display:none;}
  .v2-eq > .v2-term{white-space:normal !important;text-align:center;margin:9px 0;}
  .v2-eq > .v2-eqs{grid-column:2;grid-row:1/-1;font-size:0 !important;position:relative;width:34px;height:100%;background:none;}
  .v2-eq > .v2-eqs::before{content:none;}
  .v2-eq > .v2-eqs::after{content:"}";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:190px;font-weight:300;line-height:0.9;color:#C5A86E;transform:scaleY(1.35);}
  .v2-eq > .v2-gold{grid-column:3;grid-row:1/-1;}
}
@media (max-width:1180px){
  .v2-op.v2-eqs{width:auto;height:auto;background:none;margin:10px 0 6px;}
  .v2-op.v2-eqs::before{content:none;}
  .v2-op.v2-eqs::after{content:"}";display:block;width:auto;height:auto;border:none;background:none;box-shadow:none;border-radius:0;font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:96px;font-weight:300;line-height:0.6;color:#C5A86E;transform:rotate(90deg) scaleY(1.9);}
  html.js-reveal .alv-eq-band .v2-op.v2-eqs::after{transform:rotate(90deg) scaleY(1.9) scale(0.7);transition:transform 0.5s cubic-bezier(0.23,1,0.32,1);}
  html.js-reveal .alv-eq-band.eq-in .v2-op.v2-eqs::after{transform:rotate(90deg) scaleY(1.9);transition-delay:0.70s;}
}

/* ---- b44: matrix group marker is a bracket, not an underline ---- */
.alv-cmp-glabel::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:9px;background:none;border:1.5px solid rgba(168,132,60,0.55);border-bottom:none;border-radius:4px 4px 0 0;}
@media (max-width:640px){.alv-cmp-glabel::after{left:6px;right:6px;height:7px;}}

/* ---- b45: signature split returns to two panels (menopause + GLP-1) ---- */
.alv-hh-split{grid-template-columns:repeat(2,1fr);max-width:1180px;gap:26px;}
.alv-hh-panel{min-height:560px;}

/* ---- b46: breadcrumbs legible on the overlay heroes ---- */
.alv-md--overlay .alv-crumb{color:rgba(250,247,241,0.72) !important;}
.alv-md--overlay .alv-crumb a{color:#CDB176 !important;}

/* ---- b47: the equation regains its framing line; terms lead with concierge ---- */
.v2-else{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-taupe);text-align:center;margin:0 0 18px;}
.v2-else .alv-sub-lead{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-style:italic;font-weight:600;font-size:21px;color:var(--alv-salmon-dk);margin-right:10px;}
@media (max-width:600px){.v2-else{font-size:13.5px;}.v2-else .alv-sub-lead{display:block;margin:0 0 4px;}}

/* ---- b48: stands-apart icon row (S2) between the equation and the Concierge tier ---- */
.alv-sa-band{max-width:1180px;margin:0 auto;padding:6px 0 48px;text-align:left;}
.alv-sa-h{font-size:clamp(26px,3vw,40px);margin:0 0 8px;}
.alv-sa-intro{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;color:var(--alv-taupe);margin:0 0 30px;max-width:52ch;}
.alv-sa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.alv-sa-ic{display:block;width:34px;height:34px;color:var(--alv-salmon-dk);margin-bottom:12px;}
.alv-sa-ic svg{width:34px;height:34px;display:block;}
.alv-sa-col h3{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;font-weight:600;color:var(--alv-charcoal);margin:0 0 7px;}
.alv-sa-col p{font-family:'Inter','Inter Fallback',sans-serif;font-size:13px;line-height:1.6;color:var(--alv-taupe);margin:0;}
html.js-reveal .alv-sa-band{opacity:0;transform:translateY(14px);transition:opacity 0.6s cubic-bezier(0.23,1,0.32,1),transform 0.6s cubic-bezier(0.23,1,0.32,1);}
html.js-reveal .alv-sa-band.sa-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){html.js-reveal .alv-sa-band{opacity:1 !important;transform:none !important;transition:none !important;}}
@media (max-width:900px){
  .alv-sa-grid{grid-template-columns:1fr;gap:20px;}
  .alv-sa-col{display:flex;align-items:flex-start;gap:14px;}
  .alv-sa-ic{flex:0 0 auto;margin-bottom:0;margin-top:2px;width:28px;height:28px;}
  .alv-sa-ic svg{width:28px;height:28px;}
  .alv-sa-col h3{font-size:15px !important;}
  .alv-sa-col p{font-size:13.5px !important;}
  .alv-sa-h{font-size:26px !important;}
  .alv-sa-intro{font-size:14px !important;margin-bottom:22px;}
  .alv-sa-band{padding-bottom:38px;}
}

/* ---- b49: stands-apart becomes a full-bleed dark statement band (Temkin-scale) ----
   Square-cornered and edge-to-edge so it reads as a BAND, not a third rounded card;
   cream gap below keeps the Concierge card's pop. Replaces b48's in-flow styling. */
.alv-sa-band{max-width:none;margin:8px calc(-6vw) 56px;padding:clamp(56px,7vw,84px) 6vw clamp(52px,6vw,76px);background:var(--alv-charcoal);border-radius:0;text-align:left;}
.alv-sa-inner{max-width:1180px;margin:0 auto;}
.alv-sa-h{font-size:clamp(34px,4.6vw,56px) !important;color:var(--alv-cream);margin:0 0 12px;max-width:18ch;}
.alv-sa-intro{font-size:16px !important;color:rgba(250,247,241,0.75);margin:0 0 44px;max-width:52ch;}
.alv-sa-grid{gap:40px;}
.alv-sa-col{border-top:1.5px solid rgba(197,168,110,0.55);padding-top:20px;}
.alv-sa-ic{color:#CDB176;width:30px;height:30px;margin-bottom:14px;}
.alv-sa-ic svg{width:30px;height:30px;}
.alv-sa-col h3{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-size:24px !important;font-weight:600;color:var(--alv-cream);margin:0 0 9px;letter-spacing:-0.01em;}
.alv-sa-col p{font-size:14.5px !important;line-height:1.65;color:rgba(250,247,241,0.85);}
@media (max-width:900px){
  .alv-sa-band{margin:4px calc(-5vw) 44px;padding:44px 5vw 40px;}
  .alv-sa-h{font-size:30px !important;max-width:none;}
  .alv-sa-intro{font-size:14.5px !important;margin-bottom:28px;}
  .alv-sa-grid{gap:24px;}
  .alv-sa-col{border-top:1px solid rgba(197,168,110,0.4);padding-top:18px;align-items:flex-start;}
  .alv-sa-ic{margin-top:2px;width:26px;height:26px;}
  .alv-sa-ic svg{width:26px;height:26px;}
  .alv-sa-col h3{font-size:21px !important;}
  .alv-sa-col p{font-size:14px !important;}
}

/* ---- b50: location split - address tile left (40), map right (60) ---- */
.alv-loc-split{display:grid;grid-template-columns:2fr 3fr;gap:24px;align-items:stretch;}
.alv-loc-tile{background:#ECE5D4;border:1px solid rgba(168,154,135,0.4);border-radius:24px;padding:clamp(30px,3.4vw,48px);display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 48px rgba(42,38,32,0.12);}
.alv-loc-addr{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:600;font-size:clamp(30px,3.2vw,44px);line-height:1.12;color:var(--alv-charcoal);letter-spacing:-0.015em;margin:14px 0 6px;}
.alv-loc-city{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(20px,2vw,27px);color:var(--alv-taupe);margin:0 0 26px;}
.alv-loc-tile .alv-pill-btn{align-self:flex-start;}
.alv-loc-map{border-radius:24px;overflow:hidden;border:1px solid rgba(168,154,135,0.32);box-shadow:0 18px 48px rgba(42,38,32,0.15);min-height:380px;}
.alv-loc-map img{display:block;width:100%;height:100%;object-fit:cover;}
@media (max-width:900px){
  .alv-loc-split{grid-template-columns:1fr;gap:16px;}
  .alv-loc-tile{padding:28px 24px;}
  .alv-loc-addr{font-size:30px !important;}
  .alv-loc-city{font-size:19px !important;}
  .alv-loc-map{min-height:0;}
  .alv-loc-map img{height:auto;}
}

/* ---- b51: stands-apart band replaces the manifesto slot (top-level, after the hero) ---- */
.alv-sa-band{margin:0 0 0;}
.alv-sa-band + .alv-svc-wrap{padding-top:60px !important;}
@media (max-width:767px){
  .alv-sa-band{margin:0;}
  .alv-sa-band + .alv-svc-wrap{padding-top:40px !important;}
}

/* ---- b52: the duo split stacks on narrow screens ----
   b45's 2-column rule was unconditional and, being later in the cascade, beat the
   old <=1100 single-column rule. Restated here, after b45, so mobile stacks again. */
@media (max-width:1100px){
  .alv-hh-split{grid-template-columns:1fr;max-width:560px;gap:18px;}
}

/* ---- b53: header sits tight on the equation tiles ----
   The v2-else framing line is retired; the dead air between the section h2
   and the first equation term goes with it. Scoped with :has so other
   .alv-svc-head uses keep their normal rhythm. */
.alv-svc-head:has(+ .alv-eq-band){margin-bottom:20px;}
.alv-eq-band{padding-top:16px;}
@media (max-width:640px){
  .alv-svc-head:has(+ .alv-eq-band){margin-bottom:14px;}
  .alv-eq-band{padding-top:6px;}
}

/* ---- b54: hero content sits lower ----
   The routes line under the CTAs is retired; the block drops into that space.
   max() keeps the desktop content clear of the scroll indicator on short
   viewports; the landscape-short override (14px !important) still wins. */
.alv-hero-inner{padding-bottom:max(68px,7vh);}
@media (max-width:767px){
  .alv-hero-inner{padding-bottom:5vh !important;}
}

/* ---- b55: the dark band never flashes white ----
   On phones the band paints immediately, no reveal gating; the desktop fade
   now starts before the band enters the viewport (IO rootMargin +20%). */
@media (max-width:767px){
  html.js-reveal .alv-sa-band{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* ---- b56: stands-apart band carries four tiles ----
   Credential tile added; 4-across on wide screens, 2x2 on tablets, the
   existing <=900 single-column stack unchanged. Mobile override restated
   after the base rule (the b45 lesson). */
.alv-sa-grid{grid-template-columns:repeat(4,1fr);gap:32px;}
@media (max-width:1100px){
  .alv-sa-grid{grid-template-columns:repeat(2,1fr);gap:28px 34px;}
}
@media (max-width:900px){
  .alv-sa-grid{grid-template-columns:1fr;gap:24px;}
}

/* ---- b57: Concierge block compressed index (user pick: option 1 + two merges) ----
   >=1101px: banner tierhead (title left, perks 2x2 right), 1080px one-line
   ledger, signature strip folded into a ledger index row. 768-1100 keeps the
   previous centered layout (subhead spans the wh grid it now lives in).
   Mobile untouched: accordion, checkmarked perks list, subhead-by-class. */
@media (min-width:768px){
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh),.alv-svc-tier-light .alv-svc-grid{max-width:1080px !important;margin:0 auto 18px !important;}
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh) .alv-svc-card,.alv-svc-tier-light .alv-svc-card{padding:15px 0 17px !important;}
  .alv-svc-tier-dark .alv-svc-grid:not(.alv-tier-wh) .alv-svc-card h3,.alv-svc-tier-light .alv-svc-card h3{font-size:22px !important;}
  .alv-svc-tier-dark .alv-tier-wh .alv-tier-subhead{grid-column:1 / -1;}
}
@media (min-width:1101px){
  .alv-svc-tier-dark .alv-tierhead{display:grid;grid-template-columns:1fr auto;column-gap:56px;text-align:left;max-width:1080px;margin:4px auto 8px;padding-bottom:22px;border-bottom:1px solid rgba(205,177,118,0.18);}
  .alv-svc-tier-dark .alv-tierhead h3{grid-column:1;}
  .alv-svc-tier-dark .alv-tierhead > p:not(.alv-svc-perks){grid-column:1;max-width:520px;margin:8px 0 0;}
  .alv-svc-tier-dark .alv-tierhead .alv-svc-perks{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end;display:grid;grid-template-columns:auto auto;gap:10px 28px;text-align:left;}
  .alv-svc-tier-dark .alv-tierhead .alv-svc-perks .alv-pp::before,
  .alv-svc-tier-dark .alv-tierhead .alv-svc-perks .alv-pp:not(:first-child)::before{content:"\2713";color:#CDB176;margin-right:8px;font-size:12.5px;}
  .alv-svc-tier-light .alv-tierhead{display:grid;grid-template-columns:auto 1fr;column-gap:56px;align-items:center;text-align:left;max-width:1080px;margin:4px auto 8px;padding-bottom:20px;border-bottom:1px solid rgba(54,71,76,0.14);}
  .alv-svc-tier-light .alv-tierhead p{justify-self:end;text-align:right;max-width:420px;margin:0;}
  .alv-svc-tier-dark .alv-tier-wh{grid-template-columns:300px 1fr 1fr 1fr !important;column-gap:24px !important;row-gap:0 !important;max-width:1080px !important;margin:0 auto !important;padding-top:4px;}
  .alv-svc-tier-dark .alv-tier-wh .alv-tier-subhead{grid-column:1;text-align:left;font-size:21px !important;line-height:1.3;margin:0 !important;padding:15px 0 0 !important;border:0 !important;border-top:1px solid rgba(205,177,118,0.25) !important;}
  .alv-svc-tier-dark .alv-tier-wh .alv-svc-card{display:block !important;border:0 !important;border-top:1px solid rgba(205,177,118,0.25) !important;border-radius:0 !important;padding:15px 0 0 !important;background:transparent !important;box-shadow:none !important;}
  .alv-svc-tier-dark .alv-tier-wh .alv-svc-card h3{font-size:17px !important;margin:0 0 5px !important;}
  .alv-svc-tier-dark .alv-tier-wh .alv-svc-card .alv-svc-ic{display:none !important;}
  .alv-svc-tier-dark .alv-tier-wh .alv-svc-card p{font-size:13px !important;line-height:1.5 !important;color:rgba(245,240,227,0.70) !important;}
  .alv-svc-tier-light .alv-svc-fine{text-align:right;max-width:1080px;margin:14px auto 0;}
}

/* ---- b58: banner refinements ----
   Perks 2x2 gets real air (44px columns, 13px rows, quieter type);
   the light banner's sub stacks under its title like the dark one
   (right-aligned ragged sentence retired). */
@media (min-width:1101px){
  .alv-svc-tier-dark .alv-tierhead .alv-svc-perks{grid-template-columns:repeat(2,auto);column-gap:44px;row-gap:13px;font-size:13.5px !important;}
  .alv-svc-tier-light .alv-tierhead{grid-template-columns:1fr;}
  .alv-svc-tier-light .alv-tierhead p{justify-self:start;text-align:left;max-width:520px;margin:8px 0 0;}
}

/* ---- b59: perks checklist anchors left, beside the title ----
   Title column takes its natural width; the checklist starts right after it
   instead of flushing to the band's right edge. */
@media (min-width:1101px){
  .alv-svc-tier-dark .alv-tierhead{grid-template-columns:auto 1fr;column-gap:52px;}
  .alv-svc-tier-dark .alv-tierhead .alv-svc-perks{justify-self:start;}
}

/* ---- b60: matrix hedged text cells (MBC compliance package 2026-07-25) ----
   Competitor cells carry visible hedged text; the visible text IS the
   accessible name, so eye and screen reader always hear the same claim. */
.alv-vsm-var{font-family:'Inter','Inter Fallback',sans-serif;font-size:12.5px;line-height:1.35;font-weight:500;color:rgba(245,240,227,0.6);display:inline-block;max-width:150px;}
@media (max-width:767px){
  .alv-vsm-var{font-size:10.5px !important;max-width:none;}
}

/* ---- b62: light header theme, ported from the ad landing pages (user request) ----
   Cream sticky header, charcoal type, white dropdowns, cream mobile panel.
   Same geometry and behavior; colors only. */
.alv-header{background:var(--alv-cream) !important;color:var(--alv-charcoal) !important;border-bottom:1px solid rgba(168,154,135,0.28);}
.alv-header .alv-wordmark{color:var(--alv-charcoal) !important;}
.alv-nav a{color:var(--alv-charcoal) !important;}
.alv-nav a.active,.alv-nav a.is-current{color:var(--alv-salmon-dk) !important;}
.alv-nav a::after,.alv-nav a.active::after{background:var(--alv-salmon-dk) !important;}
.alv-nav-menu{background:#FFFFFF !important;border:1px solid rgba(168,154,135,0.4) !important;box-shadow:0 14px 34px rgba(42,38,32,0.14) !important;}
.alv-nav-menu a{color:var(--alv-charcoal) !important;}
.alv-nav-menu a:hover{background:rgba(197,168,110,0.14) !important;color:var(--alv-salmon-dk) !important;}
.alv-nav-menu a.is-current{color:var(--alv-salmon-dk) !important;}
.alv-mobile-toggle{color:var(--alv-charcoal) !important;}
@media (max-width:1024px){
  .alv-nav.open{background:var(--alv-cream) !important;border-bottom:1px solid rgba(168,154,135,0.4) !important;box-shadow:0 12px 24px rgba(42,38,32,0.14) !important;}
}

/* ---- b63: graded text cells in the tier matrix (access is graded, not binary) ---- */
.alv-cmp-note{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;line-height:1.3;color:var(--alv-charcoal);display:inline-block;padding:2px 0;}
.alv-cmp-note-dim{color:var(--alv-taupe);font-weight:500;}
@media (max-width:640px){.alv-cmp-note{font-size:10px !important;}}

/* ---- b64: layout never shifts sideways during reveals ----
   Reserve the scrollbar gutter (classic-scrollbar Macs: bar appearing or
   vanishing shoved the whole page), and clip any reveal transform overflow
   on the dark band + membership section, matching the spec/vsm wraps. */
html{scrollbar-gutter:stable;}
.alv-sa-band,.alv-svc-wrap{overflow-x:clip;}

/* ---- b65v2: footer signature line ----
   Cormorant italic, sized up, centered under the wordmark (mutual centering
   via max-content brand block), tucked close. Desktop only; mobile keeps
   the b22/b23 footer behavior. */
@media (min-width:768px){
  .alv-fmast-brand{width:max-content;text-align:center;}
  .alv-fmast-tag{font-family:'Cormorant Garamond','Cormorant Fallback',serif !important;font-style:italic !important;font-size:21px !important;font-weight:500 !important;line-height:1.4 !important;color:rgba(245,240,227,0.82) !important;letter-spacing:0.01em;margin:7px 0 0 !important;max-width:none !important;}
}

/* ---- b66v2: the stands-apart band and equation do not animate. Period. ----
   Three rounds of reveal-side rendering artifacts on this neighborhood
   (re-rasterization, then repaint shimmer). These sections now render
   instantly at full opacity on every viewport; the rest of the page keeps
   its reveals. */
html.js-reveal .alv-sa-band,
html.js-reveal .alv-eq-band .v2-term,
html.js-reveal .alv-eq-band .v2-gold,
html.js-reveal .alv-eq-band .v2-op{opacity:1 !important;transform:none !important;transition:none !important;}
.alv-sa-tx p,.alv-sa-tx h3{text-wrap:normal;}

/* ---- b67: hero credential kicker (all viewports; immune to the legacy
   mobile eyebrow-hide and the pill-badge styling) ---- */
.alv-hero-k{font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:#CDB176;margin:0 0 12px;text-shadow:0 1px 12px rgba(42,38,32,0.5);}
.alv-hero-k .hk-short{display:none;}
@media (max-width:767px){
  .alv-hero-k{font-size:10.5px;letter-spacing:0.16em;margin-bottom:10px;white-space:nowrap;}
  .alv-hero-k .hk-full{display:none;}
  .alv-hero-k .hk-short{display:inline;}
}


/* b68 legal docs (2026-08-19): lawyer form disclaimer + legal page list rhythm */
.alv-form-disc{font-family:'Inter','Inter Fallback',sans-serif;font-size:12.5px;line-height:1.65;color:var(--alv-taupe);margin:4px 0 0;}
.alv-form-disc a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.alv-prose ul{margin:0 0 14px;padding-left:24px;}
.alv-prose ul ul{margin:6px 0 6px;}
.alv-prose li{margin:0 0 8px;}


/* ---- b69 get-started band (2026-08-28): inline inquiry form on the home page ---- */
.alv-gs-grid{display:grid;grid-template-columns:1fr;gap:22px;max-width:1080px;margin:26px auto 0;align-items:stretch;}
@media (min-width:900px){.alv-gs-grid{grid-template-columns:1.45fr 1fr;gap:30px;}}
.alv-gs-card{background:#FFFFFF;border:1px solid rgba(54,71,76,0.12);border-radius:18px;box-shadow:0 1px 2px rgba(54,71,76,0.06),0 18px 40px -16px rgba(54,71,76,0.22);padding:26px;}
@media (max-width:520px){.alv-gs-card{padding:20px 16px;}}
.alv-gs-namerow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:460px){.alv-gs-namerow{grid-template-columns:1fr;}}
.alv-gs-aside{display:flex;flex-direction:column;gap:14px;height:100%;}
.alv-gs-aside .alv-start-card{max-width:none;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;}
/* keep legal small print small on phones despite the global 16px p floor */
@media (max-width:767px){.alv-form-disc,.alv-form-fine,p.lp-fine,p.lp-form-disc,p.lp-f-disc{font-size:12px !important;}}

.alv-multistep-input::placeholder{font-family:'Inter','Inter Fallback',sans-serif;font-size:15px;letter-spacing:0;color:rgba(92,102,91,0.72);opacity:1;}


/* b70 fee-truth line (2026-08-28): serif statement under membership tier cards */
.alv-fee-truth{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-weight:500;font-size:clamp(24px,2.4vw,31px);letter-spacing:-0.005em;line-height:1.35;color:var(--alv-charcoal);text-align:center;max-width:44ch;margin:40px auto 0;text-wrap:balance;}
@media (max-width:767px){.alv-fee-truth{font-size:22px;margin-top:30px;}}

/* ---- b71: patient line restored (2026-09-06, Spruce BAA number) - header tel + sticky call ---- */
.alv-header-tel{display:none;}
@media (min-width:1680px){
  .alv-header-tel{display:inline-flex;align-items:center;font-family:'Inter','Inter Fallback',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.08em;color:var(--alv-charcoal);opacity:0.85;text-decoration:none;margin-right:22px;white-space:nowrap;padding-bottom:4px;transition:opacity 180ms ease,color 180ms ease;}
  .alv-header-tel:hover{opacity:1;color:#B5975B;}
}
.alv-sticky-dual .alv-sticky-call,.alv-mobile-sticky-cta .alv-sticky-call{flex:0 0 auto !important;background:transparent !important;color:var(--alv-cream) !important;border:1px solid rgba(234,227,211,0.45) !important;display:inline-flex !important;align-items:center;justify-content:center;gap:7px;letter-spacing:0.08em !important;padding-left:20px !important;padding-right:20px !important;}
.alv-sticky-call svg{width:16px;height:16px;flex-shrink:0;}
.alv-mobile-sticky-cta{gap:10px !important;}
.alv-sticky-dual .alv-sticky-call:active,.alv-mobile-sticky-cta .alv-sticky-call:active{background:rgba(234,227,211,0.12) !important;}
