/* pluginsolarprices.co.uk
   Costs and payback. The structural idea is a receipt: an itemised sheet with a
   running total, where anything we cannot source is printed as unknown rather
   than guessed. Figures are set in a typewriter face so the sheet reads as a
   reckoning rather than a sales page.

   Distinct from britain, leads, info, news and comparison in ground, palette,
   faces and structure. */

:root{
  --paper:#FAFAF8;
  --card:#FFFFFF;
  --ink:#101010;
  --body-ink:#2E2E2C;
  --dim:#6A6A66;
  --rule:#DEDED8;
  --rule-strong:#101010;
  --money:#1D6F42;
  --money-deep:#14512F;
  --unknown:#A23B1E;
  --unknown-bg:#FBF0EC;
  --display:"Bitter",Georgia,serif;
  --body:"Karla","Helvetica Neue",Arial,sans-serif;
  --fig:"Courier Prime",ui-monospace,Courier,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body-ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:64rem;margin:0 auto;padding:0 1.8rem}
@media(max-width:640px){.wrap{padding:0 1.15rem}}
h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0;font-weight:700;letter-spacing:-0.01em}
p{margin:0 0 1.05rem;max-width:66ch}
a{color:var(--money-deep);font-weight:700;text-decoration:none}
a:hover{color:var(--ink)}
.fig{font-family:var(--fig);font-variant-numeric:tabular-nums}

header.mast{background:var(--card);border-bottom:2px solid var(--rule-strong)}
.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.25rem;flex-wrap:wrap}
.brand{font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--ink)}
.brand span{font-family:var(--fig);font-size:.95rem;color:var(--money);margin-left:.3rem}
.mast nav{display:flex;gap:1.4rem;font-size:.93rem;font-weight:700}
.mast nav a{color:var(--body-ink)}
.mast nav a:hover{color:var(--money)}
@media(max-width:760px){.mast nav{display:none}}

.hero{padding:3.5rem 0 2.5rem}
h1{font-size:clamp(2.4rem,4.6vw,3.7rem);line-height:1.06;max-width:18ch}
h1 em{font-style:normal;color:var(--money)}
.stand{font-size:1.14rem;color:var(--dim);max-width:56ch;margin:1.3rem 0 0}

/* the sheet */
.sheet{background:var(--card);border:2px solid var(--rule-strong);margin-top:2.5rem;font-family:var(--fig)}
.sheet-head{padding:1.1rem 1.4rem;border-bottom:2px dashed var(--rule);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:baseline}
.sheet-head b{font-family:var(--display);font-size:1.25rem;color:var(--ink)}
.sheet-head span{font-size:.8rem;color:var(--dim)}
.line{display:grid;grid-template-columns:1fr 9rem;gap:1rem;padding:.85rem 1.4rem;border-bottom:1px dotted var(--rule);align-items:baseline}
@media(max-width:600px){.line{grid-template-columns:1fr 7rem;gap:.6rem;padding:.8rem 1rem}}
.line b{font-family:var(--body);font-weight:700;font-size:.97rem;color:var(--ink);display:block}
.line small{display:block;font-family:var(--body);font-weight:400;font-size:.86rem;color:var(--dim);margin-top:.15rem;max-width:52ch}
.amt{text-align:right;font-size:1rem;color:var(--ink);white-space:nowrap}
.amt.unk{color:var(--unknown)}
.line.total{border-bottom:0;border-top:2px solid var(--rule-strong);padding-top:1.1rem;padding-bottom:1.2rem}
.line.total b{font-family:var(--display);font-size:1.15rem}
.line.total .amt{font-size:1.2rem;font-weight:700}
.sheet-foot{padding:1rem 1.4rem;background:var(--unknown-bg);border-top:1px dashed var(--rule);font-family:var(--body);font-size:.9rem;color:var(--unknown)}

section{padding:3.5rem 0}
section.alt{background:var(--card);border-top:2px solid var(--rule-strong);border-bottom:2px solid var(--rule-strong)}
h2{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.12;margin-bottom:.7rem}
.lede{font-size:1.06rem;color:var(--dim);max-width:58ch}

table{width:100%;border-collapse:collapse;margin:1.7rem 0 0;font-size:.95rem;background:var(--card)}
th,td{text-align:left;padding:.7rem .85rem;border:1px solid var(--rule);vertical-align:top}
th{background:var(--paper);font-family:var(--display);font-weight:700;font-size:.84rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink)}
td.num{text-align:right;font-family:var(--fig);font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:560px){table{display:block;overflow-x:auto}}

.callout{border:2px solid var(--rule-strong);background:var(--card);padding:1.2rem 1.35rem;margin-top:1.8rem;max-width:66ch}
.callout b{display:block;font-family:var(--display);font-size:.92rem;color:var(--unknown);margin-bottom:.4rem}
.callout p{margin:0;font-size:.95rem}
/* A conflict between two sellers is a different kind of note from a missing figure. */
.callout.stop{background:var(--unknown-bg);border-color:var(--unknown)}
.callout.stop p+p{margin-top:.7rem}

form{background:var(--card);border:2px solid var(--rule-strong);padding:1.6rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
@media(max-width:880px){.form-grid{grid-template-columns:1fr;gap:1.75rem}}
label{display:block;font-family:var(--body);font-size:.86rem;font-weight:700;margin-bottom:.35rem;color:var(--ink)}
input,select{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0}
input:focus,select:focus{outline:2px solid var(--money);outline-offset:1px}
.field{margin-bottom:1rem}
.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(--money);color:#fff;font-family:var(--display);font-weight:700;font-size:1.05rem;padding:.8rem 1.3rem;border:0;cursor:pointer}
.btn:hover{background:var(--money-deep)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.note{font-size:.86rem;color:var(--dim);margin:.85rem 0 0}

footer{background:var(--ink);color:#A8A8A2;padding:2.75rem 0 3.25rem;font-size:.9rem}
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.6rem}}
footer h4{font-family:var(--fig);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#7E7E78;margin:0 0 .7rem}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
footer a{color:#E2E2DC;font-weight:700}
footer a:hover{color:#fff}
.foot-note{grid-column:1/-1;border-top:1px solid #333330;margin-top:2rem;padding-top:1.3rem;font-size:.82rem;color:#7E7E78}

/* On a phone the two column sheet line cannot hold a label and a long value like
   "not established" side by side, so the line stacks and the value left-aligns.
   The receipt reading is kept by the dotted rules and the typewriter figures. */
@media(max-width:600px){
  .line{grid-template-columns:1fr;gap:.3rem}
  .amt{text-align:left;white-space:normal}
  .line.total .amt{font-size:1.1rem}
}
