@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--night:#071426;--deep:#0b2140;--polar:#54c8ff;--cloud:#eef8ff;--violet:#7d69ff;--coral:#ff6b72;--lime:#a8f55a;--ink:#10213a;--glass:rgba(238,248,255,.1);--line:rgba(145,208,255,.24);--radius:28px;--shadow:0 24px 80px rgba(0,8,30,.28)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--cloud);font-family:"DM Sans",sans-serif;line-height:1.68;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(84,200,255,.15),transparent 28%),radial-gradient(circle at 86% 38%,rgba(125,105,255,.13),transparent 24%),repeating-radial-gradient(ellipse at 50% 10%,transparent 0 110px,rgba(120,202,255,.035) 112px 114px);z-index:-1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.08;margin-top:0}
h1{font-size:clamp(2.8rem,7vw,7.4rem);letter-spacing:-.065em;max-width:1100px;margin-bottom:32px}
h2{font-size:clamp(2rem,4.2vw,4.7rem);letter-spacing:-.045em}
h3{font-size:1.25rem}
p,li{font-size:clamp(1rem,1.2vw,1.12rem)}
.pressure-line{position:fixed;z-index:1000;top:0;left:0;width:100%;height:4px;background:#142843}
.pressure-line i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--polar),var(--violet),var(--coral))}
.skybar{position:sticky;top:0;z-index:90;min-height:74px;padding:12px clamp(20px,4vw,70px);display:flex;align-items:center;gap:28px;background:rgba(7,20,38,.83);backdrop-filter:blur(22px);border-bottom:1px solid var(--line)}
.brand img{width:142px;height:44px}
.skybar nav{display:flex;gap:22px;margin:auto;font-size:.72rem;font-weight:700;letter-spacing:.12em}
.skybar nav a:hover{color:var(--polar)}
.age-cloud{border:1px solid var(--line);padding:8px 13px;border-radius:99px;font-weight:700}
.nav-toggle{display:none;background:none;border:0;color:white}.nav-toggle span{display:block;width:25px;height:2px;background:white;margin:6px}
main>section{position:relative}
.hero-forecast{min-height:calc(100vh - 74px);padding:clamp(60px,9vw,140px) clamp(22px,6vw,110px) 90px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:40px;align-items:end;overflow:hidden}
.hero-copy{grid-column:1/-1;position:relative;z-index:2}
.hero-copy>p{max-width:850px}
.weather-code,.band-title span,.front-alert,.wind-field header span,.casino-cloud span,.fog-advisory header span,.cash-front span,.camera-light>span,.connection-row article>span,.storm-head span,.climate-profiles span,.clear-air>span,.closing-outlook>span{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:var(--lime)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0}
.hero-actions a,.hero-actions button,.fog-advisory button,.clear-air button,.support-builder button{border:0;padding:15px 20px;border-radius:99px;background:var(--lime);color:var(--ink);font-weight:800}
.hero-actions button{background:transparent;color:white;border:1px solid var(--line)}
.weather-image{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:relative}
.weather-image img{width:100%;aspect-ratio:1.62;object-fit:cover}
.weather-image figcaption{padding:15px 18px;background:rgba(7,20,38,.93);font-size:.84rem}
.hero-image{grid-column:1/2}
.current-card{align-self:stretch;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(84,200,255,.18),rgba(125,105,255,.08));padding:28px;display:flex;flex-direction:column;justify-content:center}
.current-card span{font-size:.72rem;letter-spacing:.2em}.current-card strong{font:700 clamp(2rem,4vw,4rem)/1 "Space Grotesk";color:var(--lime)}.current-card small{margin:15px 0}
.condition-icons{display:flex;gap:9px}.condition-icons i{width:12px;height:12px;border-radius:50%;background:var(--polar);box-shadow:0 0 20px var(--polar)}.condition-icons i:nth-child(2){background:var(--lime)}.condition-icons i:nth-child(3){background:var(--coral)}
.forecast-band,.conditions-table,.wind-field,.fog-advisory,.camera-light,.quiet-storm,.weekly-outlook,.clear-air,.closing-outlook,.faq-alerts{padding:clamp(70px,10vw,150px) clamp(22px,8vw,150px)}
.light{background:var(--cloud);color:var(--ink);clip-path:polygon(0 3%,100% 0,100% 97%,0 100%)}
.band-title{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:start}.band-title span{color:var(--coral)}.band-title h2{max-width:950px}
.forecast-band>p,.wind-field>p,.fog-advisory>p,.camera-light>p,.clear-air>p,.closing-outlook>p{max-width:900px}
.check-weather{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;gap:12px;margin:35px 0}.check-weather li{padding:18px;border:1px solid #cbdbe8;border-radius:18px;background:white}
.compare-weather{max-width:760px;margin-top:35px;border:1px solid #cbdbe8;border-radius:22px;padding:10px}.compare-btn,.cash-tab,.network-test button{border:0;border-radius:99px;padding:10px 15px;background:transparent;font-weight:800}.compare-btn.active,.cash-tab.active{background:var(--ink);color:white}.compare-weather div{padding:20px}
.download-front,.casino-cloud,.cash-front{padding:clamp(65px,9vw,130px) clamp(22px,6vw,110px);display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.download-front{background:linear-gradient(115deg,#122851,#402d78)}
.install-list{padding-left:0;list-style:none}.install-list li{padding:10px 0;border-bottom:1px solid var(--line)}.install-list input{accent-color:var(--lime);width:19px;height:19px;margin-right:10px}
.visibility-meter{display:flex;align-items:center;gap:16px;margin:25px 0}.visibility-meter i{height:12px;flex:1;border-radius:99px;background:#172949;overflow:hidden}.visibility-meter b{display:block;width:0;height:100%;background:var(--lime);transition:.3s}
.conditions-table{background:#0a172a}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:24px}
table{width:100%;border-collapse:collapse;min-width:700px;background:rgba(255,255,255,.03)}
th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line)}th{font-size:.72rem;letter-spacing:.12em;color:var(--polar)}tr:last-child td{border-bottom:0}
.wind-field{background:linear-gradient(180deg,#0a172a,#0d3461)}
.wind-field ol,.camera-light ol{columns:2;column-gap:50px;max-width:900px}.wind-field li,.camera-light li{break-inside:avoid;margin-bottom:10px}
.wind-cap{margin-top:40px;max-width:760px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--glass)}.wind-cap label{display:grid;grid-template-columns:1fr auto;gap:12px}.wind-cap input{grid-column:1/-1;width:100%;accent-color:var(--lime)}
.wind-gauge{height:7px;background:linear-gradient(90deg,var(--lime),var(--polar),var(--coral));border-radius:99px;position:relative;margin-top:20px}.wind-gauge i{position:absolute;left:37%;top:-8px;width:4px;height:23px;background:white;transition:.2s}
.casino-cloud{background:var(--cloud);color:var(--ink);clip-path:polygon(0 0,100% 5%,100% 95%,0 100%)}.casino-cloud .cloud-copy{padding:35px;background:white;border-radius:var(--radius);box-shadow:var(--shadow)}.casino-cloud span{color:var(--coral)}#cooldown-btn{padding:12px 17px;border:0;border-radius:99px;background:var(--coral);color:white;font-weight:800}#cooldown-output{display:block;margin-top:12px;font-weight:700}
.fog-advisory{background:linear-gradient(120deg,#1b2854,#44326b);overflow:hidden}.fog-advisory::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.08),transparent);filter:blur(20px);pointer-events:none}.fog-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fog-grid>div{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:24px;padding:25px}.fog-advisory button{position:relative;z-index:2}.fog-advisory #fog-note{margin-top:15px;color:var(--lime)}
.cash-front{background:#08182b}.cash-tabs{display:inline-flex;padding:5px;border:1px solid var(--line);border-radius:99px}.cash-tab{color:white}.cash-tab.active{background:var(--polar);color:var(--ink)}.cash-panel{padding-top:20px}.cash-panel li{margin-bottom:9px}
.camera-light{background:linear-gradient(150deg,var(--cloud),#d8e8ff);color:var(--ink);clip-path:polygon(0 4%,100% 0,100% 96%,0 100%)}.camera-light>span{color:#6558d9}
.connection-row{padding:70px clamp(22px,6vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:20px}.connection-row article{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass)}
.network-test{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.network-test button{background:var(--cloud);color:var(--ink)}.network-test output{width:100%;color:var(--lime);padding-top:12px}
.quiet-storm{background:radial-gradient(circle at 80% 20%,rgba(255,107,114,.24),transparent 26%),#101d37}.quiet-storm>ul{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;list-style:none;padding:0}.quiet-storm>ul li{border:1px solid var(--line);border-radius:17px;padding:17px;background:var(--glass)}
.budget-cloud{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:35px 0;padding:22px;border-radius:22px;background:rgba(168,245,90,.08);border:1px solid rgba(168,245,90,.3)}.budget-cloud input{margin-left:10px;padding:9px;border-radius:10px;border:0;width:120px}.budget-cloud output{color:var(--lime);font-weight:800}
.weekly-outlook{background:#0a172a}#rating-table tr{position:relative}#rating-table tr::after{content:"";display:block;position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--lime);transition:1s}#rating-table.animated tr::after{width:var(--rating,70%)}
.pressure-zones,.climate-profiles{padding:80px clamp(22px,6vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:18px}.pressure-zones article,.climate-profiles article{padding:35px;border-radius:var(--radius)}.pressure-zones .high{background:var(--lime);color:var(--ink)}.pressure-zones .low{background:var(--coral);color:#250b13}.climate-profiles article{border:1px solid var(--line);background:var(--glass)}
.clear-air{background:var(--cloud);color:var(--ink);clip-path:polygon(0 3%,100% 0,100% 100%,0 97%)}.clear-air>span{color:#568c19}.clear-air button{background:var(--ink);color:white}
.closing-outlook{background:linear-gradient(130deg,#0c2443,#251f52)}.support-builder{margin-top:35px;max-width:760px;padding:24px;border:1px solid var(--line);border-radius:24px}.support-builder input{padding:12px;border:0;border-radius:12px;margin:4px;max-width:180px}.support-builder output{display:block;padding-top:14px;color:var(--lime)}
.faq-alerts{background:#081426}.faq-list{max-width:1000px;margin-left:auto}.faq-list article{border-bottom:1px solid var(--line)}.faq-list button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:none;border:0;color:white;padding:22px 0}.faq-list h3{margin:0}.faq-list button span{font-size:2rem;color:var(--polar)}.faq-list article>div{display:grid;grid-template-rows:0fr;transition:.3s}.faq-list article>div p{overflow:hidden;margin:0}.faq-list article.open>div{grid-template-rows:1fr}.faq-list article.open>div p{padding-bottom:22px}
footer{padding:35px clamp(22px,6vw,110px);display:flex;align-items:center;gap:25px;border-top:1px solid var(--line)}footer img{width:135px}footer p{margin-right:auto;font-size:.85rem}
.cookie-cloud{position:fixed;z-index:110;bottom:18px;right:18px;max-width:360px;padding:16px;border-radius:20px;background:var(--cloud);color:var(--ink);box-shadow:var(--shadow);display:flex;gap:12px;align-items:center}.cookie-cloud p{font-size:.8rem;margin:0}.cookie-cloud button{border:0;border-radius:99px;padding:10px;background:var(--ink);color:white;font-size:.7rem;font-weight:800}
.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}
body.quiet::before{opacity:.35}body.quiet .storm-head span{color:var(--lime)}
@media(max-width:900px){
  .nav-toggle{display:block;margin-left:auto}.skybar nav{position:absolute;top:74px;left:15px;right:15px;display:none;flex-direction:column;padding:20px;background:#0b1b32;border:1px solid var(--line);border-radius:20px}.skybar nav.open{display:flex}.age-cloud{display:none}
  .hero-forecast{grid-template-columns:1fr}.hero-image,.current-card{grid-column:1}.download-front,.casino-cloud,.cash-front,.connection-row,.pressure-zones,.climate-profiles{grid-template-columns:1fr}
  .check-weather,.quiet-storm>ul{grid-template-columns:1fr 1fr}.band-title{grid-template-columns:1fr}.fog-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  h1{font-size:2.7rem}.hero-forecast{padding-top:60px}.check-weather,.quiet-storm>ul{grid-template-columns:1fr}.wind-field ol,.camera-light ol{columns:1}.forecast-band,.conditions-table,.wind-field,.fog-advisory,.camera-light,.quiet-storm,.weekly-outlook,.clear-air,.closing-outlook,.faq-alerts{padding-left:20px;padding-right:20px}.download-front,.casino-cloud,.cash-front,.connection-row,.pressure-zones,.climate-profiles{padding-left:20px;padding-right:20px}.support-builder input{max-width:100%;width:100%}footer{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
