:root{
  --ink:#2c2229; --ink-soft:#5f5260; --paper:#faf6ee; --cream:#f3e9dc; --card:#fffdf8;
  --plum:#4b2a4a; --plum-deep:#2f1830; --plum-mid:#6f4672;
  --brass:#c9973f; --brass-deep:#7a5510; --rust:#a03a26; --line:#e2d3bf;
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;background:var(--paper);color:var(--ink);line-height:1.6;font-size:17px}
h1,h2,h3,h4{font-family:'Trebuchet MS',Verdana,sans-serif;line-height:1.2;margin:0 0 .5em}
h1{font-size:2.1rem} h2{font-size:1.6rem} h3{font-size:1.2rem}
p{margin:0 0 1em}
a{color:var(--plum)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.site{background:var(--plum-deep);padding:14px 0}
header.site .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .mark{flex:none}
.logo .word{font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:700;font-size:1.25rem;color:#f7ecd9}
.logo .word em{font-style:normal;color:var(--brass)}
nav.main{margin-left:auto}
nav.main a{color:#ecd9e8;text-decoration:none;font-family:'Trebuchet MS',Verdana,sans-serif;font-size:.95rem;margin-left:18px}
nav.main a:hover{color:var(--brass)}
section.band{padding:52px 0}
section.band.alt{background:var(--cream)}
section.band.dark{background:var(--plum-deep);color:#f3e6ef}
section.dark h2,section.dark h3{color:#fdf6ec}
section.dark p,section.dark li{color:#e9d7e4}
section.dark a{color:var(--brass)}
.hero{background:linear-gradient(160deg,#452549 0%,var(--plum-deep) 70%);color:#f3e6ef;padding:56px 0 48px}
.hero h1{color:#fdf6ec;max-width:16em}
.hero p{color:#e9d7e4;max-width:44em}
.hero .sub{font-size:1.12rem}
.eyebrow{font-family:'Trebuchet MS',Verdana,sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--brass-deep);margin-bottom:10px}
.hero .eyebrow,section.dark .eyebrow{color:var(--brass)}
.btn.btn{display:inline-block;background:var(--plum);color:#fff;text-decoration:none;font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:700;padding:13px 22px;border-radius:10px;border:0;font-size:1rem;cursor:pointer}
.btn.btn:hover{background:var(--plum-mid)}
.btn.btn.amber{background:var(--brass);color:#2a1a05}
.btn.btn.amber:hover{background:#d9ab55}
.btn.btn.ghost{background:transparent;color:var(--plum);border:2px solid var(--plum)}
section.dark .btn.btn{color:#fff}
section.dark .btn.btn.amber{color:#2a1a05}
.hero .btn.btn{color:#fff}
.hero .btn.btn.amber{color:#2a1a05}
.grid{display:grid;gap:18px}
.grid.c2{grid-template-columns:1fr}
.grid.c3{grid-template-columns:1fr}
@media(min-width:760px){.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:1fr 1fr 1fr}}
.card.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card.card h3{color:var(--ink)}
.card.card p,.card.card li{color:var(--ink-soft)}
.card.card a{color:var(--plum);font-weight:700}
.tool.tool{background:var(--card);border:2px solid var(--plum);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px rgba(47,24,48,.14)}
.tool.tool h2,.tool.tool h3{color:var(--ink)}
.tool.tool p,.tool.tool label{color:var(--ink)}
.tool.tool .hint{color:var(--ink-soft);font-size:.95rem}
.field{margin-bottom:16px}
.field label{display:block;font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:700;margin-bottom:6px}
.field select,.field input{width:100%;font-size:17px;padding:12px;border:1.5px solid #c3aec0;border-radius:9px;background:#fff;color:var(--ink);font-family:inherit}
.result.result{background:#fffef9;border:2px solid var(--plum);border-radius:var(--radius);padding:22px;margin-top:20px}
.result.result .result-kicker{font-family:'Trebuchet MS',Verdana,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--brass-deep);margin-bottom:4px}
.result.result .result-year{font-family:'Trebuchet MS',Verdana,sans-serif;font-size:1.9rem;font-weight:700;color:var(--plum);margin-bottom:10px}
.result.result p,.result.result li{color:var(--ink)}
.result.result .result-note{color:var(--ink-soft)}
.result.result .result-src{color:var(--ink-soft);font-size:.92rem;border-top:1px solid var(--line);padding-top:10px}
.result.result-err{border-color:var(--rust)}
.result.result-err h3{color:var(--rust)}
.notice.notice{background:var(--cream);border:1px solid var(--line);border-left:5px solid var(--brass);border-radius:10px;padding:16px 18px;margin:16px 0}
.notice.notice h4{color:var(--ink);margin-bottom:6px}
.notice.notice p,.notice.notice li{color:var(--ink)}
.trapbox.trapbox{background:#fdf6e0;border:1px solid #e4cf96;border-radius:10px;padding:16px 18px;margin:16px 0}
.trapbox.trapbox h4{color:#6d4a06}
.trapbox.trapbox p,.trapbox.trapbox li{color:var(--ink)}
.lock-panel.lock-panel{background:var(--cream);border:1.5px dashed var(--brass-deep);border-radius:var(--radius);padding:20px;margin:18px 0}
.lock-panel.lock-panel h4{color:var(--ink)}
.lock-panel.lock-panel p,.lock-panel.lock-panel li{color:var(--ink)}
.lock-panel.lock-panel .lock-inc{font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:700;color:var(--brass-deep)}
.lock-panel.lock-panel a.btn{color:#fff}
.lock-panel.lock-panel a.btn.amber{color:#2a1a05}
.tablewrap.tablewrap{overflow-x:auto;margin:16px 0}
.tablewrap.tablewrap table{border-collapse:collapse;width:100%;min-width:520px;background:var(--card)}
.tablewrap.tablewrap th,.tablewrap.tablewrap td{border:1px solid var(--line);padding:9px 12px;text-align:left;color:var(--ink)}
.tablewrap.tablewrap th{background:var(--plum);color:#fff;font-family:'Trebuchet MS',Verdana,sans-serif}
.faq.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px}
.faq.faq summary{font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:700;cursor:pointer;color:var(--ink)}
.faq.faq p{color:var(--ink-soft);margin-top:8px}
.checklist{list-style:none;padding:0}
.checklist li{padding-left:30px;position:relative;margin-bottom:10px}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--plum)}
section.dark .checklist li::before{color:var(--brass)}
section.dark .checklist.checklist li{color:#e9d7e4}
.price{font-family:'Trebuchet MS',Verdana,sans-serif;font-size:2rem;font-weight:700;color:var(--plum)}
.small{font-size:.92rem}
.muted{color:var(--ink-soft)}
section.dark .muted{color:#d3bcd0}
footer.site{background:var(--plum-deep);color:#d3bcd0;padding:38px 0;font-size:.95rem}
footer.site a{color:#ecd9e8}
footer.site .cols{display:grid;gap:20px}
@media(min-width:760px){footer.site .cols{grid-template-columns:2fr 1fr 1fr}}
footer.site h4{color:#fdf6ec}
footer.site p,footer.site li{color:#d3bcd0}
.kitgrid{display:grid;gap:18px}
@media(min-width:760px){.kitgrid{grid-template-columns:1fr 1fr}}
.locked{opacity:.92}
.locktag{font-family:'Trebuchet MS',Verdana,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--brass-deep)}
