/* A companion to the site's print-inspired research articles. */
.europe-page { --europe-navy:#24465f; }
.europe-hero { display:grid; grid-template-columns:.9fr 1.15fr; gap:24px; align-items:center; padding:16px 0 36px; }
.europe-hero-copy { position:relative; z-index:1; }
.europe-hero-art { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.europe-hero-art,.europe-home-art img { mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent); mask-composite:intersect; }
.europe-hero h1 { font:400 clamp(46px,4.8vw,68px)/1.1 Georgia,serif; letter-spacing:-.04em; margin:0 0 24px; }
.europe-hero h1 em { color:var(--cash-coral); font-weight:400; }
.europe-deck { font-size:20px; line-height:1.65; max-width:470px; color:var(--cbc-ink-soft); margin-bottom:24px; }
.europe-hero-chart { background:#eaf0f3; color:var(--europe-navy); margin:0; padding:34px 36px 24px; border-radius:5px; }
.europe-hero-chart figcaption { font-size:23px; font-weight:650; letter-spacing:-.015em; }
.europe-hero-chart figcaption span { display:block; font-size:12px; font-weight:400; margin-top:8px; color:#526b7b; }
.europe-chart-body { padding:18px 0 0; }
.europe-chart-row { padding:12px 0; }
.europe-chart-row>div:first-child { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.europe-chart-row strong { font-size:26px; font-weight:500; font-variant-numeric:tabular-nums; }
.europe-chart-scale { position:relative; height:13px; margin-top:10px; }
.europe-chart-scale:after { content:''; position:absolute; top:-8px; bottom:-8px; left:50%; border-left:1px dashed #526b7b; }
.europe-chart-scale i { display:block; height:100%; background:#527e99; border-radius:0 2px 2px 0; }
.europe-chart-key { color:#526b7b; font-size:11px; line-height:1.6; margin:24px 0 0; }
.europe-chart-key span { display:inline-block; height:11px; border-left:1px dashed #526b7b; margin-right:6px; vertical-align:middle; }
.europe-toc { display:flex; gap:14px 28px; flex-wrap:wrap; margin:24px 0 0; padding:20px 0; border-bottom:1px solid var(--cbc-line); }
.europe-toc a { font-size:14px; color:var(--cash-blue); text-underline-offset:4px; }
.europe-section { padding-top:72px; scroll-margin-top:20px; }
.europe-controls { display:grid; grid-template-columns:1fr 1fr auto; gap:16px; align-items:end; margin:24px 0 12px; }
.europe-page .europe-eu-only { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:60px; margin:0; padding:8px 12px; border:1px solid var(--cbc-line-strong); border-radius:5px; background:var(--cbc-surface); font-size:14px; cursor:pointer; }
.europe-eu-label { min-width:0; line-height:1.25; }
.europe-eu-label strong,.europe-eu-label small { display:block; }
.europe-eu-label small { margin-top:3px; color:var(--cbc-muted); font-size:11px; font-weight:400; }
.europe-page .europe-eu-only input { appearance:none; position:relative; width:46px; height:26px; min-height:0; min-width:46px; flex:0 0 46px; margin:0; padding:0; border:1px solid #78858a; border-radius:999px; background:#d6dedf; cursor:pointer; }
.europe-page .europe-eu-only input::before { content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#fffefa; box-shadow:0 1px 3px rgba(23,35,33,.2); }
.europe-page .europe-eu-only input:checked { background:#355f7a; border-color:#355f7a; }
.europe-page .europe-eu-only input:checked::before { transform:translateX(20px); }
@media (prefers-reduced-motion:no-preference) { .europe-page .europe-eu-only input { transition:background-color .18s ease; } .europe-page .europe-eu-only input::before { transition:transform .18s ease; } }
.europe-page .europe-eu-only:has(input:checked) { background:#eaf0f3; border-color:#355f7a; color:#24465f; }
.europe-page .europe-eu-only:has(input:focus-visible) { outline:3px solid #a84e38; outline-offset:3px; }
.europe-category-picker { min-width:0; border:0; padding:0; margin:32px 0 0; }
.europe-category-picker legend { padding:0; font-size:24px; line-height:1.3; font-weight:650; letter-spacing:-.02em; color:var(--cbc-ink); }
.europe-category-picker>p { margin:8px 0 18px; font-size:15px; line-height:1.6; color:var(--cbc-ink-soft); }
.europe-category-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.europe-page .europe-category-option { display:flex; align-items:flex-start; gap:12px; margin:0; padding:20px 16px; border:1px solid #9bafb9; border-radius:6px; background:var(--cbc-surface); cursor:pointer; }
.europe-page .europe-category-option input { appearance:auto; width:18px; height:18px; min-height:0; flex:0 0 18px; margin:3px 0 0; padding:0; accent-color:#355f7a; cursor:pointer; }
.europe-category-title { display:block; font-size:16px; line-height:1.4; font-weight:650; }
.europe-category-help { display:block; margin-top:8px; font-size:12px; line-height:1.55; font-weight:400; color:var(--cbc-ink-soft); }
.europe-page .europe-category-option:hover { border-color:#355f7a; background:#f0f5f7; }
.europe-page .europe-category-option:has(input:checked) { background:#24465f; border-color:#24465f; color:#fffefa; }
.europe-category-option:has(input:checked) .europe-category-help { color:#dbe7ed; }
.europe-page .europe-category-option:has(input:checked) input { accent-color:#fffefa; }
.europe-category-option:has(input:focus-visible) { outline:3px solid #a84e38; outline-offset:3px; }
.europe-page label { display:block; font-weight:650; font-size:13px; margin-bottom:8px; }
.europe-category-note { font-size:14px; color:var(--cbc-ink-soft); line-height:1.6; }
.europe-reference { display:flex; gap:20px; align-items:center; background:#e9f0f4; padding:16px 24px; margin:24px 0; }
.europe-reference>strong { font-size:42px; color:var(--cash-blue); font-weight:500; letter-spacing:-.04em; }
.europe-reference p { margin:0; font-size:14px; line-height:1.6; }
.europe-reference b,.europe-reference span { display:block; }
.europe-table-scroll { overflow:auto; border-top:2px solid var(--cbc-ink); }
.europe-table { border-collapse:collapse; width:100%; font-size:15px; }
.europe-table caption { text-align:left; font-size:13px; padding:16px 12px; color:var(--cbc-muted); }
.europe-table th,.europe-table td { padding:15px 16px; text-align:left; }
.europe-table thead th { font-size:12px; font-weight:650; background:var(--cbc-surface-alt); white-space:nowrap; }
.europe-table tbody th { font-weight:600; width:35%; }
.europe-table tbody tr:nth-child(even) { background:rgba(53,95,122,.035); }
.europe-table a { color:var(--cash-blue); text-underline-offset:3px; white-space:nowrap; font-size:13px; }
.europe-table .europe-mobile-guide { display:none; }
.europe-index { font-variant-numeric:tabular-nums; font-size:22px; font-weight:600; color:var(--cash-blue); }
.europe-relative { font-variant-numeric:tabular-nums; }
.europe-eu { display:inline-block; font-size:10px; color:var(--cbc-muted); margin-left:9px; font-weight:400; vertical-align:middle; }
.europe-muted { font-size:12px; color:var(--cbc-muted); }
.europe-show-all { display:block; margin:20px auto 0; }
.europe-comparator { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; background:#f1eee7; border-top:3px solid #be795e; padding:36px; margin-top:64px; }
.europe-comparator h2 { font-size:32px; }
.europe-comparator p { line-height:1.65; }
.europe-pair-controls { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
#europe-pair-result { margin:24px 0 16px; }
#europe-pair-result strong { display:block; font-size:48px; font-weight:500; letter-spacing:-.04em; line-height:1.2; color:var(--cash-blue); }
#europe-pair-result p { margin:10px 0 0; font-size:15px; }
.europe-insights { display:grid; grid-template-columns:1fr 1fr; gap:36px 56px; padding-top:16px; }
.europe-insights section { border-top:1px solid var(--cbc-line); padding-top:22px; }
.europe-insight-number { font-size:48px; font-weight:450; color:var(--cash-blue); font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.europe-insight-number small { font-size:30px; color:var(--cbc-muted); }
.europe-insights h3 { font-size:23px; font-weight:600; line-height:1.3; max-width:430px; margin:12px 0; }
.europe-insights p,.europe-prose p,.europe-methodology p,.europe-faq p { font-size:16px; line-height:1.8; color:var(--cbc-ink-soft); }
.europe-insights a,.europe-prose a,.europe-faq a,.europe-sources a { color:var(--cash-blue); text-underline-offset:4px; }
.europe-insights a { font-size:14px; }
.europe-prose { max-width:800px; }
.europe-budget { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; }
.europe-methodology { border-top:1px solid var(--cbc-line); margin-top:64px; padding-top:40px; }
.europe-method-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.europe-method-grid h3 { font-size:18px; margin:24px 0 8px; }
.europe-method-grid p { font-size:14px; margin:0; }
.europe-method-note { background:var(--cbc-surface-alt); padding:20px 24px; }
.europe-faq { max-width:880px; }
.europe-faq details { border-bottom:1px solid var(--cbc-line); padding:20px 0; }
.europe-faq summary { cursor:pointer; font-size:18px; font-weight:600; line-height:1.4; }
.europe-faq p { margin-bottom:0; }
.europe-sources ol { padding-left:20px; }
.europe-sources li { margin:24px 0; font-size:15px; }
.europe-sources li p { font-size:13px; color:var(--cbc-muted); line-height:1.7; margin:8px 0; }
.europe-home-feature { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; background:#faf8f3; color:#252b30; padding:32px 44px; margin:36px 0; border:1px solid #dedbd3; border-radius:5px; }
.europe-home-feature h2 { font-size:clamp(28px,3vw,40px); line-height:1.12; letter-spacing:-.03em; margin:10px 0 18px; }
.europe-home-feature p { line-height:1.65; font-size:16px; max-width:500px; }
.europe-home-feature .cash-eyebrow { color:#355f7a; font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:700; }
.europe-home-feature .cash-text-link { color:#24465f; font-weight:650; text-underline-offset:5px; font-size:15px; }
.europe-home-art { display:block; }
.europe-home-art img { width:100%; height:auto; display:block; mix-blend-mode:multiply; }
.europe-home-feature .europe-home-source { font-size:12px; color:#686962; margin-top:22px; }
/* Give longer localized filter labels room on narrow phones. */
@media(max-width:420px) { .europe-page:lang(es) .europe-controls,.europe-page:lang(de) .europe-controls,.europe-page:lang(fr) .europe-controls { grid-template-columns:1fr; } }
@media(max-width:650px) {
 .europe-page:lang(de) .europe-category-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .europe-page:lang(de) .europe-category-option>span { min-width:0; hyphens:auto; overflow-wrap:anywhere; }
}
@media(max-width:420px) { .europe-page:lang(de) .europe-category-options { grid-template-columns:1fr; } }
@media(max-width:900px) { .europe-hero { gap:32px; } .europe-hero-chart { padding:26px; } .europe-category-options { grid-template-columns:1fr 1fr; } .europe-comparator { gap:28px; padding:28px; } }
@media(max-width:650px) {
 .europe-hero { grid-template-columns:1fr; padding:20px 0 20px; gap:12px; }
 .europe-hero-art { max-width:500px; margin-inline:auto; }
 .europe-hero h1 { font-size:46px; } .europe-deck { font-size:18px; }
 .europe-hero-chart { padding:26px; } .europe-hero-chart figcaption { font-size:21px; }
 .europe-section { padding-top:48px; } .europe-toc { gap:16px 22px; }
 .europe-controls { grid-template-columns:1fr 1fr; gap:14px; } .europe-controls>button { grid-column:1 / -1; }
 .europe-page .europe-category-option { padding:16px 12px; gap:8px; }
 .europe-category-title { font-size:14px; }
 .europe-category-options { gap:10px; }
 .europe-reference { padding:14px 16px; gap:16px; } .europe-reference p { font-size:13px; }
 .europe-table { font-size:14px; } .europe-table th,.europe-table td { padding:13px 8px; }
 .europe-table thead th { white-space:normal; }
 .europe-table tbody th { width:44%; }
 .europe-table th:nth-child(4),.europe-table td:nth-child(4) { display:none; }
 .europe-table .europe-mobile-guide { display:block; font-size:11px; font-weight:400; margin-top:6px; }
 .europe-index { font-size:20px; }
 .europe-comparator,.europe-insights,.europe-method-grid,.europe-budget { grid-template-columns:1fr; }
 .europe-budget { gap:24px; }
 .europe-comparator { padding:24px 20px; gap:8px; margin-top:40px; }
 .europe-comparator h2 { font-size:28px; } .europe-method-grid { gap:0; }
 .europe-pair-controls { grid-template-columns:1fr; gap:14px; } #europe-pair-result strong { font-size:42px; }
 .europe-insights { gap:32px; } .europe-insights h3 { font-size:22px; }
 .europe-home-feature { grid-template-columns:1fr; padding:26px; gap:18px; }
}
