.weather-hero{background:var(--cream,#faf7f0);border-bottom:1px solid var(--line,#e5e9e2);padding:28px 0 38px}
.weather-hero h1{font-family:Manrope,sans-serif;font-size:clamp(30px,4vw,48px);line-height:1.18;margin:18px 0;color:var(--forest,#164b3c)}
.weather-hero h1 em{color:var(--orange,#e97542);font-style:normal}.weather-hero p{max-width:640px;line-height:1.7;color:#59675e}.weather-hero .breadcrumb{margin-bottom:28px}
.weather-search{max-width:620px;margin:28px 0 18px}.weather-search label{display:block;font-weight:650;margin-bottom:10px}.weather-search>div{display:flex;gap:10px}.weather-search input{flex:1;min-width:0;background:white;border:1px solid #c6d1c9;border-radius:8px;padding:14px 16px;font:inherit}.weather-favorite-link{font-size:13px;color:var(--forest,#164b3c)}
.weather-directory,.weather-detail{padding-top:36px;padding-bottom:28px}.weather-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.weather-city-grid>a{display:flex;align-items:center;gap:16px;border:1px solid var(--line,#e5e9e2);border-radius:12px;padding:22px;background:white}.weather-city-grid>a:hover{border-color:var(--forest,#164b3c);background:#f5faf6}.weather-city-grid>a>span:first-child{font-size:28px}.weather-city-grid>a>span:last-child{margin-left:auto}.weather-city-grid h3{margin:0 0 6px;font-size:17px}.weather-city-grid div>span{font-size:12px;color:#647168}
.weather-city-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.weather-city-heading .button{flex-shrink:0}.weather-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px}.weather-now,.weather-rain{border:1px solid var(--line,#e5e9e2);border-radius:16px;padding:30px}.weather-now{background:var(--forest,#164b3c);color:white}.weather-now .eyebrow{color:#c6dfd1}.weather-temperature{display:flex;align-items:center;gap:24px;margin:20px 0 12px}.weather-temperature>span{font-size:64px}.weather-temperature strong{font-size:64px;line-height:1}.weather-temperature small{font-size:24px;font-weight:500}.weather-now h2,.weather-rain h2{font-size:23px;margin:14px 0}.weather-now p{color:#daeadf}.weather-facts{display:flex;gap:28px;border-top:1px solid #ffffff40;margin-top:24px;padding-top:22px;font-size:13px}.weather-facts strong{display:block;margin-top:8px;font-size:18px}.weather-rain{background:#f3f8f2}.weather-rain p{line-height:1.6}.weather-rain .weather-rain-number{font-size:44px;font-weight:750;color:var(--forest,#164b3c);margin:10px 0}.weather-window{border-top:1px solid #d5e2d7;padding-top:16px}.weather-window strong{font-size:20px}.weather-rain small{color:#5c695e;font-size:12px}
.weather-section{margin-top:38px}.weather-hourly{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px}.weather-hourly article{position:relative;flex:0 0 100px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 10px;border:1px solid var(--line,#e5e9e2);border-radius:12px}.weather-hourly article>span:not(.sr-only){font-size:28px}.weather-hourly time{font-size:13px;color:#59675e}.weather-hourly small{font-size:12px;color:#315b75}.weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.weather-days article{border:1px solid var(--line,#e5e9e2);border-radius:12px;padding:20px 12px;display:flex;flex-direction:column;gap:12px;text-align:center}.weather-days article>div{display:flex;flex-direction:column;gap:5px}.weather-days time,.weather-days small{font-size:12px;color:#59675e}.weather-day-symbol{font-size:30px}.weather-days p{font-size:12px;margin:0;min-height:32px}.weather-minimum{font-weight:400;color:#647168}.weather-days .weather-weekend{background:#fff7ed;border-color:#edc9a8}
.weather-source{font-size:12px;color:#647168;line-height:1.8;margin-top:22px;margin-bottom:30px}.weather-source a{text-decoration:underline}.weather-notice{background:#fff3db;border:1px solid #e5c98d;padding:16px;border-radius:10px;line-height:1.6}.weather-unavailable{padding:42px 20px;text-align:center;background:#f5f8f4;border-radius:14px;grid-column:1/-1}.weather-unavailable>span{font-size:54px}.weather-unavailable p{line-height:1.7;max-width:600px;margin:16px auto}
.weather-local-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;border-top:1px solid var(--line,#e5e9e2);padding-top:30px;padding-bottom:20px}.weather-local-info h2{font-size:22px}.weather-local-info p{line-height:1.7;color:#59675e;max-width:560px}
@media(max-width:960px){.weather-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-days{grid-template-columns:repeat(4,minmax(0,1fr))}.weather-city-heading{align-items:flex-start;flex-direction:column}.weather-city-heading .button{margin-bottom:16px}}
@media(max-width:640px){.weather-city-grid{grid-template-columns:1fr}.weather-overview,.weather-local-info{grid-template-columns:1fr}.weather-now,.weather-rain{padding:24px}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-search>div{flex-direction:column}.weather-section .section-heading{align-items:flex-start;gap:8px}.weather-section .section-heading h2{font-size:21px}.weather-hourly article{flex-basis:90px}}
.weather-summary{margin-bottom:28px;max-width:850px}.weather-summary h2{font-size:23px;color:var(--forest,#164b3c)}.weather-summary p,.weather-reading-guide p,.weather-region-directory>p{line-height:1.8;color:#59675e;font-size:14px}.weather-reading-guide{border-top:1px solid var(--line,#e5e9e2);padding-top:28px;padding-bottom:32px}.weather-reading-guide h2{font-size:23px;margin-bottom:16px}.weather-reading-guide details{border-bottom:1px solid var(--line,#e5e9e2);padding:18px 0}.weather-reading-guide summary{font-size:14px;font-weight:650;cursor:pointer;line-height:1.6}.weather-reading-guide details p{max-width:850px;margin:16px 0 0}.weather-reading-guide a{text-decoration:underline}.weather-nearby{padding-bottom:38px}.weather-nearby nav,.weather-region-navigation{display:flex;flex-wrap:wrap;gap:10px}.weather-nearby nav a,.weather-region-navigation a{padding:10px 14px;border:1px solid var(--line,#e5e9e2);border-radius:8px;font-size:13px}.weather-nearby a:hover,.weather-region-directory nav a:hover{background:#f3f8f2;text-decoration:underline}.weather-region-directory{padding-bottom:40px}.weather-region-navigation{margin:24px 0}.weather-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.weather-region-grid>section{padding:20px;border:1px solid var(--line,#e5e9e2);border-radius:12px;scroll-margin-top:24px}.weather-region-grid h3{font-size:17px;margin:0 0 14px;color:var(--forest,#164b3c)}.weather-region-grid nav{display:flex;flex-direction:column;gap:3px}.weather-region-grid a{font-size:13px;padding:6px 0}
@media(max-width:960px){.weather-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.weather-region-grid{grid-template-columns:1fr}.weather-nearby .section-heading{flex-direction:column;align-items:flex-start;gap:10px}.weather-nearby nav a,.weather-region-navigation a,.weather-region-grid a{min-height:44px;display:inline-flex;align-items:center}.weather-section .section-heading h2{overflow-wrap:anywhere}.weather-summary h2,.weather-reading-guide h2{font-size:21px}}
