﻿/**
 * what-recovery-looks-like.css â€” Inspire Recovery Design System
 * Page-specific styles for what-recovery-looks-like-v3.html.
 *
 * Shared foundation: ../main.css (tokens, base, layout, typography, navigation,
 * components, forms, animations).
 *
 * This page uses the standard two-column hero (blue-soft gradient, .hero-grid),
 * which is defined in components.css. This file covers the page-specific section
 * layouts: intro split, firstday wide-band with overlapping panel, startcare/pathways,
 * days prose (photography audit: tiles removed 2026-07-15), people grid,
 * after (dark peak), family, practical split.
 * The .final .inner max-width is var(--measure) (720px, the shared default â€” no override needed).
 * The .final .lead is shown and colored var(--ink) (override from shared base).
 */

/* HERO â€” two-column, shared .hero-grid from components.css.
   This page's hero-copy .lead is narrower than some other pages. */
.hero { padding: 0; }
.hero-copy h1 { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.08; margin-bottom: 14px; }
.hero-copy .lead { max-width: 48ch; font-size: clamp(.95rem, 1.4vw, 1.05rem); }

/* S2 BEING YOURSELF — border-top breaks hero→intro soft-blue visual merge */
.intro { background: var(--surface-soft-blue); padding: clamp(60px, 8vh, 104px) 0; border-top: 1px solid var(--border-light); }
.intro-grid { display: grid; gap: clamp(30px, 5vw, 64px); align-items: start; }
.intro-grid h2 { max-width: 16ch; }
.intro-grid .lead { max-width: 56ch; }

/* S3 YOUR FIRST DAY â€” wide photo + overlapping copy panel */
.firstday { background: #fff; padding-bottom: clamp(96px, 13vh, 164px); }
.firstday-photo { border-radius: var(--r-lg); height: min(60vh, 540px); overflow: hidden; box-shadow: var(--shadow); }
.firstday-panel {
  position: relative; z-index: 2; margin-top: 22px;
  background: #fff; border: 1px solid var(--border-light);
  box-shadow: var(--shadow); border-radius: var(--r-md);
  padding: clamp(28px, 4vw, 52px); max-width: 860px;
  margin-left: auto; margin-right: auto;
}
.firstday-panel h2 { margin-bottom: 18px; }

/* S4 WHERE YOU START â€” intro + three pathway columns */
.startcare { background: var(--surface-soft-blue); }
.startcare .intro-measure { max-width: 1060px; margin-left: auto; margin-right: auto; text-align: center; }
.startcare .intro-measure .lead { max-width: 80ch; margin-left: auto; margin-right: auto; }
.startcare .intro-measure .eyebrow { justify-content: center; }
.pathways { display: grid; gap: clamp(26px, 3.4vw, 44px); margin-top: clamp(44px, 6vh, 68px); }
.pathway { padding-top: 22px; border-top: 2px solid rgba(22,32,31,.16); }
a.pathway { display: block; text-decoration: none; color: inherit; }
a.pathway:hover .tag { background: rgba(115,215,238,.38); }
.pathway .num { font-family: "Roboto Slab", Georgia, serif; font-size: 1.5rem; font-weight: 500; color: var(--brand-aqua-hover); }
.pathway .tag {
  display: inline-block; margin: 14px 0 12px;
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--brand-aqua-hover); background: rgba(115,215,238,.22); padding: 6px 12px; border-radius: 999px;
}
.pathway p { color: var(--text-secondary); font-size: 1.04rem; line-height: 1.55; }

/* S5 YOUR DAYS â€” prose only (photography audit: tiles removed 2026-07-15) */
.days { background: var(--surface-warm); padding: clamp(72px, 10vh, 120px) 0; }
.days-inner { max-width: 1060px; margin-left: auto; margin-right: auto; text-align: center; }
.days-inner .eyebrow { justify-content: center; }
.days-inner .lead { max-width: 96ch; margin-left: auto; margin-right: auto; }
.days-inner .morelink { display: inline-flex; margin-top: 28px; }

/* S6 THE PEOPLE — text left, photo right: soft blue */
.people { background: var(--surface-soft-blue); }
.people-grid { display: grid; gap: clamp(32px, 4.5vw, 60px); align-items: center; }
.people-copy .lead { max-width: 52ch; }
.people-photo {
  border-radius: var(--r-lg) var(--r-lg) var(--r-lg) var(--r-sm);
  height: min(58vh, 520px); overflow: hidden;
  box-shadow: var(--shadow);
}

