/* Little Haven public website: warm, bright and trustworthy, the way the leading ABA providers present themselves.
   Haven Green for trust, the logo's rainbow (coral, sun, leaf, sky) for warmth, Fraunces headlines, Nunito Sans text. */

body {
  --green: #1f5d43;     /* Haven Green */
  --green-dk: #123c2c;
  --coral: #f2836b; --sun: #f6b93b; --leaf: #6cc08b; --sky: #5bb4e5;
  --coral-bg: #fdeee9; --sun-bg: #fef4dd; --leaf-bg: #e8f5ec; --sky-bg: #e6f3fb;
  --ink: #1c2a24; --muted: #56655e; --line: #e2e8e3;
  --page: #f7faf8; --paper: #ffffff;
  --k-head: 'Fraunces', Georgia, 'Times New Roman', serif;
  --k-sans: 'Nunito Sans', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --r: 22px; --r-sm: 14px;
  --shadow: 0 1px 2px rgba(18, 60, 44, .05), 0 10px 30px -12px rgba(18, 60, 44, .18);
  margin: 0; background: var(--page); color: var(--ink); font: 400 1.0625rem/1.65 var(--k-sans);
  -webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3 { font-family: var(--k-head); font-weight: 600; font-variation-settings: 'SOFT' 100; color: var(--green-dk); letter-spacing: -.01em; }
body a { color: var(--green); }
section[id] { scroll-margin-top: 84px; }
body :focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; border-radius: 6px; }
.k-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
svg use { pointer-events: none; }

/* buttons */
.k-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 26px; border-radius: 999px;
  font: 700 1rem/1 var(--k-sans); text-decoration: none; cursor: pointer; border: 2px solid transparent; transition: transform .15s ease, background-color .2s, box-shadow .2s; }
.k-btn-sun { background: var(--green); color: #fff !important; box-shadow: 0 6px 16px -6px rgba(31, 93, 67, .55); }
.k-btn-sun:hover { background: var(--green-dk); transform: translateY(-1px); }
.k-btn-line { background: #fff; color: var(--green) !important; border-color: var(--green); }
.k-btn-line:hover { background: var(--leaf-bg); }
.k-btn-sm { min-height: 42px; padding: 0 18px; font-size: .95rem; }
.k-btn-block { width: 100%; }
.k-btn[disabled] { opacity: .6; cursor: progress; }

/* nav */
.k-nav { position: sticky; top: 0; z-index: 30; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--line); }
.k-nav-in { display: flex; align-items: center; gap: 18px; min-height: 72px; }
.k-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.k-logo img { width: 44px; height: 44px; border-radius: 12px; object-fit: cover; }
.k-logo > span { font: 600 1.2rem/1 var(--k-head); color: var(--green-dk); white-space: nowrap; }
.k-logo small { display: block; margin-top: 4px; font: 600 .74rem/1 var(--k-sans); color: var(--muted); }
.k-links { display: flex; gap: 22px; margin-left: auto; }
.k-links a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: .96rem; padding: 6px 0; }
.k-links a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--sun); text-decoration-thickness: 3px; }
.k-menu { display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 14px 0 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font: 700 .92rem var(--k-sans); cursor: pointer; }
.k-burger { display: grid; gap: 4px; }
.k-burger i { display: block; width: 16px; height: 2px; border-radius: 2px; background: var(--green); }
.k-lang { min-height: 42px; padding: 0 6px; border: 0; background: none; color: var(--ink); font: 600 .95rem var(--k-sans); cursor: pointer; white-space: nowrap; }
.k-call { display: inline-flex; align-items: center; gap: 6px; color: var(--green-dk) !important; font-weight: 700; text-decoration: none; white-space: nowrap; }
.k-call svg { width: 18px; height: 18px; fill: var(--green); flex-shrink: 0; }
.k-links a { white-space: nowrap; }
.k-menu, .k-nav-apply, .k-logo { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 1380px) { .k-links { display: none; } .k-lang { margin-left: auto; } }
@media (max-width: 720px) { .k-call span, .k-logo small { display: none; } .k-call { width: 42px; height: 42px; justify-content: center; border-radius: 50%; background: var(--leaf-bg); } }
@media (max-width: 520px) { .k-nav-apply { display: none; } .k-menu span:last-child { display: none; } .k-menu { padding: 0 12px; } .k-nav-in { gap: 10px; } .k-logo > span { font-size: 1.05rem; } }

