/* Enduring with Hope — site styles
   Palette: harbor petrol ground, brass accent, verdigris for affirmation,
   cool chart paper as the light sheet. Type: Spectral display / Archivo body /
   IBM Plex Mono for labels. */
:root{
  --ink:#0E2027; --deep:#143038; --deep-2:#1B3D46;
  --brass:#8A6120; --brass-lift:#C79445;
  --verd:#39685C; --verd-lift:#7FAE9E;
  --paper:#EFF1EC; --sheet:#FAFBF8; --sheet-2:#E4EAE3;
  --rule:#C2CBC5; --rule-soft:#D8DED7;
  --text:#132428; --text-soft:#43565B; --text-faint:#67787D;
  --on-deep:#E9EFEB; --on-deep-soft:#A7BCBA; --on-deep-gold:#E9C58E;
  --focus:#1E6E8C;
  --maxw:1080px; --read:65ch;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme: dark;
    --ink:#091519; --deep:#11262D; --deep-2:#183640;
    --brass:#C79445; --brass-lift:#E2B573;
    --verd:#7FAE9E; --verd-lift:#9DC6B7;
    --paper:#0F181B; --sheet:#152227; --sheet-2:#1C2C31;
    --rule:#2D4148; --rule-soft:#24363C;
    --text:#E5ECE8; --text-soft:#A9BCB9; --text-faint:#85999B;
    --on-deep:#E9EFEB; --on-deep-soft:#A7BCBA; --on-deep-gold:#E6C08B;
  }
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --ink:#091519; --deep:#11262D; --deep-2:#183640;
  --brass:#C79445; --brass-lift:#E2B573;
  --verd:#7FAE9E; --verd-lift:#9DC6B7;
  --paper:#0F181B; --sheet:#152227; --sheet-2:#1C2C31;
  --rule:#2D4148; --rule-soft:#24363C;
  --text:#E5ECE8; --text-soft:#A9BCB9; --text-faint:#85999B;
  --on-deep:#E9EFEB; --on-deep-soft:#A7BCBA; --on-deep-gold:#E6C08B;
}

*{box-sizing:border-box}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
html,body{margin:0}
body{
  background:var(--paper); color:var(--text);
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;
  font-size:17px; line-height:1.62; -webkit-font-smoothing:antialiased;
}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
img{max-width:100%}
h1,h2,h3,h4{text-wrap:balance;margin:0}
p{margin:0}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:22px}
.narrow{max-width:720px}
.read{max-width:var(--read)}

