:root{--accent:#7a1f2b;--ink:#1d1b19;--muted:#5d5852;--bg:#fbf8f3;--card:#fff;--line:#e6ded2;--soft:#f3ede4}
@media (prefers-color-scheme:dark){:root{--ink:#f1ece4;--muted:#b9b1a6;--bg:#16130f;--card:#1f1b16;--line:#36302a;--soft:#241f19}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Georgia,"Iowan Old Style","Times New Roman",serif}
a{color:var(--accent)}@media (prefers-color-scheme:dark){a{color:color-mix(in srgb,var(--accent) 45%,#fff)}}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--card);padding:8px 12px;z-index:9}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.top{border-bottom:1px solid var(--line);background:var(--card)}header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{font:700 22px/1 Georgia,serif;color:var(--ink);text-decoration:none;letter-spacing:.2px}.brand span{color:var(--accent)}
.brand small{display:block;font:400 12px/1.4 system-ui,sans-serif;color:var(--muted);letter-spacing:0;margin-top:3px}
nav.main a{font:500 15px system-ui,sans-serif;color:var(--ink);text-decoration:none;margin-left:18px}nav.main a:hover{color:var(--accent)}
.btn{display:inline-block;font:600 16px/1 system-ui,sans-serif;padding:14px 20px;border-radius:8px;background:var(--accent);color:#fff!important;text-decoration:none;border:0;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink)!important;border:1px solid var(--line)}
.hero{padding:72px 0 56px;background:linear-gradient(180deg,var(--soft),var(--bg))}
.eyebrow{font:600 13px/1.4 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
h1{font-size:clamp(32px,5vw,52px);line-height:1.12;margin:0 0 18px;max-width:20ch}h2{font-size:clamp(26px,3.4vw,36px);line-height:1.2;margin:0 0 14px}h3{font-size:21px;margin:0 0 8px}
.lede{font-size:20px;color:var(--muted);max-width:62ch;margin:0 0 28px}.cta{display:flex;gap:12px;flex-wrap:wrap}
.ticks{list-style:none;padding:0;margin:28px 0 0;display:flex;gap:10px 26px;flex-wrap:wrap;font:15px system-ui,sans-serif;color:var(--muted)}.ticks li:before{content:"✓ ";color:var(--accent);font-weight:700}
section{padding:64px 0;border-top:1px solid var(--line)}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}.card p{margin:0;color:var(--muted)}
.pkg{display:flex;flex-direction:column}.pkg .price{font:700 36px/1.1 system-ui,sans-serif;margin:8px 0 2px}.pkg .price small{font-size:16px;font-weight:500;color:var(--muted)}
.pkg ul{padding-left:20px;margin:16px 0;color:var(--muted);font-size:16px;flex:1}.pkg .meta{font:14px/1.5 system-ui,sans-serif;color:var(--muted);margin:0 0 16px}
.pkg.rec{border:2px solid var(--accent)}.badge{display:inline-block;font:700 12px system-ui,sans-serif;letter-spacing:.08em;background:var(--accent);color:#fff;padding:4px 8px;border-radius:4px;margin-bottom:8px}
.fine{font:14px/1.5 system-ui,sans-serif;color:var(--muted)}
form .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
label{display:block;font:600 14px system-ui,sans-serif;margin:0 0 6px}
input,select,textarea{width:100%;font:16px system-ui,sans-serif;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
textarea{min-height:120px}.check{display:flex;gap:10px;align-items:flex-start;font:15px system-ui,sans-serif;margin:16px 0}.check input{width:auto;margin-top:4px}
.hp{position:absolute;left:-5000px}
.dsearch{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dsearch input{flex:1 1 260px}
#dresults{list-style:none;padding:0;margin:18px 0 0;font:16px system-ui,sans-serif}#dresults li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;background:var(--card)}
.ok{color:#17803d;font-weight:700}.no{color:var(--muted)}@media (prefers-color-scheme:dark){.ok{color:#4ade80}}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;padding-left:52px;position:relative;margin-bottom:22px}.steps li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;font:700 22px system-ui,sans-serif;color:var(--accent)}
details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:700}details p{color:var(--muted);margin:10px 0 0}
#formmsg{font:16px system-ui,sans-serif;margin-top:14px}
footer{border-top:1px solid var(--line);padding:40px 0 56px;font:14px/1.7 system-ui,sans-serif;color:var(--muted);background:var(--card)}footer a{color:inherit}
footer .cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.legal h1{font-size:clamp(28px,4vw,40px)}.legal dl{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:8px 20px}.legal dt{font-weight:700}.legal dd{margin:0}
@media (max-width:640px){nav.main{display:none}.legal dl{grid-template-columns:1fr}.hero{padding:48px 0 40px}section{padding:48px 0}}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
