/* Deuteronomy Consulting Ltd — site stylesheet */
:root{
  --green:#0E3B29; --green-d:#0A2C1E; --green-l:#14472F;
  --gold:#E3B84C; --gold-d:#C08F22; --gold-p:#F2D68F;
  --cream:#F6F1E6; --paper:#FFFFFF;
  --ink:#182620; --ink-2:#4A5A52; --ink-3:#7E8C85;
  --rule:#DED6C4;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --wrap:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(14,59,41,.28)}
a:hover{border-bottom-color:var(--green)}

/* ---------- header ---------- */
header{background:var(--green);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;padding:15px 0;gap:20px}
.brand{display:flex;align-items:center;gap:11px;border:0}
.brand svg{display:block;flex:none}
.brand .bt{font-family:var(--serif);color:var(--gold);font-size:16px;letter-spacing:3.1px;line-height:1.05}
.brand .bs{font-family:var(--serif);color:var(--gold);opacity:.72;font-size:8.5px;letter-spacing:4.4px}
nav ul{list-style:none;display:flex;gap:21px;align-items:center}
nav a{color:var(--cream);border:0;font-size:14px;letter-spacing:.3px;opacity:.85;white-space:nowrap}
nav a:hover,nav a[aria-current]{opacity:1;color:var(--gold)}
.navbtn{border:1px solid var(--gold)!important;color:var(--gold)!important;padding:7px 15px;opacity:1!important;font-size:13.5px}
.navbtn:hover{background:var(--gold);color:var(--green)!important}
.burger{display:none;background:none;border:0;color:var(--gold);font-size:24px;cursor:pointer;line-height:1}

/* ---------- type ---------- */
h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.6vw,52px);line-height:1.14;letter-spacing:-.4px}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.5vw,29px);line-height:1.24;margin-bottom:14px}
h3{font-family:var(--serif);font-weight:400;font-size:20px;margin-bottom:7px}
.eyebrow{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;color:var(--ink-3);margin-bottom:13px}
.lede{font-size:19px;color:var(--ink-2);line-height:1.6}
p+p{margin-top:13px}
.muted{color:var(--ink-3);font-size:14.5px}

/* ---------- sections ---------- */
section{padding:62px 0}
section.tight{padding:44px 0}
.hero{background:var(--green);color:var(--cream);padding:88px 0 76px}
.hero h1{color:var(--cream);max-width:15ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .lede{color:rgba(246,241,230,.8);margin-top:18px;max-width:46ch}
.hero .cta{display:inline-block;margin-top:30px;background:var(--gold);color:var(--green);border:0;
  padding:13px 26px;font-size:15px;letter-spacing:.4px;font-weight:600}
.hero .cta:hover{background:var(--gold-p)}
.band{background:var(--cream)}
.rule-top{border-top:1px solid var(--rule)}

/* ---------- grids ---------- */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:38px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{border-top:2px solid var(--green);padding-top:16px}
.card .n{font-size:10.5px;letter-spacing:2.2px;color:var(--ink-3);text-transform:uppercase}
.card h3{margin:4px 0 7px}
.card p{font-size:15px;color:var(--ink-2)}
.card .price{margin-top:13px;padding-top:11px;border-top:1px solid var(--rule);
  font-family:var(--serif);font-size:19px;color:var(--gold-d)}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.stat{background:var(--green);color:var(--cream);padding:24px 22px}
.stat .big{font-family:var(--serif);font-size:36px;color:var(--gold);line-height:1}
.stat .lbl{font-size:13.5px;color:rgba(246,241,230,.78);margin-top:9px;line-height:1.45}

/* ---------- boundary ---------- */
.boundary{background:var(--cream);border-left:3px solid var(--gold-d);padding:24px 26px}
.boundary h3{color:var(--green)}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;padding:19px 0;font-family:var(--serif);font-size:19px;color:var(--green);list-style:none;
  display:flex;justify-content:space-between;gap:18px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold-d);font-size:22px;flex:none}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 21px;max-width:74ch;color:var(--ink-2)}

/* ---------- steps / list ---------- */
ul.ticks{list-style:none}
ul.ticks li{padding-left:22px;position:relative;margin-bottom:9px;color:var(--ink-2)}
ul.ticks li::before{content:"—";position:absolute;left:0;color:var(--gold-d)}

/* ---------- form ---------- */
form{display:grid;gap:14px;max-width:520px}
label{font-size:13px;letter-spacing:.4px;color:var(--ink-2);display:block;margin-bottom:5px}
input,textarea{width:100%;padding:11px 13px;border:1px solid var(--rule);font-family:var(--sans);font-size:15px;background:#fff}
input:focus,textarea:focus{outline:2px solid var(--gold);border-color:transparent}
button.submit{background:var(--green);color:var(--cream);border:0;padding:13px 26px;font-size:15px;cursor:pointer;justify-self:start}
button.submit:hover{background:var(--green-l)}

/* ---------- footer ---------- */
footer{background:var(--green);color:rgba(246,241,230,.75);padding:46px 0 30px;font-size:14px;margin-top:0}
footer a{color:var(--cream);border-bottom-color:rgba(246,241,230,.3)}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
footer h4{font-family:var(--serif);color:var(--gold);font-weight:400;font-size:15px;margin-bottom:11px}
footer ul{list-style:none}
footer li{margin-bottom:6px}
.legal{margin-top:32px;padding-top:18px;border-top:1px solid rgba(246,241,230,.16);font-size:12.2px;color:rgba(246,241,230,.55);line-height:1.65}

@media(max-width:1040px){
  .g2,.g3,.stats,footer .fg{grid-template-columns:1fr}
  nav ul{display:none}
  nav ul.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--green-d);padding:18px 28px;gap:15px}
  .burger{display:block}
  section{padding:46px 0}
  .hero{padding:60px 0 54px}
}

