/*
Theme Name: Alternate Solar Energy
Theme URI: https://example.com/
Author: Alternate Solar Energy
Description: A custom WordPress theme for Alternate Solar Energy: complete solar installation, on-grid, hybrid and off-grid systems, battery storage, and EV charging.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: alternate-solar
*/
:root{--ink:#10243a;--ink-2:#41566b;--sun:#f5a300;--sun-d:#c27d00;--sky:#eaf3f6;--leaf:#1f7a5a;--line:#d5e0e6;--white:#fff;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 "Public Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--white)}
h1,h2,h3,h4{font-family:"Archivo",system-ui,sans-serif;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800}h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700}h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em;max-width:68ch}a{color:var(--ink)}img{max-width:100%;height:auto}
.wrap{width:min(var(--max),100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.btn{display:inline-block;padding:.85em 1.5em;background:var(--sun);color:var(--ink);font-weight:700;text-decoration:none;border-radius:4px;border:2px solid var(--sun);cursor:pointer;font:inherit;font-weight:700}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}.btn.ghost{background:transparent;border-color:currentColor;color:inherit}.btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
/* header */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:"Archivo",sans-serif;font-weight:800;font-size:1.2rem}
.brand svg{width:38px;height:38px}
.nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0}
.nav a{text-decoration:none;font-weight:600;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav .current-menu-item>a{border-color:var(--sun)}
.menu-toggle{display:none;background:none;border:2px solid var(--ink);padding:8px 12px;font:inherit;font-weight:700;border-radius:4px}
/* hero */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:clamp(60px,9vw,120px) 0}
.hero .wrap{position:relative;z-index:2}
.hero p{font-size:1.2rem;color:#cfe0ea}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero h1{max-width:14ch}
.sun{position:absolute;right:-8%;top:50%;width:min(620px,70vw);aspect-ratio:1;transform:translateY(-50%);z-index:1}
.sun circle{fill:none;stroke:var(--sun);stroke-width:2}.sun .core{fill:var(--sun);stroke:none}
.sun .r{transform-origin:50% 50%;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sun .r{animation:none}}
/* sections */
.section{padding:clamp(48px,7vw,96px) 0}.section.alt{background:var(--sky)}
.section-head{margin-bottom:34px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 40px}
.item{border-top:3px solid var(--ink);padding:18px 0 26px}
.item.sun-b{border-color:var(--sun)}.item.leaf-b{border-color:var(--leaf)}
.item p{color:var(--ink-2);margin:0}
.group-title{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
.group-title small{color:var(--ink-2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.checks{list-style:none;padding:0;margin:0}.checks li{padding:10px 0 10px 32px;border-bottom:1px solid var(--line);position:relative}
.checks li:before{content:"";position:absolute;left:0;top:17px;width:14px;height:14px;background:var(--sun);border-radius:50%}
.cta{background:var(--sun);padding:56px 0}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.cta h2{margin:0}
.cta .btn{background:var(--ink);border-color:var(--ink);color:#fff}.cta .btn:hover{background:#fff;color:var(--ink)}
.page-title{background:var(--sky);padding:56px 0;border-bottom:1px solid var(--line)}.page-title h1{font-size:clamp(2rem,5vw,3.2rem);margin:0}
.content{padding:48px 0 80px}.content .wrap>*{max-width:780px}
/* forms */
.form{display:grid;gap:16px;max-width:620px}.form label{font-weight:600;display:grid;gap:6px}
.form input,.form select,.form textarea{font:inherit;padding:12px;border:1px solid #9bb0bd;border-radius:4px;width:100%}
.notice{padding:14px 18px;border-left:4px solid var(--leaf);background:#e6f4ee;margin-bottom:20px}.notice.err{border-color:#b3261e;background:#fbe9e7}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px}.contact-grid .wrap-in{max-width:none}
.content .wrap>.contact-grid{max-width:none}
/* footer */
.site-footer{background:var(--ink);color:#cfe0ea;padding:56px 0 28px}.site-footer a{color:#fff}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.site-footer h3{color:#fff}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:6px}
.copy{border-top:1px solid #2b4560;margin-top:36px;padding-top:18px;font-size:.9rem}
/* posts */
.post{padding:24px 0;border-bottom:1px solid var(--line)}.post h2{font-size:1.5rem}.meta{color:var(--ink-2);font-size:.9rem}
@media(max-width:820px){
.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px}
.nav.open{display:block}.nav ul{flex-direction:column;gap:10px}
.split,.contact-grid,.fgrid{grid-template-columns:1fr}.sun{opacity:.35;right:-30%}}
