/* =========================================================
   SolFi Payments theme — main stylesheet
   ========================================================= */

:root{
	--navy-950:#050a1a;
	--navy-900:#0a1330;
	--navy-800:#0d1c42;
	--navy-700:#122a5c;
	--navy-600:#1a3a7a;
	--blue-500:#2f8bf0;
	--blue-400:#3fa0ff;
	--cyan-400:#22d3ee;
	--grad-blue: linear-gradient(90deg, var(--blue-500), var(--cyan-400));

	--bg-light:#eef1f8;
	--bg-tint:#f5f7fc;
	--white:#ffffff;

	--ink-900:#0b1220;
	--ink-700:#33405c;
	--ink-500:#64708a;
	--ink-400:#8b95ac;

	--border:#e3e7f2;
	--border-dark:rgba(255,255,255,.12);

	/* Matched from the reference site's own CSS variables (oklch → hex) */
	--green-400:#34d399;
	--mint-bg:#e6faf3;
	--mint-text:#0f9d6a;
	--mint:#2bd4a8;      /* --mint: oklch(79% .16 168) */
	--gold:#e8b64f;      /* --gold: oklch(82% .15 84)  */
	--coral:#e0604a;     /* --destructive: oklch(58% .22 27) */

	--radius-lg:26px;    /* --radius-3xl (glass cards) */
	--radius-md:16px;
	--radius-sm:10px;

	--font-head: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
	--font-body: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
	--font-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;

	--shadow-card: 0 20px 40px -12px rgba(10,19,48,.18);
	--shadow-card-lg: 0 30px 60px -15px rgba(10,19,48,.28);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; width:100%; }
body{
	margin:0;
	font-family:var(--font-body);
	color:var(--ink-900);
	background:var(--white);
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
	width:100%;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-head); margin:0; color:var(--ink-900); line-height:1.15; }
p{ margin:0; }
.screen-reader-text{ position:absolute; left:-9999px; }

/* ---------- Preloader / loading screen ---------- */
body.is-loading{ overflow:hidden; }
.solfi-preloader{
	position:fixed; inset:0; z-index:9999;
	display:flex; align-items:center; justify-content:center;
	background:
		radial-gradient(1200px 600px at 15% -10%, rgba(47,139,240,.16), transparent 60%),
		linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 55%, var(--navy-800) 100%);
	opacity:1; visibility:visible;
	transition:opacity .5s ease, visibility 0s linear 0s;
}
.solfi-preloader.is-hidden{
	opacity:0; visibility:hidden;
	transition:opacity .5s ease, visibility 0s linear .5s;
}
.preloader-inner{ display:flex; flex-direction:column; align-items:center; gap:22px; }
.preloader-logo{
	font-family:var(--font-head);
	font-weight:800; font-size:30px; letter-spacing:-.01em;
	color:#fff;
	animation:preloader-pulse 1.4s ease-in-out infinite;
}
.preloader-logo .logo-dot{ color:var(--blue-400); }
.preloader-bar{
	width:140px; height:4px; border-radius:999px;
	background:rgba(255,255,255,.12);
	overflow:hidden;
}
.preloader-bar span{
	display:block; height:100%; width:40%; border-radius:999px;
	background:var(--grad-blue);
	animation:preloader-slide 1.1s ease-in-out infinite;
}
@keyframes preloader-pulse{
	0%, 100%{ opacity:1; transform:scale(1); }
	50%{ opacity:.6; transform:scale(.97); }
}
@keyframes preloader-slide{
	0%{ transform:translateX(-100%); }
	100%{ transform:translateX(350%); }
}
@media (prefers-reduced-motion: reduce){
	.preloader-logo{ animation:none; }
	.preloader-bar span{ animation:none; width:100%; }
}

.container{
	max-width:1240px;
	margin:0 auto;
	padding:0 24px;
}

