:root{--ink:#141414;--ink-80:#3d3d3d;--ink-60:#666;--ink-40:#999;--ink-20:#ccc;--ink-10:#e5e5e5;--ink-05:#f2f2f2;--coral:#D4513B;--coral-dark:#B8412E;--coral-light:#FAEEEC;--sage:#2E7D32;--sage-light:#E8F5E9;--rust:#C62828;--rust-light:#FFEBEE;--amber:#D4860B;--amber-light:#FFF8E1;--paper:#FAFAF8;--white:#fff;--serif:'Instrument Serif','Georgia','Times New Roman',serif;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;--mono:'DM Mono',ui-monospace,'SF Mono',monospace;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--sp-3xl:72px;--sp-4xl:96px;--ease:cubic-bezier(0.25,0.46,0.45,0.94);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--navy:#141414;--text:var(--ink-80);--text-light:var(--ink-60);--text-muted:var(--ink-40);--border:var(--ink-20);--border-light:var(--ink-10);--bg:var(--ink-05);--bg-warm:var(--paper);--ease-out:var(--ease);--green:var(--sage);--green-light:var(--sage-light);--red:var(--rust);--red-light:var(--rust-light);--coral-hover:var(--coral-dark)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--sans);color:var(--ink-80);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.15;font-weight:400;letter-spacing:-0.01em}h4,h5,h6{font-family:var(--sans);color:var(--ink);line-height:1.3;font-weight:600}h1{font-size:3.2rem}h2{font-size:2.2rem;margin-bottom:0.5rem}h3{font-size:1.6rem;margin-bottom:0.4rem}h4{font-size:0.95rem;margin-bottom:0.3rem}p{margin-bottom:1rem;color:var(--ink-80)}a{color:var(--coral);text-decoration:none;transition:color 0.15s var(--ease)}a:hover{text-decoration:underline;text-underline-offset:3px}strong{color:var(--ink)}.kicker{font-family:var(--sans);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:var(--coral);display:block;margin-bottom:var(--sp-sm)}.dateline{font-family:var(--sans);font-size:0.78rem;color:var(--ink-40);letter-spacing:0.02em}.divider{border:none;border-top:1px solid var(--ink-10);margin:var(--sp-2xl)0}.divider--heavy{border-top:2px solid var(--ink)}.container{max-width:780px;margin:0 auto;padding:0 var(--sp-lg)}.container--wide{max-width:1100px;margin:0 auto;padding:0 var(--sp-lg)}.site-header{background:var(--white);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--ink-10);backdrop-filter:blur(10px);background:rgba(255,255,255,0.95)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:52px;max-width:1100px;margin:0 auto;padding:0 var(--sp-lg)}.logo{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--ink);letter-spacing:-0.02em}.logo:hover{text-decoration:none;color:var(--ink)}.logo-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--ink);color:#fff;font-family:var(--sans);font-size:0.6rem;font-weight:700;letter-spacing:0.04em;border-radius:2px;margin-right:8px;vertical-align:middle}.site-header .container{max-width:1100px;padding:0}.nav-links{display:flex;gap:var(--sp-xl);align-items:center}.nav-links a{color:var(--ink-60);font-size:0.82rem;font-weight:500;letter-spacing:0.01em;transition:color 0.15s var(--ease)}.nav-links a:hover{color:var(--ink);text-decoration:none}.nav-links a.active{color:var(--ink);font-weight:600}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--ink);padding:var(--sp-xs);line-height:1}.masthead-bar{background:var(--ink);color:rgba(255,255,255,0.6);font-size:0.7rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;text-align:center;padding:7px var(--sp-lg)}.masthead-bar strong{color:#fff}.hero{padding:var(--sp-3xl)0 var(--sp-2xl);border-bottom:1px solid var(--ink-10)}.hero .container{max-width:780px}.hero h1{font-size:3.4rem;line-height:1.08;letter-spacing:-0.025em;margin-bottom:var(--sp-lg);max-width:700px}.hero h1 em{font-style:italic}.hero .lead{font-size:1.15rem;color:var(--ink-60);line-height:1.7;max-width:620px;margin-bottom:var(--sp-lg)}.hero .byline{display:flex;align-items:center;gap:var(--sp-md);font-size:0.82rem;color:var(--ink-60)}.hero .byline .author-name{font-weight:600;color:var(--ink)}.hero .trust-signals{display:flex;gap:var(--sp-xl);margin-top:var(--sp-lg);padding-top:var(--sp-lg);border-top:1px solid var(--ink-10)}.trust-signal{display:flex;flex-direction:column}.trust-signal .ts-number{font-family:var(--serif);font-size:1.6rem;color:var(--ink);line-height:1}.trust-signal .ts-label{font-size:0.72rem;color:var(--ink-40);text-transform:uppercase;letter-spacing:0.06em;font-weight:500;margin-top:2px}.editorial-notice{background:var(--ink-05);padding:12px var(--sp-lg);font-size:0.78rem;color:var(--ink-60);line-height:1.55;border-bottom:1px solid var(--ink-10)}.editorial-notice .container{max-width:1100px}.editorial-notice strong{color:var(--ink-80);font-weight:600}.editorial-notice a{color:var(--ink-60);text-decoration:underline;text-underline-offset:2px}.our-pick{padding:var(--sp-3xl)0;background:var(--white);border-bottom:1px solid var(--ink-10)}.our-pick .container{max-width:780px}.pick-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--coral);margin-bottom:var(--sp-lg);padding:6px 14px;background:var(--coral-light);border-radius:2px}.pick-layout{display:grid;grid-template-columns:180px 1fr;gap:var(--sp-2xl);align-items:start}.pick-image{width:180px;position:relative}.pick-image picture,.pick-image img{width:100%;height:auto;display:block}.pick-score-float{position:absolute;top:-12px;right:-12px;width:56px;height:56px;border-radius:50%;background:var(--sage);color:#fff;font-family:var(--sans);font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.15)}.pick-content h3{font-size:1.9rem;margin-bottom:var(--sp-xs)}.pick-tagline{font-style:italic;font-family:var(--serif);color:var(--ink-60);font-size:1.05rem;margin-bottom:var(--sp-md)}.pick-details{font-size:0.88rem;color:var(--ink-80);margin-bottom:var(--sp-md);display:flex;flex-wrap:wrap;gap:var(--sp-sm);align-items:center}.pick-details .detail-sep{color:var(--ink-20)}.pick-blurb{font-size:0.95rem;line-height:1.7;margin-bottom:var(--sp-lg);color:var(--ink-80)}.pick-badges{display:flex;gap:var(--sp-sm);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:0.75rem;font-weight:600;border-radius:2px;white-space:nowrap}.badge--safe{background:var(--sage-light);color:var(--sage)}.badge--warning{background:var(--rust-light);color:var(--rust)}.badge--neutral{background:var(--ink-05);color:var(--ink-60);border:1px solid var(--ink-10)}.tag{display:inline-block;padding:5px 14px;border-radius:3px;font-size:0.8rem;font-weight:600;font-family:var(--sans)}.tag--safe{background:var(--sage-light);color:var(--sage)}.tag--warning{background:var(--rust-light);color:var(--rust)}.pick-actions{display:flex;gap:var(--sp-md);align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:0.85rem;font-weight:600;border:none;cursor:pointer;text-decoration:none;transition:all 0.15s var(--ease);letter-spacing:0.01em}.btn--primary{padding:11px 24px;background:var(--coral);color:#fff;border-radius:3px}.btn--primary:hover{background:var(--coral-dark);text-decoration:none;color:#fff}.btn--ghost{padding:10px 22px;background:transparent;color:var(--ink-80);border:1.5px solid var(--ink-20);border-radius:3px}.btn--ghost:hover{border-color:var(--ink-60);color:var(--ink);text-decoration:none}.btn--text{padding:0;background:none;color:var(--coral);font-weight:600}.btn--text:hover{text-decoration:underline}.runners-up{padding:var(--sp-2xl)0;border-bottom:1px solid var(--ink-10)}.runners-up .container{max-width:780px}.runners-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg);margin-top:var(--sp-lg)}.runner-card{padding:var(--sp-lg);background:var(--white);border:1px solid var(--ink-10);position:relative}.runner-rank{font-family:var(--sans);font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--ink-40);margin-bottom:var(--sp-sm)}.runner-card h4{font-family:var(--serif);font-size:1.15rem;font-weight:400;margin-bottom:4px}.runner-card h4 a{color:var(--ink)}.runner-card h4 a:hover{color:var(--coral);text-decoration:none}.runner-pitch{font-size:0.85rem;color:var(--ink-60);margin-bottom:var(--sp-md);line-height:1.55}.runner-meta{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem}.runner-price{font-weight:600;color:var(--ink)}.runner-score{font-family:var(--sans);font-weight:700;font-size:0.9rem}.runner-score.excellent{color:var(--sage)}.runner-score.good{color:var(--amber)}.editorial-section{padding:var(--sp-3xl)0}.editorial-section .container{max-width:780px}.editorial-section h2{margin-bottom:var(--sp-md)}.editorial-content{font-size:1.05rem;line-height:1.8}.editorial-content p{margin-bottom:1.25rem}.callout{margin:var(--sp-xl)0;padding:var(--sp-lg)var(--sp-xl);position:relative}.callout--warning{background:var(--rust-light);border-left:3px solid var(--rust)}.callout--safe{background:var(--sage-light);border-left:3px solid var(--sage)}.callout--neutral{background:var(--ink-05);border-left:3px solid var(--ink-20)}.callout h4{font-size:0.85rem;margin-bottom:var(--sp-sm);text-transform:uppercase;letter-spacing:0.04em}.callout--warning h4{color:var(--rust)}.callout--safe h4{color:var(--sage)}.callout p{font-size:0.9rem;margin-bottom:0;color:var(--ink-80);line-height:1.65}.safety-guide{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md);margin-top:var(--sp-lg)}.safety-tier{padding:var(--sp-lg);background:var(--white);border:1px solid var(--ink-10)}.safety-tier h4{font-size:0.88rem;margin-bottom:var(--sp-xs)}.safety-tier p{font-size:0.82rem;color:var(--ink-60);margin-bottom:0;line-height:1.55}.safety-tier--safe{border-top:3px solid var(--sage)}.safety-tier--caution{border-top:3px solid var(--amber)}.rankings-section{padding:var(--sp-3xl)0}.rankings-section .container{max-width:780px}.rankings-intro{font-size:0.92rem;color:var(--ink-60);margin-bottom:var(--sp-2xl);max-width:620px}.product-entry{padding:var(--sp-xl)0;border-top:1px solid var(--ink-10);display:grid;grid-template-columns:40px 100px 1fr;gap:var(--sp-lg);align-items:start}.product-entry:first-of-type{border-top:2px solid var(--ink)}.product-rank{font-family:var(--serif);font-size:1.6rem;color:var(--ink-20);padding-top:2px}.product-img{width:100px;display:flex;align-items:center;justify-content:center;background:var(--white);border:1px solid var(--ink-10);overflow:hidden;aspect-ratio:3/4}.product-img picture,.product-img img{width:100%;height:100%;object-fit:contain}.product-body h3{font-size:1.2rem;margin-bottom:2px}.product-body h3 a{color:var(--ink)}.product-body h3 a:hover{color:var(--coral);text-decoration:none}.product-brand{font-size:0.78rem;color:var(--ink-40);margin-bottom:var(--sp-sm)}.product-details{font-size:0.82rem;color:var(--ink-80);margin-bottom:var(--sp-sm)}.product-details strong{color:var(--ink)}.product-score-row{display:flex;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-sm)}.product-score{font-family:var(--sans);font-size:1.3rem;font-weight:700}.product-score.excellent{color:var(--sage)}.product-score.good{color:var(--amber)}.product-score.average{color:#E68A00}.product-score.below{color:var(--rust)}.product-score-label{font-size:0.7rem;color:var(--ink-40);text-transform:uppercase;letter-spacing:0.06em;font-weight:500}.product-tags{display:flex;gap:var(--sp-xs);flex-wrap:wrap;margin-bottom:var(--sp-sm)}.product-excerpt{font-size:0.9rem;line-height:1.7;margin-bottom:var(--sp-md);color:var(--ink-80)}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md);margin-bottom:var(--sp-md);font-size:0.82rem}.pros,.cons{list-style:none}.pros li,.cons li{padding:3px 0 3px 20px;position:relative;color:var(--ink-80);line-height:1.5}.pros li::before{content:'\2713';position:absolute;left:0;color:var(--sage);font-weight:700;font-size:1rem;line-height:1.35}.cons li::before{content:'\2717';position:absolute;left:0;color:var(--rust);font-weight:700;font-size:1rem;line-height:1.35}.product-actions{display:flex;gap:var(--sp-md);align-items:center}.btn-read{font-size:0.82rem;font-weight:600;color:var(--coral)}.btn-read:hover{text-decoration:underline}.btn-site{font-size:0.78rem;color:var(--ink-40);font-weight:500}.btn-site:hover{color:var(--ink);text-decoration:none}.comparison-section{padding:var(--sp-3xl)0;border-top:2px solid var(--ink)}.comparison-section .container{max-width:1100px}.comparison-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--sp-lg)0 0}.comparison-table{width:100%;border-collapse:collapse;font-size:0.82rem;white-space:nowrap}.comparison-table thead th{text-align:left;padding:10px 16px;font-family:var(--sans);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-40);font-weight:600;border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0}.comparison-table tbody td{padding:10px 16px;border-bottom:1px solid var(--ink-10);vertical-align:middle;color:var(--ink-80)}.comparison-table tbody tr:hover{background:var(--ink-05)}.comparison-table tbody tr.highlight{background:var(--coral-light)}.comparison-table tbody tr.highlight td{font-weight:500}.table-safe{color:var(--sage);font-weight:700}.table-warn{color:var(--rust);font-weight:600}.methodology-section{padding:var(--sp-3xl)0;border-top:2px solid var(--ink)}.methodology-section .container{max-width:780px}.methodology-subtitle{color:var(--ink-60);font-size:0.92rem;margin-bottom:var(--sp-xl)}.criteria-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md)}.criteria-item{padding:var(--sp-lg);background:var(--white);border:1px solid var(--ink-10);border-top:3px solid var(--ink)}.criteria-item h4{font-size:0.88rem;margin-bottom:var(--sp-xs)}.criteria-item p{font-size:0.8rem;color:var(--ink-60);margin-bottom:0;line-height:1.55}.criteria-weight{font-family:var(--serif);font-size:1.4rem;color:var(--coral);margin-top:var(--sp-sm)}.faq-section{padding:var(--sp-3xl)0;border-top:2px solid var(--ink)}.faq-section .container{max-width:780px}.faq-section h2{margin-bottom:var(--sp-lg)}.faq-item{border-bottom:1px solid var(--ink-10)}.faq-question{width:100%;background:none;border:none;padding:16px 0;font-family:var(--sans);font-size:0.92rem;font-weight:600;color:var(--ink);text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-md);line-height:1.35;transition:color 0.15s var(--ease)}.faq-question:hover{color:var(--coral)}.faq-question svg{width:16px;height:16px;transition:transform 0.25s var(--ease);flex-shrink:0;color:var(--ink-40)}.faq-item.open .faq-question{color:var(--coral)}.faq-item.open .faq-question svg{transform:rotate(180deg);color:var(--coral)}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.35s var(--ease)}.faq-item.open .faq-answer{max-height:800px}.faq-answer-inner{padding:0 0 var(--sp-lg);font-size:0.88rem;color:var(--ink-80);line-height:1.7}.faq-answer-inner a{color:var(--coral);font-weight:500}.site-footer{background:var(--ink);color:rgba(255,255,255,0.6);padding:var(--sp-3xl)0 var(--sp-2xl);margin-top:var(--sp-3xl)}.footer-inner{max-width:1100px;margin:0 auto;padding:0 var(--sp-lg)}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-xl);flex-wrap:wrap;gap:var(--sp-xl)}.footer-brand .logo{margin-bottom:var(--sp-sm);display:block;color:#fff;font-size:1.15rem}.footer-brand .logo:hover{color:#fff;text-decoration:none}.footer-brand p{font-size:0.78rem;color:rgba(255,255,255,0.4);max-width:280px;line-height:1.55}.footer-nav{display:flex;gap:var(--sp-2xl)}.footer-col h4{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.3);margin-bottom:10px;font-weight:600}.footer-col a{display:block;color:rgba(255,255,255,0.6);font-size:0.8rem;margin-bottom:7px;transition:color 0.15s var(--ease)}.footer-col a:hover{color:#fff;text-decoration:none}.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:var(--sp-lg);font-size:0.72rem;color:rgba(255,255,255,0.3);line-height:1.6}.footer-bottom a{color:rgba(255,255,255,0.4)}.footer-bottom a:hover{color:rgba(255,255,255,0.7);text-decoration:none}.affiliate-disclaimer{padding:var(--sp-md)0;font-size:0.75rem;color:rgba(255,255,255,0.3);line-height:1.6;border-top:1px solid rgba(255,255,255,0.06);margin-top:var(--sp-md)}.affiliate-disclaimer strong{color:rgba(255,255,255,0.5);font-weight:500}.inline-disclaimer{font-size:0.78rem;color:var(--ink-40);line-height:1.6;padding:var(--sp-md)0;border-top:1px solid var(--ink-10);margin-top:var(--sp-lg)}.inline-disclaimer strong{color:var(--ink-60);font-weight:600}.inline-disclaimer a{color:var(--ink-40);text-decoration:underline;text-underline-offset:2px}.quick-verdict-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--ink);color:#fff;padding:10px var(--sp-lg);box-shadow:0 -4px 20px rgba(0,0,0,0.15)}.quick-verdict-sticky-inner{display:flex;align-items:center;justify-content:space-between;max-width:780px;margin:0 auto;gap:12px}.quick-verdict-sticky .sticky-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.quick-verdict-sticky .sticky-score{width:34px;height:34px;border-radius:50%;background:var(--sage);color:#fff;font-weight:700;font-size:0.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-verdict-sticky .sticky-text{font-size:0.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-verdict-sticky .sticky-label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.06em;color:rgba(255,255,255,0.5)}.quick-verdict-sticky .btn--primary{flex-shrink:0;font-size:0.78rem;padding:8px 16px}@media(max-width:1024px){.container--wide{max-width:780px}}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.6rem}.hero{padding:var(--sp-2xl)0}.hero h1{font-size:2.2rem}.hero .trust-signals{gap:var(--sp-lg)}.nav-links{display:none}.nav-links.active{display:flex;flex-direction:column;position:absolute;top:52px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--ink-10);padding:var(--sp-sm)var(--sp-lg);gap:0;z-index:99}.nav-links.active a{padding:14px 0;font-size:0.95rem;border-bottom:1px solid var(--ink-05);min-height:48px;display:flex;align-items:center}.nav-links.active a:last-child{border-bottom:none}.mobile-menu-btn{display:block;min-width:44px;min-height:44px}.container{padding:0 var(--sp-md)}.site-footer{padding:var(--sp-2xl)0 var(--sp-xl)}.pick-layout{grid-template-columns:1fr}.pick-image{width:120px}.runners-grid{grid-template-columns:1fr}.product-entry{grid-template-columns:32px 1fr}.product-img{display:none}.pros-cons{grid-template-columns:1fr}.criteria-list{grid-template-columns:1fr}.safety-guide{grid-template-columns:1fr}.footer-nav{gap:var(--sp-lg)}.footer-top{flex-direction:column}.quick-verdict-sticky{display:block}body{padding-bottom:64px}.comparison-table th:first-child,.comparison-table td:first-child{position:sticky;left:0;z-index:2;background:var(--white);box-shadow:2px 0 4px rgba(0,0,0,0.04)}.comparison-table thead th:first-child{background:var(--paper);z-index:3}.comparison-table tbody tr:hover td:first-child{background:var(--ink-05)}.comparison-table tbody tr.highlight td:first-child{background:var(--coral-light)}.our-pick,.editorial-section,.rankings-section,.methodology-section,.faq-section,.comparison-section{padding:var(--sp-2xl)0}}@media(max-width:480px){.container,.container--wide{padding:0 var(--sp-md)}.hero h1{font-size:1.8rem}.hero .trust-signals{flex-wrap:wrap;gap:var(--sp-md)}.footer-nav{flex-direction:column;gap:var(--sp-lg)}.product-entry{grid-template-columns:1fr}.product-rank{font-family:var(--sans);font-size:0.75rem;color:var(--coral);text-transform:uppercase;letter-spacing:0.08em;font-weight:700}.product-rank::before{content:'#'}.nav-inner{padding:0 var(--sp-md)}.pick-score-float{width:44px;height:44px;font-size:0.95rem}}@media(pointer:coarse){.faq-question{min-height:48px}.btn,.btn--primary,.btn--ghost,.btn--text{min-height:44px}.footer-col a{min-height:40px;display:flex;align-items:center}.nav-links.active a{min-height:48px}}@media print{.site-header,.site-footer,.quick-verdict-sticky,.masthead-bar,.mobile-menu-btn{display:none}body{background:#fff;color:#000}a{color:#000;text-decoration:underline}}