:root{--bg:#f5f3ee;--ink:#272e2b;--soft:#6d756f;--border:#dcded6;--sage:#7f8b78;--sage-pale:#ecf0e8;--white:#fffefa;--paper:#e7e5d9;--accent:#b88658}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #718675;outline-offset:4px}.icon-library{position:absolute;height:0;width:0;overflow:hidden}
.site-shell{max-width:1432px;padding:0 55px;margin:auto}
.site-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:20px}
.brand{font-size:28px;font-weight:750;letter-spacing:-1.8px;line-height:1}.brand-period{color:#a6a988}
.top-right{display:flex;align-items:center;gap:27px;font-size:10px;letter-spacing:2px;font-weight:750;color:#747a71}
.top-right .sep{width:1px;height:22px;background:#d4d7cd}
.head-status{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;color:var(--ink)}
.status-pulse,.live-small i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7c987e;box-shadow:0 0 0 4px rgba(124,152,126,.10)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:535px;align-items:center;gap:50px;padding-top:72px;padding-bottom:69px}
.hero-text{padding:0 0 8px 0}.kicker{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:2.7px;font-weight:750;color:var(--sage);white-space:nowrap}.kicker-line{width:25px;height:1px;background:var(--sage)}.kicker-num{font-weight:500;color:#a2a79d}
h1{font-size:clamp(58px,5.45vw,84px);letter-spacing:-5.5px;line-height:1.075;font-weight:650;margin:24px 0 24px}h1 em{font-style:normal;font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-3.4px;color:#7c897b}
.intro{font-size:16px;line-height:1.88;color:#68716a;max-width:610px;margin:0 0 26px}.intro strong{font-weight:650;color:var(--ink)}
.hero-note{display:flex;gap:17px;color:#4b564b;font-size:13px;line-height:1.75;margin-bottom:32px}.note-line{width:3px;min-width:3px;background:#a1a98e;border-radius:4px}
.hero-tags{display:flex;gap:9px;flex-wrap:wrap}.hero-tags span{font-size:11px;letter-spacing:.2px;border:1px solid #d8dbd2;border-radius:3px;padding:7px 12px;color:#5d695e;background:rgba(255,255,255,.36)}
.desk-area{min-height:420px;display:flex;align-items:center;justify-content:center;position:relative;padding:20px 50px 0 40px}
.desk-area:before{content:"";position:absolute;inset:5% 6% 7% 6%;background:linear-gradient(130deg,#ecece4,#e0e4da);border:1px solid #e2e2d9;border-radius:3px;transform:rotate(2deg)}
.desk-area:after{content:"";position:absolute;right:12%;top:13%;width:125px;height:110px;background-image:radial-gradient(#a8b3a2 1px,transparent 1px);background-size:12px 12px;opacity:.38}
.desk-label{position:absolute;top:5px;left:24px;right:35px;z-index:3;display:flex;align-items:center;gap:10px;letter-spacing:2px;font-size:10px;font-weight:750;color:#788278}.desk-label>span:last-child{margin-left:auto;font-size:9px;font-weight:500;color:#9fa79b}.tiny-square{display:inline-block;width:7px;height:7px;background:#8b9f8d}
.desk-paper{position:relative;z-index:2;width:min(100%,379px);height:385px;background:#fffcf5;border:1px solid #deded3;box-shadow:9px 11px 0 #cfd7cb,0 24px 70px rgba(59,65,54,.13);transform:rotate(-2.5deg);padding:24px 28px;display:flex;flex-direction:column}
.paper-binding{position:absolute;top:-13px;right:25px;display:flex;gap:12px}.paper-binding span{width:17px;height:29px;border:3px solid #87988a;border-radius:10px;background:transparent;transform:rotate(8deg);box-shadow:inset 0 3px 0 #fff}
.paper-topline,.paper-footer{font-size:10px;letter-spacing:1.5px;color:#929a8d;display:flex;align-items:center;justify-content:space-between}.paper-topline span:first-child{font-family:Georgia,serif;font-style:italic;font-size:16px;letter-spacing:-.5px;color:#566559}
.paper-content{margin:auto 0}.paper-figure{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;color:#adb7a4;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.figure-track{width:70%;display:flex;align-items:center;gap:5px}.figure-track i{height:3px;flex:1;background:#c4ccc2}.figure-track i:nth-child(4),.figure-track i:nth-child(5){background:#e6e5dd}
.paper-content h2{font-family:Georgia,"Times New Roman",serif;font-size:42px;font-weight:400;line-height:1.08;letter-spacing:-1.7px;margin:0 0 12px}.paper-content p{color:#839084;line-height:1.5;font-size:14px;margin:0}.paper-rule{width:55px;height:1px;background:#b7c5b6;margin:24px 0 16px}.paper-list{display:flex;gap:19px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:#758173}.paper-list span{display:flex;align-items:center;gap:6px}.paper-list i{height:6px;width:6px;border:1.5px solid #9fb0a0;border-radius:50%;display:inline-block}.paper-list span:first-child i{background:#9fb0a0}
.paper-footer{border-top:1px solid #e3e7dd;padding-top:15px;font-size:9px}.paper-footer svg{height:17px;width:17px;stroke:#8da18d;fill:none;stroke-width:1.5}
.desk-side-note{position:absolute;bottom:27px;right:8px;z-index:3;display:flex;flex-direction:column;color:#919a8e;font-family:Georgia,serif;font-size:15px;font-style:italic;transform:rotate(11deg)}.desk-asterisk{font-family:Arial,sans-serif;font-size:44px;color:#a6ae99;line-height:1.3;text-align:center}
.section-label{display:flex;justify-content:space-between;gap:12px;color:#848c81;font-weight:750;letter-spacing:2.2px;font-size:10px;margin:0 0 14px}
.panels{display:grid;grid-template-columns:minmax(310px,.83fr) minmax(620px,1.6fr);gap:17px}
.panel{background:var(--white);border:1px solid #e4e5dc;border-radius:5px;box-shadow:0 6px 25px rgba(51,60,52,.025);padding:24px 27px 20px;min-width:0;display:flex;flex-direction:column}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{display:flex;align-items:center;gap:11px}.panel-title svg{width:17px;height:17px;fill:none;stroke:#7d8d7e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.panel-title h2{font-weight:600;font-size:14px;margin:0;letter-spacing:-.1px}.panel-eyebrow{font-size:10px;letter-spacing:1.4px;color:#9aa398;font-weight:650}
.time-panel{min-height:360px}.digital-time{font-variant-numeric:tabular-nums;letter-spacing:-4.2px;font-size:clamp(45px,4vw,64px);line-height:1.15;font-weight:620;margin:50px 0 8px;white-space:nowrap}.digital-time span{color:#a6afa2}.digital-date{color:#879087;font-size:15px;margin:0}.panel-bottom{display:flex;align-items:center;justify-content:space-between;color:#a2a99f;font-size:10px;letter-spacing:1.2px;font-weight:650;border-top:1px solid #eff0e9;padding-top:17px;margin-top:auto}.live-small{display:flex;align-items:center;gap:9px;color:#7c947d}
.weather-panel{padding-bottom:16px}.weather-actions{display:flex;gap:7px}.weather-actions button{border:1px solid #e5e8df;background:#f8f9f5;color:#6f8171;border-radius:4px;height:29px;width:29px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.weather-actions button:hover{background:#edf1e9}.weather-actions button:disabled{opacity:.5;cursor:wait}.weather-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.weather-actions .loading svg{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.weather-body{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0 11px}.weather-current{display:flex;align-items:center;gap:13px}.weather-large-icon svg{display:block;width:64px;height:64px}.temp{font-weight:640;font-size:43px;letter-spacing:-2px;line-height:1.08}.temp small{font-size:20px;font-weight:400;color:#a9b2a7}.weather-desc{font-size:12px;color:#8a9488}.weather-details{display:grid;grid-template-columns:1fr 1fr;gap:13px 17px;font-size:10.5px;color:#8c958c}.weather-details>div{white-space:nowrap;display:flex;align-items:center;gap:5px}.weather-details svg{width:14px;height:14px;fill:none;stroke:#91a193;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.weather-details span{color:#4e5e51;font-weight:650}
.forecast-heading{display:flex;justify-content:space-between;border-top:1px solid #eaede6;padding-top:13px;margin-bottom:11px;color:#8e998d;font-weight:720;font-size:10px;letter-spacing:1.4px}
.forecast-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.forecast-card{text-align:center;background:#f7f8f4;border:1px solid #eeefe8;border-radius:4px;padding:9px 3px 10px;min-width:0}.forecast-day{font-size:10px;font-weight:650;color:#485549;white-space:nowrap}.forecast-date{font-size:9px;color:#a3ada2;white-space:nowrap;margin-top:2px}.forecast-icon svg{height:32px;width:32px;margin:8px auto 2px;display:block}.forecast-hi{font-weight:700;font-size:13px}.forecast-lo{color:#a2aba1;font-size:12px}.forecast-rain{color:#91a19a;font-size:9px;display:flex;justify-content:center;align-items:center;gap:2px}.forecast-rain svg{width:9px;height:9px;fill:none;stroke:#91a19a;stroke-width:1.5}.forecast-placeholder{grid-column:1/-1;text-align:center;color:#929e92;padding:45px 10px;font-size:12px;background:#f7f8f4}
.weather-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#9ea79c;margin-top:11px}.weather-footer span:first-child{flex:1}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);margin-top:30px;padding:20px 0 35px;color:#8e958c;font-size:10px;letter-spacing:.65px}.site-footer>span:nth-child(2){letter-spacing:1.7px}.site-footer a{color:#667969}.site-footer svg{height:11px;width:11px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:middle}
@media(max-width:1100px){.site-shell{padding:0 30px}.hero{gap:20px}.panels{grid-template-columns:1fr 1.6fr}.weather-body{flex-wrap:wrap}.weather-details{display:flex;gap:15px;flex-wrap:wrap}.digital-time{font-size:clamp(38px,4vw,54px)}.forecast-grid{gap:5px}.forecast-card{padding:8px 1px}}
@media(max-width:880px){.top-right .header-sub,.top-right .sep{display:none}.hero{grid-template-columns:1fr;gap:10px;padding:67px 0 35px}.hero-text{max-width:700px}.desk-area{min-height:300px;max-width:550px;width:100%;margin:10px auto 0}.desk-paper{height:280px;max-width:340px}.desk-paper{padding:16px 23px}.paper-content h2{font-size:33px}.paper-figure{margin-bottom:10px}.paper-rule{margin:14px 0 10px}.paper-footer{padding-top:8px}.desk-side-note{bottom:6px}.panels{grid-template-columns:1fr}.time-panel{min-height:250px}.digital-time{font-size:60px;margin-top:37px}.weather-body{flex-wrap:nowrap}}
@media(max-width:600px){.site-shell{padding:0 20px}.site-header{min-height:75px}.brand{font-size:24px}.head-status{font-size:8px;letter-spacing:1.15px}.hero{padding:46px 0 25px}.kicker{font-size:9px;letter-spacing:1.6px;gap:7px}h1{font-size:clamp(48px,11.5vw,66px);letter-spacing:-3.5px;margin:20px 0 19px}h1 em{letter-spacing:-2.5px}.intro{font-size:14px;line-height:1.85;margin-bottom:19px}.hero-note{font-size:12px;margin-bottom:23px}.hero-tags{gap:6px}.hero-tags span{font-size:10px;padding:6px 9px}.desk-area{padding:22px 12px 0;min-height:280px}.desk-area:before{inset:10px 6% 13px}.desk-label{font-size:8px;top:5px;left:12px;right:15px}.desk-paper{width:82%;height:248px;max-width:280px;padding:14px 18px}.paper-topline{font-size:8px}.paper-topline span:first-child{font-size:14px}.paper-content h2{font-size:29px}.paper-content p{font-size:11px}.paper-figure{margin-bottom:8px}.paper-list{gap:11px;font-size:9px}.desk-side-note{bottom:7px;right:0;font-size:11px}.desk-asterisk{font-size:26px}.section-label{font-size:9px;letter-spacing:1.1px}.panels{gap:11px}.panel{padding:20px}.time-panel{min-height:235px}.digital-time{font-size:clamp(44px,12vw,62px);margin-top:36px;letter-spacing:-3px}.digital-date{font-size:13px}.weather-body{flex-direction:column;align-items:stretch;gap:14px}.weather-current{gap:12px}.temp{font-size:45px}.weather-details{display:grid;grid-template-columns:1fr 1fr;gap:12px 9px}.weather-details>div{font-size:10px}.forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.forecast-card{padding:9px 0 6px}.forecast-day{font-size:9px}.forecast-date{font-size:8px}.forecast-icon svg{height:25px;width:25px}.forecast-hi{font-size:11px}.forecast-lo{font-size:10px}.forecast-rain{font-size:8px}.weather-footer{font-size:9px}.site-footer{flex-wrap:wrap;gap:8px 25px;font-size:9px;padding:18px 0 25px}.site-footer>span:nth-child(2){order:3;width:100%}}
@media(max-width:390px){.site-shell{padding:0 15px}.hero-tags span{font-size:9px}.forecast-date{letter-spacing:-.4px}.forecast-grid{gap:2px}.panel{padding:16px}.weather-details>div{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* Give forecast days breathing room on narrower screens. */
@media(max-width:600px){.forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.forecast-card{padding:10px 3px}.forecast-day{font-size:10px}.forecast-date{font-size:9px;letter-spacing:0}.forecast-icon svg{height:29px;width:29px}.forecast-hi{font-size:13px}.forecast-lo{font-size:11px}.forecast-rain{font-size:9px}}