/* ---------- Buttons ---------- */
.btn{
	display:inline-flex; align-items:center; gap:8px;
	font-weight:600; font-size:15px;
	padding:13px 22px;
	border-radius:999px;
	border:1px solid transparent;
	cursor:pointer;
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease, opacity .15s ease;
	white-space:nowrap;
}
.btn svg{ flex-shrink:0; }
.btn-primary{
	background:var(--grad-blue);
	color:#fff;
	box-shadow:0 10px 24px -8px rgba(47,139,240,.55);
}
.btn-primary:hover{ transform:translateY(-1px); box-shadow:0 14px 30px -8px rgba(47,139,240,.65); }
.btn-ghost{
	background:transparent;
	color:var(--ink-900);
	border-color:var(--border);
}
.btn-ghost:hover{ background:var(--bg-tint); }
/* Ghost buttons placed on dark sections (e.g. the hero's "See how it
   works") need light text/border instead of the default dark ones. */
.hero .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.35); }
.hero .btn-ghost:hover{ background:rgba(255,255,255,.08); }
.btn-outline-light{
	background:transparent;
	color:#fff;
	border-color:rgba(255,255,255,.35);
}
.btn-outline-light:hover{ background:rgba(255,255,255,.08); }
.btn-sm{ padding:9px 18px; font-size:14px; }
.btn-lg{ padding:15px 26px; font-size:16px; }

/* ---------- Header ---------- */
.site-header{
	position:sticky; top:0; z-index:100;
	background:rgba(6,13,32,.72);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{
	display:flex; align-items:center; justify-content:space-between;
	height:92px; gap:24px;
}
.logo-text{
	font-family:var(--font-head);
	font-weight:800; font-size:26px;
	color:#fff;
}
.logo-dot{ color:var(--blue-400); }
.custom-logo{ max-height:44px; width:auto; }
.nav-menu{ display:flex; align-items:center; gap:36px; }
.nav-menu a{
	color:rgba(255,255,255,.78);
	font-size:16px; font-weight:500;
	transition:color .15s;
}
.nav-menu a:hover{ color:#fff; }
.header-actions{ display:flex; align-items:center; gap:26px; }
.link-docs{ color:rgba(255,255,255,.78); font-size:16px; font-weight:500; }
.link-docs:hover{ color:#fff; }
.nav-docs-mobile{ display:none; }
.nav-toggle{ display:none; }

/* ---------- Hero ---------- */
.hero{
	position:relative;
	background:
		radial-gradient(1100px 650px at 78% 8%, rgba(47,139,240,.4), transparent 62%),
		radial-gradient(800px 550px at 6% 96%, rgba(43,212,168,.16), transparent 60%),
		linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 55%, var(--navy-800) 100%);
	color:#fff;
	overflow:hidden;
	padding:76px 0 0;
}
.hero-bg-grid{
	position:absolute; inset:0;
	background-image:
		linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
	background-size:64px 64px;
	mask-image:linear-gradient(180deg, rgba(0,0,0,.6), transparent 75%);
	pointer-events:none;
}
.hero-inner{
	position:relative;
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:56px;
	align-items:center;
	padding-bottom:64px;
}
.badge{
	display:inline-flex; align-items:center; gap:8px;
	background:rgba(255,255,255,.07);
	border:1px solid rgba(255,255,255,.14);
	color:rgba(255,255,255,.85);
	font-size:13px; font-weight:600;
	padding:8px 14px; border-radius:999px;
	margin-bottom:24px;
}
.badge svg{ color:var(--mint); }
.hero-title{
	font-size:clamp(34px, 4.6vw, 58px);
	font-weight:800;
	letter-spacing:-.02em;
	margin-bottom:22px;
	color:#fff;
}
.grad-text{
	background:var(--grad-blue);
	-webkit-background-clip:text; background-clip:text;
	color:transparent;
}
.hero-subtitle{
	font-size:18px; color:rgba(255,255,255,.68);
	max-width:520px; margin-bottom:32px;
}
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px; }
.hero-ctas.center{ justify-content:center; }
.hero-stats{
	display:grid; grid-template-columns:repeat(4,auto);
	gap:36px;
	border-top:1px solid rgba(255,255,255,.1);
	padding-top:28px;
}
.stat strong{ display:block; font-family:var(--font-head); font-size:26px; font-weight:800; }
.stat span{ font-size:13px; color:rgba(255,255,255,.55); }

/* Live collections card — glass style, matches the reference's
   .glass-card token: translucent white fill + blur + soft border */
.live-card{
	background:rgba(255,255,255,.07);
	border:1px solid rgba(255,255,255,.12);
	border-radius:var(--radius-lg);
	padding:28px;
	box-shadow:var(--shadow-card-lg);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}
.live-card-head{ display:flex; align-items:center; gap:8px; margin-bottom:18px; }
.live-dot{
	width:8px; height:8px; border-radius:50%;
	background:var(--mint);
	box-shadow:0 0 0 4px rgba(43,212,168,.2);
	animation:pulse-dot 2.2s ease-in-out infinite;
}
@keyframes pulse-dot{
	0%,100%{ opacity:1; box-shadow:0 0 0 0 rgba(43,212,168,.6); }
	50%{ opacity:.75; box-shadow:0 0 0 8px rgba(43,212,168,0); }
}
.live-label{ font-size:12px; letter-spacing:.08em; color:rgba(255,255,255,.6); font-weight:700; }
.live-today{
	margin-left:auto;
	font-size:12px; background:rgba(255,255,255,.08);
	padding:4px 10px; border-radius:999px; color:rgba(255,255,255,.7);
}
.live-total{ display:flex; align-items:baseline; gap:8px; margin-bottom:4px; }
.live-total .currency{ font-size:15px; color:rgba(255,255,255,.55); font-weight:700; }
.live-total .amount{ font-family:var(--font-head); font-size:36px; font-weight:800; font-variant-numeric:tabular-nums; }
.live-sub{ font-size:13px; color:rgba(255,255,255,.5); margin-bottom:20px; }
.live-list{ display:flex; flex-direction:column; gap:10px; margin-bottom:18px; min-height:220px; }
.live-row{
	display:flex; align-items:center; justify-content:space-between;
	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.06);
	border-radius:var(--radius-sm);
	padding:12px 14px;
	transition:opacity .4s ease, transform .4s ease, max-height .4s ease, margin .4s ease, padding .4s ease;
	max-height:64px;
	overflow:hidden;
}
/* New row: starts hidden/below, animates into place (matches JS .row-enter toggling) */
.live-row.row-enter{ opacity:0; transform:translateY(14px); }
/* Old row: animates out and collapses before removal (matches JS .row-leave) */
.live-row.row-leave{
	opacity:0; transform:translateY(-10px);
	max-height:0; margin-bottom:-10px; padding-top:0; padding-bottom:0;
	border-width:0;
}
.live-row .row-name{ font-size:14px; font-weight:700; }
.live-row .row-loc{ font-size:12px; color:rgba(255,255,255,.5); }
.live-row .row-right{ display:flex; align-items:center; gap:8px; }
.live-row .row-amount{ font-weight:700; font-size:14px; font-variant-numeric:tabular-nums; }

