*{box-sizing:border-box;margin:0;padding:0}
body{background:#FAF9F6;color:#1A1A18;font-family:'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;width:100%;overflow-x:hidden}
::selection{background:#E7D3C9}
input::placeholder{color:#A8A39A}
a{color:inherit}

.wrap{width:100%;max-width:660px}
.wrap-wide{width:100%;max-width:720px}
.center{display:flex;justify-content:center}
.col{display:flex;flex-direction:column}

.section{border-top:1px solid #ECE6DC;padding:96px 24px;display:flex;justify-content:center}
.section-tight{padding-top:72px}

.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#8A6A56;font-weight:600}
.eyebrow-quiet{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#9A8E80}

h1{font-family:'Spectral',Georgia,serif;font-weight:500;font-size:46px;line-height:1.14;letter-spacing:-0.01em;color:#1A1A18;max-width:600px;text-wrap:balance}
h1 .accent{color:#B0543A}

h2{font-family:'Spectral',Georgia,serif;font-weight:500;font-size:34px;line-height:1.22;letter-spacing:-0.01em;color:#1A1A18;max-width:600px;text-wrap:balance}

.lede{font-size:18px;line-height:1.65;color:#46433D;max-width:560px;text-wrap:pretty}
.lede-italic{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:22px;color:#1A1A18}

.form-row{width:100%;max-width:520px;display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.form-row input[type=email],.form-row input[type=text]{flex:1;min-width:200px;height:54px;padding:0 18px;font-family:'IBM Plex Sans',sans-serif;font-size:16px;color:#1A1A18;background:#FFFFFF;border:1px solid #D8D2C8;border-radius:3px;outline:none}
.btn{height:54px;padding:0 26px;font-family:'IBM Plex Sans',sans-serif;font-size:16px;font-weight:600;letter-spacing:0.01em;color:#FAF9F6;background:#1A1A18;border:none;border-radius:3px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}
.btn:hover{background:#2E2C28}
.btn-accent{background:#B0543A}
.btn-accent:hover{background:#9A4730}
.btn-lg{height:56px;padding:0 30px;font-size:17px}
.btn-cream{background:#E8A98E;color:#1A1A18}
.btn-cream:hover{background:#F0BCA4}

.fineprint{font-family:'IBM Plex Mono',monospace;font-size:14px;color:#6B6152;letter-spacing:0.02em;font-weight:600}

.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pill{font-size:13px;color:#6B6760;background:#F1EBE3;border:1px solid #E6DED3;border-radius:999px;padding:7px 14px}

.quote{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:19px;line-height:1.5;color:#3A352E;background:#F4ECE5;border-left:3px solid #B0543A;padding:18px 22px;border-radius:0 3px 3px 0}

.figure{background:#FFFFFF;border:1px solid #E6DED3;border-radius:4px;padding:30px 32px;margin-top:4px}
.figure blockquote{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:23px;line-height:1.45;color:#1A1A18}
.figure figcaption{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.04em;color:#8A7E70;margin-top:18px;text-transform:uppercase}

.callout{background:#F4ECE5;border:1px solid #E6DED3;border-radius:5px;padding:28px 30px;display:flex;flex-direction:column;gap:16px}
.callout-label{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:#B0543A}

.section-dark{background:#1A1A18}
.section-dark h2{color:#F6F2EB}
.section-dark p{color:#C9C3B8}

.footer-brand{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.04em;color:#B0A99C;margin-top:48px;text-transform:uppercase}
.footer-copyright{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.03em;color:#C9C3B8;margin-top:6px}

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease}
[data-reveal].is-visible{opacity:1;transform:none}

/* ---- Tripwire-specific ---- */
.progress-bar{display:flex;justify-content:center;padding:22px 24px 0}
.progress-bar .inner{width:100%;max-width:660px;display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#A89D8E}
.progress-bar .done{color:#B0543A}
.progress-bar .rule{flex:1;height:1px;background:#E6DED3}
.progress-bar .current{color:#1A1A18}

.price-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:6px;border-top:1px solid #E6DED3;padding-top:24px;width:100%;max-width:560px}
.price-row .name{font-family:'Spectral',Georgia,serif;font-size:20px;color:#1A1A18}
.price-row .amount{font-family:'Spectral',Georgia,serif;font-size:34px;color:#B0543A;font-weight:500}

.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:#FFFFFF;border:1px solid #E6DED3;border-radius:5px;padding:26px 24px;display:flex;flex-direction:column;gap:14px;min-height:230px}
.card .num{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;color:#B0543A}
.card .title{font-family:'Spectral',Georgia,serif;font-size:22px;line-height:1.3;color:#1A1A18}
.card p{font-size:15px;line-height:1.6;color:#56524B;margin-top:auto}
.card .sci{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.06em;color:#B0543A;text-transform:uppercase}
.card .vid{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.06em;color:#9A8E80;text-transform:uppercase}

.qr{border:1px solid #E6DED3;border-radius:3px;background:#fff}

@media (max-width: 600px){
  h1{font-size:32px}
  h2{font-size:26px}
  .cards-grid{grid-template-columns:1fr}
  .section{padding:64px 20px}
}

/* ---- Toolkit access page ---- */
.kit-card{border:1px solid #E6DED3;border-radius:6px;background:#FFFFFF;padding:36px 40px}
.kit-card-head{border-bottom:1px solid #E6DED3;padding-bottom:14px;margin-bottom:18px}
.kit-card-num{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#9A8E80;margin-bottom:6px}
.kit-card-title{font-family:'Spectral',Georgia,serif;font-weight:500;font-size:26px;line-height:1.15;letter-spacing:-0.01em;color:#1A1A18}
.kit-card-sub{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:16px;line-height:1.5;color:#56524B;margin-top:8px}

.exercise{display:flex;gap:16px;padding:16px 0;border-top:1px solid #ECE6DC}
.exercise .num{font-family:'Spectral',Georgia,serif;font-size:22px;color:#B0543A;line-height:1;width:26px;flex:none}
.exercise-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.exercise-title{font-size:17px;font-weight:600;color:#1A1A18}
.video-tag{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#1F8A5B;background:#E4F0E8;padding:2px 7px;border-radius:3px}
.exercise p{font-size:15px;line-height:1.6;color:#3A352E;margin-top:5px}

.why-box{margin-top:10px;padding:12px 16px;background:#F4ECE5;border-radius:5px}
.why-label{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:#B0543A;font-weight:700}
.why-box p{font-size:14px;line-height:1.6;color:#3A352E;margin-top:4px}

.tracker-table{width:100%;border-collapse:collapse;margin-top:10px}
.tracker-table th{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:#9A8E80;text-align:left;padding:8px 6px;border-bottom:2px solid #1A1A18}
.tracker-table th:not(:first-child){text-align:center}
.tracker-table td{height:34px;border-bottom:1px dashed #C9BEAE;padding:8px 6px}

.kit-final{background:#2A2621;color:#FAF9F6;border-radius:6px;padding:56px 48px;text-align:center;display:flex;flex-direction:column;align-items:center}
.kit-final .eyebrow{color:#E8A98E}
.kit-final h2{color:#FAF9F6;max-width:560px}
.kit-final p{color:#F0EBE2;max-width:540px;margin-top:18px;font-size:17px;line-height:1.65}
