/* Reference composition: real paper artwork surrounds live, accessible weather. */
body:has(.weather-page){background:#faf8f0}
main:has(.weather-page){max-width:1180px;padding:0 32px;margin:14px auto 22px;overflow:visible}
.weather-page{--ink:#073d29;--panel:url('/images/weather/autumn-panel.png');position:relative;isolation:isolate;min-height:920px;padding:20px 170px 34px 150px;border-radius:26px;background:#c8e9ca var(--panel) center/100% 100% no-repeat;color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.18}
.weather-season-spring{--panel:url('/images/weather/spring-panel.png')}.weather-season-summer{--panel:url('/images/weather/summer-panel.png')}.weather-season-winter{--panel:url('/images/weather/winter-panel.png')}
.weather-page *{box-sizing:border-box}.weather-page [hidden]{display:none!important}.weather-board-content{position:relative;z-index:2;min-width:0}.weather-season-edge,.weather-season-corner,.weather-photo-postmark,.weather-hero-tape,.weather-corner-fold,.weather-note-tape,.weather-plan-tape{display:none}
.weather-page h1{font:700 48px/1.07 Georgia,serif;letter-spacing:-1.2px;white-space:nowrap;margin:0 0 4px}.weather-heading{position:static;height:79px;margin-left:50px}.weather-heading p{font:italic 24px/1.2 Georgia,serif;margin:0;white-space:nowrap}
.weather-location{position:absolute;right:0;top:0;display:flex;align-items:center;font:17px Georgia,serif}.weather-location label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.weather-location>div{display:flex;align-items:center;gap:4px}.weather-page .weather-location select{border:0;background:transparent;padding:2px 0 2px 19px;color:var(--ink);width:122px;font:17px Georgia,serif;min-height:32px}.weather-location::before{content:'⌖';position:absolute;left:0;font-size:21px}.weather-page .weather-location button{border:0;background:transparent;color:var(--ink);font-size:0;padding:4px;min-width:27px}.weather-location button::before{content:'↻';font-size:22px}
.weather-season-tag{text-transform:uppercase;position:absolute;left:77px;top:25px;z-index:4;padding:8px 15px;transform:rotate(-8deg);background:#f9db72 url('/images/button-paper-grain.svg');font:bold 26px Georgia,serif;box-shadow:0 4px 5px #2f493426;clip-path:polygon(2% 0,20% 3%,40% 0,60% 3%,80% 0,98% 2%,100% 18%,98% 38%,100% 60%,98% 80%,100% 98%,80% 100%,60% 97%,40% 100%,20% 97%,0 100%,2% 80%,0 60%,2% 40%,0 20%)}
.weather-nature-photo{position:absolute;z-index:5;left:-43px;top:109px;width:250px;margin:0;transform:rotate(-6deg);filter:drop-shadow(0 5px 3px #31472842)}.weather-stamp{padding:12px;background:#fff8d8;mask:url('/images/weather/stamp-edge.svg') center/100% 100%;height:310px}.weather-stamp img{display:block;width:100%;height:100%;object-fit:cover}.weather-nature-photo::before{content:'';position:absolute;z-index:2;left:54px;top:-13px;width:102px;height:33px;background:#d3b97ab5 url('/images/button-paper-grain.svg');transform:rotate(-8deg);clip-path:polygon(0 7%,100% 0,98% 100%,2% 94%)}.weather-nature-photo figcaption{font:10px/1.2 system-ui,sans-serif;margin:6px 12px;color:#526b53}
.weather-paper{position:relative;isolation:isolate;min-width:0;filter:drop-shadow(0 5px 3px #25483026)}.weather-paper::before{content:'';position:absolute;inset:-5px;z-index:-1;background:url('/images/weather/reference-paper.png') center/100% 100% no-repeat;pointer-events:none}.weather-yellow::before{background:#ffe78b url('/images/scrap-paper-yellow.webp') center/100% 100%;mask:url('/images/weather/torn-sheet.svg') center/100% 100%;filter:saturate(1.18)}
.weather-today{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:center;gap:18px;width:735px;height:250px;margin:10px 0 0 10px;padding:0 22px 0 52px}.weather-meter{display:flex;align-items:center;justify-content:center}.weather-dial{position:relative;flex:none;width:270px;height:270px;border:9px solid #fff5d9;border-radius:50%;box-shadow:0 4px 5px #584f2f35;background:conic-gradient(#fff0aa 0deg 90deg,#ffd250 90deg 180deg,#c6e48c 180deg 270deg,#9bd2b2 270deg 360deg)}.weather-dial::before{content:'';position:absolute;inset:-12px;background:#fff4d7;mask:url('/images/weather/hand-cut-circle.svg') center/100% 100%;z-index:-1}.weather-dial-slices{position:absolute;inset:0;border-radius:50%;overflow:hidden;background: url('/images/button-paper-grain.svg')}.weather-dial-slices::before,.weather-dial-slices::after{content:'';position:absolute;background:#fff8e5;opacity:.9}.weather-dial-slices::before{width:1px;height:100%;left:50%}.weather-dial-slices::after{height:1px;width:100%;top:50%}.weather-quarter{position:absolute;text-align:center;width:91px;font:700 19px/1.05 Georgia,serif}.weather-quarter-icon{display:block;width:40px;height:40px;margin:0 auto 2px}.quarter-cozy{left:15px;top:30px}.quarter-some{right:12px;top:25px}.quarter-light{left:15px;bottom:25px}.quarter-sun{right:12px;bottom:25px}.weather-needle{position:absolute;width:8px;height:61px;left:calc(50% - 4px);top:calc(50% - 61px);background:linear-gradient(90deg,#1b665c,#367c68);transform-origin:50% 100%;z-index:3;filter:drop-shadow(1px 2px 1px #244f4460);transition:transform .4s}.weather-needle::before{content:'';position:absolute;top:-13px;left:-6px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:21px solid #205f50}.weather-dial::after{content:'';position:absolute;left:calc(50% - 12px);top:calc(50% - 12px);width:24px;height:24px;background:#347365;border:1px solid #154f42;border-radius:50%;box-shadow:1px 2px 3px #254c4255;z-index:4}
.weather-today-copy{position:relative;border-left:1px solid #748767;padding:0 0 0 40px;min-height:185px}.weather-page .weather-temperature{font:700 100px/.9 Georgia,serif;margin:0 0 4px;letter-spacing:-5px}.weather-temperature::after{content:'';position:absolute;width:60px;height:65px;right:3px;top:-15px;background:url('/images/weather/sun-rays.svg') center/contain no-repeat}.weather-page .weather-message{font:700 20px/1.1 Georgia,serif;margin:0;max-width:275px}.weather-eyebrow,#weatherLevel,.weather-temperature small,.weather-today-copy>.weather-small,.weather-part-time,.weather-daypart>.weather-small,#weatherLightShare,.weather-week-title+.weather-small,#weatherStatus:not(.weather-status-notice){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.weather-status-notice{background:#fff0bf;padding:16px;font:15px/1.5 system-ui;position:relative;z-index:7}
.weather-clothesline{position:relative;z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 25px 0;padding-top:4px;width:720px}.weather-clothesline::before{content:'';position:absolute;left:-140px;right:-110px;top:-34px;height:45px;background:url('/images/category-rope.svg') center/100% 100% no-repeat}.weather-daypart{height:112px;text-align:center;padding:16px 10px 7px;transform:rotate(-1deg)}.weather-daypart:nth-child(2){transform:rotate(.8deg)}.weather-daypart:nth-child(3){transform:rotate(-.5deg)}.weather-pin{content:'';position:absolute;width:28px;height:59px;top:-37px;left:calc(50% - 14px);object-fit:contain;z-index:8;filter:drop-shadow(2px 3px 1px #624f2d35)}.weather-daypart h3{font:700 23px/1 Georgia,serif;margin:0 auto 3px;max-width:190px;min-height:39px;display:flex;align-items:center;justify-content:center}.weather-part-value{display:flex;align-items:center;justify-content:center;gap:10px}.weather-part-value strong{font:700 36px/1 Georgia,serif}.weather-drawn-icon{display:block;width:40px;height:40px}.weather-part-value .weather-drawn-icon{width:46px;height:46px}
.weather-light-comparison{margin:20px 0 0;padding:10px 28px;min-height:80px;display:grid;grid-template-columns:1fr auto;gap:9px 12px;align-items:center}.weather-light-numbers{display:flex;gap:20px;white-space:nowrap}.weather-light-numbers p{margin:0;font:700 24px/1.2 Georgia,serif}.weather-light-numbers p+p{padding-left:20px;border-left:1px solid #8b782d}.weather-light-track{grid-column:1/-1;grid-row:2;height:16px;border-radius:10px;background:#a0bf98;box-shadow:inset 0 1px 1px #fff9;overflow:hidden;border:1px solid #fffa}.weather-light-track span{display:block;height:100%;border-radius:10px;background:linear-gradient(#ffc727,#e6aa04);box-shadow:inset 0 1px 2px #fff7}.weather-page #weatherDaylight{margin:0;font:14px/1.2 Georgia,serif;white-space:nowrap;grid-column:2;grid-row:1}
.weather-page .weather-week-title{font:700 40px/1.1 Georgia,serif;margin:12px 10px 5px;letter-spacing:-.6px}.weather-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:0 10px}.weather-page .weather-week button{position:relative;isolation:isolate;border:0;border-radius:0;background:transparent;color:var(--ink);height:94px;padding:7px 5px;cursor:pointer;filter:drop-shadow(0 4px 2px #24482e26);font:700 19px/1 Georgia,serif}.weather-week button::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/images/weather/reference-paper.png') center/100% 100% no-repeat}.weather-week button[aria-pressed=true]::before{background:#ffedab url('/images/scrap-paper-yellow.webp') center/100% 100%;mask:url('/images/weather/torn-note.svg') center/100% 100%}.weather-week button strong,.weather-week button b{display:block}.weather-week button strong{text-transform:capitalize}.weather-week button b{font-size:23px}.weather-week button>span:not(.weather-day-icon){display:none}.weather-day-icon{display:block;margin:2px auto;width:34px;height:34px}.weather-day-icon svg{width:34px;height:34px}
.weather-plans{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin:12px -24px 0 60px}.weather-plans section{padding:12px 15px 12px 80px;min-height:100px;transform:rotate(-.5deg)}.weather-plans section+section{transform:rotate(.6deg)}.weather-plans section::after{content:'';position:absolute;left:22px;top:19px;width:44px;height:52px;background:url('/images/weather/icons.svg#leaf') center/contain no-repeat}.weather-plans section+section::after{background-image:url('/images/weather/cup.svg')}.weather-plans section:first-child::after{background-image:url('/images/weather/leaf.svg')}.weather-page .weather-plans h2{font:700 23px/1.05 Georgia,serif;margin:0 0 5px;white-space:nowrap}.weather-plans p{font:italic 17px/1.15 Georgia,serif;margin:0}.weather-plans a{font:12px Georgia,serif;display:inline-block;margin-top:6px}
.weather-fineprint{position:relative;margin-top:30px;font:13px/1.5 system-ui;color:#42654e;padding:0}.weather-fineprint .weather-paper{padding:22px 20px}.weather-fineprint .weather-paper::before{display:block}.weather-fineprint summary{cursor:pointer;padding:5px 0}.weather-source{font-size:11px}.weather-hours{display:flex;gap:10px;overflow:auto;padding:10px 0}.weather-hour{flex:0 0 100px;padding:12px;background:#f6f0d6}.weather-hour>*{display:block}.weather-hour b{font-size:22px}.weather-small{font:12px/1.5 system-ui;color:#536b51}.weather-page :is(a,button,select,summary,[tabindex]):focus-visible{outline:3px solid #855d0b;outline-offset:3px}
@media(min-width:1260px){.weather-location{right:-20px}}
@media(max-width:1259px) and (min-width:851px){main:has(.weather-page){padding:0 26px}.weather-page{padding-left:130px;padding-right:150px;min-height:900px}.weather-heading{margin-left:30px}.weather-page h1{font-size:39px}.weather-heading p{font-size:20px}.weather-location{right:-100px}.weather-today{width:100%;margin-left:0;grid-template-columns:240px 1fr;padding-left:10px;padding-right:20px;gap:12px}.weather-dial{width:235px;height:235px}.weather-quarter{font-size:17px;width:80px}.quarter-cozy,.quarter-light{left:9px}.quarter-some,.quarter-sun{right:9px}.weather-quarter-icon{width:34px;height:34px}.weather-today-copy{padding-left:20px}.weather-page .weather-temperature{font-size:82px}.weather-page .weather-message{font-size:19px}.weather-nature-photo{width:205px;left:-35px;top:125px}.weather-stamp{height:270px}.weather-clothesline{width:calc(100% - 20px);margin-left:10px;margin-right:10px;gap:15px}.weather-daypart h3{font-size:20px}.weather-light-numbers{gap:10px}.weather-light-numbers p{font-size:20px}.weather-light-numbers p+p{padding-left:10px}.weather-light-comparison{padding-inline:18px}.weather-page #weatherDaylight{font-size:11px}.weather-page .weather-week-title{font-size:34px}.weather-plans{margin-left:20px;margin-right:0;gap:15px}.weather-page .weather-plans h2{font-size:19px;white-space:normal}.weather-plans section{padding-left:62px}.weather-plans section::after{left:12px;width:38px}.weather-plans p{font-size:15px}.weather-fineprint{left:-130px;right:-150px}}
@media(max-width:1000px) and (min-width:851px){.weather-page{padding-left:85px;padding-right:85px}.weather-location{right:-40px}.weather-nature-photo{width:158px;left:-25px;top:153px}.weather-stamp{height:220px}.weather-heading{margin-left:0}.weather-page h1{font-size:34px}.weather-heading p{font-size:18px}.weather-fineprint{left:-85px;right:-85px}.weather-season-tag{left:25px;font-size:23px}}
@media(max-width:850px){main:has(.weather-page){padding:0 16px;margin:18px auto 24px}.weather-page{padding:24px 22px 100px;min-height:0;background-size:auto 900px;background-position:center top}.weather-season-tag{left:20px;top:14px;font-size:20px}.weather-heading{height:auto;margin:40px 0 20px;padding-right:115px;min-height:90px}.weather-page h1{font-size:36px;white-space:normal;letter-spacing:-.7px}.weather-heading p{font-size:20px;white-space:normal}.weather-location{top:-8px;right:0}.weather-nature-photo{width:112px;top:70px;right:12px;left:auto;transform:rotate(4deg)}.weather-stamp{height:142px;padding:7px}.weather-nature-photo::before{left:25px;width:60px;height:20px;top:-8px}.weather-nature-photo figcaption{font-size:8px;margin:4px}.weather-today{width:100%;height:auto;min-height:250px;margin:0;padding:15px 20px;grid-template-columns:230px 1fr;gap:12px}.weather-dial{width:220px;height:220px}.weather-quarter{width:74px;font-size:16px}.weather-quarter-icon{width:32px;height:32px}.quarter-cozy,.quarter-light{left:9px}.quarter-some,.quarter-sun{right:9px}.weather-today-copy{padding-left:20px}.weather-page .weather-temperature{font-size:76px}.weather-page .weather-message{font-size:19px}.weather-temperature::after{width:40px;right:0}.weather-clothesline{width:auto;margin:35px 0 0;gap:14px}.weather-clothesline::before{left:-10px;right:-10px}.weather-daypart h3{font-size:19px;min-height:42px}.weather-part-value strong{font-size:30px}.weather-daypart{height:110px;padding-inline:8px}.weather-part-value .weather-drawn-icon{width:36px;height:36px}.weather-light-comparison{grid-template-columns:1fr;padding:15px 20px;gap:8px}.weather-light-numbers{justify-content:center;gap:15px}.weather-light-numbers p{font-size:22px}.weather-page #weatherDaylight{grid-row:3;grid-column:1;text-align:center;font-size:13px}.weather-light-track{grid-row:2}.weather-page .weather-week-title{font-size:33px;margin-left:0}.weather-week{margin:0;gap:8px}.weather-page .weather-week button{font-size:17px}.weather-plans{margin:20px 0 0;gap:18px}.weather-plans section{padding-left:60px}.weather-plans section::after{left:12px;width:36px}.weather-page .weather-plans h2{font-size:21px;white-space:normal}.weather-plans p{font-size:16px}.weather-fineprint{position:static;margin-top:35px;padding:0}.weather-page .weather-source{font-size:10px}.weather-season-edge,.weather-season-corner{display:none}}
@media(max-width:550px){.weather-page{padding:18px 15px 70px}.weather-heading{padding-right:88px;min-height:130px;margin-top:50px}.weather-page h1{font-size:29px}.weather-heading p{font-size:18px;margin-top:8px}.weather-nature-photo{width:91px;top:90px;right:8px}.weather-stamp{height:125px}.weather-today{grid-template-columns:1fr;gap:15px;padding:12px 22px 22px}.weather-dial{width:238px;height:238px}.weather-quarter{font-size:17px;width:80px}.weather-quarter-icon{width:35px;height:35px}.weather-today-copy{padding:8px 0 0;border-left:0;border-top:1px solid #a2ad8b;min-height:0}.weather-page .weather-temperature{font-size:70px;letter-spacing:-3px}.weather-page .weather-message{font-size:20px;max-width:none}.weather-temperature::after{top:10px;right:18px}.weather-clothesline{gap:8px}.weather-daypart h3{font-size:16px;min-height:55px}.weather-daypart{padding:12px 4px 6px;height:115px}.weather-part-value{gap:3px;flex-wrap:wrap}.weather-part-value strong{font-size:25px}.weather-part-value .weather-drawn-icon{width:27px;height:27px}.weather-light-numbers{gap:10px;flex-wrap:wrap}.weather-light-numbers p{font-size:18px}.weather-light-numbers p+p{padding-left:10px}.weather-page .weather-week-title{font-size:29px;margin-top:22px}.weather-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.weather-page .weather-week button{height:94px}.weather-plans{grid-template-columns:1fr}.weather-plans section{min-height:90px}.weather-page .weather-plans h2{font-size:22px}.weather-fineprint{margin-top:25px}.weather-pin{width:22px;left:calc(50% - 11px)}}
@media(prefers-reduced-motion:reduce){.weather-needle{transition:none}}

@media(max-width:850px){.weather-location{margin:0}.weather-fineprint{background:#d0e8ccda;padding:10px;border-radius:8px}}

@media(max-width:850px){.weather-board-content{display:flow-root}}

.weather-hour-section h2{font:700 28px/1.15 Georgia,serif;margin:0 0 8px}.weather-fineprint .weather-source{margin:18px 0 0}.weather-hours{padding:10px 2px 15px}.weather-hour{background:#edf4d6 url("/images/button-paper-grain.svg");border-bottom:3px solid #e8c75b;border-radius:3px;line-height:1.6}.weather-page .weather-fineprint{left:auto;right:auto;background:none;border-radius:0}@media(min-width:851px){.weather-nature-photo{left:-15px}}
/* Use exactly the homepage's shell gutters at every screen width. */
main:has(.weather-page){padding-left:32px;padding-right:32px}
@media(max-width:600px){main:has(.weather-page){padding-left:20px;padding-right:20px}}
@media(min-width:1260px){.weather-season-tag{left:50px}}
@media(min-width:851px) and (max-width:1259px){.weather-season-tag{left:25px}}
.weather-fineprint .weather-source{background:#cee9cced;padding:6px 8px;border-radius:3px}

/* Device location stays a small paper control beside the place selector. */
.weather-location{width:205px;flex-wrap:wrap;justify-content:flex-end;gap:3px}
.weather-page .weather-location .weather-geolocate{font:600 11px/1.3 system-ui,sans-serif;font-size:11px;min-height:28px;padding:5px 9px;background:#ffdf7d url('/images/button-paper-grain.svg');color:#244e38;border-radius:2px}
.weather-location .weather-geolocate::before{content:none}
.weather-location .weather-geolocate:disabled{opacity:.65;cursor:wait}
.weather-location-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.weather-location-feedback:empty{display:none}.weather-location-feedback{font:12px/1.4 system-ui,sans-serif;position:absolute;top:100%;right:0;z-index:9;width:260px;background:#fff5cf;padding:8px 10px;box-shadow:0 2px 6px #264d3426}
@media(max-width:850px){.weather-location{width:180px;top:-10px}.weather-heading{margin-top:70px}.weather-nature-photo{top:105px}}
@media(min-width:851px) and (max-width:1000px){.weather-location{top:55px;right:-45px}}
