.search-experience{display:grid;flex:1;grid-template-rows:1fr auto;background:transparent}.search-experience[data-compact=true],:root[data-restoring-results] .search-experience{grid-template-rows:auto 1fr}.search-hero{display:grid;width:min(100% - 32px,760px);align-content:start;justify-self:center;padding:max(48px,32vh) 0 30px}.search-experience[data-compact=true] .search-hero,:root[data-restoring-results] .search-hero{padding:22px 0 24px}.search-experience[data-compact=true] .search-copy,:root[data-restoring-results] .search-copy{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.search-copy{display:grid;gap:20px;justify-items:center;margin-bottom:26px;text-align:center}.search-copy h1{max-width:760px;margin:0;color:var(--color-text-display);font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.2rem);font-weight:500;line-height:1.04;letter-spacing:-.01em}.search-copy h1 em{font-style:italic;color:var(--color-section-nursery)}.search-copy h1 .headline-mark{box-shadow:inset 0 -.1em 0 var(--color-headline-mark)}.search-copy p{max-width:54ch;color:var(--color-text-muted);font-size:1.02rem;line-height:1.62}.search-panel{width:100%}.search-field-anchor{position:relative;width:100%}.search-field{display:grid;min-height:62px;grid-template-columns:auto 1fr;align-items:center;gap:14px;border:2px solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-bg-surface);box-shadow:var(--shadow-field);color:var(--color-section-nursery);padding:0 26px;transition:transform .16s ease,box-shadow .16s ease}.search-field:focus-within{transform:translate(2px,2px);box-shadow:var(--shadow-hard-sm)}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--color-text-strong);font:inherit;font-size:1.02rem;font-weight:500}.search-field input::placeholder{color:var(--color-text-faint);font-weight:400}.suggestion-panel{position:absolute;z-index:10;top:calc(100% + 8px);left:0;width:100%;max-height:min(376px,52dvh);overflow:hidden auto;border:2px solid var(--color-ink);border-radius:14px;margin:0;padding:0;background:var(--color-bg-page);box-shadow:var(--shadow-hard-sm);list-style:none}.suggestion-panel li{display:grid;min-height:46px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;color:var(--color-text-muted);cursor:pointer;padding:10px 16px}.suggestion-panel li+li{border-top:1px solid var(--color-border-subtle)}.suggestion-panel li[data-active]{background:var(--color-bg-accent-soft);color:var(--color-text-strong)}@media(hover:hover)and (pointer:fine){.suggestion-panel li:hover{background:var(--color-bg-accent-softer);color:var(--color-text-strong)}}.suggestion-text{display:flex;min-width:0;align-items:baseline;gap:6px}.suggestion-text strong{color:var(--color-text-strong);font-size:.94rem;white-space:nowrap}.suggestion-text span{min-width:0;overflow:hidden;color:var(--color-text-subtle);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.row-icon,.arrow-icon{flex:0 0 auto}.status-panel--inline{position:static;margin-top:12px}.status-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--color-text-muted);font-size:.94rem;padding:13px 18px}.status-panel button,.results-status button{border:2px solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;font:inherit;font-weight:700;padding:9px 16px;box-shadow:var(--shadow-hard-sm);transition:transform .14s ease,box-shadow .14s ease}.status-panel button:hover,.results-status button:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--color-shadow-ink)}.validation-message{margin-top:12px;color:var(--color-text-error-strong);font-size:.94rem;font-weight:600}.results-area{width:min(100% - 32px,1040px);justify-self:center;padding:0 0 56px}.results-status,.stale-banner{border:2px solid var(--color-border-card);border-radius:var(--radius-surface);margin-top:18px;background:var(--color-bg-surface);color:var(--color-text-muted);padding:16px 18px}.results-status.error,.stale-banner{border-color:var(--color-border-error);background:var(--color-bg-error-soft);color:var(--color-text-error);font-weight:500}.results-status.error{display:flex;align-items:center;justify-content:space-between;gap:16px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.filters button{min-height:44px;border:2px solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-bg-surface);color:var(--color-text-strong);cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;padding:0 18px;box-shadow:var(--shadow-hard-sm)}.filters button:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--color-shadow-ink)}.filters button:focus-visible,.card-actions a:focus-visible,.status-panel button:focus-visible,.results-status button:focus-visible{outline:2px solid var(--color-section-nursery);outline-offset:3px}.filters button.active{border-color:var(--color-filter-active-border);background:var(--color-filter-active-bg);color:var(--color-filter-active-text);box-shadow:3px 3px 0 var(--color-filter-active-shadow)}.result-groups{display:grid;gap:20px}.result-group{display:grid;gap:12px;--tone: var(--color-section-nursery)}.result-group[data-kind=kindergarten]{--tone: var(--color-section-kindergarten)}.result-group[data-kind=preschool]{--tone: var(--color-section-preschool)}.result-group h2{display:flex;align-items:baseline;gap:12px;margin:0;color:var(--color-text-strong);font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.1}.result-group h2 .group-count{background:var(--tone);border-radius:999px;color:var(--color-text-on-accent);font-family:var(--font-ui);font-size:.68rem;font-weight:800;letter-spacing:.06em;padding:4px 10px;transform:translateY(-4px)}.group-rule{height:3px;border-radius:2px;background:var(--tone);margin-bottom:6px}.group-note{max-width:none;border-left:4px solid var(--tone);border-radius:0 12px 12px 0;background:var(--color-bg-surface-muted);color:var(--color-text-muted);font-size:.94rem;line-height:1.55;padding:13px 16px}.group-note--warn{border-left-color:var(--color-section-nursery);background:var(--color-bg-warn-soft);color:var(--color-text-warn)}.results-notice{margin-top:18px}.result-group:has(.group-info-button[aria-expanded=true]){position:relative;z-index:30}.group-info{position:relative;display:inline-flex;margin-left:auto}.group-info-button{display:inline-flex;min-height:26px;align-items:center;border:1.5px solid var(--color-border-card);border-radius:999px;background:transparent;color:var(--color-text-subtle);cursor:pointer;font-family:var(--font-ui);font-size:.68rem;font-weight:800;letter-spacing:.08em;padding:0 12px;text-transform:uppercase;transition:color .14s ease,border-color .14s ease,background-color .14s ease}.group-info-button[aria-expanded=true]{border-color:var(--tone);background:var(--color-bg-accent-soft);color:var(--tone)}.group-info-button:focus-visible{outline:2px solid var(--tone);outline-offset:2px}@media(hover:hover)and (pointer:fine){.group-info-button:hover{border-color:var(--tone);color:var(--tone)}}.group-info-panel{position:absolute;z-index:20;top:calc(100% + 10px);right:0;display:grid;width:max-content;max-width:min(340px,calc(100vw - 48px));gap:10px;border:2px solid var(--color-border-card);border-left:4px solid var(--tone);border-radius:0 14px 14px 0;background:var(--color-bg-surface);box-shadow:var(--shadow-panel);color:var(--color-text-muted);font-family:var(--font-ui);font-size:.92rem;font-weight:400;line-height:1.55;padding:13px 16px;text-align:left}.group-info-panel[hidden]{display:none}@media(prefers-reduced-motion:reduce){.group-info-button{transition:none}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}.result-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;overflow:hidden;border:2px solid var(--color-border-card);border-radius:var(--radius-surface);background:var(--color-bg-surface);box-shadow:var(--shadow-hard);padding:20px 18px 16px;transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s ease}@media(hover:hover)and (pointer:fine){.result-card:hover{transform:translate(-2px,-3px);box-shadow:8px 9px 0 var(--tone)}}.result-index{position:absolute;right:8px;bottom:-22px;color:transparent;font-family:var(--font-display);font-size:5.4rem;font-weight:700;line-height:1;pointer-events:none;-webkit-text-stroke:1.5px var(--color-hairline-stroke)}.result-card h3{position:relative;margin:0;color:var(--color-text-strong);font-size:1.06rem;font-weight:700;letter-spacing:-.012em;line-height:1.32;overflow-wrap:anywhere;word-break:break-word}.kind-label{margin:0 0 8px;color:var(--tone);font-size:.68rem;font-weight:800;letter-spacing:.18em;line-height:1.3;text-transform:uppercase}.card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.card-actions a{position:relative;display:inline-block;padding:8px 0 2px;border-bottom:2px solid var(--tone);color:var(--color-text-strong);font-size:.8rem;font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.card-actions a:hover{color:var(--tone)}.empty-group{max-width:none;border:2px dashed var(--color-border-dashed);border-radius:var(--radius-surface);background:var(--color-bg-surface-muted);color:var(--color-text-muted);font-size:.95rem;line-height:1.6;padding:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(prefers-reduced-motion:no-preference){.search-hero{transition:padding .32s cubic-bezier(.22,.61,.36,1)}.filters button{transition:background-color .16s ease,border-color .16s ease,color .16s ease}@keyframes resultCardIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.result-card{animation:resultCardIn .22s ease both;animation-delay:var(--result-delay, 0ms)}}@media(prefers-reduced-motion:reduce){.search-hero,.filters button,.result-card,.search-field,.status-panel button,.results-status button{animation:none;transition:none}}@media(max-width:720px){.search-hero{align-content:start;padding:64px 0 72px}.search-experience[data-compact=true] .search-hero,:root[data-restoring-results] .search-hero{padding:16px 0 20px}.search-copy{justify-items:start;text-align:left}.suggestion-text{display:grid;gap:3px}.suggestion-text strong,.suggestion-text span{white-space:normal}.results-status.error{align-items:flex-start;flex-direction:column}.filters{gap:6px;margin:16px 0}.filters button{min-height:40px;font-size:.84rem;padding:0 10px}.result-card{gap:2px;padding:16px 16px 12px}.kind-label{margin-bottom:5px}.card-actions a{padding-top:6px}.result-index{bottom:-16px;font-size:4.2rem}}