/* Network pill colors — matched directly from the reference screenshots */
.net-pill{
	font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px;
	background:rgba(255,255,255,.08); color:rgba(255,255,255,.8);
	border:1px solid rgba(255,255,255,.14);
}
.net-pill.mtn{ background:rgba(232,182,79,.14); color:var(--gold); border-color:rgba(232,182,79,.35); }
.net-pill.wave{ background:rgba(43,212,168,.14); color:var(--mint); border-color:rgba(43,212,168,.35); }
.net-pill.orange{ background:rgba(224,96,74,.12); color:#fff; border-color:rgba(224,96,74,.55); }

.live-foot{
	display:flex; justify-content:space-between; align-items:center;
	border-top:1px solid rgba(255,255,255,.1); padding-top:16px;
	font-size:13px; color:rgba(255,255,255,.6);
}
.live-foot .success{ color:var(--mint); font-weight:700; }

/* Network ticker */
.ticker-wrap{
	position:relative;
	border-top:1px solid rgba(255,255,255,.08);
	overflow:hidden;
	padding:20px 0;
}
.ticker-track{
	display:flex; gap:48px;
	width:max-content;
	animation:ticker-scroll 32s linear infinite;
}
.ticker-track span{
	font-size:14px; font-weight:600;
	color:rgba(255,255,255,.45);
	white-space:nowrap;
}
@keyframes ticker-scroll{
	from{ transform:translateX(0); }
	to{ transform:translateX(-50%); }
}

/* ---------- Generic sections ---------- */
.section{ padding:96px 0; }
.section-light{ background:var(--white); }
.section-tint{ background:var(--bg-tint); }
.section-dark{
	background:linear-gradient(180deg, var(--navy-900), var(--navy-950));
	color:#fff;
}
.eyebrow{
	display:inline-block; font-size:13px; font-weight:700;
	letter-spacing:.06em; text-transform:uppercase;
	color:var(--blue-500); margin-bottom:14px;
}
.eyebrow-light{ color:var(--cyan-400); }
.section-head{ max-width:680px; margin-bottom:52px; }
.section-head h2{ font-size:clamp(28px,3.4vw,40px); margin-bottom:14px; }
.lede{ font-size:17px; color:var(--ink-500); }
.light-heading{ color:#fff; }
.light-lede{ color:rgba(255,255,255,.62); }

/* Split (two column) rows */
.split-row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:64px;
	align-items:center;
}
.split-row-reverse .split-copy{ order:2; }
.split-row-reverse .split-visual{ order:1; }
.split-copy h2{ font-size:clamp(28px,3.2vw,38px); margin-bottom:16px; }

.check-list{ display:flex; flex-direction:column; gap:20px; margin:28px 0; }
.check-list li{ display:flex; gap:14px; }
.check-ico{
	flex-shrink:0; width:26px; height:26px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:#e8f1fe; color:var(--blue-500);
	margin-top:2px;
}
.check-list strong{ display:block; font-size:16px; margin-bottom:2px; }
.check-list p{ font-size:14.5px; color:var(--ink-500); }

.feature-list{ display:flex; flex-direction:column; gap:22px; margin:28px 0; }
.feature-list li{ display:flex; gap:14px; }
.feature-ico{
	flex-shrink:0; width:40px; height:40px; border-radius:12px;
	display:flex; align-items:center; justify-content:center;
	background:#e8f1fe; color:var(--blue-500);
}
.feature-list strong{ display:block; font-size:16px; margin-bottom:2px; }
.feature-list p{ font-size:14.5px; color:var(--ink-500); }

.text-link{
	display:inline-flex; align-items:center; gap:6px;
	color:var(--blue-500); font-weight:700; font-size:15px;
}
.text-link:hover{ text-decoration:underline; }

.muted{ color:var(--ink-500); font-size:13px; }

/* Invoice card */
.invoice-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:30px; box-shadow:var(--shadow-card);
}
.invoice-head{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:18px; }
.invoice-head strong{ display:block; font-size:18px; margin-top:2px; }
.pill{ font-size:12px; font-weight:700; padding:6px 12px; border-radius:999px; }
.pill-mint{ background:var(--mint-bg); color:var(--mint-text); }
.invoice-amount{ font-family:var(--font-head); font-size:32px; font-weight:800; margin-bottom:2px; }
.pay-methods{ margin-top:22px; display:flex; flex-direction:column; gap:10px; }
.pay-row{
	display:flex; justify-content:space-between; align-items:center;
	background:var(--bg-tint); border-radius:var(--radius-sm);
	padding:14px 16px; font-weight:600; font-size:14.5px;
}
.invoice-foot{ text-align:center; margin-top:22px; font-size:12.5px; color:var(--ink-400); }

