:root{--turq:#7AC0C0;--turq-dark:#5FA8A8;--turq-deep:#78BBBB;--cream:#E3E0DD;--cream-light:#F6EDD8;--coral:#E68966;--coral-dark:#D17556;--dark:#383A3C;--footer:#4C5057;--text:#383A3C;--maxw:1200px}
@font-face{font-family:"BazarMedium";src:url("fonts/bazarmedium.woff") format("woff"),url("fonts/bazarmedium.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Roboto Slab",Georgia,serif;color:var(--text);line-height:1.7;background:var(--cream);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"BazarMedium",Georgia,serif;font-weight:400;letter-spacing:.02em;line-height:1.1;text-transform:uppercase}
h1{font-size:2.9rem;margin-bottom:.5rem;text-align:center;text-shadow:1px 2px #FCFAF7,3px 4px #484A4D}
h2{font-size:2.6rem;margin-bottom:.5rem;text-align:center;text-shadow:1px 2px #FCFAF7,3px 4px #484A4D}
.section-coral h2,.section-turq h2,.section-turq-light h2,.section-dark h2{text-shadow:1px 2px #484A4D,3px 4px #D4CEBF}
h3{font-size:1.4rem;margin:2rem 0 .5rem}
p{margin:1rem 0}
a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.site-header{background:var(--turq);padding:1.25rem 0}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:1rem;color:var(--cream-light)}
.logo img{width:84px;height:84px;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}
.logo-text{font-family:"BazarMedium",Georgia,serif;font-size:1.4rem;letter-spacing:.06em;line-height:1.1}
.logo-text small{display:block;font-size:.7rem;letter-spacing:.2em;opacity:.85;margin-top:.3rem}
.site-nav ul{display:flex;gap:2.5rem;list-style:none}
.site-nav a{color:var(--cream-light);font-family:"BazarMedium",Georgia,serif;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 1px rgba(0,0,0,.2);padding:.25rem 0;border-bottom:2px solid transparent;transition:border-color .2s}
.site-nav a:hover{border-bottom-color:var(--cream-light)}
.divider{display:flex;align-items:center;justify-content:center;gap:.85rem;font-size:.85rem;color:currentColor;opacity:.65;letter-spacing:.25em;margin:.6rem auto 1.6rem;max-width:240px}
.divider::before,.divider::after{content:"";flex:0 0 48px;height:2px;background:currentColor}
.section{padding:5rem 0;position:relative}
.section-cream{background:var(--cream);color:var(--dark)}
.section-coral{background:var(--coral);color:var(--cream-light)}
.section-turq{background:var(--turq-deep);color:var(--cream-light)}
.section-turq-light{background:var(--turq);color:var(--cream-light)}
.section-dark{background:var(--footer);color:var(--cream-light)}
.lead{font-size:1.1rem;max-width:850px;margin:1rem auto;text-align:center}
.quick-nav{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:2rem}
.quick-nav a{background:var(--dark);color:var(--cream-light);padding:.6rem 1.2rem;border-radius:999px;font-family:"BazarMedium",Georgia,serif;font-size:.85rem;letter-spacing:.08em;transition:transform .2s,background .2s}
.quick-nav a:hover{background:var(--coral);transform:translateY(-2px)}
.cam-embed{position:relative;width:100%;max-width:960px;margin:2rem auto 0;padding-top:56.25%;background:#111;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.25),0 0 0 8px rgba(255,255,255,.15)}
.cam-embed iframe,.cam-embed img,.cam-embed video{position:absolute;inset:0;width:100%;height:100%;border:0}
.cam-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"BazarMedium",Georgia,serif;font-size:1.1rem;text-align:center;padding:1.5rem;background:linear-gradient(135deg,#2c3e50,#4a6572)}
.cam-embed .cam-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:1.5rem;text-align:center;color:var(--cream-light);background-size:cover;background-position:center;background-color:#2c3e50;cursor:pointer;border:0;font:inherit;transition:filter .25s ease,transform .25s ease}
.cam-embed .cam-consent::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.7) 100%),linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(56,58,60,.55) 100%)}
.cam-embed .cam-consent:hover{filter:brightness(1.08)}
.cam-embed .cam-consent:hover .play-icon{transform:scale(1.06);background:var(--turq)}
.cam-embed .cam-consent:focus-visible{outline:3px solid var(--cream-light);outline-offset:-6px}
.cam-embed .cam-consent .live-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;background:var(--coral);color:var(--cream-light);font-family:"BazarMedium",Georgia,serif;font-size:.75rem;letter-spacing:.12em;border-radius:999px;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.cam-embed .cam-consent .live-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:cam-pulse 1.6s infinite}
@keyframes cam-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.cam-embed .cam-consent .play-icon{position:relative;width:84px;height:84px;border-radius:50%;background:var(--coral);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 6px rgba(246,237,216,.12);transition:transform .25s ease,background .25s ease}
.cam-embed .cam-consent .play-icon::after{content:"";width:0;height:0;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent var(--cream-light);margin-left:5px}
.cam-embed .cam-consent .cam-label{position:relative;font-family:"BazarMedium",Georgia,serif;font-size:1.15rem;letter-spacing:.04em;line-height:1.25;max-width:90%;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.cam-embed .cam-consent .cam-hint{position:relative;font-family:"Roboto Slab",Georgia,serif;font-size:.8rem;line-height:1.45;opacity:.92;max-width:92%;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.faq details{background:rgba(255,255,255,.85);color:var(--text);border-radius:8px;padding:1rem 1.25rem;margin:.5rem 0;position:relative}
.faq summary{cursor:pointer;font-family:"BazarMedium",Georgia,serif;font-size:1.05rem;padding-right:2rem;list-style:none;outline:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:1rem;font-size:1.6rem;font-family:"BazarMedium",Georgia,serif;color:var(--coral);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{text-align:left;margin-top:1rem}
.contact a{color:var(--cream-light);text-decoration:underline;text-underline-offset:4px}
.site-footer{background:#1d1d1d;color:#999;padding:2rem 0;text-align:center;font-size:.9rem;font-family:"Roboto Slab",serif}
.site-footer a{color:#ddd}
.weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem;margin-top:2.5rem;text-align:left}
.weather-status{grid-column:1/-1;text-align:center;opacity:.8;margin:1rem 0}
.wx-card{background:rgba(255,255,255,.6);border-radius:16px;padding:1.5rem 1.6rem;box-shadow:0 10px 26px rgba(0,0,0,.08)}
.wx-head{text-align:center;border-bottom:1px solid rgba(56,58,60,.15);padding-bottom:.8rem;margin-bottom:1rem}
.wx-head h3{margin:0;font-size:1.5rem}
.wx-now{display:flex;align-items:center;justify-content:center;gap:.6rem}
.wx-now-ic{font-size:2.8rem;line-height:1}
.wx-now-temp{font-family:"BazarMedium",Georgia,serif;font-size:2.6rem;line-height:1}
.wx-desc{margin:.3rem 0 0;font-weight:700}
.wx-stats{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .9rem}
.wx-stat{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.85rem;border-bottom:1px dotted rgba(56,58,60,.18);padding:.2rem 0}
.wx-stat span{opacity:.75}
.wx-stat b{white-space:nowrap}
.wx-sea{display:flex;flex-wrap:wrap;gap:.5rem .9rem;justify-content:center;margin-top:1rem;padding:.6rem .8rem;border-radius:10px;background:rgba(122,192,192,.22);font-size:.85rem}
.wx-block-label{font-family:"BazarMedium",Georgia,serif;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;opacity:.8;margin:1.2rem 0 .5rem}
.wx-hours{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.4rem}
.wx-hour{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:52px;font-size:.78rem;background:rgba(255,255,255,.5);border-radius:9px;padding:.5rem .35rem}
.wx-h-ic{font-size:1.25rem}
.wx-h-temp{font-weight:700}
.wx-h-pop{opacity:.7;font-size:.7rem}
.wx-week{display:flex;flex-direction:column}
.wx-row{display:grid;grid-template-columns:2.4rem 1.7rem 1fr auto auto;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.85rem;border-top:1px solid rgba(56,58,60,.1)}
.wx-row:first-child{border-top:0}
.wx-r-day{font-weight:700}
.wx-r-ic{font-size:1.2rem;text-align:center}
.wx-r-pop,.wx-r-wind{opacity:.7;white-space:nowrap;font-size:.8rem}
.wx-attrib{text-align:center;font-size:.8rem;opacity:.6;margin-top:2rem}
.wx-attrib a{text-decoration:underline;text-underline-offset:3px}
.legal{max-width:820px;margin:0 auto;text-align:left}
.legal h3{margin:1.6rem 0 .4rem;font-size:1.15rem}
.legal h3:first-child{margin-top:0}
.legal p{margin:.3rem 0;line-height:1.7}
.legal ul{margin:.4rem 0 .6rem 1.4rem;line-height:1.6}
.legal li{margin:.2rem 0}
.legal a{text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.seo-text{max-width:850px;margin:1.5rem auto 0;text-align:left}
.seo-text p{margin:1rem 0;line-height:1.8}
.seo-text a{text-decoration:underline;text-underline-offset:3px}
.breadcrumb{max-width:var(--maxw);margin:0 auto;padding:1.25rem 1.25rem 0;font-family:"Roboto Slab",serif;font-size:.85rem;color:var(--dark)}
.breadcrumb a{text-decoration:underline;text-underline-offset:2px}
.breadcrumb span{margin:0 .35rem;opacity:.5}
.cam-more{text-align:center;margin-top:1.2rem}
.more-link{display:inline-block;font-family:"BazarMedium",Georgia,serif;text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;border-bottom:2px solid currentColor;padding-bottom:3px;transition:opacity .2s}
.more-link:hover{opacity:.7}
@media (max-width:480px){.weather-grid{grid-template-columns:1fr}}
@media (max-width:720px){.header-inner{flex-direction:column;text-align:center}.logo{flex-direction:column;gap:.5rem}.logo img{width:72px;height:72px}.site-nav ul{gap:1.25rem;justify-content:center;flex-wrap:wrap}.section{padding:3.5rem 0}.section h1,.section h2{font-size:2.2rem}}
@media (max-width:600px){.cam-embed .cam-consent .play-icon{width:64px;height:64px}.cam-embed .cam-consent .play-icon::after{border-width:11px 0 11px 17px}.cam-embed .cam-consent .cam-label{font-size:1rem}.cam-embed .cam-consent .cam-hint{font-size:.72rem}}