/* S7 AFTER — dark peak: large photo left, text right */
.after { background: #fff; padding: var(--space-lg) 0; }
.after-grid { display: grid; gap: clamp(36px, 5vw, 68px); align-items: center; }
.after h2 { max-width: 20ch; margin-bottom: 22px; }
.after p { max-width: 54ch; font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.62; }
.after-photo {
  border-radius: var(--r-lg) var(--r-sm) var(--r-lg) var(--r-lg);
  height: min(72vh, 640px); overflow: hidden; box-shadow: var(--shadow);
}

/* S8 FAMILY — brown background */
.family { background: #7F4E20; }
.family-panel { display: block; background: none; max-width: 1060px; margin-left: auto; margin-right: auto; text-align: center; padding: 0; }
.family-panel .eyebrow { justify-content: center; color: rgba(255,255,255,.75); }
.family-panel .eyebrow::before { background: var(--accent-trans-pink); }
.family-panel h2 { max-width: none; color: #fff; }
.family-panel p { max-width: 90ch; margin-left: auto; margin-right: auto; color: rgba(255,255,255,.82); }
.family-btn { display: inline-flex; margin-top: 32px; background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.6) !important; }

/* S9 PRACTICAL — white */
.practical { background: #fff; }
.practical .eyebrow { color: var(--text-secondary); }
.practical .eyebrow::before { background: var(--accent-trans-pink); }
.practical-grid h2 { max-width: 18ch; color: var(--ink); }
.practical-grid .lead { max-width: 56ch; color: var(--text-secondary); }
.practical-grid { display: grid; gap: clamp(30px, 5vw, 64px); align-items: start; }
.practical .btn { background: var(--brand-aqua); color: var(--ink); }
.practical .btn.ghost { background: transparent; color: var(--ink); border-color: rgba(22,32,31,.3); }

/* FINAL — border-top breaks practical(aqua-wash)→final(brand-aqua) adjacent-family merge */
.final { border-top: 1px solid rgba(14,95,122,.2); }
.final .inner { max-width: 1060px; }
.final .lead { color: var(--ink); margin: 22px auto 0; max-width: 88ch; }

/* SUBSTANCES WE TREAT — substance-cluster internal-link grid */
.substances { background: #fff; padding: clamp(72px, 10vh, 120px) 0; }
.substances-intro { max-width: 1060px; margin: 0 auto clamp(44px, 6vh, 68px); text-align: center; }
.substances-intro .eyebrow { justify-content: center; }
.substances-intro h2 { max-width: 26ch; margin-left: auto; margin-right: auto; }
.substances-intro .lead { max-width: 72ch; margin-left: auto; margin-right: auto; }
.substance-grid { display: grid; gap: clamp(24px, 3.2vw, 40px); }
.substance { padding-top: 20px; border-top: 2px solid rgba(22,32,31,.16); }
a.substance { display: block; text-decoration: none; color: inherit; }
a.substance:hover .tag { background: rgba(115,215,238,.38); }
a.substance:focus-visible { outline: 2px solid var(--brand-aqua); outline-offset: 4px; border-radius: var(--r-sm); }
.substance .num { font-family: "Roboto Slab", Georgia, serif; font-size: 1.5rem; font-weight: 500; color: var(--brand-aqua-hover); }
.substance .tag {
  display: inline-block; margin: 14px 0 12px;
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--brand-aqua-hover); background: rgba(115,215,238,.22); padding: 6px 12px; border-radius: 999px;
}
.substance p { color: var(--text-secondary); font-size: 1.04rem; line-height: 1.55; margin: 0; }

/* CO-OCCURRING CALLOUT — distinct panel below substance grid */
.cod-callout {
  margin-top: clamp(48px, 7vh, 80px);
  background: var(--surface-soft-blue);
  border-radius: var(--r-md);
  padding: clamp(32px, 5vw, 56px) clamp(28px, 4vw, 52px);
  border: 1px solid var(--border-light);
}
.cod-callout-copy { max-width: 820px; }
.cod-callout-copy .eyebrow { justify-content: flex-start; }
.cod-callout-copy h3 { font-size: clamp(1.5rem, 2.8vw, 2.2rem); line-height: 1.15; margin: 14px 0 18px; color: var(--ink); }
.cod-callout-copy p { max-width: 64ch; color: var(--text-secondary); font-size: 1.04rem; line-height: 1.6; margin: 0 0 28px; }
.cod-callout-copy .moreline {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 600; font-size: .95rem; color: var(--brand-aqua-hover);
  text-decoration: underline; text-decoration-color: transparent;
  transition: text-decoration-color .18s;
}
.cod-callout-copy .moreline:hover { text-decoration-color: currentColor; }
.cod-callout-copy .moreline:focus-visible { outline: 2px solid var(--brand-aqua); outline-offset: 3px; border-radius: 2px; }

/* RESPONSIVE */
@media (min-width: 600px) {
  .substance-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 760px) {
  .pathways { grid-template-columns: repeat(3, 1fr); }
  .after-grid { grid-template-columns: 1.05fr 0.95fr; }
  .footer-inner { grid-template-columns: 1fr auto; align-items: end; }
  .family-panel { grid-template-columns: none; }
}
@media (min-width: 860px) {
  .hero-grid { grid-template-columns: 1.05fr 0.95fr; }
  .intro-grid { grid-template-columns: 0.9fr 1fr; }
  .people-grid { grid-template-columns: 1fr 1fr; }
  .practical-grid { grid-template-columns: 0.82fr 1fr; }
  .firstday-panel { margin-top: -96px; }
}
@media (min-width: 1000px) {
  .substance-grid { grid-template-columns: repeat(3, 1fr); }
}
