/* East Rand Solar Pros — design tokens */
:root{
  --ink:#14212B;          /* evening slate-navy */
  --slate:#45586A;        /* secondary text */
  --paper:#FAF9F6;        /* daylight off-white */
  --card:#FFFFFF;
  --sun:#F2A413;          /* amber CTA */
  --sun-deep:#D88A00;
  --line:#E3E0D8;
  --wa:#1FAF54;
  --radius:14px;
  --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{
  font-family:"Instrument Sans",system-ui,-apple-system,sans-serif;
  background:var(--paper);color:var(--ink);
  font-size:17px;line-height:1.6;
  padding-bottom:72px; /* room for sticky bar on mobile */
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Type */
h1,h2,h3{font-family:"Bricolage Grotesque","Instrument Sans",sans-serif;line-height:1.08;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5.5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;margin-bottom:.6em}
h3{font-size:1.12rem;font-weight:700;margin-bottom:.35em}
p{color:var(--slate)}
.lead{font-size:1.12rem}
.eyebrow{
  font-family:"Spline Sans Mono",monospace;font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sun-deep);display:block;margin-bottom:.9em
}
strong{color:var(--ink)}

/* Header */
header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.05rem;text-decoration:none}
.logo span{color:var(--sun-deep)}
.nav-links{display:none;gap:26px;list-style:none}
.nav-links a{text-decoration:none;font-size:.95rem;color:var(--slate)}
.nav-links a:hover{color:var(--ink)}
.nav .btn{display:none}

/* Buttons */
.btn{
  display:inline-block;font-weight:700;text-decoration:none;text-align:center;
  padding:14px 26px;border-radius:999px;border:0;cursor:pointer;font-size:1rem;
  font-family:"Instrument Sans",sans-serif;transition:transform .12s ease,background .12s ease
}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-sun:hover{background:var(--sun-deep);transform:translateY(-1px)}
.btn-ghost{background:transparent;border:2px solid var(--ink);color:var(--ink)}
.btn-wa{background:var(--wa);color:#fff}

/* Hero */
.hero{padding:56px 0 34px}
.hero-grid{display:grid;gap:36px}
.hero h1 em{font-style:normal;color:var(--sun-deep)}
.hero .lead{margin:18px 0 26px;max-width:34em}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}

/* Signature: the sun ledger */
.ledger{
  margin:44px 0 8px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:1fr 1fr;font-family:"Spline Sans Mono",monospace
}
.ledger div{padding:14px 6px 16px}
.ledger .lbl{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.ledger .val{font-size:clamp(1.3rem,4vw,2rem);font-weight:600;margin-top:2px;color:var(--ink)}
.ledger .free .val{color:var(--sun-deep);position:relative;display:inline-block}
.ledger .free .val::after{
  content:"";position:absolute;left:0;bottom:-4px;height:4px;width:100%;
  background:var(--sun);transform-origin:left;animation:draw .9s ease .3s both
}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ledger-note{font-size:.8rem;color:var(--slate);margin-top:8px}

/* Quote form */
.quote-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 22px;box-shadow:0 10px 30px rgba(20,33,43,.07)
}
.quote-card h2{font-size:1.35rem}
.quote-card p.small{font-size:.9rem;margin-bottom:14px}
.field{margin-bottom:14px}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:5px}
input,select{
  width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:9px;
  font:inherit;background:#fff;color:var(--ink)
}
input:focus,select:focus{border-color:var(--sun)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--slate);margin:14px 0}
.consent input{width:18px;height:18px;margin-top:2px;flex:none}
.quote-card .btn{width:100%}
.hp{position:absolute;left:-5000px}

/* Sections */
.section{padding:56px 0}
.section-dark{background:var(--ink);color:#fff}
.section-dark h2{color:#fff}
.section-dark p{color:#B9C4CE}
.section-dark .eyebrow{color:var(--sun)}

/* Trust strip */
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.trust .num{font-family:"Spline Sans Mono",monospace;font-size:1.7rem;font-weight:600;color:var(--sun)}
.trust .cap{font-size:.85rem;color:#B9C4CE}

/* Cards */
.grid{display:grid;gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card p{font-size:.95rem}
.icon{width:38px;height:38px;border-radius:10px;background:rgba(242,164,19,.16);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:1.15rem}

/* Steps — real sequence */
.steps{counter-reset:s;display:grid;gap:18px}
.step{position:relative;padding-left:58px}
.step::before{
  counter-increment:s;content:counter(s,decimal-leading-zero);
  position:absolute;left:0;top:2px;font-family:"Spline Sans Mono",monospace;
  font-size:1rem;color:var(--sun-deep);border:1.5px solid var(--sun);border-radius:8px;padding:6px 8px
}

/* Suburbs */
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.chips a{
  display:inline-block;padding:9px 16px;border:1.5px solid var(--line);border-radius:999px;
  background:#fff;text-decoration:none;font-size:.92rem;font-weight:600
}
.chips a:hover{border-color:var(--sun)}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::after{content:"+";font-family:"Spline Sans Mono",monospace;color:var(--sun-deep)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;font-size:.96rem}

/* Article pages */
.article{max-width:720px;margin:0 auto;padding:48px 20px}
.article h1{margin-bottom:.4em}
.article h2{margin-top:1.6em}
.article p,.article li{margin-bottom:1em}
.article ul{padding-left:1.2em}
.article table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem}
.article th,.article td{border:1px solid var(--line);padding:10px;text-align:left}
.article th{background:#fff;font-family:"Spline Sans Mono",monospace;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.meta{font-family:"Spline Sans Mono",monospace;font-size:.78rem;color:var(--slate);letter-spacing:.1em;text-transform:uppercase}

/* CTA band */
.cta-band{background:var(--sun);border-radius:var(--radius);padding:34px 26px;text-align:center}
.cta-band h2{margin-bottom:6px}
.cta-band p{color:#5c4300;margin-bottom:18px}
.cta-band .btn{background:var(--ink);color:#fff}

/* Footer */
footer{background:var(--ink);color:#B9C4CE;padding:44px 0 110px;margin-top:56px}
footer .logo{color:#fff}
footer p{color:#B9C4CE;font-size:.9rem}
.foot-grid{display:grid;gap:26px;margin-top:22px}
footer a{color:#fff}

/* Sticky mobile action bar */
.sticky-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr 1fr 1.4fr;
  gap:8px;padding:10px 12px;background:rgba(250,249,246,.96);border-top:1px solid var(--line);
  backdrop-filter:blur(6px)
}
.sticky-bar .btn{padding:12px 8px;font-size:.9rem;border-radius:10px}

/* Desktop */
@media(min-width:860px){
  body{padding-bottom:0}
  .nav-links{display:flex}
  .nav .btn{display:inline-block;padding:10px 20px;font-size:.9rem}
  .hero{padding:76px 0 40px}
  .hero-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:56px}
  .trust{grid-template-columns:repeat(4,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .step{padding-left:0;padding-top:52px}
  .step::before{top:0}
  .foot-grid{grid-template-columns:2fr 1fr 1fr}
  .sticky-bar{display:none}
}
