:root{--bg:#F1EADD;
--paper:#FBF8F2;
--ink:#1C1712;
--ink-soft:#5A5145;
--line:#DDD2BE;
--green:#1F6B4A;
--green-dark:#154E37;
--red:#B33B2E;
--gold:#8F6E28;
--navy:#1B2036}

*{box-sizing:border-box;
margin:0;
padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);
color:var(--ink);
font:16.5px/1.6 'IBM Plex Sans',sans-serif;
-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Fraunces,serif;
font-weight:600;
line-height:1.12;
letter-spacing:-.01em;
color:var(--ink)}
.num{font-family:'IBM Plex Mono',monospace}
.wrap{max-width:1080px;
margin:0 auto;
padding:0 28px}
a{color:inherit}

header{position:sticky;
top:0;
z-index:20;
background:rgba(241,234,221,.92);
backdrop-filter:blur(6px);
border-bottom:1px solid var(--line)}
header .wrap{display:flex;
align-items:center;
justify-content:space-between;
padding-top:16px;
padding-bottom:16px}
.logo{font-family:Fraunces,serif;
font-size:22px;
font-weight:600}
.logo span{color:var(--green)}
.header-cta{background:var(--green);
color:#fff;
border:0;
padding:10px 20px;
border-radius:2px;
font:500 14px 'IBM Plex Sans',sans-serif;
cursor:pointer;
text-decoration:none}
.header-cta:hover{background:var(--green-dark)}

.hero{padding:72px 0 60px}
.hero-grid{display:grid;
grid-template-columns:1.1fr .9fr;
gap:56px;
align-items:center}
.hero h1{font-size:42px;
max-width:520px}
.hero p.lede{margin-top:22px;
font-size:18px;
color:var(--ink-soft);
max-width:460px}
.hero-actions{margin-top:32px;
display:flex;
align-items:center;
gap:20px;
flex-wrap:wrap}
.btn-primary{display:inline-block;
background:var(--ink);
color:#fff;
border:0;
padding:15px 26px;
font:500 15px 'IBM Plex Sans',sans-serif;
border-radius:2px;
cursor:pointer;
text-decoration:none}
.btn-primary:hover{background:var(--green-dark)}
.hero-note{font-size:13px;
color:var(--ink-soft)}

