:root{
  --ink:#141210; --paper:#f4efe5; --red:#d5382b; --gold:#c9a250;
  --green:#1fa855; --line:#d9cfba; --mut:#8a8272; --mutd:#a99f8c; --electric:#69e7c5; --card:#fbf8f2;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,"Courier New",monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:0 22px}
p{margin:0 0 14px;max-width:66ch}
h1,h2,h3{text-wrap:balance}

/* bar */
.bar{background:var(--ink);color:var(--paper)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;padding-bottom:14px;gap:14px}
.bar a{color:var(--paper);text-decoration:none;font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.bar .back{color:var(--gold)}

/* hero */
header{background:var(--ink);color:var(--paper);padding:34px 0 38px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:0 0 14px}
h1{font-family:var(--sans);font-weight:800;font-size:clamp(30px,7vw,46px);line-height:1.04;
  letter-spacing:-.02em;margin:0 0 14px}
header p{color:#cfc7b8;margin-bottom:12px}
header p:last-child{margin-bottom:0}
header b{color:var(--paper);font-weight:600}

/* price block */
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;
  border-top:1px solid rgba(244,239,229,.18);margin-top:26px;padding-top:22px}
.pnum{font-family:var(--sans);font-weight:800;font-size:clamp(36px,8.5vw,50px);line-height:1;
  letter-spacing:-.02em;color:#fff}
.pper{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:#8a8272}
.plock{font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--gold);
  margin:14px 0 0;width:100%}

/* who */
.who{display:grid;gap:1px;background:rgba(244,239,229,.16);margin-top:22px;
  border:1px solid rgba(244,239,229,.16);grid-template-columns:1fr 1fr}
.who div{background:var(--ink);padding:15px 16px}
.who dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:6px}
.who .yes dt{color:var(--electric)}
.who .no dt{color:var(--red)}
.who dd{margin:0;font-size:14.5px;line-height:1.5;color:#cfc7b8}

section{padding:34px 0;border-bottom:1px solid var(--line)}
.slabel{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--mut);margin:0 0 10px}
h2{font-family:var(--sans);font-weight:800;font-size:clamp(23px,5vw,31px);line-height:1.1;
  letter-spacing:-.02em;margin:0 0 14px}
h3{font-size:16.5px;font-weight:700;margin:0 0 7px}

/* the arc */
.arc{list-style:none;margin:0;padding:0}
.arc li{display:grid;grid-template-columns:96px 1fr;gap:4px 18px;padding:15px 0;
  border-bottom:1px solid var(--line)}
.arc li:last-child{border-bottom:0}
.arc .when{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--red);padding-top:3px}
.arc .what{font-size:15.5px}
.arc .what b{display:block;margin-bottom:2px}
.arc .what span{color:var(--mut);font-size:14.5px}

/* SPEC TABLE */
.spec{border:1px solid var(--ink);border-radius:3px;overflow:hidden;margin-top:6px}
.spec-head{background:var(--ink);color:var(--paper);padding:14px 18px;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;align-items:baseline}
.spec-head b{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.spec-head span{font-family:var(--mono);font-size:10.5px;color:#8a8272;letter-spacing:.08em}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.spec-t{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px}
table.spec-t th{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut);text-align:left;font-weight:500;background:var(--card);
  border-bottom:1px solid var(--ink);padding:10px 14px;white-space:nowrap}
table.spec-t td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top;
  line-height:1.5}
table.spec-t tr:last-child td{border-bottom:0}
table.spec-t td:first-child{font-weight:700;width:31%}
table.spec-t td.freq{font-family:var(--mono);font-size:12px;color:var(--mut);white-space:nowrap;
  width:19%}
.spec-foot{background:var(--card);border-top:1px solid var(--line);padding:13px 18px;
  font-size:13.5px;color:var(--mut);line-height:1.55}

/* not included */
.nope{border-left:3px solid var(--red);padding-left:18px}
.nope ul{margin:0;padding-left:18px}
.nope li{margin-bottom:8px;font-size:15.5px}
.nope li:last-child{margin-bottom:0}

/* need from you */
.need{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.need div{border:1px solid var(--line);border-radius:3px;padding:15px 17px;background:var(--card)}
.need dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut);margin-bottom:6px}
.need dd{margin:0;font-size:14.5px;line-height:1.5}

