/* Content additions use each site's existing type, colour and spacing tokens. */
.content-site { overflow-wrap: break-word; }
.content-site .skip-link { position: fixed; z-index: 1000; left: 1rem; top: -6rem; padding: .8rem 1rem; background: var(--surface); color: var(--text); border: 2px solid var(--phosphor, var(--brand-primary)); border-radius: var(--radius-sm); }
.content-site .skip-link:focus { top: 1rem; }
.content-site :focus-visible { outline: 3px solid var(--phosphor, var(--brand-primary)); outline-offset: 4px; }
.content-site [id] { scroll-margin-top: 6rem; }
.content-header .container { gap: 1rem; }
.content-header nav { gap: .2rem; }
.content-header nav a { padding: .4rem .55rem; white-space: nowrap; }
.content-header .nav-toggle { width: 40px; height: 40px; padding: .45rem; background: transparent; border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; color: var(--text); display: none; }
.content-header .nav-toggle svg { width: 100%; height: 100%; }
.content-breadcrumb { color: var(--text-muted); font-size: .8rem; margin-bottom: 2rem; line-height: 1.6; }
.content-breadcrumb a { color: var(--phosphor, var(--brand-primary)); text-decoration: underline; text-underline-offset: .2em; }
.content-layout { display: grid; grid-template-columns: minmax(0, 790px) minmax(170px, 1fr); gap: 3rem; align-items: start; }
.editorial { min-width: 0; max-width: 790px; }
.editorial > * + * { margin-top: 1.15rem; }
.editorial h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; letter-spacing: -.025em; margin-bottom: 1.3rem; }
.editorial h2 { font-size: clamp(1.5rem, 2.8vw, 2rem); line-height: 1.25; margin-top: 2.7rem; margin-bottom: .85rem; letter-spacing: -.02em; }
.editorial h3 { font-size: 1.15rem; line-height: 1.35; margin-top: 1.8rem; margin-bottom: .5rem; }
.editorial p, .editorial li { color: var(--text-muted); font-size: 1rem; line-height: 1.8; }
.editorial strong { color: var(--text); }
.editorial a:not(.btn) { color: var(--phosphor, var(--brand-primary)); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.editorial ul, .editorial ol { padding-left: 1.3rem; }
.editorial li + li { margin-top: .55rem; }
.editorial code { font-family: var(--mono); font-size: .86em; background: var(--bg-alt); padding: .12rem .3rem; border-radius: 3px; overflow-wrap: anywhere; }
.editorial .content-byline { font-size: .8rem; color: var(--text-muted); }
.editorial .data-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); margin: 1.5rem 0; background: var(--surface); }
.editorial table { width: 100%; min-width: 460px; border-collapse: collapse; font-size: .86rem; }
.editorial th, .editorial td { text-align: left; vertical-align: top; padding: .8rem; border-bottom: 1px solid var(--border); line-height: 1.65; white-space: normal; }
.editorial thead { background: var(--terminal-bg, var(--brand-dark)); }
.editorial thead th { color: var(--terminal-text, #fff); font-family: var(--mono); font-size: .75rem; letter-spacing: .02em; text-transform: none; }
.editorial tbody th { color: var(--text); font-family: inherit; font-weight: 600; font-size: .86rem; text-transform: none; letter-spacing: 0; }
.editorial tbody td { color: var(--text-muted); }
.editorial tbody tr:nth-child(even) { background: var(--bg-alt); }
.editorial tbody tr:last-child > * { border-bottom: 0; }
.content-action { margin-top: 1.6rem; }
.content-site .content-action .btn { color: #fff; line-height: 1.5; text-align: center; }
.content-toc { position: sticky; top: 6rem; border-left: 1px solid var(--border); padding-left: 1.2rem; }
.content-toc ul { list-style: none; padding: 0; }
.content-toc li { margin: .7rem 0; font-size: .8rem; line-height: 1.55; }
.content-toc a { color: var(--text-muted); }
.content-toc a:hover { color: var(--phosphor, var(--brand-primary)); }
.home-editorial { max-width: 850px; }
.home-editorial > h2:first-child { margin-top: 0; }
.hero-intro { max-width: 620px; }
.hero-intro p { font-size: 1rem; line-height: 1.75; }
.hero-intro p:last-child a { display: inline-block; margin: .35rem .3rem .35rem 0; font-weight: 600; }
.content-algo .hero-intro p { color: rgba(223,230,240,.88); }
.content-algo .hero-intro a:not(.btn) { color: var(--accent-bright); }
.content-algo .hero-intro strong { color: #fff; }
.content-home-hero .hero-grid > * { min-width: 0; }
.content-caption { max-width: 310px; color: var(--text-muted); font-size: .8rem; line-height: 1.6; }
.content-site .market-card h3 { font-size: 1.05rem; margin-bottom: .5rem; }
.content-site .market-card p { color: var(--text-muted); font-size: .86rem; }
.content-site .market-card .read-more { display: block; margin-top: .8rem; font-weight: 600; font-size: .8rem; color: var(--phosphor, var(--brand-primary)); }
.enquiry-section .contact-form { display: flex; flex-direction: column; gap: .8rem; }
.enquiry-section .contact-form label { margin: 0; }
.enquiry-section .contact-info > p { margin: 1rem 0; }
.enquiry-section .privacy-note { font-size: .8rem; line-height: 1.6; }
.enquiry-section .form-feedback { min-height: 1.5em; margin: 0; }
.enquiry-section .form-feedback[data-error=true] { color: #a3231e; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.content-site .site-footer .container { gap: 1.5rem; }
.content-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem 1.2rem; margin: 1rem 0; font-size: .8rem; }
.content-algo .content-footer-links { justify-content: flex-start; }
.content-site .site-footer p + p { margin-top: .4rem; }
@media (max-width: 1000px) {
 .content-layout { grid-template-columns: minmax(0, 1fr); }
 .content-toc { position: static; grid-row: 1; border-left: 0; border-bottom: 1px solid var(--border); padding: 0 0 1rem; }
 .content-toc ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
 .content-toc li { margin: .2rem 0; }
 .content-header .container { position: relative; flex-wrap: nowrap; }
 .content-header .nav-toggle { display: block; flex-shrink: 0; }
 .content-header nav { display: none; position: absolute; top: 100%; left: 0; right: 0; width: 100%; background: var(--surface); border-bottom: 1px solid var(--border); box-shadow: var(--shadow); padding: .75rem; flex-direction: column; align-items: stretch; gap: .15rem; }
 .content-header nav.open { display: flex; }
 .content-header nav a { padding: .7rem .8rem; font-size: .88rem; }
 .content-header .nav-cta { margin: .35rem 0 0; text-align: center; }
}
@media (max-width: 768px) {
 .content-site .editorial p, .content-site .editorial li { font-size: .95rem; }
 .content-site .hero-grid { grid-template-columns: 1fr; }
 .content-site .ussd-sim-stack { align-items: center; }
 .content-site .ussd-sim-iframe-wrap { max-width: 100%; }
 .content-site .contact, .content-site .contact-grid { grid-template-columns: 1fr; }
 .content-site .form-row { grid-template-columns: 1fr; }
 .content-site .markets-grid-expanded { grid-template-columns: minmax(0, 1fr); }
 .content-site .content-action .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
 .content-site { scroll-behavior: auto; }
 .content-site *, .content-site *::before, .content-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Retain the existing prominent primary action in each homepage hero. */
.content-site .hero-intro p:last-child > a:first-of-type { display: inline-flex; align-items: center; justify-content: center; padding: .75rem 1.2rem; border-radius: var(--radius-sm); background: var(--phosphor, var(--brand-primary)); color: #fff; text-decoration: none; line-height: 1.5; text-align: center; }
.content-site .hero-intro p:last-child > a:first-of-type:hover { background: var(--accent-dark, #008a47); color: #fff; }