.receipts{display:flex;
gap:16px}
.receipt{background:var(--paper);
border:1px solid var(--line);
flex:1;
position:relative;
overflow:hidden}
.receipt-head{padding:16px 18px}
.receipt.old .receipt-head{background:#E6DAC3}
.receipt.new .receipt-head{background:var(--navy);
color:#fff}
.receipt-head-label{font-size:11px;
text-transform:uppercase;
letter-spacing:.06em;
opacity:.75}
.receipt-body{padding:18px 18px 20px}
.receipt-score{font:34px 'IBM Plex Mono',monospace;
color:var(--ink-soft)}
.receipt-money{font:600 30px 'IBM Plex Mono',monospace;
color:var(--red)}
.receipt-tag{display:inline-block;
margin-top:6px;
font-size:12px;
font-weight:600;
color:var(--gold)}
.receipt-sub{margin-top:10px;
font-size:12.5px;
color:var(--ink-soft);
line-height:1.5}
.receipt-line{display:flex;
justify-content:space-between;
font-size:12.5px;
padding:6px 0;
border-top:1px dashed var(--line);
color:var(--ink-soft)}

section{padding:60px 0}
.section-line{border-top:1px solid var(--line)}
.kicker{font-size:14px;
color:var(--green);
font-weight:500;
margin-bottom:10px}
h2{font-size:30px;
max-width:600px}
.section-lede{margin-top:14px;
color:var(--ink-soft);
max-width:560px;
font-size:16px}
.chain{margin-top:36px;
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap}
.chain-step{font:19px Fraunces,serif;
color:var(--ink-soft)}
.chain-arrow{color:var(--line);
font-size:20px}
.problem-cards{margin-top:28px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px}
.problem-card{background:var(--paper);
border:1px solid var(--line);
padding:22px 20px}
.problem-card .pc-label{font-size:12px;
font-weight:600;
letter-spacing:.04em;
text-transform:uppercase}
.problem-card.c1 .pc-label{color:#7A6A2A}
.problem-card.c2 .pc-label{color:var(--gold)}
.problem-card.c3 .pc-label{color:var(--red)}
.problem-card ul{margin-top:12px;
padding-left:18px;
font-size:14px;
color:var(--ink-soft)}
.problem-card li{margin-bottom:4px}
.problem-stats{margin-top:8px;
display:grid;
grid-template-columns:1fr 1fr;
gap:32px}
.stat-num{font:44px/1 'IBM Plex Mono',monospace;
color:var(--red)}
.stat-num.green{color:var(--green-dark)}
.stat-text{margin-top:8px;
font-size:14px;
color:var(--ink-soft);
max-width:300px}

.rec-visual{margin-top:36px;
background:var(--navy);
border-radius:4px;
padding:28px 26px;
display:flex;
align-items:center;
gap:22px}
.rec-visual svg{flex-shrink:0}
.rec-visual-text{color:#DCE3DE;
font-size:14px;
line-height:1.6}
.rec-visual-text strong{color:#fff}
.steps{margin-top:36px;
display:grid;
grid-template-columns:repeat(5,1fr)}
.step{padding:0 16px 0 0;
border-right:1px solid var(--line)}
.step:last-child{border-right:0;
padding-right:0}
.step-num{font:13px 'IBM Plex Mono',monospace;
color:var(--green);
margin-bottom:14px}
.step-title{font-size:15px;
font-weight:600;
margin-bottom:8px}
.step-text{font-size:13px;
color:var(--ink-soft)}

.effect-report{margin-top:36px;
background:var(--paper);
border:1px solid var(--line)}
.effect-head{background:var(--navy);
color:#fff;
padding:22px 24px;
text-align:center}
.effect-head .eh-label{font-size:12px;
text-transform:uppercase;
letter-spacing:.08em;
opacity:.7}
.effect-head .eh-score{font:40px 'IBM Plex Mono',monospace;
margin-top:8px}
.effect-head .eh-tag{color:#E0A94D;
font-weight:600;
font-size:13px;
margin-top:4px}
.scenarios{padding:22px 24px}
.scenario{padding:14px 0;
border-bottom:1px solid var(--line)}
.scenario:last-child{border:0}
.scenario-top{display:flex;
justify-content:space-between;
align-items:baseline}
.scenario-name{font-size:14px;
font-weight:600}
.scenario-loss{font:600 20px 'IBM Plex Mono',monospace;
color:var(--red)}
.scenario-desc{margin-top:4px;
font-size:12.5px;
color:var(--ink-soft)}
.effect-note{padding:16px 24px;
border-top:1px solid var(--line);
font-size:12.5px;
color:var(--ink-soft);
background:#EFE7D6}
.checklist{padding:20px 24px 4px;
border-top:1px solid var(--line)}
.checklist-title{font-size:12px;
text-transform:uppercase;
letter-spacing:.06em;
color:var(--ink-soft);
margin-bottom:10px}
.cl-row{display:flex;
justify-content:space-between;
font-size:13.5px;
padding:7px 0;
border-top:1px dashed var(--line)}
.cl-row:first-of-type{border-top:0}
.cl-score{font-family:'IBM Plex Mono',monospace;
font-weight:600}
.violation-card{margin-top:22px;
background:var(--paper);
border:1px solid var(--line);
border-left:4px solid var(--red);
padding:20px 22px}
.violation-card .v-label{font-size:11px;
text-transform:uppercase;
letter-spacing:.06em;
color:var(--ink-soft);
margin-bottom:6px}
.violation-card .v-title{font:19px Fraunces,serif;
margin-bottom:12px}
.violation-card .v-row{font-size:14px;
margin-bottom:8px;
color:var(--ink-soft)}
.violation-card .v-key{color:var(--ink);
font-weight:600}
.violation-card .v-loss{margin-top:12px;
font-size:14px}
.violation-card .v-loss strong{color:var(--red);
font-family:'IBM Plex Mono',monospace}
.compare-table{margin-top:28px;
background:var(--paper);
border:1px solid var(--line)}
.ct-title{padding:18px 22px;
font:19px Fraunces,serif;
border-bottom:1px solid var(--line)}
.ct-row{display:grid;
grid-template-columns:1.3fr 1fr 1fr 1.2fr;
border-bottom:1px solid var(--line)}
.ct-row:last-child{border:0}
.ct-row>div{padding:14px 16px;
font-size:13.5px}
.ct-row.ct-head>div{font-weight:600;
font-size:11.5px;
text-transform:uppercase;
letter-spacing:.04em;
color:var(--ink-soft)}
.ct-good{color:var(--green-dark);
font-weight:600}

.offer-checkbox{display:flex;
align-items:flex-start;
gap:10px;
margin:16px 0 6px;
font-size:13px;
color:#C9BFAE;
line-height:1.5}
.offer-checkbox input{margin-top:3px;
flex-shrink:0}
.offer-checkbox a{color:#7FD8A8;
text-decoration:underline;
cursor:pointer}
#offerModal{display:none;
position:fixed;
inset:0;
background:rgba(20,17,13,.6);
z-index:100;
align-items:center;
justify-content:center;
padding:24px}
#offerModal.visible{display:flex}
.offer-box{background:var(--paper);
max-width:680px;
width:100%;
max-height:82vh;
overflow-y:auto;
border-radius:4px;
padding:32px 30px;
position:relative}
.offer-box h3{font-size:22px;
margin-bottom:4px}
.offer-box .offer-sub{font-size:13px;
color:var(--ink-soft);
margin-bottom:20px;
font-style:italic}
.offer-box h4{font:16px Fraunces,serif;
margin:20px 0 8px;
color:var(--green-dark)}
.offer-box p,.offer-box li{font-size:13.5px;
color:var(--ink-soft);
margin-bottom:8px;
line-height:1.6}
.offer-box ul{padding-left:20px}
.offer-close{position:absolute;
top:18px;
right:20px;
background:none;
border:0;
font-size:20px;
cursor:pointer;
color:var(--ink-soft)}

.price-table{margin-top:36px;
background:var(--paper);
border:1px solid var(--line)}
.price-row{display:grid;
grid-template-columns:1.4fr 1fr 1fr;
border-bottom:1px solid var(--line)}
.price-row:last-child{border:0}
.price-row>div{padding:16px 20px;
font-size:14px}
.price-row.head>div{font-weight:600;
font-size:12px;
text-transform:uppercase;
letter-spacing:.04em;
color:var(--ink-soft)}
.price-row .col-certix{color:var(--green-dark);
font-weight:600}
.price-row.head .col-certix{color:var(--green)}
.questionnaire-promo{padding:0;background:var(--navy);color:#f5f6f0}
.questionnaire-promo-inner{display:grid;grid-template-columns:1fr 310px;gap:48px;align-items:center;padding-top:52px;padding-bottom:52px}
.questionnaire-promo .kicker{color:#7fd8a8}
.questionnaire-promo h2{color:#f5f6f0;max-width:590px}
.questionnaire-promo p{max-width:580px;margin:14px 0 0;color:#c9bfae;font-size:15px}
.questionnaire-promo-link{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 22px;background:#7fd8a8;color:#173e2f;text-decoration:none;font:600 19px/1.2 Fraunces,serif;transition:transform .15s,background .15s}
.questionnaire-promo-link:hover{background:#a3e8bf;transform:translateY(-2px)}
.questionnaire-promo-link span:last-child{font:28px/1 'IBM Plex Mono',monospace}
.form-section{background:var(--ink);
color:#F5F6F0}
.form-section h2{color:#F5F6F0}
.form-section .section-lede{color:#C9BFAE}
.form-grid{margin-top:36px;
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:start}
.field{margin-bottom:18px}
.field label{display:block;
font-size:13px;
margin-bottom:7px;
color:#D9D0C2}
.field input,.field select,.field textarea{width:100%;
padding:12px 14px;
background:#2A231C;
border:1px solid #4A4034;
color:#F5F6F0;
font:14px 'IBM Plex Sans',sans-serif;
border-radius:2px}
.field input::placeholder,.field textarea::placeholder{color:#8C8172}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--green);
outline-offset:1px}
.submit-btn{width:100%;
background:var(--green);
color:#fff;
border:0;
padding:15px 20px;
font-size:15px;
font-weight:500;
border-radius:2px;
cursor:pointer;
margin-top:6px}
.submit-btn:hover{background:#28885e}
.submit-btn:disabled{opacity:.6;
cursor:default}
.form-status{margin-top:14px;
font-size:14px;
min-height:20px}
.form-status.ok{color:#7FD8A8}
.form-status.err{color:#E19A8F}
.side-note{font-size:14px;
color:#C9BFAE}
.side-note ul{margin-top:16px;
padding-left:18px}
.side-note li{margin-bottom:10px}
footer{padding:36px 0;
border-top:1px solid var(--line)}
footer .wrap{display:flex;
justify-content:space-between;
align-items:center;
font-size:13px;
color:var(--ink-soft);
flex-wrap:wrap;
gap:12px}
footer a{color:var(--green-dark);
font-weight:500;
text-decoration:none;
cursor:pointer}
footer a:hover{text-decoration:underline}
#admin{display:none;
padding:40px 0;
background:#fff;
border-top:2px solid var(--red)}
#admin.visible{display:block}
.lead-row{border-bottom:1px solid var(--line);
padding:12px 0;
font:13px 'IBM Plex Mono',monospace}

@media (max-width:820px){.hero-grid{grid-template-columns:1fr}
.hero h1{font-size:30px}
.problem-cards,.problem-stats,.form-grid{grid-template-columns:1fr}
.problem-stats{gap:22px}
.steps{grid-template-columns:1fr 1fr;
gap:24px}
.step{border-right:0;
padding-right:0;
border-bottom:1px solid var(--line);
padding-bottom:18px}
.price-row{grid-template-columns:1.2fr 1fr 1fr;
font-size:12.5px}
.price-row>div{padding:12px 10px}
.receipts{flex-direction:column}
.rec-visual{flex-direction:column;
text-align:center}
.scenario-top{flex-direction:column;
gap:4px}
.ct-row{grid-template-columns:1fr;
gap:2px}
.ct-row>div{padding:6px 16px}
.ct-row>div:first-child{font-weight:600;
padding-top:14px}
.ct-row.ct-head{display:none}
.questionnaire-promo-inner{grid-template-columns:1fr;gap:25px;padding-top:40px;padding-bottom:40px}
.questionnaire-promo-link{max-width:360px}
}