/* Batch card (disbursements) */
.batch-card{
	background:linear-gradient(165deg, var(--navy-800), var(--navy-950));
	color:#fff; border-radius:var(--radius-lg);
	padding:30px; box-shadow:var(--shadow-card-lg);
}
.batch-head{ display:flex; align-items:center; gap:8px; margin-bottom:16px; }
.batch-amount{ font-family:var(--font-head); font-size:32px; font-weight:800; }
.batch-sub{ font-size:13px; color:rgba(255,255,255,.55); margin-bottom:22px; }
.batch-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }
.batch-stat{
	background:rgba(255,255,255,.06); border-radius:var(--radius-sm);
	padding:14px; display:flex; flex-direction:column; gap:6px;
}
.batch-stat strong{ font-size:16px; }
.batch-stat .muted{ color:rgba(255,255,255,.5); }
.progress{ height:8px; background:rgba(255,255,255,.1); border-radius:999px; overflow:hidden; }
.progress-bar{ height:100%; background:var(--grad-blue); border-radius:999px; }
.batch-foot{ margin-top:10px; text-align:right; color:rgba(255,255,255,.55) !important; }

/* Product grid */
.product-grid{
	display:grid; grid-template-columns:repeat(3,1fr);
	border:1px solid var(--border); border-radius:var(--radius-lg);
	background:var(--white); overflow:hidden;
}
.product-card{
	padding:36px 32px;
	border-right:1px solid var(--border);
	border-bottom:1px solid var(--border);
	transition:background .15s;
}
.product-card:nth-child(3n){ border-right:none; }
.product-card:nth-last-child(-n+3){ border-bottom:none; }
.product-card:hover{ background:var(--bg-tint); }
.icon-badge{
	display:inline-flex; align-items:center; justify-content:center;
	width:44px; height:44px; border-radius:12px;
	background:#e8f1fe; color:var(--blue-500);
	margin-bottom:18px;
}
.product-card h3{ font-size:18px; margin-bottom:8px; }
.product-card p{ font-size:14.5px; color:var(--ink-500); }

