/* A compact home invitation and one native, keyboard-accessible dialog. */
.kf-teaser { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;text-align:left; }
.kf-teaser .eyebrow { color:#d6d6d2;margin-bottom:18px; ;font-size:13px;line-height:1.6;}
.kf-teaser h2 { font-size:36px;line-height:1.4;font-weight:500;letter-spacing:-.03em; }
.kf-teaser-action { justify-self:end;max-width:420px; }
.kf-teaser-action p { color:#ddd;font-size:15px;line-height:1.75;margin-bottom:26px; }
.kf-dialog { padding:0;height:min(var(--finder-max-height),calc(100dvh - var(--finder-viewport-gap)));width:min(680px,calc(100% - 32px));max-width:680px;max-height:min(var(--finder-max-height),calc(100vh - var(--finder-viewport-gap)));max-height:min(var(--finder-max-height),calc(100dvh - var(--finder-viewport-gap)));overflow:hidden;border:1px solid var(--color-border); }
.kf-dialog::backdrop { background:rgb(34 34 33 / 58%); }
.kf-dialog[open] { display:flex;flex-direction:column; }
.kf-form { height:100%;display:flex;flex-direction:column;min-height:0;max-height:inherit; }
.kf-header { display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px 18px;flex:none; }
.kf-header .eyebrow { font-size:13px;letter-spacing:.12em;margin:0 0 8px; ;line-height:1.6;}
.kf-header h2 { margin:0;font-size:22px;font-weight:500; }
.kf-close { flex:none; }
.kf-scroll { flex:1;overflow:auto;overscroll-behavior:contain;min-height:0;padding:20px 24px 24px; }
.kf-progress { display:flex;gap:12px;padding:14px 16px;margin:0 0 24px;list-style:none;background:var(--color-surface); }
.kf-progress li { flex:1;display:flex;align-items:center;gap:7px;color:var(--color-muted);font-size:12px; }
.kf-step-number { display:inline-flex;align-items:center;justify-content:center;flex:none;width:23px;height:23px;border-radius:50%;background:#e8e8e5;color:var(--color-muted);font-size:11px; }
.kf-progress li[aria-current=step] { color:var(--color-accent);font-weight:600; }
.kf-progress li[aria-current=step] .kf-step-number { background:var(--color-accent);color:#fff; }
.kf-progress li.is-done .kf-step-number { background:var(--color-text);color:#fff; }
.kf-step-count { font-size:12px;letter-spacing:.08em;margin-bottom:10px!important; }
.kf-question { margin:0 0 20px;font-size:24px;line-height:1.45;font-weight:500;letter-spacing:-.025em; }
.kf-options { display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;border:0;padding:0;margin:0; }
.kf-option { display:flex;align-items:center;gap:12px;min-height:60px;padding:14px;border:1px solid var(--color-control-border);font-size:15px;line-height:1.5;cursor:pointer; }
.kf-option input { width:18px;height:18px;flex:none;accent-color:var(--color-text);margin:0; }
.kf-option:hover { border-color:var(--color-muted); }
.kf-option:has(input:checked) { border-color:var(--color-text);background:var(--color-surface); }
.kf-option:focus-within { outline:2px solid var(--color-muted);outline-offset:3px; }
.kf-size { max-width:400px; }
.kf-size .form-field { margin-bottom:16px; }
.kf-size input[type=number] { font-size:20px; }
.kf-size input:disabled { background:var(--color-surface);color:var(--color-muted); }
.kf-error { color:var(--color-text)!important;font-size:14px;line-height:1.6;margin:18px 0 0!important; }
.kf-footer { display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:var(--color-white);flex:none; }
.kf-summary { margin:0 0 22px; }
.kf-summary>div { display:grid;grid-template-columns:120px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--color-border);font-size:14px;line-height:1.6; }
.kf-summary dt { color:var(--color-muted); }
.kf-summary dd { margin:0;overflow-wrap:anywhere; }
.kf-dialog[data-step="4"] .kf-question { margin-bottom:8px; }
.kf-result-intro { font-size:13px;margin:0 0 16px!important; }
.kf-comparison-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.kf-comparison-grid[data-count="4"], .kf-comparison-grid[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kf-comparison-card { min-width:0;padding:16px;background:var(--color-surface);border:1px solid var(--color-control-border);text-decoration:none;transition:border-color var(--motion-fast); }
.kf-comparison-card:is(:hover,:focus-visible) { border-color:var(--color-text); }
.kf-comparison-card h4 { margin:0 0 14px;font-size:18px;line-height:1.3;font-weight:500; }
.kf-comparison-card:hover h4 { text-decoration:underline;text-underline-offset:4px; }
.kf-comparison-card dl { margin:0;display:grid;gap:12px;font-size:13px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere; }
.kf-comparison-card dt { font-size:11px;color:var(--color-muted);margin-bottom:4px; }
.kf-comparison-card dd { margin:0; }
.kf-selection-details { margin-top:16px;border-top:1px solid var(--color-border);font-size:13px; }
.kf-selection-details>summary { padding:12px 0;cursor:pointer; }
.kf-selection-details .kf-summary { margin:0; }
.kf-selection-details .kf-summary>div { padding:8px 0;font-size:12px; }
.kf-result-note { font-size:12px;line-height:1.7;margin:18px 0 0!important; }
.kf-copy-row { display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 0; }
.kf-copy-row [role=status] { font-size:12px;color:var(--color-muted); }
@media(max-width:800px) {
 .kf-teaser { grid-template-columns:1fr;gap:24px; }
 .kf-teaser h2 { font-size:30px; }
 .kf-teaser-action { justify-self:start;max-width:100%; }
}
@media(max-width:520px) {
 .kf-dialog { width:calc(100% - 24px); }
 .kf-header { padding:16px;gap:12px; }
 .kf-header h2 { font-size:21px; }
 .kf-scroll { padding:18px 16px 20px; }
 .kf-question { font-size:21px; }
 .kf-options { grid-template-columns:1fr;gap:10px; }
 .kf-option { min-height:60px;padding:15px; }
 .kf-footer { padding:14px 16px;gap:12px; }
 .kf-footer>* { flex:1; }
 .kf-progress li { font-size:11px; }
 .kf-summary>div { grid-template-columns:90px 1fr;gap:12px; }
 .kf-comparison-grid, .kf-comparison-grid[data-count="4"], .kf-comparison-grid[data-count="2"] { grid-template-columns:1fr;gap:8px; }
 .kf-comparison-card { padding:14px; }
 .kf-comparison-card h4 { font-size:17px;margin-bottom:8px; }
 .kf-comparison-card dl { gap:6px; }
 .kf-comparison-card dl>div { display:grid;grid-template-columns:65px minmax(0,1fr);gap:8px; }
 .kf-comparison-card dt { margin:0;line-height:1.8; }
}

/* Finder modes share the existing product search, with no duplicate filtering logic. */
.kf-modes { display:flex;gap:24px;margin:0 24px;flex:none;border-bottom:1px solid var(--color-border) }
.kf-modes [role=tab] { position:relative;min-height:44px;padding:8px 0;background:none;border:0;font-size:var(--font-tab);line-height:1.5;color:var(--color-muted) }
.kf-modes [aria-selected=true] { color:var(--color-text);font-weight:600 }
.kf-modes [aria-selected=true]::after { content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-accent) }
.kf-dialog [hidden] { display:none!important }
.kf-dialog[data-mode=options] { width:min(880px,calc(100% - 32px));max-width:880px }
#kf-option-panel { display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden }
.kf-option-actions { display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;flex:none }
.kf-search-frame { display:block;width:100%;height:100%;min-height:0;flex:1;border:0;background:var(--color-white) }
@media(max-width:520px) { .kf-modes { margin:0 16px;gap:20px } .kf-modes [role=tab] { font-size:var(--font-tab) } .kf-dialog[data-mode=options] { width:calc(100% - 24px) } }

@media(max-width:520px) { .kf-progress { gap:8px;padding:12px 10px } .kf-progress li { flex-direction:column;align-items:flex-start;gap:6px;font-size:11px } .kf-option-actions { padding:14px 16px } }

/* Shared mobile eyebrow size. */
@media (max-width:800px) {
.kf-header .eyebrow,
.kf-teaser .eyebrow { font-size:12px; }
}
