/* Maritime Ruhe: one coherent presentation layer, no historical override stack. */
:root{--ink:#142d42;--sea:#12618e;--deep:#102b40;--cream:#fff;--paper:#fff;--muted:#526a7b;--line:#d9e4eb;--aqua:#e5f2fa;--coral:#d58d6c;--sand:#e9dbc0;--radius:8px;color:var(--ink);background:var(--cream)}
body{background:var(--cream)}
.wrap{width:min(1220px,calc(100% - 40px))}
a{color:#075b8a;text-underline-offset:5px}
a:hover{color:#083e64}
h2{font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.3}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d77949;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button{min-height:44px;border-color:var(--sea);background:var(--sea);border-radius:6px;box-shadow:none;gap:8px;padding:10px 16px;transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.button:hover{background:#0c4d73;border-color:#0c4d73;color:#fff}
.button.secondary{background:transparent;color:var(--sea);border-color:#a8c0ce}
.button.secondary:hover{background:#e5f2fa}
input,select,textarea{background:#fff;border-color:#a8c0ce;border-radius:6px;max-width:100%}
.preview{background:#e8f1f6;color:#365a70;letter-spacing:.1em}

/* Navigation stays native; no floating selection or new controls. */
.header{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:16px;position:relative;isolation:isolate;z-index:2;padding-block:12px;align-items:center}
.header .brand{grid-column:1;grid-row:1;min-width:0;max-width:100%;min-height:44px;margin:0;color:var(--deep)}
.brand-icon{color:#176f9b}
.brand strong{overflow-wrap:anywhere}
.header .desktop-nav{display:none}
.header-actions{grid-column:2;grid-row:1;display:flex;align-items:center;gap:6px;min-width:0}
.nav-disclosure{position:relative;min-width:0}
.nav-disclosure>summary,.selection-entry,.header-search-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:8px 12px;max-width:100%;font-size:.86rem;line-height:1.4;font-weight:650;text-decoration:none;border:0;border-radius:0;background:transparent;color:#284e68}
.nav-disclosure>summary{list-style:none;cursor:pointer}
.nav-disclosure>summary::-webkit-details-marker{display:none}
.nav-disclosure>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.nav-disclosure[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.header-search-link{color:var(--sea)}
.selection-entry{white-space:nowrap}
.selection-count{display:inline-grid;place-items:center;min-width:24px;min-height:24px;background:#e5eff6;border-radius:50%;font-size:.8rem;color:var(--deep)}
.header .nav-menu{position:absolute;top:100%;right:0;display:grid;grid-template-columns:1fr;gap:3px;width:290px;max-width:calc(100vw - 40px);margin:8px 0 0;padding:10px 16px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:none;white-space:normal}
.header .nav-menu a{display:flex;align-items:center;min-height:44px;min-width:0;padding:8px 0;color:#284e68;font-size:.86rem;line-height:1.45;overflow-wrap:anywhere;border:0}
.header .nav-menu a:hover,.header nav a[aria-current]{color:var(--sea);text-decoration:underline}
.nav-menu .nav-utility{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.nav-disclosure:focus-within{z-index:1}
.breadcrumbs{color:var(--muted);padding-block:0}
.breadcrumbs ol{align-items:center}

/* Compact text/search entry; existing topic icons remain unchanged. */
.hero{background:var(--deep);color:#fff;border:0;overflow:visible}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center;padding-block:32px}
.hero-copy{max-width:none;min-width:0}
.hero h1{font-family:inherit;font-size:clamp(2rem,3.4vw,3rem);font-weight:700;letter-spacing:-.035em;line-height:1.15;margin-bottom:10px}
.hero .lead{color:#cbdce8;font-size:1rem;line-height:1.5;margin-bottom:18px;max-width:none}
.home-search{max-width:960px;margin-top:12px;padding:0;background:none;border:0;box-shadow:none}
.search-label{font-size:1rem;font-weight:700;line-height:1.4;margin-bottom:8px}
.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0}
.search-bar{position:relative;gap:0;padding:4px;border:1px solid #9eb9c9;border-radius:10px;background:#fff;align-items:center}
.search-bar:focus-within{outline:3px solid #d77949;outline-offset:3px;border-color:var(--sea)}
.search-bar-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);display:flex;color:var(--muted);pointer-events:none}
.search-bar input{min-width:0;width:100%;min-height:44px;height:44px;margin:0;padding:10px 12px 10px 40px;font-size:1rem;line-height:1.4;border:0;border-radius:6px;background:transparent;box-shadow:none}
.search-bar input:focus-visible{outline:0}
.search-bar>.button{min-width:100px;min-height:44px;margin:0;border:0;border-radius:7px;padding:10px 16px;white-space:nowrap;line-height:1.4}
.search-bar>.button:focus-visible{outline-offset:-4px;outline-color:#fff}
.search-bar>.button:disabled{opacity:1;background:#d9e4eb;color:#526a7b;cursor:not-allowed}
.search-help{font-size:.86rem;line-height:1.45;color:var(--muted);margin:8px 0 0}
.search-examples{display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;margin-top:4px;color:var(--muted);font-size:.82rem;line-height:1.4}
.search-examples>span{flex:none}
.search-examples button{min-height:44px;max-width:100%;padding:6px 0;border:0;background:none;color:var(--sea);font-size:inherit;text-align:left;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.hero .search-help,.hero .search-examples{color:#cbdce8}
.hero .search-examples button,.hero .places-shortcut,.hero .home-search .clear-filters,.hero .filters>summary{color:#fff}
.hero .quick-row{border-color:#ffffff30}
.hero .filters>summary,.hero .home-search .clear-filters{border-color:#6e8fa6}
.hero .home-search .clear-filters:hover{background:#25465e}
.hero .filter-workspace{color:var(--ink);background:#fff;padding:16px;border-radius:6px;margin-top:10px}
.home-where{max-width:360px;margin:12px 0 0;font-size:.9rem;color:#34576c}
.home-where select{margin-top:5px;min-height:44px}
/* Voluntary route guide: outside normal form and separate from advertising. */
.search-companion{max-width:960px;margin-top:12px;padding-top:6px;border-top:1px solid #ffffff30;min-width:0}
.search-companion>summary{display:flex;align-items:center;gap:12px;min-height:64px;cursor:pointer;list-style:none;color:var(--deep)}
.search-companion>summary::-webkit-details-marker{display:none}
.search-companion>summary>img{display:block;flex:none;width:64px;height:64px;object-fit:contain}
.search-companion>summary>span{min-width:0;flex:1}
.search-companion>summary strong{display:block;font-size:.95rem;line-height:1.4}
.search-companion>summary small{display:block;font-size:.82rem;line-height:1.45;color:var(--muted);margin-top:3px}
.hero .search-companion>summary{color:#fff}
.hero .search-companion>summary small{color:#cbdce8}
.hero .search-companion[open]{background:#fff;color:var(--ink);padding:12px 16px;border-radius:6px}
.hero .search-companion[open]>summary{color:var(--ink)}
.hero .search-companion[open]>summary small{color:var(--muted)}
.search-companion>summary::after{content:"";flex:none;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-right:6px}
.search-companion[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.companion-fallback{font-size:.86rem;line-height:1.5;margin:12px 0}
[data-companion-workspace]{margin-top:12px;padding:12px 0;border-top:1px solid var(--line);min-width:0}
.companion-status{font-size:.8rem;color:var(--muted);margin:0 0 10px}
.search-companion h3{font-family:inherit;font-size:1.1rem;line-height:1.4;margin:0 0 12px}
[data-companion-heading]:focus{outline:2px solid #d77949;outline-offset:4px}
.companion-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:0;padding:0;border:0;min-width:0}
.companion-options label{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:7px 0;font-size:.9rem;line-height:1.4;font-weight:400;cursor:pointer;min-width:0}
.companion-options label>span{min-width:0;overflow-wrap:anywhere}
.companion-options input{flex:none;width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--sea)}
.companion-region-label{display:block;max-width:360px;font-size:.9rem;margin:0}
.companion-region-label select{min-height:44px;margin-top:6px}
.companion-next,.companion-actions{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:14px}
.companion-actions{padding-top:12px;border-top:1px solid var(--line)}
.companion-criteria{padding-left:20px;margin:0 0 12px;font-size:.9rem;line-height:1.6}
.search-companion [data-companion-content]>p{font-size:.86rem;color:var(--muted);line-height:1.5}
.home-results{padding-block:14px 8px}
.home-search-feedback{margin:0;padding:0;border:0}
.home-routes{padding-block:28px 12px}
.routes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;margin:0}
.route-card{display:flex;flex-direction:column;min-width:0;padding:10px 0 16px;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;text-decoration:none;color:var(--ink);transition:color .16s ease}
.route-card:hover,.route-card:focus-visible{transform:none;background:none;box-shadow:none;color:var(--sea)}
.route-icon{display:inline-flex;align-items:center;width:48px;height:48px;margin:0 0 16px;background:none;border:0;border-radius:0}
.route-icon img{display:block;width:48px;height:48px;object-fit:contain}
.route-icon img,.card-kind-icon img,.entry-symbol img{filter:invert(27%) sepia(33%) saturate(1354%) hue-rotate(165deg) brightness(90%)}
.route-card h2{font-size:1.08rem;line-height:1.35;margin:0 0 7px;font-weight:700;letter-spacing:0;max-width:none}
.route-card p{font-size:.9rem;line-height:1.5;color:var(--muted);margin:0 0 8px;max-width:none}
.route-link{display:flex;min-height:44px;align-items:center;margin-top:auto;padding:0;border:0;color:var(--sea);font-size:.86rem}
.route-card:hover .route-link{text-decoration:underline}
.home-regions{margin-block:18px 24px;padding-top:24px;border-top:1px solid var(--line);min-width:0}
.home-regions h2{font-size:1.25rem;margin:0 0 18px}
.region-explorer{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.75fr);gap:36px;align-items:center;min-width:0}
.state-disclosure{min-width:0;align-self:start}
.state-disclosure>summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--sea);font-size:.94rem;font-weight:600;line-height:1.4;cursor:pointer;list-style:none}
.state-disclosure>summary::-webkit-details-marker{display:none}
.state-disclosure>summary::after{content:"";flex:none;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.state-disclosure[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.state-disclosure>.state-links{padding-top:12px}
.state-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;min-width:0}
.state-link{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:0;max-width:100%;padding:6px 4px;border:0;background:none;color:var(--ink);font-size:.94rem;font-weight:650;line-height:1.4;text-decoration:none;transition:color .16s ease}
.state-link img{display:block;flex:none;width:40px;height:28px;object-fit:contain;border:1px solid var(--line)}
.state-link span{min-width:2ch}
.state-link:hover{color:var(--sea);text-decoration:underline}
.home-ad{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:center;min-width:0}
.home-ad-copy{min-width:0}
.home-ad .ad-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.home-ad h2{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.3;margin:0 0 12px}
.home-ad .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem;line-height:1.45}
.home-ad-comic{display:block;width:220px;max-width:100%;height:auto;object-fit:contain}
.home-purposes{padding-block:14px 28px}
.home-purposes>h2{font-size:1.25rem;margin:0 0 12px}
.home-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 28px;list-style:none;padding:0;margin:0}
.home-purpose-grid>li{min-width:0}
.home-purpose-link,.home-purpose-multi{display:flex;align-items:flex-start;gap:14px;min-width:0;padding:12px 0;color:var(--ink);text-decoration:none}
.home-purpose-link{min-height:72px}
.home-purpose-link:hover strong{text-decoration:underline;color:var(--sea)}
.home-purpose-link>span:last-child,.home-purpose-multi>div{min-width:0}
.home-purpose-grid strong{display:block;font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.home-purpose-grid small{display:block;font-size:.86rem;line-height:1.5;color:var(--muted);margin-top:5px}
.home-purpose-icon{display:flex;flex:none;align-items:center;width:48px;height:48px}
.home-purpose-icon img{display:block;width:48px;height:48px;object-fit:contain;filter:invert(27%) sepia(33%) saturate(1354%) hue-rotate(165deg) brightness(90%)}
.home-purpose-actions{display:flex;flex-wrap:wrap;gap:0 16px}
.home-purpose-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem}
.entry-teasers{padding-block:18px 24px}
.section-heading{gap:20px;margin-bottom:15px}
.section-heading h2{font-size:1.25rem}
.section-heading>p{font-size:.9rem;line-height:1.5;max-width:350px}
.entry-teaser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.entry-teaser-grid a{display:flex;min-width:0;min-height:0;padding:12px 0;background:none;border:0;border-radius:0;box-shadow:none;text-decoration:none;color:var(--ink)}
.entry-teaser-grid a:hover{background:none;box-shadow:none;color:var(--sea)}
.entry-teaser-grid span{color:var(--muted);letter-spacing:.05em}
.entry-teaser-grid strong{font-size:1.05rem;margin:8px 0 0}
.entry-teaser-grid small{font-size:.88rem;margin-top:6px}
.entry-symbol{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px}
.entry-symbol img{display:block;width:32px;height:32px;object-fit:contain}
.purpose-entries{margin:18px 0 28px;padding-top:8px;border-top:1px solid var(--line)}
.purpose-entries>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--sea);font-size:.94rem;font-weight:600}
.purpose-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:12px 0}
.purpose-entry{display:flex;align-items:start;gap:16px;padding:8px 0;min-width:0;border:0;border-radius:0;background:none;text-decoration:none}
.purpose-entry>span:last-child{display:grid;gap:6px;min-width:0;line-height:1.5}
.purpose-entry strong{font-size:1.05rem;color:var(--ink)}
.purpose-entry small{font-size:.9rem;color:var(--muted)}
.purpose-entry b{font-size:.86rem;color:var(--sea)}
.purpose-entry:hover b{text-decoration:underline}
.entry-guide,.entry-count,.entry-provider-hit>p{background:none;border:0;border-radius:0;padding:0}
.entry-guide{margin-block:20px 28px;border-bottom:1px solid var(--line);padding-bottom:18px}
.entry-guide h2{font-size:1.1rem;margin:0 0 8px}
.region-guide .entry-teasers{display:flex;flex-wrap:wrap;gap:10px 24px}
.region-guide a{display:inline-flex;align-items:center;min-height:44px}

/* Search/filter context, with one explicit result list at every width. */
.page-intro{padding-block:22px 18px}
.page-intro h1,.selection-page>h1{font-family:inherit;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.2;letter-spacing:-.03em;margin-bottom:10px;overflow-wrap:anywhere}
.page-intro .lead{font-size:1rem;line-height:1.55;color:var(--muted)}
.finder{display:block;padding-bottom:40px}
.finder-intro{padding-block:8px}
.finder-intro .eyebrow{display:none}
.finder-intro h1{font-size:clamp(1.7rem,2.9vw,2.35rem)}
.search-panel{padding:4px 0 10px;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;margin-bottom:10px}
.quick-row{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.places-shortcut{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;font-size:.86rem;line-height:1.4}
.quick-row>.purpose-quick{flex-basis:100%;margin-top:0}
.finder-select{flex:0 1 320px;max-width:100%;margin:0;font-size:.9rem;color:#34576c}
.finder-select select{margin-top:5px;min-height:44px}
.filters{padding:0;margin:0;border:0;background:none;box-shadow:none}
.filters summary,.sort-explanation>summary,.clear-filters{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;padding:8px 0;color:var(--sea);font-size:.9rem;font-weight:600}
.filters>summary{gap:10px;border:1px solid var(--line);border-radius:6px;padding:8px 12px;list-style:none}
.filters>summary::-webkit-details-marker{display:none}
.filters>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:4px}
.filters[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.filters[open]{flex-basis:100%;min-width:0}
.filter-workspace{width:100%;min-width:0;margin-top:8px}
.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:14px 0;border:0;border-top:1px solid var(--line);background:none;border-radius:0}
.filter-workspace>.advanced-grid{border-top:0}
.specific-filters{margin-top:10px;border-top:1px solid var(--line)}
.specific-filters>summary{display:flex;align-items:center;min-height:44px;padding:8px 0;cursor:pointer;color:var(--sea);font-size:.9rem}
.advanced-grid label{margin:0}
.advanced-grid .boat-dimensions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;margin:0;border-color:var(--line)}
.boat-dimensions .hint{grid-column:1/-1}
.filter-count{display:inline-grid;place-items:center;min-width:22px;min-height:22px;margin-left:6px;border-radius:50%;background:#e5eff6;color:var(--deep)}
.clear-filters{background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 12px;text-decoration:none}
.clear-filters:hover{background:var(--aqua);text-decoration:underline}
.active-filters,.active-criteria{display:flex;flex-wrap:wrap;gap:7px;min-width:0;margin:0}
.active-filters:empty,.active-criteria:empty{display:none}
button.chip,.filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:6px 10px;border:1px solid #bad1df;border-radius:5px;background:none;color:#174e70;font-size:.86rem;line-height:1.4;text-align:left;overflow-wrap:anywhere}
button.chip:hover{background:#e5eff6}
.purpose-quick{display:flex;flex-wrap:wrap;gap:6px 14px;min-width:0;margin:10px 0 0;padding:0;border:0}
.purpose-quick legend{width:100%;padding:0;margin-bottom:4px;font-size:.9rem;color:var(--deep)}
.purpose-quick label{position:relative;display:flex;max-width:100%;margin:0;cursor:pointer}
.purpose-quick input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;opacity:0}
.purpose-quick label>span{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:#31576f;font-size:.9rem;line-height:1.4}
.purpose-quick input:checked+span{border-color:var(--sea);color:var(--deep);font-weight:700}
.purpose-quick input:focus-visible+span{outline:3px solid #d77949;outline-offset:4px}
.purpose-more>summary{min-height:44px;cursor:pointer;color:var(--sea);font-size:.9rem}
.finder-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin-bottom:12px;min-width:0}
.finder-summary .results-top{flex:1;min-width:0;display:flex;align-items:center;gap:20px;margin:0}
.finder-summary h2,.results-top h2{font-family:inherit;font-size:1.15rem;line-height:1.4;margin:0}
.results-jump{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.results-jump[hidden]{display:none}
.result-card{scroll-margin-top:80px}
.contact-notes{font-size:.875rem;line-height:1.5;color:var(--ink);margin:8px 0}
.contact-notes p{margin:4px 0}
.results-sort{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;margin:0 0 0 auto;font-size:.88rem;color:#34576c}
.results-sort select{width:auto;min-width:0;min-height:44px;margin:0;font-size:.9rem}
.sort-explanation{font-size:.85rem;line-height:1.5;color:var(--muted);margin:0 0 8px}
.sort-explanation p{max-width:730px;margin-bottom:10px}
.search-notice,.search-loading,.search-failure,.selection-status{padding:10px 0;margin:10px 0;color:#365569;font-size:.94rem;line-height:1.5;border:0;border-radius:0;background:none}
.search-notice:empty,.selection-status:empty{display:none}
.empty,.empty-state{grid-column:1/-1;padding:24px 0;background:none;border:0;border-radius:0;overflow-wrap:anywhere}
.empty-state h3,.empty-state h2{font-family:inherit;font-size:1.2rem;margin:0 0 8px}
.empty-state p{color:var(--muted);max-width:700px;font-size:.95rem;line-height:1.55}
.empty-actions,.conflict-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.pagination,#places-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:20px}
.pagination a,.pagination>span,#places-pagination a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px;border:0;border-radius:0;background:none;font-size:.9rem}
.pagination a[aria-current]{font-weight:700;text-decoration:underline;color:var(--deep)}
.has-search-results .hero-grid{grid-template-columns:minmax(0,1fr);padding-block:14px}
.has-search-results .home-ad{display:none}
.has-search-results .hero-copy{max-width:none}
.has-search-results .hero-copy>h1,.has-search-results .hero-copy>.lead,.has-search-results .home-routes{display:none}
.has-search-results .home-search{max-width:960px;margin-top:0}
.has-search-results .home-results{padding-top:16px}

/* Open semantic feed. DOM warnings precede actions; CSS preserves that order. */
.result-list,.finder-results .result-list,.home-search-results,.entry-page .result-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}
.offer-card{display:block;position:relative;min-width:0;padding:24px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;overflow-wrap:anywhere}
.offer-card::before,.card-art{display:none}
.offer-card:hover{border-color:var(--line);background:none;box-shadow:none}
.feed-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:36px;row-gap:8px}
.feed-heading{grid-column:1;min-width:0}
.feed-summary{grid-column:2;min-width:0}
.feed-row>.card-critical,.feed-row>.assessment,.feed-row>.card-bottom,.feed-row>.card-context-details{grid-column:1/-1}
.card-top{display:flex;align-items:center;justify-content:start;gap:12px;margin-bottom:8px}
.card-kind-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;background:none;border:0;border-radius:0}
.card-kind-icon img{display:block;width:32px;height:32px;object-fit:contain}
.offer-card .eyebrow{color:#43728c;font-size:.84rem;line-height:1.4;letter-spacing:.02em;margin:0}
.offer-card h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.015em;margin:0 0 6px}
.offer-card h3 a{color:var(--ink);text-decoration:none}
.offer-card h3 a:hover{text-decoration:underline;color:var(--sea)}
.offer-card .provider-name{color:var(--muted);font-size:.94rem;line-height:1.5;margin:0 0 4px}
.offer-card .place-label,.offer-card .provider-location,.place-role{color:#365569;font-size:.94rem;line-height:1.5;margin:0 0 6px}
dl.decision-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;margin:0 0 12px;padding:0;border:0;border-radius:0;background:none;overflow:visible}
dl.decision-facts>div{display:grid;grid-template-columns:minmax(85px,.65fr) minmax(0,1.5fr);gap:6px 16px;min-width:0;padding:7px 0;border:0}
dl.decision-facts dt,dl.decision-facts dd{min-width:0;margin:0;padding:0;border:0;background:none;font-size:.94rem;line-height:1.5;overflow-wrap:anywhere}
dl.decision-facts dt{font-weight:400;color:var(--muted)}
dl.decision-facts dd{font-weight:600;color:#203e54}
.feed-facts{margin:0}
.feed-facts>div.training-fact{grid-template-columns:minmax(0,1fr)}
.feed-facts .training-fact dd{grid-column:1}
.tag,.tag.neutral{background:none;border:0;border-radius:0;padding:0;font-size:.9rem;color:var(--muted);white-space:normal}
.tag.warning{color:#7c321e;font-weight:650}
.assessment{background:none;border:0;border-radius:0;padding:0;font-size:.94rem;margin:4px 0}
.card-critical,.participation-notice,.comparison-warning{border:0;border-inline-start:3px solid #ae8352;border-radius:0;padding:8px 14px;margin:8px 0 10px;background:#faf5eb;color:#614b32;font-size:.94rem;line-height:1.5;overflow-wrap:anywhere}
.card-critical p,.participation-notice p,.comparison-warning p{font-size:inherit;line-height:inherit;margin:0 0 6px}
.card-critical p:last-child,.participation-notice p:last-child,.comparison-warning p:last-child{margin-bottom:0}
.card-bottom{display:flex;justify-content:start;align-items:center;flex-wrap:wrap;gap:0 24px;margin:0;padding:0;border:0;min-width:0}
.card-bottom .button,.card-bottom .text-link,.card-bottom .card-secondary,.save-offer{display:inline-flex;align-items:center;justify-content:start;min-height:44px;min-width:44px;max-width:100%;width:auto;margin:0;padding:6px 0;border:0;border-radius:0;background:none;color:var(--sea);font-size:.94rem;line-height:1.4;white-space:normal;text-align:left;text-decoration:none;box-shadow:none;transition:color .16s ease,background-color .16s ease}
.card-bottom .card-primary{font-weight:700}
.card-bottom a:hover,.save-offer:hover:not(:disabled){color:#0c4d73;background:none;text-decoration:underline}
.save-offer[aria-pressed="true"]{color:var(--deep);font-weight:700;text-decoration:underline}
.save-offer:disabled{color:#617382;cursor:not-allowed;opacity:.7}
.card-context-details{margin:0;min-width:0;color:var(--muted);font-size:.86rem;line-height:1.5}
.card-context-details>summary{min-height:44px;padding:8px 0;cursor:pointer;color:#335e78}
.card-context-details p{font-size:inherit;line-height:inherit;margin:0 0 8px}
.card-context-details a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.card-context-details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:10px}

/* Details retain a distinct information/decision layout. */
.detail-intro h1{font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.2}
.detail-topic{display:flex;align-items:center;gap:12px;font-size:.9rem;letter-spacing:.02em}
.detail-topic img{width:32px;height:32px}
.detail-provider,.detail-place{color:#365569;font-size:1rem;line-height:1.55;margin:0 0 7px;overflow-wrap:anywhere}
.return-results{display:inline-flex;align-items:center;min-height:44px;font-size:.94rem;line-height:1.4;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.return-results:hover{text-decoration:underline}
.detail-summary{display:block;padding:12px 0;margin:12px auto 24px;border:0;border-block:1px solid var(--line);border-radius:0;background:none}
.detail-summary>.decision-facts{width:100%;margin:0}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:38px;padding-bottom:48px}
.detail-grid>.detail-body{grid-column:1;grid-row:1;min-width:0}
.detail-grid>.action-panel{grid-column:2;grid-row:1;min-width:0}
.action-panel{padding:0 0 0 24px;border:0;border-left:1px solid var(--line);border-radius:0;background:none;box-shadow:none;align-self:start}
.action-panel h2,.detail-body h2{font-family:inherit;font-size:1.2rem;margin:0 0 12px}
.action-next-step{font-size:.96rem;line-height:1.55;color:#365569;margin-bottom:14px}
.action-panel .hint{font-size:.86rem;line-height:1.5}
.detail-conditions,.source-details,.inquiry-help{padding:0;margin:12px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;font-size:.94rem;line-height:1.6;overflow-wrap:anywhere}
.detail-conditions>summary,.source-details>summary,.inquiry-help>summary{min-height:44px;padding:12px 0;font-weight:600;cursor:pointer;color:var(--deep);transition:color .16s ease}
.detail-conditions[open]>summary,.source-details[open]>summary,.inquiry-help[open]>summary{margin-bottom:8px;color:var(--sea)}
.detail-body dl:not(.decision-facts){padding:0;background:none;border:0;border-radius:0;grid-template-columns:minmax(110px,.8fr) minmax(0,1.6fr)}
.detail-section{margin:0 0 24px;min-width:0}
.contact-actions,.action-panel .contact-links{display:flex;flex-direction:column;align-items:start;gap:5px;margin:12px 0}
.contact-links a{min-height:44px;border:0;border-radius:0;background:none;color:var(--sea);padding:8px 0;text-decoration:underline;font-size:.94rem;max-width:100%;overflow-wrap:anywhere}
.contact-links a:hover{background:none;color:#0c4d73}
.action-panel .contact-links a{width:auto;justify-content:start;text-align:left}
.contact-primary{font-weight:700}
.contact-actions small{display:block;color:var(--muted);font-weight:400}
.contact-section{padding:0 0 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
.contact-unlinked{background:none;border:0;color:var(--muted);font-size:.9rem}
.action-panel .save-offer{width:auto;margin:0}
.notice,.facility-note,.critical-notice,.evidence-note,.source-caveat{border:0;border-inline-start:3px solid #ae8352;border-radius:0;background:#faf5eb;color:#614b32;padding:10px 14px;font-size:.94rem;line-height:1.55}
.fact-list{font-size:.96rem;line-height:1.55}
.source-list li{font-size:.94rem;line-height:1.55}
.source-list small{color:var(--muted)}
.source-details a,.provider-profile-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.content.prose{max-width:780px;margin-inline:auto}
.content.prose p,.content.prose li{line-height:1.7}
.content.prose h2{margin-top:32px}
.credit-grid{display:block;max-width:1000px;padding-bottom:48px}
.credit-card{padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;overflow:visible}
.credit-card>div{padding:0}
.credit-card h2{font-size:1.3rem}
.credit-card p,.credit-card li,.archive-notice{font-size:.94rem;line-height:1.6;color:#40596b}
.credit-card details>summary{min-height:44px;padding:8px 0;cursor:pointer;color:var(--sea)}
.archive-notice{margin:22px 0}

/* Locations, selection and comparison retain their own interaction models. */
.places-entry{padding:0;margin:8px 0 0;font-size:.94rem;line-height:1.5}
.places-entry a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.places-entry span{display:block;font-size:.86rem;color:var(--muted)}
.places-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin-block:16px}
.places-filters select{min-height:44px;margin:0}
.places-filters label{display:grid;gap:5px}
.place-detail>.decision-facts{margin-block:18px}
.place-contacts{display:flex;flex-wrap:wrap;gap:16px}
.place-contacts a{display:inline-flex;align-items:center;min-height:44px}
.place-sources{padding-left:20px}
.place-sources li{margin-block:20px;overflow-wrap:anywhere}
.place-card:target{outline:3px solid var(--sea);outline-offset:5px}
.selection-page{padding-bottom:48px}
.selection-note{font-size:.96rem;line-height:1.6;max-width:850px}
.selection-toolbar{display:flex;align-items:center;gap:10px 24px;flex-wrap:wrap;padding:12px 0;margin-bottom:16px;border:0;border-block:1px solid var(--line);border-radius:0;background:none}
.selection-toolbar p{margin:0;font-size:.94rem}
.selection-item{min-width:0;padding:18px 0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
.selection-item>.result-card{padding-top:8px;border:0}
.selection-item label{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;margin:0;font-size:.94rem;cursor:pointer}
.selection-item input[type="checkbox"]{display:block;flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--sea)}
.selection-item.is-selected,.selection-item:has(input:checked){background:#edf4f8}
.selection-status[role="alert"],.selection-status.is-error{color:#7c321e}
.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:30px;margin:18px 0 26px;min-width:0}
.comparison-card{min-width:0;padding:16px 0;border:0;border-block:1px solid var(--line);border-radius:0;background:none;overflow-wrap:anywhere;font-size:.94rem;line-height:1.5}
.comparison-card h2{font-size:1.2rem;line-height:1.35;margin:0 0 8px}
.comparison-card .provider-name,.comparison-card .place-label{font-size:.94rem;color:#365569;margin-bottom:8px}
.comparison-card .card-bottom{gap:0 20px;margin-top:12px}
.mixed-types{padding:12px 0;margin:12px 0 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;font-size:.94rem;color:#345b73}
.inquiry-input,.draft-panel{border-color:var(--line);background:var(--paper);border-radius:6px;box-shadow:none}

/* Existing sharing and compact footer, same type and control rhythm. */
.offer-share-actions{display:flex;flex-wrap:wrap;gap:8px 18px}
.offer-share-actions button,.offer-share-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:8px 0;border:0;border-radius:0;background:none;color:var(--sea);font-size:.94rem;transition:color .16s ease}
.offer-share-actions button:hover:not(:disabled){background:none;color:#0c4d73;text-decoration:underline}
.footer{background:var(--deep);color:#d8e6ee;padding:20px 0 14px}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
.footer-intro{display:flex;align-items:center;gap:8px 20px;min-width:0;flex-wrap:wrap}
.footer .footer-brand{display:inline-flex;align-items:center;min-height:44px;margin:0;font-size:1rem;line-height:1.4}
.footer-intro p{margin:0;color:#b6c8d3;font-size:.86rem}
.footer-dorfpass{display:flex;align-items:center;gap:6px;max-width:100%;color:#342316;text-decoration:none;min-height:64px}
.footer-dorfpass img{display:block;flex:none;width:64px;height:64px;object-fit:contain}
.wood-sign{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:5px 12px;border:2px solid #9b6738;border-radius:4px;background:repeating-linear-gradient(0deg,#dfbd8b 0px,#dfbd8b 8px,#d9b17a 9px,#dfbd8b 10px);box-shadow:0 2px 0 #7d512d;color:#342316;font-size:1rem;font-weight:700;line-height:1.4;transform:rotate(-2deg)}
.footer a.footer-dorfpass:hover .wood-sign{text-decoration:underline}
.footer-details{margin-left:auto;max-width:100%;min-width:0}
.footer-details>summary{min-height:44px;padding:10px 0;cursor:pointer;color:#e8f2f7;font-size:.9rem}
.footer-details[open]{flex-basis:100%;margin-left:0}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 24px;padding-block:8px;border-top:1px solid #ffffff25}
.footer .footer-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;margin:0;font-size:.86rem;overflow-wrap:anywhere}
.footer a:hover{color:#fff;text-decoration:underline}
.footer-legal{border-top:1px solid #ffffff25;margin-top:10px;padding-top:10px;font-size:.8rem;line-height:1.5;color:#b6c8d3}

@media(min-width:1200px){
 .header{grid-template-columns:minmax(160px,1fr) auto auto}
 .header-actions{grid-column:3}
 .header .desktop-nav{grid-column:2;grid-row:1;display:flex;gap:12px;margin:0;min-width:0}
 .header .desktop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;max-width:150px;font-size:.86rem;line-height:1.35;text-align:center;border:0}
 .header .nav-disclosure{display:none}
}
@media(max-width:1000px){
 .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr);gap:24px}
 .home-ad{grid-template-columns:minmax(0,1fr);gap:4px}
 .home-ad-comic{width:190px;justify-self:center}
 .home-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .region-explorer{grid-template-columns:minmax(150px,.55fr) minmax(0,1.75fr);gap:24px}
 .header{grid-template-columns:minmax(0,1fr);gap:6px}
 .header .brand{grid-column:1;grid-row:1}
 .header-actions{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:start;border-top:1px solid var(--line);padding-top:6px}
 .header-actions>.nav-disclosure{grid-column:1;grid-row:1;position:static}
 .header-actions>.header-search-link{grid-column:2;grid-row:1}
 .header-actions>.selection-entry{grid-column:3;grid-row:1}
 .header-actions>.nav-disclosure>summary{width:100%}
 .header-actions>.nav-disclosure[open]{grid-column:1/-1}
 .header-actions>.nav-disclosure[open]>summary{width:calc((100% - 8px)/3)}
 .header .nav-menu{position:static;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:none;margin-top:6px;padding:8px 0;border:0;border-top:1px solid var(--line);background:none}
 .routes{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
}
@media(max-width:700px){
 .region-explorer{grid-template-columns:minmax(0,1fr);gap:16px}
 .header{padding-block:10px;gap:6px}
 .header .brand-icon{font-size:30px}
 .header-actions> a,.header-actions>.nav-disclosure>summary{padding-inline:8px}
 .header .nav-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
 .hero-grid{grid-template-columns:minmax(0,1fr);padding-block:20px;gap:16px}
 .home-ad{grid-template-columns:minmax(0,1fr) 190px;gap:16px;max-width:600px}
 .home-ad h2{font-size:1.25rem}
 .home-ad-comic{width:190px}
 .home-purpose-grid{gap:10px 20px}
 .home-purpose-link,.home-purpose-multi{flex-direction:column;gap:10px}
 .hero h1{font-size:clamp(1.75rem,7vw,2.5rem)}
 .search-bar>.button{min-width:78px;padding-inline:12px;font-size:.9rem}
 .companion-options{grid-template-columns:minmax(0,1fr)}
 .quick-row{gap:10px 14px}
 .quick-row>.finder-select{flex-basis:100%}
 .routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
 .route-card{display:flex;padding:8px 0 12px}
 .route-card h2{font-size:1rem}
 .route-card p{font-size:.88rem}
 .route-icon{margin-bottom:12px}
 .home-routes{padding-top:20px}
 .entry-teaser-grid,.purpose-entry-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .section-heading{display:block}
 .section-heading>p{margin-top:8px}
 .finder-summary .active-criteria{flex-basis:100%}
 .finder .search-examples button~button{display:none}
 .finder-summary .results-top{flex-wrap:wrap;gap:6px}
 .finder-summary .results-top h2{flex-basis:100%}
 .results-sort{flex-basis:100%;margin-left:0;max-width:330px}
 .advanced-grid{grid-template-columns:minmax(0,1fr)}
 .advanced-grid .boat-dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .feed-row{grid-template-columns:minmax(0,1fr);row-gap:6px}
 .feed-heading,.feed-summary{grid-column:1}
 .offer-card{padding-block:20px}
 .offer-card h3{font-size:1.18rem}
 .card-bottom{gap:0 20px}
 .card-bottom .button,.card-bottom .save-offer{width:auto;flex:0 1 auto;font-size:.92rem}
 .detail-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .detail-grid>.action-panel,.detail-grid>.detail-body{grid-column:1;grid-row:auto}
 .action-panel{padding:0 0 20px;border:0;border-bottom:1px solid var(--line)}
 .places-filters{grid-template-columns:minmax(0,1fr)}
 .compare-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .footer-details{margin-left:0}
}
@media(max-width:420px){.home-ad{grid-template-columns:minmax(0,1fr);gap:6px}.home-ad-comic{width:190px}.home-ad h2{font-size:1.12rem}.home-purpose-grid{grid-template-columns:minmax(0,1fr)}.home-purpose-link,.home-purpose-multi{flex-direction:row}}
@media(max-width:520px){.state-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.state-link{gap:6px}.state-link img{width:32px;height:24px}}
@media(max-width:380px){.state-links{grid-template-columns:repeat(3,minmax(0,1fr))}.header-actions> a,.header-actions>.nav-disclosure>summary{font-size:.8rem;gap:5px;padding-inline:4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact native business contact actions shared by feed and search cards. */
.card-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;min-width:0}
.card-bottom .card-contact-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:6px 0;color:var(--sea);font-size:.92rem;text-decoration:none}
.card-contact-action img{flex:none;width:18px;height:18px;opacity:.8}
.card-contact-action:focus-visible{outline:3px solid var(--sea);outline-offset:4px}
.tag,.tag.neutral{background:#edf3f7;color:#40596b}
@media(max-width:600px){.card-contact-actions{flex-basis:100%;gap:0 20px}}

/* Adaptive voluntary captain: native controls and compact open result feed. */
.companion-history{display:flex;flex-wrap:wrap;gap:0 14px;list-style:none;margin:0 0 12px;padding:0;min-width:0}
.companion-history li{min-width:0;max-width:100%}
.companion-history button,.search-companion .clear-filters{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
.companion-wish{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.85rem;font-weight:400;margin:12px 0 0}
.companion-wish input{flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--sea)}
.companion-search-context{margin:0 0 14px;font-size:.85rem}
.companion-search-context p{margin:0;overflow-wrap:anywhere}
.companion-results{margin-top:16px;min-width:0}
.companion-suggestion{min-width:0;padding:14px 0;border-top:1px solid var(--line)}
.companion-suggestion .feed-row{grid-template-columns:minmax(0,1fr);padding:8px 0;border:0}
.companion-suggestion .feed-heading,.companion-suggestion .feed-summary{grid-column:1}
.companion-reason,.companion-open{font-size:.85rem;line-height:1.5;margin:0 0 6px;overflow-wrap:anywhere}
.companion-open{color:var(--muted)}
.companion-correction{font-size:.85rem;margin-top:12px;color:var(--muted)}
.companion-options>label{padding:10px 12px;border:1px solid var(--line);border-radius:5px}
.companion-options>label:has(input:checked){border-color:var(--sea);background:#edf3f7}
.companion-options>label:focus-within{outline:2px solid var(--sea);outline-offset:2px}
.companion-more{grid-column:1/-1;min-width:0}
.companion-more>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--sea);font-size:.9rem}
.companion-preference-note{font-size:.8rem;line-height:1.45;color:var(--muted);margin:4px 0 0}
.search-bar:focus-within{outline:3px solid #d77949;outline-offset:3px}
@media(max-width:700px){.companion-options{gap:8px}.companion-next>.button{flex:1;min-height:48px}.companion-actions{gap:8px}.companion-actions .clear-filters{padding:8px 10px}.quick-row:has(.filters[open]){align-items:stretch}.filters[open]>.filter-workspace{padding-bottom:8px}.empty-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.empty-actions>.button{white-space:normal;min-height:48px;text-align:center}}
.search-companion button:focus-visible,.search-companion input:focus-visible,.search-companion select:focus-visible{outline:3px solid var(--sea);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.search-companion *{scroll-behavior:auto;transition:none}}

.location-search{margin:10px 0;max-width:950px}.location-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.location-actions button,.location-actions select{min-height:44px}.location-actions label{display:inline-flex;align-items:center;gap:8px;font-size:.9rem}.location-actions select{width:auto;min-width:100px}.location-privacy,[data-location-status]{font-size:.83rem!important;line-height:1.5!important;margin:6px 0!important}.location-search [data-location-status]:empty{display:none}.nearby-contacts{margin:4px 0;padding-left:20px}.nearby-contacts a{display:inline-flex;align-items:center;min-height:44px}.location-search [data-location-results]{font-size:.9rem;line-height:1.5}.location-search [data-location-results] p{font-size:.86rem;line-height:1.5;margin:8px 0}.hero .location-search a,.hero .location-search .clear-filters{color:inherit}.hero .location-actions select{color:var(--ink);background:#fff}.user-location-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:#1375d6;border:3px solid white;box-shadow:0 0 0 7px #1375d635;z-index:5;pointer-events:none}.user-location-dot[hidden]{display:none}.footer-legal{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.footer-legal a{min-height:44px;display:inline-flex;align-items:center}@media(max-width:600px){.location-actions{gap:8px}.location-actions button{flex:1 1 auto}.location-privacy{max-width:45ch}.nearby-contacts a{overflow-wrap:anywhere}}
.account-area{max-width:1060px;padding-block:2rem 4rem}.account-area>h1{margin-block:.5rem 1rem}.account-area section,.account-area details{margin-block:1.5rem}.account-columns{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.account-form{display:grid;gap:1rem;max-width:42rem;margin-block:1rem}.account-form label{display:grid;gap:.35rem;font-weight:650}.account-form input:not([type=checkbox]),.account-form select,.account-form textarea{width:100%;min-width:0;padding:.7rem;border:1px solid #8098a9;border-radius:.35rem;background:#fff;color:#102e42;font:inherit;box-sizing:border-box}.account-form input[type=checkbox]{width:1.25rem;height:1.25rem;vertical-align:middle}.account-form label:has([type=checkbox]){display:block}.account-form button{justify-self:start}.account-form [role=status],.account-note{font-size:.94rem;overflow-wrap:anywhere}.account-tabs{display:flex;flex-wrap:wrap;gap:1rem;border-bottom:1px solid #c6d5df;padding-block:1rem}.saved-search{padding-block:1rem;border-bottom:1px solid #c6d5df}.saved-search h3{margin-block:.5rem}.account-area summary{min-height:44px;display:list-item;cursor:pointer;font-weight:700;padding-block:.5rem}.account-area [role=status]{min-height:1.5em}.account-area button,.privacy-actions button{min-height:44px}.account-area .button{margin:.25rem .3rem .25rem 0}.account-area a,.account-area label{overflow-wrap:anywhere}.table-scroll{overflow-x:auto}.privacy-actions{display:flex;flex-wrap:wrap;gap:.6rem}.privacy-actions button{padding:.65rem 1rem;background:#fff;border:1px solid #15618c;border-radius:.35rem;color:#124a70;font:inherit;font-weight:650}.privacy-choice{display:block;padding-block:.7rem}.privacy-choice input{width:1.25rem;height:1.25rem;vertical-align:middle;margin-right:.5rem}.privacy-settings fieldset{border:0;padding:0;margin-block:1rem}.privacy-settings p{max-width:70ch}.header-account-link{white-space:nowrap}.operator-steps{display:flex;flex-wrap:wrap;gap:.5rem}.operator-repeat{padding-block:1rem;border-bottom:1px solid #c6d5df}.account-area img{max-width:100%;height:auto}.account-area button:disabled{opacity:.6;cursor:wait}@media(max-width:650px){.account-columns{grid-template-columns:1fr;gap:1rem}.header-actions{gap:.6rem}.header-account-link{font-size:.88rem}.account-tabs{gap:.8rem}.account-area{padding-block:1.5rem 3rem}}

.header-account-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;font-size:.86rem;font-weight:650;text-decoration:none;color:#284e68}
@media(max-width:1100px){.header-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.header-actions>.header-account-link{grid-column:3;grid-row:1}.header-actions>.selection-entry{grid-column:4;grid-row:1}.header-actions>.nav-disclosure[open]>summary{width:calc((100% - 12px)/4)}}
@media(max-width:700px){.header-actions{gap:4px}.header-actions>a,.header-actions>.nav-disclosure>summary{padding-inline:4px;font-size:.8rem;gap:4px}.header-account-link{white-space:normal;text-align:center}.header-actions>.selection-entry{flex-wrap:wrap;white-space:normal;row-gap:0}}
.account-area{overflow-wrap:anywhere}.account-area>h1{font-family:inherit;font-weight:750;letter-spacing:-.03em;line-height:1.15}
.analytics-report table{min-width:48rem;table-layout:auto}.analytics-report .table-scroll:focus-visible{outline:2px solid #15618c;outline-offset:3px}

/* Desktop UX candidate 2026-10-08. Homepage only; existing state/DOM contracts. */
/* Shared GPS control: decorative icon and label persist through state paints. */
[data-location-start]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
[data-location-start]>.location-start-icon{flex:none}

@media(min-width:1200px){
 /* A single navigation menu avoids repeating the five topic routes above them. */
 .desktop-ux-home .header{width:min(1120px,calc(100% - 64px));grid-template-columns:minmax(160px,1fr) auto;gap:24px}
 .desktop-ux-home .header .desktop-nav{display:none}
 .desktop-ux-home .header-actions{display:flex;grid-column:2;grid-row:1;gap:8px}
 .desktop-ux-home .header .nav-disclosure{display:block}
 .desktop-ux-home .header-actions>.nav-disclosure[open]>summary{width:auto}
 .desktop-ux-home .header-search-link{border-radius:6px;background:var(--aqua)}

 /* The wish and filters share one column; the optional captain has his own space. */
 .desktop-ux-home .hero-grid{width:min(1120px,calc(100% - 64px));padding-block:36px 28px;grid-template-columns:minmax(0,1fr)}
 .desktop-ux-home .hero-copy{display:grid;grid-template-columns:minmax(0,1fr) 248px;column-gap:32px;align-items:start}
 .desktop-ux-home .hero-copy>h1{grid-column:1/-1;font-size:2.5rem;max-width:30ch;margin-bottom:10px}
 .desktop-ux-home .hero-copy>.lead{grid-column:1/-1;max-width:65ch;margin-bottom:24px}
 .desktop-ux-home .home-search{grid-column:1;grid-row:3;max-width:none;width:100%;margin:0;scroll-margin-top:24px}
 .desktop-ux-home .search-bar{padding:5px}
 .desktop-ux-home .search-bar input,.desktop-ux-home .search-bar>.button{min-height:48px;height:48px}
 .desktop-ux-home .search-help{margin-top:12px}
 .desktop-ux-home .location-search{margin:14px 0 0}
 .desktop-ux-home .location-actions{gap:8px 16px}
 .desktop-ux-home .location-privacy{max-width:76ch;color:#cbdce8}
 .desktop-ux-home .search-examples{gap:0 16px;margin-top:2px}
 .desktop-ux-home .quick-row{margin-top:12px;padding-top:12px;gap:10px 16px}
 .desktop-ux-home .filters>summary{min-width:116px;justify-content:space-between}
 .desktop-ux-home .filter-workspace{padding:16px 20px;margin-top:12px}
 .desktop-ux-home .filter-workspace>.advanced-grid{grid-template-columns:minmax(0,1fr);padding:0}
 .desktop-ux-home .home-where{max-width:none;width:100%}
 .desktop-ux-home .home-where select{width:100%}
 .desktop-ux-home .search-companion{grid-column:2;grid-row:3;max-width:none;margin:0;padding:12px 0 12px 20px;border-top:0;border-left:1px solid #ffffff30}
 .desktop-ux-home .search-companion>summary{gap:10px;min-height:48px}
 .desktop-ux-home .search-companion>summary>img{width:40px;height:40px}
 .desktop-ux-home .search-companion>summary strong{font-size:.9rem}
 .desktop-ux-home .search-companion>summary small{font-size:.8rem}
 .desktop-ux-home .search-companion[open]{grid-column:1/-1;grid-row:4;margin-top:16px;padding:16px 20px;border:1px solid var(--line)}
 .desktop-ux-home .search-companion .companion-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .desktop-ux-home .search-companion .companion-next>.button{width:100%;white-space:normal}
 .desktop-ux-home .search-companion .companion-actions{gap:8px}
 .desktop-ux-home .search-companion summary:focus-visible{outline-offset:4px}

 /* Existing search state already hides the route tiles and the introductory copy. */
 .desktop-ux-home.has-search-results .hero-grid{padding-block:24px}
 .desktop-ux-home.has-search-results .home-search,
 .desktop-ux-home.has-search-results .search-companion{grid-row:1}
 .desktop-ux-home.has-search-results .search-companion[open]{grid-row:2}
 .desktop-ux-home.has-search-results .search-examples{display:none}

 /* Quieter discovery routes; the result count, criteria and sort get a clear band. */
 .desktop-ux-home .home-routes,.desktop-ux-home .home-results,
 .desktop-ux-home .home-regions,.desktop-ux-home .home-purposes{width:min(1120px,calc(100% - 64px))}
 .desktop-ux-home .home-routes{padding-block:24px 8px}
 .desktop-ux-home .routes{gap:20px}
 .desktop-ux-home .route-card{padding:12px 16px 16px;border:1px solid var(--line);border-radius:var(--radius)}
 .desktop-ux-home .route-card:hover{border-color:#a8c0ce;background:#f6fafc}
 .desktop-ux-home .route-icon{width:32px;height:32px;margin-bottom:12px}
 .desktop-ux-home .route-icon img{width:32px;height:32px}
 .desktop-ux-home .route-card h2{font-size:1rem}
 .desktop-ux-home .route-card p{font-size:.86rem;margin-bottom:0}
 .desktop-ux-home .route-link{display:none}
 .desktop-ux-home .home-results{padding-block:0}
 .desktop-ux-home.has-search-results .home-results{padding-block:28px 16px}
 .desktop-ux-home .home-results .finder-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;padding:18px 20px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--radius);background:#f6fafc}
 .desktop-ux-home #home-search-count{grid-column:1;grid-row:1;font-size:1.3rem}
 .desktop-ux-home #home-active-filters{grid-column:1/-1;grid-row:3}
 .desktop-ux-home .home-results .results-sort{grid-column:2;grid-row:1;margin:0;align-self:start}
 .desktop-ux-home .home-results .results-jump{grid-column:1;grid-row:2;justify-self:start}
 .desktop-ux-home #home-search-results{scroll-margin-top:24px}
 .desktop-ux-home .home-results .offer-card{padding:24px 20px}
 .desktop-ux-home .home-results .feed-row{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:40px;row-gap:10px}
 .desktop-ux-home .home-results .card-bottom{gap:4px 24px;padding-top:8px}
 .desktop-ux-home #home-search-more{margin-block:20px 8px}
 .desktop-ux-home .home-regions{margin-top:28px}
 .desktop-ux-home .home-purposes{padding-block:20px 36px}
}

/* Captain V10: scoped, no external assets or motion dependencies. */
.search-companion .companion-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.search-companion .companion-dialog,.search-companion .companion-preview{min-width:0}
.search-companion .companion-step-label{display:none}
.search-companion [data-companion-heading]{font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.2;margin:0 0 12px;scroll-margin-top:20px}
.search-companion .companion-why{font-size:.92rem;line-height:1.55;max-width:60ch;color:#405e73;margin-bottom:18px}
.search-companion .companion-strength{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0 0 16px}
.search-companion .companion-strength legend{font-size:.8rem;padding:0;margin-bottom:6px}
.search-companion .companion-strength label{display:flex;gap:8px;align-items:center;margin:0;padding:9px 12px;min-height:44px;border:1px solid #c6d5e1;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer}
.search-companion .companion-strength label:has(input:checked){background:#e7f2fa;border-color:#15618c;color:#12344d}
.search-companion .companion-strength input{width:16px;height:16px;margin:0;padding:0;accent-color:#15618c}
.search-companion .companion-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:0}
.search-companion .companion-choice{min-width:0;min-height:52px;padding:13px 14px;border:1px solid #b8cfde;border-radius:10px;background:#fff;color:#12344d;text-align:left;font-size:.95rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere}
.search-companion .companion-choice:hover{background:#edf6fc;border-color:#15618c}
.search-companion .companion-more{grid-column:1/-1}
.search-companion .companion-more .companion-choice{width:100%;margin-top:8px}
.search-companion .companion-region-label{margin-bottom:12px}
.search-companion .companion-open-actions{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px}
.search-companion .companion-open-actions button{font-size:.85rem}
.search-companion .companion-show-results{margin-top:16px}
.search-companion .companion-answers{margin:22px 0 0;border-top:1px solid #d5e3eb;padding-top:8px}
.search-companion .companion-answers>summary{min-height:44px;display:list-item;font-size:.88rem;font-weight:650;cursor:pointer}
.search-companion .companion-history{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
.search-companion .companion-history button{display:grid;gap:2px;border:1px solid #d5e3eb;border-radius:8px;padding:8px 10px;background:#fff;text-decoration:none}
.search-companion .companion-history button>span:not(.sr-only),.search-companion .companion-history button>small{font-size:.72rem;color:#496679}
.search-companion .companion-history button>strong{font-size:.84rem;line-height:1.4;font-weight:650}
.search-companion .companion-preview{padding:18px;border:1px solid #d5e3eb;border-radius:12px;background:#f3f8fc;color:#12344d}
.search-companion .companion-preview h3{font-size:1.35rem;line-height:1.3;margin-bottom:10px}
.search-companion .companion-match-summary,.search-companion .companion-preview-note,.search-companion .companion-location-note{font-size:.84rem;line-height:1.55;margin-bottom:10px;color:#405e73}
.search-companion .companion-results{margin-top:14px;gap:10px}
.search-companion .companion-suggestion{border:1px solid #dae5ed;border-radius:10px;background:#fff;padding:14px;min-width:0}
.search-companion .companion-suggestion .offer-card{padding:8px 0!important;background:none;border:0}
.search-companion .companion-suggestion .offer-card h3{font-size:1.02rem}
.search-companion .companion-suggestion .feed-row{display:block}
.search-companion .companion-suggestion .feed-facts{font-size:.8rem}
.search-companion .companion-suggestion .card-bottom{gap:4px 14px}
.search-companion .companion-suggestion .card-bottom a,.search-companion .companion-suggestion .card-bottom button{font-size:.8rem}
.search-companion .companion-reason,.search-companion .companion-open{font-size:.79rem;line-height:1.5}
.search-companion .companion-actions{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:14px}
.search-companion .companion-actions>.clear-filters{font-size:.82rem}
.search-companion .companion-recovery{margin:18px 0}
.search-companion .companion-recovery h4{margin:0 0 8px;font-size:1rem}
.search-companion .companion-recovery p{font-size:.85rem;line-height:1.5}
.search-companion .companion-recovery-choice{display:grid;gap:6px;width:100%;min-height:48px;margin:8px 0;padding:12px;border:1px solid #8eb5cf;border-radius:9px;background:#fff;color:#12344d;text-align:left;overflow-wrap:anywhere}
.search-companion .companion-recovery-choice strong{font-size:.9rem}
.search-companion .companion-recovery-choice span{font-size:.8rem;line-height:1.5}
.search-companion .companion-edit-note,.search-companion .companion-handoff-note{font-size:.82rem;line-height:1.5;color:#405e73}
.search-companion .companion-final{max-width:860px;margin-inline:auto}
@media(min-width:1000px){.search-companion .companion-flow.has-preview{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px}.search-companion .companion-flow:not(.has-preview){max-width:780px;margin-inline:auto}}
@media(max-width:420px){.search-companion .companion-options{grid-template-columns:minmax(0,1fr)}.search-companion .companion-preview{padding:12px}.search-companion .companion-choice{min-height:48px}.search-companion .companion-suggestion{padding:10px}}
@media(max-width:600px){.search-companion .companion-suggestion .decision-facts>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-bottom:10px}.search-companion .companion-suggestion .decision-facts dt,.search-companion .companion-suggestion .decision-facts dd{padding:0;margin:0;min-width:0}.search-companion .companion-suggestion .decision-facts dt{font-size:.75rem}}

.captain-supp{color:#102a43;background:#fff;border:1px solid #ccd8e4;border-radius:1rem;padding:1rem;overflow-wrap:anywhere}.captain-supp h3{margin-top:0}.captain-supp p{line-height:1.5}.captain-supp fieldset{border:0;padding:0;min-inline-size:0}.captain-supp legend{font-weight:700;margin-bottom:.75rem}.captain-supp-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem}.captain-supp label{display:grid;gap:.35rem}.captain-supp input,.captain-supp select{box-sizing:border-box;width:100%;min-width:0;padding:.7rem;border:1px solid #627d98;border-radius:.4rem;background:#fff;color:#102a43;font:inherit}.captain-supp-buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}.captain-supp button{padding:.7rem 1rem;border:1px solid #145da0;border-radius:.5rem;background:#145da0;color:#fff;font:inherit;cursor:pointer}.captain-supp button:disabled{background:#e4ebf2;border-color:#627d98;color:#334e68;cursor:default}.captain-supp :focus-visible{outline:3px solid #0077b6;outline-offset:3px}.captain-supp [aria-invalid=true]{border:2px solid #a32424}.captain-supp-note{padding:.75rem 0;border-bottom:1px solid #e4ebf2}@media(prefers-reduced-motion:reduce){.captain-supp,.captain-supp *{animation:none;transition:none;scroll-behavior:auto}}
.captain-notes-support{grid-column:1/-1;min-width:0;margin-top:1rem}.captain-notes-support>summary{cursor:pointer;padding:.85rem;line-height:1.5}.captain-notes-support[hidden]{display:none}.captain-supp-extra{grid-column:1/-1}.captain-supp-extra>summary{cursor:pointer;padding:.6rem 0}.captain-supp-extra label{margin-top:.7rem}.captain-notes-status{line-height:1.5;overflow-wrap:anywhere}
.captain-inquiry{margin-top:1rem;padding:1rem;border:1px solid #ccd8e4;border-radius:1rem;background:#fff;color:#102a43}
.captain-inquiry[hidden]{display:none}
.captain-inquiry label{display:grid;gap:.6rem;font-weight:700}
.captain-inquiry textarea{box-sizing:border-box;display:block;width:100%;min-width:0;resize:vertical;padding:.75rem;font:inherit;line-height:1.5;border:1px solid #627d98;border-radius:.5rem;background:#fff;color:#102a43}
.captain-inquiry button{min-height:48px;margin-top:.75rem;padding:.65rem 1rem;background:#145da0;color:#fff;border:0;border-radius:.5rem;font:inherit;cursor:pointer}
.captain-inquiry :focus-visible{outline:3px solid #0077b6;outline-offset:3px}

/* CAP-03 additive delta. Load after V11 design.css; no global card overrides. */
.search-companion[open]{max-width:none}
.search-companion [data-companion-workspace]{margin-top:8px;padding:8px 0}
.search-companion .companion-final{max-width:none}
.search-companion .companion-flow{gap:16px}
.search-companion .companion-preview{padding:14px}
.search-companion .companion-result-header{min-width:0}
.search-companion .companion-result-count{font-size:.94rem;font-weight:700;margin:0 0 6px;color:#12344d}
.search-companion .companion-result-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.search-companion .companion-result-navigation .companion-actions{margin:0;gap:4px 12px}
.search-companion .companion-result-navigation>a{white-space:normal;text-align:left}
.search-companion .companion-answers{margin:6px 0 0;padding-top:2px}
.search-companion .companion-why{margin-bottom:12px;line-height:1.45}
.search-companion .companion-strength{margin-bottom:10px}
.search-companion .companion-choice{min-height:48px;padding:10px 12px}
.search-companion .companion-choice[aria-pressed=true]{border-color:#15618c;background:#e7f2fa;box-shadow:inset 3px 0 #15618c}
.search-companion .companion-open-actions [aria-pressed=true]{font-weight:700;text-decoration:underline}
.search-companion .companion-recovery{margin:10px 0;padding:12px;border:1px solid #8eb5cf;border-radius:10px;background:#e7f2fa}
.search-companion .companion-recovery>p{margin:0 0 6px}
.search-companion .companion-recovery-choice{margin:6px 0 0;padding:10px}
.search-companion .companion-results{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;margin-top:12px}
.search-companion .companion-suggestion{padding:12px;overflow-wrap:anywhere}
.search-companion .companion-offer-title{font-size:1rem;line-height:1.4;margin:0 0 4px;color:#12344d}
.search-companion .companion-provider{font-size:.82rem;line-height:1.4;margin:0 0 8px;color:#405e73}
.search-companion .companion-reason,.search-companion .companion-open{margin:6px 0}
.search-companion .companion-offer-details{margin-top:6px;border-top:1px solid #d5e3eb}
.search-companion .companion-offer-details>summary{display:list-item;cursor:pointer;min-height:44px;padding:10px 0;font-size:.85rem;font-weight:650;line-height:1.5;color:#145b82}
.search-companion .companion-offer-details[open]>summary{margin-bottom:4px}
.search-companion .companion-offer-details .card-bottom{flex-wrap:wrap}
.search-companion .companion-offer-details .card-bottom>*{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.search-companion .companion-offer-details .decision-facts>div{display:block}
.search-companion .companion-offer-details .decision-facts dt,.search-companion .companion-offer-details .decision-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}
.search-companion .companion-offer-details .decision-facts>div+div{margin-top:6px}
.search-companion .companion-location-note{margin:10px 0 0}
.search-companion .companion-handoff-note{margin:6px 0}
.search-companion .companion-result-navigation a:focus-visible,.search-companion details>summary:focus-visible{outline:3px solid var(--sea);outline-offset:3px}
/* Container width, not viewport width: previews stay one column alongside questions. */
.search-companion .companion-final{container-type:inline-size;container-name:captain-final}
@container captain-final (min-width:840px){
 .search-companion .companion-final .companion-results{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Keep the established question/preview two-column breakpoint. DOM order is question first. */
@media(min-width:1000px){
 .search-companion .companion-flow.has-preview{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px}
 .desktop-ux-home .search-companion[open]{margin-top:10px;padding:12px 16px}
 .desktop-ux-home .hero-grid:has(.search-companion[open]){padding-block:20px}
}
@media(max-width:600px){
 .hero .search-companion[open]{padding:10px}
 .search-companion .companion-preview{padding:10px}
 .search-companion .companion-suggestion{padding:10px}
 .search-companion .companion-result-navigation{align-items:stretch;gap:6px}
 .search-companion .companion-result-navigation>a{width:100%}
 .search-companion .companion-recovery{padding:10px}
 .search-companion [data-companion-heading]{font-size:1.25rem;margin-bottom:8px}
}

/* Append once after the pinned V12 CSS. Only the existing captain is scoped here. */
.search-companion .companion-flow,
.search-companion .companion-final{width:100%;max-width:72rem;margin-inline:auto;box-sizing:border-box}
.search-companion .companion-dialog{width:100%;max-width:44rem;margin-inline:auto;box-sizing:border-box}
.search-companion .companion-flow:not(.has-preview){max-width:44rem}
.search-companion .companion-flow{align-items:start;gap:20px}
.search-companion .companion-preview{align-self:start;min-height:0;box-sizing:border-box}
.search-companion .companion-why,
.search-companion .companion-match-summary,
.search-companion .companion-handoff-note,
.search-companion .companion-location-note,
.search-companion .companion-preference-note{max-width:68ch;overflow-wrap:anywhere}
.search-companion .companion-choice{white-space:normal;max-width:100%;height:auto}
.search-companion .companion-choice-label{display:block;font-weight:650}
.search-companion .companion-choice-description{display:block;margin-top:4px;font-size:.84rem;line-height:1.5;font-weight:400;color:#405e73}
.search-companion .companion-strength legend{font-size:.85rem;color:#405e73}
.search-companion .companion-preference-note{margin:8px 0 0;line-height:1.5}
.search-companion .companion-result-count{font-size:.9rem}
.search-companion .companion-preview h3{font-size:1.2rem}
.search-companion .companion-result-navigation{margin-top:12px}
.search-companion .companion-actions .companion-restart{margin-inline-start:auto;font-weight:400;font-size:.8rem;color:#496679;text-decoration:underline;text-underline-offset:3px}
.search-companion .companion-actions button,
.search-companion .companion-open-actions button,
.search-companion .companion-result-navigation>a,
.search-companion .companion-result-navigation>button{min-height:44px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.search-companion .companion-strength label,
.search-companion .companion-region-label,
.search-companion .companion-region-label select{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.search-companion .companion-strength label{flex-wrap:wrap}
.search-companion button:focus-visible,
.search-companion input:focus-visible,
.search-companion select:focus-visible,
.search-companion a:focus-visible,
.search-companion summary:focus-visible,
.search-companion [data-companion-heading]:focus{outline:3px solid #15618c;outline-offset:3px}
/* V12 owns the 840px container rule for three final cards; previews stay stacked. */
@media(min-width:1000px){
 .search-companion .companion-flow.has-preview{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px}
}
@media(max-width:700px){
 .search-companion .companion-options{grid-template-columns:minmax(0,1fr);gap:8px}
 .search-companion .companion-flow{gap:16px}
 .search-companion .companion-show-results{max-width:100%;white-space:normal;overflow-wrap:anywhere}
}

.search-companion .captain-location{max-width:42rem;margin-inline:auto;padding-block:.5rem 1rem}
.search-companion .captain-location[hidden],.search-companion [data-companion-content][hidden]{display:none}
.captain-location h3{margin:.3rem 0 .75rem;line-height:1.2;font-size:clamp(1.5rem,2.2vw,2rem)}
.captain-location .captain-gps{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;margin:1rem 0;width:100%}
.captain-location-input-row{display:flex;gap:.5rem;margin-top:.35rem}
.captain-location-input-row input{min-width:0;flex:1;font:inherit;border:1px solid #91a5b0;border-radius:.6rem;padding:.8rem;background:white;color:#123047}
.captain-location-input-row button{flex:0 0 auto;min-height:48px}
.captain-location-status{min-height:1.6em;margin:.6rem 0;line-height:1.45}
.captain-location-options{display:grid;gap:.6rem;margin:.6rem 0 1rem}
.captain-location-options .companion-choice{display:flex;flex-direction:column;gap:.3rem;min-width:0;text-align:left}
.captain-location-options .companion-choice span{font-weight:400;font-size:.92em}
.captain-location-regions{margin-block:1rem}
.captain-location-regions summary{cursor:pointer;min-height:44px;padding:.5rem 0}
.captain-location-regions select{display:block;width:100%;max-width:100%;padding:.8rem;font:inherit;margin-top:.4rem}
.captain-location-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1rem 0}
.captain-location-privacy,.captain-location-attribution{display:block;font-size:.82rem;line-height:1.5;color:#42586a;margin-top:.65rem}
.captain-search-location{display:flex;gap:.5rem 1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem;padding:.7rem 1rem;border-radius:.65rem;background:#edf5fa;color:#183c53}
.captain-search-location span{flex:1;min-width:0;overflow-wrap:anywhere}
.captain-search-location button{min-height:44px;flex:0 0 auto}
.captain-search-location small{flex-basis:100%;line-height:1.4}
.captain-location [data-location-heading]:focus-visible{outline:2px solid #116db0;outline-offset:5px}
.captain-location [data-location-heading]:focus:not(:focus-visible){outline:none}
.search-companion [data-location-heading],.search-companion [data-companion-heading],.search-companion [data-captain-location-pick]{scroll-margin-top:16px}
@media(max-width:480px){.captain-location-input-row{flex-direction:column}.captain-location-input-row button{width:100%}.captain-search-location{padding:.6rem .8rem}}
