/* ---- HERO (light) ---- */
.fp-hero { position:relative; overflow:hidden; padding:150px 0 var(--space-3xl);
  background:linear-gradient(180deg, var(--brand-50) 0%, #fff 70%); }
.fp-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:var(--space-2xl); align-items:center; }
.fp-hero-copy h1 { font-size:var(--step-5); line-height:var(--line-tight); letter-spacing:-.02em; color:var(--color-secondary); }
.fp-hero-copy h1 .hl { color:var(--color-primary); }

.fp-trust { display:flex; flex-wrap:wrap; gap:var(--space-2xs) var(--space-xs); margin-bottom:var(--space-l); }
.fp-trust span { display:inline-flex; align-items:center; gap:var(--space-2xs); background:var(--brand-25); border:none;
  border-radius:var(--radius-full); padding:var(--space-2xs) var(--space-s); font-weight:var(--weight-bold); font-size:var(--text-sm); color:var(--color-secondary); box-shadow:var(--shadow-xs); }
.fp-trust svg { width:17px; height:17px; stroke:var(--color-primary); fill:none; stroke-width:2.2; }

.fp-btn-row { display:flex; flex-wrap:wrap; gap:var(--space-xs); }

.fp-hero-media { position:relative; }
.fp-hero-media > img { width:100%; height:auto; border-radius:24px; box-shadow:var(--shadow-5);
  object-fit:cover; aspect-ratio:9/7; }
.fp-float-card { position:absolute; left:-28px; bottom:28px; display:flex; align-items:center; gap:var(--space-xs);
  background:#fff; border-radius:var(--radius-xl); padding:var(--space-xs) var(--space-s); box-shadow:var(--shadow-lg); max-width:300px; }
.fp-float-ic { width:44px; height:44px; flex:none; border-radius:var(--radius-lg); background:var(--grad-chip); color:#fff;
  display:flex; align-items:center; justify-content:center; }
.fp-float-ic svg { width:23px; height:23px; stroke:#fff; fill:none; stroke-width:2; }
.fp-float-card strong { display:block; color:var(--color-secondary); font-size:var(--text-sm); line-height:var(--line-snug); }
.fp-float-card > div span { font-size:var(--text-sm); color:var(--color-ink-soft); }

/* ---- Carer/family hero (dark gradient, centred) ---- */
.fc-hero { position:relative; background:var(--grad-hero); color:#fff; padding:172px 0 var(--space-3xl); overflow:hidden; }
.fc-hero .wrap { position:relative; z-index:2; }
.fc-hero h1 { color:#fff; font-size:var(--step-5); letter-spacing:-.02em; margin:0; line-height:var(--line-tight); }
.fc-hero h1 .hl { color:var(--color-accent); }
.fc-hero .lede { color:rgba(255,255,255,.9); }
.fc-hero .fp-trust span { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2);
  box-shadow:none; backdrop-filter:blur(4px); }
.fc-hero .fp-trust svg { stroke:rgba(255,255,255,.9); }

/* ---- Two-column photo + copy ("split") ---- */
.fp-split { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; }
.fp-split-media { position:relative; }
.fp-split-media img { width:100%; height:auto; border-radius:22px; box-shadow:var(--shadow-4); object-fit:cover; aspect-ratio:4/3; }
.fp-tag { position:absolute; left:18px; bottom:18px; display:inline-flex; align-items:center; gap:var(--space-2xs);
  background:rgba(255,255,255,.94); backdrop-filter:blur(6px); border-radius:var(--radius-full);
  padding:var(--space-2xs) var(--space-s); font-weight:var(--weight-bold); font-size:var(--text-sm); color:var(--color-secondary); box-shadow:var(--shadow-xs); }
.fp-dot { width:9px; height:9px; border-radius:var(--radius-full); background:var(--grad-chip); box-shadow:0 0 0 4px rgba(103,184,220,.25); }
.fp-split-copy h2 { color:var(--color-secondary); }
.fp-split-copy p { font-size:var(--text-md); line-height:var(--line-relaxed); color:var(--color-ink-soft); margin:var(--space-s) 0 0; }
.fp-split-copy p strong { color:var(--color-ink); }
.fp-quietnote { border-left:4px solid var(--color-accent); padding-left:var(--space-s); color:var(--brand-600); }

/* ---- Why recommended (numbered reasons) ---- */
.fp-reasons { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-s); max-width:880px; margin:0 auto; }
.fp-reason { display:flex; align-items:center; gap:var(--space-s); background:var(--brand-25); border:none;
  border-radius:var(--radius-component-lg); padding:var(--space-m); box-shadow:var(--shadow-xs); transition:transform .16s var(--ease), box-shadow .16s var(--ease); }
.fp-reason:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.fp-rnum { font-size:var(--text-xl); font-weight:var(--weight-extrabold); color:var(--color-accent); flex:none; min-width:1.6em; }
.fp-reason p { font-size:var(--text-md); color:var(--color-ink); margin:0; }
.fp-reason p strong { color:var(--color-secondary); }
.fp-center-note, .fp-quietnote.fp-center-note { text-align:center; color:var(--color-ink-soft); margin:var(--space-l) auto 0; max-width:44em; font-size:var(--text-md); }

/* ---- How it helps (benefit cards) ---- */
.fp-benefits { gap:var(--space-m); }
.fp-bcard { background:var(--brand-25); border:none; border-radius:var(--radius-lg); padding:var(--space-l) var(--space-m);
  box-shadow:var(--shadow-xs); transition:transform .18s var(--ease), box-shadow .18s var(--ease); }
.fp-bcard:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.fp-bcard h3 { color:var(--color-secondary); margin:0 0 var(--space-2xs); }
.fp-bcard p { font-size:var(--text-sm); line-height:var(--line-relaxed); color:var(--color-ink-soft); margin:0; }

/* ---- Research (evidence checklist) ---- */
.fp-evidence { max-width:920px; margin:0 auto; background:var(--brand-25); border:none;
  border-radius:var(--radius-lg); padding:var(--space-l) var(--space-xl) var(--space-l); box-shadow:var(--shadow-md); }
.fp-evlist { list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-xs) var(--space-l); margin:0; padding:0; }
.fp-evlist li { display:flex; align-items:flex-start; gap:var(--space-xs); font-size:var(--text-md); color:var(--color-ink); line-height:var(--line-normal); }
.fp-evlist svg { width:23px; height:23px; flex:none; margin-top:1px; color:#fff; stroke:#fff; fill:none;
  background:linear-gradient(135deg, var(--color-success), oklch(from var(--color-success) calc(l + 0.1) c h)); border-radius:var(--radius-full); padding:var(--space-3xs); box-sizing:border-box; }
.fp-evlist sup { margin-left:var(--space-3xs); }
.fp-evfoot { text-align:center; border-top:1px solid var(--color-border); margin-top:var(--space-m); padding-top:var(--space-2xs); }

/* ---- What happens (steps) ---- */
.fp-steps { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-m); max-width:980px; margin:0 auto; }
.fp-step { display:flex; gap:var(--space-m); background:var(--brand-25); border:none; border-radius:var(--radius-lg);
  padding:var(--space-m); box-shadow:var(--shadow-xs); }
.fp-snum { width:46px; height:46px; flex:none; border-radius:var(--radius-lg); background:var(--grad-chip); color:#fff;
  font-weight:var(--weight-extrabold); font-size:var(--text-xl); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(67,143,185,.32); }
.fp-sbody h3 { color:var(--color-secondary); margin:var(--space-3xs) 0 var(--space-2xs); }
.fp-sbody p { font-size:var(--text-md); line-height:var(--line-relaxed); color:var(--color-ink-soft); margin:0; }
.fp-attend { max-width:980px; margin:var(--space-l) auto 0; font-size:var(--text-md); line-height:var(--line-relaxed); }

/* ---- Reassurance / FAQ accordion ---- */
.fp-faq-wrap { max-width:840px; }
.fp-faq { display:flex; flex-direction:column; gap:var(--space-xs); }
.fp-faq details { background:var(--brand-25); border:none; border-radius:var(--radius-component-lg); overflow:hidden;
  box-shadow:var(--shadow-xs); transition:box-shadow .2s var(--ease); }
.fp-faq details[open] { box-shadow:var(--shadow-md); }
.fp-faq summary { list-style:none; cursor:pointer; padding:var(--space-m); font-weight:var(--weight-bold); font-size:var(--text-md);
  color:var(--color-secondary); display:flex; align-items:center; justify-content:space-between; gap:var(--space-s); }
.fp-faq summary::-webkit-details-marker { display:none; }
.fp-faq summary::after { content:""; width:12px; height:12px; flex:none; border-right:2.4px solid var(--color-primary);
  border-bottom:2.4px solid var(--color-primary); transform:rotate(45deg); transition:transform .25s var(--ease); margin-top:-4px; }
.fp-faq details[open] summary::after { transform:rotate(225deg); margin-top:2px; }
.fp-faq details::details-content {
  height:0; overflow:clip; opacity:0; transform:translateY(-4px);
  transition:height .32s var(--ease), opacity .28s var(--ease), transform .32s var(--ease),
             content-visibility .32s var(--ease) allow-discrete; }
.fp-faq details[open]::details-content { height:auto; opacity:1; transform:none; }
.fp-ans { padding:0 var(--space-m) var(--space-m); }
.fp-ans p { margin:0; font-size:var(--text-md); line-height:var(--line-relaxed); color:var(--color-ink-soft); }
.fp-ans p strong { color:var(--color-secondary); }

/* ---- Ask your GP (flyer CTA) ---- */
.fp-ask { display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-2xl); align-items:center; }
.fp-ask-copy h2 { color:var(--color-secondary); }
.fp-ask-copy p { font-size:var(--text-md); line-height:var(--line-relaxed); color:var(--color-ink-soft); margin:var(--space-s) 0 var(--space-m); max-width:34em; }
.fp-ask-cta { display:flex; align-items:center; gap:var(--space-s); flex-wrap:wrap; }
.fp-ask-cta [data-flyer][aria-disabled="true"] { opacity:.55; pointer-events:none; }
.fp-soon { font-size:var(--text-sm); font-weight:var(--weight-bold); letter-spacing:.08em; text-transform:uppercase; color:var(--color-ink-soft);
  background:var(--brand-50); border-radius:var(--radius-full); padding:var(--space-2xs) var(--space-xs); }
