/* Shared typography and navigation for independently authored country pages. */
:root { --white: #ffffff; --ink: #13283d; --ink-strong: #081d31; --muted: #596b7d; --blue: #075fcb; --blue-dark: #064da5; --blue-soft: #eef5ff; --red: #cf2e36; --red-soft: #fff1f2; --green: #18754a; --green-soft: #eff9f3; --amber: #8a5a00; --amber-soft: #fff8e8; --line: #d8e1ea; --line-strong: #bdcad7; --surface: #f6f8fb; --shadow: 0 8px 24px rgba(19, 40, 61, 0.08); --shadow-elevated: 0 24px 70px rgba(8, 29, 49, 0.22); --content: 1180px; --sticky-header-height: 145px; --anchor-scroll-offset: 211px; }
*, ::before, ::after { box-sizing: border-box; letter-spacing: 0px; }
html { scroll-behavior: smooth; scroll-padding-top: var(--anchor-scroll-offset); }
body { margin: 0px; background: var(--white); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; text-rendering: optimizelegibility; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--blue-dark); text-underline-offset: 3px; }
a:hover { color: var(--red); }
button, input, summary { font: inherit; }
:focus-visible { outline: rgba(7, 95, 203, 0.35) solid 3px; outline-offset: 3px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-160%); padding: 10px 14px; border-radius: 4px; background: var(--ink-strong); color: var(--white); text-decoration: none; }
.skip-link:focus { transform: translateY(0px); }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink-strong); text-decoration: none; }
.brand:hover { color: var(--ink-strong); }
.brand-mark { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 8px; object-fit: cover; }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: 1.08rem; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 0.76rem; font-weight: 600; }
main { overflow: clip; }
.lead { max-width: 66ch; margin: 0px 0px 14px; color: rgb(41, 68, 95); font-size: 1.22rem; line-height: 1.55; }
.eyebrow { margin: 0px 0px 9px; color: var(--red); font-size: 0.76rem; font-weight: 800; line-height: 1.35; text-transform: uppercase; }
.btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 15px; border: 1px solid transparent; border-radius: 6px; font-size: 0.91rem; font-weight: 760; line-height: 1.25; text-align: center; text-decoration: none; cursor: pointer; }
.btn.primary { border-color: var(--blue); background: var(--blue); color: var(--white); }
.btn.primary:hover { border-color: var(--blue-dark); background: var(--blue-dark); color: var(--white); }
.table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: var(--shadow); scrollbar-color: var(--line-strong) var(--surface); }
.country-supplemental-decision { width: min(1120px, calc(100% - 32px)); margin: 38px auto 0; padding: 28px; border: 1px solid var(--line); background: var(--surface); }
.country-supplemental-decision h2 { max-width: 26ch; margin: 0 0 18px; color: var(--ink-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.08; }
.country-supplemental-decision__scroll { box-shadow: none; }
.country-supplemental-decision table { width: 100%; min-width: 680px; border-collapse: collapse; }
.country-supplemental-decision th, .country-supplemental-decision td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.5; }
.country-supplemental-decision thead th { background: var(--blue-soft); color: var(--ink-strong); font-size: 0.82rem; }
.country-supplemental-decision tbody th { width: 22%; color: var(--ink-strong); font-size: 0.92rem; }
.country-supplemental-decision__note { margin: 14px 0 0; color: var(--muted); font-size: 0.88rem; }
.country-contextual-links { max-width: 1120px; margin: 48px auto; padding: 32px; border: 1px solid var(--line); background: var(--surface); }
.country-contextual-links__intro { max-width: 720px; }
.country-contextual-links__intro h2 { margin: 6px 0 11px; color: var(--ink-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.55rem, 2.5vw, 2.25rem); line-height: 1.08; }
.country-contextual-links__intro p:last-child { margin: 0; color: var(--muted); line-height: 1.6; }
.country-contextual-links__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 24px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.country-related-link { display: flex; min-height: 112px; flex-direction: column; gap: 6px; padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); color: var(--ink-strong); text-decoration: none; }
.country-related-link:hover, .country-related-link:focus-visible { background: var(--blue-soft); }
.country-related-link strong { font-size: 1rem; line-height: 1.25; }
.country-related-link span { color: var(--muted); font-size: 0.88rem; line-height: 1.45; }
.country-local-decision { margin: clamp(36px, 7vw, 84px) auto; padding: clamp(22px, 4vw, 42px); max-width: 1040px; border: 1px solid var(--line); border-top: 4px solid var(--blue); background: var(--white); }
.country-local-decision__kicker { margin: 0 0 8px; color: var(--red); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.country-local-decision h2 { margin: 0 0 14px; color: var(--ink-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1.08; }
.country-local-decision > p:not(.country-local-decision__kicker) { max-width: 850px; color: var(--muted); line-height: 1.7; }
.country-local-decision__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.country-local-decision__grid article { min-height: 142px; padding: 15px; border-top: 3px solid var(--blue); background: var(--blue-soft); }
.country-local-decision__grid article:nth-child(2) { border-top-color: var(--green); background: var(--green-soft); }
.country-local-decision__grid article:nth-child(3) { border-top-color: var(--amber); background: var(--amber-soft); }
.country-local-decision__grid article:nth-child(4) { border-top-color: var(--red); background: var(--red-soft); }
.country-local-decision__grid h3 { margin: 0 0 8px; color: var(--ink-strong); font-size: 1rem; line-height: 1.25; }
.country-local-decision__grid p { margin: 0; color: var(--muted); font-size: 0.9rem; line-height: 1.55; }
.country-local-decision table { width: 100%; border-collapse: collapse; text-align: left; }
.country-local-decision caption { padding: 11px 13px; background: var(--blue-soft); color: var(--ink-strong); font-weight: 750; text-align: left; }
.country-local-decision th, .country-local-decision td { padding: 11px 13px; border: 1px solid var(--line); vertical-align: top; }
.country-local-decision thead th { background: var(--surface); }
.country-local-decision tbody th { width: 22%; background: #fbfdff; }
@media (max-width: 720px) {
:root { --sticky-header-height: 0px; --anchor-scroll-offset: 66px; }
.lead { font-size: 1.07rem; }
.btn { width: 100%; }
.table-scroll { margin-right: -16px; border-right: 0px; border-radius: 8px 0px 0px 8px; }
.country-supplemental-decision { width: 100%; margin-top: 28px; padding: 22px 16px; }
.country-supplemental-decision__scroll { margin-right: -16px; }
.country-contextual-links { width: 100%; margin: 32px 0; padding: 22px 16px; }
.country-contextual-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
.country-contextual-links__grid { grid-template-columns: 1fr; }
.country-related-link { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, ::before, ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
@media (max-width: 720px) {
.brand { flex: 1 1 155px; min-width: 0px; gap: 8px; }
.brand-copy { min-width: 0px; overflow-wrap: anywhere; }
.brand-mark { width: 36px; height: 36px; }
.brand-copy strong { font-size: 1rem; }
.brand-copy small { display: none; }
}
.country-selector { width: min(1120px, calc(100% - 32px)); margin: 0px auto 12px; color: rgb(20, 45, 70); }
.country-selector > summary { cursor: pointer; width: fit-content; min-height: 44px; padding: 10px 14px; border: 1px solid rgb(201, 214, 229); border-radius: 6px; font-weight: 700; }
.country-selector form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; padding: 16px; margin-top: 8px; background: rgb(245, 248, 252); border: 1px solid rgb(219, 228, 238); }
.country-selector label { flex-basis: 100%; font-weight: 700; }
.country-selector select { min-width: 0px; max-width: 100%; min-height: 44px; flex: 1 1 220px; padding: 8px; font: inherit; background: rgb(255, 255, 255); color: rgb(20, 45, 70); border: 1px solid rgb(181, 197, 215); border-radius: 4px; }
.country-selector button { min-height: 44px; padding: 10px 16px; background: rgb(7, 95, 203); color: white; border: 0px; border-radius: 4px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 700; cursor: pointer; }
.country-selector p { flex-basis: 100%; margin: 0px; font-size: 0.875rem; line-height: 1.6; }
@media (max-width: 900px) {
.country-local-decision__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
.country-local-decision { margin: 32px 16px; padding: 20px 16px; overflow-x: auto; }
.country-local-decision__grid { grid-template-columns: 1fr; }
.country-local-decision table { min-width: 560px; }
}
