/* =========================================================================
   Aesura Health — Longevity Lounge
   Page-specific touches layered on top of svc.css
   ========================================================================= */

/* Lounge eyebrow swaps to forest accent — distinguishes from med-spa gold */
.lounge .svc-hero { 
  background:
    linear-gradient(180deg, rgba(15,23,9,.78) 0%, rgba(8,14,5,.96) 100%),
    radial-gradient(circle at 70% 30%, #2f4a2f 0%, #1A2313 50%, #0a1206 100%);
}

/* Hub intro band */
.lounge-intro { background:#fff; padding:88px 56px 32px; }
.lounge-intro .container { max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1fr 1.4fr; gap:56px; align-items:start; }
.lounge-intro .eyebrow { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#9C7C20; font-weight:600; margin:0 0 14px; }
.lounge-intro h2 { font-family:var(--font-sans); font-weight:400; font-size:36px; line-height:1.2; color:var(--fg-1); margin:0; letter-spacing:-.005em; }
.lounge-intro h2 em { font-family:var(--font-serif); font-style:italic; color:var(--aes-forest); }
.lounge-intro p { font-size:16.5px; line-height:1.75; color:var(--fg-2); margin:0 0 14px; }
.lounge-intro p:last-child { margin-bottom:0; }
.lounge-intro p strong { color:var(--fg-1); font-weight:600; }

/* Lounge service tiles — bigger than med-spa hub cards */
.lounge-services { background:var(--aes-cream); padding:64px 56px 96px; }
.lounge-services .container { max-width:1140px; margin:0 auto; }
.lounge-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:22px; }
.lounge-tile {
  background:#fff; border:1px solid var(--rule); padding:32px 32px 28px;
  display:flex; flex-direction:column; gap:14px; min-height:260px;
  transition: transform 240ms cubic-bezier(.22,1,.36,1), border-color 240ms, box-shadow 240ms;
}
.lounge-tile:hover { border-color:#D4B24A; transform:translateY(-3px); box-shadow:0 14px 40px rgba(26,35,19,.10); }
.lounge-tile .num { font-family:var(--font-serif); font-style:italic; font-weight:400; font-size:14px; color:#9C7C20; letter-spacing:.04em; }
.lounge-tile h3 { font-family:var(--font-sans); font-weight:400; font-size:26px; line-height:1.2; color:var(--fg-1); margin:0; letter-spacing:-.005em; }
.lounge-tile h3 em { font-family:var(--font-serif); font-style:italic; color:#9C7C20; }
.lounge-tile p { font-size:14.5px; line-height:1.65; color:var(--fg-2); margin:0; }
.lounge-tile .specs { display:flex; gap:18px; padding-top:8px; border-top:1px solid var(--rule); margin-top:auto; }
.lounge-tile .specs > div { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-3); font-weight:500; }
.lounge-tile .specs strong { display:block; font-family:var(--font-serif); font-style:italic; font-weight:500; font-size:16px; color:#9C7C20; letter-spacing:0; text-transform:none; margin-bottom:2px; }
.lounge-tile .more { margin-top:6px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--aes-forest); font-weight:600; }

/* Stack callout band */
.stack-band {
  background: linear-gradient(180deg, var(--aes-cream-warm) 0%, var(--aes-cream) 100%);
  padding:72px 56px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.stack-band .container { max-width:1080px; margin:0 auto; text-align:center; }
.stack-band .eyebrow { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#9C7C20; font-weight:600; margin:0 0 14px; }
.stack-band h2 { font-family:var(--font-sans); font-weight:400; font-size:36px; line-height:1.22; color:var(--fg-1); margin:0 0 14px; letter-spacing:-.005em; max-width:780px; margin-left:auto; margin-right:auto; text-wrap:balance; }
.stack-band h2 em { font-family:var(--font-serif); font-style:italic; color:var(--aes-forest); }
.stack-band p { font-size:16px; line-height:1.7; color:var(--fg-2); margin:0 auto; max-width:680px; }
.stack-row { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:36px; flex-wrap:wrap; }
.stack-pill {
  background:#fff; border:1px solid var(--rule); padding:10px 18px; font-size:13px;
  letter-spacing:.04em; color:var(--fg-1); font-weight:500;
}
.stack-arrow { color:#9C7C20; font-size:14px; }

/* Two-column hero quick-fact card override on lounge pages */
.lounge .svc-hero-card h3 { font-size:21px; }

/* Pair-with band — bottom-of-page IV pairing CTA */
.pair-band {
  background:#fff; padding:64px 56px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.pair-band .container { max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1fr 1.2fr; gap:48px; align-items:center; }
.pair-band .eyebrow { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#9C7C20; font-weight:600; margin:0 0 12px; }
.pair-band h2 { font-family:var(--font-sans); font-weight:400; font-size:32px; line-height:1.22; color:var(--fg-1); margin:0; letter-spacing:-.005em; }
.pair-band h2 em { font-family:var(--font-serif); font-style:italic; color:var(--aes-forest); }
.pair-band ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr; gap:14px; }
.pair-band li { background:var(--aes-cream-warm); padding:16px 20px; border-left:3px solid #D4B24A; font-size:14.5px; line-height:1.6; color:var(--fg-2); }
.pair-band li strong { display:block; color:var(--fg-1); font-weight:600; margin-bottom:4px; font-size:15px; }
.pair-band a.pair-cta { display:inline-block; margin-top:18px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--aes-forest); font-weight:600; border-bottom:1px solid #D4B24A; padding-bottom:2px; }

@media (max-width: 1100px) {
  .lounge-intro .container, .pair-band .container { grid-template-columns:1fr; gap:24px; }
  .lounge-intro, .lounge-services, .stack-band, .pair-band { padding-left:32px; padding-right:32px; }
  .lounge-grid { grid-template-columns:1fr; }
}
@media (max-width: 768px) {
  .lounge-intro, .lounge-services, .stack-band, .pair-band { padding-left:20px; padding-right:20px; padding-top:56px; padding-bottom:56px; }
  .lounge-intro h2, .stack-band h2 { font-size:26px; }
  .pair-band h2 { font-size:24px; }
  .lounge-tile h3 { font-size:22px; }
}
