/* Broward Waterfront Guide styles. Plain CSS, no framework. */
@font-face{font-family:"Public Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/public-sans-latin.woff2) format("woff2")}
@font-face{font-family:"Zilla Slab";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/zilla-slab-700-latin.woff2) format("woff2")}
:root{--ink:#14232b;--slate:#374852;--muted:#5d6b74;--teal:#0e5a63;--teal-d:#0a444b;--sea:#d9ecee;--sand:#f6f3ec;--rule:#d8d3c6;--paper:#fff;--amber:#fdf1d6;--amber-b:#e2b84a;--warn:#8a2d0c;--slab:"Zilla Slab",Georgia,serif;--sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--g:18px}
@media(min-width:900px){:root{--g:40px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font:400 17px/1.6 var(--sans)}
img,svg{max-width:100%;display:block}
a{color:var(--teal-d)}a:hover{color:var(--warn)}
:focus-visible{outline:3px solid #e08a1e;outline-offset:2px}
h1,h2,h3{font-family:var(--slab);color:var(--teal-d);line-height:1.2;margin:0;text-wrap:pretty}
h1{font-size:clamp(1.9rem,4.6vw,2.7rem)}h2{font-size:clamp(1.4rem,3vw,1.85rem);margin-top:2.2rem}h3{font-size:1.2rem;margin-top:1.4rem}
p,ul,ol{margin:.8rem 0}li{margin:.3rem 0}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--g)}
.narrow{max-width:760px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:50}.skip:focus{left:8px}
/* header */
.site-header{background:var(--teal-d);color:#fff}
.site-header .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding-top:12px;padding-bottom:12px}
.brand{font:700 1.35rem/1 var(--slab);color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}
.brand svg{width:30px;height:30px}
.nav{display:flex;flex-wrap:wrap;gap:4px 16px;margin-left:auto;font-size:.95rem}
.nav a{color:#e6f4f5;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:#fff;border-bottom-color:#f0b24a}
.btn{display:inline-block;background:#b8460d;color:#fff;font-weight:700;text-decoration:none;padding:11px 18px;border-radius:6px;border:0;cursor:pointer;font-size:1rem;font-family:var(--sans)}
.btn:hover{background:#963a0a;color:#fff}.btn.alt{background:var(--teal);}.btn.alt:hover{background:var(--teal-d)}
.btn.sm{padding:7px 12px;font-size:.92rem}
.disclose{background:#eaf3f3;border-bottom:1px solid var(--rule);font-size:.88rem;color:var(--slate)}
.disclose .wrap{padding-top:7px;padding-bottom:7px}
/* content */
main{padding-bottom:40px}
.crumbs{font-size:.88rem;color:var(--muted);margin:18px 0 6px}.crumbs a{color:var(--muted)}
.byline{font-size:.9rem;color:var(--muted);margin:.7rem 0 1.2rem}
.lede{font-size:1.14rem;color:var(--slate)}
.answer{background:var(--paper);border-left:5px solid var(--teal);padding:14px 18px;margin:1.2rem 0;border-radius:0 6px 6px 0}
.answer b:first-child{display:block;color:var(--teal-d);margin-bottom:2px}
table{border-collapse:collapse;width:100%;background:var(--paper);font-size:.95rem;margin:1rem 0}
th,td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}
th{background:#e9f1f1;color:var(--teal-d)}
.tbl{overflow-x:auto}
caption{caption-side:bottom;text-align:left;font-size:.85rem;color:var(--muted);padding-top:6px}
.note{background:var(--amber);border:1px solid var(--amber-b);border-radius:6px;padding:12px 16px;margin:1.2rem 0;font-size:.97rem}
sup.c{font-size:.7em;margin-left:1px}sup.c a{text-decoration:none;font-weight:700}
/* house ad */
.ad{border:1px solid var(--teal);background:#fff;border-radius:8px;padding:16px 18px;margin:1.8rem 0;display:grid;gap:8px}
.ad .tag{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ad h3{margin:0;font-size:1.25rem}
.ad p{margin:0;color:var(--slate)}
.ad .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.ad .tel{font-weight:700}
.ad.ctx{background:#f3f9f9}
/* tools */
.tool{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:18px;margin:1.6rem 0}
.tool h2,.tool h3{margin-top:0}
.tool .fgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
label.f{display:block;font-weight:600;font-size:.93rem}
label.f input,label.f select,label.f textarea{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid #9aa7ae;border-radius:5px;font:inherit;background:#fff}
label.f .hint{display:block;font-weight:400;font-size:.8rem;color:var(--muted);margin-top:2px}
.out{margin-top:14px;background:var(--sea);border-radius:6px;padding:12px 16px}
.out:empty{display:none}
.out b{color:var(--teal-d)}
.small{font-size:.86rem;color:var(--muted)}
.tool .assump{font-size:.88rem;color:var(--slate);margin-top:12px;border-top:1px dashed var(--rule);padding-top:10px}
.chk{list-style:none;padding:0}.chk li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px dotted var(--rule)}
.chk input{margin-top:5px;width:18px;height:18px;flex:none}
.q{border:1px solid var(--rule);border-radius:8px;padding:10px 14px;margin:10px 0;background:#fafcfc}
.q legend{font-weight:700;color:var(--teal-d);padding:0 6px}
.q label{display:block;margin:4px 0}
.tide-row.king td{background:#fff1d0;font-weight:600}
.tide-row.top td{outline:2px solid #b8460d;outline-offset:-2px}
.badge{display:inline-block;background:#b8460d;color:#fff;border-radius:10px;font-size:.72rem;padding:1px 8px;margin-left:6px;vertical-align:middle}
.faq details{background:#fff;border:1px solid var(--rule);border-radius:8px;padding:10px 14px;margin:8px 0}
.faq summary{cursor:pointer;font-weight:700;color:var(--teal-d)}
.sources{background:#fff;border:1px solid var(--rule);border-radius:8px;padding:6px 18px 14px;margin:2.2rem 0 0;font-size:.9rem}
.sources h2{font-size:1.2rem;margin-top:1rem}
.sources ol{padding-left:22px}
.sources .v{color:var(--muted)}
.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1.2rem 0}
.card{background:#fff;border:1px solid var(--rule);border-radius:10px;padding:16px;display:block;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--teal);color:var(--ink)}
.card b{font:700 1.15rem var(--slab);color:var(--teal-d);display:block;margin-bottom:4px}
.card span{font-size:.93rem;color:var(--slate)}
.hero{background:linear-gradient(180deg,#e1f0f1,#f6f3ec);padding:34px 0 8px;border-bottom:1px solid var(--rule)}
/* form */
.qform .req{color:var(--warn)}
.qform .consent{display:flex;gap:10px;font-size:.88rem;margin:12px 0}.qform .consent input{margin-top:4px;flex:none}
.form-status{margin-top:10px;font-weight:600;color:var(--warn)}
.success{display:none;background:#e3f4e6;border:1px solid #7fb98a;padding:14px;border-radius:6px;margin-top:12px}
.sent .success{display:block}.sent form{display:none}
.err{display:block;color:var(--warn);font-size:.82rem;min-height:1em}
.hidden{display:none}
.captcha-wrap{min-height:78px;overflow-x:auto;margin-top:6px}
/* footer */
.site-footer{background:var(--teal-d);color:#d4e8ea;padding:28px 0;font-size:.92rem}
.site-footer a{color:#fff}
.site-footer .cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.site-footer h3{color:#fff;font-size:1rem;margin:0 0 6px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer .fine{margin-top:18px;border-top:1px solid #2c6c74;padding-top:14px;font-size:.84rem;color:#b9d6d9}
@media print{.site-header,.disclose,.site-footer,.ad,.tool .noprint,.noprint{display:none!important}body{background:#fff;font-size:12pt}.tool{border:0;padding:0}}
