/* Fonts are self-hosted via assets/css/fonts.css, linked from each page <head>
   (removed the render-blocking Google Fonts @import that was here). */

:root{
  --ink:#10272d;--muted:#62777b;--teal-900:#062a30;--teal-800:#0a3d44;--teal-700:#0e6570;--teal-500:#1597a5;
  --aqua:#eaf8f7;--aqua-2:#ccefeb;--gold:#c79f43;--gold-2:#f2dd9d;--line:#dfeae8;--soft:#f5fbfa;
  --ok:#178f64;--warn:#b7791f;--paid:#8b3d2f;--shadow:0 18px 46px rgba(6,42,48,.12);
  --font:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--serif:'Fraunces',Georgia,serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.55}
body.page-shell{background:linear-gradient(180deg,#f5fbfa 0%,#fff 38%,#f8fbfb 100%)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,39,45,.08)}
.topbar{min-height:74px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--teal-900)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,var(--teal-500),var(--teal-900));color:#fff;font-family:var(--serif);font-size:18px}.brand small{color:var(--gold);font-size:1em}
.navlinks{display:flex;align-items:center;gap:18px;margin-left:18px;font-size:14px;font-weight:700;color:#4f666b}.navlinks a:hover{color:var(--teal-700)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;font-weight:800;font-size:14px;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px)}.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#3e2e08;box-shadow:0 12px 28px rgba(199,159,67,.28)}.btn-teal{background:linear-gradient(135deg,var(--teal-500),var(--teal-800));color:#fff;box-shadow:0 14px 30px rgba(14,101,112,.22)}.btn-ghost{background:#fff;color:var(--teal-800);border:1px solid var(--line)}
.hero{position:relative;isolation:isolate;color:#fff;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(6,42,48,.95),rgba(10,61,68,.72)),var(--hero-image);background-size:cover;background-position:center}.hero::after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:36%;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
.hero-inner{min-height:620px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.78fr);gap:34px;align-items:center;padding:80px 0 110px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;text-transform:uppercase;color:var(--gold-2);letter-spacing:0}.eyebrow::before,.eyebrow::after{content:"";width:22px;height:2px;background:currentColor}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.08;margin:0;font-weight:650;letter-spacing:0}h1{font-size:clamp(38px,6vw,76px);max-width:920px;margin:16px 0 18px}h2{font-size:clamp(30px,4vw,52px)}h3{font-size:clamp(22px,2.4vw,32px)}p{margin:0;color:var(--muted)}.hero p{max-width:720px;color:rgba(255,255,255,.86);font-size:18px}
.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:800;color:#fff}
.breadcrumb{font-size:13px;font-weight:700;color:rgba(255,255,255,.8);margin-bottom:2px}.breadcrumb a{color:#fff}.breadcrumb a:hover{text-decoration:underline}.breadcrumb [aria-current]{color:var(--gold-2)}.breadcrumb .sep{opacity:.6;margin:0 4px}
.panel{background:rgba(255,255,255,.96);color:var(--ink);border:1px solid rgba(255,255,255,.6);border-radius:8px;box-shadow:var(--shadow);padding:24px}.panel p{font-size:14px}.section{padding:82px 0}.section.tight{padding-top:36px}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:26px}.section-head p{max-width:660px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(6,42,48,.08);overflow:hidden}.card-body{padding:22px}.card-body p{font-size:14.5px}
.media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#d7ebe8}.media img{width:100%;height:100%;object-fit:cover}.media::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,rgba(6,42,48,0),rgba(6,42,48,.72))}.badge{position:absolute;left:12px;top:12px;z-index:1;border-radius:999px;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#3e2e08;font-size:11px;font-weight:900;padding:6px 9px}.caption{position:absolute;left:12px;right:12px;bottom:12px;z-index:1;color:#fff;font-size:12px;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.fact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.fact-row span{border-top:2px solid var(--aqua-2);padding-top:8px;font-size:12px;color:var(--muted);font-weight:700}.fact-row b{display:block;color:var(--teal-900);font-family:var(--serif);font-size:22px;line-height:1}
.list{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}.list li{display:flex;gap:8px;font-size:14px;color:#294349}.list li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal-500);margin-top:.58em;flex:none}
.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;background:#fff;border-top:1px solid var(--line)}.mini-gallery figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:#e1efed}.mini-gallery img{width:100%;height:100%;object-fit:cover}.mini-gallery figcaption{position:absolute;left:5px;right:5px;bottom:5px;background:rgba(6,42,48,.68);color:#fff;border-radius:5px;padding:4px 5px;font-size:10px;font-weight:800}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:800;color:var(--teal-800);margin-bottom:6px}input,select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:12px 13px;outline:none}input:focus,select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(21,151,165,.14)}.note{font-size:12.5px;color:var(--muted);margin-top:10px}.quick-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--teal-800);font-weight:800;padding:8px 11px;font-size:12.5px}.chip.on,.chip:hover{border-color:var(--teal-500);background:var(--aqua)}
.access{display:grid;gap:8px;margin-top:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#f7fbfa);padding:14px}.access h4{font-family:var(--font);font-size:12px;text-transform:uppercase;color:var(--teal-800);letter-spacing:0;margin:0}.access-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:10px 0;border-top:1px solid #e6efee}.access-row:first-of-type{border-top:0}.access-row b{display:block;font-size:13px;color:var(--ink)}.access-row small{display:block;color:var(--muted);font-size:12px;line-height:1.42;margin-top:3px}.status{align-self:start;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:900;white-space:nowrap}.status.free{background:#e6f7ef;color:var(--ok)}.status.package{background:#fff3cd;color:var(--warn)}.status.paid{background:#fdecea;color:var(--paid)}
.compare{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.compare-row{display:grid;grid-template-columns:.82fr repeat(3,1fr);border-top:1px solid var(--line)}.compare-row:first-child{border-top:0;background:linear-gradient(90deg,var(--aqua),#fff7e3)}.compare-row div{padding:14px;border-left:1px solid var(--line);font-size:13.5px;color:var(--muted)}.compare-row div:first-child{border-left:0;color:var(--ink);font-weight:900}
.weather-live{display:grid;gap:16px}.weather-main{display:flex;align-items:center;justify-content:space-between;gap:18px}.weather-temp{font-family:var(--serif);font-size:64px;line-height:1;color:var(--teal-900)}.weather-status{font-weight:900;color:var(--teal-800)}.weather-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.weather-stat{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:12px}.weather-stat b{display:block;font-size:18px;color:var(--ink)}.weather-stat span{font-size:12px;color:var(--muted);font-weight:700}.decision{border-left:4px solid var(--gold);background:#fff8e8;padding:16px;border-radius:8px}.decision b{display:block;color:#5d420c;margin-bottom:4px}
.timeline{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.timeline-row b{color:var(--teal-800)}.cta-band{background:linear-gradient(135deg,var(--teal-900),var(--teal-700));color:#fff;border-radius:8px;padding:32px;display:flex;justify-content:space-between;align-items:center;gap:22px}.cta-band p{color:rgba(255,255,255,.82);max-width:720px}
.footer{background:#061f24;color:#fff;padding:46px 0;margin-top:40px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px}.footer p,.footer a{color:rgba(255,255,255,.72);font-size:14px}.footer a:hover{color:#fff}.footer h4{font-family:var(--font);font-size:13px;text-transform:uppercase;color:var(--gold-2);margin:0 0 12px}.footer-col{display:grid;gap:8px;align-content:start}.source{font-size:12.5px;color:var(--muted);text-align:center;margin-top:16px}.source a{color:var(--teal-700);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.quiz-option{border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;padding:13px}.quiz-option:hover,.quiz-option.on{border-color:var(--teal-500);background:var(--aqua)}.quiz-option b{display:block;font-size:14px}.quiz-option span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.result{margin-top:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#f1fbfa,#fff8e8);padding:16px}
@media(max-width:900px){.hero-inner,.grid-2,.grid-3,.footer-grid{grid-template-columns:1fr}.hero-inner{min-height:0;padding:64px 0 96px}.navlinks{display:none}.section-head{display:block}.section-head p{margin-top:10px}.compare-row{grid-template-columns:1fr}.compare-row div{border-left:0;border-top:1px solid var(--line)}.compare-row div:first-child{border-top:0;background:var(--soft)}.cta-band{display:grid}}
@media(max-width:560px){.wrap{width:min(100% - 22px,1180px)}.topbar{min-height:64px}.top-actions .btn-ghost{display:none}.hero p{font-size:16px}.panel,.card-body{padding:18px}.form-grid,.quiz-options,.weather-grid,.fact-row{grid-template-columns:1fr}.weather-main{display:grid}.weather-temp{font-size:52px}.timeline-row{grid-template-columns:1fr}.mini-gallery{grid-template-columns:1fr 1fr 1fr}}

/* Cosmic live weather module */
.weather-cosmos{
  position:relative;overflow:hidden;border-radius:8px;padding:18px;background:linear-gradient(145deg,#07151d 0%,#0c2e39 42%,#161f3a 100%);
  color:#fff;border:1px solid rgba(242,221,157,.28);box-shadow:0 28px 80px rgba(6,42,48,.36),inset 0 0 0 1px rgba(255,255,255,.04)
}
.weather-cosmos::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 12%,rgba(77,210,225,.22),transparent 32%),radial-gradient(circle at 82% 20%,rgba(242,221,157,.18),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.05),transparent);pointer-events:none}
.cosmos-top{position:relative;z-index:2;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:900;text-transform:uppercase;color:rgba(255,255,255,.78)}
.cosmos-top strong{margin-left:auto;color:var(--gold-2);font-size:11px;text-transform:none}
.live-dot{width:8px;height:8px;border-radius:50%;background:#46e69b;box-shadow:0 0 0 0 rgba(70,230,155,.58);animation:livePulse 1.8s infinite}
.cosmos-stage{position:relative;z-index:1;min-height:285px;display:grid;place-items:center;margin:10px 0 8px}
.starfield{position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px),radial-gradient(circle,rgba(242,221,157,.9) 0 1px,transparent 1.6px),radial-gradient(circle,rgba(77,210,225,.9) 0 1px,transparent 1.6px);background-size:46px 46px,79px 79px,113px 113px;background-position:0 0,15px 22px,36px 10px;opacity:.32;animation:starDrift 18s linear infinite}
.orbit{position:absolute;border:1px solid rgba(255,255,255,.17);border-radius:50%;transform:rotate(-18deg);animation:orbitSpin 18s linear infinite}
.orbit::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 18px rgba(242,221,157,.9)}
.orbit-a{width:235px;height:132px}.orbit-a::after{left:36px;top:6px}
.orbit-b{width:285px;height:168px;animation-duration:25s;animation-direction:reverse}.orbit-b::after{right:46px;bottom:10px;background:#65d9e6}
.weather-planet{position:relative;display:grid;place-items:center;width:172px;height:172px;border-radius:50%;background:radial-gradient(circle at 34% 24%,#fff6c9 0 11%,#65d9e6 16%,#128391 42%,#071b2a 74%);box-shadow:inset -24px -28px 54px rgba(1,8,16,.55),inset 12px 10px 26px rgba(255,255,255,.24),0 0 42px rgba(101,217,230,.44);animation:planetBreathe 5.5s ease-in-out infinite}
.weather-planet.rain{background:radial-gradient(circle at 34% 24%,#d9fbff 0 12%,#7cb3d8 20%,#315b88 54%,#071b2a 78%);box-shadow:inset -24px -28px 54px rgba(1,8,16,.58),0 0 45px rgba(124,179,216,.48)}
.weather-planet.storm{background:radial-gradient(circle at 34% 24%,#fff2a8 0 9%,#a56cfd 18%,#344066 50%,#07111d 80%);box-shadow:inset -24px -28px 54px rgba(1,8,16,.66),0 0 54px rgba(165,108,253,.42)}
.weather-planet.cloud{background:radial-gradient(circle at 34% 24%,#ffffff 0 11%,#b8d8d9 19%,#5d8792 49%,#0a2630 78%)}
.weather-planet.sun{background:radial-gradient(circle at 34% 24%,#fff9c7 0 12%,#ffd26d 24%,#e88f36 52%,#4b2a15 82%);box-shadow:inset -24px -28px 54px rgba(74,35,9,.48),0 0 60px rgba(255,210,109,.5)}
.weather-planet span{font-size:35px;font-weight:900;letter-spacing:0;text-shadow:0 2px 20px rgba(0,0,0,.45)}
.weather-planet i{position:absolute;inset:18px;border-radius:50%;border-top:2px solid rgba(255,255,255,.55);transform:rotate(-28deg)}
.cosmic-temp{position:absolute;bottom:14px;right:24px;color:#fff;text-shadow:0 10px 30px rgba(0,0,0,.56)}
.cosmos-readout{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}
.cosmos-readout h2{font-size:clamp(25px,3vw,38px);margin:8px 0;color:#fff}.cosmos-readout p{color:rgba(255,255,255,.76)}
.cosmic-index{min-width:122px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:12px}.cosmic-index span{display:block;color:rgba(255,255,255,.68);font-size:11px;font-weight:900;text-transform:uppercase}.cosmic-index b{display:block;color:#fff;font-size:30px;line-height:1;margin:5px 0 8px}
.index-bar{height:7px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}.index-bar i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#46e69b,#f2dd9d,#ff9f66);transition:width .7s ease}
.cosmic-stats{position:relative;z-index:2;grid-template-columns:repeat(3,1fr);margin-top:16px}.cosmic-stats .weather-stat{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13)}.cosmic-stats .weather-stat b{color:#fff}.cosmic-stats .weather-stat span{color:rgba(255,255,255,.68)}
.cosmic-decision{position:relative;z-index:2;margin-top:16px;background:linear-gradient(135deg,rgba(242,221,157,.16),rgba(101,217,230,.1));border:1px solid rgba(242,221,157,.24);border-left:4px solid var(--gold-2)}.cosmic-decision b{color:var(--gold-2)}.cosmic-decision p{color:rgba(255,255,255,.8)}
.weather-command{padding-top:54px;background:linear-gradient(180deg,#fff 0%,#f2fbfa 100%)}
.forecast-grid{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));gap:10px}
.forecast-card{position:relative;overflow:hidden;border:1px solid rgba(16,39,45,.1);border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(6,42,48,.07);padding:14px;min-height:214px;display:grid;align-content:space-between}
.forecast-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--teal-500),var(--gold-2))}
.forecast-day{font-weight:900;color:var(--teal-900);font-size:14px}.forecast-date{font-size:11px;color:var(--muted);font-weight:800;margin-top:2px}.forecast-icon{font-size:28px;line-height:1;margin:13px 0 8px}.forecast-temp{font-family:var(--serif);font-size:28px;color:var(--ink);line-height:1}.forecast-temp small{font-family:var(--font);font-size:13px;color:var(--muted);font-weight:800}.forecast-meta{display:grid;gap:4px;margin-top:10px;font-size:12px;color:var(--muted);font-weight:700}.forecast-pick{margin-top:10px;border-radius:999px;padding:6px 8px;background:var(--aqua);color:var(--teal-800);font-size:11px;font-weight:900;text-align:center}
.forecast-loading{grid-column:1/-1;border:1px solid var(--line);background:#fff;border-radius:8px;padding:22px;color:var(--muted);font-weight:800}
.hourly-panel{margin-top:24px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(6,42,48,.07);padding:18px;overflow:hidden}.hourly-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.hourly-head h3{font-size:28px}.hourly-head p{font-size:14px}
.hourly-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(110px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px}.hour-card{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fcfb);padding:12px;display:grid;gap:7px;min-height:130px}.hour-card b{font-size:13px;color:var(--teal-800)}.hour-card .hi{font-size:24px;line-height:1}.hour-card strong{font-family:var(--serif);font-size:24px;color:var(--ink)}.hour-card span{font-size:12px;color:var(--muted);font-weight:700}
@keyframes livePulse{70%{box-shadow:0 0 0 10px rgba(70,230,155,0)}100%{box-shadow:0 0 0 0 rgba(70,230,155,0)}}@keyframes starDrift{to{background-position:46px 46px,94px 101px,149px 123px}}@keyframes orbitSpin{to{transform:rotate(342deg)}}@keyframes planetBreathe{50%{transform:scale(1.025);filter:saturate(1.12)}}
@media(max-width:1100px){.forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cosmos-readout{grid-template-columns:1fr}.cosmic-temp{right:14px}.cosmic-stats{grid-template-columns:repeat(2,1fr)}.hourly-head{display:block}.hourly-head p{margin-top:6px}}
@media(max-width:460px){.forecast-grid{grid-template-columns:1fr}.cosmic-stats{grid-template-columns:1fr}.weather-planet{width:145px;height:145px}.orbit-a{width:205px;height:118px}.orbit-b{width:240px;height:150px}.cosmos-stage{min-height:250px}.cosmos-top{display:grid}.cosmos-top strong{margin-left:0}}

/* Minimal future-tech weather UI */
.weather-tech{
  background:#071013;border:1px solid rgba(151,191,194,.24);border-radius:8px;padding:22px;color:#fff;
  box-shadow:0 24px 70px rgba(6,42,48,.28),inset 0 1px 0 rgba(255,255,255,.08)
}
.weather-tech::before{display:none}
.weather-tech .quick-row{position:relative;z-index:2}
.tech-top{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(151,191,194,.18);padding-bottom:14px;color:#b9d3d6;font-size:12px;font-weight:800}
.tech-top strong{margin-left:auto;color:#f2dd9d;font-weight:800}
.tech-main{display:grid;grid-template-columns:1fr 92px;gap:20px;align-items:end;padding:26px 0 18px;border-bottom:1px solid rgba(151,191,194,.18)}
.tech-temp{font-family:var(--serif);font-size:92px;line-height:.88;color:#fff;text-shadow:none}
.weather-signal{height:92px;border:1px solid rgba(151,191,194,.28);border-radius:8px;display:grid;place-items:center;background:#0c181c;color:#dffcff;font-size:19px;font-weight:900}
.weather-signal.sun,.weather-signal.partly{border-color:rgba(242,221,157,.52);color:#f2dd9d}
.weather-signal.cloud,.weather-signal.fog,.weather-signal.snow{border-color:rgba(185,211,214,.46);color:#d7e4e5}
.weather-signal.rain{border-color:rgba(101,217,230,.5);color:#65d9e6}
.weather-signal.storm{border-color:rgba(242,221,157,.6);color:#d7e4e5;background:#15151b}
.tech-readout{display:grid;grid-template-columns:1fr 140px;gap:18px;align-items:end;padding-top:18px}
.tech-readout h2{font-size:34px;color:#fff;margin:8px 0}
.tech-readout p{color:#a6bec1;font-size:14px}
.tech-index{border:1px solid rgba(151,191,194,.22);border-radius:8px;background:#0c181c;padding:13px}
.tech-index span{display:block;color:#8ea8ab;font-size:11px;font-weight:900;text-transform:uppercase}
.tech-index b{display:block;color:#fff;font-size:32px;line-height:1;margin:7px 0 10px}
.weather-tech .index-bar{background:#17272b}
.weather-tech .index-bar i{background:#65d9e6}
.tech-stats{grid-template-columns:repeat(3,1fr);margin-top:18px}
.tech-stats .weather-stat{background:#0c181c;border-color:rgba(151,191,194,.18);border-radius:8px}
.tech-stats .weather-stat b{color:#fff;font-size:20px}
.tech-stats .weather-stat span{color:#89a5a8}
.tech-decision{margin-top:18px;border:1px solid rgba(242,221,157,.28);border-left:3px solid var(--gold-2);background:#101614;border-radius:8px}
.tech-decision b{color:#f2dd9d}.tech-decision p{color:#bfd1d3}
.weather-command{background:#f7fbfb}
.weather-command .section-head{border-bottom:1px solid var(--line);padding-bottom:18px}
.forecast-grid{grid-template-columns:repeat(5,minmax(138px,1fr));gap:10px}
.forecast-card{box-shadow:none;border-color:#dfe9e8;background:#fff;min-height:196px;padding:13px}
.forecast-card::before{height:2px;background:#0e6570}
.forecast-icon{height:42px;margin:12px 0 8px;color:var(--teal-800)}
.forecast-temp{font-size:26px}
.forecast-pick{background:#eef7f6;border:1px solid #d9eeec;color:#0e6570;border-radius:8px}
.hourly-panel{box-shadow:none;background:#fff}
.hour-card{background:#fff;min-height:116px}
.hour-card .hi{height:32px;color:var(--teal-800)}
.wx-icon{display:block;width:42px;height:42px;overflow:visible;color:currentColor}
.weather-signal .wx-icon{width:58px;height:58px}
.hour-card .wx-icon{width:30px;height:30px}
.wx-sun .sun-core,.wx-partly .sun-core{fill:#f2c766}
.wx-sun .sun-rays,.wx-partly .sun-rays{color:#d8aa3e}
.wx-cloud .cloud-shape,.wx-partly .cloud-shape,.wx-fog .cloud-shape,.wx-snow .cloud-shape{fill:#c8d7d9}
.wx-rain .cloud-shape{fill:#a9cfd4}.wx-storm .cloud-shape{fill:#aebbc2}
.sun-rays{transform-origin:32px 32px;animation:wxSpin 22s linear infinite}
.sun-rays.mini{transform-origin:22px 22px}
.sun-core{animation:wxSunPulse 3.8s ease-in-out infinite}
.sun-core.mini{animation-duration:4.6s}
.cloud-shape{animation:wxCloudDrift 5.5s ease-in-out infinite alternate;transform-origin:center}
.rain-drop{animation:wxRain 1.35s linear infinite;stroke:#1597a5}
.rain-drop.d2{animation-delay:.18s}.rain-drop.d3{animation-delay:.36s}
.storm-bolt{fill:#f2dd9d;filter:drop-shadow(0 0 7px rgba(242,221,157,.65));animation:wxFlash 2.4s ease-in-out infinite}
.fog-lines path{animation:wxFog 3.8s ease-in-out infinite alternate;opacity:.82}
.fog-lines path:nth-child(2){animation-delay:.4s}.fog-lines path:nth-child(3){animation-delay:.8s}
.snow-flakes circle{animation:wxSnow 2.8s ease-in-out infinite}.snow-flakes circle:nth-child(2){animation-delay:.35s}.snow-flakes circle:nth-child(3){animation-delay:.7s}
@keyframes wxSpin{to{transform:rotate(360deg)}}
@keyframes wxSunPulse{50%{filter:drop-shadow(0 0 10px rgba(242,221,157,.55));transform:scale(1.04)}}
@keyframes wxCloudDrift{to{transform:translateX(2.5px)}}
@keyframes wxRain{0%{transform:translateY(-4px);opacity:.15}45%{opacity:1}100%{transform:translateY(7px);opacity:.28}}
@keyframes wxFlash{0%,72%,100%{opacity:.65}76%,84%{opacity:1;filter:drop-shadow(0 0 12px rgba(242,221,157,.9))}}
@keyframes wxFog{to{transform:translateX(7px);opacity:.48}}
@keyframes wxSnow{50%{transform:translateY(4px);opacity:.62}}
@media(max-width:1100px){.forecast-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .forecast-grid{grid-template-columns:1fr}
  .tech-main{grid-template-columns:1fr 78px}.tech-temp{font-size:68px}.weather-signal{height:78px}
  .tech-readout{grid-template-columns:1fr}.tech-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:460px){
  .weather-tech{padding:18px}.tech-top{display:grid}.tech-top strong{margin-left:0}
  .tech-main{grid-template-columns:1fr}.weather-signal{width:82px}.tech-temp{font-size:60px}.tech-stats{grid-template-columns:1fr}
}
