:root{--stone:#E5E3DE;--stone-2:#DBD8D1;--paper:#F2F0EB;--ink:#1B1A18;--ink-soft:#4A4744;--rule:#C7C3BA;--forest:#1F3D2B;--forest-deep:#14291D;--amber:#C28A1A;--amber-soft:#E2B85A;--serif:Georgia,"Iowan Old Style","Apple Garamond","Times New Roman",serif;--sans:-apple-system,"Segoe UI","Inter",system-ui,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}html{background:var(--stone);color:var(--ink)}body{font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:var(--forest);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--amber)}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0 0 .5rem;line-height:1.15}h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}h3{font-size:1.15rem;font-weight:700}p{margin:0 0 1rem}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}@media (max-width:880px){.shell{grid-template-columns:1fr}}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;padding:1.6rem 1.25rem;background:var(--forest);color:var(--paper);display:flex;flex-direction:column;gap:1.5rem;border-right:1px solid var(--forest-deep)}@media (max-width:880px){.sidebar{position:static;height:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:.9rem 1.1rem}.sidebar nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.sidebar .side-foot{display:none}}.sidebar a{color:var(--paper);text-decoration:none}.sidebar a:hover{color:var(--amber-soft)}.brand-row{display:flex;align-items:center;gap:.65rem}.brand-row .word{font-family:var(--serif);font-size:1.05rem;line-height:1.1;letter-spacing:.01em}.sidebar nav{display:flex;flex-direction:column;gap:.45rem;font-size:.92rem}.sidebar nav a{padding:.15rem 0}.sidebar .side-foot{margin-top:auto;font-size:.72rem;opacity:.7;line-height:1.4}.main{padding:0;min-width:0}.container{max-width:1080px;padding:2rem}@media (max-width:700px){.container{padding:1.5rem 1.1rem}}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.6rem 2rem;border-bottom:1px solid var(--rule);background:var(--paper);font-size:.78rem;color:var(--ink-soft)}@media (max-width:700px){.topbar{padding:.6rem 1.1rem;flex-wrap:wrap}}.topbar .age{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--forest)}.topbar .age .badge18{display:inline-block;padding:.1rem .4rem;background:var(--forest);color:var(--paper);font-size:.72rem;letter-spacing:.04em}.hero{display:grid;grid-template-columns:1fr 1fr;grid-gap:2.5rem;gap:2.5rem;padding:3.5rem 0 2.5rem;border-bottom:1px solid var(--rule)}@media (max-width:800px){.hero{grid-template-columns:1fr;gap:1.5rem;padding:2rem 0 1.5rem}}.hero .lede h1{margin-bottom:1.2rem}.hero .lede p{color:var(--ink-soft);max-width:38ch}.hero .stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem 1.5rem;gap:1.25rem 1.5rem;align-content:start;margin-top:.5rem;padding-left:2rem;border-left:1px solid var(--rule)}@media (max-width:800px){.hero .stats{padding-left:0;border-left:none;border-top:1px solid var(--rule);padding-top:1.25rem}}.hero .stats .num{font-family:var(--serif);font-size:3.6rem;line-height:1;color:var(--forest)}.hero .stats .lbl{font-size:.78rem;letter-spacing:.12em;margin-top:.4rem}.hero .stats .lbl,.kicker{text-transform:uppercase;color:var(--ink-soft)}.kicker{letter-spacing:.14em;font-size:.74rem;font-weight:600;margin-bottom:.6rem}.notice{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;padding:.9rem 1rem;background:var(--paper);border-left:4px solid var(--amber);font-size:.88rem;margin:1.5rem 0}.notice strong{color:var(--ink)}section{padding:2.5rem 0;border-bottom:1px solid var(--rule)}section:last-of-type{border-bottom:0}.rank{display:grid;grid-template-columns:88px 96px 1fr 220px;grid-gap:1.5rem;gap:1.5rem;align-items:center;padding:1.6rem 0;border-top:1px solid var(--rule)}.rank:last-child{border-bottom:1px solid var(--rule)}@media (max-width:820px){.rank{grid-template-columns:64px 1fr;row-gap:.8rem}.rank .logo-cell{grid-column:2}.rank .action,.rank .meta{grid-column:1/-1}}.rank .numeral{font-family:var(--serif);font-size:5rem;line-height:.85;color:var(--forest);font-feature-settings:"lnum";font-variant-numeric:lining-nums}.rank .logo-cell{background:var(--paper);border:1px solid var(--rule);padding:.6rem;height:80px;display:flex;align-items:center;justify-content:center}.rank .logo-cell img{max-height:56px;width:auto;object-fit:contain}.rank .logo-cell .fallback{font-family:var(--serif);color:var(--forest)}.rank h3{margin:0 0 .25rem;font-family:var(--serif);font-size:1.3rem;font-weight:600}.rank .badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.45rem 0 .55rem}.rank .badge{font-size:.72rem;letter-spacing:.03em;padding:.18rem .5rem;border:1px solid var(--rule);background:var(--paper)}.rank .badge,.rank p{color:var(--ink-soft)}.rank p{font-size:.94rem;margin:.2rem 0 0}.rank .action{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}@media (max-width:820px){.rank .action{text-align:left;align-items:flex-start}}.rank .score{font-family:var(--serif);font-size:1.05rem;color:var(--forest)}.rank .stars{letter-spacing:.15em;color:var(--amber);font-size:1.1rem}.rank .stars span.empty{color:var(--rule)}.rank .cta{display:inline-block;padding:.7rem 1.1rem;background:var(--forest);color:var(--paper);text-decoration:none;border:1px solid var(--forest);font-weight:600;letter-spacing:.02em;font-size:.92rem}.rank .cta:hover{background:var(--forest-deep);color:var(--paper)}.rank .info-link{font-size:.82rem;color:var(--ink-soft)}.rank .tcs{font-size:.72rem;color:var(--ink-soft);max-width:200px}.compare-wrap{overflow-x:auto}table.compare{width:100%;border-collapse:collapse;font-size:.88rem;min-width:760px}table.compare td,table.compare th{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--rule);vertical-align:top}table.compare thead th{background:var(--paper);font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--ink-soft);border-bottom:1px solid var(--ink)}table.compare tbody th{font-weight:600;color:var(--ink);white-space:nowrap}table.compare tr:nth-child(2n) td{background:rgba(0,0,0,.015)}.method{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:2.5rem;gap:2.5rem;align-items:start}@media (max-width:800px){.method{grid-template-columns:1fr;gap:1.25rem}}.method ul{margin:0;padding-left:1.1rem}.method li{margin-bottom:.55rem}.safety{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}@media (max-width:900px){.safety{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.safety{grid-template-columns:1fr}}.safety a{display:flex;flex-direction:column;gap:.6rem;padding:1.1rem;background:var(--paper);border:1px solid var(--rule);text-decoration:none;color:var(--ink);min-height:140px}.safety a:hover{border-color:var(--forest)}.safety .logo{height:44px;display:flex;align-items:center}.safety .logo img{max-height:44px;width:auto;object-fit:contain}.safety .name{font-family:var(--serif);font-size:1.05rem}.safety .href{font-size:.76rem;color:var(--ink-soft);margin-top:auto}.faq details{border-top:1px solid var(--rule);padding:1rem 0}.faq details:last-of-type{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--serif);font-size:1.1rem;color:var(--ink)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--serif);font-size:1.6rem;color:var(--forest);line-height:1}.faq details[open] summary:after{content:"−"}.faq .answer{padding-top:.7rem;color:var(--ink-soft)}.disclaim{font-size:.82rem;color:var(--ink-soft);padding:1.2rem;background:var(--paper);border-top:2px solid var(--amber)}footer.site{background:var(--forest);padding:2.5rem 2rem 1.4rem}footer.site,footer.site a{color:var(--paper)}footer.site a:hover{color:var(--amber-soft)}footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:2rem;gap:2rem;max-width:1080px}@media (max-width:800px){footer.site .cols{grid-template-columns:1fr 1fr}}@media (max-width:480px){footer.site .cols{grid-template-columns:1fr}}footer.site h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-soft);margin:0 0 .7rem}footer.site ul{list-style:none;padding:0;margin:0;font-size:.9rem}footer.site li{padding:.18rem 0}footer.site .brand-blurb{font-size:.86rem;opacity:.85;max-width:36ch;margin-top:.6rem}footer.site .legal{max-width:1080px;margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(242,240,235,.18);font-size:.78rem;opacity:.75;gap:.6rem 1.2rem}.cookie,footer.site .legal{display:flex;flex-wrap:wrap;justify-content:space-between}.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:50;background:var(--ink);color:var(--paper);padding:1rem 1.2rem;gap:1rem;align-items:center;border:1px solid var(--forest);font-size:.88rem}.cookie a{color:var(--amber-soft)}.cookie .btns{display:flex;gap:.6rem}.cookie button{font:inherit;padding:.5rem .9rem;background:var(--amber);color:var(--ink);border:1px solid var(--amber);cursor:pointer;font-weight:600}.cookie button.secondary{background:transparent;color:var(--paper);border-color:var(--paper)}.prose{max-width:68ch}.prose p{font-size:1rem;color:var(--ink)}.prose h2{margin-top:2rem}.prose h3{margin-top:1.4rem}.prose ul{padding-left:1.2rem}.prose li{margin-bottom:.4rem}.cform{max-width:560px;display:grid;grid-gap:.9rem;gap:.9rem}.cform label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.86rem;color:var(--ink-soft)}.cform input,.cform textarea{font:inherit;padding:.65rem .7rem;border:1px solid var(--rule);background:var(--paper);color:var(--ink)}.cform input:focus,.cform textarea:focus{outline:2px solid var(--forest);outline-offset:1px}.cform button{justify-self:start;font:inherit;padding:.7rem 1.2rem;background:var(--forest);color:var(--paper);border:1px solid var(--forest);cursor:pointer;font-weight:600}.aff-note{font-size:.82rem;color:var(--ink-soft);padding:.8rem 0}