/* PS Safeguarding: people, families and carers, September 2026. */
.family-support { margin:0; background:#faf7fc; color:#30223c; font:17px/1.7 Arial,Helvetica,sans-serif; }
.family-support *, .family-support *::before, .family-support *::after { box-sizing:border-box; }
.family-support a { color:#542184; text-decoration:underline; text-underline-offset:3px; }
.family-support :is(h1,h2,h3,h4,p) { overflow-wrap:break-word; }
.family-support h1 { font:400 clamp(42px,6vw,78px)/1.08 Georgia,serif; letter-spacing:-.035em; margin:16px 0 24px; max-width:900px; }
.family-support h1 em { color:#ddc3ef; font-weight:400; }
.family-support h2 { font:400 clamp(30px,3.6vw,46px)/1.15 Georgia,serif; color:#351451; margin:10px 0 20px; }
.family-support h3 { font:400 26px/1.25 Georgia,serif; color:#351451; margin:0 0 14px; }
.family-support h4 { font:700 20px/1.4 Arial,Helvetica,sans-serif; margin:0 0 10px; }
.family-support p { margin:0 0 16px; }
.family-eyebrow { color:#66308c; font:700 13px/1.6 Arial,Helvetica,sans-serif; text-transform:uppercase; letter-spacing:.13em; }
.family-hero { padding:clamp(38px,6vw,76px) max(6vw,calc((100vw - 1120px)/2)); background:linear-gradient(125deg,#321346,#652b8e); color:#fff; }
.family-hero .family-eyebrow, .family-hero a { color:#fff; }
.family-lead { font-size:clamp(19px,2.2vw,23px); max-width:720px; }
.family-scope { max-width:800px; border-left:4px solid #d5b4eb; padding:12px 18px; background:rgba(255,255,255,.07); }
.family-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0 8px; }
.family-support .family-button, .ps-family-teaser .family-button, .ps-pathway-suggestion .family-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 21px; border:2px solid #542184; border-radius:999px; background:#542184; color:#fff; text-decoration:none; font:700 16px/1.5 Arial,Helvetica,sans-serif; text-align:center; cursor:pointer; white-space:normal; }
.family-support .family-button:hover, .ps-family-teaser .family-button:hover, .ps-pathway-suggestion .family-button:hover { background:#351451; border-color:#351451; }
.family-support .family-button-light, .ps-pathway-suggestion .family-button-light { background:#fff; color:#542184; }
.family-support .family-button-light:hover, .ps-pathway-suggestion .family-button-light:hover { background:#f0e5f7; color:#351451; }
.family-hero .family-button { background:#fff; color:#542184; border-color:#fff; }
.family-hero .family-button:hover { background:#eadcf4; color:#351451; border-color:#eadcf4; }
.family-hero .family-button-light { background:transparent; color:#fff; }
.family-urgent { background:#fff3cf; color:#332d24; padding:24px max(6vw,calc((100vw - 1120px)/2)); border-bottom:1px solid #dec98c; }
.family-urgent p:last-child { margin-bottom:0; }
.family-jumps { display:flex; flex-wrap:wrap; gap:8px 14px; max-width:1180px; margin:auto; padding:24px 30px; border-bottom:1px solid #ded2e7; }
.family-jumps a { display:flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid #d8c4e6; border-radius:10px; background:#fff; font-weight:700; }
.family-content { max-width:1180px; margin:auto; padding:40px 30px 16px; }
.family-content>section { margin:0 0 56px; }
.family-content [id] { scroll-margin-top:24px; }
.family-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0; }
.family-card { min-width:0; padding:26px; background:#fff; border:1px solid #ded2e7; border-radius:18px; box-shadow:0 8px 22px rgba(52,19,87,.04); }
.family-card>a { display:block; padding:8px 0; font-weight:700; }
.family-panel { padding:32px; border:1px solid #ded2e7; border-radius:22px; background:#f2eaf7; }
.family-list { padding-left:23px; }
.family-list li { margin-bottom:14px; }
.family-inset { padding:25px; border-left:4px solid #75429b; background:#fff; margin-top:24px; }
.family-source { font-size:15px; color:#594b64; }
.family-checker { background:#fff; border:1px solid #d6c4e2; border-radius:20px; padding:28px; margin-top:24px; }
.family-checker fieldset { min-width:0; border:0; padding:0; margin:0 0 28px; }
.family-checker legend { font-weight:700; font-size:19px; padding:0 0 12px; }
.family-check { display:flex; align-items:flex-start; gap:14px; border:1px solid #ded2e7; border-radius:12px; padding:15px; margin-bottom:10px; cursor:pointer; min-height:48px; }
.family-check:has(input:checked) { background:#f2e8f8; border-color:#75429b; }
.family-check input { flex:0 0 22px; width:22px; height:22px; margin:4px 0 0; accent-color:#542184; }
.family-check span { min-width:0; }
.family-results { margin-top:28px; padding:26px; background:#f5eff9; border:2px solid #75429b; border-radius:15px; }
.family-results article { background:#fff; padding:22px; border-radius:12px; margin:20px 0; }
.family-results li { margin-bottom:8px; }
.family-results ul { padding-left:24px; }
.family-support [hidden] { display:none !important; }
.family-support blockquote { margin:0; padding:14px 18px; border-left:4px solid #b292ca; background:#f9f5fc; }
.family-faqs details { margin:12px 0; padding:0 22px; border:1px solid #ded2e7; border-radius:12px; background:#fff; }
.family-faqs summary { padding:19px 0; cursor:pointer; font-size:18px; font-weight:700; line-height:1.5; }
.family-faqs details[open] summary { margin-bottom:15px; border-bottom:1px solid #ded2e7; }
.family-review-note { border-top:1px solid #ded2e7; padding:24px 0; font-size:15px; }
.ps-family-teaser { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin:32px auto; max-width:1180px; padding:30px; border:1px solid #d8c4e6; border-left:5px solid #75429b; border-radius:18px; background:#f4ecf9; color:#30223c; }
.ps-family-teaser>div { flex:1 1 320px; min-width:0; }
.ps-family-teaser h2, .ps-pathway-suggestion h3 { font:400 clamp(26px,3vw,36px)/1.2 Georgia,serif; color:#351451; margin:0 0 12px; }
.ps-family-teaser p, .ps-pathway-suggestion p { font:16px/1.7 Arial,Helvetica,sans-serif; color:#51415e; margin:0 0 14px; }
.ps-pathway-suggestion { margin-top:28px; padding:24px; border:1px solid #d8c4e6; border-radius:16px; background:#f5eef9; }
.ps-pathway-suggestion .family-actions { margin:16px 0; }
.ps-pathway-suggestion p:last-child { font-size:14px; margin-bottom:0; }
.ps-pathway-suggestion p a { color:#542184; text-decoration:underline; }
@media(max-width:700px) { .family-grid { grid-template-columns:1fr; } .family-content { padding:30px 18px 12px; } .family-jumps { padding:18px; } .family-panel,.family-checker,.family-results { padding:22px 18px; } .family-card,.family-inset { padding:22px; } .family-support .family-actions { align-items:stretch; } .family-actions .family-button { flex:1 1 220px; } .family-content>section { margin-bottom:40px; } .ps-family-teaser { margin:24px 18px; padding:24px; } }
@media(max-width:380px) { .family-hero { padding:34px 18px; } .family-support h1 { font-size:40px; } .family-checker,.family-results { padding:18px 12px; } .family-check { gap:10px; padding:12px; } }
@media(prefers-reduced-motion:reduce) { .family-support { scroll-behavior:auto; } }
