:root{--g:#2d4a2b;--g2:#3d6339;--gd:#1e331d;--b:#a8773f;--bd:#7d5626;--cream:#faf6ee;--paper:#fff;--t:#1f2420;--mut:#545a52;--line:#e6dfd0;--r:14px;--sh:0 1px 2px rgba(30,51,29,.06),0 6px 20px rgba(30,51,29,.07)}
*{box-sizing:border-box}html{scroll-padding-top:5rem}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--t);background:var(--cream)}
h1,h2,h3{font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;line-height:1.2;color:var(--gd)}
h1{font-size:clamp(1.8rem,5vw,2.8rem);margin:.4em 0}h2{font-size:clamp(1.35rem,3.4vw,1.8rem);margin:1.6em 0 .6em}h3{font-size:1.12rem;margin:.2rem 0}
a{color:var(--g2);text-underline-offset:2px}a:hover{color:var(--bd)}
:focus-visible{outline:3px solid var(--b);outline-offset:2px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:100}.skip:focus{left:.5rem;top:.5rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 1rem}main.wrap{padding-bottom:2rem}
p,li,dd{overflow-wrap:anywhere}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--g);box-shadow:0 2px 10px rgba(0,0,0,.15)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.logo{display:inline-flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none}.logo:hover{color:#fff}
.mark{width:44px;height:44px;border-radius:10px;display:block;background:#fff}
.wordmark{display:flex;flex-direction:column;font-family:Georgia,serif;font-weight:700;font-size:1.2rem;line-height:1.1}
.wordmark small{font-family:system-ui,sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#e9d3b3}
#sitenav{display:flex;align-items:center;gap:.25rem}
#sitenav a{color:#fff;text-decoration:none;padding:.5rem .75rem;border-radius:8px;font-weight:500}
#sitenav a:hover{background:rgba(255,255,255,.12);color:#fff}
#sitenav a.nav-cta{background:var(--b);color:#1b1206;font-weight:700}#sitenav a.nav-cta:hover{background:#c08a4c}
.menu-btn{display:none;background:none;border:2px solid rgba(255,255,255,.5);border-radius:8px;width:44px;height:44px;cursor:pointer;padding:0}
.bars,.bars::before,.bars::after{display:block;width:20px;height:2px;background:#fff;margin:auto;position:relative;content:""}
.bars::before{position:absolute;top:-6px}.bars::after{position:absolute;top:6px}
@media(max-width:760px){.js .menu-btn{display:block}
 .js #sitenav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--g);flex-direction:column;align-items:stretch;padding:.5rem 1rem 1rem;box-shadow:0 8px 16px rgba(0,0,0,.2)}
 .js #sitenav.open{display:flex}#sitenav{flex-wrap:wrap}#sitenav a{padding:.75rem}}
/* hero */
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:center;margin:1.2rem -1rem 0;padding:2.5rem 1.5rem;border-radius:0 0 var(--r) var(--r);
 background:radial-gradient(1200px 400px at 10% 0,#fff 0,transparent 60%),linear-gradient(160deg,#f3ead8,#e8f0e2)}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:700;color:var(--bd);margin:0}
.hero h1{margin-top:.2em}.lead{font-size:1.1rem;color:#333a32}
.hero-art .brand-logo{max-width:340px;border-radius:24px;box-shadow:var(--sh);margin:0 auto}
.brand-logo{display:block;width:100%;max-width:300px;height:auto;margin:0 auto 1rem;border-radius:18px}
.search input,.filters input,.filters select{width:100%;font:inherit;padding:.85rem 1rem;border:2px solid #cfc6b4;border-radius:12px;background:#fff;color:var(--t)}
.search input{font-size:1.05rem;padding-left:2.6rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%232d4a2b' stroke-width='2.2'%3E%3Ccircle cx='8.5' cy='8.5' r='6'/%3E%3Cpath d='m13 13 5 5'/%3E%3C/svg%3E") .8rem center no-repeat}
.search input:focus,.filters input:focus,.filters select:focus{border-color:var(--g2);outline:3px solid rgba(168,119,63,.45);outline-offset:1px}
.results{list-style:none;padding:0;margin:.4rem 0;background:#fff;border-radius:12px;box-shadow:var(--sh);overflow:hidden}.results:empty{display:none}
.results a{display:block;padding:.6rem 1rem;text-decoration:none;border-bottom:1px solid var(--line)}.results span{color:var(--mut);font-size:.9rem}.results .none{padding:.6rem 1rem;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.chips a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem;text-decoration:none;font-size:.9rem;color:var(--g)}
.chips a:hover,.chips a[aria-current]{background:var(--g);color:#fff;border-color:var(--g)}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding:1.5rem 1rem;gap:1rem}.hero-art{order:-1}.hero-art .brand-logo{max-width:180px}}
/* categories */
.cats{list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.cat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem;box-shadow:var(--sh);border-top:4px solid var(--b)}
.cat .ic{font-size:1.7rem}.cat p{margin:.2rem 0;color:var(--mut);font-size:.92rem}.cat .cl a{font-weight:600;margin-right:.6rem}
.allcats{margin-top:1rem}.allcats summary{cursor:pointer;font-weight:600;color:var(--g)}
.catlist{columns:2 240px;padding-left:1.2rem}.catlist li{margin:.2rem 0}
/* guides */
.guides{list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.guide a{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:1.2rem;border-radius:var(--r);text-decoration:none;color:#fff;background:linear-gradient(140deg,var(--g),var(--g2));box-shadow:var(--sh)}
.guide strong{font-family:Georgia,serif;font-size:1.2rem}.gk{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#e9d3b3}.guide .more{margin-top:auto;color:#f3e2c7}
.guide a:hover{color:#fff;filter:brightness(1.1)}
/* cards */
.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.cards{list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--sh)}
.card[hidden]{display:none}.card h3 a{text-decoration:none;color:var(--gd)}.card h3 a:hover{text-decoration:underline}
.card p{margin:0}.policy{font-size:.95rem}.lbl{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--bd)}
.callahead{color:var(--mut);font-size:.82rem}.meta{margin-top:auto!important;padding-top:.4rem;border-top:1px dashed var(--line);font-size:.85rem;color:var(--mut)}
.vdate{color:var(--g2);font-weight:600}
@media(max-width:760px){.strip{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.strip .card{scroll-snap-align:start}}
.tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:0}
.tag{font-size:.74rem;font-weight:600;padding:.12rem .55rem;border-radius:999px;background:#efe9dc;color:#4a4232;text-transform:capitalize}
.tag-cat{background:#e3ecdf;color:var(--gd)}.tag-area{background:#f3e6d3;color:#6b4818}.tag-ok{background:var(--g);color:#fff}
.tag-paid,.badge{background:var(--b);color:#1b1206}
.badge{display:inline-block;padding:.15rem .7rem;border-radius:6px;font-weight:700}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:.8rem;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin:1rem 0}
.filters label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--gd);gap:.25rem;min-width:160px}.filters .grow{flex:1 1 240px}
.count{margin:0;color:var(--mut);font-size:.9rem;flex-basis:100%}
/* listing page */
.crumbs{color:var(--mut);font-size:.9rem;margin-top:1.2rem}.sub{color:var(--mut);margin-top:0}
.listing{max-width:820px}.listing h1{margin-top:.3em}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;box-shadow:var(--sh)}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.6rem 1.2rem;margin:0}dt{font-weight:700;color:var(--gd)}dd{margin:0}
dd small{display:block;color:var(--mut)}
.verified{max-width:820px;background:#e8f0e2;border-left:5px solid var(--g);padding:.9rem 1rem;border-radius:10px}
@media(max-width:560px){dl{grid-template-columns:1fr;gap:.1rem}dd{margin-bottom:.6rem}}
/* prose */
.prose{max-width:760px}.prose h1{margin-top:.8em}
/* trust */
.trust{background:var(--g);color:#f4efe4;border-radius:var(--r);padding:1.5rem;margin-top:2.5rem}.trust h2{color:#fff;margin-top:0}
.trust a{color:#f0cf9f}.steps{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:0;list-style:none;counter-reset:s;margin:0}
.steps li{counter-increment:s;background:rgba(255,255,255,.07);border-radius:12px;padding:1rem}.steps li::before{content:counter(s);display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--b);color:#1b1206;font-weight:800;margin-bottom:.4rem}
.steps strong{display:block;color:#fff}
/* newsletter */
.newsletter{position:relative;background:#fff;border:2px dashed var(--b);border-radius:var(--r);padding:1.4rem;margin:2.5rem 0}.newsletter h2{margin-top:.4rem}
.soon{display:inline-block;background:var(--b);color:#1b1206;font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .6rem;border-radius:6px}
.placeholder{color:var(--mut);font-style:italic}
/* footer */
.site-footer{background:var(--gd);color:#d9e2d4;margin-top:3rem;padding:2rem 0;font-size:.92rem}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.site-footer h2{color:#fff;font-size:1rem;margin:0 0 .5rem;font-family:system-ui,sans-serif}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.3rem 0}.site-footer a{color:#f0cf9f}
.fbrand{display:flex;align-items:center;gap:.6rem;font-family:Georgia,serif;font-size:1.2rem;color:#fff;font-weight:700}.fbrand img{border-radius:8px;background:#fff}
@media(max-width:700px){.fgrid{grid-template-columns:1fr 1fr}.fgrid>div:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:no-preference){.card,.guide a{transition:transform .15s}.card:hover,.guide a:hover{transform:translateY(-2px)}}
/* advertise */
.btn{display:inline-block;background:var(--b);color:#1b1206;font:inherit;font-weight:700;border:0;border-radius:10px;padding:.75rem 1.3rem;text-decoration:none;cursor:pointer}
.btn:hover{background:#c08a4c;color:#1b1206}.btn:disabled{opacity:.6}
.adv-hero{grid-template-columns:1fr}.rates{font-size:1.05rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;display:inline-block}
.inquire{max-width:760px;margin-top:2.5rem}
.pform{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;box-shadow:var(--sh);display:flex;flex-direction:column;gap:1rem}
.pform .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.pform .row{grid-template-columns:1fr}}
.pform label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;color:var(--gd)}
.pform input:not([type=checkbox]),.pform textarea{font:inherit;padding:.7rem .85rem;border:2px solid #cfc6b4;border-radius:10px;color:var(--t);background:#fff}
.pform input:focus,.pform textarea:focus{border-color:var(--g2);outline:3px solid rgba(168,119,63,.45)}
.pform fieldset{border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem}.pform legend{font-weight:700;color:var(--gd);padding:0 .3rem}
.pform .ck{flex-direction:row;align-items:center;gap:.5rem;font-weight:500;padding:.25rem 0}.ck input{width:1.15rem;height:1.15rem;accent-color:var(--g)}
.opt,.req{font-weight:400;color:var(--mut);font-size:.88rem;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pmsg{margin:0;font-weight:600}.pmsg:empty{display:none}.pmsg.ok{color:#1e5a2a;background:#e3f1e2;padding:.7rem 1rem;border-radius:10px}.pmsg.err{color:#8a1f11;background:#fbe9e5;padding:.7rem 1rem;border-radius:10px}
