@font-face{font-family: "Poppins";src: url("../fonts/poppins-regular.woff2") format("woff2");font-weight: 400;font-style: normal;font-display: swap}@font-face{font-family: "Poppins";src: url("../fonts/poppins-medium.woff2") format("woff2");font-weight: 500;font-style: normal;font-display: swap}@font-face{font-family: "Poppins";src: url("../fonts/poppins-bold.woff2") format("woff2");font-weight: 700;font-style: normal;font-display: swap}:root{--brand-500: #ff4f81;--brand-600: #e83a6d;--brand-400: #ff7aa1;--accent-500: #7c5cff;--accent-600: #5e3df0;--bg: #fafafa;--bg-elev: #ffffff;--bg-muted: #f3f3f6;--border: #e6e6ec;--border-strong: #d3d3dc;--text: #15171c;--text-muted: #5b5f6b;--text-dim: #878c98;--link: #5e3df0;--link-hover: #3a1fd1;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--radius-sm: 6px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(20,24,40,0.06);--shadow: 0 6px 24px rgba(20,24,40,0.08);--shadow-lg: 0 20px 50px rgba(20,24,40,0.12);--maxw: 1200px;--font-sans: "Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono: "JetBrains Mono",SFMono-Regular,Menlo,Consolas,monospace}[data-theme="dark"]{--bg: #0b0c10;--bg-elev: #14161c;--bg-muted: #1a1d25;--border: #222634;--border-strong: #333849;--text: #f3f4f8;--text-muted: #b4b8c5;--text-dim: #7b8093;--link: #a594ff;--link-hover: #c2b5ff;--shadow-sm: 0 1px 2px rgba(0,0,0,0.4);--shadow: 0 6px 24px rgba(0,0,0,0.5);--shadow-lg: 0 20px 50px rgba(0,0,0,0.6)}*,*::before,*::after{box-sizing: border-box}html{scroll-behavior: smooth;-webkit-text-size-adjust: 100%}body{margin: 0;font-family: var(--font-sans);background: var(--bg);color: var(--text);line-height: 1.6;font-size: 16px;font-feature-settings: "kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility}img,svg{max-width: 100%;height: auto;display: block}a{color: var(--link);text-decoration: none;transition: color .15s ease}a:hover{color: var(--link-hover);text-decoration: underline}a.btn:hover,.btn:hover{text-decoration: none}h1,h2,h3,h4{font-weight: 700;line-height: 1.2;letter-spacing: -0.02em;margin: 0 0 .5em;color: var(--text)}h1{font-size: clamp(2rem,4.2vw,3.15rem)}h2{font-size: clamp(1.5rem,3vw,2.15rem)}h3{font-size: 1.2rem}p{margin: 0 0 1em;color: var(--text-muted)}strong{color: var(--text);font-weight: 700}ul,ol{padding-left: 1.25rem;margin: 0 0 1em;color: var(--text-muted)}li{margin-bottom: .35em}.tabular,.rating,.pricing-table td,.pricing-table th,.big-rating,.summary-box li{font-variant-numeric: tabular-nums}code,kbd,samp{font-family: var(--font-mono);font-size: .92em;background: var(--bg-muted);padding: 0 .3em;border-radius: 4px}::selection{background: var(--brand-500);color: #fff}.container{max-width: var(--maxw);margin: 0 auto;padding: 0 1.25rem}.section{padding: 3.5rem 0}.section-sm{padding: 2rem 0}.grid{display: grid;gap: 1.25rem}.grid-2{grid-template-columns: repeat(auto-fit,minmax(260px,1fr))}.grid-3{grid-template-columns: repeat(auto-fit,minmax(240px,1fr))}.site-header{position: sticky;top: 0;z-index: 50;background: color-mix(in oklab,var(--bg) 85%,transparent);backdrop-filter: saturate(180%) blur(12px);-webkit-backdrop-filter: saturate(180%) blur(12px);border-bottom: 1px solid var(--border)}.site-header .container{display: flex;align-items: center;justify-content: space-between;height: 64px}.brand{display: flex;align-items: center;gap: .55rem;font-weight: 700;letter-spacing: -0.02em;color: var(--text);font-size: 1.05rem}.brand:hover{text-decoration: none;color: var(--text)}.brand-logo{width: 32px;height: 32px;border-radius: 9px;background: linear-gradient(135deg,var(--brand-500),var(--accent-500));display: grid;place-items: center;color: #fff;font-weight: 700;font-size: 13px;box-shadow: var(--shadow-sm)}.brand-logo svg{width: 18px;height: 18px}.nav{display: flex;align-items: center;gap: .1rem}.nav a{position: relative;color: var(--text-muted);padding: .55rem .85rem;border-radius: var(--radius-sm);font-weight: 500;font-size: .95rem;transition: color .15s ease}.nav a::after{content: "";position: absolute;left: .85rem;right: .85rem;bottom: .25rem;height: 2px;background: linear-gradient(90deg,var(--brand-500),var(--accent-500));border-radius: 2px;transform-origin: left center;transform: scaleX(0);transition: transform .25s ease}.nav a:hover{color: var(--text);text-decoration: none}.nav a:hover::after,.nav a.active::after{transform: scaleX(1)}.nav a.active{color: var(--text)}.header-tools{display: flex;align-items: center;gap: .4rem}.icon-btn{width: 38px;height: 38px;display: inline-grid;place-items: center;background: transparent;border: 1px solid var(--border);border-radius: var(--radius-sm);color: var(--text-muted);cursor: pointer;transition: color .15s ease,border-color .15s ease,background .15s ease;font-family: inherit}.icon-btn:hover{color: var(--text);border-color: var(--border-strong);background: var(--bg-muted)}.icon-btn svg{width: 18px;height: 18px}.lang-switch{position: relative}.lang-switch select{-webkit-appearance: none;-moz-appearance: none;appearance: none;background: transparent;border: 1px solid var(--border);border-radius: var(--radius-sm);padding: .45rem 2.2rem .45rem .7rem;color: var(--text);font: inherit;font-size: .9rem;cursor: pointer;line-height: 1.2;color-scheme: dark;background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='%23878c98' d='M6 8.3 2.2 4.5h7.6z'/></svg>");background-repeat: no-repeat;background-position: right .6rem center;background-size: 10px 10px}.lang-switch select::-ms-expand{display: none}.lang-switch select:hover{border-color: var(--border-strong);background-color: var(--bg-muted)}.menu-toggle{display: none}.hero{position: relative;padding: 4.5rem 0 3rem;overflow: hidden;isolation: isolate}.hero::before{content: "";position: absolute;inset: -10%;background: radial-gradient(55% 45% at 18% 12%,color-mix(in oklab,var(--brand-500) 28%,transparent),transparent 60%),radial-gradient(48% 38% at 82% 22%,color-mix(in oklab,var(--accent-500) 25%,transparent),transparent 60%),radial-gradient(40% 35% at 50% 90%,color-mix(in oklab,var(--brand-400) 18%,transparent),transparent 65%);background-size: 220% 220%;z-index: -1;filter: blur(10px);animation: heroDrift 22s ease-in-out infinite alternate}@keyframes heroDrift{0%{background-position: 0% 0%}50%{background-position: 100% 40%}100%{background-position: 40% 100%}}.hero h1{background: linear-gradient(90deg,var(--brand-500),var(--accent-500),var(--brand-500));background-size: 220% auto;-webkit-background-clip: text;background-clip: text;color: transparent;max-width: 18ch;animation: titleShimmer 12s linear infinite}@keyframes titleShimmer{0%{background-position: 0% center}100%{background-position: 220% center}}.hero p.lead{font-size: 1.15rem;max-width: 55ch;color: var(--text-muted)}.hero .hero-cta{display: flex;gap: .75rem;flex-wrap: wrap;margin-top: 1.5rem}.hero .meta-row{display: flex;gap: 1.5rem;flex-wrap: wrap;margin-top: 2rem;color: var(--text-dim);font-size: .9rem}.hero .meta-row span{display: inline-flex;align-items: center;gap: .35rem}.hero .meta-row svg{width: 16px;height: 16px;color: var(--brand-500)}.btn{display: inline-flex;align-items: center;gap: .45rem;padding: .7rem 1.15rem;border-radius: var(--radius-sm);font-weight: 600;font-size: .95rem;border: 1px solid transparent;cursor: pointer;transition: background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,filter .15s ease;text-decoration: none;font-family: inherit}.btn-primary{background: linear-gradient(135deg,var(--brand-500),var(--accent-500));color: #fff;box-shadow: 0 4px 14px rgba(232,58,109,0.32)}.btn-primary:hover{filter: brightness(1.08);box-shadow: 0 6px 22px rgba(232,58,109,0.42);color: #fff;text-decoration: none}.btn-primary:active{filter: brightness(.95)}.btn-ghost{color: var(--text);border-color: var(--border);background: var(--bg-elev)}.btn-ghost:hover{border-color: var(--brand-500);color: var(--text);text-decoration: none}.btn-sm{padding: .45rem .85rem;font-size: .88rem}.btn svg{width: 16px;height: 16px}.filter-bar{display: flex;flex-wrap: wrap;gap: .5rem;background: var(--bg-elev);border: 1px solid var(--border);border-radius: var(--radius);padding: .7rem .8rem;margin: 0 0 1.5rem;align-items: center;box-shadow: var(--shadow-sm)}.filter-bar label{font-size: .85rem;color: var(--text-muted);margin-right: .2rem}.filter-bar select,.filter-bar input[type="text"]{appearance: none;background: var(--bg);border: 1px solid var(--border);border-radius: var(--radius-sm);padding: .4rem .7rem;color: var(--text);font: inherit;font-size: .88rem}.filter-bar input[type="checkbox"]{accent-color: var(--brand-500)}.ranking-grid{display: grid;gap: 1rem}.rank-card{position: relative;background: var(--bg-elev);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 1.15rem 1.25rem 1.15rem 1.1rem;display: grid;grid-template-columns: 1fr auto;gap: 1rem;align-items: center;box-shadow: var(--shadow-sm);transition: box-shadow .2s ease,border-color .2s ease;position: relative;overflow: hidden}.rank-card:hover{box-shadow: var(--shadow);border-color: var(--brand-500)}.rank-card::before{content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 3px;background: linear-gradient(180deg,var(--brand-500),var(--accent-500));opacity: 0;transition: opacity .2s ease}.rank-card:hover::before{opacity: 1}.rank-number{position: absolute;top: .55rem;left: .55rem;z-index: 5;width: 30px;height: 30px;border-radius: 50%;display: grid;place-items: center;/* Graphite default for rank 4+ — visually distinct from .btn-primary (which uses the brand→accent gradient). Top-3 keeps its own medal gradient via the [data-rank="X"] overrides below. */ background: linear-gradient(135deg,#4a4f5a,#1f2128);color: #e8eaf0;font-weight: 800;font-size: .85rem;border: 2px solid var(--bg-elev,#11131a);box-shadow: 0 2px 8px rgba(0,0,0,0.35);line-height: 1;text-shadow: 0 1px 4px rgba(0,0,0,.25);box-shadow: var(--shadow-sm);overflow: hidden}.rank-number::after{content: "";position: absolute;inset: 0;background: radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),transparent 55%);pointer-events: none}.rank-card[data-rank="1"] .rank-number{background: radial-gradient(circle at 30% 20%,rgba(255,255,200,.85),transparent 55%),linear-gradient(135deg,#ffe066 0%,#ffb700 55%,#b07a00 100%);color: #4a3500;text-shadow: 0 1px 0 rgba(255,255,255,.55),0 -1px 0 rgba(120,80,0,.35);border-color: #b8860b;box-shadow: inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 2px rgba(120,80,0,.4),0 0 14px rgba(255,200,0,.55),0 3px 8px rgba(0,0,0,.4);animation: rank-pulse 2.4s ease-in-out infinite}.rank-card[data-rank="2"] .rank-number{background: radial-gradient(circle at 30% 20%,rgba(255,255,255,.9),transparent 55%),linear-gradient(135deg,#f4f5f8 0%,#b8bbc4 55%,#6b6e78 100%);color: #2a2d35;text-shadow: 0 1px 0 rgba(255,255,255,.7),0 -1px 0 rgba(60,65,75,.3);border-color: #6b6e78;box-shadow: inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 2px rgba(60,65,75,.35),0 0 12px rgba(220,225,235,.5),0 3px 8px rgba(0,0,0,.4)}.rank-card[data-rank="3"] .rank-number{background: radial-gradient(circle at 30% 20%,rgba(255,210,170,.75),transparent 55%),linear-gradient(135deg,#f0a86d 0%,#a05f2a 55%,#5a3416 100%);color: #2a1408;text-shadow: 0 1px 0 rgba(255,210,170,.5),0 -1px 0 rgba(40,20,8,.3);border-color: #5a3416;box-shadow: inset 0 1px 0 rgba(255,210,170,.6),inset 0 -1px 2px rgba(40,20,8,.4),0 0 12px rgba(180,100,50,.5),0 3px 8px rgba(0,0,0,.4)}@keyframes rank-pulse{0%,100%{box-shadow: inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 2px rgba(120,80,0,.4),0 0 14px rgba(255,200,0,.55),0 3px 8px rgba(0,0,0,.4)}50%{box-shadow: inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 2px rgba(120,80,0,.4),0 0 22px rgba(255,200,0,.85),0 3px 12px rgba(0,0,0,.5)}}@media (prefers-reduced-motion: reduce){.rank-card[data-rank="1"] .rank-number{animation: none}}.rank-info h3{margin: 0 0 .2rem;font-size: 1.15rem}.rank-info h3 a{color: var(--text)}.rank-info h3 a:hover{color: var(--brand-500);text-decoration: none}.rank-info .muted{color: var(--text-muted);font-size: .92rem;margin: 0 0 .45rem}.rank-info .tags{display: flex;flex-wrap: wrap;gap: .3rem}.tag{font-size: .75rem;padding: .2rem .6rem;border-radius: 999px;background: var(--bg-muted);color: var(--text-muted);border: 1px solid var(--border);display: inline-flex;align-items: center;gap: .28rem}.tag svg{width: 12px;height: 12px}.tag-nsfw{background: color-mix(in oklab,var(--danger) 12%,var(--bg-muted));color: var(--danger);border-color: color-mix(in oklab,var(--danger) 30%,var(--border))}.tag-free{background: color-mix(in oklab,var(--success) 12%,var(--bg-muted));color: var(--success);border-color: color-mix(in oklab,var(--success) 30%,var(--border))}.rank-meta{text-align: right;display: flex;flex-direction: column;gap: .4rem;align-items: flex-end}.rating{color: var(--text);font-weight: 700;display: inline-flex;align-items: center;gap: .35rem}.rating .stars{color: #f59e0b;letter-spacing: 1px;display: inline-flex;gap: 1px}.rating .stars svg{width: 14px;height: 14px}.rank-meta .price{color: var(--text-muted);font-size: .88rem}.rank-actions{display: flex;gap: .4rem}.section-head{max-width: 720px;margin: 0 0 2rem}.section-head h2{margin-bottom: .4rem}.section-head p{color: var(--text-muted)}.eyebrow{color: var(--brand-500);text-transform: uppercase;font-size: .78rem;font-weight: 700;letter-spacing: .1em;margin-bottom: .5rem}.category-list{display: flex;flex-wrap: wrap;gap: .5rem}.category-list a{padding: .5rem 1rem;border-radius: 999px;background: var(--bg-elev);border: 1px solid var(--border);color: var(--text-muted);font-weight: 500;font-size: .9rem;transition: border-color .15s ease,color .15s ease}.category-list a:hover{border-color: var(--brand-500);color: var(--text);text-decoration: none}.faq-list{display: grid;gap: .6rem;max-width: 860px}.faq details{background: var(--bg-elev);border: 1px solid var(--border);border-radius: var(--radius);padding: 1rem 1.2rem;transition: border-color .15s ease}.faq details[open]{border-color: var(--brand-500)}.faq summary{cursor: pointer;font-weight: 600;color: var(--text);list-style: none;display: flex;justify-content: space-between;align-items: center;gap: 1rem}.faq summary::-webkit-details-marker{display: none}.faq summary::after{content: "+";font-size: 1.3rem;color: var(--text-dim);line-height: 1}.faq details[open] summary::after{content: "-";color: var(--brand-500)}.faq details p{margin: .7rem 0 0;color: var(--text-muted)}.review-hero{padding: 3rem 0 1.5rem;border-bottom: 1px solid var(--border)}.breadcrumbs{font-size: .88rem;color: var(--text-dim);margin-bottom: 1rem}.breadcrumbs a{color: var(--text-muted)}.breadcrumbs span{margin: 0 .4rem;color: var(--text-dim)}.review-header-grid{display: grid;grid-template-columns: 1fr auto;gap: 2rem;align-items: start}.review-header-grid .summary-box{background: var(--bg-elev);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 1.4rem;min-width: 260px;box-shadow: var(--shadow-sm)}.summary-box .big-rating{font-size: 3rem;font-weight: 700;line-height: 1;background: linear-gradient(135deg,var(--brand-500),var(--accent-500));-webkit-background-clip: text;background-clip: text;color: transparent;margin-bottom: .2rem;letter-spacing: -0.03em}.summary-box .stars{color: #f59e0b;font-size: 1.1rem;display: inline-flex;gap: 2px}.summary-box .stars svg{width: 16px;height: 16px}.summary-box ul{list-style: none;padding: 0;margin: 1rem 0 0;font-size: .92rem}.summary-box li{display: flex;justify-content: space-between;padding: .35rem 0;border-bottom: 1px dashed var(--border)}.summary-box li:last-child{border-bottom: none}.summary-box li span:first-child{color: var(--text-dim)}.summary-box li span:last-child{color: var(--text);font-weight: 500}.review-body{padding: 2.5rem 0}.review-body h2{margin-top: 2.2rem}.review-body h2:first-child{margin-top: 0}.proscons{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;margin: 1rem 0 2rem}.proscons > div{background: var(--bg-elev);border: 1px solid var(--border);border-radius: var(--radius);padding: 1.2rem}.proscons h3{margin-top: 0;font-size: 1rem;display: inline-flex;align-items: center;gap: .4rem}.proscons .pros h3{color: var(--success)}.proscons .cons h3{color: var(--danger)}.proscons ul{padding-left: 1.1rem;margin: 0}.proscons h3 svg{width: 18px;height: 18px}.pricing-table{width: 100%;border-collapse: collapse;margin: 1rem 0 2rem;font-size: .95rem}.pricing-table th,.pricing-table td{padding: .75rem .9rem;text-align: left;border-bottom: 1px solid var(--border)}.pricing-table th{background: var(--bg-muted);color: var(--text);font-weight: 600;font-size: .85rem;text-transform: uppercase;letter-spacing: .06em}.site-footer{background: var(--bg-elev);border-top: 1px solid var(--border);margin-top: 4rem;padding: 3rem 0 1.5rem;font-size: .92rem}.site-footer .container{display: grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap: 2rem}.site-footer h4{color: var(--text);font-size: .88rem;text-transform: uppercase;letter-spacing: .08em;margin: 0 0 1rem}.site-footer ul{list-style: none;padding: 0;margin: 0}.site-footer ul li{margin-bottom: .4rem}.site-footer a{color: var(--text-muted)}.site-footer a:hover{color: var(--text)}.footer-bottom{margin-top: 2.5rem;padding-top: 1.5rem;border-top: 1px solid var(--border);color: var(--text-dim);text-align: center;font-size: .85rem}.feature-row{display: flex;flex-wrap: wrap;gap: 1rem;margin: 1rem 0}.feature-pill{display: inline-flex;align-items: center;gap: .45rem;padding: .45rem .8rem;background: var(--bg-elev);border: 1px solid var(--border);border-radius: 999px;color: var(--text-muted);font-size: .88rem;font-weight: 500}.feature-pill svg{width: 16px;height: 16px;color: var(--brand-500)}.skip-link{position: absolute;left: -9999px;background: var(--text);color: var(--bg);padding: .5rem 1rem;border-radius: 4px;z-index: 100}.skip-link:focus{left: 1rem;top: 1rem}.visually-hidden{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0}.prose{max-width: 72ch}.prose h2{margin-top: 2.2rem}.prose h3{margin-top: 1.6rem}.prose ul li,.prose ol li{margin-bottom: .4rem}.prose blockquote{margin: 1.5rem 0;padding: .9rem 1.2rem;border-left: 3px solid var(--brand-500);background: var(--bg-muted);color: var(--text-muted);font-style: italic;border-radius: 0 var(--radius) var(--radius) 0}/* ---------- Scroll-reveal animations (opacity only,no transform jank) ---------- Masques UNIQUEMENT si JS est actif (html[data-js="on"]). Sans JS ou en cas d'erreur
   d'execution,les sections sont visibles par defaut -> aucun risque de contenu fantome. */ html[data-js="on"] .reveal{opacity: 0;transition: opacity .6s ease-out,translate .6s ease-out;translate: 0 12px}html[data-js="on"] .reveal.is-visible{opacity: 1;translate: 0 0}.reveal-delay-1{transition-delay: .08s}.reveal-delay-2{transition-delay: .16s}.reveal-delay-3{transition-delay: .24s}@media (prefers-reduced-motion: reduce){html[data-js="on"] .reveal{opacity: 1;translate: 0 0;transition: none}.hero::before{animation: none}.hero h1{animation: none;background-position: 0 center}*{animation-duration: .001ms !important;animation-iteration-count: 1 !important;transition-duration: .001ms !important;scroll-behavior: auto !important}}@media (max-width: 880px){.site-footer .container{grid-template-columns: 1fr 1fr}.review-header-grid{grid-template-columns: 1fr}.proscons{grid-template-columns: 1fr}}@media (max-width: 720px){.nav{display: none;position: fixed;top: 64px;left: 0;right: 0;background: var(--bg-elev);flex-direction: column;padding: 1rem;border-bottom: 1px solid var(--border);gap: 0}.nav.open{display: flex}.nav a{padding: .8rem 1rem;width: 100%}.nav a::after{display: none}.menu-toggle{display: inline-grid}.rank-card{padding: 1rem}.rank-meta{grid-column: 1 / -1;flex-direction: row;justify-content: space-between;align-items: center;border-top: 1px solid var(--border);padding-top: .8rem;margin-top: .4rem;text-align: left}.rank-number{width: 56px;height: 56px;border-radius: 14px;font-size: 1.2rem}.site-footer .container{grid-template-columns: 1fr}}@media print{.site-header,.site-footer,.hero-cta{display: none}body{background: #fff;color: #000}}.compare-picker{background: var(--surface);border: 1px solid var(--border);border-radius: 14px;padding: 1.2rem 1.4rem}.compare-picker form{display: flex;flex-wrap: wrap;align-items: center;gap: .6rem}.compare-picker select{flex: 1 1 180px;min-width: 140px;padding: .6rem .8rem;border: 1px solid var(--border);border-radius: 10px;background: var(--bg);color: var(--text);font: inherit}.compare-vs{font-weight: 700;color: var(--text-muted);padding: 0 .2rem}.compare-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(230px,1fr));gap: .8rem}.compare-tile{display: block;background: var(--surface);border: 1px solid var(--border);border-radius: 12px;padding: 1rem;color: inherit;text-decoration: none;transition: transform .15s ease,border-color .15s ease}.compare-tile:hover{transform: translateY(-2px);border-color: var(--accent)}.compare-tile-names{display: flex;align-items: center;gap: .5rem;font-weight: 600}.compare-tile-names .vs{font-size: .8rem;color: var(--text-muted);font-weight: 500;text-transform: uppercase;letter-spacing: .04em}.compare-tile-meta{margin-top: .4rem;font-size: .85rem;color: var(--text-dim)}.compare-scroll{overflow-x: auto}.compare-table{width: 100%;border-collapse: collapse;margin: 1rem 0 2rem;font-size: .95rem}.compare-table th,.compare-table td{padding: .55rem .7rem;border-bottom: 1px solid var(--border);text-align: left;vertical-align: top}.compare-table thead th{background: var(--surface);font-weight: 700}.compare-table tbody th{font-weight: 500;color: var(--text-muted);white-space: nowrap}@media (max-width: 640px){.compare-table{font-size: .85rem}.compare-table th,.compare-table td{padding: .45rem .5rem}}.site-logo{display: block;width: 64px;height: 64px;border-radius: 14px;background: transparent;object-fit: contain;flex-shrink: 0;box-shadow: 0 2px 8px rgba(0,0,0,0.12)}.site-logo.card-logo{width: 52px;height: 52px;border-radius: 12px;margin-bottom: .6rem}.site-logo.review-logo{width: 72px;height: 72px;border-radius: 16px;margin-bottom: .9rem}@media (max-width: 600px){.site-logo.card-logo{width: 44px;height: 44px;border-radius: 10px}}.sponsored-tag{display: inline-block;font-size: 0.68rem;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;padding: 0.15rem 0.45rem;border-radius: 4px;background: var(--bg-soft,rgba(255,255,255,0.06));color: var(--text-dim,#888);border: 1px solid var(--border,rgba(255,255,255,0.1));vertical-align: middle;margin-left: 0.4rem}.rank-card.is-sponsored{position: relative;border-color: color-mix(in oklab,var(--accent-500) 60%,var(--border))}.rank-card.is-sponsored::after{content: "";position: absolute;inset: 0;pointer-events: none;border-radius: inherit;box-shadow: inset 0 0 0 1px rgba(124,92,255,0.20),0 0 24px -8px rgba(124,92,255,0.25)}.featured-banner{display: block;padding: 1.4rem 1.6rem;margin: 1.6rem 0;border: 1px solid var(--border,rgba(255,255,255,0.1));border-radius: 14px;background: var(--bg-soft,rgba(255,255,255,0.03));position: relative}.featured-banner .sponsored-tag{position: absolute;top: 0.7rem;right: 0.9rem;margin-left: 0}.featured-banner-body h3{margin: 0 0 0.4rem;font-size: 1.2rem}.featured-banner-body p{margin: 0 0 0.9rem;color: var(--text-muted,#bbb)}.featured-banner-body .btn{margin-top: 0.2rem}.featured-banner-logo{width: 48px;height: 48px;border-radius: 10px;margin-bottom: 0.7rem;display: block;background: rgba(255,255,255,0.05);padding: 4px}.hero.has-featured .container{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,360px);gap: 2.5rem;align-items: center}.hero.has-featured .hero-text{min-width: 0}.hero.has-featured .hero-featured{margin: 0;align-self: center;backdrop-filter: blur(6px);background: color-mix(in oklab,var(--bg-soft,rgba(255,255,255,0.04)) 85%,transparent)}@media (max-width: 900px){.hero.has-featured .container{grid-template-columns: 1fr;gap: 1.5rem}}@media (max-width: 600px){.featured-banner{padding: 1.1rem 1.2rem}.featured-banner .sponsored-tag{position: static;display: inline-block;margin-bottom: 0.5rem}.featured-banner-logo{width: 40px;height: 40px}}.review-layout{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,300px);gap: 3rem;align-items: start}.review-main{max-width: 72ch;min-width: 0}.review-main > *:first-child{margin-top: 0}.review-aside{position: sticky;top: 90px;display: grid;gap: 1rem;font-size: .92rem;align-self: start}.review-aside-card{background: var(--bg-elev);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 1.1rem 1.2rem;box-shadow: var(--shadow-sm)}.review-aside-label{text-transform: uppercase;letter-spacing: .08em;font-size: .75rem;color: var(--text-dim);font-weight: 600;margin: 0 0 .6rem}.review-toc ul{list-style: none;padding: 0;margin: 0;display: grid;gap: .3rem}.review-toc a{color: var(--text-muted);text-decoration: none;display: block;padding: .28rem .5rem;border-radius: 6px;line-height: 1.35;border-left: 2px solid transparent;transition: background .15s ease,color .15s ease,border-color .15s ease}.review-toc a:hover{color: var(--text);background: var(--bg-muted)}.review-toc a.is-active{color: var(--brand-500);border-left-color: var(--brand-500);background: var(--bg-muted)}.review-aside-cta{display: grid;gap: .55rem;text-align: center}.review-aside-cta .aside-logo{width: 40px;height: 40px;border-radius: 10px;margin: 0 auto;background: #fff;object-fit: contain}.review-aside-cta .aside-name{font-weight: 600;color: var(--text);font-size: 1rem}.review-aside-cta .aside-rating{font-size: .85rem;color: var(--text-dim)}.review-aside-cta .aside-rating strong{color: #f59e0b;font-weight: 600}.review-aside-cta .btn{width: 100%;justify-content: center}@media (max-width: 960px){.review-layout{grid-template-columns: 1fr;gap: 1.5rem}.review-aside{position: static;grid-template-columns: 1fr 1fr}.review-aside-cta{order: -1;grid-column: 1 / -1}}@media (max-width: 640px){.review-aside{grid-template-columns: 1fr}}.hero-pills{margin-top: 1rem;gap: .5rem .55rem}.hero-pills .feature-pill{font-size: .82rem;padding: .35rem .7rem}.hero-trust{margin: .9rem 0 0;font-size: .82rem;color: var(--text-dim);letter-spacing: .01em}.compare-aside-cta{display: grid;gap: .7rem;padding: 0;background: transparent;border: 0;box-shadow: none}.compare-aside-card{background: var(--bg-elev);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 1rem 1.1rem;display: grid;gap: .45rem;text-align: center;box-shadow: var(--shadow-sm)}.compare-aside-card .aside-name{font-weight: 600;font-size: 1rem;color: var(--text)}.compare-aside-card .aside-rating{font-size: .9rem;color: var(--text-dim)}.compare-aside-card .aside-rating strong{color: #f59e0b;font-weight: 700}.compare-aside-card .btn{width: 100%;justify-content: center}.compare-aside-card .aside-review-link{font-size: .85rem;color: var(--text-muted);text-decoration: none;border-bottom: 1px dashed var(--border);padding-bottom: .15rem;justify-self: center}.compare-aside-card .aside-review-link:hover{color: var(--brand-500);border-color: var(--brand-500)}@media (max-width: 960px){.compare-aside-cta{grid-template-columns: 1fr 1fr;gap: .8rem}}@media (max-width: 540px){.compare-aside-cta{grid-template-columns: 1fr}}.hero-picker-card{min-width: 280px;max-width: 340px;padding: 1.3rem 1.3rem 1.2rem}.hero-picker-card .picker-eyebrow{text-transform: uppercase;letter-spacing: .08em;font-size: .72rem;color: var(--text-dim);font-weight: 600;margin: 0 0 .35rem}.hero-picker-card .picker-title{margin: 0 0 .45rem;font-size: 1.15rem;line-height: 1.25}.hero-picker-card .picker-hint{font-size: .85rem;color: var(--text-muted);margin: 0 0 .9rem;line-height: 1.4}.hero-picker-card form{display: grid;gap: .55rem;align-items: stretch}.hero-picker-card form select{width: 100%;flex: none;min-width: 0}.hero-picker-card form .compare-vs{text-align: center;font-size: .78rem;text-transform: uppercase;letter-spacing: .08em;color: var(--text-dim);padding: 0}.hero-picker-card form .btn{width: 100%;justify-content: center;margin-top: .25rem}.hero-picker-card .picker-msg{margin: .6rem 0 0;min-height: 1.3em;font-size: .82rem}.hub-stats{list-style: none;padding: 0;margin: 0;font-size: .9rem}.hub-stats li{display: flex;justify-content: space-between;padding: .4rem 0;border-bottom: 1px dashed var(--border)}.hub-stats li:last-child{border-bottom: none}.hub-stats li span:first-child{color: var(--text-dim)}.hub-stats li span:last-child{color: var(--text);font-weight: 500}.hub-aside-btn{width: 100%;justify-content: center}@media (max-width: 960px){.hero-picker-card{max-width: none}}.rank-card.related-card{display: grid;grid-template-columns: 56px 1fr;gap: 1rem;align-items: center;padding: 1rem}.rank-card.related-card .rank-number{display: none}.rank-card.related-card .related-logo{width: 56px;height: 56px;border-radius: 12px;background: var(--bg-elevated,#1a1d24);padding: 6px;object-fit: contain;display: block}.rank-card.related-card .rank-info{min-width: 0}.rank-card.related-card .rank-info h3{margin: 0 0 .15rem;font-size: 1rem;display: flex;align-items: center;gap: .5rem;flex-wrap: wrap}.rank-card.related-card .rank-pill{font-size: .7rem;font-weight: 600;color: var(--text-dim,#8a8f9c);background: var(--bg-muted,#1f242c);border: 1px solid var(--border,#2a2f37);padding: .12rem .45rem;border-radius: 999px;letter-spacing: .02em}.rank-card.related-card .rank-info .muted{font-size: .85rem;margin: 0 0 .35rem}.rank-card.related-card .rating{display: inline-block;font-size: .85rem}.intro-split{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);gap: 3rem;align-items: center}.intro-art{display: flex;align-items: center;justify-content: center}.intro-illustration{width: 100%;height: auto;max-width: 460px;border-radius: 18px;display: block}.intro-text{max-width: 60ch}.intro-text h2{margin-top: 0}@media (max-width: 880px){.intro-split{grid-template-columns: 1fr;gap: 1.5rem}.intro-illustration{max-width: 320px}.intro-text{max-width: none}}.seo-article .container{max-width: 1100px}.seo-article .eyebrow{margin: 0 0 .5rem}.seo-article > .container > h2{margin: 0 0 .8rem;font-size: 2.2rem}.article-row{display: grid;grid-template-columns: 1fr 1fr;gap: 3rem;align-items: center;margin: 4rem 0}.article-row.reverse .article-art{order: 2}.article-row.reverse .article-text{order: 1}.article-art{display: flex;align-items: flex-start;justify-content: center;position: sticky;top: 80px;align-self: start}.article-art svg{width: 100%;max-width: 380px;height: auto;display: block;border-radius: 16px}.article-text{max-width: 56ch}.article-text h3{margin: 0 0 .8rem;font-size: 1.35rem}.article-text p{margin: 0 0 1rem;line-height: 1.65}.article-closing{margin-top: 4rem;padding-top: 2rem;border-top: 1px solid var(--border,#22252e);max-width: 72ch}@media (max-width: 880px){.article-row{grid-template-columns: 1fr;gap: 1.2rem;margin: 2.5rem 0}.article-row.reverse .article-art,.article-row.reverse .article-text{order: initial}.article-art{position: static;align-items: center}.article-art svg{max-width: 240px}.seo-article > .container > h2{font-size: 1.7rem}}.article-text .article-table{width: 100%;border-collapse: collapse;margin: 1rem 0 1.5rem;font-size: .9rem}.article-text .article-table th,.article-text .article-table td{text-align: left;padding: .55rem .65rem;border-bottom: 1px solid var(--border,#22252e);vertical-align: top}.article-text .article-table th{background: var(--bg-muted,#1a1d24);font-weight: 600;color: var(--text-muted);font-size: .82rem;text-transform: uppercase;letter-spacing: .03em}.article-text .article-table tr:last-child td{border-bottom: 0}.article-text ul.checklist{list-style: none;padding: 0;margin: .5rem 0 1.5rem;display: grid;gap: .35rem}.article-text ul.checklist li{position: relative;padding-left: 1.6rem;font-size: .95rem}.article-text ul.checklist li::before{content: "✓";position: absolute;left: 0;width: 1.1rem;height: 1.1rem;background: linear-gradient(135deg,#a594ff,#ff4f81);color: #fff;font-size: .7rem;font-weight: 800;display: inline-flex;align-items: center;justify-content: center;border-radius: 4px;top: .15rem}.article-text h2{font-size: 1.6rem;margin: 0 0 .8rem}.article-text h3{font-size: 1.05rem;margin: 1.2rem 0 .35rem;color: var(--text)}.article-art svg .step{opacity: 0.32;transition: opacity 0.4s ease,filter 0.4s ease,transform 0.4s ease;transform-origin: center}.article-art svg .step.is-active{opacity: 1;filter: drop-shadow(0 0 6px rgba(165,148,255,0.55))}@media (prefers-reduced-motion: reduce){.article-art svg .step{transition: none}}.brand-img{display: block;height: auto;max-height: 40px;width: auto;max-width: 220px}@media (max-width: 600px){.brand-img{max-height: 32px;max-width: 180px}}.article-hero{margin: 1.5rem 0 3rem;border-radius: 16px;overflow: hidden;background: var(--bg-muted,#1a1d24)}.article-hero img{display: block;width: 100%;height: auto}.article-mid-image{margin: 3rem auto;max-width: 900px;border-radius: 14px;overflow: hidden;background: var(--bg-muted,#1a1d24)}.article-mid-image img{display: block;width: 100%;height: auto}.article-mid-image figcaption{background: var(--bg-muted,#1a1d24);padding: .8rem 1rem;font-size: .85rem;color: var(--text-muted);text-align: center;font-style: italic}html,body{overflow-x: clip}img,svg,video,iframe{max-width: 100%;height: auto}.table-scroll{overflow-x: auto;-webkit-overflow-scrolling: touch;margin: 1rem 0 1.5rem;border-radius: 8px;scrollbar-width: thin}.table-scroll table{margin: 0 !important}@media (max-width: 720px){.table-scroll{font-size: .85rem}.table-scroll table th,.table-scroll table td{padding: .5rem .55rem}}@media (max-width: 880px){.rank-card{gap: .75rem;padding: 1rem;align-items: start}.rank-card .rank-number{top: .5rem;left: .5rem;width: 26px !important;height: 26px !important;border-radius: 50%;font-size: .75rem;border-width: 2px}.rank-card .rank-info{min-width: 0}.rank-card .rank-info h3{font-size: 1rem;line-height: 1.3}.rank-card .rank-info .muted{font-size: .88rem}.rank-card .rank-info .tags{flex-wrap: wrap}.rank-card .card-logo{width: 36px !important;height: 36px !important}.rank-card .rank-meta{grid-column: 1 / -1 !important;display: flex !important;flex-direction: column !important;align-items: center !important;justify-content: center !important;text-align: center !important;border-top: 1px solid var(--border);padding-top: .9rem;margin-top: .6rem;gap: .35rem;width: 100%}.rank-card .rank-meta .rating,.rank-card .rank-meta .price{text-align: center !important;align-self: center !important;margin: 0}.rank-card .rank-actions{display: flex;flex-direction: row;justify-content: center;gap: .6rem;margin-top: .5rem;width: auto}.rank-card .rank-actions .btn{padding: .5rem 1.1rem;font-size: .88rem}}.view-toggle{display: inline-flex;border: 1px solid var(--border);border-radius: 8px;overflow: hidden;background: var(--bg-elev)}.view-toggle-btn{background: transparent;border: none;padding: .5rem .65rem;cursor: pointer;color: var(--text-muted);display: inline-flex;align-items: center;justify-content: center;transition: background .15s,color .15s}.view-toggle-btn:hover{color: var(--text)}.view-toggle-btn.active{background: linear-gradient(135deg,var(--accent-500),var(--brand-500));color: #fff}.view-toggle-btn + .view-toggle-btn{border-left: 1px solid var(--border)}.ranking-grid.is-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(220px,1fr));gap: 1rem}.ranking-grid.is-grid .rank-card{grid-template-columns: 1fr;text-align: center;padding: 1.4rem 1rem 1.2rem;align-items: center}.ranking-grid.is-grid .rank-card .rank-number{top: .5rem;left: .5rem}.ranking-grid.is-grid .rank-card .rank-info{display: flex;flex-direction: column;align-items: center;width: 100%}.ranking-grid.is-grid .rank-card .card-logo{width: 64px !important;height: 64px !important;margin: .3rem auto .8rem !important}.ranking-grid.is-grid .rank-card h3{text-align: center;font-size: 1.05rem;margin: 0 0 .35rem}.ranking-grid.is-grid .rank-card .muted{text-align: center;font-size: .82rem;margin-bottom: .6rem;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.ranking-grid.is-grid .rank-card .tags{justify-content: center;gap: .25rem;margin-bottom: .8rem}.ranking-grid.is-grid .rank-card .tags .tag{font-size: .68rem;padding: .12rem .45rem}.ranking-grid.is-grid .rank-card .rank-meta{display: flex !important;flex-direction: column !important;align-items: center !important;text-align: center !important;width: 100%;border-top: 1px solid var(--border);padding-top: .8rem;margin-top: auto;gap: .35rem;grid-column: 1 / -1 !important}.ranking-grid.is-grid .rank-card .rank-meta .rating{font-size: .85rem}.ranking-grid.is-grid .rank-card .rank-meta .price{font-size: .82rem}.ranking-grid.is-grid .rank-card .rank-actions{flex-direction: row;justify-content: center;gap: .4rem;margin-top: .4rem}.ranking-grid.is-grid .rank-card .rank-actions .btn{padding: .4rem .85rem;font-size: .82rem}@media (max-width: 540px){.ranking-grid.is-grid{grid-template-columns: repeat(2,1fr);gap: .7rem}.ranking-grid.is-grid .rank-card .muted{-webkit-line-clamp: 3}}@media (max-width: 380px){.ranking-grid.is-grid{grid-template-columns: 1fr}}.footer-col-title{font-size: .95rem;font-weight: 700;margin: 0 0 .6rem;color: var(--text);letter-spacing: .01em}.prose a:not(.btn),.article-text a:not(.btn),.article-closing a:not(.btn),.faq-list a:not(.btn),p a:not(.btn),li a:not(.btn){text-decoration: underline;text-decoration-thickness: 1px;text-underline-offset: 2px;text-decoration-color: color-mix(in oklab,currentColor 50%,transparent)}.prose a:not(.btn):hover,.article-text a:not(.btn):hover,.article-closing a:not(.btn):hover,.faq-list a:not(.btn):hover,p a:not(.btn):hover,li a:not(.btn):hover{text-decoration-color: currentColor}.nav a,.brand,.btn,.rank-card .rank-info h3 a,.rank-card .rank-actions a,.related-card a,.site-footer a,.faq-list summary a,.breadcrumbs a,.eyebrow a{text-decoration: none}.featured-banner-title{display: block;font-size: 1.05rem;font-weight: 700;margin: 0 0 .35rem;color: var(--text);line-height: 1.3;letter-spacing: -0.01em}