/* Open Book Contractor — site styles
   Brand: Ink Navy #10161F · Ledger Paper #F4F1EA · Ochre #E0A02C
          Red Pen #C0392B · Slate #4A5159 · Rule Grey #8A9099          */

:root{
  --navy:#10161F; --paper:#F4F1EA; --ochre:#E0A02C;
  --red:#C0392B; --slate:#4A5159; --grey:#8A9099;
  --rule:#DCD8CE; --white:#FFFFFF;
  --cond:'IBM Plex Sans Condensed','Arial Narrow',sans-serif;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono','Courier New',monospace;
  --wrap:1060px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--paper); color:var(--navy);
  font-family:var(--sans); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--navy);}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px;}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--cond);font-weight:700;letter-spacing:-0.015em;margin:0;line-height:1.02;}
h1{font-size:clamp(38px,6.4vw,74px);}
h2{font-size:clamp(28px,4vw,44px);}
h3{font-size:22px;line-height:1.15;}
p{margin:0 0 1em;text-wrap:pretty;}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ochre);margin-bottom:16px;}
.eyebrow.dark{color:var(--red);}
.lede{font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--slate);}
.num{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;}
.small{font-size:14px;line-height:1.5;color:var(--slate);}

/* the double rule motif */
.rule2{display:flex;flex-direction:column;gap:4px;margin:0 0 28px;max-width:340px;}
.rule2 i{display:block;height:3px;background:currentColor;}
.rule2 i+i{height:1px;}

/* ---------- header ---------- */
.site-head{background:var(--navy);color:var(--paper);}
.site-head .wrap{display:flex;align-items:center;gap:18px;padding-block:18px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;}
.brand .wm{display:flex;flex-direction:column;gap:2px;}
.brand .wm b{font-family:var(--cond);font-weight:700;font-size:21px;line-height:1;letter-spacing:0;}
.brand .wm span{font-family:var(--cond);font-weight:600;font-size:9.5px;letter-spacing:.28em;text-indent:.28em;color:var(--ochre);}
.site-nav{margin-left:auto;display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.site-nav a{color:var(--paper);text-decoration:none;font-size:15px;opacity:.85;}
.site-nav a:hover{opacity:1;color:var(--ochre);}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:var(--paper);
  background-image:repeating-linear-gradient(to bottom,rgba(244,241,234,.045) 0 1px,transparent 1px 44px);}
.hero .wrap{padding-block:clamp(56px,9vw,104px);}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:center;}
.hero h1{margin-bottom:24px;}
.hero .lede{color:#C7CBD1;max-width:44ch;}
.hero .rule2{color:var(--paper);}

/* portrait slot */
.portrait{border:2px dashed rgba(244,241,234,.28);aspect-ratio:4/5;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;}
.portrait .t{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--grey);}

/* ---------- sections ---------- */
section{padding-block:clamp(48px,7vw,88px);}
section.tight{padding-block:clamp(36px,5vw,60px);}
.band-navy{background:var(--navy);color:var(--paper);}
.band-navy .lede{color:#C7CBD1;}
.band-navy .rule2{color:var(--paper);}

.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:36px;}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start;}
.grid2.wide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);}
.card h3{margin-bottom:10px;}
.card p{color:var(--slate);font-size:16px;margin:0;}
.band-navy .card p{color:#C7CBD1;}

/* numbered list */
.steps{display:flex;flex-direction:column;gap:22px;margin-top:32px;}
.step{display:flex;gap:18px;align-items:flex-start;}
.step .n{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--ochre);padding-top:4px;min-width:26px;}
.step .b{flex:1;}
.step h3{font-size:19px;margin-bottom:5px;}
.step p{margin:0;color:var(--slate);font-size:16px;}
.band-navy .step p{color:#C7CBD1;}

/* ---------- signup ---------- */
.offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:52px;align-items:center;}
.sheet-shot{border:1px solid var(--rule);background:var(--white);box-shadow:0 18px 40px rgba(16,22,31,.13);}
.band-navy .sheet-shot{border-color:rgba(244,241,234,.2);}

form.signup{display:flex;flex-direction:column;gap:12px;max-width:440px;margin-top:26px;}
form.signup .row{display:flex;gap:10px;flex-wrap:wrap;}
input[type=email],input[type=text]{
  flex:1 1 220px;min-width:0;font-family:var(--sans);font-size:16px;padding:15px 16px;
  border:1px solid var(--grey);background:var(--white);color:var(--navy);border-radius:2px;}
input::placeholder{color:var(--grey);}
input:focus{outline:2px solid var(--ochre);outline-offset:1px;}
.btn{
  display:inline-block;font-family:var(--cond);font-weight:700;font-size:18px;letter-spacing:.02em;
  padding:15px 26px;border:0;border-radius:2px;background:var(--ochre);color:var(--navy);
  cursor:pointer;text-decoration:none;text-align:center;white-space:nowrap;}
.btn:hover{background:#C98A1E;}
.btn.ghost{background:transparent;color:var(--paper);border:2px solid var(--paper);padding:13px 24px;}
.btn.ghost:hover{background:var(--paper);color:var(--navy);}
.formnote{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--grey);}

/* ---------- listen row ---------- */
.listen{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.listen a{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;padding:12px 18px;border:1px solid var(--grey);color:inherit;border-radius:2px;}
.listen a:hover{border-color:var(--ochre);color:var(--ochre);}

/* ---------- price ---------- */
.pricebox{border:2px solid var(--navy);padding:30px;display:flex;flex-direction:column;gap:6px;background:var(--white);}
.pricebox .amt{font-family:var(--mono);font-weight:700;font-size:clamp(30px,4.4vw,42px);line-height:1;}
.pricebox .per{font-family:var(--mono);font-size:13px;color:var(--slate);letter-spacing:.08em;}

.notfor{border-left:3px solid var(--red);padding-left:20px;}
.notfor li{margin-bottom:9px;color:var(--slate);}

ul.plain{list-style:none;padding:0;margin:0;}
ul.plain li{padding-left:22px;position:relative;margin-bottom:11px;}
ul.plain li::before{content:"";position:absolute;left:0;top:.62em;width:11px;height:2px;background:var(--ochre);}

/* ---------- footer ---------- */
.site-foot{background:var(--navy);color:var(--grey);font-size:14px;}
.site-foot .wrap{padding-block:44px;display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start;}
.site-foot a{color:var(--grey);}
.site-foot a:hover{color:var(--ochre);}
.site-foot .right{margin-left:auto;text-align:right;font-family:var(--mono);font-size:12px;letter-spacing:.06em;}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .hero-grid,.offer,.grid2,.grid2.wide{grid-template-columns:1fr;gap:36px;}
  .cols3{grid-template-columns:1fr;gap:26px;}
  .portrait{max-width:320px;}
  .site-foot .right{margin-left:0;text-align:left;}
  .site-head .wrap{flex-wrap:wrap;gap:12px;}
  .site-nav{gap:18px;}
}
@media (max-width:420px){
  body{font-size:16px;}
  .listen a{flex:1 1 100%;text-align:center;}
  .btn{white-space:normal;}
}
