/* Cape Coral and waterway pages only. Accepted homepage/county components are not changed. */
.g6-city-wrap { width:calc(100% - 80px); max-width:1248px; margin-inline:auto; }
.g6-city-page { color:var(--g6-ink); background:var(--g6-paper); }
.g6-city-page h1,.g6-city-page h2,.g6-instrument h2 { font-family:var(--g6-display); font-weight:500; letter-spacing:-.025em; }
.g6-city-page h2,.g6-instrument h2 { font-size:48px; line-height:1.05; margin:0 0 20px; }
.g6-city-page p { font-size:16px; line-height:1.65; }
.g6-city-eyebrow { display:block; font:600 11px/1.5 var(--g6-ui); letter-spacing:.11em; text-transform:uppercase; color:var(--g6-slate); margin-bottom:14px; }
.g6-city-hero { padding:54px 0; }
.g6-city-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.g6-city-hero h1 { font-size:70px; line-height:.99; margin:0 0 24px; }
.g6-city-hero p { max-width:560px; margin:0 0 24px; }
.g6-city-hero img { display:block; width:100%; height:auto; aspect-ratio:5/4; object-fit:cover; border-radius:20px; }
.g6-city-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.g6-city-button { display:inline-flex; justify-content:center; align-items:center; gap:24px; border:1px solid var(--g6-ink); border-radius:28px; background:var(--g6-ink); color:var(--g6-paper); min-height:48px; padding:12px 24px; font:600 14px/1.4 var(--g6-ui); text-decoration:none; cursor:pointer; }
.g6-city-textlink { display:inline-flex; align-items:center; min-height:44px; font:600 14px/1.5 var(--g6-ui); color:var(--g6-channel); text-decoration:underline; text-underline-offset:4px; }
.g6-city-band { padding:64px 0; }
.g6-city-band-mist { background:var(--g6-mist); }
.g6-city-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.g6-city-film { display:block; position:relative; overflow:hidden; border-radius:16px; }
.g6-city-film img { width:100%; height:auto; aspect-ratio:16/9; display:block; object-fit:cover; }
.g6-city-film span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:var(--g6-paper); color:var(--g6-ink); font-size:30px; }
.g6-city-guide-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.g6-city-guide-list a { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; border-top:1px solid var(--g6-line); font:500 26px/1.2 var(--g6-display); color:var(--g6-ink); }
.g6-city-page .section-lux { padding-block:48px; }
.g6-city-page .reveal-section { opacity:1; transform:none; }
.g6-city-page .ct-thread { display:none; }
.g6-city-page .ct-quad-more { margin-top:24px; }
.g6-city-page .ct-zips,.g6-city-page .ct-quadrants { border-color:var(--g6-line); }
.g6-city-page [id] { scroll-margin-top:136px; }
.g6-city-market-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin:24px 0; }
.g6-city-market-stats[hidden],.g6-city-market-stats>[hidden] { display:none; }
.g6-city-market-stats>div { border-top:1px solid var(--g6-line); padding-top:16px; }
.g6-city-market-stats span { display:block; font:600 12px/1.5 var(--g6-ui); color:var(--g6-slate); }
.g6-city-market-stats strong { display:block; font:500 46px/1.15 var(--g6-display); margin-top:10px; }
@media(max-width:600px){.g6-city-market-stats{grid-template-columns:1fr;gap:16px}.g6-city-market-stats>div{display:flex;align-items:center;justify-content:space-between;gap:18px}.g6-city-market-stats strong{font-size:38px;margin-top:0}}
.g6-city-page .listings-strip { padding-block:48px; }
.g6-city-page .listings-strip__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.g6-city-page .listings-strip__card { border:1px solid var(--g6-line); box-shadow:none; border-radius:16px; overflow:hidden; }
.g6-instrument { background:var(--g6-mist); padding:48px 0; }
.g6-instrument-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; margin-bottom:20px; }
.g6-instrument-heading p { font:400 16px/1.65 var(--g6-ui); color:var(--g6-slate); }
.g6-address-form { position:relative; margin:0 0 16px; }
.g6-address-form label { display:block; font:600 13px/1.5 var(--g6-ui); margin-bottom:8px; }
.g6-address-fields { display:grid; grid-template-columns:1fr auto; gap:12px; }
.g6-address-fields input { width:100%; height:50px; border:1px solid rgba(22,40,62,.23); border-radius:10px; padding:12px 16px; background:var(--g6-paper); color:var(--g6-ink); font:400 16px/1.4 var(--g6-ui); }
.g6-address-status { margin:6px 0 0; font:400 13px/1.5 var(--g6-ui); }
.g6-address-status:empty { display:none; }
.g6-address-matches { position:absolute; top:100%; left:0; right:0; z-index:3000; background:var(--g6-paper); border:1px solid var(--g6-line); box-shadow:0 16px 40px rgba(22,40,62,.12); border-radius:12px; max-height:320px; overflow-y:auto; }
.g6-address-matches button { display:block; width:100%; text-align:left; min-height:48px; padding:12px 16px; border:0; border-bottom:1px solid var(--g6-line); background:var(--g6-paper); color:var(--g6-ink); font:500 15px/1.4 var(--g6-ui); cursor:pointer; }
.g6-address-matches button:hover,.g6-address-matches [aria-selected="true"] { background:var(--g6-mist); }
.g6-instrument-tools { display:flex; flex-wrap:wrap; gap:8px; }
.g6-instrument-tools button { display:flex; align-items:center; gap:8px; min-height:44px; padding:10px 16px; background:var(--g6-paper); border:1px solid var(--g6-line); border-radius:24px; color:var(--g6-ink); font:600 13px/1.4 var(--g6-ui); cursor:pointer; }
.g6-instrument-tools button[aria-pressed="true"] { background:var(--g6-ink); color:var(--g6-paper); }
.g6-instrument-tools button[aria-busy="true"] { cursor:wait; }
.g6-map-reset { margin-left:auto; }
.g6-layer-explanation { min-height:36px; display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; padding:8px 0; }
.g6-layer-explanation p { font:400 12px/1.5 var(--g6-ui); color:var(--g6-slate); margin:0; }
.g6-flood-key { display:flex; flex-wrap:wrap; gap:12px; font:500 12px/1.3 var(--g6-ui); }
.g6-flood-key[hidden] { display:none; }
.g6-flood-key span { display:flex; gap:5px; align-items:center; }
.g6-flood-key i { width:14px; height:14px; border:1px solid rgba(22,40,62,.2); border-radius:3px; }
/* Semantic flood legend only: the storyboard requires these distinct map colors. */
.g6-flood-x { background:#E8CC69; }.g6-flood-ae { background:#D98448; }.g6-flood-ve { background:#C75058; }.g6-flood-low { background:#DAE8E7; }
.g6-instrument-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; border:1px solid var(--g6-line); border-radius:18px; overflow:hidden; background:var(--g6-paper); }
.g6-instrument-map-wrap { position:relative; height:62svh; min-height:500px; }
#g6-instrument-map { height:100%; background:var(--g6-mist); position:relative; z-index:1; opacity:0; }
.g6-instrument.is-ready #g6-instrument-map { opacity:1; }
.g6-instrument-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.g6-instrument.is-ready .g6-instrument-poster { visibility:hidden; }
#g6-instrument-map .leaflet-g6-roads-pane { mix-blend-mode:multiply; }
.g6-instrument-road-labels { filter:grayscale(1) contrast(1.12); }
.g6-home-verdict { padding:24px; height:62svh; min-height:500px; overflow-y:auto; background:var(--g6-paper); }
.g6-verdict-empty { margin:0; font:500 26px/1.25 var(--g6-display); color:var(--g6-ink); }
.g6-verdict-content h3 { font:500 25px/1.15 var(--g6-display); margin:0 0 20px; text-transform:capitalize; }
.g6-verdict-rows { margin:0; }
.g6-verdict-rows>div { border-top:1px solid var(--g6-line); padding:12px 0; }
.g6-verdict-rows dt { font:600 11px/1.5 var(--g6-ui); color:var(--g6-slate); margin-bottom:6px; }
.g6-verdict-rows dd { margin:0; font:500 14px/1.55 var(--g6-ui); }
.g6-verdict-note { font:400 11px/1.5 var(--g6-ui)!important; color:var(--g6-slate); }
.g6-address-marker,.g6-instrument-marina { display:grid; place-items:center; border-radius:50%; background:var(--g6-ink); color:var(--g6-paper); border:2px solid var(--g6-paper); font:700 20px/1 var(--g6-ui); }
.g6-instrument-marina { background:var(--g6-channel); font-size:16px; }
.g6-instrument-sources { margin-top:14px; font:400 12px/1.5 var(--g6-ui); color:var(--g6-slate); }
.g6-instrument-sources summary { min-height:40px; display:list-item; cursor:pointer; }
.g6-instrument-sources p { font-size:12px; max-width:960px; }
.g6-instrument .leaflet-popup-content { font-family:var(--g6-ui); line-height:1.5; }
.g6-instrument .leaflet-popup-content strong { font-family:var(--g6-display); font-size:22px; font-weight:500; }
.g6-instrument .leaflet-popup-content a { color:var(--g6-channel); }
.g6-city-video-dialog { max-width:900px; width:calc(100% - 28px); border:0; border-radius:18px; background:var(--g6-paper); padding:20px; color:var(--g6-ink); }
.g6-city-video-dialog::backdrop { background:rgba(22,40,62,.8); }
.g6-city-video-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.g6-city-video-dialog h2 { font:500 28px/1.15 var(--g6-display); margin:0; }
.g6-city-video-dialog button { min-width:44px; min-height:44px; }
.g6-city-video-slot { aspect-ratio:16/9; }.g6-city-video-slot iframe { width:100%; height:100%; border:0; }
@media(max-width:850px){.g6-instrument-layout{grid-template-columns:minmax(0,1fr) 300px}.g6-city-hero-inner{gap:32px}.g6-city-hero h1{font-size:54px}}
@media(max-width:600px){
 .g6-city-wrap{width:calc(100% - 40px)}.g6-city-hero{padding:30px 0}.g6-city-hero-inner,.g6-city-intro-grid,.g6-instrument-heading{grid-template-columns:1fr;gap:24px}.g6-city-hero h1{font-size:46px}.g6-city-hero img{aspect-ratio:16/10}.g6-city-page h2,.g6-instrument h2{font-size:36px}.g6-city-band{padding:40px 0}.g6-city-guide-list{grid-template-columns:1fr}.g6-city-guide-list a{font-size:24px}.g6-instrument{padding:36px 0}.g6-instrument-heading p{margin:0}.g6-address-fields{grid-template-columns:1fr}.g6-instrument-tools button{padding:10px 13px}.g6-map-reset{margin-left:0}.g6-instrument-layout{grid-template-columns:1fr}.g6-instrument-map-wrap{height:60svh;min-height:400px}.g6-home-verdict{height:auto;min-height:0;max-height:45svh;padding:20px;border-top:1px solid var(--g6-line)}.g6-verdict-empty{font-size:24px}.g6-verdict-rows dd{font-size:14px}.g6-city-page [id]{scroll-margin-top:124px}.g6-city-actions{align-items:flex-start}.g6-instrument .leaflet-control-attribution{font-size:9px}.g6-city-page .listings-strip__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.g6-city-page .listings-strip__card{flex:0 0 86%;scroll-snap-align:start}
}
@media print{.g6-city-page,.g6-instrument{-webkit-print-color-adjust:exact;print-color-adjust:exact}.g6-city-band,.g6-instrument{padding:24px 0}.g6-instrument-tools,.g6-address-form{display:none}.g6-instrument-layout{break-inside:avoid}.g6-instrument-map-wrap,.g6-home-verdict{height:480px;min-height:0}.g6-city-hero{break-inside:avoid}.g6-city-video-dialog{display:none}.g6-city-page .listings-strip__grid{display:grid;grid-template-columns:1fr 1fr}}
@media print {
 .g6-instrument-layout { display:block; overflow:visible; break-inside:auto; }
 .g6-instrument-map-wrap { height:320px; min-height:320px; break-inside:avoid; }
 .g6-home-verdict { height:auto; max-height:none; min-height:0; overflow:visible; break-inside:avoid; }
 .g6-verdict-rows { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
 .g6-verdict-note { margin-bottom:0; }
 .g6-instrument .leaflet-control-zoom { display:none; }
}
