/* Shared editorial, privacy and navigation styles. */
.brand{text-decoration:none}
.header-link{color:inherit;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}
.header-link:hover,.footer-partner:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.editorial-panel{margin-top:28px;padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:24px;background:rgba(255,253,248,.92);box-shadow:var(--shadow)}
.editorial-heading{max-width:780px}.editorial-heading .eyebrow{margin-bottom:10px}.editorial-heading h2{margin:0 0 12px}.editorial-heading>p:last-child{margin:0;color:var(--muted);font-size:16px;line-height:1.8}
.season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:26px}
.season-grid article{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fffaf3}.season-grid article>span{font-size:26px}.season-grid h3{margin:10px 0 7px;font-size:18px;letter-spacing:-.04em}.season-grid p,.editorial-detail p,.editorial-note p{margin:0;color:#62574f;font-size:14px;line-height:1.8}
.editorial-detail{margin-top:28px;padding-top:23px;border-top:1px solid var(--line)}.editorial-detail h3{margin:0 0 10px;font-size:20px;letter-spacing:-.035em}.editorial-detail p+p{margin-top:10px}.text-link{display:inline-flex;gap:7px;margin-top:16px;color:#984b37;font-size:14px;font-weight:750;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.editorial-note{margin-top:24px;padding:16px 19px;border-left:3px solid var(--blue);border-radius:0 12px 12px 0;background:#f4e7d8}.editorial-note strong{display:block;margin-bottom:5px;font-size:14px}.editorial-note p{font-size:13px}
footer nav,.content-footer nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:12px}
footer nav a,footer nav button,.content-footer a{padding:4px;border:0;background:none;color:inherit;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px}.footer-partner{cursor:pointer}
.content-page{min-height:100vh}.content-header{background:rgba(255,253,248,.62);border-bottom:1px solid var(--line)}.content-wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.content-header .brand-row{min-height:70px;padding-block:12px}.content-header .brand{color:var(--blue)}.content-header .brand-actions{gap:20px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(35px,7vw,92px);align-items:start;padding-top:clamp(46px,7vw,80px);padding-bottom:60px}.article-layout>article{max-width:760px}.article-layout h1,.privacy-layout h1{margin:0;color:var(--ink);font-size:clamp(34px,5vw,54px);font-weight:800;line-height:1.18;letter-spacing:-.065em}.article-lede{margin:19px 0 12px;color:#514740;font-size:18px;line-height:1.85;letter-spacing:-.025em}.updated-note,.source-note{color:var(--muted);font-size:13px;line-height:1.7}
.article-toc{display:flex;align-items:center;gap:9px 16px;flex-wrap:wrap;margin:26px 0;padding:15px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.78)}.article-toc strong{width:100%;font-size:13px}.article-toc a{color:#874631;font-size:13px;font-weight:650;text-decoration:none}.article-toc a:hover{text-decoration:underline;text-underline-offset:4px}
.article-section{margin-top:42px;scroll-margin-top:24px}.article-section h2{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:25px}.article-section p{margin:10px 0;color:#544a43;font-size:15px;line-height:1.9}.numbered-list{display:grid;gap:10px;padding:0;list-style:none;counter-reset:method}.numbered-list li{display:grid;grid-template-columns:36px 130px 1fr;gap:8px;align-items:start;padding:13px 15px;border-radius:13px;background:rgba(255,253,248,.74);counter-increment:method}.numbered-list li::before{content:counter(method,decimal-leading-zero);color:var(--blue);font-family:"DM Mono",monospace;font-size:12px;font-weight:700}.numbered-list strong{font-size:14px}.numbered-list span{color:var(--muted);font-size:14px;line-height:1.7}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-grid article,.solar-season{padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.78)}.guide-grid h3,.solar-season h3{margin:0 0 5px;font-size:17px}.guide-grid p,.solar-season p{margin:0;font-size:14px;line-height:1.8}.solar-season{margin-top:12px}.plain-list{padding-left:20px;color:#544a43;font-size:15px;line-height:1.9}.plain-list li+li{margin-top:7px}.article-section a:not(.article-cta){color:#874631;text-underline-offset:3px}.article-cta{display:inline-flex;align-items:center;gap:18px;margin-top:16px;padding:12px 17px;border-radius:999px;background:var(--blue);color:#fff;font-size:14px;font-weight:750;text-decoration:none}.article-cta:hover{background:#a94e38}
.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.example-grid article{padding:17px;border:1px solid var(--line);border-radius:14px;background:#f4e7d8}.example-grid span,.example-grid strong{display:block}.example-grid span{margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:650}.example-grid strong{font-size:16px}.example-grid p{margin:5px 0 0;font-size:13px;line-height:1.75}
.subsection-title{margin:25px 0 10px;font-size:17px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.85)}.decision-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.7}.decision-table th,.decision-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.decision-table thead th{background:#f4e7d8;font-size:12px}.decision-table tbody th{min-width:115px;white-space:nowrap}.decision-table tbody tr:last-child th,.decision-table tbody tr:last-child td{border-bottom:0}
.article-aside{position:sticky;top:24px;display:grid;gap:14px}.article-aside>div{padding:23px;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,248,.8)}.article-aside h2{margin:0 0 10px;font-size:21px;line-height:1.5}.article-aside p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.8}.article-aside a{color:#874631;font-size:13px;font-weight:700;text-decoration:none}.article-aside a:hover{text-decoration:underline;text-underline-offset:3px}.aside-links{display:grid;gap:12px}.aside-links strong{font-size:13px}
.content-footer{padding:22px 0 34px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center}.content-footer nav{margin-top:8px}.policy-note{margin-top:26px;padding:16px 18px;border-radius:12px;background:#f0e4d6;color:#62574f;font-size:13px;line-height:1.8}
.library-layout{padding-top:clamp(46px,7vw,80px);padding-bottom:60px}.library-layout>article{max-width:940px;margin-inline:auto}.library-layout h1{margin:0;color:var(--ink);font-size:clamp(34px,5vw,54px);font-weight:800;line-height:1.18;letter-spacing:-.065em}.menu-search{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px 14px;align-items:center;margin:25px 0 16px;padding:17px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.86)}.menu-search label{font-size:14px;font-weight:750}.menu-search input{grid-column:1/-1;width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:15px}.menu-search input:focus-visible{outline:3px solid #8f422f;outline-offset:2px}.menu-search p{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}.menu-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;list-style:none}.menu-catalog li{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.78)}.menu-catalog li[hidden]{display:none}.menu-catalog h2{margin:0 0 5px;font-size:16px;letter-spacing:-.035em}.menu-catalog p{margin:0 0 7px;color:#544a43;font-size:13px;line-height:1.7}.menu-catalog li span{color:var(--muted);font-size:12px;line-height:1.6}.menu-empty{margin:18px 0;color:var(--muted);font-size:14px;line-height:1.8}.library-cta{margin-top:44px;padding:24px;border-radius:18px;background:#f2e2d2}.library-cta h2{margin:0 0 7px;font-size:22px}.library-cta p{margin:0;color:#62574f;font-size:14px;line-height:1.8}
@media(max-width:800px){.season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr}.article-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout>article{max-width:none}}
@media(max-width:640px){.header-link{font-size:11px}.brand-actions{gap:12px}.editorial-panel{margin-top:20px;padding:22px 16px;border-radius:20px}.editorial-heading>p:last-child{font-size:14px}.season-grid{grid-template-columns:1fr;gap:9px;margin-top:19px}.season-grid article{padding:16px}.season-grid article>span{font-size:23px}.season-grid h3{display:inline-block;margin:0 0 5px 8px}.season-grid p,.editorial-detail p{font-size:13px}.editorial-detail{margin-top:21px;padding-top:19px}.editorial-detail h3{font-size:18px}.editorial-note{margin-top:19px;padding:14px}.editorial-note p{font-size:12px}footer nav{gap:8px 14px}.content-wrap{width:calc(100% - 34px)}.content-header .brand-row{min-height:62px;padding-block:10px}.content-header .brand-actions{gap:12px}.article-layout{padding-top:38px;padding-bottom:42px}.article-layout h1,.privacy-layout h1,.library-layout h1{font-size:34px}.article-lede{font-size:16px;line-height:1.8}.article-toc{gap:9px 12px;padding:13px}.article-toc a{font-size:12px}.article-section{margin-top:33px}.article-section h2{font-size:21px}.article-section p,.plain-list{font-size:14px}.numbered-list li{grid-template-columns:28px 1fr;gap:6px 8px;padding:12px}.numbered-list span{grid-column:2;font-size:13px}.guide-grid,.example-grid{grid-template-columns:1fr}.article-aside{grid-template-columns:1fr}.content-footer{font-size:11px}.library-layout{padding-top:38px;padding-bottom:42px}.menu-search{grid-template-columns:1fr;padding:14px}.menu-search label,.menu-search p{grid-column:1}.menu-catalog{grid-template-columns:1fr}.menu-catalog li{padding:14px}.library-cta{padding:19px}.library-cta h2{font-size:19px}.decision-table{min-width:680px}.table-scroll{margin-inline:-2px}}
