.weather-section{padding-block:clamp(78px,9vw,132px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 92% 12%,rgba(114,184,177,.18),transparent 31rem),var(--foam)}.weather-card{width:100%}.weather-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}.weather-heading>div{max-width:760px}.weather-heading h2{margin:0;font-size:clamp(2rem,3.7vw,3.8rem);font-weight:670;letter-spacing:-.055em;line-height:1.06}.weather-lead{max-width:640px;margin:18px 0 0;color:var(--muted);font-size:1rem}.weather-updated{flex:none;margin:0;color:var(--muted);font-size:.74rem}.weather-shell{overflow:hidden;border:1px solid var(--line);background:#ffffffd1;box-shadow:0 28px 70px #082c361a}.weather-loading,.weather-error{display:flex;min-height:220px;align-items:center;justify-content:center;gap:16px;padding:32px;color:var(--muted)}.weather-loading[hidden],.weather-error[hidden],.weather-content[hidden]{display:none}.weather-loading strong,.weather-error strong{color:var(--ocean-deep);font-size:.95rem}.weather-loading p,.weather-error p{margin:3px 0 0;font-size:.8rem}.weather-error>span{display:grid;width:48px;height:48px;flex:none;place-items:center;background:var(--warning-soft);color:var(--warning)}.weather-error svg{width:27px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7}.weather-error a,.weather-footer a{color:var(--ocean);font-weight:800}.weather-loading-icon{width:40px;height:40px;border:4px solid rgba(23,121,138,.14);border-top-color:var(--ocean);border-radius:50%;animation:weather-spin .9s linear infinite}@keyframes weather-spin{to{transform:rotate(360deg)}}.weather-summary{display:grid;padding:30px 32px 20px;grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:18px}.weather-current{display:flex;min-width:0;align-items:center;gap:18px}.weather-icon{font-size:clamp(3.7rem,7vw,5.4rem);line-height:1;filter:drop-shadow(0 7px 12px rgba(8,44,54,.12))}.weather-condition{margin:0 0 2px;color:var(--muted);font-size:.86rem;font-weight:700}.weather-temperature{display:flex;align-items:baseline;gap:12px}.weather-temperature>strong{color:var(--ocean-deep);font-size:clamp(3.1rem,6vw,4.7rem);font-weight:680;letter-spacing:-.07em;line-height:1}.weather-temperature span{color:var(--muted);font-size:.76rem;white-space:nowrap}.weather-temperature b{color:var(--ocean-deep)}.weather-advice{display:grid;padding:18px 20px;border:1px solid rgba(23,121,138,.23);background:#72b8b11a;grid-template-columns:12px 1fr;align-items:center;gap:14px}.weather-advice-dot{width:11px;height:11px;border-radius:50%;background:var(--ocean);box-shadow:0 0 0 5px #17798a1f}.weather-advice strong{color:var(--ocean-deep);font-size:.95rem}.weather-advice p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.65}.weather-advice[data-level=watch]{border-color:#c28b3059;background:#fff8e8}.weather-advice[data-level=watch] .weather-advice-dot{background:#c28b30;box-shadow:0 0 0 5px #c28b3024}.weather-advice[data-level=avoid]{border-color:#c66f4861;background:#fff3ef}.weather-advice[data-level=avoid] .weather-advice-dot{background:var(--warning);box-shadow:0 0 0 5px #c66f4826}.weather-metrics{display:grid;margin:0;padding:0 32px 26px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.weather-metrics div{padding:14px 15px;background:var(--sand)}.weather-metrics dt{color:var(--muted);font-size:.68rem}.weather-metrics dd{margin:3px 0 0;color:var(--ocean-deep);font-size:.94rem;font-weight:750}.weather-days{display:grid;margin:0;padding:0;border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none}.weather-days li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 23px;border-right:1px solid var(--line)}.weather-days li:last-child{border-right:0}.weather-days li>div{display:grid}.weather-days li>div:last-child{text-align:right}.weather-days strong{color:var(--ocean-deep);font-size:.84rem}.weather-days span{margin-top:2px;color:var(--muted);font-size:.68rem}.weather-days li>div:last-child span{color:var(--ocean);font-weight:700}.weather-footer{display:flex;justify-content:space-between;gap:24px;padding:12px 23px;border-top:1px solid var(--line);background:#f2ede394;color:var(--muted);font-size:.66rem}.weather-footer p{margin:0}.weather-more{display:inline-flex;align-items:center;gap:14px;margin-top:18px;padding-bottom:3px;border-bottom:1px solid var(--line);color:var(--ocean);font-size:.82rem;font-weight:800}.weather-more:hover{color:var(--ocean-deep)}@media(max-width:820px){.weather-section{padding-block:76px}.weather-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:28px}.weather-heading h2{font-size:clamp(2.05rem,9vw,3.2rem)}.weather-summary{padding:23px 20px 18px;grid-template-columns:1fr}.weather-current{gap:13px}.weather-icon{font-size:3.5rem}.weather-temperature>strong{font-size:3.3rem}.weather-metrics{padding:0 20px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.weather-days{grid-template-columns:1fr}.weather-days li{border-right:0;border-bottom:1px solid var(--line)}.weather-days li:last-child{border-bottom:0}.weather-footer{align-items:flex-start;flex-direction:column;gap:6px}}
