/* Licensed local media, a small area comparison and genuine privacy controls. */
.hero{background-image:linear-gradient(90deg,#050708f5 0%,#0a0d0edb 48%,#090c0d99 100%),url('/assets/miami-bay-poster.webp')}
.hero .hero-credit{margin:18px 0 0;font-size:.75rem;color:#e2e5e7;max-width:620px}
.hero-credit a{color:inherit;text-underline-offset:3px}
.media-story{background:var(--paper);border-block:1px solid var(--line)}
.media-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.media-story .media-lead{font-size:1.1rem;color:var(--muted)}
.media-story h2{font-size:clamp(2rem,3.4vw,3rem);margin:0 0 20px;letter-spacing:-.025em}
.media-frame{margin:0;border:1px solid var(--line);background:var(--cream);border-radius:12px;overflow:hidden}
.media-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#080909}
.media-frame figcaption{padding:15px 18px;font-size:.8rem;color:var(--ink)}
.media-frame figcaption a{text-underline-offset:3px}
.journey-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.journey-links a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:14px;text-decoration:none;font-size:.88rem;min-height:60px}
.journey-links a:hover{background:var(--cream)}
.journey-links span{color:var(--muted);font-size:.78rem}
.area-comparison{margin:32px 0;border:1px solid #ffffff44;padding:28px;background:#ffffff06}
.area-comparison h3{margin:0 0 12px;font:600 1.6rem var(--serif)}
.comparison-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.comparison-fields label{font-size:.85rem;font-weight:700}
.comparison-fields select{display:block;width:100%;font:inherit;padding:12px;margin-top:8px;background:#fff;color:#16191d;border:1px solid #d8d1c4;border-radius:3px}
.comparison-results{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.comparison-results article{padding:20px;background:#102129;border:1px solid #ffffff33}
.comparison-results h4{font:600 1.5rem var(--serif);margin:0 0 14px;color:#fff}
.comparison-results p{margin:12px 0;color:#d8e0e5;font-size:.9rem}
.comparison-results small{display:block;color:#e1bd72;font-size:.75rem;letter-spacing:.04em}
.comparison-results a{display:inline-block;margin-top:14px;color:#e1bd72}
.comparison-note{font-size:.8rem;color:#c7cfd4}
.comparison-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px}
.privacy-footer{padding:16px 20px;background:#050606;color:#d7dde0;text-align:center;font-size:.8rem}
.privacy-footer a{display:inline-block;padding:8px;text-underline-offset:3px;min-height:44px}
.privacy-footer p{margin:0;color:#d7dde0;font-size:.78rem}
.privacy-panel{position:fixed;left:20px;bottom:20px;z-index:100;width:min(560px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:12px;box-shadow:0 14px 60px #0006}
.privacy-panel[hidden]{display:none!important}
.privacy-panel h2{font:600 1.5rem var(--serif);margin:0 35px 12px 0;color:var(--ink)}
.privacy-panel p{font-size:.85rem;margin:10px 0;color:var(--ink)}
.privacy-panel a{color:var(--ink);text-underline-offset:3px}
.privacy-panel .privacy-close{position:absolute;top:10px;right:10px;border:0;background:transparent;color:var(--ink);font:400 1.5rem var(--sans);width:44px;height:44px;cursor:pointer}
.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.privacy-actions button,.privacy-save{min-height:44px;padding:12px;border:1px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);font:700 .82rem var(--sans);cursor:pointer}
.privacy-actions button:hover,.privacy-save:hover{background:var(--cream)}
.privacy-panel button:disabled{cursor:not-allowed;opacity:.55}
.privacy-panel details{border-top:1px solid var(--line);padding-top:12px}
.privacy-panel summary{cursor:pointer;font-weight:700;font-size:.85rem;padding-block:6px}
.privacy-option{display:block;margin:14px 0;font-size:.85rem}
.privacy-option input{width:18px;height:18px;vertical-align:middle;margin:0 8px 0 0;accent-color:#75561d}
.privacy-panel .privacy-signal{border-left:3px solid var(--gold);padding-left:12px}
.privacy-save{margin-top:8px;width:100%}
.privacy-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-block:20px}
.privacy-table th,.privacy-table td{text-align:left;border:1px solid var(--line);padding:12px;vertical-align:top;overflow-wrap:anywhere}
.privacy-table code{font-size:.8em;overflow-wrap:anywhere}
@media(max-width:900px){.media-story-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.comparison-fields,.comparison-results{grid-template-columns:1fr}.area-comparison{padding:18px}.journey-links{grid-template-columns:1fr 1fr}.privacy-panel{left:12px;bottom:12px;width:calc(100% - 24px);padding:20px;max-height:75dvh}.privacy-table th,.privacy-table td{padding:8px;font-size:.78rem}}

/* Six resource guides, including owners and commercial property. */
.guide-index .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){.guide-index .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-index a{padding:18px 12px;gap:8px}.guide-index b{font-size:1rem}}

/* Explicit, separate legal choices and minimal contact details. */
.contact-minimum,.form-consents{grid-column:1/-1;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink)}
.contact-minimum h3{font:500 1.35rem var(--serif);margin:0 0 10px}
.contact-minimum p,.form-consents>p{font-size:.8rem;line-height:1.6;color:var(--muted)}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-fields label:first-child{grid-column:1/-1}
.contact-fields label{display:block;font-size:.85rem;margin-bottom:10px}
.contact-fields input{display:block;width:100%;min-height:46px;margin-top:6px;padding:11px;border:1px solid var(--input-border);background:var(--surface);color:var(--ink);font:inherit}
.form-consents label.legal-check{display:flex;align-items:flex-start;gap:10px;margin:13px 0;padding:7px 0;font-size:.85rem;line-height:1.55;font-weight:400}
.form-consents .legal-check input[type=checkbox]{appearance:auto;accent-color:#75561d;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0 0;padding:0}
.legal-check a{text-decoration:underline;text-underline-offset:3px}
.form-consents .consent-status{overflow-wrap:anywhere;font-size:.77rem;font-weight:600;min-height:1.4em}
.contact-preview{margin-top:22px;padding:20px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.contact-preview blockquote{margin:0 0 15px;white-space:pre-line;font-size:.85rem;overflow-wrap:anywhere}
.appointment .contact-minimum,.appointment .form-consents{color:var(--ink)}
.cookie-table-wrap{overflow-x:auto}
.cookie-table-wrap table{border-collapse:collapse;width:100%;font-size:.87rem;text-align:left}
.cookie-table-wrap th,.cookie-table-wrap td{padding:14px 12px;border:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.cookie-table-wrap code{white-space:normal;overflow-wrap:anywhere}
.legal-version{font-size:.8rem;color:var(--muted)}
@media(max-width:640px){.contact-fields{grid-template-columns:1fr}.contact-fields label:first-child{grid-column:auto}.cookie-table-wrap th,.cookie-table-wrap td{padding:10px 8px}}