/* Sector grid */
.sector-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.sector-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
	padding:30px; transition:transform .18s ease, box-shadow .18s ease;
}
.sector-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card); }
.icon-circle{
	display:inline-flex; align-items:center; justify-content:center;
	width:52px; height:52px; border-radius:50%;
	background:#e8f1fe; color:var(--blue-500);
	margin-bottom:18px;
}
.sector-card h3{ font-size:17px; margin-bottom:8px; }
.sector-card p{ font-size:14.5px; color:var(--ink-500); }

/* Coverage */
.coverage-row{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.tag-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
.tag{
	font-size:13px; font-weight:600; color:rgba(255,255,255,.85);
	background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
	padding:8px 14px; border-radius:999px;
}
.country-cols{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.country-col{
	background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
	border-radius:var(--radius-md); padding:26px;
}
.country-col h4{ color:#fff; font-size:14px; letter-spacing:.04em; margin-bottom:16px; }
.country-col li{
	color:rgba(255,255,255,.7); font-size:15px; padding:7px 0;
	border-bottom:1px solid rgba(255,255,255,.06);
}
.country-col li:last-child{ border-bottom:none; }

/* Code card */
.code-card{
	background:linear-gradient(165deg, var(--navy-800), var(--navy-950));
	border-radius:var(--radius-lg); overflow:hidden;
	box-shadow:var(--shadow-card-lg);
}
.code-head{
	display:flex; align-items:center; gap:8px;
	padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.08);
}
.dot{ width:10px; height:10px; border-radius:50%; }
.dot.red{ background:#ff5f57; } .dot.yellow{ background:#febc2e; } .dot.green{ background:#28c840; }
.code-title{ margin-left:10px; font-size:13px; color:rgba(255,255,255,.6); font-family:var(--font-mono); }
.code-body{
	margin:0; padding:24px 20px; overflow-x:auto;
	font-family:var(--font-mono);
	font-size:13.5px; line-height:1.8; color:#cfe0ff;
}

/* CTA */
.cta-box{
	background:
		radial-gradient(700px 300px at 15% 0%, rgba(47,139,240,.4), transparent 60%),
		linear-gradient(160deg, var(--navy-900), var(--navy-950));
	border-radius:var(--radius-lg);
	padding:72px 40px;
	text-align:center;
	color:#fff;
}
.cta-box h2{ font-size:clamp(28px,4vw,42px); color:#fff; margin-bottom:16px; }
.cta-box p{ color:rgba(255,255,255,.68); font-size:17px; max-width:560px; margin:0 auto 32px; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--navy-950); color:rgba(255,255,255,.6); padding-top:64px; }
.footer-top{
	display:grid; grid-template-columns:1.4fr repeat(3,1fr);
	gap:40px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand p{ margin-top:14px; font-size:14px; max-width:260px; }
.footer-col h4, .footer-col-title{ color:#fff; font-size:14px; margin-bottom:16px; }
.footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.footer-col a{ font-size:14px; color:rgba(255,255,255,.55); }
.footer-col a:hover{ color:#fff; }
.footer-bottom{
	display:flex; justify-content:space-between; padding:24px 0; font-size:13px;
}

/* ---------- Basic page/blog fallback ---------- */
.basic-page{ padding:72px 0; max-width:800px; }
.page-title{ font-size:34px; margin-bottom:24px; }
.page-content{ font-size:16px; color:var(--ink-700); }
.page-content p{ margin-bottom:18px; }
.post-list{ display:flex; flex-direction:column; gap:40px; }
.post-card h2{ font-size:24px; margin:10px 0; }
.post-thumb img{ border-radius:var(--radius-md); }
.post-thumb-large{ margin:20px 0; }
.post-thumb-large img{ border-radius:var(--radius-md); }
.post-meta{ margin-bottom:8px; }
.post-excerpt{ color:var(--ink-700); font-size:15px; }
.pagination{ margin-top:40px; display:flex; gap:10px; }
.pagination a, .pagination span{
	display:inline-flex; align-items:center; justify-content:center;
	min-width:36px; height:36px; padding:0 10px;
	border:1px solid var(--border); border-radius:8px; font-size:14px;
}
.pagination .current{ background:var(--navy-900); color:#fff; border-color:var(--navy-900); }

/* ---------- Reveal-on-scroll ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1024px){
	.hero-inner{ grid-template-columns:1fr; }
	.hero-visual{ order:-1; }
	.split-row, .split-row-reverse{ grid-template-columns:1fr; }
	.split-row-reverse .split-copy, .split-row-reverse .split-visual{ order:initial; }
	.coverage-row{ grid-template-columns:1fr; }
	.product-grid{ grid-template-columns:repeat(2,1fr); }
	.product-card:nth-child(3n){ border-right:1px solid var(--border); }
	.product-card:nth-child(2n){ border-right:none; }
	.product-card:nth-last-child(-n+3){ border-bottom:1px solid var(--border); }
	.product-card:nth-last-child(-n+2){ border-bottom:none; }
	.sector-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:780px){
	.header-inner{ height:72px; }
	.nav-menu, .header-actions .link-docs{ display:none; }
	.nav-toggle{
		display:flex; flex-direction:column; justify-content:center; gap:5px;
		width:36px; height:36px; background:none; border:none; cursor:pointer;
	}
	.nav-toggle span{ width:100%; height:2px; background:#fff; border-radius:2px; transition:.2s; }
	.site-nav{
		position:absolute; top:72px; left:0; right:0;
		background:var(--navy-950); border-bottom:1px solid rgba(255,255,255,.1);
		display:none; padding:12px 24px 20px;
	}
	.site-nav.is-open{ display:block; }
	.nav-menu{ flex-direction:column; align-items:flex-start; gap:4px; }
	.nav-menu a{ display:block; padding:12px 0; width:100%; }
	.nav-docs-mobile{
		display:block; padding:12px 0; width:100%;
		color:rgba(255,255,255,.78); font-size:15px; font-weight:500;
		border-top:1px solid rgba(255,255,255,.1); margin-top:4px;
	}
	.nav-docs-mobile:hover{ color:#fff; }

	.hero-stats{ grid-template-columns:repeat(2,1fr); gap:24px; }
	.section{ padding:64px 0; }
	.product-grid, .sector-grid{ grid-template-columns:1fr; }
	.product-card{ border-right:none !important; border-bottom:1px solid var(--border) !important; }
	.product-card:last-child{ border-bottom:none !important; }
	.country-cols{ grid-template-columns:1fr; }
	.footer-top{ grid-template-columns:1fr 1fr; }
	.footer-brand{ grid-column:1/-1; }
	.footer-bottom{ flex-direction:column; gap:8px; text-align:center; }
	.cta-box{ padding:48px 24px; }
}

@media (max-width:480px){
	.hero-stats{ grid-template-columns:repeat(2,1fr); }
	.footer-top{ grid-template-columns:1fr; }
}
