/* pluginsolarleads.co.uk
   Trade site. Dark first, because it is read by people who look at numbers, not
   by homeowners. Nothing here is shared with pluginsolarbritain.co.uk: different
   ground, different palette, different type, different structure. */

:root{
  --ground:#0E1620;
  --surface:#17212D;
  --raised:#1E2A38;
  --edge:#2C3A4A;
  --text:#DAE4EB;
  --dim:#8A9BAC;
  --paper:#F2F5F7;
  --ink:#0E1620;
  --go:#21C07A;
  --go-deep:#17A163;
  --amber:#FFB020;
  --display:"Barlow Condensed","Helvetica Neue",Arial,sans-serif;
  --body:"Barlow","Helvetica Neue",Arial,sans-serif;
  --num:"Barlow Semi Condensed","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:72rem;margin:0 auto;padding:0 2rem}
@media(max-width:640px){.wrap{padding:0 1.15rem}}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:.005em;text-transform:uppercase}
h1{font-size:clamp(3rem,6vw,5rem);line-height:.98;font-weight:700}
h2{font-size:clamp(2.25rem,3.6vw,3.1rem);line-height:1.02;font-weight:700}
h3{font-size:1.35rem;font-weight:600}
p{margin:0 0 1.05rem;max-width:64ch}
a{color:var(--go);font-weight:600;text-decoration:none}
a:hover{color:var(--text)}
.lede{font-size:1.15rem;color:var(--dim);max-width:56ch}
.amber{color:var(--amber)}
.go{color:var(--go)}

/* masthead */
header.mast{border-bottom:1px solid var(--edge);background:var(--ground);position:sticky;top:0;z-index:20}
.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.5rem}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--text)}
.brand span{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:1.35rem;line-height:1}
.brand b{color:#1DA669}
nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;font-family:var(--display);text-transform:uppercase;font-size:1.05rem;font-weight:600;letter-spacing:.02em}
nav a{color:var(--text)}
nav a:hover{color:var(--go)}
@media(max-width:880px){nav{display:none}}
.cta-top{background:var(--go);color:var(--ground);padding:.55rem 1.1rem;font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:1rem}
.cta-top:hover{background:var(--amber);color:var(--ground)}

/* hero */
.hero{padding:4.5rem 0 4rem;border-bottom:1px solid var(--edge)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}}
.hero-grid>*{min-width:0}
@media(max-width:400px){h1{font-size:2.5rem}}
.kicker{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:1rem;font-weight:600;color:var(--amber);margin:0 0 1rem}
.hero p.lede{margin-top:1.4rem}

/* the board: a panel of the network, not invented numbers */
.board{background:var(--surface);border:1px solid var(--edge)}
.board-head{padding:1rem 1.3rem;border-bottom:1px solid var(--edge);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.board-head b{font-family:var(--display);text-transform:uppercase;font-size:1.2rem;font-weight:700}
.board-head span{font-size:.8rem;color:var(--dim)}
.board ul{list-style:none;margin:0;padding:0}
.board li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.3rem;border-bottom:1px solid var(--edge);font-size:.95rem}
.board li:last-child{border-bottom:0}
.board li b{font-family:var(--num);font-weight:600;font-size:1.05rem}
.tag{font-family:var(--display);text-transform:uppercase;font-size:.8rem;font-weight:700;letter-spacing:.04em;padding:.2rem .5rem;background:var(--raised);color:var(--dim)}
.tag.open{background:rgba(33,192,122,.16);color:var(--go)}

/* sections */
section{padding:4.5rem 0}
.pale{background:var(--paper);color:var(--ink)}
.pale .lede{color:#4A5B69}
.pale a{color:#0F7A4E}
.pale a:hover{color:var(--ink)}

/* numbered process, genuinely a sequence */
.flow{counter-reset:f;list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--edge);border:1px solid var(--edge)}
@media(max-width:900px){.flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.flow{grid-template-columns:1fr}}
.flow li{background:var(--surface);padding:1.5rem 1.3rem}
.pale .flow{background:#D7E0E6;border-color:#D7E0E6}
.pale .flow li{background:#fff}
.flow b{display:block;font-family:var(--num);font-size:2rem;font-weight:600;color:#199457;line-height:1;margin-bottom:.6rem}
.flow h3{margin-bottom:.4rem}
.flow p{font-size:.95rem;margin:0;color:var(--dim)}
.pale .flow p{color:#4A5B69}

/* what an enquiry contains */
.rows{margin:2.5rem 0 0;border:1px solid var(--edge)}
.rows div{display:grid;grid-template-columns:14rem 1fr;gap:1.5rem;padding:1.1rem 1.3rem;border-bottom:1px solid var(--edge);background:var(--surface)}
.rows div:last-child{border-bottom:0}
@media(max-width:700px){.rows div{grid-template-columns:1fr;gap:.35rem}}
/* The rows panel is dark even inside a pale section, so its own text colour has to be
   set rather than inherited. Without this the labels are ink on near-ink. */
.rows dt{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:1.05rem;color:var(--text)}
.rows dd{margin:0;color:var(--dim);font-size:.97rem}

/* form */
form{background:var(--surface);border:1px solid var(--edge);padding:1.75rem}
.pale form{background:#fff;border-color:#D7E0E6}
.field{margin-bottom:1rem}
label{display:block;font-family:var(--display);text-transform:uppercase;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
input,select,textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;background:var(--ground);border:1px solid var(--edge);color:var(--text);border-radius:0}
.pale input,.pale select,.pale textarea{background:var(--paper);border-color:#C9D4DC;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--go);outline-offset:1px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.row2{grid-template-columns:1fr}}
.btn{display:block;width:100%;background:var(--go);color:var(--ground);font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:1.2rem;letter-spacing:.02em;padding:.85rem 1.4rem;border:0;cursor:pointer}
.btn:hover{background:var(--amber)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.note{font-size:.85rem;color:var(--dim);margin:.9rem 0 0}
.pale .note{color:#4A5B69}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
@media(max-width:900px){.form-grid{grid-template-columns:1fr;gap:2rem}}

/* honest-state callout */
.state{border:1px solid var(--edge);background:var(--raised);padding:1.4rem 1.5rem;margin-top:2.5rem;max-width:64ch}
.state b{font-family:var(--display);text-transform:uppercase;font-size:1.15rem;display:block;margin-bottom:.4rem;color:var(--amber)}
.state p{margin:0;color:var(--dim);font-size:.97rem}

footer{border-top:1px solid var(--edge);padding:3rem 0 3.5rem;font-size:.9rem;color:var(--dim)}
footer .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.5rem}
@media(max-width:820px){footer .wrap{grid-template-columns:1fr;gap:1.75rem}}
footer h4{font-family:var(--display);text-transform:uppercase;font-size:1rem;color:var(--text);margin:0 0 .7rem}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
footer a{color:var(--text);font-weight:500}
.small{border-top:1px solid var(--edge);margin-top:2.5rem;padding-top:1.4rem;font-size:.8rem;grid-column:1/-1}
