:root{--paper:#f4f3ef;--paper-2:#ecebe4;--card:#fff;--ink:#16161a;--ink-soft:#5f5e57;--ink-faint:#8c8b82;--line:#e3e1d9;--line-strong:#d2d0c6;--accent:#2536f5;--accent-ink:#1a24ae;--accent-soft:#e7e9ff;--deal:#e8452b;--radius:15px;--radius-sm:10px;--maxw:1180px;--disp:"Bricolage Grotesque",-apple-system,system-ui,sans-serif;--body:"Inter",-apple-system,system-ui,sans-serif;--mono:"Space Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}svg{display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.mono{font-family:var(--mono);letter-spacing:-.02em}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.stars{letter-spacing:1.5px;color:var(--line-strong);font-family:Arial;font-size:13px;line-height:1;display:inline-block;position:relative}.stars:before{content:"★★★★★"}.stars>i{color:var(--accent);white-space:nowrap;position:absolute;top:0;left:0;overflow:hidden}.stars>i:before{content:"★★★★★"}.promobar{background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.02em;font-size:12px}.promobar .wrap{text-align:center;justify-content:center;align-items:center;gap:10px;height:38px;display:flex}.promobar .pill{background:var(--accent);color:#fff;letter-spacing:.1em;text-transform:uppercase;border-radius:5px;padding:2px 8px;font-size:10px}.promobar b{color:#fff;font-weight:700}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 84%,transparent);backdrop-filter:saturate(1.4)blur(10px);z-index:50;position:sticky;top:0}.topbar-inner{align-items:center;gap:26px;height:66px;display:flex}.brand{font-family:var(--disp);letter-spacing:-.03em;align-items:center;gap:9px;font-size:22px;font-weight:800;display:flex}.brand .mark{background:var(--ink);width:27px;height:27px;color:var(--paper);border-radius:7px;flex:none;place-items:center;display:grid}.brand .mark svg{width:15px;height:15px}nav.main{gap:22px;margin-left:8px;display:flex}nav.main a{color:var(--ink-soft);padding:6px 2px;font-size:14px;font-weight:500;transition:color .15s;position:relative}nav.main a:hover,nav.main a.active{color:var(--ink)}nav.main a.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;width:39px;height:39px;color:var(--ink);border-radius:10px;place-items:center;transition:border-color .15s;display:grid}.icon-btn:hover{border-color:var(--ink)}.icon-btn svg{width:17px;height:17px}.btn-sub{font-family:var(--body);background:var(--ink);color:var(--paper);cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,transform .1s}.btn-sub:hover{background:#000}.btn-sub:active{transform:translateY(1px)}.btn-primary{font-family:var(--body);background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:14px 22px;font-size:15px;font-weight:600;transition:background .15s,transform .1s;display:inline-block}.btn-primary:hover{background:var(--accent-ink)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;transition:border-color .15s;display:inline-block}.btn-ghost:hover{border-color:var(--ink)}.buy{background:var(--ink);color:#fff;border-radius:9px;align-items:center;gap:7px;padding:10px 15px;font-size:13.5px;font-weight:600;transition:background .15s;display:inline-flex}.buy:hover{background:#000}.buy svg{width:13px;height:13px}.buy.acc{background:var(--accent)}.buy.acc:hover{background:var(--accent-ink)}.ph{color:#fff;place-items:center;display:grid;position:relative;overflow:hidden}.ph svg{stroke-width:1.1px;opacity:.92;width:34%;height:34%}.ph.v1{background:radial-gradient(120% 120% at 30% 15%,#4a57ff 0%,#1a24ae 100%)}.ph.v2{background:radial-gradient(120% 120% at 70% 20%,#2b2b32 0%,#101014 100%)}.ph.v3{background:radial-gradient(120% 120% at 25% 20%,#ff8a5c 0%,#d4491f 100%)}.ph.v4{background:radial-gradient(120% 120% at 75% 15%,#3fb08a 0%,#14624a 100%)}.ph.v5{background:radial-gradient(120% 120% at 30% 20%,#b9a3ff 0%,#5b3fd4 100%)}.ph.light{background:radial-gradient(120% 120% at 30% 20%, #fff 0%, var(--paper-2) 100%);color:var(--ink-faint)}.ph img{object-fit:contain;width:100%;height:100%;padding:16px;display:block;position:absolute;inset:0}.ph.has-image{background:#fff}.rank .thumb .ph img{padding:4px}.ph.cover img{object-fit:cover;padding:0}.ph.cover{background:var(--paper-2)}.hero{padding:60px 0 46px;position:relative;overflow:hidden}.hero:after{content:"";background:var(--accent-soft);filter:blur(20px);opacity:.6;z-index:0;border-radius:50%;width:420px;height:420px;position:absolute;top:-140px;right:-120px}.hero-grid{z-index:1;grid-template-columns:1.12fr .88fr;align-items:center;gap:52px;display:grid;position:relative}.hero-copy .eyebrow{align-items:center;gap:8px;margin-bottom:20px;display:inline-flex}.hero-copy .eyebrow .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}h1.hero-title{font-family:var(--disp);letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(40px,5.6vw,66px);font-weight:700;line-height:.98}h1.hero-title em{color:var(--accent);font-style:normal}.hero-sub{color:var(--ink-soft);max-width:45ch;margin-bottom:26px;font-size:17.5px}.hero-cta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-trust{color:var(--ink-soft);align-items:center;gap:11px;margin-top:22px;font-size:13px;display:flex}.hero-trust .stars{font-size:14px}.hero-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:30px;margin-top:30px;padding-top:24px;display:flex}.hero-meta .n{font-family:var(--disp);letter-spacing:-.03em;font-size:26px;font-weight:700}.hero-meta .l{color:var(--ink-faint);margin-top:1px;font-size:12.5px}.feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;box-shadow:0 1px #00000005,0 22px 46px -30px #14141a66}.flag{z-index:2;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;display:flex;position:absolute;top:15px;left:15px}.flag svg{width:11px;height:11px}.save{z-index:2;border:1px solid var(--line);cursor:pointer;width:34px;height:34px;color:var(--ink);background:#ffffffeb;border-radius:9px;place-items:center;transition:transform .1s;display:grid;position:absolute;top:13px;right:13px}.save:hover{transform:scale(1.06)}.save svg{width:16px;height:16px}.feature-card .ph{aspect-ratio:16/12;border-bottom:1px solid var(--line)}.feature-card .body{padding:20px 22px 22px}.cat{font-family:var(--mono);letter-spacing:.06em;color:var(--accent);text-transform:uppercase;font-size:10.5px}.feature-card h3{font-family:var(--disp);letter-spacing:-.02em;margin:7px 0 8px;font-size:21px;font-weight:700}.feature-card .rate{color:var(--ink-soft);align-items:center;gap:7px;margin-bottom:16px;font-size:12.5px;display:flex}.price-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.price{font-family:var(--mono);font-size:19px;font-weight:700}.price s{color:var(--ink-faint);margin-left:6px;font-size:14px;font-weight:400}.incentives{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}.inc-grid{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.inc{border-left:1px solid var(--line);align-items:center;gap:13px;padding:22px 20px;display:flex}.inc:first-child{border-left:none}.inc .ico{background:var(--card);border:1px solid var(--line-strong);width:38px;height:38px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.inc .ico svg{width:18px;height:18px}.inc h4{font-family:var(--disp);letter-spacing:-.01em;margin-bottom:2px;font-size:14.5px;font-weight:600}.inc p{color:var(--ink-soft);font-size:12px;line-height:1.4}section.block{padding:66px 0}.head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.head h2{font-family:var(--disp);letter-spacing:-.03em;font-size:clamp(26px,3.4vw,36px);font-weight:700;line-height:1}.head .sub{color:var(--ink-soft);margin-top:8px;font-size:14.5px}.head .link{color:var(--accent);white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.head .link svg{width:14px;height:14px}.cat-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.cat-tile{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);cursor:pointer;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.cat-tile:hover{transform:translateY(-3px);box-shadow:0 20px 40px -30px #14141a80}.cat-tile .ph{aspect-ratio:16/8}.cat-tile .ph svg{width:26%;height:26%}.cat-tile .meta{justify-content:space-between;align-items:center;padding:15px 17px;display:flex}.cat-tile .meta h3{font-family:var(--disp);letter-spacing:-.01em;font-size:17px;font-weight:600}.cat-tile .meta .count{font-family:var(--mono);color:var(--ink-faint);font-size:11px}.cat-tile .arrow{background:var(--paper-2);width:30px;height:30px;color:var(--ink);border-radius:8px;place-items:center;transition:background .15s,color .15s;display:grid}.cat-tile:hover .arrow{background:var(--accent);color:#fff}.cat-tile .arrow svg{width:15px;height:15px}.cat-tile.soon .ph{filter:grayscale(.6)opacity(.85)}.cat-tile .soontag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);background:#ffffffe6;border-radius:5px;padding:3px 7px;font-size:9px;position:absolute;top:12px;left:12px}.chips{flex-wrap:wrap;gap:9px;margin-bottom:26px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--ink)}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.card:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:0 24px 46px -30px #14141a80}.card .ph{aspect-ratio:16/11}.badge{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;z-index:2;border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:9.5px;display:flex;position:absolute;top:13px;left:13px}.badge.pick{background:var(--card);border:1px solid var(--line-strong);color:var(--ink)}.badge.pick .ck{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:13px;height:13px;display:grid}.badge.pick .ck svg{stroke-width:2.6px;width:8px;height:8px}.badge.deal{background:var(--deal);color:#fff}.badge.top{background:var(--ink);color:var(--paper)}.card .body{flex-direction:column;flex:1;padding:16px 18px 18px;display:flex}.card h3{font-family:var(--disp);letter-spacing:-.015em;margin:6px 0 7px;font-size:17px;font-weight:600;line-height:1.15}.card .why{color:var(--ink-soft);flex:1;margin-bottom:14px;font-size:13px}.card h3 a{transition:color .15s}.card h3 a:hover,.feature-card h3 a:hover{color:var(--accent)}.review-link{color:var(--accent);align-items:center;gap:5px;margin-bottom:13px;font-size:12.5px;font-weight:600;transition:gap .15s;display:inline-flex}.review-link:hover{gap:9px}.review-link svg{width:13px;height:13px}.card .rate{color:var(--ink-soft);align-items:center;gap:6px;margin-bottom:13px;font-size:12px;display:flex}.card .price-row{border-top:1px solid var(--line);padding-top:13px}.rank-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.rank{border-top:1px solid var(--line);grid-template-columns:auto 76px 1fr auto;align-items:center;gap:18px;padding:16px 22px;transition:background .15s;display:grid}.rank:first-child{border-top:none}.rank:hover{background:var(--paper-2)}.rank .num{font-family:var(--disp);color:var(--line-strong);text-align:center;letter-spacing:-.04em;width:30px;font-size:24px;font-weight:800}.rank .thumb{border-radius:9px;width:76px;height:60px;overflow:hidden}.rank .thumb .ph{width:100%;height:100%}.rank .thumb .ph svg{width:40%;height:40%}.rank .info h4{font-family:var(--disp);letter-spacing:-.01em;margin-bottom:4px;font-size:16px;font-weight:600}.rank .info .line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rank .info .cat{color:var(--ink-faint)}.rank .info .r{color:var(--ink-soft);align-items:center;gap:5px;font-size:12px;display:flex}.rank .right{align-items:center;gap:16px;display:flex}.rank .right .price{font-size:16px}@media (width<=640px){.rank{grid-template-columns:auto 1fr auto;gap:12px;padding:14px 16px}.rank .thumb{display:none}}.deals{background:var(--ink);color:var(--paper);border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:44px;display:grid}.deals .eyebrow{color:#b7b6ad;margin-bottom:14px}.deals h2{font-family:var(--disp);letter-spacing:-.03em;max-width:20ch;margin-bottom:10px;font-size:clamp(24px,3vw,32px);font-weight:700;line-height:1.05}.deals p{color:#c9c8bf;max-width:40ch;font-size:14.5px}.deals .btn-primary{background:var(--paper);color:var(--ink);white-space:nowrap}.deals .btn-primary:hover{background:#fff}@media (width<=720px){.deals{grid-template-columns:1fr;padding:34px 26px}}.verdict{border:1px solid var(--line);background:var(--card);border-radius:20px;overflow:hidden}.verdict-inner{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.verdict-copy{padding:50px 46px}.verdict .eyebrow{color:var(--accent);margin-bottom:18px}.verdict h2{font-family:var(--disp);letter-spacing:-.03em;margin-bottom:15px;font-size:clamp(25px,3vw,33px);font-weight:700;line-height:1.06}.verdict p{color:var(--ink-soft);max-width:42ch;margin-bottom:24px;font-size:15px}.verdict .btn-primary{background:var(--ink)}.verdict .btn-primary:hover{background:#000}.verdict-visual{color:#4d4d55;background:radial-gradient(130% 120% at 70% 20%,#26262c 0%,#101014 100%);place-items:center;min-height:320px;display:grid;position:relative}.verdict-visual svg{stroke-width:1px;width:30%;height:30%}@media (width<=820px){.verdict-inner{grid-template-columns:1fr}.verdict-visual{order:-1;min-height:240px}}.steps{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;position:relative}.step .n{font-family:var(--mono);color:var(--accent);letter-spacing:.1em;margin-bottom:16px;font-size:12px}.step .ico{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:11px;place-items:center;margin-bottom:16px;display:grid}.step .ico svg{width:20px;height:20px}.step h3{font-family:var(--disp);letter-spacing:-.015em;margin-bottom:8px;font-size:18px;font-weight:600}.step p{color:var(--ink-soft);font-size:13.5px;line-height:1.55}.news{background:var(--accent);color:#fff;text-align:center;border-radius:20px;padding:54px 48px;position:relative;overflow:hidden}.news .eyebrow{color:#ffffffb8;margin-bottom:15px}.news h2{font-family:var(--disp);letter-spacing:-.03em;margin-bottom:13px;font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1}.news p{color:#ffffffd9;margin-bottom:26px;font-size:16px}.news form{gap:10px;max-width:440px;margin:0 auto;display:flex}.news input{font-family:var(--body);color:#fff;background:#ffffff26;border:none;border-radius:11px;outline:none;flex:1;padding:14px 16px;font-size:15px}.news input::placeholder{color:#ffffffb3}.news input:focus{background:#ffffff3d;box-shadow:0 0 0 2px #ffffff80}.news button{font-family:var(--body);color:var(--accent);cursor:pointer;background:#fff;border:none;border-radius:11px;padding:14px 24px;font-size:15px;font-weight:700;transition:transform .1s,background .15s}.news button:hover{background:var(--paper)}.news button:active{transform:translateY(1px)}.news .fine{color:#ffffffb8;margin-top:14px;font-size:12px}footer{border-top:1px solid var(--line);margin-top:14px;padding:52px 0 40px}.disclosure{border:1px solid var(--line);background:var(--paper-2);color:var(--ink-soft);border-radius:12px;margin-bottom:34px;padding:18px 20px;font-size:12.5px;line-height:1.6}.disclosure strong{color:var(--ink);font-weight:600}.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;margin-bottom:38px;display:grid}.foot-brand .brand{margin-bottom:14px}.foot-brand p{color:var(--ink-soft);max-width:34ch;font-size:13.5px}.foot-col h4{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px;font-size:11px}.foot-col a{color:var(--ink-soft);padding:5px 0;font-size:14px;transition:color .15s;display:block}.foot-col a:hover{color:var(--ink)}.foot-bottom{color:var(--ink-faint);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:12.5px;display:flex}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:36px}.grid,.cat-grid,.steps,.inc-grid{grid-template-columns:repeat(2,1fr)}.inc:nth-child(3){border-left:none}.inc{border-top:1px solid var(--line)}.inc:first-child,.inc:nth-child(2){border-top:none}nav.main{display:none}}@media (width<=560px){.wrap{padding:0 18px}.grid,.cat-grid,.steps,.inc-grid{grid-template-columns:1fr}.inc{border-left:none;border-top:1px solid var(--line)}.inc:first-child{border-top:none}.foot-grid{grid-template-columns:1fr 1fr}.news{padding:44px 24px}.news form{flex-direction:column}.btn-sub{display:none}.verdict-copy{padding:36px 26px}.hero{padding:40px 0 30px}.promobar .wrap{font-size:11px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.page-hero{padding:52px 0 8px}.page-hero .eyebrow{margin-bottom:14px;display:inline-block}.page-hero h1{font-family:var(--disp);letter-spacing:-.03em;margin-bottom:14px;font-size:clamp(32px,4.4vw,50px);font-weight:700;line-height:1.02}.page-hero p{color:var(--ink-soft);max-width:56ch;font-size:16px}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--card);text-align:center;color:var(--ink-soft);padding:46px 30px;font-size:14.5px}.prose{max-width:72ch;color:var(--ink-soft);font-size:16px;line-height:1.7}.prose>*+*{margin-top:1.1em}.prose h2{font-family:var(--disp);letter-spacing:-.02em;color:var(--ink);margin-top:1.8em;font-size:26px;font-weight:700}.prose h3{font-family:var(--disp);letter-spacing:-.01em;color:var(--ink);margin-top:1.4em;font-size:20px;font-weight:600}.prose p,.prose li{color:var(--ink-soft)}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-top:.4em}.prose blockquote{border-left:3px solid var(--accent);color:var(--ink-soft);padding-left:18px;font-style:italic}.prose code{font-family:var(--mono);background:var(--paper-2);color:var(--ink);border-radius:5px;padding:2px 6px;font-size:.9em}.review-hero{grid-template-columns:1fr .8fr;align-items:stretch;gap:36px;margin-bottom:40px;display:grid}.review-hero .ph{border-radius:var(--radius);border:1px solid var(--line);min-height:280px}.review-hero .ph svg{width:26%;height:26%}.review-side{flex-direction:column;justify-content:center;display:flex}.review-side .kicker{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin-bottom:12px;font-size:11px}.review-side h1{font-family:var(--disp);letter-spacing:-.03em;margin-bottom:14px;font-size:clamp(26px,3.2vw,38px);font-weight:700;line-height:1.05}.review-side .summary{color:var(--ink-soft);margin-bottom:22px;font-size:16px}.chips-row{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.feat-chip{font-family:var(--body);letter-spacing:.01em;white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-block}.feat-chip:nth-child(odd){background:var(--accent-soft);color:var(--accent-ink)}.feat-chip:nth-child(2n){background:var(--ink);color:var(--paper)}.chips-row.compact{margin-bottom:14px}.chips-row.compact .feat-chip{padding:5px 12px;font-size:11.5px}@media (width<=820px){.review-hero{grid-template-columns:1fr}}.review-card .why{margin-bottom:12px}
