/* Family archive homepage. All selectors below are scoped to its components. */
.main-content { width:min(1328px,100% - 96px); padding-top:24px; }
.home-hero { position:relative; padding:0 8px 20px; }
.home-hero-copy { position:relative; z-index:1; width:76%; }
.home-eyebrow { display:flex; align-items:center; gap:10px; font-size:.78rem; letter-spacing:.055em; margin:0 0 9px; }
.home-eyebrow span { width:36px; height:1px; background:currentColor; opacity:.5; }
.home-hero h1 { font-size:clamp(2.5rem,3.7vw,3.65rem); line-height:1.12; margin:0 0 8px; font-weight:500; letter-spacing:-.045em; }
.home-motto { color:var(--muted); font:italic clamp(1.35rem,2.1vw,2.05rem)/1.3 Georgia,serif; min-height:1.3em; margin:0 0 12px; }
.home-introduction { font-size:1.08rem; line-height:1.5; margin:0 0 16px; max-width:840px; }
.home-hero-art { position:absolute; top:-25px; right:-2px; width:34%; height:320px; display:flex; align-items:center; pointer-events:none; }
.home-hero-art img { width:78%; max-height:320px; object-fit:contain; mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent),linear-gradient(to bottom,transparent,black 5%,black 95%,transparent); mask-composite:intersect; }
.home-hero-art p { position:relative; margin:0 0 18px -4px; width:27%; font:italic 1.3rem/1.55 Georgia,serif; color:#69533c; }
.home-hero-art p span { display:block; width:80%; height:1px; background:#b1a796; margin-top:22px; }
.home-statistics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; width:68%; margin:0; }
.home-statistics > div { display:grid; grid-template-columns:47px 1fr; grid-template-rows:auto auto; gap:0 14px; align-content:center; align-items:center; min-height:80px; padding:13px 15px; border:1px solid rgb(41 67 50 / 5%); background:var(--card); border-radius:10px; box-shadow:0 5px 20px rgb(40 57 41 / 3%); }
.home-statistics svg { grid-column:1; grid-row:1 / 3; width:47px; height:47px; padding:11px; background:var(--accent-weak); color:var(--accent); border-radius:12px; }
.home-statistics dd { grid-column:2; grid-row:1; margin:0; color:var(--text); font:600 1.3rem/1.2 Georgia,serif; letter-spacing:-.04em; }
.home-statistics dt { grid-column:2; grid-row:2; color:var(--muted); font-size:.72rem; line-height:1.4; margin-top:3px; }
.home-statistics dt small { display:block; font-size:.55rem; margin-top:3px; }
.home-start .home-offers { margin:0; scroll-margin-top:110px; }
.home-packages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:16px; }
.home-package { position:relative; display:flex; flex-direction:column; min-width:0; padding:19px 23px 0; background:var(--card); border:1px solid rgb(40 68 49 / 7%); border-radius:10px; box-shadow:0 5px 25px rgb(33 52 39 / 3%); }
.home-package-recommended { border-color:var(--accent); background:linear-gradient(130deg,var(--card),var(--accent-weak)); }
.home-recommended-label { position:absolute; top:-5px; left:50%; transform:translateX(-50%); padding:4px 14px; border-radius:6px; background:#214f3e; color:#fff; font-size:.69rem; letter-spacing:.05em; white-space:nowrap; }
.home-package-kind { display:flex; align-items:center; gap:15px; min-height:50px; margin-bottom:7px; }
.home-package-kind > span { display:grid; place-items:center; flex:0 0 50px; height:50px; border-radius:50%; background:var(--accent-weak); color:var(--accent); }
.home-package-kind p { font-size:.67rem; letter-spacing:.055em; line-height:1.5; margin:0; }
.home-package h2 { margin:0 0 6px; font-size:clamp(1.5rem,1.95vw,1.95rem); font-weight:500; letter-spacing:-.045em; line-height:1.18; }
.home-package-audience { margin:0; font-size:.85rem; line-height:1.5; min-height:26px; }
.home-package-price { margin:0 0 9px; line-height:1; }
.home-package-price strong { font:500 3.35rem/1 Georgia,serif; letter-spacing:-.07em; }
.home-package-price > span { font:1.45rem Georgia,serif; }
.home-package-price small { display:block; font-size:.78rem; line-height:1.4; margin-top:5px; }
.home-package-core { display:flex; flex:1; flex-direction:column; min-height:235px; padding-top:13px; border-top:1px solid var(--border); }
.home-package-features { list-style:none; display:grid; gap:14px; margin:0 0 20px; padding:0; }
.home-package-features li { display:flex; align-items:flex-start; gap:14px; font-size:.8rem; line-height:1.55; }
.home-package-features svg { color:var(--accent); margin-top:1px; }
.home-package-core .home-package-select { width:100%; margin-top:auto; margin-bottom:18px; border-color:var(--accent); padding:11px 8px; min-height:46px; font-size:.86rem; }
.home-package .primary { background:#214f3e; border-color:#214f3e; color:#fff; }
.home-package .primary:hover { background:#28634c; }
.home-package .home-package-details { margin:0; border-top:1px solid var(--border); border-bottom:0; }
.home-package .home-package-details > summary { font-size:.81rem; font-weight:500; min-height:54px; color:var(--text); }
.home-package .home-package-details .package-expanded-copy { font-size:.82rem; padding-bottom:18px; }
.home-package .home-package-details .package-description-heading { font:600 .9rem/1.5 'Segoe UI',Arial,sans-serif; letter-spacing:0; }
.home-external-note { font-size:.75rem; color:var(--muted); }
.home-free-search { display:grid; gap:0; margin:0; }
.home-free-search .person-search-fields { display:contents; }
.home-free-search .person-name-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; order:1; }
.home-free-search .person-field label { font-size:.78rem; font-weight:400; margin:0 0 6px; }
.home-free-search .person-field input { min-height:40px; padding:8px 10px; font-size:.79rem; border-radius:5px; }
.home-free-search .person-search-submit { order:2; margin-top:13px; min-height:46px; padding:10px 8px; font-size:.86rem; gap:8px; }
.home-free-search .person-search-details { order:3; margin:5px 0 0; border:0; }
.home-free-search .person-search-details > summary { padding:4px 0; min-height:28px; font-size:.69rem; font-weight:400; }
.home-free-search .person-search-details > summary small,.home-free-search .home-detail-plus { display:none; }
.home-free-search .person-detail-fields { grid-template-columns:1fr; padding:12px; margin:8px 0; gap:12px; }
.home-free-search .person-search-error,.home-free-search #search-status { order:4; }
.home-free-search #search-status:empty { display:none; }
.home-free-benefits { list-style:none; padding:0; margin:5px 0 12px; display:grid; gap:3px; }
.home-free-benefits li { display:flex; align-items:center; gap:10px; font-size:.74rem; line-height:1.5; }
.home-free-benefits svg { color:var(--accent); }
.home-trust { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:0; margin:21px 0 0; padding:25px 0; border-top:1px solid var(--border); }
.home-trust li { display:flex; gap:20px; align-items:center; padding:0 24px; }
.home-trust li:first-child { padding-left:7px; }
.home-trust li + li { border-left:1px solid var(--border); }
.home-trust svg { color:var(--accent); }
.home-trust strong,.home-trust span { display:block; font-weight:400; font-size:.78rem; line-height:1.5; }
.home-trust span { color:var(--muted); font-size:.72rem; margin-top:3px; }
.home-more-help { display:flex; gap:35px; align-items:center; border-top:1px solid var(--border); padding:27px 8px 0; margin-top:8px; }
.home-more-help h2 { margin:0 0 6px; font-size:1.55rem; }
.home-more-help p { margin:0; font-size:.82rem; color:var(--muted); }
.home-more-help .btn { flex-shrink:0; margin-left:auto; border-color:var(--accent); }
.home-scope-note { font-size:.73rem; color:var(--muted); padding:0 8px; margin:15px 0 0; }
:root[data-theme=dark] .home-hero-art { opacity:.8; }
:root[data-theme=dark] .home-hero-art img { mix-blend-mode:normal; border-radius:40%; mask-image:radial-gradient(ellipse,black 45%,transparent 72%); }
:root[data-theme=dark] .home-hero-art p { color:var(--muted); }
:root[data-theme=dark] .home-package,:root[data-theme=dark] .home-statistics > div { border-color:var(--border); }
:root[data-theme=dark] .home-package-recommended { border-color:var(--accent); }
@media(min-width:1101px) { .home-package { min-height:535px; } .home-package-core { flex:1; } }
@media(max-width:1300px) and (min-width:1101px) {
  .home-hero-art { width:31%; } .home-hero-art p { font-size:1.05rem; }
  .home-hero h1 { font-size:3rem; } .home-motto { font-size:1.6rem; }
  .home-statistics { width:72%; gap:10px; }
  .home-statistics > div { padding:12px 10px; gap:0 9px; grid-template-columns:35px 1fr; }
  .home-statistics svg { width:35px; height:39px; padding:7px; }
  .home-statistics dd { font-size:1.1rem; } .home-statistics dt { font-size:.62rem; }
  .home-package { min-height:550px; padding-inline:18px; } .home-package-kind { gap:10px; } .home-package-kind p { font-size:.6rem; }
  .home-package-audience { min-height:43px; font-size:.8rem; } .home-package-features li { font-size:.76rem; gap:10px; }
  .home-package-core { min-height:247px; } .home-trust li { gap:12px; padding-inline:16px; }
}
@media(max-width:1100px) {
  .main-content { width:calc(100% - 48px); } .home-hero-copy { width:74%; }
  .home-hero h1 { max-width:640px; font-size:clamp(2.3rem,4.7vw,3.2rem); }
  .home-hero-art { top:-5px; width:31%; height:260px; } .home-hero-art img { width:100%; max-height:240px; } .home-hero-art p { display:none; }
  .home-introduction { max-width:620px; font-size:.97rem; } .home-motto { font-size:1.45rem; min-height:2.6em; margin-bottom:8px; }
  .home-statistics { width:100%; } .home-packages { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .home-package { min-height:535px; } .home-package h2 { font-size:2rem; } .home-package-audience { min-height:23px; } .home-package-core { min-height:230px; }
  .home-trust { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:25px; } .home-trust li:nth-child(3) { padding-left:7px; border:0; }
}
@media(max-width:700px) {
  .main-content { width:calc(100% - 32px); padding-top:23px; } .home-hero { padding:0 0 22px; } .home-hero-copy { width:100%; }
  .home-eyebrow { font-size:.63rem; margin-bottom:10px; } .home-hero h1 { font-size:2.45rem; max-width:470px; margin-bottom:12px; }
  .home-motto { font-size:1.25rem; min-height:3.9em; max-width:70%; margin-bottom:0; }
  .home-introduction { font-size:.85rem; max-width:100%; padding-top:12px; margin-bottom:18px; }
  .home-hero-art { width:32%; height:140px; top:92px; right:-4px; } .home-hero-art img { max-height:150px; }
  .home-statistics { gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-statistics > div:last-child { grid-column:1 / -1; }
  .home-statistics > div { min-height:76px; padding:11px; grid-template-columns:35px 1fr; gap:0 10px; }
  .home-statistics svg { width:35px; height:41px; padding:7px; } .home-statistics dd { font-size:1.16rem; } .home-statistics dt { font-size:.64rem; } .home-statistics dt small { font-size:.5rem; }
  .home-packages { grid-template-columns:1fr; gap:22px; } .home-package { min-height:0; padding:22px 23px 0; } .home-package h2 { font-size:2rem; }
  .home-package-kind p { font-size:.7rem; } .home-package-audience { min-height:0; margin-bottom:15px; } .home-package-core { min-height:0; }
  .home-package-features { margin-bottom:22px; gap:15px; } .home-package-features li { font-size:.84rem; }
  .home-free-search .person-field input { font-size:16px; min-height:44px; } .home-free-search .person-name-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-free-search .person-search-details > summary { min-height:38px; font-size:.76rem; } .home-free-benefits { font-size:.8rem; margin-bottom:16px; }
  .home-package .home-package-details > summary { min-height:58px; }
  .home-trust { margin-top:24px; padding:24px 0; row-gap:22px; } .home-trust li { align-items:flex-start; gap:10px; padding-inline:10px; }
  .home-trust svg { width:25px; height:25px; } .home-trust strong { font-size:.73rem; } .home-trust span { font-size:.66rem; }
  .home-more-help { flex-direction:column; align-items:flex-start; gap:18px; padding:24px 0 0; } .home-more-help .btn { margin:0; } .home-scope-note { padding:0; }
}
@media(max-width:370px) {
  .home-hero h1 { font-size:2.15rem; } .home-statistics > div { gap:0 7px; padding:10px 8px; grid-template-columns:29px 1fr; }
  .home-statistics svg { width:29px; height:36px; padding:5px; } .home-statistics dd { font-size:1.04rem; } .home-package { padding-inline:19px; }
}
@media(prefers-reduced-motion:reduce) { .home-package .btn { transition:none; } }
