/* A light product-comparison studio. Decoration never replaces the underlying data. */
.compare-section { --compare-line:#e1e7f1; --compare-ink:#253652; --compare-muted:#67768e; margin:66px 0 0; scroll-margin-top:108px; }
.compare-section .compare-heading { max-width:760px; margin-bottom:29px; }
.compare-section .compare-heading .eyebrow { margin-bottom:12px; color:#667caa; font-size:10px; letter-spacing:.16em; }
.compare-section .compare-heading h2 { margin:0 0 12px; color:#20304c; font-size:clamp(28px,3vw,37px); line-height:1.35; letter-spacing:-.04em; }
.compare-section .compare-heading p { margin:0; color:var(--compare-muted); font-size:14px; line-height:1.9; }

/* Section tabs and segmented filtering share one toolbar. */
.compare-section .compare-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; padding:9px 10px; border:1px solid #e4e9f2; border-radius:15px; background:#fff; box-shadow:0 4px 18px #243b6305; }
.compare-section .compare-jumps { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.compare-section .compare-jumps a { display:inline-flex; align-items:center; gap:8px; min-height:41px; padding:10px 13px; border:1px solid transparent; border-radius:9px; color:#526783; font-size:11px; font-weight:600; line-height:1.5; transition:background .18s,color .18s,border-color .18s; }
.compare-section .compare-jumps a .icon { width:16px; height:16px; color:#7190cb; }
.compare-section .compare-jumps a:nth-child(2) .icon { color:#9580c5; }
.compare-section .compare-jumps a:nth-child(3) .icon { color:#b59a6d; }
.compare-section .compare-jumps a:hover { border-color:#dce5f7; color:#315eea; background:#f2f6ff; }
.compare-section .compare-filter { display:flex; flex-shrink:0; gap:3px; padding:4px; border:1px solid #e4e9f3; border-radius:10px; background:#f0f3f9; }
.compare-section .compare-filter button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:33px; padding:7px 13px; border:1px solid transparent; border-radius:7px; background:transparent; color:#6f7f98; font:inherit; font-size:11px; font-weight:550; line-height:1.4; cursor:pointer; transition:background .18s,color .18s,box-shadow .18s; }
.compare-section .compare-filter button[aria-pressed="true"] { color:#315eea; background:#fff; border-color:#dee6f4; box-shadow:0 2px 5px #304d7710,inset 0 1px #fff; }
.compare-section .compare-filter button:hover { color:#315eea; }
.compare-section .compare-filter .icon { width:13px; height:13px; }
.compare-section .compare-scroll-hint { display:none; }
.compare-section :is(.compare-jumps a,.compare-filter button,.usage-presets button):focus-visible { outline:3px solid #9eb7ff; outline-offset:3px; }

/* Blue and violet plan identities continue from the header into the results. */
.compare-section .compare-table-wrap { position:relative; width:100%; overflow:auto; overscroll-behavior-x:contain; border:1px solid #dce4f1; border-radius:22px; background:#fff; box-shadow:0 16px 42px #253f6c08,0 3px 8px #253f6c03; scrollbar-width:thin; scrollbar-color:#b5c6e5 #f4f7fc; }
.compare-section .compare-table-wrap:focus-visible { outline:3px solid #a8bffa; outline-offset:5px; }
.compare-section .compare-table { width:100%; min-width:760px; border-spacing:0; border-collapse:separate; table-layout:fixed; text-align:left; color:var(--compare-ink); font-size:13px; line-height:1.8; }
.compare-section .compare-table th,.compare-section .compare-table td { padding:23px 27px; vertical-align:top; text-align:left; border:0; border-bottom:1px solid #e8edf5; overflow-wrap:anywhere; }
.compare-section .compare-table thead th { position:relative; width:39%; overflow:hidden; padding:31px 29px 27px; border-top:4px solid transparent; border-bottom-color:#dce5f5; font-weight:500; }
.compare-section .compare-table thead th:first-child { width:22%; vertical-align:middle; border-top-color:#dce4f2; color:#536580; font-size:15px; font-weight:650; background:radial-gradient(circle at 100% 0,#edf2fc,transparent 65%),#f7f9fd; }
.compare-section .compare-table thead th:first-child small { display:block; margin-top:11px; color:#7b89a2; font-size:11px; font-weight:450; line-height:1.8; }
.compare-section .compare-table thead th:first-child::after { content:""; position:absolute; right:-29px; bottom:-32px; width:112px; height:112px; border:1px solid #dfe6f3; border-radius:28px; box-shadow:0 0 0 17px #e9eef84d,0 0 0 34px #edf2f866; transform:rotate(-23deg); pointer-events:none; }
.compare-section .compare-table thead th:nth-child(2) { border-top-color:#5278ed; background:radial-gradient(ellipse at 100% 0,#d9e5ffb3,transparent 65%),linear-gradient(135deg,#edf3ff,#f8faff 75%); }
.compare-section .compare-table thead th:nth-child(3) { border-top-color:#9a7bdd; background:radial-gradient(ellipse at 100% 0,#e9dcffbf,transparent 65%),linear-gradient(135deg,#f4efff,#fcfaff 75%); }
.compare-section .compare-table thead th:not(:first-child)::after { content:""; position:absolute; right:-41px; top:-36px; width:180px; height:180px; border:1px solid #8eabec26; border-radius:50%; box-shadow:0 0 0 23px #a4bdf510,0 0 0 47px #abc2f508; pointer-events:none; }
.compare-section .compare-table thead th:nth-child(3)::after { border-color:#ac90d928; box-shadow:0 0 0 23px #b49cdc10,0 0 0 47px #b49cdc08; }
.compare-section .compare-table th+th,.compare-section .compare-table th+td,.compare-section .compare-table td+td { border-left:1px solid #e4eaf5; }
.compare-section .compare-provider { position:relative; z-index:1; display:flex; align-items:center; gap:14px; margin-bottom:23px; }
.compare-section .compare-provider .provider-logo { width:53px; height:53px; flex:0 0 53px; border:1px solid #d5e0fa; border-radius:16px; background:linear-gradient(145deg,#fff,#edf3ff); color:#3c65d3; font-size:25px; box-shadow:0 5px 12px #4063aa08,inset 0 1px #fff; }
.compare-section .compare-provider .provider-logo .icon { width:26px; height:26px; }
.compare-section .compare-table thead th:nth-child(3) .provider-logo { border-color:#e3d9f4; color:#8262bd; background:linear-gradient(145deg,#fff,#f4edff); box-shadow:0 5px 12px #8b67b508,inset 0 1px #fff; }
.compare-section .compare-provider>div { min-width:0; }
.compare-section .compare-provider strong { display:block; margin-bottom:5px; color:#253f69; font-size:21px; line-height:1.4; font-weight:750; letter-spacing:-.025em; }
.compare-section .compare-table thead th:nth-child(3) .compare-provider strong { color:#514174; }
.compare-section .compare-provider small { display:block; color:#73809b; font-size:11px; line-height:1.7; font-weight:450; }
.compare-section .compare-price { position:relative; z-index:1; display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; padding:20px 0 0; border-top:1px solid #d8e2f6; font-variant-numeric:tabular-nums; }
.compare-section .compare-price strong { color:#315cce; font-size:44px; font-weight:750; line-height:1.1; letter-spacing:-.055em; }
.compare-section .compare-price small { color:#75819b; font-size:12px; font-weight:500; }
.compare-section .compare-table thead th:nth-child(3) .compare-price { border-top-color:#e3dbf3; }
.compare-section .compare-table thead th:nth-child(3) .compare-price strong { color:#825dbd; }
.compare-section .compare-group { scroll-margin-top:108px; }
.compare-section .compare-group-title th { padding:15px 27px; border-bottom-color:#e0e7f3; background:linear-gradient(90deg,#edf3fc,#f7f9fd); color:#5873a2; font-size:12px; box-shadow:inset 0 1px #ffffffb3; }
.compare-section .compare-group-title th>span { display:inline-flex; align-items:center; justify-content:center; width:29px; height:27px; margin-right:11px; vertical-align:middle; border:1px solid #d4e0f5; border-radius:8px; background:#fff; color:#7088b3; font:600 10px ui-monospace,monospace; box-shadow:0 2px 4px #41629604; }
.compare-section .compare-group-title .icon { display:inline-block; width:16px; height:16px; margin-right:8px; vertical-align:-3px; }
.compare-section .compare-group-title strong { color:#526b92; font-size:12px; font-weight:700; letter-spacing:.04em; }
.compare-section .compare-group-title small { display:inline-block; margin-left:19px; color:#78869b; font-size:11px; font-weight:400; }
.compare-section #compare-fit .compare-group-title th { background:linear-gradient(90deg,#f1eef9,#faf9fd); color:#9480b4; border-bottom-color:#e9e3f3; }
.compare-section #compare-fit .compare-group-title th>span { color:#9a84b9; border-color:#e4daf0; }
.compare-section #compare-fit .compare-group-title strong { color:#7c669b; }
.compare-section #compare-terms .compare-group-title th { background:linear-gradient(90deg,#f8f4ed,#fcfbf8); color:#ac9267; border-bottom-color:#eee7db; }
.compare-section #compare-terms .compare-group-title th>span { color:#af966e; border-color:#e9dfce; }
.compare-section #compare-terms .compare-group-title strong { color:#96805f; }
.compare-section .compare-row>th { background:#f8fafd; font-weight:500; }
.compare-section .compare-row>th>strong { display:block; margin-bottom:6px; color:#4b5e7a; font-size:12px; font-weight:650; line-height:1.75; }
.compare-section .compare-row>th>small { display:block; max-width:20em; color:#7b879b; font-size:11px; font-weight:400; line-height:1.85; }
.compare-section .compare-row>td { color:#586c89; background:#fff; transition:background .16s; }
.compare-section .compare-row:nth-child(2n+1)>td:nth-child(2) { background:#fbfcff; }
.compare-section .compare-row:nth-child(2n+1)>td:nth-child(3) { background:#fdfbff; }
.compare-section .compare-row:hover>th { background:#f0f4fc; }
.compare-section .compare-row:hover>td:nth-child(2) { background:#f4f7ff; }
.compare-section .compare-row:hover>td:nth-child(3) { background:#f9f5ff; }
.compare-section .compare-value>strong { display:block; color:#3e5e91; font-size:18px; font-weight:650; line-height:1.5; font-variant-numeric:tabular-nums; letter-spacing:-.025em; }
.compare-section .compare-row>td:nth-child(3) .compare-value>strong { color:#7c639f; }
.compare-section #compare-costs .compare-value>strong { font-size:24px; font-weight:700; line-height:1.4; }
.compare-section .compare-value>span { display:block; color:#526783; font-size:13px; line-height:1.95; }
.compare-section .compare-value>small { display:block; margin-top:8px; color:#7b879c; font-size:11px; font-weight:400; line-height:1.9; }
.compare-section .compare-value>a { display:inline-flex; align-items:center; gap:7px; padding-bottom:2px; border-bottom:1px solid #d7e2f8; color:#5376b8; font-size:12px; font-weight:550; line-height:1.8; transition:color .18s,border-color .18s; }
.compare-section .compare-row>td:nth-child(3) .compare-value>a { color:#8a70af; border-bottom-color:#e5dbf4; }
.compare-section .compare-value>a:hover { color:#315eea; border-bottom-color:#7897e8; }
.compare-section .compare-value ul { display:grid; gap:8px; margin:0; padding-left:16px; color:#5b6e89; font-size:12px; line-height:1.9; }
.compare-section .compare-value li::marker { color:#a2b8df; }
.compare-section .compare-row>td:nth-child(3) .compare-value li::marker { color:#c0a9df; }
.compare-section .compare-value .icon { width:14px; height:14px; color:currentColor; vertical-align:-3px; }
.compare-section .compare-row[hidden],.compare-section .compare-group[hidden],.compare-section .compare-empty[hidden] { display:none !important; }
.compare-section .compare-access th,.compare-section .compare-access td { padding:26px 27px; border-bottom:0; vertical-align:middle; background:#f7f9fd; }
.compare-section .compare-access td:nth-child(2) { background:#f2f6ff; }
.compare-section .compare-access td:nth-child(3) { background:#f7f3ff; }
.compare-section .compare-access th { color:#536a8b; font-size:12px; font-weight:650; }
.compare-section .compare-access th small { display:block; margin-top:7px; color:#7b879c; font-size:11px; font-weight:400; line-height:1.8; }
.compare-section .compare-access .provider-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start; gap:13px 18px; padding-top:0; }
.compare-section .compare-access .provider-actions .button { min-height:42px; padding:11px 15px; font-size:11px; border-radius:10px; }
.compare-section .compare-access .provider-actions .text-link { min-height:38px; color:#5275b8; font-size:11px; }
.compare-section .compare-access td:nth-child(3) .provider-actions .text-link { color:#8a6aad; }
.compare-section .compare-access td:nth-child(3) .button-primary:not(:disabled):not(.button-disabled) { background:linear-gradient(125deg,#8662ce,#9a78db); border-color:#8662ce; box-shadow:0 5px 14px #8662ce1a; }
.compare-section .compare-note { margin:16px 3px 0; color:#79869b; font-size:11px; line-height:1.95; }
.compare-section .compare-empty { padding:23px; margin:16px 0 0; border:1px dashed #d1ddf2; border-radius:13px; background:#f8faff; color:#7187aa; font-size:13px; text-align:center; }

/* A distinct calculator workspace; class names follow comparison.mjs and app.js. */
.compare-section .usage-calculator { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px 32px; margin:44px 0 0; padding:34px; border:1px solid #dce5f5; border-radius:23px; background:radial-gradient(ellipse at 100% 100%,#ece7ff80,transparent 50%),radial-gradient(ellipse at 0 0,#dce8ff99,transparent 65%),#f4f7fd; box-shadow:inset 0 1px #fff,0 13px 34px #35528c05; }
.compare-section .usage-calculator::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; border-radius:inherit; background-image:radial-gradient(#b9c9e84d .6px,transparent .6px); background-size:13px 13px; mask-image:linear-gradient(to bottom,#000,transparent 70%); }
.compare-section .usage-heading { max-width:620px; margin:0; align-self:center; }
.compare-section .usage-heading .eyebrow { margin-bottom:10px; color:#8193b5; font-size:9px; letter-spacing:.16em; }
.compare-section .usage-heading h3 { margin:0 0 9px; color:#30476c; font-size:clamp(21px,2.1vw,26px); font-weight:700; line-height:1.45; letter-spacing:-.035em; }
.compare-section .usage-heading p { margin:0; color:#71809a; font-size:12px; line-height:1.9; }
.compare-section .usage-controls { display:grid; grid-template-columns:150px auto; align-items:center; gap:9px 10px; align-self:center; margin:0; }
.compare-section .usage-controls>label { grid-column:1/-1; color:#6b7d9c; font-size:11px; font-weight:550; }
.compare-section .usage-input { display:flex; align-items:center; width:150px; min-height:48px; padding:0 13px; border:1px solid #c6d6f4; border-radius:11px; background:#fff; box-shadow:0 4px 12px #31517c05; transition:border-color .18s,box-shadow .18s; }
.compare-section .usage-input:focus-within { border-color:#8ba9f2; box-shadow:0 0 0 4px #dce6ff; }
.compare-section .usage-input input { width:100%; min-width:0; padding:11px 0; border:0; outline:0; color:#3d62a2; background:transparent; font:inherit; font-size:21px; font-weight:700; font-variant-numeric:tabular-nums; }
.compare-section .usage-input input[aria-invalid="true"] { color:#a66338; }
.compare-section .usage-input:has(input[aria-invalid="true"]) { border-color:#d8b093; }
.compare-section .usage-input span { flex-shrink:0; color:#8591a6; font-size:10px; white-space:nowrap; }
.compare-section .usage-presets { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.compare-section .usage-presets button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 9px; border:1px solid #dce5f4; border-radius:8px; background:#ffffffb3; color:#7485a2; font:inherit; font-size:10px; line-height:1.5; cursor:pointer; transition:color .18s,border-color .18s,background .18s,box-shadow .18s; }
.compare-section .usage-presets button:hover { border-color:#aec3f1; color:#5378ca; background:#fff; }
.compare-section .usage-presets button[aria-pressed="true"] { border-color:#91ace9; color:#456cc3; background:#fff; box-shadow:0 2px 7px #5378ca10; }
.compare-section .usage-results { display:grid; grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.compare-section .usage-result { position:relative; min-width:0; overflow:hidden; padding:25px 26px 22px; border:1px solid #dce5f6; border-radius:17px; background:#ffffffef; box-shadow:0 6px 18px #4269ae05; }
.compare-section .usage-result::before { content:""; position:absolute; left:25px; right:25px; top:0; height:3px; border-radius:0 0 8px 8px; background:linear-gradient(90deg,#7a9bef,#c8d7f8); }
.compare-section .usage-result:nth-child(2) { border-color:#e6def3; box-shadow:0 6px 18px #8d6bb705; }
.compare-section .usage-result:nth-child(2)::before { background:linear-gradient(90deg,#ae8edc,#e1d5f4); }
.compare-section .usage-result>header { display:flex; align-items:center; gap:11px; margin-bottom:21px; }
.compare-section .usage-result .provider-logo { flex:0 0 35px; width:35px; height:35px; border:1px solid #dfe7f8; border-radius:10px; background:#f1f5ff; color:#5f82cd; font-size:17px; box-shadow:inset 0 1px #fff; }
.compare-section .usage-result:nth-child(2) .provider-logo { color:#9b7ac4; background:#f6f1fd; border-color:#e9e0f6; }
.compare-section .usage-result .provider-logo .icon { width:19px; height:19px; }
.compare-section .usage-result>header>strong { color:#647b9c; font-size:12px; font-weight:650; }
.compare-section .usage-result:nth-child(2)>header>strong { color:#8a759e; }
.compare-section .usage-state { display:block; color:#426db7; font-size:clamp(19px,2.1vw,25px); font-weight:700; line-height:1.5; letter-spacing:-.035em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.compare-section .usage-result:nth-child(2) .usage-state { color:#8c6aad; }
.compare-section .usage-description { min-height:42px; margin:10px 0 17px; color:#7a879c; font-size:11px; line-height:1.9; }
.compare-section .usage-meter { position:relative; height:10px; margin-bottom:20px; overflow:hidden; border:1px solid #e6edf8; border-radius:9px; background:#eff3fb; box-shadow:inset 0 1px 2px #3e629008; }
.compare-section .usage-meter::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#ffffffb3 calc(20% - 1px),#ffffffb3 20%); pointer-events:none; }
.compare-section .usage-meter>[data-usage-meter] { display:block; max-width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#acc4ff,#6087e5); box-shadow:inset 0 1px #ffffff4d; transition:width .3s ease; }
.compare-section .usage-result:nth-child(2) .usage-meter { border-color:#ece5f5; background:#f4f0f9; }
.compare-section .usage-result:nth-child(2) .usage-meter>[data-usage-meter] { background:linear-gradient(90deg,#d6c1ef,#aa87d7); }
.compare-section .usage-cost { display:block; min-height:40px; padding-top:13px; border-top:1px solid #eaf0f8; color:#7183a1; font-size:11px; line-height:1.9; font-variant-numeric:tabular-nums; }
.compare-section .usage-result:nth-child(2) .usage-cost { border-top-color:#f0eaf7; color:#8b7a9d; }
.compare-section .usage-result[data-over="true"] .usage-state { color:#b08046; }
.compare-section .usage-result[data-over="true"]::before { background:linear-gradient(90deg,#d6ac72,#eed8b8); }
.compare-section .usage-result[data-over="true"] .usage-meter>[data-usage-meter] { background:linear-gradient(90deg,#e8c597,#d2a15f); }
.compare-section .usage-calculator>.compare-note { grid-column:1/-1; margin:-10px 2px 0; color:#7e8aa0; font-size:10px; }

/* Editorial notes finish the comparison without competing with its figures. */
.compare-section .compare-advice { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:28px 0 0; }
.compare-section .compare-advice>article { position:relative; overflow:hidden; padding:25px; border:1px solid #e3e9f3; border-radius:16px; background:linear-gradient(150deg,#f8faff,#fff 65%); box-shadow:0 3px 10px #3c5c8e03; }
.compare-section .compare-advice>article:nth-child(2) { background:linear-gradient(150deg,#fbf9ff,#fff 65%); }
.compare-section .compare-advice>article:nth-child(3) { background:linear-gradient(150deg,#fdfbf6,#fff 65%); }
.compare-section .compare-advice>article>.icon { width:40px; height:40px; margin-bottom:17px; padding:10px; border:1px solid #e0e8f9; border-radius:11px; color:#7c99cc; background:#eef4ff; }
.compare-section .compare-advice>article:nth-child(2)>.icon { color:#a28bbf; border-color:#ebe3f5; background:#f5f0fc; }
.compare-section .compare-advice>article:nth-child(3)>.icon { color:#baa176; border-color:#eee6d6; background:#faf5ea; }
.compare-section .compare-advice h3 { margin:0 0 10px; color:#536986; font-size:14px; line-height:1.65; font-weight:650; }
.compare-section .compare-advice p { margin:0; color:#7a879b; font-size:12px; line-height:2; }

@media (max-width:1100px) {
 .compare-section .compare-table th,.compare-section .compare-table td { padding-left:22px; padding-right:22px; }
 .compare-section .compare-jumps a { gap:6px; padding-left:10px; padding-right:10px; font-size:10px; }
 .compare-section .compare-provider { gap:11px; }
 .compare-section .compare-provider strong { font-size:19px; }
 .compare-section .compare-provider .provider-logo { width:47px; height:47px; flex-basis:47px; border-radius:14px; font-size:23px; }
 .compare-section .usage-calculator { grid-template-columns:minmax(0,1fr); gap:23px; padding:30px; }
 .compare-section .usage-controls { display:flex; flex-wrap:wrap; gap:12px; }
 .compare-section .usage-controls>label { margin-right:3px; }
 .compare-section .usage-presets { gap:7px; }
 .compare-section .usage-presets button { padding:9px 12px; }
}
@media (max-width:760px) {
 .compare-section { margin-top:44px; scroll-margin-top:100px; }
 .compare-section .compare-heading { margin-bottom:23px; }
 .compare-section .compare-heading h2 { font-size:29px; }
 .compare-section .compare-heading p { font-size:13px; }
 .compare-section .compare-toolbar { align-items:flex-start; flex-direction:column; gap:10px; margin-bottom:12px; padding:9px; border-radius:13px; }
 .compare-section .compare-jumps { width:100%; gap:4px; }
 .compare-section .compare-jumps a { min-height:40px; padding:10px 9px; font-size:10px; }
 .compare-section .compare-jumps a .icon { width:14px; height:14px; }
 .compare-section .compare-filter { align-self:flex-start; }
 .compare-section .compare-filter button { min-height:35px; padding:8px 15px; }
 .compare-section .compare-scroll-hint { display:flex; align-items:center; gap:8px; margin:0 3px 12px; color:#8996ad; font-size:10px; font-weight:400; line-height:1.8; }
 .compare-section .compare-scroll-hint::before { content:""; width:20px; height:7px; flex:0 0 20px; border:solid #a8bbdb; border-width:0 1px 1px; border-radius:0 0 3px 3px; }
 .compare-section .compare-table-wrap { border-radius:16px; box-shadow:0 10px 26px #253f6c06; }
 .compare-section .compare-table { min-width:674px; }
 .compare-section .compare-table thead th:first-child { width:144px; font-size:13px; }
 .compare-section .compare-table thead th:not(:first-child) { width:265px; }
 .compare-section .compare-table th,.compare-section .compare-table td { padding:21px; }
 .compare-section .compare-table thead th { padding-top:25px; padding-bottom:25px; }
 .compare-section .compare-table thead th:first-child,.compare-section .compare-row>th,.compare-section .compare-access th { position:sticky; left:0; z-index:2; padding-left:15px; padding-right:15px; box-shadow:6px 0 10px -8px #42628f80; }
 .compare-section .compare-table thead th:first-child { z-index:3; background:#f3f6fc; }
 .compare-section .compare-table thead th:first-child small { font-size:10px; }
 .compare-section .compare-row>th { background:#f7f9fd; }
 .compare-section .compare-row:hover>th { background:#eef3fc; }
 .compare-section .compare-row>th>strong { font-size:11px; }
 .compare-section .compare-row>th>small { font-size:10px; line-height:1.85; }
 .compare-section .compare-provider { gap:10px; margin-bottom:20px; }
 .compare-section .compare-provider strong { font-size:18px; }
 .compare-section .compare-provider small { font-size:10px; }
 .compare-section .compare-price { padding-top:17px; }
 .compare-section .compare-price strong { font-size:39px; }
 .compare-section .compare-price small { font-size:11px; }
 .compare-section .compare-group { scroll-margin-top:100px; }
 .compare-section .compare-group-title th { padding:13px 15px; }
 .compare-section .compare-group-title th>span { margin-right:7px; width:26px; height:25px; }
 .compare-section .compare-group-title small { margin-left:14px; font-size:10px; }
 .compare-section .compare-value>strong { font-size:17px; }
 .compare-section #compare-costs .compare-value>strong { font-size:22px; }
 .compare-section .compare-value>span,.compare-section .compare-value ul { font-size:12px; }
 .compare-section .compare-value>small { font-size:10px; }
 .compare-section .compare-value>a { font-size:11px; }
 .compare-section .compare-note { font-size:10px; }
 .compare-section .compare-access .provider-actions { gap:11px 15px; }
 .compare-section .usage-calculator { padding:26px 22px; margin-top:31px; border-radius:18px; gap:21px; }
 .compare-section .usage-heading h3 { font-size:23px; }
 .compare-section .usage-heading p { font-size:11px; }
 .compare-section .usage-controls { gap:10px; }
 .compare-section .usage-controls>label { width:100%; }
 .compare-section .usage-presets button { min-height:40px; padding:10px 12px; }
 .compare-section .usage-results { gap:13px; }
 .compare-section .usage-result { padding:22px 19px 19px; }
 .compare-section .usage-result>header { margin-bottom:18px; }
 .compare-section .usage-state { font-size:20px; }
 .compare-section .usage-cost { font-size:10px; }
 .compare-section .usage-calculator>.compare-note { margin-top:-5px; }
 .compare-section .compare-advice { gap:12px; }
 .compare-section .compare-advice>article { padding:21px 18px; }
 .compare-section .compare-advice h3 { font-size:13px; }
 .compare-section .compare-advice p { font-size:11px; }
}
@media (max-width:520px) {
 .compare-section .compare-heading h2 { font-size:27px; }
 .compare-section .compare-heading p { font-size:12px; }
 .compare-section .compare-toolbar { gap:8px; }
 .compare-section .compare-jumps { gap:2px; }
 .compare-section .compare-jumps a { padding-left:7px; padding-right:7px; gap:5px; }
 .compare-section .compare-jumps a .icon { width:13px; height:13px; }
 .compare-section .compare-table { min-width:602px; }
 .compare-section .compare-table thead th:first-child { width:126px; }
 .compare-section .compare-table thead th:not(:first-child) { width:238px; }
 .compare-section .compare-table th,.compare-section .compare-table td { padding-left:18px; padding-right:18px; }
 .compare-section .compare-table thead th:first-child,.compare-section .compare-row>th,.compare-section .compare-access th { padding-left:12px; padding-right:12px; }
 .compare-section .compare-provider .provider-logo { width:42px; height:42px; flex-basis:42px; border-radius:13px; font-size:21px; }
 .compare-section .compare-provider strong { font-size:17px; }
 .compare-section .compare-price strong { font-size:37px; }
 .compare-section .compare-access .provider-actions { flex-direction:column; align-items:flex-start; gap:8px; }
 .compare-section .compare-access .provider-actions .button { min-height:42px; }
 .compare-section .usage-calculator { padding:25px 17px 19px; }
 .compare-section .usage-heading h3 { font-size:22px; }
 .compare-section .usage-controls { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
 .compare-section .usage-input { width:100%; min-height:50px; }
 .compare-section .usage-presets { width:100%; gap:8px; }
 .compare-section .usage-presets button { flex:1; }
 .compare-section .usage-results { grid-template-columns:minmax(0,1fr); gap:13px; }
 .compare-section .usage-result { padding:23px 21px 21px; }
 .compare-section .usage-state { font-size:23px; }
 .compare-section .usage-description { min-height:0; margin-bottom:17px; }
 .compare-section .usage-cost { min-height:0; font-size:11px; }
 .compare-section .compare-advice { grid-template-columns:minmax(0,1fr); gap:10px; margin-top:20px; }
 .compare-section .compare-advice>article { display:grid; grid-template-columns:38px minmax(0,1fr); column-gap:14px; padding:21px; }
 .compare-section .compare-advice>article>.icon { grid-row:1/3; width:38px; height:38px; margin:2px 0 0; padding:9px; }
 .compare-section .compare-advice h3 { margin-bottom:6px; font-size:13px; }
 .compare-section .compare-advice p { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
 .compare-section *,.compare-section *::before,.compare-section *::after { transition:none !important; animation:none !important; }
}
@media print {
 .compare-section .compare-toolbar,.compare-section .compare-scroll-hint,.compare-section .usage-controls { display:none !important; }
 .compare-section .compare-table-wrap { overflow:visible; box-shadow:none; border-radius:0; }
 .compare-section .compare-table { min-width:0; font-size:9pt; }
 .compare-section .compare-table th,.compare-section .compare-table td { padding:8pt; }
 .compare-section .compare-table thead th:first-child,.compare-section .compare-row>th,.compare-section .compare-access th { position:static; box-shadow:none; }
 .compare-section .compare-table thead th:first-child { width:22%; }
 .compare-section .compare-table thead th:not(:first-child) { width:39%; }
 .compare-section .compare-table thead th::after,.compare-section .usage-calculator::before { display:none; }
 .compare-section .compare-row,.compare-section .usage-result,.compare-section .compare-advice>article { break-inside:avoid; }
 .compare-section .usage-calculator { display:block; padding:14pt; }
 .compare-section .usage-results { margin-top:14pt; }
}