/* ---------- flow diagram ---------- */
.flow{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}
.flowbox{border:1px solid var(--rule);padding:22px 22px 18px}
.flowbox.bad{background:#FBF7F1}
.flowbox.good{background:var(--green);border-color:var(--green)}
.flowbox h3{font-size:17px;margin-bottom:14px}
.flowbox.good h3{color:var(--gold)}
.flowbox svg{width:100%;height:auto;display:block}
.flowcap{font-size:13.5px;line-height:1.5;margin-top:14px;color:var(--ink-2)}
.flowbox.good .flowcap{color:rgba(246,241,230,.8)}

/* ---------- small-business call ---------- */
.smallco{border:1px solid var(--gold-d);background:var(--cream);padding:30px 32px;display:grid;
  grid-template-columns:1.5fr 1fr;gap:28px;align-items:center}
.smallco h2{margin-bottom:8px}
.smallco .act{text-align:right}
.smallco .btn{display:inline-block;background:var(--green);color:var(--cream);border:0;padding:13px 24px;font-size:15px}
.smallco .btn:hover{background:var(--green-l)}
@media(max-width:940px){.flow,.smallco{grid-template-columns:1fr}.smallco .act{text-align:left}}

/* ---------- calculator ---------- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:26px;border:1px solid var(--rule)}
.calc-in{padding:26px 28px;background:#fff}
.calc-out{padding:26px 28px;background:var(--green);color:var(--cream)}
.fld{margin-bottom:18px}
.fld label{font-size:12.5px;letter-spacing:.5px;color:var(--ink-2);text-transform:uppercase;display:block;margin-bottom:7px}
.fld .u{text-transform:none;letter-spacing:0;color:var(--ink-3)}
.fld select{width:100%;padding:10px 12px;border:1px solid var(--rule);font-family:var(--sans);font-size:14.5px;background:#fff}
.fld input[type=range]{width:100%;accent-color:var(--green);margin:2px 0}
.fld output{font-family:var(--serif);font-size:17px;color:var(--green)}
.seg{display:flex;gap:0;border:1px solid var(--rule)}
.seg button{flex:1;padding:9px 6px;border:0;background:#fff;font-family:var(--sans);font-size:12.5px;
  color:var(--ink-2);cursor:pointer;border-right:1px solid var(--rule)}
.seg button:last-child{border-right:0}
.seg button.on{background:var(--green);color:var(--cream)}
.verdict{border-bottom:1px solid rgba(246,241,230,.22);padding-bottom:16px;margin-bottom:16px}
.vt{display:block;font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1.1}
.vt.warn{color:#F0B45E}.vt.bad{color:#E88A6A}
.vs{display:block;font-size:13px;color:rgba(246,241,230,.72);margin-top:5px}
table.brk{width:100%;border-collapse:collapse;font-size:14.5px}
table.brk th{text-align:left;font-weight:400;color:rgba(246,241,230,.75);padding:6px 0}
table.brk td{text-align:right;padding:6px 0;font-variant-numeric:tabular-nums}
table.brk tr.tot th,table.brk tr.tot td{border-top:1px solid rgba(246,241,230,.25);padding-top:11px;
  font-family:var(--serif);font-size:19px;color:var(--gold)}
table.brk tr.pct td,table.brk tr.pct th{color:rgba(246,241,230,.72);font-size:13px;padding-top:2px}
.note{font-size:12px;color:rgba(246,241,230,.55);margin-top:16px;line-height:1.5}
@media(max-width:940px){.calc{grid-template-columns:1fr}}

/* ---------- roi split + payback ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;
  padding-top:16px;border-top:1px solid rgba(246,241,230,.22)}
.split .k{display:block;font-family:var(--serif);font-size:23px;color:var(--gold);line-height:1.1}
.split .l{display:block;font-size:11.5px;color:rgba(246,241,230,.7);margin-top:3px;line-height:1.35}
.payback{margin-top:22px;border:1px solid var(--gold-d);background:#fff;padding:20px 24px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.payback p{margin:0;font-size:16px}
.payback .btn{display:inline-block;background:var(--green);color:var(--cream);border:0;padding:12px 22px;font-size:14.5px;white-space:nowrap}
.payback .btn:hover{background:var(--green-l)}

/* ---------- expandable build cards ---------- */
.builds{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;margin-top:26px}
.build{border-top:2px solid var(--green);padding:0}
.build summary{cursor:pointer;list-style:none;padding:15px 0 13px;display:flex;justify-content:space-between;
  gap:14px;align-items:baseline}
.build summary::-webkit-details-marker{display:none}
.build summary::after{content:"+";color:var(--gold-d);font-size:21px;flex:none;line-height:1}
.build[open] summary::after{content:"\2013"}
.build .st{font-family:var(--serif);font-size:19px;color:var(--green)}
.build .sp{font-family:var(--serif);font-size:15px;color:var(--gold-d);white-space:nowrap;margin-left:auto;
  padding-right:12px}
.build .body{padding:0 0 20px;font-size:14.5px;color:var(--ink-2);line-height:1.6}
.build .body h4{font-family:var(--sans);font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--ink-3);margin:14px 0 7px;font-weight:600}
.build .body ul{list-style:none;margin:0}
.build .body li{padding-left:18px;position:relative;margin-bottom:5px}
.build .body li::before{content:"\2014";position:absolute;left:0;color:var(--gold-d)}
.build .body .egs{background:var(--cream);padding:12px 14px;margin-top:12px;font-size:13.5px}
@media(max-width:940px){.builds{grid-template-columns:1fr}}
