body { background: var(--bg); color: var(--text); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
body::before { content:""; position: fixed; inset: 0; pointer-events: none; opacity: .28; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"); }
.ambient { position: fixed; width: 560px; height: 560px; filter: blur(130px); border-radius: 50%; pointer-events: none; opacity: .12; }
.ambient--one { background: #5fce8a; top: -260px; right: -100px; }.ambient--two { background: #447969; bottom: -340px; left: -220px; }
a { color: inherit; }.panel { background: linear-gradient(145deg, rgba(24,44,37,.76), rgba(8,20,17,.68)); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow); backdrop-filter: blur(20px); }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }.brand strong { display:block; font: 700 15px var(--font-display); letter-spacing:.01em; }.brand small { display:block; color:var(--muted); font-size:11px; margin-top:2px; letter-spacing:.04em; }
.brand__mark { width:38px; height:38px; border:1px solid var(--line-bright); border-radius:11px; display:flex; align-items:end; justify-content:center; gap:2px; padding:8px; transform:rotate(-2deg); }.brand__mark i { width:5px; background:var(--green); clip-path:polygon(50% 0,100% 100%,0 100%); }.brand__mark i:nth-child(1){height:12px}.brand__mark i:nth-child(2){height:21px}.brand__mark i:nth-child(3){height:16px}
.nav { display:flex; gap:32px; }.nav a { text-decoration:none; color:var(--muted); font-size:13px; transition:.2s; }.nav a:hover,.nav a.is-active { color:var(--text); }
.live-pill { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid var(--line); background:rgba(7,17,15,.5); border-radius:100px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.live-pill span,.freshness__dot { width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(137,214,163,.08);animation:pulse 2s infinite}.live-pill b{color:var(--green);font-weight:600}.live-pill time{padding-left:8px;border-left:1px solid var(--line);font-variant-numeric:tabular-nums}
@keyframes pulse { 50% { opacity:.45; } }
.hero { position:relative; overflow:hidden; background:linear-gradient(105deg,rgba(8,21,18,.96),rgba(13,37,29,.81)), radial-gradient(circle at 74% 20%,rgba(137,214,163,.2),transparent 35%); }.hero::after{content:"";position:absolute;inset:auto -3% -20% 35%;height:55%;opacity:.14;background:linear-gradient(142deg,transparent 49%,var(--green) 50% 51%,transparent 52%),linear-gradient(35deg,transparent 49%,var(--green) 50% 51%,transparent 52%);clip-path:polygon(0 100%,14% 30%,27% 64%,45% 2%,58% 54%,71% 26%,100% 100%)}.hero>*{position:relative;z-index:1}
.eyebrow { margin:0 0 13px; color:var(--green); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.hero h1 { font:700 clamp(38px,4.4vw,68px)/1.02 var(--font-display); letter-spacing:-.055em; margin:0; }.hero h1 em { color:var(--green); font-style:normal; }.hero__intro { color:var(--muted); line-height:1.65; max-width:580px; margin:24px 0; font-size:15px; }.freshness { display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.freshness b{color:var(--text)}.separator{opacity:.4}
.current-temp__value { font:700 clamp(82px,8vw,128px)/.8 var(--font-display); letter-spacing:-.08em; white-space:nowrap; }.current-temp__value sup { color:var(--green); font-size:.28em; vertical-align:top; letter-spacing:0; margin-left:8px; }.current-temp>p{margin:24px 0 18px;color:var(--muted)}.temperature-range{display:flex;gap:16px;color:var(--muted);font-size:12px}.temperature-range b{color:var(--text)}.range-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:6px}.range-dot--max{background:var(--amber)}.range-dot--min{background:var(--blue)}
.hero__insight{padding:24px;border-left:1px solid var(--line)}.hero__insight strong{font:700 19px var(--font-display)}.hero__insight>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.55}.mini-meter,.bar{height:5px;background:rgba(255,255,255,.07);border-radius:10px;overflow:hidden;margin:22px 0 9px}.mini-meter span,.bar span{height:100%;display:block;width:0;background:linear-gradient(90deg,var(--blue),var(--green),var(--lime));border-radius:inherit;transition:width .7s}.hero__insight small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.metric { position:relative;overflow:hidden;transition:transform .25s,border-color .25s}.metric:hover{transform:translateY(-3px);border-color:var(--line-bright)}.metric--featured{background:linear-gradient(145deg,rgba(43,76,59,.78),rgba(10,27,21,.8))}.metric__head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.metric__value{font:700 43px/1 var(--font-display);letter-spacing:-.055em;margin-top:30px;font-variant-numeric:tabular-nums}.metric__value small{font:500 12px var(--font-body);color:var(--muted);margin-left:5px;letter-spacing:0}.metric>p{color:var(--muted);font-size:11px;margin:13px 0}.metric>p b{color:var(--text);font-weight:600}.trend{font-size:10px;color:var(--muted);text-transform:none;letter-spacing:0}.trend--up{color:var(--green)}.metric__icon{font-size:10px;color:var(--green)}.tag{border:1px solid rgba(137,214,163,.2);background:rgba(137,214,163,.08);padding:6px 8px;border-radius:30px;color:var(--green);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.tag--muted{color:var(--muted);border-color:var(--line);background:transparent}.bar{margin-top:19px}.wind-row{display:flex;justify-content:space-between;align-items:center}.compass{border:1px solid var(--line);width:43px;height:43px;border-radius:50%;display:grid;place-items:center;color:var(--green);background:rgba(137,214,163,.05)}.compass span{transition:transform .6s;font-size:20px}.pressure-scale,.uv-scale{height:4px;border-radius:4px;margin-top:23px;background:linear-gradient(90deg,var(--amber),var(--green),var(--blue));position:relative}.pressure-scale i,.uv-scale i{position:absolute;top:50%;left:50%;width:9px;height:9px;border:2px solid var(--text);border-radius:50%;transform:translate(-50%,-50%);background:var(--bg)}.rain-drops{height:20px;display:flex;align-items:end;gap:6px}.rain-drops i{display:block;width:4px;border-radius:5px;background:var(--blue);opacity:.25}.rain-drops i:nth-child(2n){height:14px}.rain-drops i:nth-child(2n+1){height:7px}
.section-heading h2,.webcam-card h2,.next-card h2,.contact-intro h2{font:700 clamp(28px,3vw,42px)/1.1 var(--font-display);letter-spacing:-.04em;margin:0}.segmented{display:flex;padding:4px;background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:100px}.segmented button{border:0;background:transparent;color:var(--muted);padding:9px 15px;border-radius:100px;font:500 11px var(--font-body);cursor:pointer}.segmented button.is-active{background:rgba(137,214,163,.13);color:var(--green)}.chart-card header,.webcam-card>header{display:flex;justify-content:space-between;align-items:start;gap:16px}.chart-card header span:first-child{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.chart-card header strong{display:block;font:700 24px var(--font-display);margin-top:7px}.data-note{color:var(--muted);font-size:11px;margin:15px 5px;display:flex;gap:9px}.data-note span{display:grid;place-items:center;width:17px;height:17px;border:1px solid var(--line-bright);border-radius:50%;color:var(--green);flex:none}
.insights-section{padding-top:70px}.insights-heading{margin-bottom:22px}.history-source{text-align:right;display:grid;gap:7px;color:var(--muted);font-size:11px}.history-source a{color:var(--green);text-decoration:none}.history-source a:hover{text-decoration:underline}.insight-card{padding:22px;min-height:205px;box-shadow:none;position:relative;overflow:hidden}.insight-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:var(--green);opacity:.025;right:-45px;bottom:-65px}.insight-card__head{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.insight-card__head i{font-style:normal;color:var(--green);font-size:9px}.extremes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:29px}.extremes>div+div{border-left:1px solid var(--line);padding-left:16px}.extremes small,.extremes span{display:block;color:var(--muted);font-size:9px}.extremes strong{display:block;font:700 31px var(--font-display);letter-spacing:-.05em;margin:7px 0}.change-list{margin-top:24px}.change-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.change-list b{font-size:11px;color:var(--text)}.change-list b.is-up{color:var(--green)}.change-list b.is-down{color:var(--blue)}.big-stat{margin-top:27px}.big-stat strong{display:block;font:700 37px var(--font-display);letter-spacing:-.05em}.big-stat strong small{font:500 10px var(--font-body);color:var(--muted);letter-spacing:0}.big-stat>span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.big-stat--rain strong{color:var(--blue)}.insight-card>p{position:absolute;left:22px;bottom:16px;color:var(--muted);font-size:10px}.insight-card>p b{color:var(--text)}
.forecast-section{padding-top:70px}.forecast-heading{margin-bottom:22px}.forecast-source{text-align:right;display:grid;gap:7px;color:var(--muted);font-size:11px}.forecast-source a,.source-link{color:var(--green);text-decoration:none}.forecast-overview{margin-bottom:16px}.forecast-lead,.forecast-stat{padding:24px;box-shadow:none}.forecast-lead{background:linear-gradient(125deg,rgba(35,72,55,.8),rgba(11,27,22,.72))}.forecast-kicker,.forecast-stat>span{display:block;color:var(--green);font-size:9px;text-transform:uppercase;letter-spacing:.11em}.forecast-lead strong{display:block;font:700 23px var(--font-display);margin:18px 0 9px;letter-spacing:-.03em}.forecast-lead p,.forecast-stat p{color:var(--muted);font-size:10px;line-height:1.5;margin:0}.forecast-stat strong{display:block;font:700 30px var(--font-display);letter-spacing:-.05em;margin:20px 0 8px}.forecast-stat strong small{font:500 10px var(--font-body);color:var(--muted);letter-spacing:0}.forecast-subheading{display:flex;justify-content:space-between;align-items:end;margin:28px 4px 12px;color:var(--muted);font-size:9px}.forecast-subheading>div>span{display:block;color:var(--text);font-size:12px;font-weight:600}.forecast-subheading small{display:block;margin-top:3px}.forecast-strip{box-shadow:none;background:rgba(12,28,23,.62)}.forecast-strip::-webkit-scrollbar,.daily-forecast::-webkit-scrollbar{height:5px}.forecast-strip::-webkit-scrollbar-thumb,.daily-forecast::-webkit-scrollbar-thumb{background:var(--line-bright);border-radius:10px}.forecast-item{flex:1 0 158px;min-width:158px;scroll-snap-align:start;padding:23px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:11px;transition:background .2s}.forecast-item:last-child{border-right:0}.forecast-item:hover{background:rgba(137,214,163,.045)}.forecast-item.is-now{background:linear-gradient(180deg,rgba(137,214,163,.1),transparent)}.forecast-item__time{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.forecast-item__time i{width:6px;height:6px;background:var(--green);border-radius:50%}.forecast-item__condition{display:flex;align-items:center;gap:9px}.forecast-symbol{font-size:24px;line-height:1}.forecast-item__condition b{font-size:11px;font-weight:600}.forecast-item__temp{font:700 27px var(--font-display);letter-spacing:-.04em}.forecast-item__meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.forecast-item__meta b{color:var(--blue);font-weight:600}.forecast-mini-rain{height:2px;background:rgba(119,183,200,.12);border-radius:3px;overflow:hidden}.forecast-mini-rain span{display:block;height:100%;background:var(--blue)}.forecast-loading{grid-column:1/-1;display:grid;place-items:center;width:100%;min-height:178px;color:var(--muted);font-size:12px}.forecast-disclaimer{margin:12px 5px 0;color:var(--muted);font-size:10px}.source-link{display:inline-block;margin-top:8px;font-size:10px;letter-spacing:.04em}.source-link:hover,.forecast-source a:hover{text-decoration:underline}
.day-card{min-width:0;padding:18px;box-shadow:none;border-radius:18px;transition:transform .2s,border-color .2s}.day-card:hover{transform:translateY(-3px);border-color:var(--line-bright)}.day-card.is-today{background:linear-gradient(160deg,rgba(137,214,163,.11),rgba(10,25,20,.68))}.day-card header{display:flex;align-items:flex-start;justify-content:space-between}.day-card header span,.day-card header small{display:block}.day-card header span{font-size:11px;text-transform:capitalize;font-weight:600}.day-card header small{color:var(--muted);font-size:9px;margin-top:3px}.day-card header i{font-style:normal;font-size:24px}.day-card>strong{display:block;color:var(--muted);font-size:9px;font-weight:500;margin-top:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-card__temps{display:flex;align-items:baseline;gap:8px;margin:8px 0 17px}.day-card__temps b{font:700 27px var(--font-display)}.day-card__temps span{color:var(--blue);font-size:12px}.day-card__details{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:6px;color:var(--muted);font-size:9px}.day-card__details span{display:flex;justify-content:space-between}.day-card__details b{color:var(--blue)}
.model-comparison{padding:28px;margin-top:28px;box-shadow:none}.model-comparison>header{display:flex;justify-content:space-between;align-items:start}.model-comparison h3{font:700 25px var(--font-display);letter-spacing:-.04em;margin:0}.model-table{margin-top:24px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.model-row{display:grid;grid-template-columns:1.05fr repeat(4,1fr);align-items:center;gap:12px;padding:16px 18px;border-top:1px solid var(--line);font-size:11px}.model-row:first-child{border-top:0}.model-row>strong{color:var(--green);font:700 13px var(--font-display)}.model-row>span small,.model-row>span b{display:block}.model-row>span small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.model-row--head{background:rgba(255,255,255,.02);color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em}.model-row--head>strong{font:600 8px var(--font-body);color:var(--muted)}.model-reading{color:var(--muted);font-size:10px;line-height:1.5;margin:14px 2px 0}
.webcam-frame{position:relative;overflow:hidden;border-radius:18px;margin-top:25px;aspect-ratio:16/7.3;background:#0a1613}.webcam-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8) contrast(1.06);transition:opacity .3s}.webcam-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,10,8,.75),transparent 45%)}.webcam-overlay{position:absolute;z-index:2;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;color:var(--text);font-size:11px}.webcam-overlay span{color:var(--green)}.next-card>p:not(.eyebrow){color:var(--muted);line-height:1.55;font-size:13px}.next-card ul{list-style:none;margin:28px 0 0;padding:0}.next-card li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:17px 0;border-top:1px solid var(--line)}.next-card li>span{font:700 11px var(--font-display);color:var(--green)}.next-card li b,.next-card li small{display:block}.next-card li b{font-size:12px}.next-card li small{color:var(--muted);font-size:10px;margin-top:3px}.next-card li i{font-style:normal;color:var(--muted);font-size:9px;text-transform:uppercase}
.contact-section{padding-top:92px}.contact-intro{background:linear-gradient(145deg,rgba(37,72,57,.76),rgba(8,20,17,.75));position:relative;overflow:hidden}.contact-intro::after{content:"";position:absolute;width:250px;height:250px;border:1px solid var(--line-bright);border-radius:50%;right:-130px;bottom:-130px;box-shadow:0 0 0 36px rgba(137,214,163,.025),0 0 0 72px rgba(137,214,163,.018)}.contact-intro>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.65;margin:22px 0}.contact-intro ul{list-style:none;padding:0;margin:30px 0 0}.contact-intro li{position:relative;z-index:1;display:grid;grid-template-columns:36px 1fr;gap:10px;padding:15px 0;border-top:1px solid var(--line)}.contact-intro li>span{color:var(--green);font:700 10px var(--font-display)}.contact-intro li b,.contact-intro li small{display:block}.contact-intro li b{font-size:11px}.contact-intro li small{color:var(--muted);font-size:9px;line-height:1.45;margin-top:4px}.contact-form{box-shadow:none}.contact-form label{display:block;margin-top:17px}.contact-form .form-grid label{margin-top:0}.contact-form label>span:first-child{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(3,12,9,.5);color:var(--text);font:500 12px var(--font-body);padding:14px 15px;outline:none;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(137,214,163,.07)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#63766f}.contact-form textarea{min-height:132px;resize:vertical}.contact-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat}.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.contact-form .consent{display:flex;align-items:flex-start;gap:10px;margin-top:18px}.contact-form .consent input{width:16px;height:16px;accent-color:var(--green);margin:1px 0 0;flex:none}.contact-form .consent span{font-size:9px!important;line-height:1.45;text-transform:none!important;letter-spacing:0!important;margin:0!important}.contact-actions{display:flex;align-items:center;gap:18px;margin-top:25px}.contact-actions button{border:0;border-radius:100px;background:var(--green);color:#07110f;padding:13px 18px;font:700 11px var(--font-body);cursor:pointer;transition:transform .2s,opacity .2s}.contact-actions button:hover{transform:translateY(-2px)}.contact-actions button:disabled{opacity:.55;cursor:wait}.contact-actions button span{margin-left:12px}.contact-actions p{margin:0;color:var(--muted);font-size:9px;line-height:1.4}.contact-actions p[data-state="success"]{color:var(--green)}.contact-actions p[data-state="error"]{color:var(--amber)}footer{color:var(--muted);font-size:11px}footer span{color:var(--text);font-weight:600}footer a{text-decoration:none;color:var(--green)}footer>div{display:flex;gap:22px}noscript{position:fixed;bottom:0;inset-inline:0;padding:12px;background:#7b352b;text-align:center}
@media (max-width:780px){.forecast-item{min-width:148px}.forecast-source,.history-source{text-align:left}.day-card{min-width:148px;scroll-snap-align:start}.model-table{overflow-x:auto}.model-row{min-width:680px}.contact-actions{align-items:flex-start;flex-direction:column}.contact-section{padding-top:64px}}