.fp-ask-media { display:flex; justify-content:center; }
.fp-ask-media img { width:100%; height:auto; max-width:520px; object-fit:contain; }

/* ---- Closing band (dark) ---- */
.fp-close { position:relative; overflow:hidden; background:var(--grad-hero); color:#fff; padding:var(--space-3xl) 0; text-align:center; }
.fp-close .wrap { position:relative; z-index:1; max-width:820px; }
.fp-close-q { font-size:var(--step-3); font-weight:var(--weight-bold); line-height:var(--line-normal); letter-spacing:-.01em; }
.fp-close-sub { margin:var(--space-m) 0 0; color:rgba(255,255,255,.82); font-size:var(--text-md); }

/* ---- Responsive ---- */
@media (max-width:920px) {
  .fp-hero-grid, .fp-split, .fp-ask { grid-template-columns:1fr; gap:var(--space-xl); }
  .fp-hero { padding-top:124px; }
  .fc-hero { padding:140px 0 var(--space-2xl); }
  .fp-split-media { order:-1; }
  .fp-evlist, .fp-steps, .fp-reasons { grid-template-columns:1fr; }
  .fp-ask-media { order:-1; max-width:420px; }
}
@media (max-width:620px) {
  .fp-hero-media > img { aspect-ratio:4/3; }
  .fp-float-card { left:0; right:0; margin:0 auto; max-width:none; bottom:-20px; }
  .fp-evidence { padding:var(--space-m); }
  .fp-evlist li, .fp-reason p { font-size:var(--text-md); }
}
