.home-hero { display:grid; padding-top:48px; padding-bottom:42px; grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr); align-items:center; gap:52px; }
.home-eyebrow { color:var(--orange-dark); font-size:.78rem; font-weight:900; }
.home-hero h1 { margin:14px 0 18px; font-size:clamp(2.8rem,5vw,4.5rem); font-weight:780; line-height:1.06; letter-spacing:-.07em; }
.home-hero h1 em { color:var(--orange-dark); font-style:normal; }
.home-hero-copy > p { max-width:560px; margin:0; color:var(--muted); font-size:1rem; line-height:1.75; word-break:keep-all; }
.home-actions { display:flex; margin-top:27px; flex-wrap:wrap; gap:9px; }
.home-actions a { display:inline-flex; min-height:48px; padding:0 18px; border-radius:10px; align-items:center; justify-content:center; font-size:.88rem; font-weight:900; text-decoration:none; }
.home-primary { color:#fff; background:var(--orange-dark); }
.home-secondary { border:1px solid var(--line-strong); background:var(--paper); }
.home-hero-visual { position:relative; overflow:hidden; height:390px; margin:0; border:1px solid var(--line); border-radius:20px; background:#dec9ae; }
.home-hero-visual img { width:100%; height:100%; object-fit:cover; }
.home-hero-visual figcaption { position:absolute; right:14px; bottom:14px; left:14px; padding:14px 16px; border-radius:11px; color:#fff; background:rgba(54,37,26,.86); }
.home-hero-visual b,.home-hero-visual span { display:block; }
.home-hero-visual b { font-size:.82rem; }
.home-hero-visual span { margin-top:3px; color:#eadfd7; font-size:.75rem; }

.reassurance { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8f8f4; }
.reassurance-list { display:flex; min-height:66px; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; }
.reassurance-list span { display:inline-flex; min-height:34px; padding:0 12px; border:1px solid #cdd6ce; border-radius:999px; align-items:center; color:#4e6355; background:#f2f5f0; font-size:.78rem; font-weight:800; }
.reassurance-list span::before { margin-right:6px; color:var(--olive); content:"✓"; }

.home-section { padding-top:74px; padding-bottom:74px; }
.home-section-head { display:flex; margin-bottom:24px; align-items:end; justify-content:space-between; gap:25px; }
.home-section-head span,.facilitator-copy > span,.first-guide header > span { color:var(--orange-dark); font-size:.76rem; font-weight:900; }
.home-section-head h2 { margin:5px 0 0; font-size:clamp(1.75rem,3vw,2.25rem); line-height:1.25; letter-spacing:-.055em; }
.home-section-head p { max-width:670px; margin:7px 0 0; color:var(--muted); font-size:.9rem; line-height:1.65; }
.home-section-head > a { min-height:44px; padding:10px 0; color:var(--orange-dark); font-size:.82rem; font-weight:900; text-decoration:none; white-space:nowrap; }
.home-section-head i { font-style:normal; }

.featured-programs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.featured-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--paper); }
.featured-cover { display:block; height:172px; overflow:hidden; }
.featured-cover img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.featured-card:hover .featured-cover img { transform:scale(1.015); }
.featured-body { display:flex; min-height:400px; padding:20px; flex-direction:column; }
.featured-badges { display:flex; align-items:center; gap:8px; }
.featured-body h3 { margin:13px 0 7px; font-size:1.18rem; letter-spacing:-.04em; }
.featured-body h3 a { text-decoration:none; }
.featured-body > p { display:-webkit-box; overflow:hidden; margin:0; color:var(--muted); font-size:.84rem; line-height:1.62; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.featured-body dl { display:grid; margin:18px 0 0; padding:13px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); gap:8px; }
.featured-body dl > div { display:grid; grid-template-columns:45px minmax(0,1fr); gap:8px; font-size:.76rem; line-height:1.45; }
.featured-body dt { color:var(--quiet); }
.featured-body dd { min-width:0; margin:0; color:var(--muted); overflow-wrap:anywhere; word-break:keep-all; }
.featured-body dl.meeting-essentials { padding:14px; border:0; border-radius:10px; background:var(--sage-soft); gap:10px; }
.featured-body .meeting-essentials > div { font-size:.88rem; line-height:1.6; }
.featured-body .meeting-essentials dt { color:var(--muted); }
.featured-body .meeting-essentials dd { color:var(--ink); font-weight:750; font-variant-numeric:tabular-nums; }
.featured-body dl.meeting-conditions { margin-top:12px; padding-top:0; border-top:0; }
.featured-body .meeting-conditions > div { font-size:.82rem; line-height:1.55; }
.featured-body .meeting-conditions dt { color:var(--muted); }
.featured-action { display:flex; min-height:44px; margin-top:auto; padding-top:14px; align-items:end; justify-content:space-between; color:var(--orange-dark); font-size:.82rem; font-weight:900; text-decoration:none; }
.featured-empty { display:grid; grid-column:1/-1; min-height:170px; padding:24px; border:1px solid var(--line); border-radius:15px; grid-template-columns:90px 1fr auto; align-items:center; gap:20px; background:var(--paper); }
.featured-empty img { width:82px; height:82px; object-fit:contain; }
.featured-empty strong { font-size:1.05rem; }
.featured-empty p { margin:5px 0 0; color:var(--muted); font-size:.85rem; }
.featured-empty a, .featured-empty button { display:inline-flex; min-height:44px; padding:0 14px; border:1px solid var(--line-strong); border-radius:9px; align-items:center; justify-content:center; color:var(--ink); background:var(--paper); font-size:.8rem; font-weight:900; text-decoration:none; cursor:pointer; }

.home-about { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#eceee9; }
.type-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.type-grid article { display:flex; min-height:300px; padding:28px; border:1px solid #decac0; border-radius:15px; flex-direction:column; background:#fffaf6; }
.type-grid article:nth-child(2) { border-color:#cbd5cc; background:#f5f7f3; }
.type-grid article:nth-child(2) b { color:var(--sage); }
.type-grid b { color:var(--orange-dark); font-size:.78rem; }
.type-grid h3 { margin:18px 0 10px; font-size:1.25rem; letter-spacing:-.04em; }
.type-grid p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.7; }
.type-grid ul { display:grid; margin:18px 0 0; padding:0; gap:7px; list-style:none; }
.type-grid li { color:#65574b; font-size:.82rem; }
.type-grid li::before { margin-right:7px; color:var(--olive); content:"✓"; font-weight:900; }
.type-grid a { display:flex; min-height:44px; margin-top:auto; padding-top:20px; align-items:flex-end; justify-content:space-between; color:var(--ink); font-size:.82rem; font-weight:900; text-decoration:none; }

.facilitator-feature { display:grid; grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr); align-items:center; gap:48px; }
.facilitator-art { overflow:hidden; height:430px; border:1px solid var(--line); border-radius:18px; }
.facilitator-art img { width:100%; height:100%; object-fit:cover; }
.facilitator-copy h2 { margin:8px 0 10px; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.06em; }
.facilitator-copy > p { max-width:570px; margin:0; color:var(--muted); font-size:.95rem; line-height:1.75; }
.facilitator-copy ol { display:grid; margin:24px 0 0; padding:0; border-top:1px solid var(--line-strong); list-style:none; }
.facilitator-copy li { display:grid; padding:14px 4px; border-bottom:1px solid var(--line); grid-template-columns:70px 1fr; align-items:center; gap:12px; }
.facilitator-copy li b { color:var(--orange-dark); font-size:.8rem; }
.facilitator-copy li small { color:var(--muted); font-size:.82rem; }
.facilitator-actions { display:flex; margin-top:22px; flex-wrap:wrap; gap:8px; }
.facilitator-actions a { display:inline-flex; min-height:46px; padding:0 15px; border:1px solid var(--line-strong); border-radius:9px; align-items:center; background:var(--paper); font-size:.82rem; font-weight:900; text-decoration:none; }
.facilitator-actions a:first-child { border-color:var(--ink); color:#fff; background:var(--ink); }

.first-guide { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8f8f4; }
.first-guide-grid { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); align-items:start; gap:64px; }
.first-guide header { position:sticky; top:108px; }
.first-guide h2 { margin:8px 0 12px; font-size:clamp(1.75rem,3vw,2.35rem); line-height:1.28; letter-spacing:-.055em; }
.first-guide header p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.7; }
.first-guide header a { display:inline-block; min-height:44px; margin-top:18px; padding:10px 0; color:var(--orange-dark); font-size:.82rem; font-weight:900; text-decoration:none; }
.faq-list { border-top:2px solid var(--ink); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; min-height:60px; padding:18px 42px 18px 5px; font-size:.92rem; font-weight:850; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { position:absolute; top:17px; right:6px; color:var(--orange-dark); content:"＋"; font-size:1.2rem; font-weight:500; }
.faq-list details[open] summary::after { content:"－"; }
.faq-list p { margin:-5px 40px 18px 5px; color:var(--muted); font-size:.86rem; line-height:1.7; }

.home-notices { border-top:2px solid var(--ink); }
.home-notices a { display:grid; min-height:58px; padding:15px 10px; border-bottom:1px solid var(--line); grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:15px; text-decoration:none; }
.home-notices span { color:var(--orange-dark); font-size:.76rem; font-weight:900; }
.home-notices strong { overflow:hidden; font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
.home-notices time { color:var(--quiet); font-size:.75rem; }

.other-services { border-top:1px solid var(--line); background:#e9ece8; }
.service-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.service-card { display:flex; min-height:230px; padding:26px; border:1px solid var(--line-strong); border-radius:15px; flex-direction:column; background:var(--paper); text-decoration:none; }
.service-card.help { border-color:#c5d4d9; background:#f4f8f9; }
.service-card > span { color:var(--orange-dark); font-size:.76rem; font-weight:900; }
.service-card.help > span { color:#426777; }
.service-card h3 { margin:23px 0 8px; font-size:1.25rem; }
.service-card p { max-width:440px; margin:0; color:var(--muted); font-size:.88rem; line-height:1.65; }
.service-card b { display:flex; margin-top:auto; padding-top:18px; align-items:center; justify-content:space-between; font-size:.82rem; }
.service-card i { font-style:normal; }

.home-team { display:grid; margin-top:70px; margin-bottom:70px; padding:26px; border:1px solid var(--line); border-radius:16px; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:24px; background:var(--paper); }
.home-team img { width:105px; height:105px; object-fit:contain; }
.home-team span { color:var(--orange-dark); font-size:.75rem; font-weight:900; }
.home-team h2 { margin:6px 0; font-size:1.2rem; line-height:1.35; }
.home-team p { max-width:620px; margin:0; color:var(--muted); font-size:.84rem; line-height:1.65; }
.home-team nav { display:grid; gap:7px; }
.home-team a { display:flex; min-height:42px; padding:0 13px; border:1px solid var(--line-strong); border-radius:8px; align-items:center; justify-content:center; font-size:.78rem; font-weight:900; text-decoration:none; }

@media (max-width:900px) {
  .home-hero { grid-template-columns:1fr; }
  .home-hero-visual { height:340px; }
  .featured-programs { grid-template-columns:1fr 1fr; }
  .featured-card:last-child { grid-column:1/-1; }
  .featured-card:last-child { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); }
  .featured-card:last-child .featured-cover { height:100%; }
  .facilitator-feature { grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr); gap:32px; }
  .first-guide-grid { gap:38px; }
  .home-team { grid-template-columns:90px 1fr; }
  .home-team nav { grid-column:1/-1; grid-template-columns:1fr 1fr; }
}

@media (max-width:680px) {
  .home-hero { padding-top:34px; padding-bottom:30px; gap:26px; }
  .home-hero h1 { font-size:clamp(2.5rem,12vw,3.2rem); }
  .home-hero-copy > p { font-size:.94rem; }
  .home-actions { display:grid; grid-template-columns:1fr; }
  .home-hero-visual { height:260px; }
  .reassurance-list { padding-top:12px; padding-bottom:12px; justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; }
  .reassurance-list span { flex:0 0 auto; }
  .home-section { padding-top:54px; padding-bottom:54px; }
  .home-section-head { align-items:flex-start; flex-direction:column; gap:9px; }
  .featured-programs { grid-template-columns:1fr; }
  .featured-card:last-child { display:block; grid-column:auto; }
  .featured-card:last-child .featured-cover { height:172px; }
  .featured-body { min-height:0; }
  .featured-action { margin-top:18px; }
  .featured-empty { grid-template-columns:70px 1fr; }
  .featured-empty img { width:66px; height:66px; }
  .featured-empty a { grid-column:1/-1; justify-content:center; }
  .type-grid { grid-template-columns:1fr; }
  .type-grid article { min-height:280px; padding:24px; }
  .facilitator-feature { grid-template-columns:1fr; gap:26px; }
  .facilitator-art { height:280px; }
  .first-guide-grid { grid-template-columns:1fr; gap:24px; }
  .first-guide header { position:static; }
  .service-cards { grid-template-columns:1fr; }
  .service-card { min-height:210px; }
  .home-notices a { grid-template-columns:68px minmax(0,1fr); }
  .home-notices time { display:none; }
  .home-team { grid-template-columns:1fr; }
  .home-team img { display:none; }
}

@media (min-width:681px) {
  .featured-card:only-child { display:grid; grid-column:1/-1; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  .featured-card:only-child .featured-cover { height:100%; min-height:320px; background:var(--sage-soft); }
  .featured-card:only-child .featured-cover img { object-fit:contain; padding:28px; }
  .featured-card:only-child .featured-body { min-height:0; padding:28px; }
}

@media (prefers-reduced-motion:reduce) {
  .featured-cover img { transition:none; }
}
