/* Photographic, generated Vermont-inspired scenery. Decorative only. */
.iload-weather-host{position:relative!important;overflow:hidden;isolation:isolate}
.iload-weather-host>.iload-weather-scene{position:absolute;inset:0;z-index:0}
.iload-weather-host.splash-scene>:not(.iload-weather-scene),.iload-weather-host.banner-art>:not(.iload-weather-scene),.iload-weather-host.detail-art>:not(.iload-weather-scene){opacity:0!important;pointer-events:none!important}
.iload-weather-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:paint;background:#273d3e;font-family:system-ui,sans-serif}
.iload-weather-scene *{box-sizing:border-box}
.iload-scene-landscape{position:absolute;inset:0;background:center 58%/cover no-repeat url('/images/scenes/summer.webp');transition:filter 1.2s ease}
.iload-weather-scene[data-season="autumn"] .iload-scene-landscape{background-image:url('/images/scenes/autumn.webp')}
.iload-weather-scene[data-season="winter"] .iload-scene-landscape{background-image:url('/images/scenes/winter.webp')}
.iload-weather-scene[data-season="spring"] .iload-scene-landscape{background-image:url('/images/scenes/spring.webp')}
.iload-scene-atmosphere{position:absolute;inset:0;background:linear-gradient(180deg,#dce7eb12,transparent 60%);transition:background 1s}
.iload-weather-scene[data-weather="rain"] .iload-scene-landscape,.iload-weather-scene[data-weather="storm"] .iload-scene-landscape{filter:saturate(.65) brightness(.72)}
.iload-weather-scene[data-weather="fog"] .iload-scene-atmosphere{background:linear-gradient(180deg,#d9e3e6aa,#d9e3e655 65%,#d9e3e622)}
.iload-weather-scene[data-weather="snow"] .iload-scene-atmosphere{background:linear-gradient(180deg,#dce6eb55,#e3ebee15)}
.iload-weather-scene[data-light="night"] .iload-scene-landscape{filter:saturate(.5) brightness(.48)}
.iload-weather-scene[data-light="night"] .iload-scene-atmosphere{background:linear-gradient(180deg,#06172f66,#0b1d3033 60%,#02091355);mix-blend-mode:multiply}
.iload-weather-scene[data-light="night"][data-weather="fog"] .iload-scene-atmosphere{background:linear-gradient(180deg,#65748966,#66778233);mix-blend-mode:normal}
.iload-weather-particles{position:absolute;inset:0;overflow:hidden}
.iload-particle{display:none;position:absolute;left:var(--x);top:-10%;opacity:.32;will-change:transform;animation-delay:var(--delay);animation-iteration-count:infinite;animation-timing-function:linear}
.iload-weather-scene[data-weather="rain"] .iload-particle,.iload-weather-scene[data-weather="storm"] .iload-particle{display:block;width:1px;height:28px;background:linear-gradient(transparent,#d8e8f0);animation-name:iload-rain;animation-duration:.85s}
.iload-weather-scene[data-weather="snow"] .iload-particle{display:block;width:var(--size);height:var(--size);background:#fff;border-radius:50%;opacity:.75;animation-name:iload-snow;animation-duration:var(--speed)}
.iload-scene-tag{position:absolute;bottom:8%;left:3%;padding:5px 9px;font-size:10px;font-weight:600;letter-spacing:.13em;background:#102420b3;color:#fff;border-radius:4px}
@keyframes iload-rain{from{transform:translate(0,-30px) rotate(12deg)}to{transform:translate(-90px,100vh) rotate(12deg)}}
@keyframes iload-snow{from{transform:translate(0,-10px)}to{transform:translate(var(--drift),100vh)}}
.iload-weather-host.home-hero>.iload-weather-scene{opacity:.5}
.iload-weather-host.home-hero>:not(.iload-weather-scene){position:relative;z-index:2}
.hero>.seasonal-hero-art{position:absolute!important;inset:0;z-index:0;pointer-events:none}
.hero:before{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(15,20,25,.87),rgba(15,20,25,.65) 48%,rgba(15,20,25,.12))}
.hero>.hero-content{z-index:2}
.seasonal-hero-art .iload-scene-tag{display:none}
@media(max-width:620px){.hero:before{background:linear-gradient(90deg,#0f141bd9,#0f141b99)}.iload-scene-landscape{background-position:60% center}}
@media(prefers-reduced-motion:reduce){.iload-weather-scene *{animation:none!important;transition:none!important}.iload-particle{display:none!important}}
/* Weather reference: deep sky, fine stars, drifting haze and frosted cards. */
.iload-stars,.iload-cloud-veil{position:absolute;inset:0;pointer-events:none;opacity:0}
.iload-weather-scene[data-light="night"] .iload-stars{opacity:.8;background-image:radial-gradient(1px 1px at 12% 16%,#fff 90%,transparent),radial-gradient(1px 1px at 38% 43%,#e0e7ff 90%,transparent),radial-gradient(1.5px 1.5px at 72% 21%,#fff 80%,transparent),radial-gradient(1px 1px at 91% 62%,#fff 90%,transparent),radial-gradient(1px 1px at 57% 79%,#fff 80%,transparent);background-size:173px 211px,239px 197px,317px 271px,263px 329px,349px 183px;mask-image:linear-gradient(#000 20%,transparent 80%)}
.iload-weather-scene[data-light="night"] .iload-scene-atmosphere{background:linear-gradient(#070b27e6,#151b3da6 45%,#09152b44);mix-blend-mode:normal}
.iload-cloud-veil{background:repeating-linear-gradient(164deg,transparent 0 11%,#a2abc917 14%,transparent 19% 26%);filter:blur(15px);transform:scale(1.2);animation:iload-cloud-drift 45s ease-in-out infinite alternate}
.iload-weather-scene[data-light="night"] .iload-cloud-veil,.iload-weather-scene[data-weather="clouds"] .iload-cloud-veil{opacity:.8}
.iload-weather-scene[data-weather="rain"] .iload-stars,.iload-weather-scene[data-weather="storm"] .iload-stars,.iload-weather-scene[data-weather="snow"] .iload-stars,.iload-weather-scene[data-weather="fog"] .iload-stars{opacity:0}
.iload-weather-scene[data-weather="clouds"] .iload-stars{opacity:.2}
@keyframes iload-cloud-drift{to{transform:scale(1.25) translateX(4%)}}
.iload-forecast{position:relative;isolation:isolate;overflow:hidden;background:#10172f;color:white;padding:54px 24px}
.forecast-sky{position:absolute!important;inset:0;z-index:-1}.forecast-sky .iload-scene-landscape{opacity:.12}.forecast-sky .iload-scene-tag{display:none}
.forecast-layout{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:48px}
.forecast-current{text-align:center}.forecast-kicker{font-size:10px;letter-spacing:.18em;color:#d8e0f3}.forecast-current h2{font-size:38px;font-weight:500;letter-spacing:-.03em;margin:16px 0 0}.forecast-temperature{font-size:100px;font-weight:200;line-height:1.15;letter-spacing:-.07em}.forecast-current p{font-size:18px;margin:4px 0 10px}.forecast-note{font-size:12px;color:#d8dff0}
.forecast-glass{padding:26px;border-radius:26px;background:#53638938;border:1px solid #ffffff18;backdrop-filter:blur(18px);box-shadow:0 12px 40px #060c231a}.forecast-glass h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:#d5def2;margin:0 0 12px}.forecast-glass p{font-size:16px;line-height:1.5;margin:0 0 22px}.forecast-hours{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;border-top:1px solid #ffffff25;padding:20px 0}.forecast-hour{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}.forecast-hour b{font-size:13px;white-space:nowrap}.forecast-icon{font-size:32px;height:40px;line-height:40px}.forecast-hour strong{font-size:22px}.forecast-hour small{font-size:10px;color:#b8e8ff}.forecast-condition{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.forecast-glass a{font-size:12px;color:#dce8ff;text-underline-offset:4px}.iload-forecast[data-light="day"]{background:#365875}
@media(max-width:700px){.forecast-layout{grid-template-columns:1fr;gap:30px}.iload-forecast{padding:40px 18px}.forecast-glass{padding:22px 16px;border-radius:24px}.forecast-current h2{font-size:36px}.forecast-temperature{font-size:96px}.forecast-hours{gap:5px}}