/* cta */
.cta{background:var(--ink);color:var(--paper);border-radius:3px;padding:26px 24px}
.cta h3{font-family:var(--sans);font-weight:700;font-size:22px;color:#fff;margin-bottom:10px}
.cta p{color:#cfc7b8;font-size:15.5px}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  font-family:var(--sans);font-size:16.5px;font-weight:700;text-decoration:none;
  border:none;border-radius:3px;padding:16px 18px;cursor:pointer;line-height:1.25;
  text-align:center;margin-top:8px}
.btn-wa{background:var(--green);color:#fff}
.btn-ghost{background:transparent;color:var(--paper);border:1px solid rgba(244,239,229,.4);
  font-weight:600;font-size:15.5px;padding:13px 18px}
.ctanote{font-size:13.5px;color:#8a8272;margin:12px 0 0;text-align:center;line-height:1.5}

footer{background:var(--ink);color:#8a8272;padding:26px 0 34px;font-size:13.5px}
footer a{color:var(--gold)}
.printlink{background:none;border:0;color:var(--mut);font-family:var(--mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:0;text-decoration:underline}

@media(max-width:560px){
  .who{grid-template-columns:1fr}
  .arc li{grid-template-columns:1fr;gap:2px}
  /* stack the spec table into blocks so nobody has to swipe sideways */
  table.spec-t{min-width:0}
  table.spec-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.spec-t tr{display:block;border-bottom:1px solid var(--line);padding:15px 0}
  table.spec-t tbody tr:last-child{border-bottom:0}
  table.spec-t td{display:block;border:0;padding:0 16px;width:auto}
  table.spec-t td:first-child{width:auto;font-size:15.5px;margin-bottom:5px}
  table.spec-t td.freq{width:auto;margin-top:8px;font-size:10px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--red)}
  table.spec-t td.freq:empty{display:none}
}
@media print{
  .bar,.cta,.printlink,footer{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  header{background:#fff!important;color:#000!important;padding:0 0 14pt;
    border-bottom:2px solid #000}
  header p,.pper,.who dd{color:#333!important}
  .pnum,h1,header b{color:#000!important}
  .plock{color:#000!important}
  .who{border:1px solid #999;background:#999}
  .who div{background:#fff}
  .who .yes dt,.who .no dt{color:#000!important}
  .spec-head{background:#fff!important;color:#000!important;border-bottom:1px solid #000}
  .spec-head span{color:#444!important}
  section{page-break-inside:avoid;border-bottom:1px solid #bbb}
  .tw{overflow:visible}
  table.spec-t{min-width:0}
  a{color:#000!important;text-decoration:none}
}
.fab{position:fixed;right:20px;bottom:20px;z-index:70;background:#1fa855;color:#fff;
  text-decoration:none;font-weight:700;font-size:14.5px;padding:13px 20px;border-radius:40px;
  box-shadow:0 8px 24px rgba(20,18,16,.28);font-family:var(--sans)}
.fab:hover{background:#178a45}
@media print{.fab{display:none!important}}

/* collapsed deliverables (added 31 Aug - do not show everything upfront) */
details.spec-reveal{margin-top:6px}
details.spec-reveal>summary{list-style:none;cursor:pointer;display:flex;
  justify-content:space-between;align-items:center;gap:12px;background:var(--ink);
  color:var(--paper);border-radius:3px;padding:16px 18px;font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;user-select:none}
details.spec-reveal>summary::-webkit-details-marker{display:none}
details.spec-reveal>summary::after{content:"+ show";color:var(--gold);flex-shrink:0;white-space:nowrap}
details.spec-reveal[open]>summary::after{content:"\2212 hide"}
details.spec-reveal>summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
details.spec-reveal[open]>summary{border-radius:3px 3px 0 0}
details.spec-reveal[open]>.spec{border-radius:0 0 3px 3px;margin-top:0;border-top:0}
.custom-note{border-left:3px solid var(--gold);padding-left:18px;margin:0 0 18px;font-size:15.5px}
.custom-note b{font-weight:700}
@media print{details.spec-reveal>summary{display:none}details.spec-reveal>.spec{display:block}}