/* hero */
.k-hero { position: relative; overflow: hidden; background: radial-gradient(60% 70% at 85% 20%, var(--sky-bg) 0%, transparent 70%), radial-gradient(50% 60% at 0% 100%, var(--sun-bg) 0%, transparent 70%), var(--paper); }
.k-hero-in { display: grid; grid-template-columns: 1.05fr .95fr; gap: 32px; align-items: center; padding-top: 56px; padding-bottom: 28px; }
.k-tag { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 6px 14px; border-radius: 999px; background: var(--leaf-bg); color: var(--green); font-weight: 700; font-size: .92rem; }
.k-tag::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--leaf); }
.k-hero h1 { font-size: clamp(2.7rem, 6.2vw, 4.6rem); line-height: 1.02; margin: 0 0 20px; font-weight: 650; }
.k-hero .k-hl { color: inherit; }
.k-lead { font-size: 1.2rem; line-height: 1.6; max-width: 34ch; margin: 0; color: var(--muted); }
.k-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 16px; }
.k-small { color: var(--muted); font-size: .95rem; margin: 0; }
.k-art { position: relative; }
.k-scene { width: 100%; max-width: 520px; display: block; margin: 0 auto; }
.sc-sun { fill: var(--sun); opacity: .9; }
.sc-abc { font: 800 26px var(--k-sans); fill: #fff; }
.sc-balloon { animation: k-float 5s ease-in-out infinite; transform-origin: 330px 230px; }
.sc-star { animation: k-twinkle 3.5s ease-in-out infinite; transform-origin: 127px 140px; }
@keyframes k-float { 50% { transform: translateY(-10px) rotate(-3deg); } }
@keyframes k-twinkle { 50% { transform: scale(1.12) rotate(8deg); } }
@media (prefers-reduced-motion: reduce) { .sc-balloon, .sc-star { animation: none; } }
.k-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: #fff; box-shadow: var(--shadow); font-weight: 700; font-size: .9rem; color: var(--green-dk); white-space: nowrap; }
.k-chip svg { width: 18px; height: 18px; fill: none; stroke: var(--green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.k-chip.c1 { top: 8%; left: 0; } .k-chip.c2 { bottom: 26%; right: -2%; } .k-chip.c3 { bottom: 4%; left: 8%; }
.k-trust { list-style: none; margin: 18px 0 0; padding: 18px 0 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.k-trust li { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm); font-size: .97rem; color: var(--ink); }
.k-trust b { color: var(--green-dk); }
.k-trust svg { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: var(--leaf-bg); fill: none; stroke: var(--green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) {
  .k-hero-in { grid-template-columns: 1fr; padding-top: 34px; }
  .k-art { max-width: 420px; margin: 0 auto; width: 100%; }
  .k-trust { grid-template-columns: 1fr; padding-bottom: 28px; }
}
@media (max-width: 420px) { .k-chip { font-size: .8rem; padding: 7px 11px; } .k-chip.c2 { right: 0; } }

/* bands */
.k-band { padding: clamp(56px, 8vw, 96px) 0; }
.k-h2 { font-size: clamp(2rem, 4.2vw, 2.9rem); line-height: 1.1; margin: 0 0 clamp(26px, 4vw, 44px); text-align: center; }
.k-left { text-align: left; }
.k-note { color: var(--muted); margin: 24px auto 0; max-width: 60ch; text-align: center; }

/* insurance */
.k-insurance { background: var(--green); padding: 42px 0; }
.k-insurance .k-h2 { color: #fff; font-size: clamp(1.4rem, 2.6vw, 1.8rem); margin-bottom: 20px; }
.k-ins { list-style: none; padding: 0; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.k-ins-card { padding: 10px 18px; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #fff; font-weight: 700; font-size: .98rem; }
.k-ins-card img { max-height: 32px; }
.k-insurance .k-note { color: rgba(255, 255, 255, .85); margin-top: 16px; }
.k-insurance .k-note a { color: #fff; font-weight: 700; }

/* apply */
.k-apply { background: var(--page); }
.k-apply-in { display: grid; grid-template-columns: 1fr minmax(320px, 480px); gap: clamp(30px, 6vw, 80px); align-items: center; }
.k-apply-copy .k-h2 { margin-bottom: 16px; }
.k-apply-copy .k-lead { max-width: 40ch; }
.k-ticks { list-style: none; padding: 0; margin: 26px 0 20px; display: grid; gap: 12px; }
.k-ticks li { position: relative; padding-left: 38px; font-weight: 600; }
.k-ticks li::before { content: '✓'; position: absolute; left: 0; top: -1px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--leaf); color: #fff; font-size: .85rem; font-weight: 800; }
.k-apply-card { background: var(--paper); padding: clamp(24px, 4vw, 38px); border-radius: var(--r); box-shadow: var(--shadow); border: 1px solid var(--line); border-top: 6px solid var(--sun); }
.k-apply-card:focus { outline: none; }
.k-apply-card h2 { font-size: clamp(1.6rem, 3vw, 2rem); margin: 0; }
.k-paper-sub { margin: 6px 0 20px; color: var(--muted); font-size: .97rem; }
.k-field { display: block; margin-bottom: 14px; }
.k-field > span { display: block; font-weight: 700; font-size: .92rem; margin-bottom: 6px; color: var(--ink); }
.k-field input, .k-field select { width: 100%; box-sizing: border-box; min-height: 52px; border: 2px solid var(--line); border-radius: var(--r-sm); padding: 0 14px; font: 400 1.05rem var(--k-sans); color: var(--ink); background: #fff; transition: border-color .2s, box-shadow .2s; }
.k-field input::placeholder { color: #9aa7a0; }
.k-field input:focus, .k-field select:focus { outline: none; border-color: var(--sky); box-shadow: 0 0 0 4px var(--sky-bg); }
.k-field input[aria-invalid="true"] { border-color: #c4452f; box-shadow: 0 0 0 4px #fbe3dd; }
.k-drop { display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin: 4px 0 12px; border: 2px dashed #c6d3cb; border-radius: var(--r-sm); background: var(--page); cursor: pointer; position: relative; transition: border-color .2s, background-color .2s; }
.k-drop:hover, .k-drop:focus-within { border-color: var(--leaf); background: var(--leaf-bg); }
.k-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.k-drop-ico { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--sky-bg); color: var(--sky); font: 800 1.4rem/1 var(--k-sans); }
.k-drop-card .k-drop-ico { background: var(--sun-bg); color: #c98a08; }
.k-drop-txt b { display: block; font-weight: 700; font-size: 1rem; line-height: 1.3; }
.k-drop-txt small { color: var(--muted); font-size: .88rem; }
.k-drop.has-file { border-style: solid; border-color: var(--leaf); background: var(--leaf-bg); }
.k-drop.has-file .k-drop-ico { background: var(--leaf); color: #fff; font-size: 1.1rem; }
.k-apply-card .k-btn-block { margin-top: 8px; }
.k-fine { font-size: .82rem; color: var(--muted); margin: 12px 0 0; line-height: 1.5; }
#applyAlert:not(:empty) { margin-bottom: 12px; }
.k-done { text-align: center; }
.k-done-badge { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 14px; border-radius: 50%; background: var(--leaf); color: #fff; font-size: 1.8rem; font-weight: 800; }
.k-done p { color: var(--muted); margin: 8px 0 0; }
.k-track { margin-top: 22px; padding: 20px; background: var(--sky-bg); border-radius: var(--r-sm); text-align: left; }
.k-track h3 { font-size: 1.3rem; margin: 0; }
.k-track p { margin: 6px 0 14px; font-size: .98rem; }
.k-row2 { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.k-row2 .k-btn { flex: 1; min-width: 150px; }
.k-plain { background: none; border: 0; color: var(--muted); font: 600 .95rem var(--k-sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 10px; }
@media (max-width: 880px) { .k-apply-in { grid-template-columns: 1fr; } }

/* what we do */
.k-what { background: var(--paper); }
.k-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.k-card { padding: 30px 26px; border-radius: var(--r); text-align: left; }
.k-card.c-sky { background: var(--sky-bg); } .k-card.c-sun { background: var(--sun-bg); } .k-card.c-mint { background: var(--leaf-bg); }
.k-card h3 { font-size: 1.45rem; line-height: 1.15; margin: 16px 0 8px; }
.k-card p { margin: 0; color: var(--ink); opacity: .85; }
.k-ico { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: #fff; }
.k-ico svg { width: 26px; height: 26px; fill: none; stroke: var(--green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.c-sky .k-ico svg, .i-sky svg { stroke: #2b88bf; } .c-sun .k-ico svg, .i-sun svg { stroke: #c98a08; } .c-mint .k-ico svg, .i-mint svg { stroke: var(--green); } .i-coral svg { stroke: #d65c42; }
@media (max-width: 820px) { .k-cards { grid-template-columns: 1fr; } }

/* where are you starting? */
.k-start { background: var(--page); }
.k-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.k-path { padding: 30px; border-radius: var(--r); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: flex-start; }
.k-path h3 { font-size: 1.45rem; margin: 0 0 10px; }
.k-path p { color: var(--muted); margin: 0 0 22px; flex: 1; }
.k-path { border-top: 6px solid var(--leaf); } .k-path-b { border-top-color: var(--coral); }
@media (max-width: 820px) { .k-paths { grid-template-columns: 1fr; } }

/* how it works */
.k-how { background: var(--paper); }
.k-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: none; }
.k-steps li { position: relative; padding: 28px 24px; border-radius: var(--r); background: var(--page); text-align: left; }
.k-num { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; font: 800 1.2rem/1 var(--k-sans); color: #fff; margin-bottom: 14px; }
.k-num.n1 { background: var(--coral); } .k-num.n2 { background: var(--sun); } .k-num.n3 { background: var(--leaf); }
.k-steps h3 { font-size: 1.35rem; line-height: 1.2; margin: 0 0 6px; }
.k-steps p { margin: 0; color: var(--muted); }
@media (max-width: 820px) { .k-steps { grid-template-columns: 1fr; } }

/* why families choose us */
.k-why { background: var(--sky-bg); }
.k-why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.k-why-grid > div { padding: 26px; border-radius: var(--r); background: #fff; }
.k-why-grid h3 { font-size: 1.25rem; margin: 14px 0 6px; }
.k-why-grid p { margin: 0; color: var(--muted); }
.k-why-grid .k-ico { background: var(--page); }
.k-why-grid .i-sky { background: var(--sky-bg); } .k-why-grid .i-sun { background: var(--sun-bg); } .k-why-grid .i-mint { background: var(--leaf-bg); } .k-why-grid .i-coral { background: var(--coral-bg); }
@media (max-width: 900px) { .k-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .k-why-grid { grid-template-columns: 1fr; } }

/* FAQ */
.k-faq { background: var(--paper); }
.k-faq-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 5vw, 60px); align-items: start; }
.k-faq-list details { border-bottom: 1px solid var(--line); }
.k-faq-list summary { cursor: pointer; list-style: none; padding: 20px 40px 20px 0; position: relative; font-weight: 700; font-size: 1.08rem; color: var(--green-dk); }
.k-faq-list summary::-webkit-details-marker { display: none; }
.k-faq-list summary::after { content: '+'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--leaf-bg); color: var(--green); font-size: 1.2rem; }
.k-faq-list details[open] summary::after { content: '−'; }
.k-faq-list p { margin: 0 0 20px; color: var(--muted); max-width: 62ch; }
@media (max-width: 820px) { .k-faq-in { grid-template-columns: 1fr; } }

/* who are you */
.k-join { background: var(--page); }
.k-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.k-door { display: flex; flex-direction: column; gap: 8px; padding: 28px; border-radius: var(--r); text-decoration: none; color: var(--ink) !important; cursor: pointer; transition: transform .15s ease, box-shadow .2s; }
.k-door.d-coral { background: var(--coral-bg); } .k-door.d-sky { background: var(--sky-bg); } .k-door.d-sun { background: var(--sun-bg); }
.k-door b { font: 600 1.45rem/1.15 var(--k-head); font-variation-settings: 'SOFT' 100; color: var(--green-dk); }
.k-door span:last-child { color: var(--muted); }
.k-door::after { content: '→'; margin-top: 8px; font-weight: 800; color: var(--green); }
.k-door:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
@media (max-width: 820px) { .k-doors { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .k-door, .k-btn { transition: none; } .k-door:hover, .k-btn-sun:hover { transform: none; } }

/* contact */
.k-contact { background: var(--green); text-align: center; }
.k-contact .k-h2 { color: #fff; margin-bottom: 12px; }
.k-big { font: 650 clamp(2.4rem, 7vw, 4.2rem)/1.05 var(--k-head); margin: 0; }
.k-big a { color: #fff; text-decoration: none; }
.k-big a:hover { text-decoration: underline; text-decoration-color: var(--sun); text-underline-offset: 8px; }
.k-contact .k-note { color: rgba(255, 255, 255, .85); line-height: 1.8; margin-bottom: 24px; }
.k-contact .k-note a { color: #fff; }
.k-contact .k-btn-sun { background: var(--sun); color: var(--green-dk) !important; box-shadow: none; }
.k-contact .k-btn-sun:hover { background: #ffc955; }

/* footer */
.k-footer { background: var(--green-dk); color: rgba(255, 255, 255, .75); padding: 40px 0 26px; font-size: .92rem; }
.k-footer a { color: rgba(255, 255, 255, .9); text-decoration: none; cursor: pointer; }
.k-footer a:hover { color: var(--sun); }
.k-footer-in { display: flex; flex-wrap: wrap; gap: 16px 28px; justify-content: space-between; align-items: center; padding-bottom: 22px; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.k-footer-brand { display: inline-flex; align-items: center; gap: 10px; }
.k-logo-crest { width: 32px; height: 27px; fill: none; stroke: var(--sun); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.k-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.k-tiny { font-size: .8rem; opacity: .75; margin-top: 16px; }

/* left side bar */
.k-drawer-bg { position: fixed; inset: 0; z-index: 60; background: rgba(18, 60, 44, .4); }
.k-drawer { position: fixed; z-index: 61; top: 0; bottom: 0; left: 0; width: min(400px, 90vw); background: var(--paper); padding: 24px 24px 28px; overflow-y: auto; transform: translateX(-102%); visibility: hidden; transition: transform .3s ease, visibility .3s; display: flex; flex-direction: column; gap: 22px; border-radius: 0 var(--r) var(--r) 0; }
.k-drawer.is-open { transform: none; visibility: visible; box-shadow: 20px 0 60px rgba(18, 60, 44, .2); }
.k-drawer-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.k-drawer-top strong { font: 600 1.5rem/1.15 var(--k-head); color: var(--green-dk); }
.k-x { width: 44px; height: 44px; flex: none; border: 0; border-radius: 50%; background: var(--page); font-size: 1rem; cursor: pointer; color: var(--ink); }
.k-who { display: grid; gap: 10px; }
.k-who-btn { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: var(--r-sm); text-decoration: none; color: var(--ink) !important; cursor: pointer; transition: transform .15s; }
.k-who-btn.w-sun { background: var(--sun-bg); } .k-who-btn.w-sky { background: var(--sky-bg); } .k-who-btn.w-pink { background: var(--coral-bg); } .k-who-btn.w-staff { background: var(--leaf-bg); }
.k-who-btn:hover { transform: translateX(4px); }
.k-who-btn b { display: block; font-weight: 800; font-size: 1.05rem; }
.k-who-btn small { display: block; color: var(--muted); font-size: .88rem; line-height: 1.4; margin-top: 2px; }
.k-who-ico { width: 44px; height: 44px; flex: none; border-radius: 12px; background: #fff; display: grid; place-items: center; }
.k-who-ico svg { width: 22px; height: 22px; fill: none; stroke: var(--green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.k-drawer-more { display: grid; gap: 8px; margin-top: auto; }
.k-drawer-more a:not(.k-btn) { color: var(--green); text-align: center; padding: 8px; cursor: pointer; font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .k-drawer, .k-who-btn { transition: none; } }

/* insurance logo strip (bottom of page) */
.k-logos { background: #fff; padding: 44px 0 40px; border-top: 1px solid rgba(31, 93, 67, .12); text-align: center; }
.k-logos-h { font-family: 'Fraunces', Georgia, serif; color: var(--green-dk); font-size: clamp(1.25rem, 2.4vw, 1.6rem); margin: 0 0 24px; }
.k-logo-row { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 1100px; }
.k-logo-row li { flex: 0 1 124px; }
.k-logo-row li { display: flex; align-items: center; justify-content: center; height: 92px; padding: 12px 16px; border: 1px solid #e6ece8; border-radius: 14px; background: #fff; }
.k-logo-row img { max-width: 100%; max-height: 62px; object-fit: contain; }
.k-logos-note { margin: 20px auto 0; max-width: none; color: #4a5a52; }
@media (max-width: 520px) { .k-logo-row { gap: 10px; } .k-logo-row li { flex-basis: calc(50% - 5px); height: 80px; } }
.k-logos .wrap { text-align: center; }

/* Apply section (Google Ads lands on #apply): heading never hidden under the sticky top menu */
#apply, #apply-section, #applyBox { scroll-margin-top: 96px; }
.k-opt { font-weight: 400; color: var(--muted, #5b6b63); font-size: .9em; }
.k-accept { margin: 12px 0 14px; padding: 10px 12px; background: #eef7ea; border: 1px solid #b6d7a8; border-radius: 10px; font-size: .95rem; line-height: 1.45; }
.k-talk { text-align: center; margin: 12px 0 4px; font-size: 1rem; }
.k-talk a { font-weight: 700; }
.k-talk-num { white-space: nowrap; }

.k-faq-more { grid-column: 2; margin: -20px 0 0; font-weight: 700; }
@media (max-width: 820px) { .k-faq-more { grid-column: 1; margin: 0; } }

/* Where we serve (state pages and the main homepage) */
.k-areas { padding: 52px 0; background: #fff; border-top: 1px solid var(--line); }
.k-areas .k-h2 { margin-bottom: 8px; }
.k-areas-lede { color: var(--muted); max-width: 62ch; margin: 0 0 22px; }
.k-areas-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px 22px; }
.k-areas-list li { padding: 12px 0 12px 14px; border-left: 3px solid var(--leaf); }
.k-areas-list b { display: block; font-family: var(--k-head); font-weight: 600; color: var(--green-dk); font-size: 1.05rem; }
.k-areas-list span { display: block; color: var(--muted); font-size: .92rem; line-height: 1.5; }
.k-state-fixed { display: block; padding: 12px 14px; border-radius: 12px; background: var(--leaf-bg); color: var(--green-dk); }
.k-ins-free { color: #fff; text-align: center; font-size: 1.1rem; margin: 0 auto; max-width: 52ch; }

/* Link to Little Haven Supports (adult DDD services), New Jersey only */
.k-adults { background: #10301f; color: #dce9e1; padding: 26px 0; }
.k-adults-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.k-adults p { margin: 0; max-width: 70ch; }
.k-adults b { color: #fff; }
.k-adults .k-btn { background: #fff; color: #10301f; }
