/* Editorial design: semantic prose, FAQ, review summaries and recommendations. */
.review-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:25px 0; }
.review-facts>div { padding:18px; border:1px solid #ebdbef; border-radius:15px; background:#fcf7fd; }
.review-facts span { display:block; color:#86658b; font-size:12px; margin-bottom:7px; }
.review-facts strong { font-size:15px; line-height:1.5; }
.legacy-content .review-method-note { font-size:13px; line-height:1.8; color:#75617c; }
.candy-pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0; }
.candy-pros-cons>section { padding:23px; border:1px solid #e9dceb; border-radius:20px; background:#faf6fc; }
.candy-pros-cons>section:first-child { background:#f5fbf8; border-color:#dcece4; }
.legacy-content .candy-pros-cons h3 { margin:0 0 15px; font-size:20px; }
.legacy-content .candy-pros-cons ul { padding-left:21px; margin:0; }
.legacy-content .candy-pros-cons li { font-size:15px; line-height:1.7; margin-bottom:9px; }
.candy-score-breakdown { margin:25px 0; }
.candy-score-breakdown>div { padding:16px 0; border-bottom:1px solid #ebdfed; }
.candy-score-breakdown dt { font-weight:700; color:#3c184b; }
.candy-score-breakdown dd { margin:6px 0 0; font-size:15px; }
.candy-faq details { border:1px solid #e8d8ed; border-radius:15px; margin:12px 0; padding:0 22px; background:#fff; }
.candy-faq summary { padding:19px 0; color:#431751; font-weight:700; cursor:pointer; line-height:1.6; }
.candy-faq details[open] { background:#fcf6fd; }
.candy-faq details p { font-size:16px; margin:0 0 20px; }
.ai-category-banner .category-visual { width:62%; mask-image:none; -webkit-mask-image:none; }
/* Fade the image's own edges, rather than the wider contain wrapper. */
.ai-category-banner .category-visual img {
 width:auto; height:auto; max-width:100%; max-height:min(100%,410px); object-fit:contain; object-position:center;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#0004 10%,#000 32%,#000 82%,transparent 100%),linear-gradient(0deg,transparent 0%,#000 19%,#000 90%,transparent 100%);
 mask-image:linear-gradient(90deg,transparent 0%,#0004 10%,#000 32%,#000 82%,transparent 100%),linear-gradient(0deg,transparent 0%,#000 19%,#000 90%,transparent 100%);
 -webkit-mask-composite:source-in; mask-composite:intersect;
}
@media(max-width:650px) { .candy-pros-cons,.review-facts { grid-template-columns:1fr; }.candy-pros-cons>section { padding:20px; }.ai-category-banner .category-visual { width:100%; }.candy-faq details { padding-inline:17px; } }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.hero-actions .button { font-size:14px; min-height:49px; }
.hero-actions .hero-affiliate { box-shadow:0 7px 22px #c6007130; }
.review-conversion { display:grid; grid-template-columns:1fr 1fr 1.1fr; align-items:center; gap:30px; padding:28px 34px; margin:27px 0 15px; border:1px solid #e4c3e7; border-radius:24px; background:linear-gradient(115deg,#fff 45%,#fef1fa); box-shadow:0 10px 30px #741d7008; }
.conversion-logo { display:flex; align-items:center; justify-content:center; }
.conversion-logo img { max-width:225px; width:100%; height:115px; object-fit:contain; }
.review-conversion .restored-rating { text-align:center; border-inline:1px solid #e8d5ec; padding:14px 20px; margin:0; }
.review-conversion .restored-rating>span { font-size:13px; font-weight:650; }
.review-conversion .restored-rating>div { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:15px; }
.review-conversion .restored-rating strong { font-size:32px; white-space:nowrap; }
.review-conversion .stars { font-size:25px; letter-spacing:1px; }
.conversion-action { text-align:center; }
.conversion-action .button { min-height:55px; padding:14px 31px; font-size:17px; }
.curated-card .rating { width:100%; text-align:center; }
.curated-card .rating>div { justify-content:center; }
.review-sidebar-offer { text-align:center; margin-bottom:24px; }
.review-sidebar-offer>img { width:165px; height:90px; object-fit:contain; margin:0 auto 12px; }
.review-sidebar-offer .rating { margin:12px 0; }
.review-sidebar-offer .rating>div { justify-content:center; }
.review-sidebar-offer h2 { margin:0; }
.mobile-review-action { display:none; }
@media(max-width:900px) {
 .mobile-review-action:not([hidden]) { position:fixed; z-index:25; bottom:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)); background:#fffffff5; border-top:1px solid #e8d5ec; box-shadow:0 -5px 24px #59134a14; }
 .mobile-review-action>div { min-width:0; }
 .mobile-review-action strong { display:block; font-size:14px; line-height:1.3; }
 .mobile-review-action span { display:block; color:#775981; font-size:11px; }
 .mobile-review-action .button { font-size:13px; padding:12px 17px; min-height:44px; flex-shrink:0; }
 .mobile-review-action .icon { width:17px; height:17px; }
 html.has-review-action { scroll-padding-bottom:95px; }
 html.has-review-action body { padding-bottom:80px; }
}
@media(max-width:650px) { .hero-actions { flex-direction:column; align-items:stretch; }.hero-actions .button { width:100%; }.review-conversion { grid-template-columns:1fr 1fr; gap:16px; padding:20px 16px; margin-top:21px; border-radius:20px; }.conversion-logo img { height:85px; }.review-conversion .restored-rating { border:0; padding:0; }.review-conversion .restored-rating strong { font-size:27px; }.review-conversion .stars { font-size:18px; }.conversion-action { grid-column:1/-1; }.conversion-action .button { width:100%; }.review-conversion .restored-rating>div { gap:5px; } }
.editorial-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin:22px 0 18px; font-size:12px; color:#786780; line-height:1.7; }
.editorial-meta a { color:#834073; font-weight:650; }
.article-hero.has-review-logo { display:grid; grid-template-columns:minmax(0,1fr) 155px; gap:30px; align-items:center; }
.review-hero-logo { background:white; border:1px solid #eddfef; border-radius:20px; padding:18px; }
.review-hero-logo img { width:100%; height:90px; object-fit:contain; display:block; }
@media(max-width:600px) { .article-hero.has-review-logo { grid-template-columns:1fr; gap:0; }.review-hero-logo { width:115px; padding:12px; margin-top:8px; }.review-hero-logo img { height:55px; } }
.editorial-intro { padding-block:4px 16px; max-width:1080px; }
.editorial-intro>p { max-width:850px; font-size:16px; }
.editorial-intro .decision-note { max-width:1000px; margin-top:24px; }
.blog-start { margin:0 0 40px; }
.company-details { display:grid; grid-template-columns:minmax(100px,.65fr) minmax(0,1.5fr); gap:12px 20px; padding:22px; background:#faf5fc; border-radius:16px; font-size:14px; }
.company-details dt { font-weight:700; color:#63476e; }
.company-details dd { margin:0; overflow-wrap:anywhere; }
.refreshed-content .contact-panels h2 { margin-top:0; }
@media(max-width:560px) { .company-details { grid-template-columns:1fr; gap:3px; } .company-details dd { margin-bottom:12px; } }
.comparison-method { color:#7c6886; font-size:13px!important; }
.curated-card { border:1px solid #eedff0; }
.catalog-label { display:block; font-size:11px; color:#8a7293; text-transform:uppercase; letter-spacing:.08em; margin-top:14px; text-align:center; }
.curated-card .card-brand img { max-height:105px; }
.curated-card .card-stats { align-items:stretch; }
@media(min-width:1191px) {
 .curated-card { grid-template-columns:184px minmax(0,1fr) 200px 177px; }
}
@media(min-width:961px) and (max-width:1190px) {
 .curated-card { grid-template-columns:156px minmax(0,1fr) 171px 156px; }
}
.service-conditions { font-size:12px; line-height:1.6; }
.service-conditions>span { display:block; text-transform:uppercase; letter-spacing:.05em; font-size:10px; font-weight:700; color:#84608d; margin-bottom:9px; }
.service-conditions p { margin:0 0 8px; }
.service-conditions strong { font-weight:650; color:#48304e; }
.service-note { font-size:11px; line-height:1.6; padding:9px 11px; margin:6px 0 0; border-radius:10px; background:#fff2e8; color:#79532f; }
.comparison-table-wrap { max-width:100%; overflow-x:auto; border:1px solid #e9dcec; border-radius:16px; margin:24px 0 34px; background:#fff; }
.comparison-table-wrap:focus-visible { outline:3px solid #bc40a1; outline-offset:4px; }
.decision-table { border-collapse:collapse; width:100%; font-size:13px; line-height:1.7; text-align:left; min-width:620px; }
.decision-table caption { text-align:left; padding:15px 19px; font-size:12px; color:#786082; background:#fff; caption-side:bottom; }
.decision-table th,.decision-table td { padding:17px 19px; vertical-align:top; border-bottom:1px solid #eee5f1; }
.decision-table thead th { background:#faf1fa; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:#694374; }
.decision-table tbody th { width:19%; font-weight:750; }
.decision-table tbody tr:last-child>* { border-bottom:0; }
.decision-table td { color:#66546d; min-width:145px; }
.legacy-content .comparison-table-wrap>table.decision-table { display:table; width:100%; max-width:none; margin:0; overflow:visible; border-collapse:collapse; table-layout:auto; }
.legacy-content .decision-table caption { margin:0; padding:16px 19px; border:0; }
.legacy-content .decision-table th,.legacy-content .decision-table td { border:0; border-bottom:1px solid #eee5f1; padding:17px 19px; }
.legacy-content .decision-table tbody tr:last-child>* { border-bottom:0; }
.legacy-content .comparison-table-wrap { padding:0; }
.legacy-content .restored-guide { margin:38px 0; }
.legacy-content .legacy-screen { margin:24px 0; }
.legacy-content .legacy-screen img { margin:0 auto; }
.legacy-screen figcaption,.historical-price-note { font-size:12px; color:#806b87; line-height:1.7; margin-top:10px; }
.refreshed-content { overflow-wrap:break-word; }
.refreshed-content.category-content { max-width:1000px; margin-block:38px 65px; }
.refreshed-content .prose-section { max-width:850px; margin:0 auto 35px; }
.refreshed-content.category-content>.prose-section { max-width:100%; }
.refreshed-content h2 { scroll-margin-top:110px; }
.decision-note { background:linear-gradient(115deg,#fcf0fa,#f5effc); border:1px solid #ebd7ee; border-left:4px solid #bd1684; padding:24px 27px; border-radius:16px; margin:15px 0 32px; }
.decision-note>strong { font-size:17px; display:block; margin-bottom:8px; }
.decision-note p:last-child { margin-bottom:0; }
.editorial-cta { text-align:center; margin:30px auto 38px; max-width:100%; }
.editorial-cta .button { display:inline-flex; max-width:100%; white-space:normal; text-align:center; }
.editorial-cta>span { display:block; font-size:11px; color:#8a708c; line-height:1.6; margin-top:9px; }
.source-panel { padding:24px; background:#f9f6fb; border:1px solid #e7dcec; border-radius:16px; margin:36px 0; font-size:13px; line-height:1.8; }
.source-panel h2 { font-size:19px; margin:0 0 10px; }
.source-panel ul { columns:2; column-gap:30px; padding-left:18px; margin-bottom:0; }
.source-panel li { break-inside:avoid; overflow-wrap:anywhere; }
.intent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; }
.intent-grid>div { border:1px solid #e8dbea; border-radius:16px; background:#fff; padding:24px; }
.legacy-content .intent-grid h3 { margin-top:0; font-size:18px; }
.legacy-content .intent-grid p { font-size:14px; line-height:1.8; margin-bottom:0; }
.contact-panels { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:25px 0 36px; }
.contact-panels>section { min-width:0; padding:27px; border:1px solid #e7d7eb; border-radius:22px; background:linear-gradient(120deg,#fff,#fcf4fc); }
.contact-panels .company-details { padding:0; background:transparent; grid-template-columns:1fr; gap:3px; }
.contact-panels .company-details dd { margin-bottom:12px; }
.operator-details { margin:0; padding:0; }
.operator-details>div { padding:14px 0; border-bottom:1px solid #eadfed; }
.operator-details>div:first-child { padding-top:0; }
.operator-details>div:last-child { padding-bottom:0; border:0; }
.operator-details dt { font-size:12px; color:#805e89; font-weight:700; margin-bottom:4px; }
.operator-details dd { margin:0; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.contact-panels .contact-illustration { display:block; width:190px; max-width:100%; height:135px; object-fit:contain; margin:24px auto 0; border:0; }
.contact-panels .restored-image-cta { margin:16px 0 0; }
.price-card .plan-image { width:120px; max-width:100%; height:65px; object-fit:contain; border:0; border-radius:0; margin:0 auto 16px; }
.restored-image-cta { margin-top:20px; }
@media(max-width:700px) { .contact-panels { grid-template-columns:1fr; }.contact-panels>section { padding:22px; } }
.intent-card { padding:20px; border:1px solid #e8dbea; border-radius:16px; text-decoration:none; background:#fff; }
.intent-card strong { display:block; color:#822470; font-size:17px; margin-bottom:7px; }
.intent-card span { display:block; color:#816b88; font-size:13px; line-height:1.6; }
.intent-card:hover { background:#fff4fb; border-color:#d59dcf; }
.refreshed-content .pros-cons { align-items:start; }
.refreshed-content .pros-cons h2 { margin-top:0; }
.contact-panel { border:1px solid #ead9ef; background:linear-gradient(125deg,#fff,#fcf0fa); border-radius:22px; padding:32px; margin:25px 0; }
.contact-panel h2 { margin:0 0 15px; }
@media(max-width:900px) { .intent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.source-panel ul { columns:1; } }
@media(max-width:600px) { .intent-grid { grid-template-columns:1fr; }.decision-note { padding:20px; }.source-panel { padding:20px; }.editorial-meta { gap:5px; flex-direction:column; }.refreshed-content .decision-table { font-size:12px; }.curated-card .card-stats { width:100%; }.contact-panel { padding:24px; } }
.brand { display:inline-flex; line-height:1; }
.brand .brand-logo { display:block; width:236px; height:auto; max-width:none; mix-blend-mode:multiply; }
.site-footer .brand .brand-logo { width:230px; }
.footer-social { display:flex; align-items:center; gap:10px; margin-top:18px; }
.footer-social a { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #e5d3e9; border-radius:50%; background:#fff; color:#782566; transition:color .18s,background .18s,border-color .18s; }
.footer-social a:hover { color:#fff; background:var(--pink); border-color:var(--pink); }
.footer-social a:focus-visible { outline:3px solid #b72993; outline-offset:3px; }
.footer-social svg { flex-shrink:0; }
.hero-visual { right:-60px; width:760px; height:515px; mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 78%,transparent 100%); -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 78%,transparent 100%); }
.hero-visual>img { object-position:center; }
.hero-heart,.photo-note { display:none; }
.category-banner { margin-top:24px; background:linear-gradient(112deg,#fff6fc 0%,#fbf0fd 50%,#f8e8f9 100%); overflow:hidden; border-block:1px solid #f3e5f3; }
.category-hero { position:relative; min-height:395px; display:flex; align-items:center; border:0; padding:46px 0; }
.category-copy { width:59%; position:relative; z-index:2; }
.upcoming-label { margin-bottom:16px; }
.category-hero h1 { margin:0 0 5px; font-size:clamp(37px,4.1vw,56px); max-width:660px; }
.category-hero .category-edition { font-size:29px; color:var(--pink); font-weight:450; line-height:1.2; letter-spacing:-.7px; margin:0 0 22px; }
.category-edition strong { font-weight:800; }
.category-hero .category-intro { max-width:540px; font-size:16px; line-height:1.75; margin-bottom:22px; }
.category-hero .button { margin:0; }
.category-visual { position:absolute; right:0; bottom:0; height:100%; width:44%; display:flex; justify-content:center; align-items:flex-end; mix-blend-mode:multiply; mask-image:linear-gradient(90deg,transparent,#000 18%,#000 84%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 84%,transparent); }
.category-visual img { width:100%; height:100%; max-height:410px; object-fit:contain; object-position:center bottom; mask-image:linear-gradient(0deg,transparent 0%,#000 16%,#000 95%,transparent); -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 16%,#000 95%,transparent); }
.article-hero { padding:43px 0 31px; }
.article-hero h1 { font-size:clamp(33px,3.8vw,49px); max-width:920px; line-height:1.16; }
.article-hero-rule { display:block; width:54px; height:4px; border-radius:3px; margin-top:26px; background:linear-gradient(90deg,#d50071,#c46dd4); }
.article-hero-faq { max-width:940px; }
.article-hero-wide { max-width:1060px; }
.article-layout { gap:52px; padding-bottom:56px; }
.article-content { color:#4d4455; font-size:17px; line-height:1.85; flex:1; max-width:none; }
.article-layout-wide { max-width:1060px; }
.article-layout-wide>.article-content { width:100%; }
.prose-section { margin-bottom:26px; }
.prose-section>h2:first-child { margin-top:0; }
.legacy-content p { margin:0 0 20px; }
.legacy-content p:empty { display:none; }
.legacy-content h2 { font-size:28px; line-height:1.32; letter-spacing:-.7px; margin:39px 0 17px; font-weight:750; }
.legacy-content h3 { font-size:22px; line-height:1.35; letter-spacing:-.4px; margin:27px 0 14px; }
.legacy-content h2 strong,.legacy-content h3 strong { font-weight:inherit; }
.legacy-content ul,.legacy-content ol { margin:15px 0 27px; padding-left:25px; }
.legacy-content li { padding-left:3px; margin-bottom:9px; }
.legacy-content li::marker { color:#a93686; }
.legacy-content strong { color:#3b2549; }
.legacy-content .button strong { color:inherit; }
.legacy-content a:not(.button) { text-decoration-thickness:1px; text-decoration-color:#d6b4dc; }
.legacy-content blockquote { border-left:3px solid #d51180; border-radius:0 16px 16px 0; padding:22px 27px; margin:28px 0; background:#fbf3fb; color:#60476a; }
.legacy-content img { border:1px solid #efe8f0; border-radius:14px; margin:27px auto; }
.legacy-content .article-lead { font-size:19px; line-height:1.85; color:#65506e; padding:0 0 23px; border-bottom:1px solid #eee1ef; margin-bottom:29px; }
.section-label { margin:36px 0 18px; }
.section-label h2,.section-label h3 { margin:0; font-size:25px; }
.recommendation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:20px 0 39px; }
.recommendation-card { min-width:0; border:1px solid #eadbed; border-radius:20px; padding:23px 18px 20px; background:linear-gradient(155deg,#fff 70%,#fcf5fc); display:flex; flex-direction:column; align-items:stretch; text-align:center; box-shadow:0 7px 22px #58256806; }
.recommendation-card .recommendation-logo { display:flex; align-items:center; justify-content:center; height:102px; margin-bottom:14px; }
.recommendation-card .recommendation-logo img { width:auto; height:auto; max-width:165px; max-height:100px; border:0; border-radius:0; margin:0; object-fit:contain; mix-blend-mode:multiply; }
.legacy-content .recommendation-name { font-size:20px; font-weight:800; margin:1px 0 19px; text-align:center; line-height:1.3; width:100%; }
.recommendation-actions { display:flex; flex-direction:column; gap:9px; margin-top:auto; }
.recommendation-actions .button { width:100%; min-height:44px; font-size:13px; padding:11px 10px; margin:0; }
.review-overview { display:grid; grid-template-columns:1.05fr .85fr 1.1fr; align-items:center; gap:22px; border:1px solid #ead9ed; border-radius:21px; background:linear-gradient(120deg,#fff 50%,#fdf3fa); padding:24px; margin:3px 0 31px; box-shadow:0 9px 27px #4b225b06; }
.overview-brand { display:flex; align-items:center; justify-content:center; padding-right:18px; border-right:1px solid #eaddec; }
.overview-brand>a { display:block; }
.legacy-content .overview-brand img { max-width:160px; width:100%; max-height:100px; object-fit:contain; border:0; border-radius:0; margin:0; mix-blend-mode:multiply; }
.overview-rating { text-align:center; }
.legacy-content .overview-rating p { font-size:11px; color:#786281; margin:0 0 7px; line-height:1.4; }
.overview-rating .stars { display:block; font-size:20px; margin-bottom:6px; }
.legacy-content .overview-rating .overview-score { color:var(--purple); font-size:30px; font-weight:800; letter-spacing:-1px; margin:0; }
.overview-action .button { width:100%; padding:13px 15px; font-size:14px; min-height:46px; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0 35px; }
.price-card { background:#fcf8fd; border:1px solid #e9daef; border-radius:18px; padding:23px 17px; text-align:center; }
.plan-icon { display:block; color:#bc238c; background:#f7e6f6; padding:8px; border-radius:12px; margin:0 auto 19px; width:44px; height:44px; }
.legacy-content .price-card h3 { font-size:17px; margin:0 0 15px; }
.legacy-content .price-value { font-size:22px; line-height:1.45; font-weight:750; color:var(--purple); margin-bottom:20px; }
.price-card .button { min-height:42px; width:100%; font-size:13px; padding-inline:10px; }
.pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:32px 0; }
.pros-panel,.cons-panel { border:1px solid #e0e9e4; background:#f5faf7; border-radius:18px; padding:24px; }
.cons-panel { border-color:#f0dfe8; background:#fff7fa; }
.legacy-content .pros-cons h3,.legacy-content .pros-cons h2 { font-size:21px; margin:0 0 18px; }
.legacy-content .pros-cons ul { padding-left:20px; margin:0; font-size:14px; line-height:1.8; }
.pros-panel li::marker { color:#398361; }.cons-panel li::marker { color:#c25b86; }
.article-cta-band { padding:25px; margin:35px 0; background:linear-gradient(115deg,#fdf1f9,#f3e8fa); border:1px solid #f0dcef; border-radius:18px; text-align:center; }
.article-cta-band .button { min-width:240px; }
.article-sidebar { width:270px; margin-top:3px; }
.article-sidebar .article-toc { padding:21px 21px 16px; margin:0 0 22px; background:#fff; border-radius:17px; }
.article-sidebar .article-toc summary { font-size:13px; }
.article-sidebar .article-toc>div { display:flex; flex-direction:column; gap:0; max-height:390px; overflow-y:auto; margin-top:12px; padding-right:5px; }
.article-sidebar .article-toc a { font-size:12px; color:#806489; line-height:1.5; border-bottom:1px solid #f1e8f2; padding:9px 0; text-decoration:none; }
.article-sidebar .article-toc a:hover { color:var(--pink); }
.mobile-toc { display:none; }
.information-grid { margin:22px 0 30px; }
.information-grid>.legacy-column { font-size:16px; padding:27px; background:#fff; box-shadow:none; }
.information-grid h3 { margin-top:0; }
.information-grid p:last-child { margin-bottom:0; }
.information-grid>section>img { max-height:none; width:100%; }
.editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:22px 0 28px; }
.editorial-card { border:1px solid #eadfed; border-radius:20px; background:#fff; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 8px 24px #51246c07; }
.editorial-image { display:block; aspect-ratio:1.8; overflow:hidden; }
.legacy-content .editorial-image img { width:100%; height:100%; max-height:none; object-fit:cover; margin:0; border:0; border-radius:0; }
.legacy-content .editorial-name { font-size:22px; margin:23px 23px 13px; }
.legacy-content .editorial-card>p { font-size:14px; line-height:1.8; color:#806d88; margin:0 23px 21px; }
.editorial-actions { padding:0 23px 23px; margin-top:auto; }
.editorial-actions .button { font-size:13px; width:100%; }
.category-content>.prose-section { max-width:850px; margin-inline:auto; }
.category-content>.recommendation-grid { max-width:980px; margin-inline:auto; }
.category-content>.section-label { max-width:980px; margin:30px auto 18px; }
.faq-content { width:100%; max-width:940px; margin:auto; }
.faq-intro { font-size:18px; line-height:1.8; max-width:740px; color:#7a6384; margin:0 0 31px!important; }
.faq-list { display:grid; gap:13px; margin:0 0 42px; }
.faq-item { border:1px solid #e9ddec; border-radius:16px; background:#fff; overflow:hidden; }
.faq-item[open] { border-color:#dbb5df; box-shadow:0 8px 25px #66347c06; }
.faq-item summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 25px; }
.faq-item summary::-webkit-details-marker { display:none; }
.legacy-content .faq-item h2 { font-size:18px; font-weight:750; line-height:1.5; letter-spacing:-.25px; margin:0; }
.faq-toggle { display:grid; place-items:center; color:#ab1a85; background:#fbedf8; border-radius:50%; width:29px; height:29px; font-size:22px; line-height:1; flex-shrink:0; }
.faq-item[open] .faq-toggle { transform:rotate(45deg); }
.faq-answer { padding:0 25px 24px; font-size:16px; line-height:1.85; color:#786680; }
.legacy-content .faq-answer p { margin:0 0 15px; }
.legacy-content .faq-answer p:last-child { margin:0; }
.faq-item summary:hover { background:#fdf8fc; }
.faq-item summary:focus-visible { outline-offset:-4px; border-radius:13px; }
.faq-content>.section-label { margin-top:44px; }
.blog-content>.section-label { text-align:left; }
/* Standalone calls to action in every preserved article. */
.legacy-content .button.prose-action { display:flex; width:fit-content; max-width:100%; margin:27px auto; text-align:center; }
.legacy-content .button.prose-action:last-child { margin-bottom:0; }
.legacy-content .pricing-single { grid-template-columns:minmax(0,430px); justify-content:center; }
.pricing-single .price-card { padding:28px; }
.legacy-content .pricing-single .price-value { font-size:25px; }
.pricing-single .button { max-width:270px; margin-inline:auto; }
.legacy-content .pros-cons { clear:both; }
.legacy-content .pros-cons h3 { display:flex; align-items:flex-start; gap:10px; }
.legacy-content .pros-cons h3::before { content:'+'; display:grid; place-items:center; flex:0 0 25px; height:25px; background:#e3f1e8; color:#2c7955; border-radius:8px; font-size:19px; font-weight:600; line-height:1; }
.legacy-content .pros-cons .cons-panel h3::before { content:'−'; background:#f8e5ed; color:#b94774; }
.legacy-content .pros-cons li:last-child { margin-bottom:0; }
.information-grid>.legacy-column { min-width:0; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:30px; }
.about-card { border:1px solid #eadfeb; border-radius:22px; padding:32px; background:#fff; min-width:0; }
.about-card:first-child { background:linear-gradient(140deg,#fff4fb,#faf3ff); border-color:#edd3e8; }
.company-symbol { color:#ad187f; background:#f8e7f4; border-radius:13px; padding:11px; width:48px; height:48px; margin:0 0 22px; }
.legacy-content .about-card h2 { font-size:24px; margin:0 0 17px; }
.legacy-content .about-card p { font-size:16px; line-height:1.85; margin:0; }
.company-details { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:35px; padding:35px; border:1px solid #eadbec; border-radius:22px; background:#fbf6fc; margin:0 0 42px; }
.legacy-content .company-address h3 { margin:0 0 20px; font-size:25px; }
.legacy-content .company-address p { font-size:15px; line-height:1.85; margin:0; }
.legacy-content .company-address p:has(.contact-email) { margin-top:14px; }
.legacy-content .company-illustration img { border:0; margin:0; width:100%; max-width:330px; mix-blend-mode:multiply; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.4fr; align-items:start; gap:24px; margin-bottom:24px; }
.contact-address,.contact-copy { min-width:0; padding:32px; border:1px solid #e9ddeb; border-radius:22px; }
.contact-address { background:linear-gradient(145deg,#faf0fa,#f7f0ff); }
.legacy-content .contact-grid h2 { font-size:25px; margin:0 0 22px; }
.legacy-content .contact-grid p { font-size:16px; line-height:1.85; }
.legacy-content .contact-grid p:last-child { margin-bottom:0; }
.legacy-content .contact-email { color:#b80072; text-decoration:none; font-weight:750; overflow-wrap:anywhere; }
.contact-email:hover { text-decoration:underline!important; }
.contact-copy .contact-email { display:block; font-size:clamp(19px,2.1vw,26px); margin:3px 0 27px; letter-spacing:-.3px; }
.legacy-content .contact-notice { background:#fdf2f8; border-left:3px solid #d11583; padding:18px 20px; border-radius:0 12px 12px 0; font-size:14px; line-height:1.75; margin:0 0 24px; }
.contact-notice strong { font-weight:600; }
.contact-links { display:flex; gap:35px; align-items:center; justify-content:center; border:1px solid #eee2ef; border-radius:22px; background:#fcf9fd; padding:18px 35px; margin-bottom:42px; }
.legacy-content .contact-links>img { width:210px; height:auto; border:0; margin:0; mix-blend-mode:multiply; }
.contact-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:15px; }
.legacy-content .contact-actions .button { margin:0; font-size:14px; }
@media(max-width:1190px) {
 .brand .brand-logo { width:216px; }
 .hero-visual { width:680px; right:-65px; }
 .article-layout { gap:32px; }
 .article-sidebar { width:240px; }
 .recommendation-grid { gap:12px; }
 .recommendation-card { padding:19px 13px; }
 .recommendation-card .recommendation-logo img { max-width:140px; }
 .review-overview { gap:16px; padding:21px; }
 .category-hero h1 { font-size:47px; }
}
@media(max-width:960px) {
 .footer-social { grid-column:2; }
 .brand .brand-logo { width:225px; }
 .hero-visual { right:-100px; width:625px; height:460px; }
 .category-copy { width:60%; }
 .category-hero { min-height:360px; padding:37px 0; }
 .category-hero h1 { font-size:42px; }
 .category-hero .category-edition { font-size:27px; }
 .category-hero .category-intro { font-size:15px; }
 .category-visual { width:43%; }
 .article-layout { max-width:850px; }
 .article-layout-wide { max-width:1060px; }
 .mobile-toc { display:block; margin:0 0 27px; background:#fcf7fd; }
 .mobile-toc>div { display:grid; grid-template-columns:1fr 1fr; }
 .recommendation-card { padding:22px 18px; }
 .recommendation-grid { gap:18px; }
 .editorial-grid { gap:18px; }
 .legacy-content .editorial-name { font-size:20px; margin-inline:19px; }
 .legacy-content .editorial-card>p { margin-inline:19px; }
 .editorial-actions { padding-inline:19px; }
}
@media(max-width:650px) {
 .about-grid,.contact-grid,.company-details { grid-template-columns:1fr; gap:17px; }
 .about-card,.contact-address,.contact-copy { padding:25px; border-radius:19px; }
 .company-details { padding:25px; }
 .company-illustration { display:flex; justify-content:center; }
 .legacy-content .company-illustration img { max-width:240px; }
 .contact-links { flex-direction:column; padding:23px; gap:17px; }
 .legacy-content .contact-links>img { width:175px; }
 .contact-actions { width:100%; }
 .legacy-content .contact-actions .button { width:100%; }
 .brand .brand-logo { width:202px; }
 .site-footer .brand .brand-logo { width:218px; }
 .hero-visual { right:auto; width:calc(100% + 32px); height:240px; margin-left:-16px; mask-image:linear-gradient(90deg,transparent,#000 17%,#000 83%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 17%,#000 83%,transparent); }
 .hero-visual>img { object-position:center 28%; }
 .category-banner { margin-top:19px; }
 .category-hero { display:flex; flex-direction:column; align-items:stretch; padding:30px 0 0; min-height:0; }
 .category-copy { width:100%; }
 .category-hero h1 { font-size:36px; margin-bottom:7px; max-width:100%; }
 .category-hero .category-edition { font-size:26px; margin-bottom:18px; }
 .category-hero .category-intro { font-size:15px; max-width:100%; line-height:1.75; margin-bottom:22px; }
 .category-hero .button { min-height:46px; font-size:14px; }
 .category-visual { position:relative; right:auto; width:100%; height:210px; margin-top:7px; }
 .category-visual img { width:100%; max-width:340px; height:100%; object-position:center 25%; object-fit:contain; }
 .article-hero { padding:29px 0 23px; }
 .article-hero h1 { font-size:32px; line-height:1.2; }
 .article-hero-rule { margin-top:20px; width:43px; height:3px; }
 .article-content { font-size:16px; line-height:1.85; }
 .legacy-content h2 { font-size:25px; margin-top:32px; }
 .legacy-content h3 { font-size:21px; }
 .legacy-content .article-lead { font-size:17px; line-height:1.85; padding-bottom:20px; }
 .recommendation-grid { grid-template-columns:1fr; gap:15px; margin:20px 0 30px; }
 .recommendation-card { display:grid; grid-template-columns:105px minmax(0,1fr); column-gap:19px; padding:20px; align-items:center; }
 .recommendation-card .recommendation-logo { grid-column:1; grid-row:1/3; height:96px; margin:0; }
 .recommendation-card .recommendation-logo img { max-width:105px; max-height:86px; }
 .legacy-content .recommendation-name { grid-column:2; margin:0 0 13px; font-size:19px; }
 .recommendation-actions { grid-column:2; gap:8px; }
 .recommendation-actions .button { min-height:43px; font-size:12px; padding:10px 7px; }
 .review-overview { grid-template-columns:1fr 1fr; padding:22px; gap:20px; margin-bottom:26px; }
 .overview-brand { border-right:1px solid #eaddec; padding-right:18px; }
 .legacy-content .overview-brand img { max-width:145px; max-height:98px; }
 .overview-action { grid-column:1/-1; }
 .overview-action .button { min-height:46px; font-size:15px; }
 .legacy-content .overview-rating .overview-score { font-size:31px; }
 .pricing-grid { gap:12px; grid-template-columns:1fr; }
 .price-card { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:10px; padding:22px; }
 .price-card .plan-icon { display:none; }
 .legacy-content .price-card h3 { margin:0; font-size:17px; text-align:left; }
 .legacy-content .price-value { font-size:21px; margin:0; text-align:right; }
 .price-card>.button { grid-column:1/-1; margin-top:5px; }
 .pros-cons { grid-template-columns:1fr; gap:15px; }
 .pros-panel,.cons-panel { padding:23px; }
 .legacy-content .pros-cons ul { font-size:15px; }
 .article-cta-band { padding:23px 18px; }
 .article-cta-band .button { min-width:0; width:100%; }
 .information-grid>.legacy-column { padding:23px; font-size:16px; }
 .section-label h2,.section-label h3 { font-size:24px; }
 .editorial-grid { grid-template-columns:1fr; gap:24px; margin:0 0 24px; }
 .legacy-content .editorial-name { font-size:23px; margin:22px 23px 14px; }
 .legacy-content .editorial-card>p { font-size:15px; margin-inline:23px; }
 .editorial-actions { padding:0 23px 24px; }
 .faq-intro { font-size:16px; margin-bottom:23px!important; }
 .faq-list { gap:11px; margin-bottom:32px; }
 .faq-item summary { padding:19px 18px; gap:15px; }
 .legacy-content .faq-item h2 { font-size:16px; line-height:1.55; }
 .faq-toggle { width:25px; height:25px; font-size:20px; }
 .faq-answer { padding:0 18px 21px; font-size:15px; }
 .mobile-toc>div { grid-template-columns:1fr; }
}
@media(max-width:359px) {
 .brand .brand-logo { width:180px; }
 .recommendation-card { grid-template-columns:85px minmax(0,1fr); padding:18px 14px; gap:12px; }
 .recommendation-card .recommendation-logo img { max-width:85px; }
 .legacy-content .recommendation-name { font-size:17px; }
}
@media print {
 .category-visual,.mobile-toc { display:none; }
 .category-copy { width:100%; }
 .recommendation-card,.review-overview,.faq-item,.price-card { break-inside:avoid; }
 .faq-item:not([open]) .faq-answer { display:block; }
}
