@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@400;500;600;700&display=swap");

:root {
  --font-display: "Cormorant Garamond";
  --font-sans: "Inter";
}

:root {
  --ink: #080909;
  --charcoal: #101211;
  --cream: #f4efe5;
  --paper: #fbf8f1;
  --gold: #c9a34f;
  --gold-light: #e2c777;
  --muted: #8b8d87;
  --line: rgba(201, 163, 79, 0.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x:hidden; }
body { margin: 0; min-width:320px; overflow-x:hidden; background: var(--ink); color: var(--cream); font:17px/1.6 var(--font-sans), Arial, sans-serif; }
img { max-width:100%; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font:inherit; }

.site-header { height: 86px; padding: 0 clamp(24px, 5vw, 80px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.08); position: absolute; inset: 0 0 auto; z-index: 10; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-logo img { display:block; width:285px; height:auto; object-fit:contain; }
.brand-mark { width: 40px; height: 40px; border: 1px solid var(--gold); color: var(--gold-light); display: grid; place-items: center; font: 600 25px/1 var(--font-display), serif; transform: rotate(45deg); }
.brand-mark::first-letter { transform: rotate(-45deg); }
.brand-copy { display: flex; flex-direction: column; text-transform: uppercase; line-height: 1; }
.brand-copy strong { color: #fff; font: 600 20px/1 var(--font-display), serif; letter-spacing: .14em; }
.brand-copy small { color: var(--gold); font-size: 8px; letter-spacing: .27em; margin-top: 6px; }
nav { display: flex; gap: 34px; color: #c7c7c2; font-size: 14px; text-transform: uppercase; letter-spacing: .1em; }
nav a, .contact-email { transition: color .2s ease; }
nav a:hover, nav a:focus-visible, .contact-email:hover { color: var(--gold-light); }
.header-cta { border: 1px solid var(--gold); color: var(--gold-light); padding: 12px 18px; text-transform: uppercase; letter-spacing: .1em; font-size: 13px; }

.hero { min-height: 660px; padding: 125px clamp(24px, 7vw, 110px) 55px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .65fr); align-items: center; gap: clamp(36px, 5vw, 78px); position: relative; overflow: hidden; background: radial-gradient(circle at 80% 50%, #22231f 0, #111311 32%, #080909 65%); }
.hero::after { content:""; position:absolute; width: 42vw; height: 42vw; right:-18vw; top:18%; border:1px solid rgba(201,163,79,.14); border-radius:50%; box-shadow: 0 0 0 80px rgba(201,163,79,.025), 0 0 0 160px rgba(201,163,79,.018); }
.hero-glow { position:absolute; width: 350px; height: 350px; left:-160px; bottom:-140px; background:var(--gold); opacity:.08; filter:blur(100px); }
.hero-watermark { position:absolute; z-index:1; width:clamp(230px,24vw,330px); height:auto; left:50%; top:54%; transform:translate(-50%,-50%); opacity:.075; object-fit:contain; pointer-events:none; filter:saturate(.9) drop-shadow(0 0 35px rgba(201,163,79,.12)); }
.hero-copy, .hero-card { position:relative; z-index:2; }
.eyebrow { color: var(--gold-light); font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; display:flex; align-items:center; gap:10px; }
.eyebrow span { width: 30px; height:1px; background:var(--gold); }
.eyebrow.dark { color:#8a6b2e; }
h1, h2 { font-family: var(--font-display), Georgia, serif; margin:0; font-weight:500; letter-spacing:-.025em; }
h1 { font-size: clamp(62px, 7.2vw, 112px); line-height:.86; margin: 30px 0; color:#fff; }
h1 em, h2 em { color: var(--gold-light); font-weight:400; }
.hero-lead { color:#b6b8b3; max-width:650px; font-size:19px; line-height:1.65; }
.hero-actions { display:flex; gap:12px; margin:30px 0; flex-wrap:wrap; }
.button { min-height:54px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; gap:24px; text-transform:uppercase; letter-spacing:.1em; font-weight:600; font-size:13px; transition:transform .2s ease, background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-gold { background:var(--gold); color:#0b0c0b; }
.button-gold:hover { background:var(--gold-light); }
.button-ghost { border:1px solid rgba(255,255,255,.22); color:#ddd; }
.button-dark { background:#111311; color:var(--gold-light); }
.button-outline-gold { border:1px solid var(--gold); color:var(--gold-light); }
.button-outline-dark { border:1px solid #b6aa91; color:#1a1c1b; background:#fff; }
.pricing-trigger { cursor:pointer; background:var(--gold); color:#080909; border:1px solid var(--gold); font-weight:700; }
.pricing-trigger:hover, .pricing-trigger:focus-visible { background:var(--gold-light); color:#080909; border-color:var(--gold-light); }
.hero-contact { color:#b5b7b1; font-size:17px; letter-spacing:.01em; margin:-10px 0 24px; line-height:1.7; }
.hero-contact a { color:#d5d6d1; text-decoration:underline; text-underline-offset:4px; }
.trust-line { display:flex; gap:0; color:#a6a9a2; text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.trust-line span { padding:0 18px; border-right:1px solid rgba(255,255,255,.16); }
.trust-line span:first-child { padding-left:0; }
.trust-line span:last-child { border:0; }
.hero-card { max-width:420px; justify-self:center; border:1px solid var(--line); background:rgba(15,16,15,.82); padding:14px; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.card-topline { height:40px; padding:0 6px 0 12px; color:#b2b4ae; display:flex; align-items:center; justify-content:space-between; text-transform:uppercase; font-size:11px; letter-spacing:.16em; }
.cross { color:var(--gold); font-size:20px; }
.portrait-placeholder { height:340px; background:linear-gradient(145deg,#272a27,#101210); position:relative; overflow:hidden; }
.portrait-placeholder::after { content:""; position:absolute; inset:0; box-shadow:inset 0 -40px 55px rgba(5,6,6,.2); pointer-events:none; }
.portrait-placeholder img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 38%; }
.hero-card-copy { padding:24px 18px 18px; }
.script { color:var(--gold); font:italic 20px/1 var(--font-display),serif; margin:0 0 10px; }
.hero-card h2 { font-size:30px; color:white; }
.hero-card-copy > p:last-child { color:#b0b2ac; font-size:13px; }

.intro-strip { min-height:78px; background:var(--gold); color:#0a0b0a; display:flex; align-items:center; justify-content:center; gap:clamp(30px,7vw,110px); padding:20px 25px; text-transform:uppercase; letter-spacing:.13em; font-size:13px; font-weight:600; }
.intro-strip p:not(:last-child)::after { content:"✦"; margin-left:clamp(30px,7vw,110px); }
.section { padding:85px clamp(24px, 7vw, 110px); }
.services, .process { background:var(--paper); color:#171817; }
.section-heading { display:grid; grid-template-columns:1fr .75fr; gap:52px; align-items:end; max-width:1200px; margin:0 auto 42px; }
.section-heading h2, .about h2, .process h2, .contact h2 { font-size:clamp(48px,5vw,78px); line-height:.95; }
.section-heading > p { color:#555852; font-size:18px; line-height:1.65; max-width:520px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1200px; margin:auto; border-top:1px solid #d8d0c1; border-bottom:1px solid #d8d0c1; }
.service-card { padding:32px 35px; min-height:245px; border-right:1px solid #d8d0c1; position:relative; }
.service-card:last-child { border:0; }
.service-title { display:flex; align-items:center; gap:13px; }
.service-icon { color:var(--gold); font-size:22px; line-height:1; flex:0 0 auto; }
.service-card h3, .steps h3 { font:600 27px/1.1 var(--font-display),serif; margin:0 0 16px; }
.service-card p, .steps p { color:#5e615c; font-size:17px; line-height:1.65; }
.partner-block { max-width:900px; margin:32px auto 0; text-align:center; }
.partner-label { margin:0 0 12px; color:#795b1f; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.partner-logo { display:inline-flex; align-items:center; justify-content:center; min-width:250px; padding:18px 28px; background:#fff; border:1px solid #ded6c6; box-shadow:0 10px 35px rgba(24,28,31,.08); transition:transform .2s ease, box-shadow .2s ease; }
.partner-logo:hover { transform:translateY(-2px); box-shadow:0 14px 40px rgba(24,28,31,.12); }
.partner-logo img { width:min(100%,250px); height:auto; display:block; }
.partner-note { max-width:900px; margin:18px auto 0; color:#62645f; font-size:16px; line-height:1.65; text-align:center; }
.partner-note a { color:#836322; text-decoration:underline; }
.packages-action { display:flex; justify-content:center; margin-top:25px; }

.about { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,9vw,130px); align-items:center; background:#111311; }
.about-quote { min-height:500px; padding:70px clamp(35px,6vw,80px); background:linear-gradient(150deg,#1d201d,#0c0e0d); border:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; position:relative; }
.quote-mark { color:var(--gold); opacity:.55; font:120px/.5 var(--font-display),serif; }
blockquote { font:italic clamp(30px,3.2vw,50px)/1.16 var(--font-display),serif; margin:40px 0; color:#f2ede2; }
.about-quote p { color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-size:10px; }
.about-quote .quote-attribution { font-size:12px; line-height:1.7; }
.quote-attribution span { color:#d8caa9; font-size:10px; }
.about-copy > p:not(.eyebrow) { color:#b5b7b1; font-size:17px; line-height:1.72; margin:26px 0; }
.about-copy .about-bio + .about-bio { margin-top:-14px; }
.about-copy ul { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:16px 25px; }
.about-copy li { color:#d1d2cc; font-size:15px; display:flex; gap:10px; align-items:center; }
.about-copy li span { color:var(--gold); }
.about-copy .community-note { margin:28px 0 0; padding-top:20px; border-top:1px solid var(--line); color:var(--gold-light); font-size:13px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
.community-note span { margin-right:8px; color:var(--gold); }

.process { text-align:center; }
.centered { justify-content:center; }
.process h2 { margin:18px 0 50px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); max-width:1050px; margin:auto; }
.steps article { padding:0 45px; position:relative; }
.steps article:not(:last-child)::after { content:""; position:absolute; top:24px; right:-40px; width:80px; height:1px; background:#d6c7a5; }
.steps article > span { width:48px; height:48px; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; color:#8a6b2e; margin:0 auto 25px; font:italic 20px/1 var(--font-display),serif; }

.contact { padding:72px clamp(24px, 8vw, 120px) 82px; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,420px); align-items:center; gap:56px; background:radial-gradient(circle at 72% 40%,#272820,#0a0b0a 52%); border-top:1px solid var(--line); }
.contact-copy { align-self:center; }
.contact-copy .eyebrow { margin:0 0 18px; }
.contact-copy h2 { margin-bottom:24px; }
.contact-copy .service-area { color:#c3c5bf; font-size:18px; line-height:1.65; margin:0; }
.contact-copy .travel-note { max-width:680px; margin:14px 0 0; color:#92958f; font-size:14px; line-height:1.65; }
.contact-actions { display:flex; flex-direction:column; gap:22px; align-items:center; }
.contact-email { color:#f0eee7; font-size:18px; font-weight:600; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.packages-link { color:var(--gold-light); font-size:15px; text-decoration:underline; text-underline-offset:5px; }
.packages-link.pricing-trigger { min-height:54px; padding:14px 20px; border:1px solid var(--gold); background:var(--gold); color:#080909; font-weight:700; text-decoration:none; }
.pricing-modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:22px; background:rgba(2,3,3,.82); backdrop-filter:blur(8px); }
.pricing-modal-backdrop[hidden] { display:none; }
.pricing-modal { width:min(100%,650px); max-height:calc(100vh - 44px); overflow:auto; padding:clamp(34px,6vw,62px); background:var(--paper); color:#252623; border:1px solid var(--gold); box-shadow:0 30px 100px rgba(0,0,0,.55); position:relative; text-align:left; }
.pricing-modal-close { position:absolute; top:14px; right:18px; width:42px; height:42px; border:0; background:transparent; color:#6d6658; font-size:34px; line-height:1; cursor:pointer; }
.pricing-modal-kicker { margin:0 0 14px; color:#8a6b2e; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.pricing-modal h2 { color:#171817; font-size:clamp(38px,6vw,58px); line-height:.95; margin-bottom:25px; }
.pricing-modal > p:not(.pricing-modal-kicker) { color:#5f625d; font-size:15px; line-height:1.7; }
.pricing-warning { padding:18px 20px; background:#efe4c8; border-left:4px solid var(--gold); color:#2c2b27 !important; }
.pricing-modal-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 22px; }
.pricing-continue { display:inline-flex; align-items:center; gap:12px; color:#755716; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
footer { padding:55px clamp(24px,7vw,110px) 35px; background:#050606; text-align:center; color:#777a75; }
.footer-brand { justify-content:center; margin-bottom:25px; }
.footer-brand img { width:min(82vw,350px); }
footer > p { font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.fine-print { max-width:820px; margin:30px auto 0; text-transform:none; letter-spacing:0; line-height:1.7; color:#595c57; }
.copyright { border-top:1px solid rgba(255,255,255,.07); margin:30px 0 0; padding-top:25px; }
.mobile-book { display:none; }

@media (max-width: 900px) {
  .site-header nav, .header-cta { display:none; }
  .hero { grid-template-columns:1fr; padding-top:120px; padding-bottom:52px; gap:38px; }
  .hero-watermark { width:280px; top:43%; opacity:.065; }
  .hero-card { justify-self:center; width:min(100%,520px); }
  .section-heading, .about, .contact { grid-template-columns:1fr; }
  .section-heading { gap:28px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { border-right:0; border-bottom:1px solid #d8d0c1; min-height:auto; }
  .service-card:last-child { border-bottom:0; }
  .steps article { padding:0 20px; }
  .contact { text-align:center; }
  .contact-actions { width:min(100%,440px); justify-self:center; }
}

@media (max-width: 620px) {
  .site-header { height:74px; padding:0 20px; }
  .brand-mark { width:34px; height:34px; }
  .brand-logo img { width:min(225px,74vw); }
  .hero { padding:105px 20px 48px; min-height:auto; gap:32px; background:radial-gradient(circle at 70% 68%,#22231f 0,#111311 28%,#080909 62%); }
  .hero-watermark { width:min(68vw,260px); top:38%; opacity:.06; }
  .hero::after { width:95vw; height:95vw; right:-55vw; top:48%; }
  h1 { font-size:clamp(45px,14.5vw,62px); line-height:.91; margin:24px 0; }
  .eyebrow { font-size:11px; letter-spacing:.14em; line-height:1.5; }
  .eyebrow span { width:22px; flex:0 0 22px; }
  .hero-lead { font-size:18px; line-height:1.6; }
  .hero-actions { gap:10px; margin:30px 0; }
  .hero-actions .button { width:100%; }
  .button { min-height:54px; padding:0 18px; }
  .hero-contact { margin:-8px 0 24px; font-size:17px; line-height:1.65; overflow-wrap:anywhere; }
  .trust-line { flex-wrap:wrap; gap:10px 0; font-size:11px; }
  .trust-line span { width:50%; padding-left:0; }
  .trust-line span:last-child { width:100%; }
  .hero-card { padding:10px; }
  .portrait-placeholder { height:320px; }
  .portrait-placeholder img { object-position:center 36%; }
  .hero-card-copy { padding:20px 14px 16px; }
  .hero-card h2 { font-size:27px; }
  .intro-strip { display:none; }
  .section { padding:58px 20px; }
  .section-heading { gap:25px; }
  .section-heading h2, .about h2, .process h2, .contact h2 { font-size:clamp(40px,12vw,50px); }
  .service-card { padding:27px 22px; }
  .service-title { gap:11px; }
  .service-icon { font-size:20px; }
  .partner-logo { min-width:0; width:100%; padding:16px 22px; }
  .partner-note { font-size:16px; }
  .about { gap:48px; }
  .about-quote { min-height:0; padding:52px 26px; }
  blockquote { font-size:clamp(28px,8.8vw,38px); margin:30px 0; }
  .about-copy > p:not(.eyebrow) { font-size:17px; line-height:1.68; }
  .about-copy ul { grid-template-columns:1fr; }
  .steps { grid-template-columns:1fr; gap:50px; }
  .steps article:not(:last-child)::after { display:none; }
  .process h2 { margin-bottom:50px; }
  .contact { padding:58px 20px 132px; gap:38px; }
  .contact-copy { padding-bottom:4px; }
  .contact-copy h2 { margin-bottom:22px; }
  .contact-copy .service-area { font-size:17px; }
  .contact-copy .travel-note { margin-top:14px; font-size:14px; }
  .contact-email { font-size:18px; }
  .packages-link { font-size:15px; line-height:1.5; }
  .packages-link.pricing-trigger { width:100%; }
  .contact-actions, .contact-actions .button { width:100%; }
  .packages-action .button { width:100%; }
  .pricing-modal-backdrop { padding:10px; align-items:end; }
  .pricing-modal { max-height:calc(100dvh - 20px); padding:42px 22px 26px; }
  .pricing-modal h2 { font-size:clamp(34px,10.5vw,46px); }
  .pricing-modal > p:not(.pricing-modal-kicker) { font-size:14px; line-height:1.58; }
  .pricing-modal-actions, .pricing-modal-actions .button { width:100%; }
  .pricing-continue { min-height:44px; line-height:1.5; }
  .mobile-book { display:block; position:fixed; z-index:20; bottom:max(12px,env(safe-area-inset-bottom)); left:12px; right:12px; min-height:52px; background:var(--gold); color:#080909; text-align:center; padding:15px 16px; text-transform:uppercase; font-weight:700; font-size:14px; letter-spacing:.09em; box-shadow:0 12px 35px rgba(0,0,0,.45); }
  .footer-brand img { width:min(78vw,320px); }
  footer { padding-top:48px; padding-bottom:112px; }
}

@media (max-width: 370px) {
  .site-header { padding-inline:16px; }
  .brand-logo img { width:200px; }
  .hero, .section, .contact { padding-left:16px; padding-right:16px; }
  .trust-line { display:grid; grid-template-columns:1fr; }
  .trust-line span, .trust-line span:last-child { width:100%; border:0; padding:0; }
  .hero-card h2 { font-size:24px; }
  .hero-card-copy > p:last-child { line-height:1.5; }
}

/* Detailed Mobile IV Nurses information page */
.packages-action { gap:12px; flex-wrap:wrap; }
.therapy-hero { position:relative; overflow:hidden; padding:155px clamp(24px,8vw,120px) 78px; text-align:center; background:radial-gradient(circle at 50% 35%,#24251f 0,#111311 43%,#080909 76%); border-bottom:1px solid var(--line); }
.therapy-hero > * { position:relative; z-index:1; }
.therapy-watermark { position:absolute; z-index:0; width:min(42vw,430px); left:50%; top:48%; transform:translate(-50%,-50%); opacity:.055; pointer-events:none; }
.therapy-hero .eyebrow { justify-content:center; }
.therapy-hero h1 { font-size:clamp(58px,7vw,96px); margin:28px 0; }
.therapy-hero > p:not(.eyebrow) { max-width:760px; margin:0 auto; color:#c0c2bc; font-size:19px; }
.source-banner { max-width:1000px; margin:42px auto 0; padding:24px 28px; display:grid; grid-template-columns:220px 1fr; gap:28px; align-items:center; text-align:left; background:var(--paper); color:#565953; border:1px solid var(--gold); box-shadow:0 24px 70px rgba(0,0,0,.28); }
.source-banner img { width:100%; max-height:82px; object-fit:contain; }
.source-banner strong { color:#242622; }
.therapy-main { padding:72px clamp(24px,7vw,110px) 0; background:var(--paper); color:#252623; }
.topic-jump { max-width:1200px; margin:0 auto 70px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; color:#302f2a; font-size:11px; font-weight:700; letter-spacing:.08em; line-height:1.45; text-transform:uppercase; }
.topic-jump a { display:flex; min-height:92px; align-items:center; padding:18px; border:1px solid #d8d0c1; background:#fff; }
.topic-jump a:hover, .topic-jump a:focus-visible { color:#755716; border-color:var(--gold); }
.therapy-topic { max-width:1200px; margin:0 auto 42px; padding:clamp(32px,5vw,66px); position:relative; background:#fff; border:1px solid #ddd4c3; box-shadow:0 14px 45px rgba(24,25,22,.06); scroll-margin-top:24px; }
.therapy-topic:nth-of-type(even) { background:#f6f0e4; }
.topic-number { position:absolute; right:clamp(26px,4vw,52px); top:24px; color:rgba(138,107,46,.18); font:600 clamp(58px,8vw,105px)/1 var(--font-display),serif; }
.therapy-topic .eyebrow { color:#876822; margin:0 0 13px; }
.therapy-topic h2 { max-width:850px; padding-right:90px; color:#171817; font-size:clamp(42px,5vw,68px); line-height:.98; }
.topic-intro { max-width:920px; margin:25px 0 34px; color:#50534e; font-size:18px; line-height:1.72; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.info-block, .info-panel { padding:26px 28px; border:1px solid #d9d0bf; }
.info-block { background:#fbf8f1; }
.info-panel { background:#111311; color:#c9cbc5; border-color:rgba(201,163,79,.35); }
.info-block h3, .info-panel h3 { margin:0 0 18px; color:#7b5d1d; font:600 28px/1.1 var(--font-display),serif; }
.info-panel h3 { color:var(--gold-light); }
.info-block ul, .info-panel ul { margin:0; padding-left:20px; }
.info-block li, .info-panel li { margin:9px 0; line-height:1.58; }
.info-panel strong { color:#f2ede2; }
.info-panel .fine { margin:-8px 0 18px; color:#989b94; font-size:13px; line-height:1.55; }
.topic-attribution { margin-top:28px; padding-top:18px; border-top:1px solid #ded5c5; color:#777970; font-size:12px; font-style:italic; }
.notice { margin-top:24px; padding:20px 22px; background:#eee3c8; border-left:4px solid var(--gold); color:#37362f; }
.notice.emergency { background:#f0dfd7; border-left-color:#a75137; }
.therapy-cta { margin:74px calc(clamp(24px,7vw,110px) * -1) 0; padding:72px clamp(24px,8vw,120px); text-align:center; background:radial-gradient(circle at 50% 10%,#292a23,#0b0c0b 65%); color:#fff; border-top:1px solid var(--line); }
.therapy-cta h2 { font-size:clamp(42px,5vw,68px); line-height:1; }
.therapy-cta p { color:#b8bab4; font-size:18px; }
.therapy-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:28px; }

@media (max-width:900px) {
  .topic-jump { grid-template-columns:repeat(2,1fr); }
  .source-banner { grid-template-columns:180px 1fr; }
}

@media (max-width:620px) {
  .therapy-hero { padding:112px 20px 52px; }
  .therapy-hero h1 { font-size:clamp(46px,14vw,62px); }
  .therapy-hero > p:not(.eyebrow) { font-size:17px; }
  .source-banner { grid-template-columns:1fr; padding:22px; text-align:center; }
  .source-banner img { max-width:230px; margin:auto; }
  .therapy-main { padding:46px 16px 0; }
  .topic-jump { grid-template-columns:1fr; margin-bottom:42px; }
  .topic-jump a { min-height:68px; }
  .therapy-topic { padding:34px 20px; margin-bottom:24px; }
  .topic-number { right:18px; top:19px; font-size:58px; }
  .therapy-topic h2 { padding-right:40px; font-size:clamp(38px,11vw,50px); }
  .topic-intro { font-size:17px; }
  .two-col { grid-template-columns:1fr; }
  .info-block, .info-panel { padding:23px 20px; }
  .therapy-cta { margin-top:46px; padding:56px 20px 126px; }
  .therapy-actions, .therapy-actions .button { width:100%; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
