:root { --ink:#10233a; --blue:#1263a5; --sky:#eaf5ff; --sun:#ffc928; --line:#c6d7e6; --card:#fff; }
    * { box-sizing:border-box; }
    body { margin:0; color:var(--ink); background:linear-gradient(155deg,#f8fcff 0%,#d7edfc 48%,#eef6f2 100%); font-family:Abolition, "Arial Narrow", Impact, sans-serif; min-height:100vh; letter-spacing:.025em; }
    .wrap { max-width:1180px; margin:auto; padding:22px; }
    header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:7px 0 27px; }
    .brand { display:flex; gap:20px; align-items:center; min-width:0; }
    .brand-logo { width:126px; height:74px; object-fit:contain; object-position:left center; mix-blend-mode:multiply; }
    .site-title { margin:0; color:var(--ink); font-family:Abolition,Impact,"Arial Narrow",sans-serif; font-size:105px; font-weight:400; letter-spacing:.015em; line-height:.72; text-transform:uppercase; white-space:nowrap; }
    .status { display:flex; align-items:center; gap:9px; font:700 12px Arial,sans-serif; color:#315d7c; }
    .pulse { height:10px; width:10px; background:#2bb673; border-radius:50%; box-shadow:0 0 0 5px #2bb67326; }
    .menu { display:flex; flex-wrap:wrap; gap:8px; margin:-11px 0 24px; }
    .menu a { color:#254c68; text-decoration:none; background:#fff; border:1px solid #d9e8f3; border-radius:999px; padding:9px 14px; font:700 13px Arial,sans-serif; transition:background .18s ease, color .18s ease, transform .18s ease; }
    .menu a:hover, .menu a.active { background:var(--blue); border-color:var(--blue); color:#fff; transform:translateY(-1px); }
    .hero { background:var(--card); border:1px solid #fff; border-radius:27px; padding:26px clamp(20px,4vw,50px); display:grid; grid-template-columns:1.2fr .8fr; gap:25px; box-shadow:0 20px 50px #1c4e7420; overflow:hidden; position:relative; }
    .hero:after { content:""; width:260px; height:260px; border-radius:50%; position:absolute; right:-90px; top:-125px; background:#e5f5ff; z-index:0; }
    .eyebrow { margin:0 0 8px; font:700 12px Arial,sans-serif; color:#2671a9; letter-spacing:.15em; text-transform:uppercase; }
    .hero h2 { margin:0; text-transform:uppercase; font-size:clamp(38px,6vw,67px); letter-spacing:.025em; line-height:.9; }
    .hero p { max-width:550px; margin:15px 0 22px; font:16px/1.5 Arial,sans-serif; letter-spacing:0; color:#4b6578; }
    .location { border:1px solid var(--line); border-radius:11px; padding:10px 12px; color:#234d6b; font:700 14px Arial,sans-serif; background:#fbfdff; }
    .weather-alert { margin-top:13px; padding:12px 14px; border-left:7px solid #b90e0a; border-radius:8px; background:#fff0ec; color:#7f1a12; font:700 14px/1.4 Arial,sans-serif; letter-spacing:0; }
    .current { z-index:1; align-self:center; justify-self:end; display:grid; grid-template-columns:auto auto; align-items:center; column-gap:14px; }
    .current img { width:142px; height:142px; object-fit:contain; mix-blend-mode:multiply; }
    .temp { color:#ED820E; font-size:clamp(94px,10vw,132px); line-height:.75; }
    .temp span { font-size:115px; vertical-align:top; }
    .current p { margin:7px 0 0; text-transform:uppercase; font:700 17px Arial,sans-serif; color:#2a6389; }
    .section-title { display:flex; justify-content:space-between; align-items:end; margin:35px 0 14px; }
    .section-title h3 { margin:0; text-transform:uppercase; font-size:28px; }
    .section-title span { font:12px Arial,sans-serif; color:#557086; }
    .forecast { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
    .day { background:#fff; border:1px solid #fff; border-radius:17px; text-align:center; padding:15px 8px; box-shadow:0 10px 25px #376e9220; transition:transform .18s ease, box-shadow .18s ease; }
    .day:hover { transform:translateY(-5px); box-shadow:0 15px 28px #376e9230; }
    .day strong { font-size:18px; text-transform:uppercase; }
    .day img { display:block; width:75px; height:65px; object-fit:contain; mix-blend-mode:multiply; margin:8px auto; }
    .hi { font-size:27px; color:#db641d; } .low { font:14px Arial,sans-serif; color:#638198; } .precip-chance { margin-top:6px; color:#72ceff; font:700 11px Arial,sans-serif; letter-spacing:.02em; text-transform:uppercase; }
    .hourly-outlook { margin-top:28px; background:#fff; border-radius:18px; padding:22px; box-shadow:0 10px 25px #376e9217; overflow:hidden; }
    .hourly-outlook h3 { margin:0 0 14px; text-transform:uppercase; font-size:24px; }
    .hourly-list { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(92px,1fr); gap:10px; overflow-x:auto; padding-bottom:4px; }
    .hour { text-align:center; padding:11px 7px; border-radius:12px; background:#eef8fe; }
    .hour strong { display:block; font-size:16px; text-transform:uppercase; } .hour img { display:block; width:54px; height:48px; object-fit:contain; mix-blend-mode:multiply; margin:5px auto; } .hour b { display:block; font-size:23px; color:#db641d; } .hour small { display:block; margin-top:3px; color:#557086; font:11px Arial,sans-serif; }
    .conditions { display:grid; grid-template-columns:1.12fr .88fr; gap:18px; margin-top:25px; }
    .panel { background:#fff; border-radius:18px; padding:22px; box-shadow:0 10px 25px #376e9217; }
    .panel h3 { margin:0 0 14px; text-transform:uppercase; font-size:24px; }
    .metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
    .metric { background:#eef8fe; border-radius:12px; padding:12px; }
    .metric b { display:block; color:#57758d; font:11px Arial,sans-serif; text-transform:uppercase; }
    .metric strong { display:block; margin-top:5px; font-size:23px; }
    .alert { border-left:7px solid var(--sun); background:#fff8df; padding:16px 17px; border-radius:8px; font:14px/1.45 Arial,sans-serif; color:#554922; letter-spacing:0; }
    .alert strong { display:block; color:#48380d; font-family:Abolition,Impact,sans-serif; font-size:20px; text-transform:uppercase; letter-spacing:.05em; }
    footer { text-align:center; padding:28px 0 8px; color:#53728a; font:12px Arial,sans-serif; }
    @media (max-width:1050px) { .site-title { font-size:clamp(52px,9vw,92px); } }
    @media (max-width:760px) { .hero,.conditions { grid-template-columns:1fr; } .current { justify-self:start; } .forecast { grid-template-columns:repeat(3,1fr); } .status { display:none; } .brand-logo { width:88px; height:64px; } .site-title { white-space:normal; } }
    @media (max-width:430px) { .wrap { padding:14px; } .brand h1 { font-size:25px; } .forecast { grid-template-columns:repeat(2,1fr); } .hero h2 { font-size:43px; } }
    /* Storm-desk visual system: layout and live weather logic remain unchanged. */
    :root{--ink:#f7fbff;--blue:#21a8ff;--sky:#0b1118;--sun:#ffc928;--line:#2a3c4e;--card:#10161d}
    body{background-color:#050609;background-image:radial-gradient(circle at 74% 12%,#1272aa2e,transparent 30%),linear-gradient(145deg,#050609 0%,#0c131c 48%,#050609 100%),url("assets/neus-logo-blacked-out.png");background-size:auto,auto,680px auto;background-position:center,center,calc(100% + 145px) 88px;background-repeat:no-repeat;background-attachment:fixed;color:var(--ink)}
    header{padding-bottom:25px;border-bottom:1px solid #ffffff1c}.brand-logo{mix-blend-mode:normal;filter:drop-shadow(0 0 10px #ffffff66)}.site-title{color:#fff;text-shadow:0 0 20px #ffffff25}.menu{margin:18px 0 24px}.menu a{color:#e8f5ff;background:#101820e8;border-color:var(--line);border-radius:5px;box-shadow:inset 0 1px #ffffff0b}.menu a:hover,.menu a.active{background:var(--blue);border-color:#7bd0ff;color:#04111b;box-shadow:0 0 18px #21a8ff55}
    .hero,.hourly-outlook,.panel{background:linear-gradient(145deg,#151d26ef,#0c1117f5);border:1px solid #ffffff1c;box-shadow:0 18px 40px #00000080}.hero{border-radius:8px}.hero:after{width:280px;height:280px;background:#21a8ff18;box-shadow:0 0 100px #21a8ff15}.hero:before{content:"";position:absolute;top:0;left:0;width:115px;height:3px;background:var(--blue);box-shadow:0 0 16px var(--blue)}.eyebrow{color:#63c6ff}.hero p{color:#a5b8c9}.location{border-color:var(--line);border-radius:5px;color:#e8f5ff;background:#081018}.weather-alert{border-radius:5px;background:#2c100e;color:#ffd1cb}.current p{color:#8ad7ff}.current img,.day img,.hour img{mix-blend-mode:normal;filter:drop-shadow(0 0 7px #ffffff66)}.section-title span,.low,.hour small{color:#a5b8c9}
    .day{background:linear-gradient(145deg,#152230,#0b1118);border-color:var(--line);border-radius:6px;box-shadow:0 10px 25px #00000075}.day:hover{box-shadow:0 15px 28px #00000080,0 0 18px #21a8ff2a;border-color:#5acaff}.hourly-outlook,.panel{border-radius:6px}.hour{background:#09131c;border:1px solid #1d3041;border-radius:5px}.metric{background:#09131c;border:1px solid #1d3041;border-radius:5px}.metric b{color:#a5b8c9}.alert{border-radius:5px;background:#151c21;color:#d2dce5;border-left-color:#ffc928}.alert strong{color:#ffd970}footer{color:#8599a9}
