:root{--accent: #4f46e5;--accent-dark: #4338ca;--accent-soft: #eef2ff;--ink: #1a1a2e;--ink-soft: #4b5563;--ink-faint: #6b7280;--line: #e5e7eb;--bg: #ffffff;--bg-soft: #f9fafb;--star: #f59e0b;--max: 72rem;--radius: .75rem}*,*:before,*:after{box-sizing:border-box}html{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh;display:flex;flex-direction:column}main{flex:1}.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.01em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.site-header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:3.75rem}.brand{font-weight:800;font-size:1.15rem;color:var(--ink);letter-spacing:-.02em}.brand span{color:var(--accent)}.brand:hover{text-decoration:none}.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:.5rem;padding:.35rem .6rem;font-size:1.1rem;cursor:pointer;color:var(--ink)}.site-nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.site-nav a{color:var(--ink-soft);font-weight:500;font-size:.95rem}.site-nav a:hover{color:var(--accent);text-decoration:none}@media(max-width:640px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:3.75rem;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line)}.site-nav.open{display:block}.site-nav ul{flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem}.site-nav li{padding:.5rem 0}}.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:4rem;padding:2.5rem 0;font-size:.9rem;color:var(--ink-faint)}.site-footer nav ul{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;margin:0 0 1rem;padding:0}.site-footer a{color:var(--ink-soft)}.footer-note{margin:.25rem 0 0}.hero{padding:4rem 0 3rem;background:linear-gradient(180deg,var(--accent-soft),var(--bg))}.hero h1{font-size:clamp(1.9rem,4vw,2.9rem);max-width:46rem;margin:0 0 1rem}.hero p{font-size:1.15rem;color:var(--ink-soft);max-width:40rem;margin:0 0 1.75rem}.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:600;padding:.7rem 1.4rem;border-radius:.6rem;font-size:1rem}.btn:hover{background:var(--accent-dark);color:#fff;text-decoration:none}.btn-secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}.btn-secondary:hover{background:var(--accent-soft);color:var(--accent-dark)}.section{padding:2.75rem 0 .5rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.section-head h2{margin:0;font-size:1.6rem}.section-head a{font-size:.95rem;white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.25rem}.card{border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;background:var(--bg);display:flex;flex-direction:column;gap:.6rem;transition:box-shadow .15s ease}.card:hover{box-shadow:0 6px 24px #4f46e51a}.card h3{margin:0;font-size:1.15rem}.card h3 a{color:var(--ink)}.card h3 a:hover{color:var(--accent);text-decoration:none}.card .provider{color:var(--ink-faint);font-size:.9rem;margin:0}.card .best-for{color:var(--ink-soft);font-size:.95rem;margin:0;flex:1}.card .card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem;color:var(--ink-faint)}.badge{display:inline-block;background:var(--accent-soft);color:var(--accent-dark);font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.badge-choice{background:#fef3c7;color:#92400e}.rating{display:inline-flex;align-items:center;gap:.4rem;font-weight:700}.rating .score{color:var(--ink);font-size:1.05rem}.rating .of{color:var(--ink-faint);font-weight:400;font-size:.85rem}.stars{color:var(--star);letter-spacing:.08em;font-size:.95rem}.cta-banner{background:var(--accent);color:#fff;border-radius:var(--radius);padding:2.25rem;margin:3rem 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem}.cta-banner h2{margin:0 0 .35rem;font-size:1.4rem}.cta-banner p{margin:0;color:#e0e7ff;max-width:34rem}.cta-banner .btn{background:#fff;color:var(--accent)}.cta-banner .btn:hover{background:var(--accent-soft)}.affiliate-note{font-size:.85rem;color:var(--ink-faint);margin:.5rem 0 0}.disclosure-inline{background:var(--bg-soft);border:1px solid var(--line);border-radius:.5rem;padding:.6rem .9rem;font-size:.85rem;color:var(--ink-soft);margin:1rem 0}.review-head{padding:2.5rem 0 1rem}.review-head h1{margin:.4rem 0 .6rem;font-size:clamp(1.7rem,3.5vw,2.4rem)}.review-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;color:var(--ink-soft);font-size:.95rem;margin:.75rem 0}.verdict-box{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:.5rem;padding:1.25rem 1.5rem;margin:1.5rem 0}.verdict-box .label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-dark);margin:0 0 .35rem}.verdict-box p{margin:0;font-size:1.05rem;font-weight:500}.fit-grid,.proscons{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.5rem 0}@media(max-width:640px){.fit-grid,.proscons{grid-template-columns:1fr}}.fit-box,.proscons>div{border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.4rem}.fit-box h3,.proscons h3{margin:0 0 .5rem;font-size:1.05rem}.fit-box p{margin:0;color:var(--ink-soft)}.proscons ul{margin:0;padding-left:1.2rem;color:var(--ink-soft)}.proscons li{margin-bottom:.4rem}.review-body{max-width:46rem;font-size:1.05rem}.review-body h2{margin-top:2.25rem}.verified{color:var(--ink-faint);font-size:.85rem;border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1rem}.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.rank-item{display:flex;gap:1.25rem;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:var(--bg)}.rank-num{font-size:1.75rem;font-weight:800;color:var(--accent);line-height:1;min-width:2.25rem}.rank-item h3{margin:0 0 .35rem;font-size:1.2rem}.rank-item .blurb{margin:.5rem 0;color:var(--ink-soft)}@media(max-width:560px){.rank-item{flex-direction:column;gap:.5rem}}.prose{max-width:46rem;padding:2.5rem 0}.prose h1{font-size:clamp(1.7rem,3.5vw,2.3rem)}.prose h2{margin-top:2rem;font-size:1.35rem}.prose p,.prose li{color:var(--ink-soft)}.chip-row{display:flex;flex-wrap:wrap;gap:.6rem}.chip{border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem;color:var(--ink-soft);font-size:.9rem;font-weight:500;background:var(--bg)}.chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.editorial-rating{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.editorial-rating-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.community-reviews{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.75rem;max-width:46rem}.community-reviews h2{margin-top:0}.community-aggregate{font-size:1.05rem;margin:0 0 .35rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.community-note{font-size:.85rem;color:var(--ink-faint);margin:0 0 1.25rem}.review-list{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-direction:column;gap:1rem}.user-review{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;background:var(--bg-soft)}.user-review-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.4rem}.user-review-head time{color:var(--ink-faint);font-size:.85rem}.user-review p{margin:0;color:var(--ink-soft);white-space:pre-line}.review-form{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:var(--bg)}.review-form h3{margin:0 0 .4rem}.review-form-note{font-size:.9rem;color:var(--ink-faint);margin:0 0 1.25rem}.form-row{margin-bottom:1rem;display:flex;flex-direction:column;gap:.3rem}.form-row label{font-weight:600;font-size:.9rem}.form-row input,.form-row select,.form-row textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--ink)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.form-status{font-size:.9rem;color:var(--ink-soft);min-height:1.2em;margin:0 0 .75rem}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
