:root{--color-primary: #263e2d;--color-primary-light: #e5e9da;--color-text: #273b2c;--color-text-light: #596450;--color-bg: #fffdf5;--color-bg-alt: #f1efde;--color-surface: #fffefa;--color-tint: #f1f3e9;--color-border: #bcc5ae;--color-accent: #f4c359;--color-accent-light: #ffda81;--color-accent-dark: #9a6815;--color-focus: #956117;--font-body: "DM Sans", system-ui, sans-serif;--max-width: 1280px;--content-width: 780px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.7;-webkit-font-smoothing:antialiased}a:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.so-skip-link{position:fixed;top:8px;left:16px;z-index:1000;padding:10px 16px;background:#fff;color:#273b2c;transform:translateY(-160%)}.so-skip-link:focus{transform:none;outline:3px solid #956117;outline-offset:2px}.so-site-header{position:sticky;top:0;z-index:100;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.so-header-nav{max-width:var(--max-width);margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:.5rem;height:72px}.so-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-text);font-family:var(--font-body);font-size:21px;font-weight:700;letter-spacing:-.05em;flex-shrink:0;transition:opacity .2s}.so-logo:hover{opacity:.8}.so-logo-sun{color:var(--color-accent-dark)}.so-logo strong{color:var(--color-text)}.so-nav-desktop{display:flex;align-items:center;gap:.15rem;margin-left:1.5rem}.so-nav-desktop a{padding:.4rem .75rem;border-radius:2px;text-decoration:none;font-size:.88rem;font-weight:500;color:#4d5b43;transition:color .2s,background .2s}.so-nav-desktop a:hover{color:var(--color-text);background:var(--color-primary-light)}.so-nav-spacer{flex:1}.so-nav-cta{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.2rem;border:1px solid var(--color-text);border-radius:2px;background:transparent;color:var(--color-text);font-size:.82rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.so-nav-cta:hover{background:var(--color-primary);color:var(--color-bg)}.so-site-header a:focus-visible,.so-mobile-menu-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.so-mobile-menu-btn{display:none;width:44px;height:44px;padding:.5rem;border:none;background:none;border-radius:2px;cursor:pointer;color:var(--color-text)}.so-mobile-menu-btn:hover{background:var(--color-primary-light)}.so-mobile-menu{display:none;border-top:1px solid var(--color-border);padding:.75rem 1.5rem;background:var(--color-bg-alt)}@media(max-width:768px){.so-mobile-menu.so-open{display:block}}.so-mobile-menu a{display:block;padding:.65rem 0;text-decoration:none;font-size:.92rem;font-weight:500;color:var(--color-text);border-bottom:1px solid var(--color-border)}.so-mobile-menu a:last-of-type{border-bottom:none}.so-mobile-menu a:hover{text-decoration:underline;text-underline-offset:4px}.so-mobile-menu-cta{display:block;text-align:center;margin-top:.75rem;padding:.75rem;border-radius:2px;background:var(--color-primary);color:#fff!important;font-weight:600;border-bottom:none!important}@media(max-width:1050px){.so-header-nav{padding-inline:25px}}@media(min-width:769px)and (max-width:900px){.so-nav-cta{display:none}}@media(max-width:768px){.so-nav-desktop,.so-nav-cta{display:none}.so-mobile-menu-btn{display:block}}@media(max-width:639px){.so-header-nav{padding-inline:22px;height:66px}}.so-site-footer{position:relative;background:var(--color-primary);color:#d3ddcc;overflow:hidden;margin-top:0}.so-footer-accent{height:1px;background:#6f8262}.so-footer-grid{max-width:var(--max-width);margin:0 auto;padding:3.5rem 1.5rem 2.5rem;display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:3rem}@media(min-width:1024px){.so-footer-grid{padding:3.5rem 5rem 2.5rem}}.so-footer-brand p{margin-top:.75rem;font-size:.82rem;line-height:1.6;color:#d3ddcc}.so-footer-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#fffbf5b3;font-family:var(--font-body);font-weight:700;font-size:1.05rem;letter-spacing:-.04em}.so-footer-grid h2{font-size:.82rem;font-weight:700;color:var(--color-accent);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.so-footer-grid ul{list-style:none}.so-footer-grid li{margin-bottom:.6rem}.so-footer-grid li a{color:#d3ddcc;text-decoration:none;font-size:.85rem;transition:color .2s,padding-left .2s}.so-footer-grid li a:hover{color:var(--color-accent);padding-left:.25rem}.so-footer-muted{color:#fffbf533;font-size:.85rem}.so-footer-bottom{max-width:var(--max-width);margin:0 auto;padding:1.25rem 1.5rem;border-top:1px solid rgba(255,251,245,.08);text-align:center;font-size:.78rem}@media(min-width:1024px){.so-footer-bottom{padding:1.25rem 5rem}}.so-footer-bottom a{color:#d3ddcc}.so-footer-bottom a:hover{color:var(--color-accent)}.so-site-footer a:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}@media(max-width:768px){.so-footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}@media(max-width:480px){.so-footer-grid{grid-template-columns:1fr}}.so-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.so-reveal.so-revealed{opacity:1;transform:translateY(0)}main>article{max-width:calc(var(--content-width) + 80px);margin:0 auto;padding:46px 40px 3.5rem;overflow-wrap:break-word}article h1{font-size:clamp(2rem,3.4vw,2.75rem);font-weight:700;line-height:1.08;letter-spacing:-.045em;margin-bottom:1rem;color:var(--color-text)}main>article>time{display:block;padding-bottom:1.1rem;margin-bottom:2rem;border-bottom:1px solid var(--color-border);color:var(--color-text-light);font-size:13px;font-weight:700}article h2{font-size:1.55rem;font-weight:700;line-height:1.2;letter-spacing:-.035em;margin:3rem 0 .9rem;padding-top:1.4rem;border-top:1px solid var(--color-border)}article h3{font-size:1.12rem;font-weight:700;line-height:1.35;letter-spacing:-.02em;margin:2rem 0 .5rem;color:var(--color-text)}article p{margin-bottom:1.15rem}article a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-accent-dark);text-underline-offset:4px;text-decoration-thickness:1.5px}article a:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}article strong{font-weight:700}article ul,article ol{margin:.75rem 0 1.25rem 1.5rem}article li{margin-bottom:.4rem}article li::marker{color:var(--color-accent-dark)}article blockquote{border-left:3px solid var(--color-primary);background:var(--color-tint);padding:1.15rem 1.35rem;margin:1.75rem 0;font-size:.95rem}article blockquote p:last-child{margin-bottom:0}article code{background:var(--color-bg-alt);padding:.15rem .45rem;border-radius:2px;font-size:.88em}article pre{background:var(--color-primary);color:var(--color-bg);padding:1.35rem;overflow-x:auto;margin:1.5rem 0;font-size:.86rem;line-height:1.65}article pre code{background:none;padding:0;color:inherit}article hr{border:none;border-top:1px solid var(--color-border);margin:2.75rem 0}article table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem;overflow-x:auto;display:block}article thead{background:var(--color-bg-alt)}article th{text-align:left;padding:.7rem .85rem;font-weight:700;font-size:.82rem;color:var(--color-text);white-space:nowrap;border-bottom:1px solid var(--color-text)}article td{padding:.65rem .85rem;border-bottom:1px solid var(--color-border)}article tr:hover td{background:var(--color-tint)}article blockquote:has(a[href*=amazon]),article blockquote:has(a[href*=beemenergy]),article blockquote:has(a[href*=sunology]){background:#fdf3d6;border-left-color:var(--color-accent)}article p:has(>strong:first-child)+p{margin-top:-.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1050px){main>article{padding-inline:25px;max-width:calc(var(--content-width) + 50px)}}@media(max-width:640px){html{font-size:16px}main>article{padding:30px 22px 2.5rem}article h1{font-size:2rem;letter-spacing:-.04em}article h2{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
