@font-face{font-family:"Cinzel";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/cinzel-700.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/newsreader-400.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/newsreader-600.woff2) format("woff2")}
:root{--paper:#F4E4C1;--ink:#2A1A12;--muted:#6B4E3A;--red:#9B1B1E;--pine:#1F4D2E;--gold:#C6A054;--card:#FFF6E0;--disp:Cinzel,Palatino,serif;--sans:Newsreader,Georgia,serif}
[data-theme=dark]{--paper:#1A120C;--ink:#F4E4C1;--muted:#C9B08A;--card:#261A12}
*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 var(--sans)}
a{color:var(--red)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.holly{height:12px;background:repeating-linear-gradient(90deg,var(--pine) 0 28px,var(--red) 28px 40px,var(--gold) 40px 48px)}
.wrap{width:min(1040px,calc(100% - 32px));margin:0 auto}
header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;padding:16px 0}
.brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none;font-family:var(--disp);font-size:24px;font-weight:700}
.brand img{width:40px;height:40px}
nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
nav a{color:var(--ink);text-decoration:none}
.iconbtn,.btn{appearance:none;border:2px solid var(--ink);background:var(--card);color:var(--ink);border-radius:12px;min-height:44px;padding:8px 14px;font:600 16px var(--sans);cursor:pointer;box-shadow:0 4px 0 var(--ink)}
.btn.pri{background:var(--red);color:#F4E4C1}
.btn:active,.iconbtn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
h1{font-family:var(--disp);font-size:clamp(36px,6vw,72px);line-height:1.05;margin:8px 0 12px}
.lede{max-width:38em}
.meta{color:var(--muted);font-size:15px}
.layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:800px){.layout{grid-template-columns:1fr}}
label{display:block;font-weight:600;margin:10px 0 4px}
input,textarea,select{width:100%;min-height:44px;border:2px solid var(--ink);border-radius:10px;background:var(--card);color:var(--ink);padding:8px 10px;font:16px var(--sans)}
textarea{min-height:80px}
.letter{background:var(--card);border:2px solid var(--ink);box-shadow:0 8px 0 var(--ink);padding:28px 28px 36px;position:relative;min-height:420px}
.letter h2{font-family:var(--disp);text-align:center;margin:0 0 8px}
.seal{width:64px;height:64px;border-radius:50%;background:var(--red);border:4px solid var(--gold);margin:12px auto 0;display:flex;align-items:center;justify-content:center;color:#F4E4C1;font-family:var(--disp);font-size:11px;animation:wax .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes wax{from{transform:scale(2.2);opacity:0}}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
@media(max-width:700px){.plans{grid-template-columns:1fr}}
.plan{background:var(--card);border:2px solid var(--ink);border-radius:14px;padding:18px;box-shadow:0 6px 0 var(--ink)}
.plan.feat{background:var(--pine);color:#F4E4C1}
.plan.feat a{color:var(--gold)}
footer{background:var(--pine);color:#F4E4C1;margin-top:40px;padding:28px 0 40px}
footer a{color:var(--gold)}
.article{max-width:720px;padding:8px 0 48px}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:999px;opacity:0;z-index:20;transition:.35s}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
@media print{.no-print,header,footer,form,.plans,#price{display:none!important}body{background:#fff}.letter{box-shadow:none;border-color:#000}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* related-tools strip — added 12 Nov 2026 for the tool network */
nav.related-tools{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid color-mix(in srgb, currentColor 35%, transparent)}
nav.related-tools .related-tools-h{margin:0 0 .55rem;font-weight:650;letter-spacing:.01em}
nav.related-tools ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem 1.35rem}
nav.related-tools li{margin:0}
nav.related-tools a{text-decoration:underline;text-underline-offset:3px}
nav.related-tools .rt-tag{opacity:.8}