/* ── nav ── */
.nav{background:var(--ink);color:var(--on-deep)}
.nav-in{
  max-width:var(--maxw);margin:0 auto;padding:14px 22px;
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;
}
.brand{
  font-family:"Spectral",Georgia,serif;font-size:19px;font-weight:600;color:#fff;
  text-decoration:none;margin-right:auto;letter-spacing:.01em;
}
.brand span{color:var(--on-deep-gold)}
.nav a.lnk{
  color:var(--on-deep-soft);text-decoration:none;font-size:14.5px;font-weight:500;
}
.nav a.lnk:hover,.nav a.lnk[aria-current="page"]{color:#fff}
.nav a.cta{
  background:var(--brass-lift);color:#15242A;padding:8px 15px;border-radius:2px;
  font-weight:600;font-size:14.5px;text-decoration:none;
}
.nav a.cta:hover{background:#DDAE63}

/* ── hero ── */
.hero{background:var(--deep);color:var(--on-deep);padding-block:64px 58px}
.hero .eyebrow{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--on-deep-gold);margin-bottom:16px;
}
.hero h1{
  font-family:"Spectral",Georgia,serif;font-weight:600;color:#fff;
  font-size:clamp(38px,7.4vw,76px);line-height:1.02;letter-spacing:-.015em;max-width:17ch;
}
.hero h1 .not{color:var(--brass-lift)}
.hero .sub{
  margin-top:22px;font-size:clamp(17.5px,2.4vw,21px);color:var(--on-deep-soft);
  max-width:46ch;line-height:1.5;
}
.hero .sub b{color:#fff;font-weight:500}
.hero .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

.btn{
  display:inline-block;padding:13px 22px;border-radius:2px;text-decoration:none;
  font-weight:600;font-size:16px;border:1px solid transparent;
}
.btn-p{background:var(--brass-lift);color:#15242A}
.btn-p:hover{background:#DDAE63}
.btn-s{border-color:rgba(255,255,255,.34);color:#fff}
.btn-s:hover{border-color:#fff}
.btn-d{background:var(--deep);color:#fff}
.btn-d:hover{background:var(--deep-2)}
.btn-o{border-color:var(--rule);color:var(--text)}
.btn-o:hover{border-color:var(--text-soft)}

/* ── sections ── */
section{padding-block:52px}
.sheet{background:var(--sheet);border-block:1px solid var(--rule-soft)}
.label{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:10px;
}
h2{font-family:"Spectral",Georgia,serif;font-size:clamp(25px,4vw,36px);font-weight:600;line-height:1.14}
h3{font-family:"Spectral",Georgia,serif;font-size:clamp(20px,2.6vw,23px);font-weight:600;line-height:1.25}
h4{font-size:17.5px;font-weight:600}
.stack{display:flex;flex-direction:column;gap:16px}
.stack.tight{gap:11px}
.lead{font-size:clamp(18px,2.4vw,21px);line-height:1.5;color:var(--text)}
.soft{color:var(--text-soft)}
.mono-note{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:14px;
  letter-spacing:.03em;color:var(--text-faint);
}

/* the lie — one held statement */
.claim{
  font-family:"Spectral",Georgia,serif;font-size:clamp(22px,3.6vw,31px);line-height:1.32;
  color:var(--text);border-left:4px solid var(--brass);padding:6px 0 6px 22px;max-width:24ch;
}
.claim em{font-style:italic;color:var(--verd)}

/* lists */
ul.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
ul.ticks li{padding-left:22px;position:relative;color:var(--text-soft)}
ul.ticks li::before{
  content:"";position:absolute;left:0;top:11px;width:11px;height:1.5px;background:var(--brass);
}
ul.ticks li b{color:var(--text);font-weight:600}

/* six-session sequence */
ol.six{list-style:none;margin:0;padding:0;counter-reset:six;display:flex;flex-direction:column}
ol.six li{
  counter-increment:six;display:grid;grid-template-columns:44px 1fr;gap:0 16px;
  padding:20px 0;border-bottom:1px solid var(--rule-soft);
}
ol.six li:first-child{border-top:1px solid var(--rule-soft)}
ol.six li::before{
  content:counter(six,decimal-leading-zero);
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:14px;font-weight:600;
  color:var(--brass);padding-top:6px;
}
ol.six h4{margin-bottom:5px}
ol.six p{color:var(--text-soft);font-size:16px}
ol.six .out{
  display:block;margin-top:8px;font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:14px;color:var(--verd);line-height:1.55;
}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:20px}
.card{background:var(--sheet);border:1px solid var(--rule-soft);padding:24px;min-width:0;display:flex;flex-direction:column;gap:9px}
.sheet .card{background:var(--paper)}
.card .tag{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--brass);
}
.card p{color:var(--text-soft);font-size:15.5px;line-height:1.55}
.card a{color:var(--verd);font-weight:600;text-decoration:none;font-size:15.5px}
.card a:hover{text-decoration:underline}

/* ── audience doors: who you are, not what you buy ── */
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px 34px}
/* four items read better two-up than three-and-a-stranded-one */
.doors.four{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:560px){.doors.four{grid-template-columns:1fr}}
.doors > div{display:flex;flex-direction:column;gap:9px;border-top:2px solid var(--brass);padding-top:17px;min-width:0}
.doors .who{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--brass);
}
.doors h4{font-family:"Spectral",Georgia,serif;font-size:21px;font-weight:600;line-height:1.2}
.doors p{color:var(--text-soft);font-size:15.5px;line-height:1.55}
.doors a{color:var(--verd);font-weight:600;text-decoration:none;font-size:15.5px;margin-top:auto;padding-top:4px}
.doors a:hover{text-decoration:underline}

.soon{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:14px;letter-spacing:.03em;
  color:var(--text-soft);
}

/* steps */
ol.steps{list-style:none;margin:0;padding:0;counter-reset:st;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
ol.steps li{counter-increment:st;min-width:0;border-top:2px solid var(--brass);padding-top:14px}
ol.steps li::before{
  content:"Step " counter(st);display:block;
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:6px;
}
ol.steps h4{margin-bottom:4px}
ol.steps p{color:var(--text-soft);font-size:15.5px;line-height:1.55}

/* pricing */
.tbl-scroll{overflow-x:auto;border:1px solid var(--rule);background:var(--sheet)}
table{border-collapse:collapse;width:100%;min-width:540px;font-variant-numeric:tabular-nums}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--rule-soft);font-size:16px;vertical-align:top}
thead th{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;font-weight:600;
  letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint);
  background:var(--sheet-2);border-bottom:1px solid var(--rule);white-space:nowrap;
}
tbody th{font-weight:600;color:var(--text)}
tbody th small{display:block;font-weight:400;color:var(--text-soft);font-size:15px;margin-top:4px;line-height:1.5}
td.n{white-space:nowrap;font-weight:600}
td.n.alt{font-weight:500;color:var(--text-soft)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:none}

.note-box{border:1px solid var(--rule);background:var(--sheet);padding:24px}
.sheet .note-box{background:var(--paper)}
.note-box .label{margin-bottom:8px}
.note-box p{color:var(--text-soft)}
.note-box p.say{font-family:"Spectral",Georgia,serif;font-size:19px;line-height:1.5;color:var(--text)}

/* readiness line under the calls to action */
.ready{margin:14px 0 0;font-size:14.5px;line-height:1.5;color:var(--text-soft);max-width:46ch}
.hero .ready,.band .ready{color:var(--on-deep-soft)}

/* who you'd be talking to — photo beside the story on the home page */
.me-grid{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:36px;align-items:center}
@media (max-width:720px){.me-grid{grid-template-columns:1fr}.me-grid .portrait{max-width:280px}}
.inline-link{color:var(--verd);font-weight:600;text-decoration:none}
.inline-link:hover{text-decoration:underline}

/* the slot a real client quote goes in */
.proof-slot{border:1px dashed var(--brass);background:var(--sheet);padding:22px 24px}
.sheet .proof-slot{background:var(--paper)}
.proof-slot p:last-child{margin:0}

td small{display:block;font-weight:400;color:var(--text-soft);font-size:15px;margin-top:4px;line-height:1.5}

/* band */
.band{background:var(--ink);color:var(--on-deep)}
.band h2,.band h3{color:#fff}
.band p{color:var(--on-deep-soft)}
.band .label{color:var(--on-deep-gold)}
.band ul.ticks li{color:var(--on-deep-soft)}
.band ul.ticks li b{color:#fff}
.band ul.ticks li::before{background:var(--on-deep-gold)}

/* about */
.about-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:36px;align-items:start}
@media (max-width:760px){.about-grid{grid-template-columns:1fr}}
.portrait{
  display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:50%;
  background:var(--deep);box-shadow:0 0 0 1px var(--rule-soft);
}
.facts{border-top:1px solid var(--rule-soft);margin-top:18px}
.facts div{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid var(--rule-soft);font-size:15.5px}
.facts dt,.facts .k{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--brass);flex:0 0 118px;padding-top:3px;
}
.facts .v{color:var(--text-soft);min-width:0}

/* form */
form{display:flex;flex-direction:column;gap:16px;max-width:560px}
label{display:flex;flex-direction:column;gap:6px;font-size:14.5px;font-weight:600;color:var(--text)}
input,textarea,select{
  font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--rule);
  background:var(--sheet);color:var(--text);border-radius:2px;width:100%;
}
textarea{min-height:130px;resize:vertical}
.hint{font-weight:400;font-size:15px;color:var(--text-soft)}

/* fill markers — replace before launch */
.fill{
  background:rgba(199,148,69,.18);border-bottom:1px dashed var(--brass);
  padding:0 4px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.86em;color:var(--brass);
}

/* footer */
footer{background:var(--deep);color:var(--on-deep-soft);padding-block:40px;font-size:14.5px;line-height:1.62}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
footer h4{color:#fff;font-size:15px;margin-bottom:8px}
footer a{color:var(--on-deep-soft)}
footer p{margin-bottom:10px}
footer .fine{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#A4B8B8;font-size:15px;line-height:1.6}
footer .fine b{color:#CFDDD9}

/* single-file preview chrome */
.pv-bar{background:var(--brass);color:#1A1208;padding:9px 22px;font-size:13.5px;font-weight:600;text-align:center}
.pv-page[hidden]{display:none!important}
