:root{--ink:#102f50;--text:#243d56;--muted:#53667b;--paper:#eef2f7;--line:#cbd5e0;--control:#71849a;--accent:#1459b8;--tint:#e8f0fc;--white:#fff;--radius:8px;font-family:'Segoe UI',Arial,sans-serif;font-size:16px;color:var(--text);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;background:#e8edf2;color:#596b7f;border-color:#9aa8b8}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a54e00;outline-offset:3px}p{line-height:1.55;margin:0 0 12px}h1,h2,h3{color:var(--ink);line-height:1.2;margin:0}h1{font-size:28px;letter-spacing:-.7px;font-weight:700}h2{font-size:22px;letter-spacing:-.35px}h3{font-size:23px;letter-spacing:-.4px}button,input,select{min-height:44px}button{border:1px solid var(--control);border-radius:5px;background:white;color:var(--ink);padding:9px 12px;line-height:1.4}button:hover:enabled{background:var(--tint);border-color:var(--accent)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:9999}.skip:focus{top:4px}
.site-header{background:var(--ink);color:white;border-bottom:3px solid #3d79bc}.header-inner{max-width:1420px;min-height:62px;margin:auto;padding:8px 28px;display:flex;gap:36px;align-items:center}.brand{display:flex;gap:9px;align-items:center;font-size:25px;font-weight:700;letter-spacing:-1px;text-decoration:none;color:white}.brand svg{width:34px;height:34px;border:1px solid #86a6c4;padding:3px;border-radius:5px}.brand-country{color:#a8ceff;font-weight:500}nav{display:flex;gap:24px}nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:15px}.site-header nav a{color:#e4edf8}.site-header nav a[aria-current]{color:white;text-decoration:underline;text-decoration-color:#b8d7ff;text-decoration-thickness:2px;text-underline-offset:8px}.local-badge{margin-left:auto;color:#d9e7f7;font-size:13px;white-space:nowrap}
main{max-width:1420px;margin:auto;padding:18px 28px 40px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.intro p{margin:6px 0 0;color:var(--muted);font-size:15px;max-width:72ch}.intro .coverage{max-width:240px;font-size:13px;margin:0;border-left:2px solid #8ba6c2;padding-left:16px}.eyebrow{font-size:13px;color:var(--muted);line-height:1.4;font-weight:600}.filters{background:white;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;box-shadow:0 4px 12px #102f5009}.filter-primary{display:grid;grid-template-columns:1.55fr repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}label{display:grid;gap:5px;font-size:14px;font-weight:600;min-width:0}input,select{width:100%;min-width:0;border:1px solid var(--control);border-radius:4px;background:white;color:var(--ink);font-size:16px;padding:9px 10px}input::placeholder{color:var(--muted);opacity:1}input:disabled{color:#596b7f;background:#e8edf2}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;background:var(--accent);border:1px solid var(--accent);border-radius:5px;color:white;font-size:16px;font-weight:600;line-height:1.4;text-decoration:none}.button:not(.secondary):not(:disabled):hover,.button:not(.secondary):not(:disabled):focus-visible{background:#0f438f;color:white}.button:not(.secondary):not(:disabled):active{background:#0a326d;color:white}.button:disabled{background:#e8edf2;color:#596b7f;border-color:#9aa8b8}.button.secondary{background:white;color:var(--accent);border-color:var(--control)}.button.secondary:hover{background:var(--tint)}.filter-secondary{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr) auto;gap:16px;align-items:start;margin-top:12px;padding-top:12px;border-top:1px solid #e0e7ef}.filter-secondary details{min-width:0;padding-top:22px}.filter-secondary summary{cursor:pointer;min-height:44px;padding:10px 8px;font-size:15px;font-weight:600;color:var(--accent)}.reset{align-self:start;margin-top:22px;border-color:transparent;text-decoration:underline;font-size:14px;padding:10px 2px;color:var(--muted)}.advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:12px}.form-note{font-size:14px;color:var(--muted);margin:12px 0 4px}.results-heading{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.results-heading h2{font-size:21px}.results-heading p{font-size:14px;margin:0;color:var(--muted)}.results-heading .comparison-note{margin-left:auto;font-size:13px}#show-map{display:none}
.directory-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:20px;align-items:start}.space-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);column-gap:20px;row-gap:14px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:14px;box-shadow:0 3px 9px #102f5006}.space-card.selected{border-color:var(--accent);box-shadow:inset 4px 0 var(--accent),0 4px 12px #102f5012}.card-top{display:flex;align-items:center;gap:9px;margin-bottom:8px}.card-index{min-width:29px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:var(--ink);color:white;font-size:13px;font-variant-numeric:tabular-nums}.card-top .eyebrow{font-weight:400}.card-top .eyebrow span{color:var(--muted);padding:0 3px}.space-card h3{margin:0 0 8px}.space-card h3 a{text-decoration:none;color:var(--ink)}.space-card h3 a:hover{text-decoration:underline}.address{font-size:15px;color:var(--muted);margin:0;line-height:1.5}.card-price{border-left:1px solid var(--line);padding-left:18px;display:flex;flex-direction:column;gap:5px;align-items:flex-start}.card-price small{font-size:13px;color:var(--muted)}.card-price strong{font-size:21px;line-height:1.3;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.card-price span{font-size:13px;color:var(--muted);line-height:1.5}.card-info{grid-column:1/-1}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.service-tags span,.pill{font-size:13px;line-height:1.4;background:var(--tint);color:#244d7c;padding:4px 7px;border-radius:4px}.card-summary{color:var(--muted);font-size:15px;line-height:1.5;margin:0}.card-actions{display:flex;align-items:center;gap:12px;grid-column:1/-1;padding-top:10px;border-top:1px solid #e0e7ef}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:18px;font-size:15px;font-weight:600;text-decoration:none;padding:9px 12px;background:var(--tint);border:1px solid #afc4e0;border-radius:4px}.map-select{font-size:14px;margin-left:auto}.unknown{font-size:13px;color:#6a4c19}.card-actions .unknown{margin-left:auto;max-width:200px}.selection-status{font-size:14px;color:var(--muted)}
.map-panel{position:sticky;top:16px;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 12px #102f5009}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}.map-heading h2{font-size:19px;margin-top:3px}.map-heading .eyebrow{letter-spacing:.7px;font-size:12px}.small-button{font-size:14px;min-height:44px;padding:9px 10px}.map{height:300px;background:#dce7f0!important;position:relative}.map-loading{padding:24px;font-size:15px;line-height:1.6}.map-caption{padding:14px 16px}.map-caption p{font-size:14px;color:var(--muted);margin:0 0 10px}.map-caption .tiny,.map-caption .map-credit{font-size:12px;line-height:1.5;margin-top:10px;margin-bottom:0}.map-caption .map-credit a{display:inline-block;min-height:24px}.leaflet-control-attribution{font-size:12px!important}.leaflet-control-zoom a{font-size:22px;min-width:36px;min-height:36px;line-height:36px}.leaflet-control-zoom a span{font-size:22px}.leaflet-tooltip{font-family:inherit;font-size:14px}.place-pin{background:var(--ink);border:2px solid white;color:white;font-family:inherit;font-size:14px;font-weight:700;line-height:40px;text-align:center;border-radius:50% 50% 50% 7px;box-shadow:0 2px 5px #102f5040}.place-pin.active{background:var(--accent);outline:3px solid #102f50}.map .leaflet-popup-content{font:15px/1.5 'Segoe UI',Arial,sans-serif}.map .leaflet-popup-content a{display:inline-flex;align-items:center;min-height:44px}.map .leaflet-popup-close-button{width:28px;height:28px;line-height:28px}.empty{background:white;border:1px dashed var(--control);border-radius:var(--radius);padding:24px}.empty h3{margin-bottom:10px}.empty p{font-size:16px}.load-error{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff4de;border:1px solid #a47b33;border-left:4px solid #855c18;border-radius:5px;padding:16px;margin-bottom:16px;color:#684812}.load-error p{margin:4px 0 0;font-size:15px}.load-error button{flex-shrink:0}
.breadcrumb{align-items:center;gap:12px;font-size:14px;margin:0 0 12px;flex-wrap:wrap}.breadcrumb a{font-size:14px;min-height:32px}.detail-intro{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;margin-bottom:24px;align-items:start}.detail-intro h1{font-size:34px;margin:5px 0 10px}.detail-intro .prominent{font-size:16px;margin:0 0 14px;color:var(--muted)}.decision-price{padding:14px 18px;background:white;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:5px;display:grid;gap:6px;margin:0 0 14px}.decision-price strong{color:var(--ink);font-size:26px;line-height:1.3}.decision-price p{font-size:15px;margin:0}.decision-price .tiny a{display:inline-block;min-height:24px}.detail-summary{font-size:16px;color:var(--muted);margin:0;max-width:80ch}.detail-actions{display:grid;gap:10px;align-content:start}.detail-actions .tiny{margin-top:2px}.tiny{font-size:13px;line-height:1.55;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:20px;align-items:start}.detail-layout .map{height:300px}.section-block{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:18px}.section-block h2{margin-bottom:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-heading h2{margin:0}.section-note{font-size:15px;color:var(--muted)}.plans{display:grid;gap:14px;margin-top:16px}.plan{border-top:1px solid var(--line);padding-top:16px}.plan>div{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px}.plan h3{font-size:18px}.plan strong{font-size:20px;color:var(--ink)}.plan p{font-size:15px}.plan .tiny{font-size:13px;margin-bottom:0}.services-detail,.location-detail{margin:0}.services-detail>div{padding:14px 0;border-bottom:1px solid #e0e7ef}.services-detail dt{font-size:16px;font-weight:600;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.services-detail dt span{font-size:13px;font-weight:400}.confirmed{background:var(--tint);color:#244d7c;padding:4px 7px;border-radius:4px}dd{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}dd .tiny{display:block;margin-top:5px}.location-detail>div{margin-bottom:16px}.location-detail dt{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px}.location-detail+.button{margin-bottom:12px}.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.contact-links a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;font-size:16px}.section-block details summary{cursor:pointer;font-size:16px;min-height:44px;padding:10px 0;font-weight:600}.evidence-list{padding-left:20px}.evidence-list li{font-size:15px;line-height:1.6;margin-bottom:14px;overflow-wrap:anywhere}.prose{max-width:860px;margin:0 auto;padding:24px 32px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.prose h1{margin:6px 0 14px}.prose .lead{font-size:19px;color:var(--muted)}.prose section{border-top:1px solid var(--line);padding:22px 0 10px}.prose h2{margin-bottom:14px}.prose p{line-height:1.7}.source-list{list-style:none;padding:0}.source-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.source-list a{min-height:44px;display:inline-flex;align-items:center}.source-list span{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);max-width:1364px;margin:auto;padding:24px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;color:var(--muted);font-size:13px}footer>div{max-width:480px}footer strong{font-size:17px;color:var(--ink)}footer p{margin:5px 0}footer>a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1100px){.header-inner{gap:24px}.directory-layout,.detail-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.space-card{grid-template-columns:minmax(0,1fr) minmax(160px,.75fr);gap:14px;padding:16px}.card-price{padding-left:14px}.card-price strong{font-size:20px}.filter-primary{grid-template-columns:1.3fr repeat(3,minmax(0,1fr)) auto;gap:10px}.intro .coverage{max-width:205px}footer{padding:24px 28px;flex-wrap:wrap}}
@media(max-width:900px){.directory-layout,.detail-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px}.space-card{grid-template-columns:1fr}.card-price{border:0;padding:10px 0 0;border-top:1px solid var(--line)}.intro{display:block}.intro .coverage{border:0;padding:0;max-width:none;margin-top:6px}.filter-primary{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.search-field{grid-column:1/-1}.filter-secondary{grid-template-columns:minmax(160px,200px) minmax(0,1fr) auto;gap:12px}.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-intro{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.detail-intro h1{font-size:30px}.section-block{padding:20px}.map-heading{padding:12px}.map-heading h2{font-size:18px}.map-heading .small-button{font-size:13px;padding:8px}.map-caption{padding:12px}}
@media(max-width:760px){.header-inner{padding:8px 16px;gap:16px;flex-wrap:wrap;min-height:62px}.brand{font-size:23px}.brand svg{width:31px;height:31px}.header-inner nav{gap:14px;margin-left:auto}.header-inner nav a{font-size:14px}.local-badge{flex-basis:100%;margin:0;font-size:12px;line-height:1.2}.header-inner{row-gap:3px}main{padding:16px 16px 28px}.intro h1{font-size:26px;letter-spacing:-.5px}.intro p{font-size:15px}.intro .coverage{font-size:13px;margin-top:7px}.filters{padding:12px;margin-bottom:14px}.filter-primary{grid-template-columns:1fr 1fr;gap:10px}.filter-primary .search-field{grid-column:1/-1}.filter-primary .search-button{align-self:end}.filter-secondary{grid-template-columns:1fr auto;gap:8px 12px;margin-top:10px;padding-top:10px}.service-filter{grid-column:1/-1}.filter-secondary details{padding-top:0}.filter-secondary .reset{margin-top:0}.filter-secondary details[open]{grid-column:1/-1}.filter-secondary details[open]+.reset{grid-column:2}.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-secondary summary{padding-left:0;font-size:14px}.results-heading{gap:6px 12px;margin-bottom:10px}.results-heading h2{font-size:21px}.results-heading .comparison-note{order:4;flex-basis:100%;margin:0;font-size:13px}#show-map{display:inline-flex;margin-left:auto}.directory-layout,.detail-layout{display:flex;flex-direction:column;gap:18px}.directory-layout>section,.detail-layout>div{width:100%}.directory-layout .map-panel,.detail-layout .map-panel{position:relative;top:auto;width:100%}.directory-layout.map-first .map-panel{order:-1}.space-card{grid-template-columns:1fr;padding:16px;gap:12px}.card-top{margin-bottom:6px}.space-card h3{font-size:23px;margin-bottom:7px}.card-price{padding-top:10px;gap:4px}.card-price strong{font-size:22px}.card-price small{font-size:13px}.card-summary{font-size:15px}.card-actions{padding-top:10px}.card-actions .unknown{max-width:155px}.map{height:330px}.map-heading{padding:14px 16px}.map-caption{padding:14px 16px}.detail-intro{display:block;margin-bottom:18px}.detail-intro h1{font-size:30px}.detail-actions{margin-top:18px;grid-template-columns:1fr 1fr}.detail-actions .tiny{grid-column:1/-1}.detail-actions .copy-link{grid-column:1/-1}.detail-actions .button{font-size:15px;padding:10px}.decision-price{padding:13px 14px}.decision-price strong{font-size:25px}.section-block{padding:18px}.section-block h2{font-size:22px}.plan>div{display:grid;gap:8px}.prose{padding:18px}.prose h1{font-size:28px}.prose .lead{font-size:18px}.source-list li{display:block}.source-list span{display:block;margin-top:3px}.load-error{display:block}.load-error button{margin-top:12px}footer{display:block;padding:24px 16px}footer>a{margin:8px 0}}
@media(max-width:360px){.header-inner{gap:3px 10px}.header-inner nav{gap:12px}.header-inner nav a{font-size:13px}.brand{font-size:21px;gap:6px}.brand svg{width:28px;height:28px}.header-inner nav{flex-basis:100%;margin:0}.header-inner nav a{min-height:36px}.local-badge{flex-basis:auto;margin-left:auto}.intro h1{font-size:25px}.filter-secondary{grid-template-columns:1fr}.filter-secondary .reset{justify-self:start}.filter-secondary details[open]+.reset{grid-column:1}.advanced-grid{grid-template-columns:1fr}.detail-actions{grid-template-columns:1fr}.card-actions{gap:8px}.card-actions .unknown{max-width:120px}.filter-primary select{padding-left:8px;padding-right:4px}.prose{padding:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{header nav,.filters,button,.map-panel,.detail-actions,footer{display:none}.directory-layout,.detail-layout{display:block}.space-card,.plan{break-inside:avoid}main{max-width:none;padding:0}body{background:white}.prose{border:0}}
/* Refinamiento de la composición: territorio, comparación y decisión. */
.filter-primary{grid-template-columns:1.5fr repeat(4,minmax(0,1fr)) auto}.filter-secondary{display:flex;gap:16px;align-items:start;margin-top:8px;padding-top:4px}.filter-secondary details{flex:1;padding-top:0}.reset{margin-top:0}.space-card{grid-template-areas:'identity price' 'info actions';align-items:start}.card-identity{grid-area:identity}.card-price{grid-area:price}.card-info{grid-area:info;grid-column:auto}.card-actions{grid-area:actions;grid-column:auto;border:0;padding:0;flex-wrap:wrap;align-self:end;justify-content:space-between;gap:8px}.map-select{margin:0}.card-actions .unknown{margin:0;max-width:none}.map{height:350px}.territory-status{font-size:14px;color:var(--ink);padding:10px 14px;background:var(--tint);border-left:3px solid var(--accent);overflow-wrap:anywhere}.intro h1{font-size:27px}.intro .coverage{max-width:260px}.intro p{margin-top:4px}.header-inner{gap:32px}
@media(max-width:1100px){.filter-primary{grid-template-columns:1.3fr repeat(4,minmax(0,1fr)) auto;gap:10px}.card-actions{flex-direction:column;align-items:stretch}.card-actions .unknown{max-width:none}}
@media(max-width:900px){.filter-primary{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.filter-primary .search-field{grid-column:1/-1}.space-card{grid-template-areas:'identity' 'price' 'actions' 'info'}.card-actions{flex-direction:row;align-items:center}.card-price{grid-column:1}.card-info{grid-column:1}.card-actions{grid-column:1}}
@media(max-width:760px){.header-inner{gap:8px 16px}.header-inner .local-badge{flex-basis:auto;margin-left:auto}.header-inner nav{gap:14px}.header-inner nav a{font-size:14px}.intro h1{font-size:26px}.filter-primary{grid-template-columns:1fr 1fr;gap:10px}.filter-primary .search-field{grid-column:1/-1}.filter-primary .service-filter{grid-column:auto}.filter-primary .search-button{grid-column:1/-1}.filter-secondary{display:flex;gap:8px}.filter-secondary details[open]{flex-basis:100%}.filter-secondary:has(details[open]){flex-wrap:wrap}.filter-secondary details[open]+.reset{margin-left:auto}.card-actions{border:0;padding:0}.card-price{padding-top:8px}.card-info{border-top:1px solid var(--line);padding-top:12px}.map{height:350px}.results-heading .comparison-note{font-size:13px}.local-badge{display:none}.site-header:after{content:none}.header-inner{flex-wrap:nowrap}.brand{font-size:23px}.brand svg{width:30px;height:30px}.header-inner nav a:last-child{max-width:110px;line-height:1.3}.card-summary{margin:0}}
@media(max-width:360px){.header-inner{gap:8px}.brand{font-size:21px}.header-inner nav{flex-basis:auto;gap:10px}.header-inner nav a{font-size:13px;min-height:44px}.header-inner nav a:last-child{max-width:80px}.header-inner{padding:8px 12px}.card-actions .unknown{max-width:130px}.filter-secondary{display:block}.filter-secondary .reset{margin-top:0}.intro h1{font-size:25px}}
.search-group{display:flex;gap:8px;align-items:end;min-width:0}.search-group label{flex:1;min-width:0}.filter-primary{grid-template-columns:1.9fr repeat(4,minmax(0,1fr))}.filter-primary .search-button{padding-left:12px;padding-right:12px}.intro .coverage{max-width:280px}.space-card{row-gap:12px}.card-info{align-self:start}.card-actions{align-self:start}.filter-secondary{margin-top:5px;padding-top:2px}
@media(max-width:1100px){.filter-primary{grid-template-columns:1.9fr repeat(4,minmax(0,1fr))}.filter-primary .search-button{padding-left:10px;padding-right:10px}}
@media(max-width:900px){.filter-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.search-group{grid-column:1/-1}.search-group label{grid-column:auto}.intro .coverage{max-width:none}.filter-primary .search-button{grid-column:auto}}
@media(max-width:760px){.filter-primary{grid-template-columns:1fr 1fr}.search-group{grid-column:1/-1}.search-group .search-field{grid-column:auto}.filter-primary .search-button{grid-column:auto}.intro .coverage{font-size:13px}.filter-secondary{padding-top:2px}.intro{margin-bottom:12px}.results-heading{margin-bottom:10px}.results-heading .comparison-note{flex-basis:100%}.card-info{margin-top:0}.card-actions{align-self:start}.filter-secondary summary{font-size:14px}.filter-secondary .reset{font-size:13px}}
.card-info{grid-area:info}.card-actions{grid-area:actions}.place-pin{line-height:40px}
@media(max-width:760px){.header-inner{flex-wrap:wrap}.header-inner nav{flex-shrink:0}.brand{flex-shrink:0}.header-inner nav a:last-child{max-width:none}.filter-secondary{flex-wrap:wrap}.filter-secondary details{flex-basis:190px}.reset{white-space:normal}.card-actions{flex-wrap:wrap}.detail-actions{align-items:start}}
@media(max-width:360px){.header-inner nav{margin-left:0;flex-basis:100%;justify-content:space-between}.header-inner nav a:last-child{max-width:none}.header-inner nav a{min-height:36px}}
.site-header a:focus-visible{outline-color:#ffffff}

/* At local zoom, do not present coarse continental coastlines as street context. */
.map.point-view{background:#edf2f7}
.map.point-view .leaflet-overlay-pane{visibility:hidden}
.map .cluster-pin{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#315e86;color:#fff;border:3px double #fff;box-shadow:0 1px 4px #102b4670;font-size:16px;font-weight:700;cursor:pointer}
.cluster-pin:focus-visible{outline:3px solid #e9a624;outline-offset:3px}
/* Visual system: calm neutral surfaces, precise type, accessible blue accent. */
:root{--ink:#102f50;--text:#243d56;--muted:#53667b;--paper:#f3f6fa;--line:#d5dee9;--control:#71849a;--accent:#1459b8;--tint:#e8f0fc;--radius:10px}
.site-header{background:white;border-bottom:1px solid var(--line);color:var(--ink)}
.header-inner{min-height:70px;gap:44px}
.site-header .brand{color:var(--ink);font-size:26px;letter-spacing:-1.2px}
.brand svg{background:var(--ink);color:white;border:0;padding:6px;border-radius:8px;width:36px;height:36px}
.brand-country{color:var(--accent)}
.site-header nav a{color:var(--muted);font-size:14px;font-weight:500}
.site-header nav a[aria-current]{color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:10px}
.local-badge{color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:6px;font-size:12px}
main{padding-top:24px}
input,select{border-radius:7px;border-color:#9aacc0;background:#fff;font-size:15px;min-height:44px}
button,.button{border-radius:7px}
.button:not(.secondary):not(:disabled):hover,.button:not(.secondary):not(:disabled):focus-visible{background:#0f438f}
.button:not(.secondary):not(:disabled):active{background:#0a326d}
.text-link,.service-tags span,.pill,.confirmed{color:var(--accent)}
.place-pin,.cluster-pin{background:var(--ink)}
.section-block,.prose{box-shadow:0 2px 8px #102f5003;border-radius:12px}
.decision-price{border-radius:9px;box-shadow:0 2px 8px #102f5003}
.detail-intro h1{font-weight:650;letter-spacing:-1px}
footer{margin-top:12px}
@media(max-width:760px){.header-inner{min-height:64px;gap:20px}.site-header .brand{font-size:23px}.brand svg{width:32px;height:32px}.site-header nav{gap:16px}.site-header nav a{font-size:13px}.local-badge{display:none}main{padding-top:20px}}
@media(max-width:360px){.header-inner{gap:8px;flex-wrap:wrap}.site-header nav{width:100%;justify-content:space-between}.site-header nav a{font-size:14px}}

/* Licensed venue photography, shared by cards and detail pages. */
.space-photo{margin:0;min-width:0;background:white;overflow:hidden;border-radius:10px}
.photo-frame{position:relative;aspect-ratio:16/9;background:#eaf0f8;overflow:hidden}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.photo-kind{position:absolute;left:12px;bottom:12px;background:#102f50;color:white;border:1px solid #ffffff70;border-radius:5px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.4}
.space-photo figcaption{display:grid;gap:5px;padding:12px;color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.photo-caption{color:var(--ink)}
.photo-credit a{display:inline-block;min-height:24px;line-height:24px}
.photo-changes{font-size:12px}
.photo-fallback{display:none}
.photo-unavailable .photo-frame{aspect-ratio:auto;padding:14px}
.photo-unavailable .photo-kind{display:none}
.photo-unavailable .photo-fallback{display:block;margin:0;color:var(--ink);font-size:13px}
[data-page="directory"] .photo-card{order:1;margin:0 0 16px;border:1px solid var(--line)}
.photo-detail{border:1px solid var(--line)}

.photo-focus-top .photo-frame img{object-position:center top}

/* Keep the venue name first, with photography ahead of detailed plans on phones. */
[data-page="directory"] .card-price{order:2}
[data-page="directory"] .card-info{order:3}
[data-page="directory"] .card-actions{order:4}
.detail-layout:has(.photo-detail){grid-template-rows:min-content 1fr}
.detail-layout:has(.photo-detail)>div:first-child{grid-column:1;grid-row:1/3;min-width:0}
.detail-layout>.photo-detail{grid-column:2;grid-row:1;align-self:start}
.detail-layout:has(.photo-detail)>.map-panel{grid-column:2;grid-row:2;align-self:start}
@media(max-width:760px){.detail-layout>.photo-detail{order:-1;width:100%}.detail-layout:has(.photo-detail)>.map-panel{order:1}}
