.compare-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:65px;padding:38px 0 32px;align-items:end}.compare-intro h1{font-size:clamp(40px,4.7vw,66px);max-width:800px}.compare-intro .dek{font-size:15px;color:var(--muted);line-height:1.85;margin-top:23px}.compare-intro-aside{border-left:1px solid var(--line);padding-left:28px}.compare-intro-aside p{font-size:12px;color:var(--muted)}.comparison-stat{display:flex;gap:27px;margin:0 0 20px}.comparison-stat strong{font-family:var(--serif);font-size:39px;line-height:1.2;display:block;color:var(--ink)}.comparison-stat span{font-size:10px;color:var(--muted)}.comparison-disclosure{border:1px solid #dfe6ec;background:#f5f7f9;padding:15px 20px;font-size:11px;line-height:1.8;color:#546478;margin-bottom:28px}.comparison-disclosure a{text-decoration:underline;text-underline-offset:3px}.winner-feature{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.35fr 1fr;position:relative;margin:25px 0 38px;overflow:hidden}.winner-copy{padding:36px 39px}.winner-copy .kicker{color:#dac388}.winner-copy h2{font-size:52px;line-height:1.04;margin-bottom:18px}.winner-copy p{font-size:13px;color:#d0d9e8;line-height:1.8;max-width:620px}.winner-price{font-family:var(--serif);font-size:48px;line-height:1.2;margin:24px 0 5px}.winner-price span{font-family:var(--sans);font-size:12px;font-weight:400;color:#c9d3e2;margin-left:10px}.winner-points{padding:0;list-style:none;font-size:12px;color:#d8e1ed;margin:20px 0 25px}.winner-points li{margin-bottom:10px;padding-left:20px;position:relative}.winner-points li:before{content:'✓';position:absolute;left:0;color:#dfc587}.winner-media{display:flex;flex-direction:column;justify-content:center;padding:30px 29px 30px 0;gap:17px}.winner-media img{width:100%;max-height:280px;object-fit:cover;object-position:top;border:1px solid #ffffff24}.winner-media .award{width:135px;height:135px;max-height:none;margin:0 auto}.winner-small{font-size:10px!important;color:#bbc9dc!important;margin-top:16px;line-height:1.75}.comparison-controls{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:13px;margin:25px 0}.comparison-controls .field{margin:0}.comparison-controls input,.comparison-controls select{font-size:12px;min-height:44px}.comparison-summary{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:2px solid var(--navy);gap:16px}.comparison-summary h2{font-size:32px}.comparison-summary p{font-size:11px;color:var(--muted)}.comparison-scroll{overflow:auto;border:1px solid var(--line);max-height:800px;scrollbar-color:#9ba8ba #f0f2f4}.ranking-table{width:100%;border-collapse:collapse;font-size:12px;min-width:880px}.ranking-table th{position:sticky;top:0;background:var(--navy);color:#fff;text-align:left;padding:15px 16px;font-size:10px;letter-spacing:.4px;z-index:2;white-space:nowrap}.ranking-table td{padding:19px 16px;vertical-align:top;border-top:1px solid var(--line)}.ranking-table tr:nth-child(even){background:#f6f8f9}.ranking-table td:first-child{width:55px;font-family:var(--serif);font-size:27px;color:#7d8a9c}.ranking-name{font-family:var(--sans);font-size:14px;line-height:1.5;font-weight:700;display:block;max-width:260px}.ranking-sub{display:block;font-size:10px;color:var(--muted);margin-top:5px;max-width:260px;line-height:1.7}.score-number{display:block;font-family:var(--serif);font-size:28px;line-height:1.1;color:var(--ink)}.score-range{font-size:9px;color:var(--muted);display:block;margin-top:6px;max-width:115px;line-height:1.6}.rank-price{font-size:11px;line-height:1.6;max-width:210px;display:block}.ranking-table .tag{font-size:9px;padding:4px 7px}.feature-dots{font-size:10px;white-space:nowrap;line-height:2;color:var(--muted)}.feature-dots strong{color:var(--green)}.comparison-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.method-card{border:1px solid var(--line);padding:24px}.method-card .method-number{font-family:var(--serif);font-size:31px;color:#8f9fb4}.method-card h3{font-size:27px;margin:15px 0 12px}.method-card p{font-size:12px;color:var(--muted);line-height:1.9}.review-title{display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:start;margin:36px 0}.review-title h1{font-size:clamp(38px,4.3vw,61px);margin:18px 0}.review-title .dek{font-family:var(--serif);font-size:24px;color:#58697a;line-height:1.4}.review-title-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:3px solid var(--navy);padding-top:20px}.review-score strong{font-family:var(--serif);font-size:59px;line-height:1;display:block}.review-score small{font-size:10px;color:var(--muted);display:block;margin-top:12px;line-height:1.7}.review-price{font-family:var(--serif);font-size:25px;line-height:1.3;display:block}.review-layout{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(260px,1fr);gap:50px}.review-content{min-width:0}.review-screenshot{border:1px solid var(--line);margin:0 0 28px;background:#f3f5f6}.review-screenshot img{width:100%;height:auto;object-fit:cover;object-position:top}.review-screenshot figcaption{font-size:10px;color:var(--muted);line-height:1.8;padding:13px 16px;background:#fafbfc;overflow-wrap:anywhere}.review-screenshot a{text-decoration:underline;text-underline-offset:3px}.review-aside .aside-panel{position:sticky;top:77px}.review-metadata{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;border-top:1px solid var(--line);margin:28px 0}.review-metadata>div{border-bottom:1px solid var(--line);padding:15px 0}.review-metadata dt{font-size:10px;color:var(--muted)}.review-metadata dd{font-size:12px;font-weight:600;margin:6px 0 0;overflow-wrap:anywhere}.review-content .prose{font-size:15px;line-height:1.9}.review-content .prose h2{font-size:33px;margin:35px 0 17px}.review-verdict{background:#f1f4f6;padding:26px 30px;border-left:3px solid var(--navy);margin:30px 0}.review-verdict h2{font-size:30px;margin:0 0 15px}.review-verdict p{font-size:14px;line-height:1.85;color:#3b4d62}.review-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0}.review-two-columns h3{font-size:26px;margin-bottom:15px}.review-two-columns li{font-size:12px;line-height:1.85;margin-bottom:10px}.feature-matrix{width:100%;border-collapse:collapse;font-size:12px;margin:20px 0 30px}.feature-matrix th{text-align:left;background:var(--wash);padding:12px;font-size:10px}.feature-matrix td{border-bottom:1px solid var(--line);padding:15px 12px;vertical-align:top;line-height:1.8}.feature-matrix td:first-child{font-weight:650;width:26%}.feature-matrix td:nth-child(2){width:18%}.feature-matrix small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.feature-matrix a{text-decoration:underline;text-underline-offset:3px;font-size:10px}.status-yes{color:var(--green);font-weight:700}.status-partial{color:#996020;font-weight:700}.status-no{color:#924e43;font-weight:700}.status-unknown{color:#738090;font-weight:500}.comparison-pair{border:1px solid var(--line);padding:25px;margin:30px 0}.comparison-pair h2{font-size:30px;margin-bottom:17px}.comparison-pair p{font-size:13px;color:var(--muted);line-height:1.85}.review-source-list{padding:0;list-style:none;margin-top:20px}.review-source-list li{border-top:1px solid var(--line);padding:15px 0;font-size:12px;overflow-wrap:anywhere}.review-source-list a{font-weight:650;text-decoration:underline;text-underline-offset:3px}.review-source-list small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.review-source-list ul{font-size:11px;color:var(--muted);line-height:1.9;margin-top:10px}.source-stamp{font-size:10px;letter-spacing:.5px;color:var(--muted);margin:22px 0}.price-overview{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:30px 0}.cost-scenario{background:var(--wash);padding:26px}.cost-scenario h2{font-size:32px;margin-bottom:20px}.cost-scenario-output{font-family:var(--serif);font-size:47px;line-height:1.15;margin:23px 0 14px}.cost-scenario .field input{max-width:180px}.cost-scenario p{font-size:12px;color:var(--muted);line-height:1.9}.review-related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.related-platform{border-top:2px solid var(--navy);padding:20px 0}.related-platform h3{font-size:26px;margin:12px 0}.related-platform p{font-size:12px;color:var(--muted);line-height:1.8}.method-weights{display:grid;grid-template-columns:repeat(2,1fr);gap:0 35px;margin:25px 0}.method-weight{border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;font-size:13px}.platform-banner{display:grid;grid-template-columns:1.6fr 1fr;gap:35px;border-top:2px solid var(--navy);border-bottom:1px solid var(--line);padding:28px 0}.platform-banner h2{font-size:38px;margin:8px 0 12px}.platform-banner p{font-size:13px;color:var(--muted);max-width:730px;line-height:1.8}.platform-banner .actions{display:flex;flex-direction:column;gap:15px;align-items:flex-start;justify-content:center}.capture-note{font-size:11px;line-height:1.85;color:var(--muted);border:1px solid var(--line);padding:16px}.no-results-comparison{padding:30px;text-align:center;background:var(--wash);font-size:14px}.review-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.price-warning{font-size:11px;color:#795840;background:#faf5ee;padding:15px 18px;line-height:1.85;margin:20px 0}.review-capture-stack{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:22px}.review-capture-stack img{width:100%;height:170px;object-fit:cover;object-position:top;border:1px solid var(--line)}.review-capture-stack figcaption{font-size:10px;color:var(--muted);margin-top:8px}.review-capture-stack figure{margin:0}.badge-inline{display:inline-block;background:#eee4cc;color:#6a5324;font-size:9px;font-weight:750;letter-spacing:.5px;padding:5px 8px}.rank-row-featured{background:#eef2f7!important}.review-scope-note{font-size:11px!important;color:var(--muted);line-height:1.85;margin-top:18px!important}.review-blocked-note{background:#f9f1e8;padding:20px;font-size:12px;line-height:1.9;margin:18px 0}.compare-top-links{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;font-weight:650;margin:22px 0}
@media(max-width:1050px){.compare-intro{gap:35px}.review-layout{gap:30px}.winner-copy{padding:30px}.winner-copy h2{font-size:43px}.winner-media{padding-right:24px}.review-title{gap:30px}.comparison-controls{grid-template-columns:1fr 1fr}.comparison-method-grid{gap:16px}.review-title-aside{grid-template-columns:1fr}.review-price{font-size:24px}.review-screenshot img{max-height:520px}}
@media(max-width:820px){.compare-intro{grid-template-columns:1fr;gap:25px}.compare-intro-aside{border-left:0;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:25px}.winner-feature{grid-template-columns:1.4fr 1fr}.winner-copy{padding:25px}.winner-media{padding:20px 20px 20px 0}.winner-copy h2{font-size:40px}.winner-media .award{width:110px;height:110px}.review-title{grid-template-columns:1fr}.review-title-aside{grid-template-columns:1fr 1fr}.review-layout{grid-template-columns:1fr}.review-aside{display:none}.comparison-method-grid{grid-template-columns:1fr}.review-related{grid-template-columns:repeat(2,1fr)}.price-overview{grid-template-columns:1fr}.platform-banner{grid-template-columns:1fr;gap:18px}.platform-banner .actions{flex-direction:row;align-items:center}.review-two-columns{gap:20px}.winner-price{font-size:42px}.method-weights{gap:0 20px}.review-capture-stack img{height:200px}}
@media(max-width:520px){.compare-intro{padding-top:28px}.compare-intro h1{font-size:43px;letter-spacing:-1.3px}.compare-intro .dek{font-size:13px}.compare-intro-aside{grid-template-columns:1fr;gap:0}.comparison-stat{gap:23px;margin-bottom:15px}.comparison-stat strong{font-size:35px}.comparison-disclosure{font-size:11px;line-height:1.85;padding:15px}.winner-feature{display:block}.winner-copy{padding:25px}.winner-copy h2{font-size:43px}.winner-media{padding:0 25px 25px;display:grid;grid-template-columns:1fr 105px;gap:15px}.winner-media img{height:130px;object-fit:cover}.winner-media .award{width:95px;height:95px}.winner-points{font-size:11px}.winner-price{font-size:40px}.winner-price span{display:block;font-size:11px;margin:7px 0}.winner-small{font-size:10px!important}.comparison-controls{grid-template-columns:1fr 1fr;gap:10px}.comparison-controls>.field:first-child{grid-column:1/-1}.comparison-controls>.field:last-child{grid-column:1/-1}.comparison-summary{display:block}.comparison-summary h2{font-size:30px}.comparison-summary p{margin-top:10px}.comparison-scroll{max-height:660px}.ranking-table{min-width:850px;font-size:11px}.ranking-table td{padding:15px 12px}.ranking-table th{padding:13px 12px}.review-title h1{font-size:43px}.review-title .dek{font-size:23px}.review-title{margin-top:27px;gap:25px}.review-title-aside{gap:20px}.review-score strong{font-size:49px}.review-price{font-size:23px}.review-metadata{grid-template-columns:1fr;gap:0}.review-metadata dd{font-size:12px}.review-two-columns{grid-template-columns:1fr;gap:10px}.review-content .prose h2{font-size:31px}.review-content .prose{font-size:14px}.review-verdict{padding:23px}.review-verdict p{font-size:13px}.feature-matrix{font-size:11px}.feature-matrix td,.feature-matrix th{padding:12px 8px}.feature-matrix td:first-child{width:27%}.feature-matrix td:nth-child(2){width:23%}.feature-matrix small,.feature-matrix a{font-size:9px}.comparison-pair{padding:20px}.review-source-list li{font-size:11px}.review-related{grid-template-columns:1fr 1fr;gap:15px}.related-platform h3{font-size:24px}.related-platform p{font-size:11px}.method-weights{grid-template-columns:1fr}.cost-scenario{padding:23px}.cost-scenario-output{font-size:42px}.platform-banner h2{font-size:35px}.platform-banner .actions{flex-direction:column;align-items:flex-start}.review-capture-stack{grid-template-columns:1fr}.review-capture-stack img{height:auto}.compare-top-links{gap:13px;font-size:10px}.review-screenshot figcaption{font-size:9px}.review-actions .button,.review-actions .button-outline{padding:11px 14px;font-size:12px}}
@media print{.comparison-controls,.review-actions,.winner-media,.compare-top-links{display:none}.comparison-scroll{overflow:visible;max-height:none}.ranking-table{font-size:8pt;min-width:0}.review-layout,.review-title{display:block}.review-screenshot{max-width:650px}.feature-matrix{font-size:9pt}.winner-feature{color:#000;background:#fff;border:1px solid #000}.winner-copy p,.winner-small{color:#000!important}}
.review-title h1{overflow-wrap:anywhere;hyphens:auto}.feature-matrix{table-layout:fixed;overflow-wrap:anywhere}.nav-links a{white-space:nowrap}
@media(max-width:1050px) and (min-width:821px){.nav-source{display:none}.nav-links{width:100%;justify-content:space-between;gap:15px}}
.story-card h3,.related-platform h3{hyphens:auto;overflow-wrap:anywhere}.review-related{grid-template-columns:repeat(3,minmax(0,1fr))}.related-platform{min-width:0;overflow-wrap:anywhere}
@media(max-width:820px){.review-related{grid-template-columns:repeat(2,minmax(0,1fr))}}

.portal-pair{padding:27px 0;border-left:0;border-right:0}.portal-pair h2{font-size:32px;max-width:850px;overflow-wrap:anywhere}.portal-pair>p{font-size:12px;margin:0 0 22px}.portal-pair-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);scrollbar-width:thin}.portal-pair-matrix{width:100%;min-width:660px;border-collapse:collapse;table-layout:fixed;font-size:12px;overflow-wrap:anywhere}.portal-pair-matrix th,.portal-pair-matrix td{padding:17px 18px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line);line-height:1.8}.portal-pair-matrix thead th{background:var(--navy);color:#fff;font-size:13px}.portal-pair-matrix thead th:first-child,.portal-pair-matrix tbody th{width:20%}.portal-pair-matrix thead th span{display:block;font-size:10px;font-weight:400;line-height:1.7;color:#d3dfef;margin-top:7px}.portal-pair-matrix tbody th{font-size:12px;background:#f5f7f9}.portal-pair-matrix td p{font-size:12px;color:#43556c;margin:10px 0 0;line-height:1.85}.portal-pair-matrix td small{display:block;margin-top:12px;font-size:10px}.portal-pair-matrix td a{font-size:10px;text-decoration:underline;text-underline-offset:3px}.portal-pair-matrix .pair-vgz-documented{background:#f0f7f3}.portal-pair-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:23px 0}.portal-pair-terms>div{padding:14px 0;border-bottom:1px solid var(--line);min-width:0}.portal-pair-terms dt{font-size:10px;color:var(--muted)}.portal-pair-terms dd{margin:6px 0 0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.portal-pair .text-link{white-space:normal}.ranking-table .rank-row-featured td:first-child{color:#70531a;font-weight:700}
@media(max-width:520px){.portal-pair h2{font-size:28px}.portal-pair-matrix{min-width:610px;font-size:11px}.portal-pair-matrix th,.portal-pair-matrix td{padding:14px 12px}.portal-pair-matrix td p{font-size:11px}.portal-pair-terms{grid-template-columns:1fr;gap:0}.portal-pair-terms dd{font-size:11px}}
@media print{.portal-pair-scroll{overflow:visible}.portal-pair-matrix{min-width:0;font-size:8pt}.portal-pair-matrix th,.portal-pair-matrix td{padding:8px}.portal-pair-matrix td p{font-size:8pt}}
.ranking-scope-score{display:block;color:#1f5c48;font-size:10px;line-height:1.5;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #d8e3dd}.ranking-scope-score b{font-family:var(--serif);font-size:30px;line-height:1.1}.ranking-scope-score small{display:block;font-size:9px;color:#536b60;margin-top:5px}
.page-heading h1{overflow-wrap:anywhere;hyphens:auto}

.capability-catalogue{margin:38px 0}.capability-catalogue>h2{font-size:34px;margin:12px 0 15px;overflow-wrap:anywhere}.capability-scroll{overflow-x:auto;margin-top:20px;border:1px solid var(--line);max-width:100%}.capability-table{border-collapse:collapse;width:100%;min-width:640px;table-layout:fixed}.capability-table th,.capability-table td{text-align:left;vertical-align:top;padding:17px 15px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.capability-table thead th{background:var(--navy);color:white;font-size:11px}.capability-table th:first-child{width:24%}.capability-table tbody th{font-weight:650;background:#f1f4f8}.capability-table td small{display:block;font-size:10px;margin-top:10px}.capability-table td small a{text-decoration:underline;text-underline-offset:3px}@media(max-width:520px){.capability-catalogue>h2{font-size:29px}.capability-table th,.capability-table td{padding:13px 12px;font-size:11px}}
