/* Country research pages: light surfaces, brand colour, readable long-form sections. */
.country-guide-hero { display:grid; grid-template-columns:1.08fr 1fr; gap:42px; align-items:center; padding:36px; border:1px solid var(--border-color); border-radius:26px; background:#fff; box-shadow:0 16px 42px #00000006; }
.guide-eyebrow,.guide-reviewed { display:block; }
.guide-eyebrow { font-size:12px; font-weight:800; letter-spacing:.11em; color:var(--primary-navy); }
.country-guide-intro h1 { margin:18px 0 12px; color:var(--primary-navy); font-size:clamp(34px,4vw,58px); line-height:1.08; }
.country-guide-intro h2 { font-size:clamp(21px,2vw,28px); line-height:1.35; color:var(--primary-navy); font-weight:500; }
.country-guide-intro p { margin:20px 0 24px; color:var(--text-muted); line-height:1.85; max-width:58ch; }
.guide-reviewed { margin-top:20px; font-size:11px; color:var(--text-muted); }
.country-guide-photo { position:relative; overflow:hidden; border-radius:18px; height:440px; }
.country-guide-photo img { width:100%; height:100%; object-fit:cover; }
.country-guide-photo > span { position:absolute; bottom:18px; left:18px; right:18px; padding:12px 16px; background:#ffffffed; color:var(--primary-navy); border-radius:10px; font-size:12px; }
.guide-jumps { display:flex; gap:10px; flex-wrap:wrap; margin:24px 0 44px; padding:12px 0; border-bottom:1px solid var(--border-color); }
.guide-jumps a { padding:12px 16px; border-radius:30px; background:#f5f6f8; color:var(--primary-navy); font-weight:700; font-size:12px; transition:background .2s; }
.guide-jumps a:hover { background:#fff2df; }
.guide-section { margin-block:64px; scroll-margin-top:110px; }
.guide-section .section-header { margin-bottom:28px; max-width:760px; }
.guide-section .section-header p { color:var(--text-muted); line-height:1.8; }
.guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.guide-card { padding:30px; border:1px solid var(--border-color); border-radius:18px; background:#fff; box-shadow:0 4px 16px #00000003; display:flex; flex-direction:column; align-items:flex-start; }
.guide-number { font-family:var(--font-heading); color:var(--brand-orange); font-size:30px; font-weight:800; margin-bottom:12px; }
.guide-card h3,.guide-benefit h3 { font-size:21px; color:var(--primary-navy); line-height:1.35; margin-bottom:14px; }
.guide-card p,.guide-benefit p { color:var(--text-muted); line-height:1.85; margin-bottom:20px; font-size:14px; }
.guide-reference { margin-top:auto; font-size:12px; color:var(--primary-navy); text-decoration:underline; text-underline-offset:4px; line-height:1.6; }
.guide-support { background:#f7f8fa; border-radius:24px; padding:38px; border:1px solid #edf0f3; }
.guide-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.guide-benefit > span { display:inline-grid; place-items:center; width:42px; height:42px; background:#fff; border-radius:12px; color:var(--brand-orange); font-size:26px; margin-bottom:20px; }
.guide-support-note,.guide-table-note,.usa-source { font-size:12px; line-height:1.8; color:var(--text-muted); margin-top:22px; }
.guide-plan { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:start; }
.guide-plan p { color:var(--text-muted); line-height:1.8; margin:18px 0 24px; }
.guide-plan ol { list-style:none; counter-reset:steps; padding:0; }
.guide-plan li { counter-increment:steps; padding:0 0 24px 52px; position:relative; }
.guide-plan li::before { content:counter(steps); position:absolute; left:0; top:0; width:34px; height:34px; display:grid; place-items:center; border:1px solid #e6e9ef; border-radius:50%; color:var(--primary-navy); font-weight:800; background:#fff; }
.guide-plan li strong { display:block; color:var(--primary-navy); margin-bottom:6px; }
.guide-plan li span { color:var(--text-muted); font-size:14px; line-height:1.8; }
.guide-faq details { border:1px solid var(--border-color); border-radius:14px; background:#fff; padding:0 24px; margin-bottom:12px; }
.guide-faq summary { padding:22px 0; cursor:pointer; color:var(--primary-navy); font-weight:700; line-height:1.6; }
.guide-faq details p { padding:0 0 24px; max-width:85ch; color:var(--text-muted); line-height:1.85; }
.guide-sources { padding:28px; border-radius:18px; background:#f8fafc; border:1px solid var(--border-color); }
.guide-sources h2 { font-size:20px; color:var(--primary-navy); }
.guide-sources p { font-size:12px; color:var(--text-muted); margin:12px 0 18px; line-height:1.8; }
.guide-sources ul { padding-left:20px; display:grid; gap:12px; }
.guide-sources a { color:var(--primary-navy); font-size:13px; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.guide-final { text-align:center; padding:70px 16px 20px; }
.guide-final h2 { font-size:clamp(26px,3vw,40px); color:var(--primary-navy); margin:14px auto 26px; max-width:750px; }
@media(max-width:1000px) { .country-guide-hero { gap:28px; padding:28px; }.country-guide-photo { height:400px; }.guide-benefits { grid-template-columns:1fr; gap:18px; }.guide-benefit { display:grid; grid-template-columns:44px 1fr; gap:0 18px; }.guide-benefit > span { grid-row:span 2; }.guide-benefit p { margin-bottom:0; }.guide-plan { gap:28px; } }
@media(max-width:700px) { .country-guide-hero,.guide-grid,.guide-plan { grid-template-columns:1fr; }.country-guide-hero { padding:22px; }.country-guide-photo { height:280px; }.guide-jumps { gap:8px; margin-bottom:30px; }.guide-jumps a { font-size:11px; padding:12px; }.guide-section { margin-block:42px; }.guide-support,.guide-card { padding:24px; }.guide-card h3 { font-size:20px; }.guide-plan { gap:30px; }.guide-faq details { padding-inline:18px; }.guide-sources { padding:22px; }.guide-benefit { display:block; } }
/* Country-specific scroll journey; the full ordered list is readable without JS. */
.country-journey { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; --journey-progress:0; }
.journey-intro { position:sticky; top:112px; }
.journey-intro > p { color:var(--text-muted); line-height:1.8; margin:20px 0; }
.journey-intro .journey-context { font-size:12px; }
.journey-indicator { display:none; padding:24px; border:1px solid #e5eaf1; background:#f7f8fa; border-radius:18px; color:var(--primary-navy); }
.journey-enhanced .journey-indicator { display:grid; grid-template-columns:42px 1fr; gap:6px 12px; }
.journey-plane { grid-row:span 2; font-size:32px; color:var(--brand-orange); transform:translateY(calc(var(--journey-progress) * -10px)) rotate(-15deg); }
.journey-indicator > span:not(.journey-plane) { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.journey-indicator strong { font-size:17px; line-height:1.4; }
.journey-steps { position:relative; list-style:none; padding:0; margin:0; }
.journey-rail { position:absolute; left:21px; top:22px; width:2px; height:calc(100% - 80px); background:#e2e7ed; pointer-events:none; }
.journey-rail > span { display:block; width:100%; height:100%; background:var(--brand-orange); transform-origin:top; transform:scaleY(var(--journey-progress)); }
.journey-step { position:relative; padding:0 0 42px 70px; min-height:215px; }
.journey-step:last-child { padding-bottom:0; }
.journey-node { position:absolute; top:0; left:0; width:44px; height:44px; border:2px solid #e2e7ed; border-radius:50%; display:grid; place-items:center; background:white; color:var(--primary-navy); font-size:13px; font-weight:800; transition:background .3s,border-color .3s; }
.journey-step article { border:1px solid #e8ecf1; padding:26px; border-radius:18px; background:white; transition:transform .35s,box-shadow .35s,border-color .35s; }
.journey-step h3 { font-size:22px; line-height:1.35; color:var(--primary-navy); margin:10px 0 12px; }
.journey-step p { color:var(--text-muted); font-size:14px; line-height:1.8; margin:0; }
.journey-step.is-current article { transform:translateY(-4px); border-color:var(--brand-orange); box-shadow:0 12px 32px #003b8b0a; }
.journey-step.is-current .journey-node,.journey-step.is-past .journey-node { background:#fff2df; border-color:var(--brand-orange); }
.journey-static .journey-plane { transform:none; }
@media(max-width:900px) { .country-journey { grid-template-columns:1fr; gap:32px; }.journey-intro { position:static; }.journey-step { min-height:0; padding-left:62px; }.journey-step article { padding:22px; } }
@media(max-width:420px) { .journey-step { padding-left:52px; }.journey-step article { padding:18px; }.journey-step h3 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .journey-step article,.journey-node { transition:none; }.journey-plane { transform:none; } }

.journey-track { position:relative; }
