/*
Theme Name: NGA Custom
Theme URI: https://nga.co.za
Author: NGA
Description: Custom standalone theme for NGA - compliance & risk screening. Builder-free.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: nga-custom
*/
:root{--blue:#d56f7c;--blue-600:#d97b88;--blue-400:#c4515b;--blue-300:#d56f7c;--blue-050:#151e36;--red:#C14953;--red-600:#e08a92;--red-050:#2c141d;--accent:#d56f7c;--accent-600:#d97b88;--accent-050:#121c38;--cinematic:#060a15;--flat-dark:#09090b;--bg-light:#080c17;--ink:#edeff4;--zinc-700:#cdd0d8;--zinc-600:#b1b5be;--zinc-500:#8b8e94;--zinc-400:#8d93a0;--zinc-200:#242938;--paper:#0e1322;--grad-blue:linear-gradient(135deg,#d56f7c,#af3c45);--radius:20px;--rbtn:3px;--shadow:0 24px 48px -12px rgba(0,0,0,.5);--maxw:1200px;--readw:860px;--sans:var(--font-inter,'Inter'),system-ui,sans-serif;--body:var(--font-cabin,'Cabin'),system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Cabin',system-ui,sans-serif;color:#cdd0d8;background:var(--paper);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5{font-family:'Inter',system-ui,sans-serif;color:var(--ink)}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-block;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--blue-400);margin-bottom:10px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-weight:800;font-size:15px;padding:15px 30px;border-radius:var(--rbtn);border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn-red{background:var(--grad-blue);color:#fff}.btn-red:hover{filter:brightness(1.12)}
.btn-blue{background:var(--grad-blue);color:#fff}.btn-blue:hover{filter:brightness(1.12)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}.btn-ghost:hover{background:rgba(255,255,255,.08)}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:saturate(160%) blur(18px);border-bottom:1px solid var(--zinc-200)}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.logo{display:flex;align-items:center;gap:9px;font-family:'Inter',sans-serif;font-weight:800;font-size:22px;color:var(--blue);letter-spacing:-.01em}
.logo img{height:36px;width:auto}
.nav-right{display:flex;align-items:center;gap:16px}
.nav-right .login{font-family:'Inter',sans-serif;font-weight:600;font-size:14.5px;color:var(--zinc-700)}.nav-right .login:hover{color:var(--blue)}
.nav-toggle,.nav-toggle-label{display:none}
ul.nav-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-family:'Inter',sans-serif;font-weight:600;font-size:14.5px}
ul.nav-menu li{position:relative}
ul.nav-menu>li>a{color:var(--zinc-700);display:inline-flex;align-items:center;gap:5px;padding:10px 0;position:relative}ul.nav-menu>li>a:hover{color:var(--ink)}
ul.nav-menu>li>a:before{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.22,1,.36,1)}
ul.nav-menu>li>a:hover:before,ul.nav-menu>li:focus-within>a:before{transform:scaleX(1)}
ul.nav-menu li.menu-item-has-children>a:after{content:"\25be";font-size:10px;color:var(--zinc-400)}
ul.sub-menu{position:absolute;top:calc(100% + 6px);left:-18px;min-width:260px;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border:1px solid var(--zinc-200);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.12);padding:10px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:110}
ul.nav-menu li:hover>ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
ul.sub-menu li a{display:block;padding:10px 13px;border-radius:10px;color:var(--zinc-700);font-size:14.5px}ul.sub-menu li a:hover{background:none;color:var(--accent)}
@media(max-width:960px){.nav-toggle-label{display:block;font-family:'Inter',sans-serif;font-weight:700;color:var(--blue);cursor:pointer}ul.nav-menu{display:none;position:absolute;left:0;right:0;top:74px;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--zinc-200);padding:10px 24px}.nav-toggle:checked~ul.nav-menu{display:flex}ul.sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 10px 14px}.nav-right .login{display:none}}

section.blk{padding:clamp(72px,10vw,128px) 0}
.center{text-align:center;max-width:740px;margin:0 auto 56px}
.center h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:6px 0 16px}
.center p{color:var(--zinc-500);font-size:18px}
.rotor{color:var(--blue);font-weight:700}.rotor .r2{color:var(--accent)}

.hero{background:radial-gradient(1100px 560px at 72% -10%,rgba(194,76,86,.5),transparent),linear-gradient(160deg,#0d162d,#060a15 60%,#050f16);color:#fff;overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(560px 280px at 12% 115%,rgba(104,162,246,.2),transparent);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:clamp(76px,9vw,116px) 0}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.4rem);font-weight:300;letter-spacing:-.03em;line-height:1.05;margin:14px 0 22px;color:#fff}
.hero h1 b{font-weight:800;background:linear-gradient(135deg,#d97a84,#b33d4e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p.lead{font-size:19px;color:rgba(255,255,255,.78);max-width:520px;margin-bottom:32px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;padding:64px 0 72px}}
.glass{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:28px;backdrop-filter:blur(12px);box-shadow:0 40px 70px -30px rgba(0,0,0,.6)}
.glass .tag{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--zinc-400);font-weight:700}
.score{display:flex;align-items:baseline;gap:10px;margin:8px 0 2px}.score b{font-family:'Inter',sans-serif;font-size:64px;font-weight:200;line-height:1;color:#fff}.score .of{color:var(--blue-300);font-family:'Inter',sans-serif;font-weight:700}
.meter{height:8px;border-radius:99px;background:rgba(255,255,255,.12);margin:18px 0 22px;overflow:hidden}.meter i{display:block;height:100%;width:74%;background:linear-gradient(90deg,var(--blue-300),var(--accent))}
.glist{display:grid;gap:13px}.grow{display:flex;align-items:center;gap:12px;font-family:'Inter',sans-serif;font-size:14px;color:rgba(255,255,255,.86)}.dot{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:rgba(213,111,124,.2);color:var(--blue-300)}

.trust{padding:36px 0;border-top:1px solid var(--zinc-200);border-bottom:1px solid var(--zinc-200);background:var(--bg-light);position:relative}
.trust:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.10) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.trust p{position:relative;text-align:center;font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--zinc-500);margin-bottom:18px;font-weight:700}
.trust-row{position:relative;display:flex;align-items:center;justify-content:center;gap:46px;flex-wrap:wrap}
.trust-row span{font-family:'Inter',sans-serif;font-weight:700;font-size:19px;color:var(--zinc-400)}

.feat{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:30px 0}.feat.rev .fimg{order:2}
.feat h3{font-size:clamp(1.6rem,2.6vw,2.15rem);font-weight:800;letter-spacing:-.025em;margin:12px 0 16px;color:var(--ink);line-height:1.15}
.feat p{color:var(--zinc-500);margin-bottom:26px}
.fimg{border-radius:var(--radius);background:linear-gradient(150deg,var(--blue),#08374c);min-height:320px;display:grid;place-items:center;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.fimg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.95}
.fimg .badge{position:relative;font-family:'Inter',sans-serif;font-weight:700;letter-spacing:.1em;font-size:12px;text-transform:uppercase;background:rgba(0,0,0,.4);padding:8px 14px;border-radius:99px}
@media(max-width:920px){.feat{grid-template-columns:1fr;gap:30px}.feat.rev .fimg{order:0}}

.band{background:linear-gradient(120deg,var(--blue),#08384d);color:#fff;border-radius:24px;padding:clamp(36px,5vw,56px);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;box-shadow:var(--shadow)}
.band .new{display:inline-block;background:var(--accent);color:#fff;font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;padding:5px 12px;border-radius:99px;text-transform:uppercase;margin-bottom:14px}
.band h3{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(1.7rem,3vw,2.3rem);color:#fff}.band p{color:rgba(255,255,255,.82);max-width:560px;margin-top:10px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:920px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.grid{grid-template-columns:1fr}}
.card{background:rgba(255,255,255,.72);backdrop-filter:blur(20px);border:1px solid rgba(175,60,69,.16);border-radius:var(--radius);padding:30px;transition:transform .3s,box-shadow .3s;display:block}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -12px rgba(175,60,69,.18)}
.ico{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--blue-050);font-size:23px;margin-bottom:18px;color:var(--blue)}.ico.r{background:var(--accent-050);color:var(--accent)}
.card h4{font-family:'Inter',sans-serif;font-weight:800;font-size:16.5px;letter-spacing:-.01em;margin:0 0 10px;color:var(--ink)}
.card--feat h4{text-transform:none}
.card p{color:var(--zinc-500);font-size:15.5px;margin-bottom:0}
.more{font-family:'Inter',sans-serif;font-weight:700;font-size:14px;color:var(--accent)}

.stats{background:linear-gradient(140deg,#0d162d,#060a15);color:#fff;border-radius:24px;padding:clamp(40px,5vw,60px) 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;box-shadow:var(--shadow)}
.stats .n{font-family:'Inter',sans-serif;font-weight:200;font-size:clamp(40px,5vw,58px);line-height:1;background:linear-gradient(135deg,#fff,#d97b88);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stats .l{color:var(--zinc-400);font-family:'Inter',sans-serif;font-size:13.5px;margin-top:12px;line-height:1.4}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr;gap:34px}}

.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:920px){.posts{grid-template-columns:1fr}}
.post{border:1px solid var(--zinc-200);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s;background:var(--paper);display:block}.post:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post .thumb{height:160px;background:linear-gradient(140deg,var(--blue),var(--accent));background-size:cover;background-position:center}
.post .body{padding:24px}.post .k{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700}
.post h4{font-family:'Inter',sans-serif;font-weight:700;font-size:18px;line-height:1.3;margin:10px 0 0;color:var(--ink);letter-spacing:-.01em}

.cta{background:radial-gradient(760px 380px at 82% -20%,rgba(104,162,246,.35),transparent),linear-gradient(120deg,#0d162d,#060a15);color:#fff;border-radius:24px;padding:clamp(44px,6vw,72px);text-align:center;box-shadow:var(--shadow)}
.cta h2{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.03em;font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:10px;color:#fff}.cta p{color:rgba(255,255,255,.8);margin-bottom:28px;font-size:18px}

.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.chip{background:var(--paper);border:1px solid var(--zinc-200);border-radius:12px;padding:15px 18px;font-family:'Inter',sans-serif;font-weight:700;font-size:14.5px;color:var(--ink);display:flex;align-items:center;gap:10px}
.chip:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--blue);flex:none}
.check-grid{list-style:none;padding:0;margin:26px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:860px}
.check-grid li{position:relative;padding-left:30px;color:var(--zinc-600)}.check-grid li:before{content:"\2713";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
@media(max-width:700px){.check-grid{grid-template-columns:1fr}}
.landing-sec{padding:clamp(56px,8vw,104px) 0}
.readable{max-width:var(--readw);margin:0 auto}.readable p{color:var(--zinc-600);margin:0 0 16px;font-size:17.5px;line-height:1.85}.readable h3{font-family:'Inter',sans-serif;font-size:1.3rem;font-weight:700;letter-spacing:-.018em;color:var(--ink);margin:26px 0 8px}

.page-hero{background:radial-gradient(900px 400px at 75% -30%,rgba(194,76,86,.4),transparent),linear-gradient(160deg,#0d162d,#060a15);color:#fff;padding:clamp(60px,7vw,92px) 0}
.page-hero h1{font-size:clamp(2.1rem,4vw,3.3rem);font-weight:300;color:#fff;letter-spacing:-.03em}
.page-hero .meta{color:rgba(255,255,255,.6);font-family:'Inter',sans-serif;font-size:14px;margin-bottom:10px}
.page-main{padding:clamp(52px,7vw,84px) 0}
.page-content{max-width:var(--readw);margin:0 auto;font-family:'Cabin',system-ui,sans-serif;font-size:1.0625rem;line-height:1.85;color:#cdd0d8}
.page-content>*:first-child{margin-top:0}
.page-content h2{font-family:'Inter',sans-serif;font-size:1.625rem;font-weight:800;color:var(--ink);letter-spacing:-.025em;line-height:1.2;margin:2.75em 0 .6em;padding-bottom:.4em;border-bottom:1px solid rgba(175,60,69,.14)}
.page-content h3{font-family:'Inter',sans-serif;font-size:1.3125rem;font-weight:700;color:var(--ink);letter-spacing:-.018em;margin:2.25em 0 .5em}
.page-content h4{font-family:'Inter',sans-serif;font-size:1.0625rem;font-weight:700;color:#e2e4eb;margin:1.75em 0 .4em}
.page-content p{margin:0 0 1.6em}
.page-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.page-content a:hover{color:var(--blue-600)}
.page-content strong{font-weight:700;color:var(--ink)}
.page-content ul{list-style:none;padding:0;margin:0 0 1.6em}
.page-content ul li{padding-left:1.6em;position:relative;margin-bottom:.65em}
.page-content ul li:before{content:'';position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.page-content ol{padding-left:1.75em;margin-bottom:1.6em}.page-content ol li{margin-bottom:.65em}.page-content ol li::marker{color:var(--blue);font-weight:700}
.page-content blockquote{border-left:4px solid var(--blue);margin:2.25em 0;padding:1.1em 1.5em;background:rgba(175,60,69,.05);border-radius:0 14px 14px 0;font-style:italic;color:#cdd0d8}
.page-content img{max-width:100%;height:auto;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);margin:1.75em auto;display:block}
.page-content svg{display:none !important}
.page-content table{width:100%;border-collapse:collapse;margin:2em 0;font-size:.95rem}
.page-content th{background:rgba(175,60,69,.08);color:var(--ink);font-family:'Inter',sans-serif;font-weight:700;padding:10px 14px;text-align:left;border-bottom:2px solid rgba(175,60,69,.2)}
.page-content td{padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.06);vertical-align:top}
.single .page-content{max-width:760px}
.meta{font-family:'Inter',sans-serif;font-size:13.5px;color:var(--zinc-500)}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}@media(max-width:920px){.archive-grid{grid-template-columns:1fr}}

.site-footer{background:var(--flat-dark);color:rgba(255,255,255,.68);padding:72px 0 36px}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:38px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.1)}
.fgrid h5{font-family:'Inter',sans-serif;color:#fff;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;font-weight:700}
.fgrid a,.fgrid p{display:block;color:rgba(255,255,255,.6);font-size:15px;margin-bottom:10px}.fgrid a:hover{color:var(--blue-300)}
.flogo{font-family:'Inter',sans-serif;font-weight:800;font-size:23px;color:#fff;margin-bottom:14px}
.copy{padding-top:24px;font-size:13.5px;color:rgba(255,255,255,.42);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.copy a{color:rgba(255,255,255,.55)}.copy a:hover{color:var(--blue-300)}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
/* ── Motion / scroll-reveal ── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.in-view{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important;transition:none}}
@keyframes corePulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}

.hero-anim{background:#10172a;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(0,0,0,.55)}

/* Landing section rhythm + card definition (v2) */
.landing-sec{padding:clamp(56px,8vw,102px) 0}
.landing-sec.alt{background:var(--bg-light);position:relative}
.landing-sec.alt:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.09) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.landing-sec .wrap{position:relative}
.landing-sec .center{max-width:760px;margin:0 auto 46px}
.landing-sec .readable{max-width:800px;margin:0 auto}
.card{background:var(--paper);border:1px solid rgba(175,60,69,.1);box-shadow:0 2px 18px rgba(175,60,69,.06);-webkit-backdrop-filter:none;backdrop-filter:none}
.card:hover{border-color:rgba(175,60,69,.32);box-shadow:0 24px 48px -14px rgba(175,60,69,.2)}

/* ===== Footer v2 (KYCopilot-grade) ===== */
.site-footer{position:relative;overflow:hidden;background:var(--flat-dark);padding:0}
.foot-shimmer{height:1px;background:linear-gradient(90deg,transparent,rgba(196,81,91,.5),transparent)}
.foot-orb{position:absolute;width:520px;height:520px;bottom:-230px;right:-110px;border-radius:50%;filter:blur(140px);opacity:.14;background:radial-gradient(circle,var(--blue-400),transparent 70%);pointer-events:none}
.site-footer .wrap{position:relative;z-index:1;padding-top:66px;padding-bottom:38px}
.site-footer .fgrid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:40px;padding-bottom:44px;border-bottom:none}
@media(max-width:1000px){.site-footer .fgrid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:600px){.site-footer .fgrid{grid-template-columns:1fr 1fr}}
.fbrand{max-width:300px}
.fbrand .flogo{display:inline-block;font-family:'Inter',sans-serif;font-weight:800;font-size:22px;color:#fff;letter-spacing:-.02em;margin-bottom:14px}
.fdesc{font-family:'Cabin',sans-serif;font-size:14px;line-height:1.6;color:#8b8e94;margin:0 0 12px}
.ftag{font-family:'Cabin',sans-serif;font-size:13px;font-style:italic;color:rgba(196,81,91,.72);margin:0 0 18px}
.status-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.22);border-radius:999px;padding:6px 14px;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;color:#22c55e}
.status-pill span{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.6)}
.fsocial{margin-top:18px;display:flex;gap:10px}
.fsocial a{width:36px;height:36px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:rgba(196,81,91,.1);border:1px solid rgba(196,81,91,.18);color:#8b8e94;transition:.15s}
.fsocial a:hover{background:rgba(196,81,91,.2);border-color:rgba(196,81,91,.45);color:var(--blue-300)}
.fcontact{margin-top:16px;font-family:'Cabin',sans-serif;font-size:13.5px;color:#8b8e94;line-height:1.7}
.fcol h4{font-family:'Inter',sans-serif;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#b1b5be;margin:0 0 18px}
.fcol a{display:block;font-family:'Cabin',sans-serif;font-size:14px;color:#9096a3;margin-bottom:11px;transition:color .15s}
.fcol a:hover{color:var(--blue-300)}
.site-footer .copy{border-top:1px solid rgba(255,255,255,.07);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:'Cabin',sans-serif;font-size:13px;color:#b1b5be}
.site-footer .copy a{color:#b1b5be}.site-footer .copy a:hover{color:var(--blue-300)}
/* Header scroll state + login ghost button */
.site-header{transition:background .3s ease,box-shadow .3s ease}
.site-header.scrolled{background:rgba(255,255,255,.93);box-shadow:0 6px 22px -12px rgba(175,60,69,.2)}
.nav-right .login{padding:8px 16px;border:1px solid var(--zinc-200);border-radius:11px;transition:.15s;font-weight:600}
.nav-right .login:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-050)}

/* Footer: wider centered content area */
.site-footer .wrap{max-width:1340px}

/* Footer navy + full width */
.site-footer{background:#0a2540 !important;width:100%;max-width:100%}
.foot-orb{background:radial-gradient(circle,#1e6fa0,transparent 70%)}

/* Footer content aligns to the site/hero container width */
.site-footer .wrap{max-width:var(--maxw)}

/* Force footer full-bleed to screen edges */
html,body{margin:0;padding:0;}


/* Full-bleed section backgrounds (content stays centered via inner .wrap) */


/* ===== Section background system (preserved brand colours) ===== */
.bg-grad-tex{background:#101729 url('/wp-content/uploads/2024/09/bg3.jpg') center/cover no-repeat;color:#fff}
.bg-grad{background:linear-gradient(100deg,#0e1832 0%,#1f2638 52%,#1a2a58 100%);color:#fff}
.bg-black{background:#0a0e18 url('/wp-content/uploads/2025/07/BGB.jpg') center/cover no-repeat;color:#fff}
.bg-white-tex{background:var(--paper) url('/wp-content/uploads/2024/09/Background2-01.jpg') center/cover no-repeat;color:var(--ink)}
.bg-grad-tex h1,.bg-grad-tex h2,.bg-grad-tex h3,.bg-grad h1,.bg-grad h2,.bg-grad h3,.bg-black h1,.bg-black h2,.bg-black h3{color:#fff}
/* Hero -> textured gradient */
.hero{background:#101729 url('/wp-content/uploads/2024/09/bg3.jpg') center/cover no-repeat !important}
.hero:after{display:none !important}

/* Hero without animation (text only) */
.hero .hero-solo{display:block;padding:clamp(100px,14vw,165px) 0}
.hero .hero-solo>div{max-width:760px}
/* Footer = textured gradient (same as hero) */
.site-footer{background:#101729 url('/wp-content/uploads/2024/09/bg3.jpg') center/cover no-repeat !important}
.foot-orb{display:none}

/* Square buttons */
.btn{border-radius:var(--rbtn)}
.nav-right .login{border-radius:3px}

/* Header: full width, roomy nav (not compressed) */
.site-header .nav{max-width:none !important;padding-left:clamp(24px,3.5vw,60px) !important;padding-right:clamp(24px,3.5vw,60px) !important;margin:0}
.site-header ul.nav-menu{gap:30px}
.site-header .nav-right{gap:18px}

/* Header explicit full-width layout: logo left, nav centered, actions right */
header.site-header .nav{max-width:none !important;width:auto !important;padding:0 clamp(24px,4vw,64px) !important;margin:0 !important;justify-content:space-between !important;gap:32px}
header.site-header ul.nav-menu{flex:1 1 auto;justify-content:center;gap:clamp(18px,2vw,34px)}
header.site-header .logo{flex:0 0 auto}
header.site-header .nav-right{flex:0 0 auto}

/* Override hello-elementor's cap on .site-header */
header.site-header{max-width:none !important;width:100% !important;display:block !important;margin-left:0 !important;margin-right:0 !important;padding:0 !important}

/* ===== Unified container width (KYCopilot = 1280) for header, footer, sections ===== */
:root{--maxw:1280px}
header.site-header .nav{max-width:1280px !important;width:100% !important;margin:0 auto !important;padding-left:24px !important;padding-right:24px !important;justify-content:space-between !important}
header.site-header ul.nav-menu{flex:1 1 auto;justify-content:center;gap:clamp(16px,1.6vw,30px)}

/* Container slightly bigger */
:root{--maxw:1440px}
header.site-header .nav{max-width:1440px !important}

/* Button hover states: keep readable contrast (override inherited link-hover blue) */
.btn:hover,.btn:focus{text-decoration:none}
.btn-red:hover,.btn-red:focus,.btn-blue:hover,.btn-blue:focus,.btn-ghost:hover,.btn-ghost:focus{color:#fff !important}
.nav-right .login:hover,.nav-right .login:focus{background:var(--blue) !important;border-color:var(--blue) !important;color:#fff !important}
.more:hover{color:var(--accent-600) !important}

/* ===== WordPress core classes (standalone theme requirements) ===== */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--paper);clip:auto;clip-path:none;color:var(--blue);display:block;font-size:14px;height:auto;left:6px;line-height:normal;padding:14px 22px;text-decoration:none;top:6px;width:auto;z-index:100000}
.alignleft{float:left;margin-right:1.5em;margin-bottom:1em}
.alignright{float:right;margin-left:1.5em;margin-bottom:1em}
.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{max-width:100%;width:100%}
.wp-caption{max-width:100%;margin-bottom:1.5em}
.wp-caption img{display:block;margin:0 auto}
.wp-caption-text,figcaption{font-size:13.5px;color:var(--zinc-500);text-align:center;margin-top:.5em;font-style:italic}
.sticky{display:block}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:1.5em 0}
.gallery-item img{border-radius:10px}
.bypostauthor{display:block}
.nga-search{display:flex;gap:10px;flex-wrap:wrap}
.nga-search input[type=search]{flex:1 1 220px;padding:12px 14px;border:1px solid var(--zinc-200);border-radius:3px;font-family:'Cabin',sans-serif;font-size:15px}
.comment-list{list-style:none;padding:0}
.fwidget{margin-bottom:18px}

/* Header: match 'Request a Demo' size to 'Login'; Login hover = red */
header.site-header .nav-right .btn{padding:8px 16px;font-size:14.5px;font-weight:600;line-height:normal}
header.site-header .nav-right .login{padding:8px 16px;font-size:14.5px;font-weight:600;line-height:normal}
header.site-header .nav-right .login:hover,header.site-header .nav-right .login:focus{background:var(--accent) !important;border-color:var(--accent) !important;color:#fff !important}

/* Larger header buttons + ensure sticky header */
header.site-header{position:-webkit-sticky !important;position:sticky !important;top:0 !important;z-index:1000 !important}
header.site-header .nav-right .btn,header.site-header .nav-right .login{padding:12px 26px;font-size:15px;font-weight:700}
header.site-header .nav{height:82px}

/* Full-width bands (natural block width; no 100vw hack so sticky works) */
header.site-header,.site-footer,.landing-sec,.trust,section.blk,.page-hero{width:auto;max-width:none;margin-left:0;margin-right:0}
html,body{overflow-x:clip}

/* Remove button glow in header + hero */
header.site-header .btn,header.site-header .btn:hover,header.site-header .btn:focus,
.hero .btn,.hero .btn:hover,.hero .btn:focus{box-shadow:none !important}
/* Hero eyebrow slightly larger */
.hero .eyebrow{font-size:13.5px;letter-spacing:.22em}

/* No lift/popup on button hover (site-wide) */
.btn:hover,.btn:focus,.btn-red:hover,.btn-blue:hover,.btn-ghost:hover,
header.site-header .nav-right .login:hover{transform:none !important}
/* Optically align hero eyebrow with the large H1 (bigger type has larger side bearing) */
.hero .eyebrow{margin-left:4px}

/* Hero containers were losing the standard 24px side padding (padding: X 0) -> restore so hero aligns with logo/sections/footer */
.hero .hero-solo,.hero .hero-grid{padding-left:24px !important;padding-right:24px !important}
/* Eyebrow: a touch further right for optical alignment */
.hero .eyebrow{margin-left:8px}

/* .wrap.feat also lost its side padding (padding: 26px 0) */
.wrap.feat{padding-left:24px !important;padding-right:24px !important}

/* ===== Coded hero/footer background (replaces bg3.jpg) ===== */
.hero,.site-footer{background:
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNjAiIGhlaWdodD0iMzEyIiB2aWV3Qm94PSIwIDAgMzYwIDMxMiI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDIyIi8+PHBvbHlnb24gcG9pbnRzPSIyNzAsMCAzNjAsNTIgMzYwLDE1NiAyNzAsMjA4IDE4MCwxNTYgMTgwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDUiLz48cG9seWdvbiBwb2ludHM9IjkwLDEwNCAxODAsMTU2IDE4MCwyNjAgOTAsMzEyIDAsMjYwIDAsMTU2IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz48cG9seWdvbiBwb2ludHM9IjI3MCwxMDQgMzYwLDE1NiAzNjAsMjYwIDI3MCwzMTIgMTgwLDI2MCAxODAsMTU2IiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDE4Ii8+PHBvbHlnb24gcG9pbnRzPSIxODAsNTIgMjcwLDEwNCAyNzAsMjA4IDE4MCwyNjAgOTAsMjA4IDkwLDEwNCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyOCIvPjxwb2x5Z29uIHBvaW50cz0iMCwtNTIgOTAsMCA5MCwxMDQgMCwxNTYgLTkwLDEwNCAtOTAsMCIgZmlsbD0iI2ZmZmZmZiIgZmlsbC1vcGFjaXR5PSIwLjAxNSIvPjxwb2x5Z29uIHBvaW50cz0iMzYwLDIwOCA0NTAsMjYwIDQ1MCwzNjQgMzYwLDQxNiAyNzAsMzY0IDI3MCwyNjAiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMiIvPjwvZz48L3N2Zz4=') repeat,
  radial-gradient(900px 500px at 8% 20%, rgba(159,54,63,.55), transparent 65%),
  radial-gradient(1000px 620px at 96% 78%, rgba(163,56,65,.6), transparent 68%),
  linear-gradient(100deg,#0e1832 0%,#111c3b 34%,#1f2638 56%,#16244b 76%,#1b2d5e 100%) !important;
  background-size:360px 312px,auto,auto,auto}

/* Softer facet texture (v2) */
.hero,.site-footer{background:
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNjAiIGhlaWdodD0iMzEyIiB2aWV3Qm94PSIwIDAgMzYwIDMxMiI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSIyNzAsMCAzNjAsNTIgMzYwLDE1NiAyNzAsMjA4IDE4MCwxNTYgMTgwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCwxMDQgMTgwLDE1NiAxODAsMjYwIDkwLDMxMiAwLDI2MCAwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxOCIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjE4MCw1MiAyNzAsMTA0IDI3MCwyMDggMTgwLDI2MCA5MCwyMDggOTAsMTA0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDEzIi8+PHBvbHlnb24gcG9pbnRzPSIwLC01MiA5MCwwIDkwLDEwNCAwLDE1NiAtOTAsMTA0IC05MCwwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA3Ii8+PHBvbHlnb24gcG9pbnRzPSIzNjAsMjA4IDQ1MCwyNjAgNDUwLDM2NCAzNjAsNDE2IDI3MCwzNjQgMjcwLDI2MCIgZmlsbD0iI2ZmZmZmZiIgZmlsbC1vcGFjaXR5PSIwLjAwOSIvPjwvZz48L3N2Zz4=') repeat,
  radial-gradient(900px 500px at 8% 20%, rgba(159,54,63,.55), transparent 65%),
  radial-gradient(1000px 620px at 96% 78%, rgba(163,56,65,.6), transparent 68%),
  linear-gradient(100deg,#0e1832 0%,#111c3b 34%,#1f2638 56%,#16244b 76%,#1b2d5e 100%) !important;
  background-size:360px 312px,auto,auto,auto}

/* Organic non-uniform facet texture (v3) */
.hero,.site-footer{background:
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat,
  radial-gradient(900px 500px at 8% 20%, rgba(159,54,63,.55), transparent 65%),
  radial-gradient(1000px 620px at 96% 78%, rgba(163,56,65,.6), transparent 68%),
  linear-gradient(100deg,#0e1832 0%,#111c3b 34%,#1f2638 56%,#16244b 76%,#1b2d5e 100%) !important;
  background-size:720px 624px,auto,auto,auto}

/* Gradient matched to sampled bg3.jpg pixels (v4) */
.hero,.site-footer{background:
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat,
  linear-gradient(97deg,#070b17 0%,#090e1e 15%,#0b1327 33%,#0e1730 50%,#111c3a 66%,#142144 83%,#17264f 100%) !important;
  background-size:720px 624px,auto}

/* ===== Footer v3: dynamic columns (mirror header menu) + proper contrast on gradient ===== */
.site-footer .fgrid{grid-template-columns:1.6fr repeat(5,1fr)}
@media(max-width:1100px){.site-footer .fgrid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.site-footer .fgrid{grid-template-columns:1fr 1fr}}
.fcol h4{color:#ffffff;font-size:13px;letter-spacing:.12em}
.fcol a{color:rgba(255,255,255,.78);font-size:14px}
.fcol a:hover{color:#ffffff;text-decoration:underline;text-underline-offset:3px}
.fdesc{color:rgba(255,255,255,.75)}
.ftag{color:rgba(255,255,255,.62)}
.fcontact,.fcontact a{color:rgba(255,255,255,.78)}
.fcontact a:hover{color:#fff}
.fsocial a{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.8)}
.fsocial a:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.45);color:#fff}
.site-footer .copy{color:rgba(255,255,255,.6)}
.site-footer .copy a{color:rgba(255,255,255,.6)}.site-footer .copy a:hover{color:#fff}
.foot-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent)}

/* Black bottom bar */
.foot-bottom{background:#07090d;padding:0}
.fb-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:18px;padding-bottom:18px;font-family:'Cabin',sans-serif;font-size:13.5px;color:rgba(255,255,255,.55)}
.fb-links{display:flex;gap:26px;flex-wrap:wrap}
.fb-links a{color:rgba(255,255,255,.62)}
.fb-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.site-footer .wrap{padding-bottom:44px}

/* Thin, sticky bottom bar */
.foot-bottom{position:fixed;bottom:0;left:0;right:0;z-index:900;background:#07090d}
.fb-inner{padding-top:9px;padding-bottom:9px;font-size:12.5px;gap:8px}
.fb-links{gap:20px}
body{padding-bottom:38px}

/* fb-inner is a .wrap -> neutralize the footer wrap's big padding */
.site-footer .wrap.fb-inner{padding-top:9px !important;padding-bottom:9px !important}
body{padding-bottom:42px}

/* Icons in bottom-bar links */
.fb-links a{display:inline-flex;align-items:center;gap:7px}
.fb-links a svg{width:13px;height:13px;opacity:.75;flex:none}
.fb-links a:hover svg{opacity:1}

/* ===== Featured posts / Spotlight ===== */
.spotlight{background:var(--bg-light);position:relative}
.spotlight:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.09) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.spotlight .wrap{position:relative}
.spot-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.spot-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:800;letter-spacing:-.03em;margin:4px 0 0;color:var(--ink)}
.btn-ghost-dark{border:1px solid rgba(196,81,91,.45);color:var(--accent);background:transparent}
.btn-ghost-dark:hover{background:var(--accent);border-color:var(--accent);color:#fff !important}
.spotlight .posts{gap:26px}
.spotlight .post{background:var(--paper);border:1px solid rgba(175,60,69,.1);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.spotlight .post:hover{transform:translateY(-5px);border-color:rgba(175,60,69,.3);box-shadow:0 22px 46px -16px rgba(175,60,69,.24)}
.spotlight .post .thumb{height:194px;background:linear-gradient(140deg,#070b17,#17264f);background-size:cover;background-position:center;transition:transform .5s ease}
.spotlight .post:hover .thumb{transform:scale(1.05)}
.spotlight .post .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.post-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.spotlight .post .k{font-family:'Inter',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-050);padding:4px 9px;border-radius:3px}
.post-date{font-family:'Inter',sans-serif;font-size:12px;color:var(--zinc-500)}
.spotlight .post h4{font-family:'Inter',sans-serif;font-weight:700;font-size:17.5px;line-height:1.32;letter-spacing:-.015em;color:var(--ink);margin:0 0 10px}
.post-ex{font-family:'Cabin',sans-serif;font-size:14.5px;line-height:1.65;color:var(--zinc-600);margin:0 0 16px}
.post-more{margin-top:auto;font-family:'Inter',sans-serif;font-weight:700;font-size:13.5px;color:var(--accent)}
.spotlight .post:hover .post-more{text-decoration:underline;text-underline-offset:3px}
@media(max-width:920px){.spot-head{align-items:flex-start}}

/* Spotlight thumbs now use real <img> (alt text = SEO/a11y) */
.spotlight .post .thumb{height:194px;overflow:hidden;background:linear-gradient(140deg,#070b17,#17264f);transform:none !important}
.spotlight .post .thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none;transition:transform .5s ease}
.spotlight .post:hover .thumb img{transform:scale(1.06)}

/* ===== Spotlight on hero gradient (contrast-corrected) ===== */
.spotlight{background:
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat,
  linear-gradient(97deg,#070b17 0%,#090e1e 15%,#0b1327 33%,#0e1730 50%,#111c3a 66%,#142144 83%,#17264f 100%) !important;
  background-size:720px 624px,auto}
.spotlight:before{display:none}
.spotlight .eyebrow{color:#d97b88}
.spotlight .spot-head h2{color:#fff}
/* View-all button: light ghost on dark */
.spotlight .btn-ghost-dark{border:1px solid rgba(255,255,255,.4);color:#fff;background:transparent}
.spotlight .btn-ghost-dark:hover{background:var(--paper);border-color:#fff;color:#0e1832 !important}
/* Cards stay light so their text keeps contrast; lift them off the dark bg */
.spotlight .post{background:var(--paper);border-color:rgba(255,255,255,.14);box-shadow:0 18px 40px -18px rgba(0,0,0,.5)}
.spotlight .post:hover{border-color:rgba(255,255,255,.5);box-shadow:0 26px 54px -18px rgba(0,0,0,.6)}

/* Spotlight: smooth gradient only (no facet texture) */
.spotlight{background:linear-gradient(97deg,#070b17 0%,#090e1e 15%,#0b1327 33%,#0e1730 50%,#111c3a 66%,#142144 83%,#17264f 100%) !important}

/* Spotlight eyebrow matches the hero eyebrow exactly */
.spotlight .eyebrow{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-400) !important;margin-bottom:10px;margin-left:4px}

/* ===== CTA v2: near-black, refined ===== */
.cta-sec{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(56px,7vw,96px)}
.cta{position:relative;overflow:hidden;background:#0b0d11 !important;border:1px solid rgba(255,255,255,.07);border-radius:22px;padding:clamp(48px,6.5vw,86px) clamp(28px,5vw,72px);text-align:center;box-shadow:0 30px 70px -30px rgba(0,0,0,.75)}
.cta:before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(213,111,124,.6),rgba(104,162,246,.6),transparent)}
.cta-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(620px 300px at 12% -20%,rgba(196,81,91,.16),transparent 70%),radial-gradient(620px 320px at 88% 120%,rgba(104,162,246,.16),transparent 70%)}
.cta-inner{position:relative;z-index:1;max-width:760px;margin:0 auto}
.cta .eyebrow{color:var(--blue-400) !important;font-size:13.5px;letter-spacing:.22em;font-weight:700;margin-bottom:14px}
.cta h2{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.035em;font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;color:#fff;margin:0 0 14px}
.cta p{color:rgba(255,255,255,.7);font-size:18px;margin:0 auto 32px;max-width:560px}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-outline-light{border:1px solid rgba(255,255,255,.28);color:#fff;background:transparent}
.btn-outline-light:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55);color:#fff !important}
.cta-points{list-style:none;display:flex;gap:30px;justify-content:center;flex-wrap:wrap;margin:34px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.08)}
.cta-points li{position:relative;padding-left:22px;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.62)}
.cta-points li:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--blue-400)}
@media(max-width:620px){.cta-points{gap:14px;flex-direction:column;align-items:center}}

/* ===== CTA v3: full-bleed band, slate navy ===== */
.cta-sec{position:relative;overflow:hidden;background:#0a0e19;padding:clamp(64px,8vw,110px) 0}
.cta-sec:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(213,111,124,.5),rgba(104,162,246,.5),transparent)}
.cta-sec:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 340px at 10% -25%,rgba(196,81,91,.14),transparent 70%),radial-gradient(700px 360px at 90% 125%,rgba(104,162,246,.14),transparent 70%)}
/* neutralise the old card look */
.cta-sec .cta{position:relative;z-index:1;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;overflow:visible}
.cta-sec .cta:before{display:none}
.cta-glow{display:none}

/* No glow on CTA buttons */
.cta-sec .btn,.cta-sec .btn:hover,.cta-sec .btn:focus{box-shadow:none !important}

/* ===== Client logo strip (KYCopilot pattern, NGA palette) ===== */
.logo-strip-section{background:#10172a;padding:28px 40px 36px;border-top:1px solid rgba(175,60,69,.1);border-bottom:1px solid rgba(175,60,69,.1)}
.logo-strip-label{text-align:center;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7d8089;margin:0 0 24px}
.logo-strip-row{display:flex;align-items:center;justify-content:space-evenly;flex-wrap:nowrap;max-width:var(--maxw);margin:0 auto}
.logo-strip-row img{height:40px;width:auto;object-fit:contain;margin:0;border-radius:0;box-shadow:none;opacity:.78;transition:opacity .2s ease}
.logo-strip-row img:hover{opacity:1}
@media(max-width:768px){
 .logo-strip-section{padding-left:0 !important;padding-right:0 !important}
 .logo-strip-label{padding-left:20px;padding-right:20px}
 .logo-strip-row{justify-content:flex-start;gap:28px;overflow-x:auto;padding:4px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
 .logo-strip-row::-webkit-scrollbar{display:none}
 .logo-strip-row img{flex-shrink:0 !important}
}

/* Logos have built-in whitespace padding in the PNG - size up to compensate */
.logo-strip-section{padding:34px 40px 40px}
.logo-strip-row img{height:72px}
@media(max-width:768px){.logo-strip-row img{height:60px}}

/* ===== Client logo strip: EXACT KYCopilot spec ===== */
.logo-strip-section{background:#10172a;padding:28px 40px 36px;border-top:1px solid rgba(213,111,124,.1);border-bottom:1px solid rgba(213,111,124,.1)}
.logo-strip-label{text-align:center;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7d8089;margin:0 0 24px}
.logo-strip-row{display:flex;align-items:center;justify-content:space-evenly;flex-wrap:nowrap;max-width:none;margin:0}
.logo-strip-row img{margin:0;border-radius:0;box-shadow:none;opacity:1}
@media(max-width:768px){
 .logo-strip-section{padding-left:0 !important;padding-right:0 !important}
 .logo-strip-label{padding-left:20px !important;padding-right:20px !important}
 .logo-strip-row{justify-content:flex-start !important;gap:28px !important;overflow-x:auto;padding:4px 20px !important;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
 .logo-strip-row::-webkit-scrollbar{display:none}
 .logo-strip-row img{flex-shrink:0 !important}
}

/* ===== Client logo carousel (infinite marquee) ===== */
.logo-strip-section{background:#10172a;padding:34px 0 40px;border-top:1px solid rgba(213,111,124,.1);border-bottom:1px solid rgba(213,111,124,.1);overflow:hidden}
.logo-strip-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.logo-strip-label{text-align:center;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--zinc-500);margin:0 0 30px}
/* viewport: 5 logos visible, soft fade at both edges */
.logo-marquee{--n:8;--visible:5;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.logo-track{display:flex;align-items:center;width:calc(100% * var(--n) * 2 / var(--visible));animation:logoScroll 46s linear infinite;will-change:transform;backface-visibility:hidden}
.logo-item{flex:0 0 calc(100% / (var(--n) * 2));display:flex;align-items:center;justify-content:center;padding:0 10px}
.logo-item img{width:auto;max-width:100%;object-fit:contain;margin:0;border-radius:0;box-shadow:none;display:block}
@keyframes logoScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:900px){.logo-marquee{--visible:3}}
@media(max-width:560px){.logo-marquee{--visible:2}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}}

/* Revert to static strip (KYCopilot layout) - keep the larger label */
.logo-strip-section{background:#10172a;padding:28px 40px 36px;border-top:1px solid rgba(213,111,124,.1);border-bottom:1px solid rgba(213,111,124,.1);overflow:visible}
.logo-strip-label{text-align:center;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--zinc-500);margin:0 0 26px}
.logo-strip-row{display:flex;align-items:center;justify-content:space-evenly;flex-wrap:nowrap;max-width:none;margin:0;overflow:visible;-webkit-mask-image:none;mask-image:none;animation:none}
.logo-strip-row img{margin:0;border-radius:0;box-shadow:none;opacity:1}
@media(max-width:768px){
 .logo-strip-section{padding-left:0 !important;padding-right:0 !important}
 .logo-strip-label{padding-left:20px !important;padding-right:20px !important}
 .logo-strip-row{justify-content:flex-start !important;gap:28px !important;overflow-x:auto;padding:4px 20px !important;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
 .logo-strip-row::-webkit-scrollbar{display:none}
 .logo-strip-row img{flex-shrink:0 !important}
}

/* More breathing room in the client strip */
.logo-strip-section{padding:52px 40px 58px}
.logo-strip-label{margin:0 0 38px}

/* ===== Dark feature sections (RiskSecure / I2G) ===== */
.dfeat{background:#0b0e14;color:#fff;padding:clamp(76px,9vw,124px) 0;position:relative;overflow:hidden}
.dfeat:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 380px at 8% 0%,rgba(196,81,91,.10),transparent 70%),radial-gradient(700px 380px at 95% 100%,rgba(104,162,246,.10),transparent 70%)}
.dfeat-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,5vw,72px);align-items:center;position:relative;z-index:1}
.dfeat-grid.rev{grid-template-columns:1.15fr 1fr}
.dfeat-copy .eyebrow{color:var(--blue-300)}
.dfeat-copy h2{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(1.7rem,2.8vw,2.35rem);letter-spacing:-.025em;line-height:1.15;color:#fff;margin:8px 0 18px}
.dfeat-copy p{color:rgba(255,255,255,.66);font-size:17px;line-height:1.75;margin:0 0 30px}
@media(max-width:920px){.dfeat-grid,.dfeat-grid.rev{grid-template-columns:1fr}.dfeat-grid.rev .dfeat-visual{order:2}}

/* Mock UI cards */
.mock{background:var(--paper);border-radius:12px;box-shadow:0 26px 60px -22px rgba(0,0,0,.75);padding:14px 16px;font-family:'Inter',sans-serif;color:#e2e4eb}
.mk-head{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;color:#edeff4;padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid #1d2436}
.mk-right{margin-left:auto;font-size:10px;font-weight:600;color:#8b8e94}
.mk-pill{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--blue-050);color:var(--blue);padding:3px 8px;border-radius:99px}
.mk-row{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:500;color:#cdd0d8;padding:6px 0;border-bottom:1px solid #161d30}
.mk-row:last-child{border-bottom:0}
.mk-row b{margin-left:auto;font-weight:700;color:#edeff4}
.sw{width:10px;height:10px;border-radius:3px;flex:none}
.chip{font-size:8.5px;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:99px;flex:none}
.chip-r{background:rgba(193,73,83,.14);color:#C14953}
.chip-a{background:rgba(240,180,41,.18);color:#a16207}
.mk-donut-wrap{display:flex;align-items:center;gap:14px;padding:6px 0 2px}
.mk-donut{width:84px;height:84px;border-radius:50%;flex:none;background:conic-gradient(#9ab2ce 0 46%,#f0b429 46% 72%,#C14953 72% 100%);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 26px,#000 27px);mask:radial-gradient(circle at 50% 50%,transparent 26px,#000 27px)}
.mk-legend{display:grid;gap:7px;font-size:10px;color:#b1b5be}
.mk-legend span{display:flex;align-items:center;gap:7px}
.mk-score{display:flex;align-items:baseline;gap:10px;padding:4px 0 2px}
.big-score{font-size:44px;font-weight:800;color:#C14953;line-height:1}
.risk-flag{font-size:11px;font-weight:800;color:#C14953;letter-spacing:.04em}
.mk-sub{font-size:9.5px;color:#8b8e94;margin-bottom:8px}

/* Isometric stage */
.dfeat-visual.iso{perspective:1600px}
.iso-stage{display:grid;grid-template-columns:1fr 1fr;gap:20px;transform:rotateX(16deg) rotateZ(-10deg);transform-style:preserve-3d}
.iso-stage .mock{animation:mockFloat 7s ease-in-out infinite}
.iso-stage .mock:nth-child(2){animation-delay:-1.8s}
.iso-stage .mock:nth-child(3){animation-delay:-3.5s}
.iso-stage .mock:nth-child(4){animation-delay:-5.2s}
@keyframes mockFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:920px){.iso-stage{transform:none;grid-template-columns:1fr 1fr;gap:14px}}
@media(prefers-reduced-motion:reduce){.iso-stage .mock{animation:none}}

/* I2G layered visual */
.dfeat-visual.flat{position:relative;padding-bottom:64px}
.mock-score{max-width:520px}
.mk-tabs{display:flex;gap:14px;font-size:9.5px;font-weight:600;color:#9096a3;margin-bottom:10px}
.mk-tabs .on{color:var(--blue);border-bottom:2px solid var(--blue);padding-bottom:3px}
.bar-row{display:flex;align-items:center;gap:10px;padding:5px 0}
.bar-row label{flex:0 0 108px;font-size:9.5px;color:#b1b5be;text-align:right}
.bar-row b{flex:0 0 20px;font-size:9.5px;font-weight:700;color:#cdd0d8}
.track{flex:1;height:9px;border-radius:99px;background:#161d30;overflow:hidden}
.bar{display:block;height:100%;border-radius:99px;width:0;transition:width 1.1s cubic-bezier(.22,1,.36,1)}
.bar-row:nth-child(4) .bar{transition-delay:.08s}.bar-row:nth-child(5) .bar{transition-delay:.16s}.bar-row:nth-child(6) .bar{transition-delay:.24s}.bar-row:nth-child(7) .bar{transition-delay:.32s}.bar-row:nth-child(8) .bar{transition-delay:.4s}
.dfeat-visual.in-view .bar,.in-view .dfeat-visual .bar{width:var(--w)}
.mock-article{position:absolute;right:0;bottom:0;width:min(72%,400px);animation:mockFloat 8s ease-in-out infinite;animation-delay:-2.6s}
.art-head{display:flex;align-items:flex-start;gap:8px;font-size:11px;font-weight:700;color:#edeff4;line-height:1.35}
.art-head .sb{margin-left:auto}
.sb{font-size:10px;font-weight:800;color:#fff;border-radius:5px;padding:3px 7px;flex:none}
.sb-r{background:#C14953}
.sb-a{background:#f0b429;color:#4a3403}
.score-badges{display:flex;gap:4px}
.star{color:#f0b429;font-size:12px}
.art-src{font-size:9px;color:#c4515b;font-style:italic;margin:6px 0}
.art-snip{font-size:10px;line-height:1.6;color:#cdd0d8;margin:0 0 8px;font-family:'Cabin',sans-serif}
.art-snip mark{background:rgba(196,81,91,.18);padding:0 2px;border-radius:2px}
.art-snip mark.mk-red{background:rgba(193,73,83,.2)}
.art-tags{font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#C14953}
@media(max-width:920px){.dfeat-visual.flat{padding-bottom:0}.mock-article{position:static;width:auto;margin-top:14px}}
/* ===== Dark features v2: flat, professional, in-use animations ===== */
.ui-stage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:920px){.ui-stage{gap:14px}}
/* professional card polish */
.mock{background:var(--paper);border:1px solid #1d2436;border-radius:14px;box-shadow:0 18px 44px -22px rgba(0,0,0,.55);padding:16px 18px;font-family:'Inter',sans-serif;color:#e2e4eb}
.mk-head{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b8e94;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #1d2436}
.mk-row{font-size:11px;color:#cdd0d8;padding:7px 0;border-bottom:1px solid #161d30}
.mk-row b{font-variant-numeric:tabular-nums;color:#f1f3f7}
.bar-row label{font-size:10px;color:#a8abb3}
.bar-row b{font-variant-numeric:tabular-nums}

/* toggles */
.tgl{width:26px;height:14px;border-radius:99px;background:#2c3348;position:relative;flex:none;margin-left:auto;margin-right:8px}
.tgl i{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--paper);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .25s}
.tgl.on{background:var(--blue-400)}
.tgl.on i{transform:translateX(12px)}
.mk-row .tgl + b{margin-left:0}
.tgl-anim{animation:tglBg 9s infinite}
.tgl-anim i{animation:tglKnob 9s infinite}
@keyframes tglBg{0%,24%{background:#2c3348}28%,78%{background:var(--blue-400)}82%,100%{background:#2c3348}}
@keyframes tglKnob{0%,24%{transform:translateX(0)}28%,78%{transform:translateX(12px)}82%,100%{transform:translateX(0)}}

/* live dot */
.live{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:.08em;color:#16a34a;text-transform:uppercase}
.live i{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:liveDot 1.6s ease-out infinite}
@keyframes liveDot{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 6px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* alert row flash (new alert arriving) */
.m-alerts .flash{animation:rowFlash 9s infinite}
@keyframes rowFlash{0%,52%{background:transparent}56%,66%{background:rgba(240,180,41,.14)}72%,100%{background:transparent}}

/* entity score pulse */
.big-score{display:inline-block;animation:scorePulse 9s infinite}
@keyframes scorePulse{0%,82%{transform:scale(1)}86%{transform:scale(1.07)}92%,100%{transform:scale(1)}}

/* donut center label */
.mk-donut{position:relative;display:grid;place-items:center}
.mk-donut b{position:absolute;font-size:12px;font-weight:800;color:#f1f3f7;font-variant-numeric:tabular-nums}

/* cursor actor */
.ui-cursor{position:absolute;z-index:5;pointer-events:none;animation:curMove 9s ease-in-out infinite}
.ui-cursor .ring{position:absolute;left:-6px;top:-6px;width:26px;height:26px;border-radius:50%;border:2px solid rgba(196,81,91,.65);opacity:0;animation:curClick 9s infinite}
@keyframes curMove{0%{left:34%;top:20%}18%,30%{left:41%;top:26%}48%,60%{left:22%;top:66%}76%,88%{left:74%;top:62%}100%{left:34%;top:20%}}
@keyframes curClick{0%,24%{opacity:0;transform:scale(.4)}27%{opacity:1;transform:scale(.55)}33%{opacity:0;transform:scale(1.15)}54%{opacity:0;transform:scale(.4)}57%{opacity:1;transform:scale(.55)}63%{opacity:0;transform:scale(1.15)}82%{opacity:0;transform:scale(.4)}85%{opacity:1;transform:scale(.55)}91%{opacity:0;transform:scale(1.15)}100%{opacity:0}}
.ui-cursor.c2{animation:curMove2 12s ease-in-out infinite}
.ui-cursor.c2 .ring{animation:curClick2 12s infinite}
@keyframes curMove2{0%{left:12%;top:34%}18%,40%{left:31%;top:15.5%}58%,80%{left:55%;top:60%}100%{left:12%;top:34%}}
@keyframes curClick2{0%,16%{opacity:0;transform:scale(.4)}19%{opacity:1;transform:scale(.55)}25%{opacity:0;transform:scale(1.15)}100%{opacity:0}}

/* I2G: tab switching + values updating (cursor clicks tab 2) */
.mk-tabs{position:relative;display:flex;gap:16px;font-size:10px;font-weight:600;color:#9096a3;margin-bottom:12px;padding-bottom:6px}
.mk-tabs span:nth-child(1){animation:tabA 12s infinite}
.mk-tabs span:nth-child(2){animation:tabB 12s infinite}
@keyframes tabA{0%,20%{color:var(--blue)}24%,86%{color:#9096a3}90%,100%{color:var(--blue)}}
@keyframes tabB{0%,20%{color:#9096a3}24%,86%{color:var(--blue)}90%,100%{color:#9096a3}}
.tab-ind{position:absolute;bottom:0;left:0;height:2px;width:64px;background:var(--blue);border-radius:2px;animation:tabInd 12s infinite}
@keyframes tabInd{0%,20%{left:0;width:64px}24%,86%{left:80px;width:52px}90%,100%{left:0;width:64px}}
.bar{display:block;height:100%;border-radius:99px;width:var(--w1);animation:barShift 12s ease-in-out infinite}
@keyframes barShift{0%,20%{width:var(--w1)}26%,86%{width:var(--w2)}92%,100%{width:var(--w1)}}
.vals{position:relative;flex:0 0 20px;font-size:10px}
.vals b{position:absolute;left:0;top:50%;transform:translateY(-50%);font-weight:700;color:#cdd0d8}
.vals .v1{animation:valA 12s infinite}
.vals .v2{opacity:0;animation:valB 12s infinite}
@keyframes valA{0%,20%{opacity:1}26%,86%{opacity:0}92%,100%{opacity:1}}
@keyframes valB{0%,20%{opacity:0}26%,86%{opacity:1}92%,100%{opacity:0}}
.sb.pulse{animation:scorePulse 6s infinite}

/* kill the old slant/float */
.iso-stage{transform:none}
.dfeat-visual.iso{perspective:none}
.iso-stage .mock,.mock-article{animation:none}
.mock-article{position:absolute;right:0;bottom:0}
@media(prefers-reduced-motion:reduce){.ui-cursor,.ui-cursor .ring,.tgl-anim,.tgl-anim i,.m-alerts .flash,.big-score,.bar,.mk-tabs span,.tab-ind,.vals b,.sb.pulse{animation:none !important}.vals .v2{opacity:0}}
/* Dark features: CTA navy backgrounds; A = with facet pattern, B = plain */
.dfeat.df-a{background:#0a0e19 url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat;background-size:720px 624px}
.dfeat.df-b{background:#0a0e19}
/* number crossfades (data updating) */
.swap{position:relative;display:inline-block;margin-left:auto}
.mk-row .swap{flex:none}
.swap b{font-variant-numeric:tabular-nums}
.swap .sB{position:absolute;left:0;top:0;opacity:0}
.score-swap .sB{animation:swapB9 9s infinite}
.score-swap .sA{animation:swapA9 9s infinite}
.num-swap .sB{animation:swapB9 9s infinite}
.num-swap .sA{animation:swapA9 9s infinite}
@keyframes swapA9{0%,56%{opacity:1}60%,88%{opacity:0}92%,100%{opacity:1}}
@keyframes swapB9{0%,56%{opacity:0}60%,88%{opacity:1}92%,100%{opacity:0}}
.num-swap b{font-size:inherit;font-weight:700;color:#f1f3f7}
@media(prefers-reduced-motion:reduce){.swap .sA,.swap .sB{animation:none !important}.swap .sB{opacity:0}}

/* score swap stays left-aligned in its card */
.mk-score .swap{margin-left:0}
.mk-score{display:flex;align-items:baseline;gap:10px}

/* ===== Dark features v3: hero gradient split - A = deep blue, B = deep maroon ===== */
.dfeat.df-a{background:
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat,
  radial-gradient(760px 420px at 85% 10%, rgba(196,81,91,.16), transparent 68%),
  linear-gradient(158deg, #070b17 0%, #111c3b 45%, #0b1224 100%) !important;
  background-size:720px 624px,auto,auto}
.dfeat.df-b{background:
  radial-gradient(760px 420px at 12% 90%, rgba(104,162,246,.18), transparent 68%),
  linear-gradient(158deg, #23131B 0%, #16244b 55%, #1b2d5e 100%) !important}
/* hue-matched top shimmer per section */
.dfeat{position:relative}
.dfeat.df-a:before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(217,123,136,.55),transparent);z-index:2}
.dfeat.df-b:before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(223,146,157,.5),transparent);z-index:2}
.dfeat:after{display:none}
/* copy tuning per hue */
.df-a .dfeat-copy .eyebrow{color:#d97b88}
.df-b .dfeat-copy .eyebrow{color:#f5c2c9}
.df-a .dfeat-copy p{color:rgba(237,240,247,.72)}
.df-b .dfeat-copy p{color:rgba(237,240,246,.74)}
/* card lift tuned to each background */
.df-a .mock{box-shadow:0 24px 54px -22px rgba(6,10,20,.85)}
.df-b .mock{box-shadow:0 24px 54px -22px rgba(8,14,29,.85)}
/* soft light pool behind each card stack so the white cards sit in the scene */
.df-a .ui-stage:before{content:'';position:absolute;inset:-8% -6%;background:radial-gradient(60% 55% at 50% 45%, rgba(217,123,136,.12), transparent 70%);z-index:-1}
.ui-stage{position:relative;z-index:1}
.df-b .dfeat-visual.flat:before{content:'';position:absolute;inset:-10% -8%;background:radial-gradient(60% 55% at 45% 50%, rgba(223,146,157,.10), transparent 70%);z-index:0}
.df-b .dfeat-visual.flat{position:relative}
.df-b .dfeat-visual.flat .mock{position:relative;z-index:1}
.df-b .mock-article{z-index:2}
/* button hovers pick up the section hue */
.df-a .btn-outline-light:hover{background:var(--paper);border-color:#fff;color:#070b17 !important}
.df-b .btn-outline-light:hover{background:var(--paper);border-color:#fff;color:#1a2a58 !important}
/* I2G: near-black with only a subtle maroon accent glow (red dialed way back) */
.dfeat.df-b{background:
  radial-gradient(680px 380px at 88% 88%, rgba(27,45,94,.28), transparent 70%),
  radial-gradient(560px 320px at 8% 6%, rgba(29,48,99,.14), transparent 70%),
  linear-gradient(158deg, #0d1017 0%, #101219 55%, #121419 100%) !important}
.dfeat.df-b:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.df-b .dfeat-copy .eyebrow{color:#8d93a0}
.df-b .dfeat-copy p{color:rgba(255,255,255,.68)}
.df-b .dfeat-visual.flat:before{background:radial-gradient(60% 55% at 45% 50%, rgba(255,255,255,.05), transparent 70%)}
.df-b .btn-outline-light:hover{background:var(--paper);border-color:#fff;color:#101219 !important}

/* I2G: plain dark grey, no texture/glows */
.dfeat.df-b{background:#0d0f15 !important}
.dfeat.df-b:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}
.df-b .dfeat-visual.flat:before{display:none}
/* New placeholder: dark grey WITH facet texture */
.dfeat.df-c{background:#0d0f15 url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat !important;background-size:720px 624px !important;padding:clamp(90px,11vw,150px) 0}

/* ===== Mock graphics v3: fuller cards, coherent interactions ===== */
/* grading: weight appears when its toggle switches on (28-78% of 9s, same as toggle) */
.wswap .sA{animation:wA9 9s infinite}
.wswap .sB{animation:wB9 9s infinite}
@keyframes wA9{0%,26%{opacity:1}30%,76%{opacity:0}80%,100%{opacity:1}}
@keyframes wB9{0%,26%{opacity:0}30%,76%{opacity:1}80%,100%{opacity:0}}
.mk-row .dim{color:#8d93a0}
/* donut refresh: distributions crossfade with the % values */
.donut-stack{position:relative;width:84px;height:84px;flex:none}
.donut-stack .mk-donut{position:absolute;inset:0;width:84px;height:84px}
.mk-donut.dn1{background:conic-gradient(#9ab2ce 0 64%,#f0b429 64% 86%,#C14953 86% 100%)}
.mk-donut.dn2{background:conic-gradient(#9ab2ce 0 58%,#f0b429 58% 84%,#C14953 84% 100%);opacity:0;animation:swapB9 9s infinite}
.dn-val{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:800;color:#f1f3f7}
.dn-val .swap b{font-size:12px;font-weight:800;color:#f1f3f7}
.mk-legend em{font-style:normal;margin-left:auto}
.mk-legend span{display:flex;align-items:center;gap:7px;min-width:118px}
.mk-legend .lg b{font-size:10px;font-weight:700;color:#cdd0d8}
.mk-foot{margin-top:10px;padding-top:9px;border-top:1px solid #1d2436;font-size:9px;color:#9096a3}
/* entity gauge: marker slides when the score updates (60-88% window like score swap) */
.gauge{position:relative;height:8px;border-radius:99px;background:linear-gradient(90deg,#7bc47f 0 33%,#f0b429 33% 66%,#C14953 66% 100%);margin:10px 0 4px}
.g-marker{position:absolute;top:50%;left:43%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid #111827;box-shadow:0 1px 4px rgba(0,0,0,.3);animation:gMark 9s infinite}
@keyframes gMark{0%,56%{left:43%}62%,88%{left:47%}94%,100%{left:43%}}
.g-labels{display:flex;justify-content:space-between;font-size:8px;color:#9096a3;margin-bottom:8px}
.mk-row .ok{color:#16a34a}
/* I2G: static tabs, interaction = time-range change */
.mk-tabs.stat span{animation:none !important}
.mk-tabs.stat .on{color:var(--blue);border-bottom:2px solid var(--blue);padding-bottom:4px}
.tab-ind{display:none}
.mk-ranges{display:flex;align-items:center;gap:6px;margin:2px 0 12px}
.mk-ranges span{font-size:8.5px;font-weight:700;color:#9096a3;border:1px solid #242938;border-radius:5px;padding:2px 7px}
.mk-ranges .rA{animation:rngA 12s infinite}
.mk-ranges .rB{animation:rngB 12s infinite}
@keyframes rngA{0%,20%{background:var(--blue);border-color:var(--blue);color:#fff}26%,86%{background:transparent;border-color:#242938;color:#9096a3}92%,100%{background:var(--blue);border-color:var(--blue);color:#fff}}
@keyframes rngB{0%,20%{background:transparent;border-color:#242938;color:#9096a3}26%,86%{background:var(--blue);border-color:var(--blue);color:#fff}92%,100%{background:transparent;border-color:#242938;color:#9096a3}}
.rng-note{margin-left:auto;border:0 !important;padding:0 !important;font-weight:600 !important;color:#8d93a0 !important;font-size:8px !important}
@media(prefers-reduced-motion:reduce){.wswap .sA,.wswap .sB,.mk-donut.dn2,.g-marker,.mk-ranges .rA,.mk-ranges .rB{animation:none !important}}
/* ===== Single app-frame visuals ===== */
.app-frame{background:var(--paper);border:1px solid #242938;border-radius:16px;overflow:hidden}
.df-a .app-frame{box-shadow:0 34px 70px -28px rgba(6,10,20,.85)}
.df-b .app-frame{box-shadow:0 34px 70px -28px rgba(0,0,0,.7)}
.app-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#121828;border-bottom:1px solid #242938}
.adot{width:9px;height:9px;border-radius:50%}
.dr{background:#f26d63}.dy{background:#f5bd4f}.dg{background:#59c26f}
.app-title{margin-left:8px;font-family:'Inter',sans-serif;font-size:10.5px;font-weight:700;color:#cdd0d8}
.app-url{margin-left:auto;font-family:'Inter',sans-serif;font-size:9px;font-weight:500;color:#9096a3;background:var(--paper);border:1px solid #242938;border-radius:99px;padding:3px 10px}
.app-body{padding:16px;background:#10172a}
.app-body.ui-stage{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* widgets become flat inner panels of the one window */
.app-body .mock{box-shadow:none !important;border:1px solid #1d2436;border-radius:10px;background:var(--paper)}
/* I2G: single window, article docked inside below the chart */
.i2g-body{display:block}
.i2g-body .mock-score{border:0 !important;background:transparent;padding:6px 6px 2px}
.i2g-body .mock-article{position:static !important;width:auto;margin:10px 6px 6px;border:1px solid #1d2436;border-left:3px solid var(--accent);border-radius:10px}
.dfeat-visual.flat{padding-bottom:0}
.df-b .dfeat-visual.flat:before{display:none}
@media(max-width:560px){.app-body.ui-stage{grid-template-columns:1fr}.app-url{display:none}}
/* ===== Mock fixes: alignment, gauge semantics, wider proportions ===== */
/* 1) grading rows: single auto-margin on the toggle; numbers fixed-width right-aligned */
.m-grading .mk-row .tgl{margin-left:auto;margin-right:10px}
.m-grading .mk-row b,.m-grading .mk-row .swap{margin-left:0;flex:0 0 18px;text-align:right}
.m-grading .mk-row .swap b{width:100%;text-align:right}
/* 2) donut % dead-centred */
.dn-val{display:grid;place-items:center}
.dn-val .swap{margin:0 !important}
.dn-val .swap .sB{left:50%;transform:translateX(-50%)}
/* 3) gauge: marker lives in the High zone to match the flag (76% -> 82%) */
@keyframes gMark{0%,56%{left:76%}62%,88%{left:82%}94%,100%{left:76%}}
/* 4) wider than tall: more room to the visual, tighter innards */
.dfeat-grid{grid-template-columns:.9fr 1.3fr}
.dfeat-grid.rev{grid-template-columns:1.3fr .9fr}
.app-body{padding:14px}
.app-body.ui-stage{gap:12px}
.app-body .mock{padding:12px 14px}
.mk-head{padding-bottom:8px;margin-bottom:8px}
.mk-row{padding:5.5px 0}
.donut-stack,.donut-stack .mk-donut{width:74px;height:74px}
.mk-donut.dn1,.mk-donut.dn2{-webkit-mask:radial-gradient(circle at 50% 50%,transparent 23px,#000 24px);mask:radial-gradient(circle at 50% 50%,transparent 23px,#000 24px)}
.i2g-body .bar-row{padding:4px 0}
.i2g-body .mock-article{margin:8px 6px 4px}
.art-snip{margin-bottom:6px}
@media(max-width:920px){.dfeat-grid,.dfeat-grid.rev{grid-template-columns:1fr}}
/* Equal app-frame dimensions (both 545px tall, same width via grid) */
.app-frame{height:545px;display:flex;flex-direction:column}
.app-body{flex:1;overflow:hidden}
/* compress A slightly to fit */
.app-body{padding:12px}
.app-body.ui-stage{gap:12px}
.app-body .mock{padding:11px 13px}
.mk-row{padding:4.5px 0}
.mk-head{padding-bottom:7px;margin-bottom:7px}
.mk-foot{margin-top:8px;padding-top:7px}
/* B fills the same height gracefully */
.i2g-body{display:flex;flex-direction:column}
.i2g-body .mock-score{flex:1}
@media(max-width:920px){.app-frame{height:auto}.app-body{overflow:visible}}

/* Correct target: both frames at the I2G's original 483px */
.app-frame{height:483px}
.i2g-body .mock-score{flex:0 0 auto}
.i2g-body{display:block}
/* squeeze A to fit 483 */
.df-a .app-body{padding:10px}
.df-a .app-body.ui-stage{gap:10px}
.df-a .app-body .mock{padding:10px 12px}
.df-a .mk-row{padding:3.5px 0;font-size:10px}
.df-a .mk-head{padding-bottom:6px;margin-bottom:6px}
.df-a .big-score{font-size:34px}
.df-a .gauge{margin:8px 0 3px}
.df-a .g-labels{margin-bottom:5px}
.df-a .donut-stack,.df-a .donut-stack .mk-donut{width:64px;height:64px}
.df-a .mk-donut.dn1,.df-a .mk-donut.dn2{-webkit-mask:radial-gradient(circle at 50% 50%,transparent 20px,#000 21px);mask:radial-gradient(circle at 50% 50%,transparent 20px,#000 21px)}
.df-a .mk-foot{margin-top:6px;padding-top:6px}
.df-a .mk-sub{margin-bottom:6px}

/* ===== Solutions grid (dark grey textured band) ===== */
.sol-sec{padding:clamp(76px,9vw,120px) 0}
.sol-head{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:44px;max-width:880px}
.sol-head h2{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(1.7rem,2.8vw,2.35rem);letter-spacing:-.025em;line-height:1.15;color:#fff;margin:8px 0 0}
.sol-head .eyebrow{color:var(--blue-300)}
.sol-head p{color:rgba(255,255,255,.62);font-size:16px;line-height:1.7;margin:0;max-width:760px}
@media(max-width:920px){.sol-head{grid-template-columns:1fr;gap:14px}}
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:920px){.sol-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sol-grid{grid-template-columns:1fr}}
.sol-card{background:var(--paper);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s;box-shadow:0 16px 40px -22px rgba(0,0,0,.6)}
.sol-card:hover{transform:translateY(-4px);box-shadow:0 26px 54px -22px rgba(0,0,0,.75)}
.sol-ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;margin-bottom:16px;flex:none}
.sol-ico svg{width:20px;height:20px}
.i-blue{background:var(--blue-050);color:var(--blue)}
.i-red{background:var(--accent-050);color:var(--accent)}
.sol-card h4{font-family:'Inter',sans-serif;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin:0 0 8px}
.sol-card p{font-family:'Cabin',sans-serif;font-size:14px;line-height:1.65;color:var(--zinc-600);margin:0 0 14px}
.sol-card .more{margin-top:auto;font-size:13px}

/* ===== 360 / API section (light) ===== */
.api-sec{background:#10172a;position:relative;padding:clamp(76px,9vw,120px) 0}
.api-sec:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.08) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.api-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,5vw,72px);align-items:center}
@media(max-width:920px){.api-grid{grid-template-columns:1fr}}
.api-copy .eyebrow{color:var(--blue)}
.api-copy h2{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(1.7rem,2.8vw,2.3rem);letter-spacing:-.025em;line-height:1.15;color:var(--ink);margin:8px 0 16px}
.api-copy>p{color:var(--zinc-600);font-size:16.5px;line-height:1.75;margin:0 0 26px}
.api-cards{display:grid;gap:14px}
.api-card{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid rgba(175,60,69,.12);border-radius:12px;padding:16px 18px;transition:transform .2s,box-shadow .2s}
.api-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(175,60,69,.25)}
.api-card .sol-ico{margin-bottom:0;width:38px;height:38px}
.api-card h4{font-family:'Inter',sans-serif;font-weight:700;font-size:13.5px;color:var(--ink);margin:0 0 4px}
.api-card p{font-family:'Cabin',sans-serif;font-size:13.5px;line-height:1.6;color:var(--zinc-600);margin:0}
/* code mock */
.code-frame{background:#101420;border:1px solid #202638;border-radius:14px;overflow:hidden;box-shadow:0 34px 70px -28px rgba(10,16,32,.45)}
.code-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#121726;border-bottom:1px solid #202638}
.code-endpoint{margin-left:8px;font-family:'Inter',monospace;font-size:10px;font-weight:600;color:#8b98ab}
.code-status{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-family:'Inter',sans-serif;font-size:9.5px;font-weight:700;color:#22c55e}
.code-status i{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:liveDot 1.6s ease-out infinite}
.code-body{margin:0;padding:18px 20px;font-family:'Consolas','Menlo',monospace;font-size:12px;line-height:1.75;color:#c9d4e3;white-space:pre;overflow-x:auto}
.ck{color:#d97b88}.cs{color:#e8c47f}.cn{color:#dc8793}.cr{color:#e07f8b}.cg{color:#7fce9a}
.code-body .swap b{font-family:inherit;font-size:inherit;color:#dc8793;font-weight:400}
.caret{display:inline-block;width:7px;height:13px;background:#d97b88;vertical-align:-2px;margin-left:3px;animation:caretBlink 1.1s steps(1) infinite}
@keyframes caretBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
.code-foot{padding:9px 16px;border-top:1px solid #202638;font-family:'Inter',sans-serif;font-size:9.5px;color:#c9919a}
@media(prefers-reduced-motion:reduce){.caret,.code-status i{animation:none}}
/* ===== Solutions on textured WHITE ===== */
.sol-sec-light{background:var(--paper);background-image:radial-gradient(circle,rgba(175,60,69,.07) 1px,transparent 1px);background-size:26px 26px;position:relative}
.sol-sec-light .sol-head .eyebrow{color:var(--blue)}
.sol-sec-light .sol-head h2{color:var(--ink)}
.sol-sec-light .sol-head p{color:var(--zinc-600)}
.sol-sec-light .sol-card{border:1px solid rgba(175,60,69,.13);box-shadow:0 4px 22px rgba(175,60,69,.07)}
.sol-sec-light .sol-card:hover{box-shadow:0 22px 46px -18px rgba(175,60,69,.22);border-color:rgba(175,60,69,.3)}

/* ===== Trusted Partner statement ===== */
.tp-sec{background:var(--paper);padding:clamp(64px,8vw,104px) 0;text-align:center}
.tp-inner{max-width:840px;margin:0 auto}
.tp-sec .eyebrow{color:var(--blue)}
.tp-sec h2{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(1.9rem,3.4vw,2.8rem);letter-spacing:-.03em;line-height:1.15;margin:10px 0 18px;color:var(--ink)}
.tp-b{color:var(--blue)}
.tp-r{color:var(--accent)}
.tp-sec p{color:var(--zinc-600);font-size:17.5px;line-height:1.8;margin:0}

/* ===== Trusted Partner: navy + rotating words, sizes matched to sections ===== */
.tp-sec{background:#0a0e19;position:relative;overflow:hidden;padding:clamp(72px,9vw,116px) 0;text-align:center}
.tp-sec:before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(213,111,124,.6),rgba(104,162,246,.6),transparent)}
.tp-sec:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(620px 300px at 12% -20%,rgba(196,81,91,.14),transparent 70%),radial-gradient(620px 320px at 88% 120%,rgba(104,162,246,.14),transparent 70%)}
.tp-inner{position:relative;z-index:1;max-width:840px;margin:0 auto}
.tp-sec .eyebrow{color:var(--blue-300)}
.tp-sec h2{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(1.7rem,2.8vw,2.35rem);letter-spacing:-.025em;line-height:1.2;margin:8px 0 18px;color:#fff}
.tp-sec p{color:rgba(255,255,255,.68);font-size:17px;line-height:1.75;margin:0;max-width:760px;margin-left:auto;margin-right:auto}
/* word rotator: stacked with inline-grid, cycles every 9s */
.rotor-wrap{display:inline-grid;text-align:center;vertical-align:top}
.rw{grid-area:1/1;opacity:0;transform:translateY(14px);animation:rwCycle 9s cubic-bezier(.22,1,.36,1) infinite;white-space:nowrap}
.rw1{color:#d97b88}
.rw2{color:#e198a2;animation-delay:3s}
.rw3{color:#d97b88;animation-delay:6s}
@keyframes rwCycle{0%{opacity:0;transform:translateY(14px)}5%,29%{opacity:1;transform:translateY(0)}36%,100%{opacity:0;transform:translateY(-14px)}}
@media(prefers-reduced-motion:reduce){.rw{animation:none}.rw1{opacity:1;transform:none}}

/* rotator: clean handoff, no overlap (out by 33% before next word's fade-in) */
@keyframes rwCycle{0%{opacity:0;transform:translateY(14px)}6%,27%{opacity:1;transform:translateY(0)}32%,100%{opacity:0;transform:translateY(-14px)}}

/* Trusted Partner: side-by-side layout */
.tp-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,4.5vw,72px);align-items:center;text-align:left;position:relative;z-index:1}
.tp-left .eyebrow{margin-left:2px}
.tp-sec h2{margin:8px 0 0;line-height:1.25}
.rotor-wrap{text-align:left}
.tp-right{border-left:1px solid rgba(255,255,255,.16);padding-left:clamp(28px,3.5vw,56px)}
.tp-right p{max-width:none;margin:0;text-align:left}
@media(max-width:860px){.tp-grid{grid-template-columns:1fr;gap:24px}.tp-right{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.16);padding-top:24px}}

/* ===== Stats band ===== */
.stat-sec{background:#0d0f15;padding:clamp(72px,9vw,110px) 0}
.stat-head{text-align:center;margin-bottom:44px}
.stat-sec .eyebrow{color:var(--blue-300)}
.stats.stats-flat{background:transparent !important;box-shadow:none !important;border-radius:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center}
.stats-flat>div{padding:6px 34px}
.stats-flat>div+div{border-left:1px solid rgba(255,255,255,.13)}
.stats-flat .n{font-family:'Inter',sans-serif;font-weight:200;font-size:clamp(44px,5.4vw,64px);line-height:1;background:linear-gradient(135deg,#ffffff,#d97b88);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stats-flat .l{color:rgba(255,255,255,.62);font-family:'Inter',sans-serif;font-size:13.5px;line-height:1.5;margin-top:12px;max-width:260px;margin-left:auto;margin-right:auto}
@media(max-width:760px){.stats.stats-flat{grid-template-columns:1fr;gap:30px}.stats-flat>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.13);padding-top:30px}}

/* API code frame stretches to match the copy column */
.api-grid{align-items:stretch !important}
.api-visual{display:flex}
.code-frame{display:flex;flex-direction:column;flex:1;width:100%}
.code-body{flex:1}
/* rotator red matches button red */
.rw2{color:var(--accent)}

/* Footer icons: column headings + contact details */
.fcol h4{display:flex;align-items:center;gap:8px}
.fcol-ico{width:14px;height:14px;flex:none;color:var(--blue-300);opacity:.9}
.fcontact{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.fcontact li{display:flex;align-items:center;gap:9px;margin:0;font-family:'Cabin',sans-serif;font-size:14px;color:rgba(255,255,255,.78)}
.fcontact svg{width:15px;height:15px;flex:none;color:var(--blue-300)}
.fcontact a{color:rgba(255,255,255,.78);transition:color .15s;margin:0}
.fcontact a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ================= Adverse Media page ================= */
/* pain list */
.pain-sec .pain-list{list-style:none;padding:0;margin:0 auto;max-width:900px;display:grid;gap:14px}
.pain-sec .pain-list li{position:relative;padding:16px 18px 16px 52px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:12px;color:rgba(255,255,255,.8);font-size:15.5px;line-height:1.6}
.pain-sec .pain-list li:before{content:'\2715';position:absolute;left:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:rgba(193,73,83,.16);color:var(--red);font-size:10px;font-weight:800;display:grid;place-items:center}
@media(max-width:700px){.pain-sec .pain-list li{padding-left:46px}}
/* numbered steps */
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:980px){.step-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.step-grid{grid-template-columns:1fr}}
.step{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px 22px;transition:.25s}
.step:hover{border-color:rgba(217,123,136,.4);transform:translateY(-4px)}
.step-n{display:inline-block;font-family:'Inter',sans-serif;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--blue-300);background:rgba(213,111,124,.14);border-radius:5px;padding:4px 9px;margin-bottom:14px}
.step h3{font-family:'Inter',sans-serif;font-size:16.5px;font-weight:700;color:#fff;margin:0 0 8px}
.step p{color:rgba(255,255,255,.62);font-size:14.5px;line-height:1.65;margin:0}

/* ---- COMFORT pipeline diagram (adverse media page only) ----
   Four stages on ONE row. Each stage is a 2-row grid: a FIXED-HEIGHT caption
   cell then the body. That fixed caption row is what keeps all four captions
   and all four bodies on the same baselines no matter how the caption text
   wraps. .pipe stretches every stage to the tallest, so the Sources circle can
   centre itself against the taller layer stack. */
.pipe-sec{background:#0a0c12;color:#fff;padding:clamp(76px,9vw,120px) 0;position:relative;overflow:hidden}
.pipe-sec:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 400px at 20% 0%,rgba(196,81,91,.12),transparent 70%),radial-gradient(700px 400px at 85% 100%,rgba(104,162,246,.12),transparent 70%)}
.pipe-sec .wrap{position:relative;z-index:1}
.pipe-sec .center h2{color:#fff}

.pipe{display:grid;grid-template-columns:1.02fr 42px 1.16fr 42px .94fr 42px .94fr;align-items:stretch;max-width:1240px;margin:0 auto}
.pipe-stage{display:grid;grid-template-rows:34px minmax(0,1fr);min-width:0}
.pipe-cap{display:flex;align-items:center;justify-content:center;margin:0;font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-300);text-align:center;line-height:1.2}
.pipe-body{min-width:0;align-self:start}
.pipe-arrow{align-self:start;margin-top:16px;height:2px;background:linear-gradient(90deg,rgba(213,111,124,.1),rgba(213,111,124,.8));position:relative}
.pipe-arrow:after{content:'';position:absolute;right:-1px;top:50%;transform:translateY(-50%);border-left:7px solid rgba(213,111,124,.85);border-top:5px solid transparent;border-bottom:5px solid transparent}

/* --- Sources: two source cards, same card language as the rest --- */
.pb-src{align-self:stretch;display:grid;gap:16px;grid-auto-rows:1fr}
.src-card{position:relative;display:grid;align-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(217,123,136,.2);border-radius:12px;padding:20px}
.src-card+.src-card:before{content:'';position:absolute;left:50%;top:-16px;width:1px;height:16px;background:rgba(217,123,136,.3)}
.src-ico{position:relative;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(213,111,124,.14);border:1px solid rgba(217,123,136,.28);color:#d97b88;margin-bottom:13px}
.src-ico svg{width:19px;height:19px;display:block}
.src-card b{position:relative;display:block;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:#fff;line-height:1.25;letter-spacing:-.01em}
.src-sub{position:relative;display:block;margin-top:5px;font-size:10.5px;color:rgba(255,255,255,.52);line-height:1.45}
/* --- Intelligent layers: connected stack --- */
.pb-lay{align-self:stretch}
.layers{list-style:none;margin:0;padding:0 0 0 32px;display:grid;gap:8px;position:relative;height:100%;align-content:space-between}
.layers:before{content:'';position:absolute;left:6px;top:22px;bottom:22px;width:1px;background:linear-gradient(180deg,rgba(217,123,136,.06),rgba(217,123,136,.55),rgba(217,123,136,.06))}
.layer{position:relative;padding:10px 15px;background:rgba(255,255,255,.05);border:1px solid rgba(217,123,136,.16);border-radius:10px;transition:border-color .22s,background .22s}
.layer:hover{border-color:rgba(217,123,136,.42);background:rgba(213,111,124,.11)}
.layer:after{content:'';position:absolute;left:-32px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:#0a0c12;border:2px solid rgba(217,123,136,.75)}
/* short tick from the spine to each card */
.layer:before{content:'';position:absolute;left:-20px;top:50%;width:14px;height:1px;background:rgba(217,123,136,.4)}
.layer b{display:block;font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:#fff;line-height:1.25}
.layer span{display:block;font-size:10px;color:rgba(255,255,255,.5);margin-top:2px;line-height:1.4}

/* --- Scoring engine --- */
.pb-score{display:grid;gap:10px;align-self:stretch;grid-template-rows:auto repeat(3,1fr)}
.score-box{display:grid;justify-items:center;padding:16px 14px 14px;border-radius:14px;text-align:center;background:linear-gradient(150deg,#C14953,#8f333c)}
.score-dial{position:relative;width:100px;height:100px;display:grid;place-items:center}
.score-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.score-ring circle{fill:none;stroke-width:4;stroke-linecap:round}
.score-ring .t{stroke:rgba(255,255,255,.2)}
.score-ring .v{stroke:#fff;stroke-dasharray:208 289;opacity:.92}
.score-n{font-family:'Inter',sans-serif;font-size:40px;font-weight:200;line-height:1;color:#fff;letter-spacing:-.02em}
.score-box>span{display:block;font-size:9.5px;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.88);margin-top:9px}
.mini{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:11px 14px;text-align:center}
.mini b{display:block;font-family:'Inter',sans-serif;font-size:15px;font-weight:800;color:#fff;letter-spacing:-.01em}
.mini span{display:block;font-size:9.5px;color:rgba(255,255,255,.55);margin-top:3px;line-height:1.35}
.mini-move b{color:#e2727c}

/* --- Delivery: equal-height, linked cards --- */
.pb-out{display:grid;gap:16px;grid-auto-rows:1fr;align-self:stretch}
.outb{position:relative;display:grid;align-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(217,123,136,.2);border-radius:12px;padding:16px 18px;transition:background .25s,border-color .25s,transform .25s}
.outb:hover{background:rgba(213,111,124,.14);border-color:rgba(217,123,136,.55);transform:translateY(-2px)}
.outb+.outb:before{content:'';position:absolute;left:50%;top:-16px;width:1px;height:16px;background:rgba(217,123,136,.3)}
.outn{position:absolute;top:11px;right:14px;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--blue-300)}
.outb b{display:block;font-family:'Inter',sans-serif;font-size:17px;font-weight:700;color:#fff;line-height:1.2}
.outs{display:block;font-size:10px;color:rgba(255,255,255,.52);margin-top:3px;line-height:1.4}

@media(max-width:1140px){
  .pipe{grid-template-columns:1fr 1fr;gap:38px 30px;max-width:780px}
  .pipe-arrow{display:none}
  .pipe-stage{grid-template-rows:auto auto}
  .pipe-cap{justify-content:flex-start;margin-bottom:12px}
  .pb-src{align-self:start}
  .pb-src,.pb-out,.pb-score,.pb-lay{align-self:start;grid-template-rows:none;grid-auto-rows:auto}
  .layers{height:auto}
}
@media(max-width:600px){.pipe{grid-template-columns:1fr;max-width:390px}}
/* capabilities */
.cap-sec{background:var(--bg-light);padding:clamp(72px,9vw,110px) 0;position:relative}
.cap-sec:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.09) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.cap-sec .wrap{position:relative}
.cap-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 30px;max-width:1000px;margin:0 auto}
@media(max-width:900px){.cap-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cap-grid{grid-template-columns:1fr}}
.cap-grid li{position:relative;padding-left:28px;color:var(--zinc-700);font-size:15px;line-height:1.55}
.cap-grid li:before{content:'\2713';position:absolute;left:0;top:0;color:var(--accent);font-weight:800}

/* delivery grid (dark) */
.deliv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.deliv-grid{grid-template-columns:1fr}}
.deliv{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:20px}
.dnum{font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--blue-300)}
.deliv h4{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:#fff;margin:8px 0 6px}
.deliv p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.6);margin:0}

/* categories */
.cat-sec{background:linear-gradient(158deg,#070b17,#111c3b 55%,#0b1224);color:#fff;padding:clamp(72px,9vw,110px) 0}
.cat-head{max-width:660px;margin-bottom:38px}
.cat-head h2{color:#fff;font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.025em;font-size:clamp(1.7rem,2.8vw,2.35rem);margin:8px 0 12px}
.cat-head p{color:rgba(255,255,255,.65);margin:0}
.cat-chips{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.cat-chips .chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.88)}
.cat-chips .chip:before{background:var(--blue-300)}

/* beyond */
.beyond-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:860px){.beyond-grid{grid-template-columns:1fr}}
.beyond{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:30px}
.beyond h3{font-family:'Inter',sans-serif;font-size:19px;font-weight:700;color:#fff;margin:14px 0 10px}
.beyond p{color:rgba(255,255,255,.66);font-size:15px;line-height:1.7;margin:0}

/* onboarding journey */
.journey-sec{background:var(--paper);padding:clamp(72px,9vw,110px) 0}
.journey{display:grid;grid-template-columns:1fr 60px 1.4fr;gap:20px;align-items:center;max-width:1000px;margin:0 auto}
@media(max-width:860px){.journey{grid-template-columns:1fr;gap:26px}.j-flow{display:none}}
.j-cap{display:block;font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.j-ent{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid rgba(175,60,69,.16);border-radius:11px;padding:14px 18px;margin-bottom:10px;font-family:'Inter',sans-serif;font-weight:600;font-size:14.5px;color:var(--ink);box-shadow:0 3px 14px rgba(175,60,69,.06)}
.jd{width:9px;height:9px;border-radius:50%;background:var(--blue);flex:none}
.j-flow{display:grid;gap:7px}
.j-flow i{height:2px;background:linear-gradient(90deg,rgba(175,60,69,.15),rgba(175,60,69,.6));position:relative}
.j-flow i:after{content:'';position:absolute;right:-1px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(175,60,69,.7);border-top:4px solid transparent;border-bottom:4px solid transparent}
.j-step{display:flex;gap:14px;align-items:flex-start;background:var(--bg-light);border:1px solid rgba(175,60,69,.12);border-radius:12px;padding:15px 18px;margin-bottom:10px}
.j-n{font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.1em;color:#fff;background:var(--blue);border-radius:5px;padding:4px 7px;flex:none;margin-top:2px}
.j-step b{display:block;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:700;color:var(--ink)}
.j-step span{display:block;font-size:13.5px;color:var(--zinc-600);margin-top:2px;line-height:1.55}

.stats-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.stats-4{grid-template-columns:1fr 1fr}}
.sol-grid-2{grid-template-columns:1fr 1fr}
@media(max-width:860px){.sol-grid-2{grid-template-columns:1fr}}
/* Dark sections: .center headings must be light (base .center h2 sets --ink) */
.dfeat .center h2,.pipe-sec .center h2,.cat-sec .center h2,.stat-sec .center h2,.cta-sec .center h2{color:#fff}
.dfeat .center p,.pipe-sec .center p,.cat-sec .center p{color:rgba(255,255,255,.66)}
.dfeat .center .eyebrow,.pipe-sec .center .eyebrow{color:var(--blue-300)}

/* FIX: mock severity badges (.chip 8.5px) were overriding real category chips. Scope them to the app frame. */
.chips .chip{font-size:14.5px !important;font-weight:700 !important;letter-spacing:normal !important;padding:14px 18px !important;border-radius:12px !important;display:flex !important;align-items:center;gap:10px}
.chips .chip:before{content:'' !important;width:8px;height:8px;border-radius:2px;flex:none}
.mock .chip,.app-body .chip{font-size:8.5px !important;font-weight:800 !important;letter-spacing:.06em !important;padding:2px 7px !important;border-radius:99px !important;display:inline-block !important}
.mock .chip:before,.app-body .chip:before{display:none !important}

/* stats-4 needs to beat .stats.stats-flat specificity */
.stats.stats-flat.stats-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.stats.stats-flat.stats-4{grid-template-columns:1fr 1fr}.stats.stats-flat.stats-4>div:nth-child(3){border-left:0}}
@media(max-width:640px){.stats.stats-flat.stats-4{grid-template-columns:1fr}.stats.stats-flat.stats-4>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.13);padding-top:28px}}

/* ================= Industries page ================= */
.ind-nav-sec{background:var(--paper);border-bottom:1px solid var(--zinc-200);position:sticky;top:74px;z-index:60}
.ind-nav{display:flex;gap:6px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.ind-nav::-webkit-scrollbar{display:none}
.ind-nav a{flex:none;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:var(--zinc-600);padding:8px 14px;border-radius:8px;white-space:nowrap;transition:.15s}
.ind-nav a:hover{background:var(--blue-050);color:var(--blue)}

.ind-sec{padding:clamp(70px,8.5vw,112px) 0;position:relative;overflow:hidden}
.ind-dark{background:linear-gradient(158deg,#070b17,#111c3b 55%,#0b1224);color:#fff}
.ind-light{background:var(--paper);position:relative}
.ind-light:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.07) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.ind-sec .wrap{position:relative;z-index:1}
.ind-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,4.5vw,68px);align-items:center}
.ind-grid.rev .ind-photo{order:-1}
@media(max-width:900px){.ind-grid{grid-template-columns:1fr;gap:30px}.ind-grid.rev .ind-photo{order:0}}

.ind-copy .eyebrow{color:var(--blue-300)}
.ind-light .ind-copy .eyebrow{color:var(--blue)}
.ind-copy h2{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.028em;font-size:clamp(1.7rem,2.9vw,2.4rem);line-height:1.14;margin:8px 0 14px;color:#fff}
.ind-light .ind-copy h2{color:var(--ink)}
.ind-copy>p{font-size:16.5px;line-height:1.75;color:rgba(255,255,255,.68);margin:0 0 22px}
.ind-light .ind-copy>p{color:var(--zinc-600)}
.ind-uses{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:11px}
.ind-uses li{position:relative;padding-left:28px;font-size:14.8px;line-height:1.6;color:rgba(255,255,255,.78)}
.ind-light .ind-uses li{color:var(--zinc-700)}
.ind-uses li:before{content:'';position:absolute;left:0;top:.42em;width:14px;height:14px;border-radius:4px;background:rgba(213,111,124,.2);border:1px solid rgba(217,123,136,.5)}
.ind-uses li:after{content:'\2713';position:absolute;left:3px;top:.28em;font-size:9px;font-weight:900;color:var(--blue-300)}
.ind-light .ind-uses li:before{background:var(--blue-050);border-color:rgba(175,60,69,.28)}
.ind-light .ind-uses li:after{color:var(--blue)}

.ind-photo{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 64px -26px rgba(0,0,0,.6)}
.ind-photo img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.ind-photo:hover img{transform:scale(1.04)}
.ind-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(33,55,115,.34),transparent 55%,rgba(12,18,36,.42))}
.ind-badge{position:absolute;top:16px;left:16px;z-index:2;font-family:'Inter',sans-serif;font-size:12px;font-weight:800;letter-spacing:.1em;color:#fff;background:rgba(175,60,69,.75);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 11px}
.ind-light .ind-photo{box-shadow:0 26px 56px -26px rgba(175,60,69,.42)}
@media(max-width:900px){.ind-nav-sec{position:static}}
/* ===== Industry pages (individual) ===== */
.hero .hero-grid .ind-photo{aspect-ratio:4/3;border-radius:20px;overflow:hidden;box-shadow:0 30px 64px -26px rgba(0,0,0,.7)}
.hero .hero-grid .ind-photo img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none}
.hero .hero-grid .ind-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(33,55,115,.28),transparent 60%)}
.hero .hero-grid .ind-photo{position:relative}
.ind-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,60px)}
@media(max-width:860px){.ind-two{grid-template-columns:1fr;gap:30px}}
.ind-block h2{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.025em;font-size:clamp(1.5rem,2.4vw,1.95rem);color:#fff;margin:6px 0 14px}
.ind-block p{color:rgba(255,255,255,.68);font-size:16px;line-height:1.78;margin:0}
.ind-block .eyebrow{color:var(--blue-300)}
.ind-uses-grid{grid-template-columns:1fr 1fr;gap:13px 34px;max-width:1000px;margin:0 auto;display:grid}
@media(max-width:760px){.ind-uses-grid{grid-template-columns:1fr}}
.dfeat .ind-uses li{color:rgba(255,255,255,.78)}

/* ===== Industries hub cards ===== */
.ind-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:980px){.ind-cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ind-cards{grid-template-columns:1fr}}
.ind-card{display:block;background:var(--paper);border:1px solid rgba(175,60,69,.13);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 22px rgba(175,60,69,.07);transition:transform .25s,box-shadow .25s,border-color .25s}
.ind-card:hover{transform:translateY(-5px);border-color:rgba(175,60,69,.32);box-shadow:0 24px 50px -20px rgba(175,60,69,.28)}
.ind-card-img{display:block;height:170px;overflow:hidden;position:relative}
.ind-card-img img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.ind-card:hover .ind-card-img img{transform:scale(1.06)}
.ind-card-img:after{content:'';position:absolute;inset:0;background:linear-gradient(165deg,rgba(33,55,115,.3),transparent 60%)}
.ind-card-body{display:block;padding:22px 24px 26px}
.ind-card-body h4{font-family:'Inter',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.012em;color:var(--ink);margin:0 0 8px;line-height:1.3}
.ind-card-body p{font-size:14.5px;line-height:1.62;color:var(--zinc-600);margin:0 0 14px}
/* ===== Industry hero: B&W photo + brand gradient blended over it ===== */
.ind-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(460px,52vw,600px);display:flex;align-items:center;color:#fff}
.ind-hero-photo{position:absolute;inset:0;background-position:center;background-size:cover;filter:grayscale(100%) contrast(1.08) brightness(.85);z-index:0}
/* brand gradient tints the greyscale photo */
.ind-hero-tint{position:absolute;inset:0;z-index:1;mix-blend-mode:multiply;
  background:linear-gradient(97deg,#070b17 0%,#090e1e 15%,#0b1327 33%,#0e1730 50%,#111c3a 66%,#142144 83%,#17264f 100%)}
/* readability + depth */
.ind-hero-shade{position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,rgba(9,13,24,.82) 0%,rgba(9,13,24,.55) 45%,rgba(9,13,24,.15) 100%)}
.ind-hero-inner{position:relative;z-index:3;padding:clamp(56px,7vw,88px) 24px;max-width:var(--maxw);width:100%;margin:0 auto}
.ind-hero .eyebrow{color:#e0939d}
.ind-hero h1{font-size:clamp(2.3rem,4.6vw,3.7rem);font-weight:200;letter-spacing:-.03em;line-height:1.08;margin:14px 0 20px;color:#fff;max-width:900px}
.ind-hero h1 b{font-weight:700;background:linear-gradient(135deg,#d97a84,#b33d4e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ind-hero .lead{font-size:18.5px;color:rgba(255,255,255,.82);max-width:600px;margin-bottom:32px}
@supports not (mix-blend-mode:multiply){.ind-hero-tint{opacity:.85}}

/* ===== Why Choose NGA ===== */
.why-sec{background:#0d0f15;color:#fff;padding:clamp(72px,9vw,112px) 0}
.why-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,4.5vw,68px);align-items:start}
@media(max-width:900px){.why-grid{grid-template-columns:1fr;gap:34px}}
.why-copy .eyebrow{color:var(--blue-300)}
.why-copy h2{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.028em;font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.16;color:#fff;margin:8px 0 18px}
.why-copy p{color:rgba(255,255,255,.66);font-size:16.5px;line-height:1.8;margin:0 0 16px}
.why-points{display:grid;gap:12px}
.why-point{display:flex;gap:15px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:18px 20px;transition:.25s}
.why-point:hover{border-color:rgba(217,123,136,.4);background:rgba(213,111,124,.09)}
.wp-n{font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--blue-300);background:rgba(213,111,124,.16);border-radius:6px;padding:5px 8px;flex:none;margin-top:2px}
.why-point b{display:block;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:3px}
.why-point span{display:block;font-size:13.8px;line-height:1.6;color:rgba(255,255,255,.6)}

/* ===== NGA Services (diamond list) ===== */
.svc-sec{background:var(--paper);padding:clamp(72px,9vw,112px) 0;position:relative}
.svc-sec:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.08) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.svc-sec .wrap{position:relative}
.svc-sec .center h2{color:var(--ink)}
.svc-list{list-style:none;padding:0;margin:0 auto;max-width:960px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:800px){.svc-list{grid-template-columns:1fr}}
.svc-list li{position:relative;padding:20px 22px 20px 52px;background:var(--paper);border:1px solid rgba(175,60,69,.13);border-radius:13px;font-size:15.5px;line-height:1.6;color:var(--zinc-700);box-shadow:0 3px 16px rgba(175,60,69,.05);transition:.25s}
.svc-list li:hover{border-color:rgba(175,60,69,.32);box-shadow:0 16px 36px -16px rgba(175,60,69,.25);transform:translateY(-3px)}
.svc-list li:before{content:'';position:absolute;left:20px;top:50%;width:11px;height:11px;background:var(--accent);transform:translateY(-50%) rotate(45deg);border-radius:2px}
/* ================= Contact page ================= */
.contact-split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 74px)}
@media(max-width:960px){.contact-split{grid-template-columns:1fr}}
/* left brand panel */
.c-left{position:relative;overflow:hidden;color:#fff;padding:clamp(52px,6vw,86px) clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(158deg,#070b17 0%,#090e1e 22%,#0b1327 46%,#111c3a 74%,#1b2d5e 100%)}
.c-left:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px}
.c-left:after{content:'';position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(to bottom,transparent,rgba(217,123,136,.5) 35%,rgba(104,162,246,.55) 65%,transparent)}
.c-left>*{position:relative;z-index:1;max-width:470px}
.c-pill{display:inline-flex;align-items:center;gap:9px;background:rgba(217,123,136,.12);border:1px solid rgba(217,123,136,.3);border-radius:999px;padding:7px 18px;margin-bottom:30px;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#e4a0a9;width:auto;align-self:flex-start}
.c-pill i{width:6px;height:6px;border-radius:50%;background:#d97b88}
.c-left h1{font-family:'Inter',sans-serif;font-weight:200;font-size:clamp(1.85rem,3.1vw,2.7rem);line-height:1.14;letter-spacing:-.025em;color:#fff;margin:0 0 20px}
.c-left h1 b{font-weight:800;background:linear-gradient(135deg,#d97a84,#b33d4e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.c-lead{font-size:16px;line-height:1.78;color:rgba(255,255,255,.66);margin:0 0 44px}
.c-items{display:grid;gap:24px;margin-bottom:40px}
.c-item{display:flex;gap:15px;align-items:flex-start}
.c-ico{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;background:rgba(217,123,136,.11);border:1px solid rgba(217,123,136,.24);color:#d97b88}
.c-ico svg{width:18px;height:18px}
.c-lab{display:block;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:5px}
.c-item a,.c-val{font-family:'Cabin',sans-serif;font-size:15px;color:rgba(255,255,255,.85);line-height:1.65}
.c-item a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.c-status{align-self:flex-start}
/* right form panel */
.c-right{background:var(--paper);padding:clamp(52px,6vw,86px) clamp(28px,5vw,72px);display:flex;align-items:center;position:relative}
.c-right:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.07) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.c-form-wrap{position:relative;width:100%;max-width:520px;margin:0 auto}
.c-form-wrap .eyebrow{color:var(--blue)}
.c-form-wrap h2{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.028em;font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--ink);margin:6px 0 12px}
.c-sub{font-size:15.5px;line-height:1.7;color:var(--zinc-600);margin:0 0 30px}

/* ---- Fluent Forms restyled to the design system ---- */
.c-form-wrap .ff-el-group{margin-bottom:18px}
.c-form-wrap .ff-el-input--label label{font-family:'Inter',sans-serif !important;font-size:12.5px !important;font-weight:700 !important;letter-spacing:.04em;color:var(--zinc-700) !important;margin-bottom:7px !important}
.c-form-wrap input[type=text],.c-form-wrap input[type=email],.c-form-wrap input[type=tel],.c-form-wrap select,.c-form-wrap textarea{
  width:100% !important;font-family:'Cabin',sans-serif !important;font-size:15px !important;color:var(--ink) !important;
  background:var(--paper) !important;border:1px solid var(--zinc-200) !important;border-radius:3px !important;
  padding:12px 14px !important;box-shadow:none !important;transition:border-color .18s,box-shadow .18s !important;height:auto !important}
.c-form-wrap textarea{min-height:120px !important;resize:vertical}
.c-form-wrap input:focus,.c-form-wrap select:focus,.c-form-wrap textarea:focus{
  border-color:var(--blue) !important;box-shadow:0 0 0 3px rgba(175,60,69,.12) !important;outline:none !important}
.c-form-wrap input::placeholder,.c-form-wrap textarea::placeholder{color:var(--zinc-400) !important}
.c-form-wrap .ff-btn-submit,.c-form-wrap button[type=submit]{
  background:var(--grad-blue) !important;color:#fff !important;font-family:'Inter',sans-serif !important;font-weight:700 !important;
  font-size:15px !important;padding:14px 30px !important;border:0 !important;border-radius:var(--rbtn) !important;
  box-shadow:none !important;cursor:pointer;transition:background .2s !important;width:auto !important}
.c-form-wrap .ff-btn-submit:hover,.c-form-wrap button[type=submit]:hover{filter:brightness(1.12) !important;transform:none !important}
.c-form-wrap .ff-el-form-check-label,.c-form-wrap .ff-el-help-message{font-family:'Cabin',sans-serif !important;font-size:13px !important;color:var(--zinc-500) !important}
.c-form-wrap .ff-el-is-error .text-danger,.c-form-wrap .error-text{color:var(--red) !important;font-size:12.5px !important;font-family:'Cabin',sans-serif !important}
.c-form-wrap .ff-message-success{background:rgba(34,197,94,.08) !important;border:1px solid rgba(34,197,94,.3) !important;border-radius:8px;color:#15803d !important;padding:16px !important;font-family:'Cabin',sans-serif !important}
@media(max-width:960px){.c-left,.c-right{min-height:auto}}
/* Company field is a Fluent Forms 'description' textarea - make it single-line like an input */
.c-form-wrap textarea[name='description']{min-height:0 !important;height:46px !important;resize:none !important;overflow:hidden}
/* keep the real Message textarea tall */
.c-form-wrap textarea[name='description_1']{min-height:120px !important;height:auto !important;resize:vertical !important;overflow:auto}
/* don't over-stretch the split on very tall screens */
.contact-split{min-height:min(calc(100vh - 74px),940px)}

/* Contact: constrain the split to the site container width */
.contact-split{max-width:var(--maxw);margin:0 auto;padding:clamp(56px,7vw,90px) 24px;min-height:0;gap:0;align-items:stretch}
.c-left{padding:clamp(44px,4.5vw,60px);border-radius:20px 0 0 20px;justify-content:center}
.c-right{padding:clamp(44px,4.5vw,60px);border-radius:0 20px 20px 0;border:1px solid var(--zinc-200);border-left:0;align-items:flex-start}
.c-left:after{display:none}
.c-form-wrap{max-width:none}
@media(max-width:960px){.c-left{border-radius:20px 20px 0 0}.c-right{border-radius:0 0 20px 20px;border-left:1px solid var(--zinc-200);border-top:0}}

/* ===== Contact v3: full brand background, form in a white card ===== */
.page-landing-contact,.contact-page-bg{}
.contact-split{max-width:none;margin:0;padding:0;display:block;min-height:0;position:relative;overflow:hidden;
  background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat,linear-gradient(97deg,#070b17 0%,#090e1e 15%,#0b1327 33%,#0e1730 50%,#111c3a 66%,#142144 83%,#17264f 100%);
  background-size:720px 624px,auto}
.contact-split:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}
/* inner grid constrained to the site container */
.contact-split>.c-left,.contact-split>.c-right{position:relative;z-index:1}
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,64px);
  max-width:var(--maxw);margin:0 auto;padding:clamp(64px,8vw,104px) 24px;border-radius:0}
@media(max-width:960px){.contact-split{grid-template-columns:1fr}}
/* left panel is now transparent on the page background */
.c-left{background:none !important;padding:0 !important;border-radius:0 !important;align-self:center}
.c-left:before,.c-left:after{display:none !important}
/* right: white form card */
.c-right{background:var(--paper);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:clamp(34px,3.6vw,52px) !important;
  box-shadow:0 34px 70px -28px rgba(0,0,0,.6);align-items:flex-start}
.c-right:before{background-image:none}

/* Contact: background spans full width, content stays in the site container */
.contact-split{max-width:none !important;margin:0 !important;
  padding-left:max(24px,calc((100% - var(--maxw)) / 2)) !important;
  padding-right:max(24px,calc((100% - var(--maxw)) / 2)) !important;
  padding-top:clamp(64px,8vw,104px) !important;padding-bottom:clamp(64px,8vw,104px) !important}

/* Contact: equal-height columns; left becomes an outlined box matching the white card */
.contact-split{align-items:stretch}
.c-left{align-self:stretch !important;display:flex;flex-direction:column;justify-content:center;
  border:1px solid rgba(255,255,255,.22) !important;border-radius:20px !important;
  padding:clamp(34px,3.6vw,52px) !important;background:rgba(255,255,255,.04) !important;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.c-right{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.c-left>*{max-width:none}

/* ===== Contact: join the two panels (no gap) ===== */
.contact-split{gap:0 !important}
.c-left{border-radius:20px 0 0 20px !important;border-right:0 !important}
.c-right{border-radius:0 20px 20px 0 !important}
@media(max-width:960px){
 .c-left{border-radius:20px 20px 0 0 !important;border-right:1px solid rgba(255,255,255,.22) !important;border-bottom:0 !important}
 .c-right{border-radius:0 0 20px 20px !important}
}

/* ===== Contact form: 2-column field pairing so it isn't so tall ===== */
.c-form-wrap form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;border:0;padding:0;margin:0;min-width:0}
.c-form-wrap form fieldset > *{grid-column:1 / -1;min-width:0}
/* pair these side by side */
.c-form-wrap form fieldset > .ff-el-group:has(input[name='email']),
.c-form-wrap form fieldset > .ff-el-group:has(input[name='input_text_1']),
.c-form-wrap form fieldset > .ff-el-group:has(input[name='input_text']),
.c-form-wrap form fieldset > .ff-el-group:has(textarea[name='description']),
.c-form-wrap form fieldset > .ff-el-group:has(select[name='country-list']){grid-column:span 1}
/* shorter message box */
.c-form-wrap textarea[name='description_1']{min-height:96px !important}
/* tighten vertical rhythm */
.c-form-wrap .ff-el-group{margin-bottom:15px}
.c-form-wrap .ff-name-field-wrapper{margin-bottom:15px}
@media(max-width:620px){.c-form-wrap form fieldset{grid-template-columns:1fr}.c-form-wrap form fieldset > .ff-el-group{grid-column:1 / -1 !important}}
/* ================= Blog / Insights ================= */
.blog-hero{background:radial-gradient(900px 420px at 78% -30%,rgba(194,76,86,.4),transparent),linear-gradient(158deg,#0d162d,#060a15);color:#fff;padding:clamp(58px,7vw,92px) 0 clamp(46px,5.5vw,70px)}
.blog-hero h1{font-family:'Inter',sans-serif;font-weight:200;font-size:clamp(2.2rem,4.4vw,3.4rem);letter-spacing:-.03em;color:#fff;margin:10px 0 14px}
.blog-hero .lead{font-size:17.5px;color:rgba(255,255,255,.7);max-width:620px;margin:0 0 30px}
.blog-back a{color:rgba(255,255,255,.72);font-family:'Inter',sans-serif;font-weight:600;font-size:14px}
.blog-back a:hover{color:#fff}
/* search */
.blog-search{position:relative;display:flex;gap:10px;max-width:520px}
.bs-ico{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:rgba(255,255,255,.5);pointer-events:none}
.bs-ico svg{width:17px;height:17px}
.blog-search input[type=search]{flex:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:13px 14px 13px 42px;color:#fff;font-family:'Cabin',sans-serif;font-size:15px}
.blog-search input[type=search]::placeholder{color:rgba(255,255,255,.45)}
.blog-search input[type=search]:focus{outline:none;border-color:rgba(217,123,136,.6);background:rgba(255,255,255,.12)}
.blog-search button{background:var(--grad-blue);color:#fff;border:0;border-radius:3px;padding:13px 24px;font-family:'Inter',sans-serif;font-weight:700;font-size:14.5px;cursor:pointer;transition:filter .2s}
.blog-search button:hover{filter:brightness(1.12)}
/* category filter bar */
.blog-filters{background:var(--paper);border-bottom:1px solid var(--zinc-200);position:sticky;top:74px;z-index:60}
.bf-row{display:flex;gap:8px;overflow-x:auto;padding:14px 0;scrollbar-width:none}
.bf-row::-webkit-scrollbar{display:none}
.bf-chip{flex:none;display:inline-flex;align-items:center;gap:7px;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:var(--zinc-600);background:var(--bg-light);border:1px solid var(--zinc-200);border-radius:3px;padding:11px 16px;white-space:nowrap;transition:.15s}
.bf-chip span{font-size:11px;font-weight:700;color:var(--zinc-400)}
.bf-chip:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-050)}
.bf-chip.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.bf-chip.is-active span{color:rgba(255,255,255,.7)}
@media(max-width:960px){.blog-filters{position:static}}
/* main */
.blog-main{background:var(--bg-light);padding:clamp(46px,6vw,76px) 0 clamp(64px,8vw,100px);position:relative}
.blog-main:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(175,60,69,.07) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.blog-main .wrap{position:relative}
/* featured post */
.feat-post{display:grid;grid-template-columns:1.15fr 1fr;background:var(--paper);border:1px solid rgba(175,60,69,.13);border-radius:20px;overflow:hidden;box-shadow:0 6px 30px rgba(175,60,69,.08);transition:transform .25s,box-shadow .25s,border-color .25s;margin-bottom:20px}
.feat-post:hover{transform:translateY(-4px);border-color:rgba(175,60,69,.3);box-shadow:0 26px 56px -22px rgba(175,60,69,.3)}
@media(max-width:860px){.feat-post{grid-template-columns:1fr}}
.fp-img{overflow:hidden;min-height:300px;background:linear-gradient(140deg,#070b17,#17264f)}
.fp-img img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.feat-post:hover .fp-img img{transform:scale(1.045)}
.fp-body{padding:clamp(28px,3.2vw,44px);display:flex;flex-direction:column;justify-content:center}
.fp-flag{align-self:flex-start;font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:3px;padding:5px 10px;margin-bottom:16px}
.fp-body h2{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.025em;font-size:clamp(1.4rem,2.3vw,1.95rem);line-height:1.24;color:var(--ink);margin:0 0 12px}
.fp-body p{font-size:15.5px;line-height:1.7;color:var(--zinc-600);margin:0 0 18px}
/* separator */
.blog-sep{display:flex;align-items:center;gap:16px;margin:38px 0 24px}
.blog-sep span{font-family:'Inter',sans-serif;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--zinc-500);flex:none}
.blog-sep:after{content:'';flex:1;height:1px;background:var(--zinc-200)}
/* post cards */
.blog-main .archive-grid{gap:24px}
.blog-main .post{background:var(--paper);border:1px solid rgba(175,60,69,.12);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 18px rgba(175,60,69,.06);transition:transform .25s,box-shadow .25s,border-color .25s}
.blog-main .post:hover{transform:translateY(-5px);border-color:rgba(175,60,69,.3);box-shadow:0 22px 46px -18px rgba(175,60,69,.26)}
.blog-main .post .thumb{height:186px;overflow:hidden;background:linear-gradient(140deg,#070b17,#17264f)}
.blog-main .post .thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none;transition:transform .5s ease}
.blog-main .post:hover .thumb img{transform:scale(1.05)}
.blog-main .post .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.blog-main .post h4{font-family:'Inter',sans-serif;font-weight:700;font-size:17px;line-height:1.33;letter-spacing:-.012em;color:var(--ink);margin:0 0 9px}
/* pagination */
.blog-pager{margin-top:46px}
.blog-pager .nav-links{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.blog-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:3px;border:1px solid var(--zinc-200);background:var(--paper);font-family:'Inter',sans-serif;font-weight:600;font-size:14px;color:var(--zinc-600);transition:.15s}
.blog-pager .page-numbers:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-050)}
.blog-pager .page-numbers.current{background:var(--blue);border-color:var(--blue);color:#fff}
.blog-pager .screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}
/* Blog hero: match the site's standard brand hero (gradient + facets) */
.blog-hero,.news-sub{background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat,linear-gradient(97deg,#070b17 0%,#090e1e 15%,#0b1327 33%,#0e1730 50%,#111c3a 66%,#142144 83%,#17264f 100%) !important;background-size:720px 624px,auto !important;padding:clamp(64px,8vw,104px) 0 clamp(56px,6.5vw,84px)}
.blog-hero .eyebrow{color:var(--blue-300);font-size:13.5px;letter-spacing:.22em;margin-left:4px}
.blog-hero h1{font-size:clamp(2.6rem,5.2vw,4rem);font-weight:200;letter-spacing:-.03em;margin:12px 0 16px}
.blog-hero .lead{font-size:18.5px;max-width:640px;color:rgba(255,255,255,.76);margin-bottom:34px}
.blog-search{max-width:560px}
.blog-search input[type=search]{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24)}

/* Blog: load-more + filter states */
.blog-more{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:12px}
.blog-more .btn{cursor:pointer}
.blog-count{font-family:'Inter',sans-serif;font-size:13px;color:var(--zinc-500)}
.blog-empty{text-align:center;font-family:'Inter',sans-serif;font-size:16px;color:var(--zinc-500);padding:40px 0}
.blog-main .post[hidden],.feat-post[hidden],.blog-sep[hidden]{display:none !important}
.bf-chip{cursor:pointer}
/* filtered-in cards animate in */
.blog-main .post{opacity:1;transform:none}

/* Blog filters: wrap so no category is cut off. Square chips (3px, matching
   the site's button language) with a roomier bar so the row isn't squished. */
.bf-row{flex-wrap:wrap !important;overflow-x:visible !important;gap:9px;padding:22px 0}
.bf-chip{flex:0 0 auto}
@media(max-width:960px){.bf-row{padding:18px 0}}

/* ══ MOTION PASS 2026-08-11 — entrance system (homepage first) ══
   Every entrance state is gated on .reveal (added by nga.js), so no-JS
   renders fully visible, and the whole block sits inside a
   prefers-reduced-motion:no-preference query. Transform/opacity only. */
@media(prefers-reduced-motion:no-preference){
/* — hero load-in cascade — */
:is(.hero,.page-hero,.ind-hero,.blog-hero) :is(.eyebrow,h1,.lead,.hero-cta),.hero .hero-art,:is(.page-hero,.ind-hero) p{opacity:0;animation:heroIn .9s cubic-bezier(.22,1,.36,1) forwards}
:is(.hero,.page-hero,.ind-hero,.blog-hero) h1{animation-delay:.1s}
:is(.hero,.page-hero,.ind-hero,.blog-hero) .lead,:is(.page-hero,.ind-hero) p{animation-delay:.2s}
:is(.hero,.page-hero,.ind-hero,.blog-hero) .hero-cta{animation-delay:.3s}
.hero .hero-art{animation-delay:.38s;animation-duration:1s}
@keyframes heroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* — direction-aware split reveals (rev-l / rev-r set by nga.js) — */
.reveal.rev-l{transform:translate(-30px,10px)}
.reveal.rev-r{transform:translate(30px,10px)}
.reveal.rev-l.in-view,.reveal.rev-r.in-view{transform:none}

/* — mock build-in: rows cascade once their frame reveals — */
.dfeat-visual.reveal :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score){opacity:0;transform:translateY(9px);transition:opacity .55s cubic-bezier(.22,1,.36,1) .14s,transform .55s cubic-bezier(.22,1,.36,1) .14s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score){opacity:1;transform:none}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(2){transition-delay:.2s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(3){transition-delay:.26s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(4){transition-delay:.32s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(5){transition-delay:.38s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(6){transition-delay:.44s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(7){transition-delay:.5s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(8){transition-delay:.56s}
.dfeat-visual.reveal.in-view :is(.mk-row,.bar-row,.kyc-ent,.kyc-gen,.kyc-tiers,.mk-foot,.gauge,.g-labels,.mk-sub,.mk-score):nth-child(9){transition-delay:.62s}
/* the floating I2G article card keeps its mockFloat transform — opacity-only entrance */
.dfeat-visual.reveal .mock-article{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1) .55s}
.dfeat-visual.reveal.in-view .mock-article{opacity:1}

/* — I2G category bars grow from zero (scaleX composes with the ambient width loop) — */
.dfeat-visual.reveal .bar{transform:scaleX(0);transform-origin:left center;transition:transform .8s cubic-bezier(.22,1,.36,1) .34s}
.dfeat-visual.reveal.in-view .bar{transform:scaleX(1)}
.dfeat-visual.reveal.in-view .bar-row:nth-child(5) .bar{transition-delay:.42s}
.dfeat-visual.reveal.in-view .bar-row:nth-child(6) .bar{transition-delay:.5s}
.dfeat-visual.reveal.in-view .bar-row:nth-child(7) .bar{transition-delay:.58s}
.dfeat-visual.reveal.in-view .bar-row:nth-child(8) .bar{transition-delay:.66s}
.dfeat-visual.reveal.in-view .bar-row:nth-child(9) .bar{transition-delay:.74s}

/* — jurisdiction donut sweeps in — */
.dfeat-visual.reveal .donut-stack{opacity:0;transform:rotate(-55deg) scale(.92);transition:opacity .7s cubic-bezier(.22,1,.36,1) .2s,transform .7s cubic-bezier(.22,1,.36,1) .2s}
.dfeat-visual.reveal.in-view .donut-stack{opacity:1;transform:none}

/* — API code frame body rises after the frame — */
.api-visual.reveal :is(.code-body,.code-foot){opacity:0;transform:translateY(10px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .18s,transform .6s cubic-bezier(.22,1,.36,1) .18s}
.api-visual.reveal.in-view :is(.code-body,.code-foot){opacity:1;transform:none}
.api-visual.reveal.in-view .code-foot{transition-delay:.36s}

/* — client logo strip: gentle staggered rise — */
.logo-strip-section.reveal .logo-strip-row img{opacity:0;transform:translateY(10px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.logo-strip-section.reveal.in-view .logo-strip-row img{opacity:.78;transform:none}
.logo-strip-section.reveal.in-view .logo-strip-row img:hover{opacity:1}
.logo-strip-section.reveal.in-view .logo-strip-row img:nth-of-type(2){transition-delay:.05s}
.logo-strip-section.reveal.in-view .logo-strip-row img:nth-of-type(3){transition-delay:.1s}
.logo-strip-section.reveal.in-view .logo-strip-row img:nth-of-type(4){transition-delay:.15s}
.logo-strip-section.reveal.in-view .logo-strip-row img:nth-of-type(5){transition-delay:.2s}
.logo-strip-section.reveal.in-view .logo-strip-row img:nth-of-type(6){transition-delay:.25s}
.logo-strip-section.reveal.in-view .logo-strip-row img:nth-of-type(7){transition-delay:.3s}
.logo-strip-section.reveal.in-view .logo-strip-row img:nth-of-type(8){transition-delay:.35s}
}

/* ══ NGX HOME SECTIONS 2026-08-11 — difference ledger / COMFORT meter / industry index ══ */
/* — 1. difference ledger — */
.ngx-diff-sec{background:var(--paper);background-image:radial-gradient(circle,rgba(175,60,69,.07) 1px,transparent 1px);background-size:26px 26px;padding:clamp(64px,7vw,104px) 0}
.ngx-diff{max-width:1080px;margin:44px auto 0}
.ngx-diff-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:18px;margin-bottom:14px}
.ngx-diff-head span{font-family:Inter,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#9096a3;padding:0 22px}
.ngx-diff-head span:last-child{color:var(--blue)}
.ngx-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:18px;margin-bottom:12px}
.ngx-old,.ngx-new{display:flex;gap:12px;align-items:flex-start;padding:18px 22px;border-radius:3px;font-size:15.5px;line-height:1.55}
.ngx-old{background:#161d30;color:#8b8e94;border:1px solid #242938}
.ngx-new{background:var(--paper);color:var(--ink);border:1px solid rgba(175,60,69,.16);border-left:3px solid var(--blue);font-weight:600;box-shadow:0 4px 22px rgba(175,60,69,.07)}
.ngx-old i,.ngx-new i{font-style:normal;flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;margin-top:2px}
.ngx-old i{background:#242938;color:#9096a3}
.ngx-new i{background:rgba(175,60,69,.1);color:var(--blue)}
@media(max-width:860px){.ngx-diff-head{display:none}.ngx-pair{grid-template-columns:1fr;gap:8px;margin-bottom:18px}}

/* — 2. COMFORT meter — */
.ngx-meter-sec{background:linear-gradient(180deg,#0d0f15,#191c21);padding:clamp(64px,7vw,104px) 0}
.ngx-meter-sec .center h2{color:#fff}
.ngx-meter-sec .center p{color:rgba(255,255,255,.72)}
.ngx-meter-sec .eyebrow{color:#d97b88}
.ngx-meter{position:relative;max-width:1000px;margin:148px auto 0}
.ngx-track{height:8px;border-radius:99px;background:linear-gradient(90deg,#7bc47f 0 33%,#f0b429 33% 66%,#C14953 66% 100%)}
.ngx-ticks{display:flex;justify-content:space-between;font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:rgba(255,255,255,.45);margin-top:10px}
.ngx-chip{position:absolute;bottom:34px;left:var(--x);transform:translateX(-50%);background:var(--paper);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;white-space:nowrap}
.ngx-chip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:2px;height:26px;background:rgba(255,255,255,.35)}
.ngx-badge{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:Inter,sans-serif;font-size:13px;font-weight:800}
.ngx-g{background:#7bc47f;color:#173521}
.ngx-a{background:#f0b429;color:#3b2f10}
.ngx-r{background:#C14953;color:#fff}
.ngx-chip b{font-family:Inter,sans-serif;font-size:13.5px;font-weight:700;color:#edeff4}
.ngx-chip em{font-style:normal;font-family:Inter,sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8b8e94;border-left:1px solid #242938;padding-left:10px}
.ngx-cap{text-align:center;font-size:12.5px;color:rgba(255,255,255,.45);margin:18px 0 0}
.ngx-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 34px;margin-top:26px;color:rgba(255,255,255,.8);font-size:14.5px}
.ngx-facts b{color:#fff;font-weight:800}
.ngx-facts span+span{border-left:1px solid rgba(255,255,255,.14);padding-left:34px}
.ngx-meter-cta{text-align:center;margin-top:30px}
@media(max-width:720px){.ngx-meter{margin-top:44px}.ngx-chip{position:static;transform:none;margin:12px auto 0;width:max-content}.ngx-chip:after{display:none}.ngx-facts span+span{border-left:0;padding-left:0}}

/* — 3. industry shard accordion (Who it's for) — */
.ngx-shard-sec{background:
  url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNjI0IiB2aWV3Qm94PSIwIDAgNzIwIDYyNCI+PGcgZmlsbD0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSI5MCwwIDE4MCw1MiAxODAsMTU2IDkwLDIwOCAwLDE1NiAwLDUyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDIwIi8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMCA1NDAsNTIgNTQwLDE1NiA0NTAsMjA4IDM2MCwxNTYgMzYwLDUyIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDEwIi8+PHBvbHlnb24gcG9pbnRzPSI2MzAsMTA0IDcyMCwxNTYgNzIwLDI2MCA2MzAsMzEyIDU0MCwyNjAgNTQwLDE1NiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAyNiIvPjxwb2x5Z29uIHBvaW50cz0iMjcwLDEwNCAzNjAsMTU2IDM2MCwyNjAgMjcwLDMxMiAxODAsMjYwIDE4MCwxNTYiIGZpbGw9IiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjkwLDIwOCAxODAsMjYwIDE4MCwzNjQgOTAsNDE2IDAsMzY0IDAsMjYwIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDA2Ii8+PHBvbHlnb24gcG9pbnRzPSI0NTAsMjA4IDU0MCwyNjAgNTQwLDM2NCA0NTAsNDE2IDM2MCwzNjQgMzYwLDI2MCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxNyIvPjxwb2x5Z29uIHBvaW50cz0iNjMwLDMxMiA3MjAsMzY0IDcyMCw0NjggNjMwLDUyMCA1NDAsNDY4IDU0MCwzNjQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDgiLz48cG9seWdvbiBwb2ludHM9IjI3MCwzMTIgMzYwLDM2NCAzNjAsNDY4IDI3MCw1MjAgMTgwLDQ2OCAxODAsMzY0IiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDI0Ii8+PHBvbHlnb24gcG9pbnRzPSI5MCw0MTYgMTgwLDQ2OCAxODAsNTcyIDkwLDYyNCAwLDU3MiAwLDQ2OCIgZmlsbD0iIzAwMDAwMCIgZmlsbC1vcGFjaXR5PSIwLjAxMCIvPjxwb2x5Z29uIHBvaW50cz0iNDUwLDQxNiA1NDAsNDY4IDU0MCw1NzIgNDUwLDYyNCAzNjAsNTcyIDM2MCw0NjgiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMTIiLz48cG9seWdvbiBwb2ludHM9IjYzMCwtMTA0IDcyMCwtNTIgNzIwLDUyIDYzMCwxMDQgNTQwLDUyIDU0MCwtNTIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMDciLz48cG9seWdvbiBwb2ludHM9IjI3MCw1MjAgMzYwLDU3MiAzNjAsNjc2IDI3MCw3MjggMTgwLDY3NiAxODAsNTcyIiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMDE0Ii8+PC9nPjwvc3ZnPg==') repeat,
  linear-gradient(97deg,#070b17 0%,#090e1e 15%,#0b1327 33%,#0e1730 50%,#111c3a 66%,#142144 83%,#17264f 100%);
  background-size:720px 624px,auto;padding:clamp(64px,7vw,104px) 0;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.16)}
.ngx-shard-sec .wrap{position:relative;z-index:1}
.ngx-shard-head{margin-bottom:48px;max-width:720px}
.ngx-shard-head .eyebrow{color:#d97b88}
.ngx-shard-head h2{font-family:Inter,sans-serif;font-weight:200;font-size:clamp(1.85rem,3.1vw,2.7rem);color:#fff;line-height:1.12;letter-spacing:-.02em;margin:14px 0 0}
.ngx-shard-head h2 b{font-weight:800;background:linear-gradient(135deg,#d97a84,#b33d4e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ngx-shards{display:flex;gap:10px;height:460px;align-items:stretch}
.ngx-shard{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;flex:1 1 0;min-width:56px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);transition:flex-grow .65s cubic-bezier(.22,1,.36,1),border-color .4s ease,background .4s ease}
.ngx-shard:hover{border-color:rgba(255,255,255,.3)}
.ngx-shard.on{flex-grow:8;border-color:rgba(217,123,136,.5);background:rgba(255,255,255,.06);cursor:default}
.ngx-shard:focus-visible{outline:2px solid #d97b88;outline-offset:2px}
.ngx-sglyph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:26px;height:26px;color:rgba(255,255,255,.6);transition:opacity .3s ease}
.ngx-shard.on .ngx-sglyph{opacity:0}
.ngx-swm{position:absolute;top:30px;right:32px;width:150px;height:150px;color:#d97b88;opacity:0;transition:none;pointer-events:none}
.ngx-shard.on .ngx-swm{opacity:.2;transition:opacity .45s ease .15s}
.ngx-slab{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);writing-mode:vertical-lr;text-orientation:mixed;font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6);white-space:nowrap;transition:opacity .3s ease}
.ngx-shard.on .ngx-slab{opacity:0}
.ngx-sbody{position:absolute;inset:0;padding:32px 28px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;opacity:0;transition:none;min-width:340px;pointer-events:none}
.ngx-shard.on .ngx-sbody{opacity:1;pointer-events:auto;transition:opacity .35s ease .18s}
.ngx-skicker{font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#d97b88;margin-bottom:10px}
.ngx-sbody h3{font-family:Inter,sans-serif;font-size:1.7rem;font-weight:800;letter-spacing:-.02em;color:#fff;margin:0 0 10px;line-height:1.15}
.ngx-sbody p{font-size:.975rem;color:rgba(255,255,255,.82);line-height:1.62;margin:0;max-width:460px}
.ngx-sico{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:rgba(213,111,124,.14);border:1px solid rgba(217,123,136,.32);color:#d97b88;margin-bottom:auto}
.ngx-sico svg{width:23px;height:23px}
.ngx-stags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ngx-stags i{font-style:normal;font-family:Inter,sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.22);border-radius:3px;padding:6px 12px;white-space:nowrap}
.ngx-smore{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:12px 22px;border-radius:var(--rbtn);border:1px solid rgba(255,255,255,.28);color:#fff;background:transparent;font-family:Inter,sans-serif;font-size:13.5px;font-weight:800;text-decoration:none;transition:background .25s ease,border-color .25s ease}
.ngx-smore:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45)}
@media(max-width:900px){
.ngx-shards{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ngx-shards::-webkit-scrollbar{display:none}
.ngx-shard{flex:0 0 84%;max-width:360px;height:auto;scroll-snap-align:center;cursor:default}
.ngx-slab,.ngx-sglyph{display:none}
.ngx-swm{opacity:.15}
.ngx-sbody{position:static;opacity:1;pointer-events:auto;min-width:0;padding:26px 22px}
}

/* — ngx entrance motion — */
@media(prefers-reduced-motion:no-preference){
.ngx-meter.reveal .ngx-track{transform:scaleX(0);transform-origin:left center;transition:transform 1s cubic-bezier(.22,1,.36,1) .1s}
.ngx-meter.reveal.in-view .ngx-track{transform:scaleX(1)}
@media(min-width:721px){
.ngx-meter.reveal .ngx-chip{opacity:0;transform:translate(-50%,14px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.ngx-meter.reveal.in-view .ngx-chip{opacity:1;transform:translate(-50%,0)}
.ngx-meter.reveal.in-view .ngx-chip:nth-of-type(3){transition-delay:.55s}
.ngx-meter.reveal.in-view .ngx-chip:nth-of-type(4){transition-delay:.7s}
.ngx-meter.reveal.in-view .ngx-chip:nth-of-type(5){transition-delay:.85s}
}
}


/* ── homepage hero globe: oversized, bleeding off the right edge, framed by the hero's overflow ── */
.hero .hero-art-globe{position:absolute;top:0;bottom:0;right:0;width:58%;display:flex;align-items:center;justify-content:flex-end;pointer-events:none;margin:0;z-index:1}
.hero .hero-grid>div:first-child{position:relative;z-index:2}
.globe-stack{position:relative;width:clamp(680px,56vw,920px);aspect-ratio:1/1;margin-right:clamp(-420px,-22vw,-220px);flex:none}
.hero-globe{width:100%;height:100%;display:block;opacity:.38}
.hero-pings{position:absolute;inset:0;width:100%;height:100%;display:block}
@media(max-width:920px){
.hero .hero-art-globe{position:static;justify-content:center;width:auto}
.globe-stack{width:min(88vw,360px);margin:8px auto 0}
}

/* ── homepage hero: AI Synthesis Engine diagram (replaced the globe 2026-08-31; globe rules above KEPT — saved for reuse, see NGA-backups/hero-globe-saved.md) ── */
.hero .hero-art-synth{display:flex;align-items:center;justify-content:center}
.synth-stage{width:100%;max-width:660px}
@media(min-width:921px){body.home .hero-grid{grid-template-columns:1fr 1fr}}
.synth-stage svg{width:100%;height:auto;display:block}
.synth-flow path{animation:syDash 7s linear infinite}
@keyframes syDash{to{stroke-dashoffset:-80}}
@media(prefers-reduced-motion:reduce){.synth-flow path{animation:none}}
@media(max-width:920px){.hero .hero-art-synth{margin-top:10px}.synth-stage{max-width:560px;margin:0 auto}}
@media(max-width:640px){.hero .hero-art-synth{display:none}}

/* ── inline form thank-you (shown on fluentform_submission_success) ── */
.form-thanks{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;border:1px solid rgba(175,60,69,.16);border-left:3px solid #2e7d4f;border-radius:3px;background:var(--paper);margin-bottom:18px}
.ft-ico{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(123,196,127,.18);color:#2e7d4f;font-size:17px;font-weight:800}
.form-thanks h3{font-family:Inter,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0 0 4px}
.form-thanks p{font-size:14.5px;line-height:1.55;color:#b1b5be;margin:0}
/* our block replaces Fluent Forms' own success text (errors stay visible) */
.c-form-wrap .ff-message-success{display:none!important}
/* ── Why NGA (tp-sec) enrichment: proof grid ── */
.tp-proof{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-top:24px}
.tp-proof>div{display:flex;gap:12px;align-items:flex-start}
.tp-ico{flex:none;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:rgba(213,111,124,.14);border:1px solid rgba(217,123,136,.28);color:#d97b88}
.tp-ico svg{width:17px;height:17px}
.tp-proof b{display:block;font-family:Inter,sans-serif;font-size:14.5px;font-weight:700;color:#fff;line-height:1.3}
.tp-proof i{font-style:normal;font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.4}
@media(max-width:560px){.tp-proof{grid-template-columns:1fr}}

/* ══ NGX FICA ASSESSMENT TEASER 2026-08-17 ═══════════════════════════════
   Homepage section linking to /fica-compliance-assessment/.
   Geometry comes from the SHARED .cap-split (copy is the wider column) so it
   cannot drift from the site section standard, and nga.js already applies
   reveal + rev-l/rev-r to .cap-split children — no JS change needed.
   Grid texture (56px) deliberately echoes the assessment page it links to.
   The ring repeats the technique in assess.css because assess.css is enqueued
   only on that page; vars are namespaced --ngxp/--ngxc to avoid collision.
   Value is static — never drive a displayed number from an animation.
   ═══════════════════════════════════════════════════════════════════════ */
.ngx-fica-sec{
  border-top:1px solid var(--zinc-200);
  background:var(--paper);
  background-image:
    linear-gradient(rgba(175,60,69,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(175,60,69,.055) 1px,transparent 1px);
  background-size:56px 56px;
  padding:clamp(64px,7vw,104px) 0;
}
.ngx-fica-pts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:11px}
.ngx-fica-pts li{position:relative;padding-left:26px;font-family:'Cabin',sans-serif;font-size:16px;line-height:1.6;color:var(--zinc-600)}
.ngx-fica-pts li:before{content:'';position:absolute;left:2px;top:.5em;width:9px;height:9px;transform:rotate(45deg);background:var(--accent);border-radius:1px}
.ngx-fica-act{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

.ngx-fica-card{background:var(--paper);border:1px solid var(--zinc-200);border-radius:var(--radius);box-shadow:0 4px 22px rgba(175,60,69,.07);overflow:hidden;align-self:stretch;display:flex;flex-direction:column}
.ngx-fica-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--zinc-200);background:var(--blue-050)}
.ngx-fica-top span{font-family:Inter,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.ngx-fica-top i{font-style:normal;font-family:Inter,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--zinc-500);border:1px solid var(--zinc-200);border-radius:3px;padding:4px 8px;background:var(--paper)}
.ngx-fica-body{flex:1;display:grid;align-items:center;padding:24px 22px}
.ngx-fica-scene{grid-area:1/1;min-width:0}
.ngx-fica-res{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,2.6vw,30px)}
.ngx-fica-ring{--ngxp:0;--ngxc:var(--blue);position:relative;width:124px;height:124px;flex:none;border-radius:50%;background:conic-gradient(from -90deg,var(--ngxc) calc(var(--ngxp) * 1%),rgba(175,60,69,.1) 0)}
.ngx-fica-ring:after{content:'';position:absolute;inset:11px;border-radius:50%;background:var(--paper);border:1px solid var(--zinc-200)}
.ngx-fica-ring>span{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:1}
.ngx-fica-ring b{display:block;font-family:Inter,sans-serif;font-size:2.05rem;font-weight:200;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.ngx-fica-ring b i{font-style:normal;font-size:.4em;font-weight:700;margin-left:1px}
.ngx-fica-ring em{display:block;margin-top:5px;font-style:normal;font-family:Inter,sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--zinc-400)}
.ngx-fica-rows{display:grid;gap:8px;min-width:0}
.ngx-fica-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--zinc-200);border-radius:3px;min-width:0}
.ngx-fica-row b{font-family:'Cabin',sans-serif;font-size:14.5px;font-weight:400;color:var(--zinc-700);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ngx-fica-dot{width:8px;height:8px;border-radius:2px}
.ngx-fica-row i{font-style:normal;font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ngx-sev-r .ngx-fica-dot{background:var(--red)}
.ngx-sev-r i{color:var(--red-600)}
.ngx-sev-a .ngx-fica-dot{background:#c9a227}
.ngx-sev-a i{color:#8a6510}
@media(max-width:620px){.ngx-fica-res{grid-template-columns:minmax(0,1fr);justify-items:start}}
@media(max-width:430px){.ngx-fica-row{grid-template-columns:8px minmax(0,1fr)}.ngx-fica-row i{grid-column:2;justify-self:start}}

/* ══ NGX FICA TEASER: ambient test-taking loop 2026-08-18 ═══════════════════
   The card plays a 16s loop: three questions answer themselves (no cursor —
   the option's overlay + mark simply fill in), the progress bar steps up,
   then the result scene fades in and holds.
   STATIC STATE IS THE RESULT (quiz opacity:0 base) — reduced-motion users,
   no-JS and frozen renderers all see the truthful 60% card, never a
   mid-quiz frame. Every animated property is opacity or transform.
   One shared 16s timeline; selection windows: Q1→Yes 12–26%, Q2→Partly
   40–52%, Q3→No 64–72%, result 75–95%.
   ═════════════════════════════════════════════════════════════════════════ */
.ngx-fica-quiz{opacity:0;pointer-events:none;display:flex;flex-direction:column;gap:18px}
.ngx-fq-prog{height:4px;border-radius:2px;background:rgba(175,60,69,.13);overflow:hidden}
.ngx-fq-prog span{display:block;height:100%;border-radius:2px;background:var(--blue);transform:scaleX(.05);transform-origin:left center}
.ngx-fq-q{display:grid;min-height:54px;align-items:start}
.ngx-fq-q b{grid-area:1/1;font-family:Inter,sans-serif;font-size:16.5px;font-weight:700;letter-spacing:-.015em;line-height:1.35;color:var(--ink);opacity:0}
.ngx-fq-opts{display:grid;gap:9px}
.ngx-fq-opt{position:relative;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--zinc-200);border-radius:3px;background:var(--paper);font-family:'Cabin',sans-serif;font-size:15px;color:var(--zinc-700)}
.ngx-fq-opt:before{content:'';position:absolute;inset:-1px;border:1px solid var(--blue);background:var(--blue-050);border-radius:3px;opacity:0}
.ngx-fq-opt>*{position:relative;z-index:1}
.ngx-fq-mark{position:relative;width:18px;height:18px;flex:none;border:1px solid var(--zinc-400);border-radius:3px;background:var(--paper)}
.ngx-fq-mark:before{content:'';position:absolute;inset:-1px;border-radius:3px;background:var(--blue);opacity:0}
.ngx-fq-mark:after{content:'';position:absolute;left:4px;top:5px;width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);opacity:0}

@media(prefers-reduced-motion:no-preference){
  .ngx-fica-card.in-view .ngx-fica-quiz{animation:ngxFqScene 16s linear}
  .ngx-fica-card.in-view .ngx-fica-res{animation:ngxFrScene 16s linear}
  .ngx-fica-card.in-view .ngx-fq-t1{animation:ngxFqT1 16s linear}
  .ngx-fica-card.in-view .ngx-fq-t2{animation:ngxFqT2 16s linear}
  .ngx-fica-card.in-view .ngx-fq-t3{animation:ngxFqT3 16s linear}
  .ngx-fica-card.in-view .ngx-fq-prog span{animation:ngxFqProg 16s cubic-bezier(.22,1,.36,1)}
  .ngx-fica-card.in-view .ngx-fq-o1:before,.ngx-fica-card.in-view .ngx-fq-o1 .ngx-fq-mark:before,.ngx-fica-card.in-view .ngx-fq-o1 .ngx-fq-mark:after{animation:ngxFqSel1 16s linear}
  .ngx-fica-card.in-view .ngx-fq-o2:before,.ngx-fica-card.in-view .ngx-fq-o2 .ngx-fq-mark:before,.ngx-fica-card.in-view .ngx-fq-o2 .ngx-fq-mark:after{animation:ngxFqSel2 16s linear}
  .ngx-fica-card.in-view .ngx-fq-o3:before,.ngx-fica-card.in-view .ngx-fq-o3 .ngx-fq-mark:before,.ngx-fica-card.in-view .ngx-fq-o3 .ngx-fq-mark:after{animation:ngxFqSel3 16s linear}
  .ngx-fica-card.in-view .ngx-fica-res .ngx-fica-row{animation:ngxFrRow 16s cubic-bezier(.22,1,.36,1)}
  .ngx-fica-res .ngx-fica-row:nth-child(2){animation-delay:.18s}
  .ngx-fica-res .ngx-fica-row:nth-child(3){animation-delay:.36s}
  .ngx-fica-res .ngx-fica-row:nth-child(4){animation-delay:.54s}
}
/* scenes swap: quiz 0–72%, result 75–95% */
@keyframes ngxFqScene{0%,72%{opacity:1}75%,100%{opacity:0}}
@keyframes ngxFrScene{0%,73%{opacity:0}76%,100%{opacity:1}}
/* question text swaps */
@keyframes ngxFqT1{0%,26%{opacity:1}28%,100%{opacity:0}}
@keyframes ngxFqT2{0%,27%{opacity:0}29%,52%{opacity:1}54%,100%{opacity:0}}
@keyframes ngxFqT3{0%,55%{opacity:0}57%,72%{opacity:1}74%,100%{opacity:0}}
/* answers fill in — overlay, mark fill and tick share one window per question */
@keyframes ngxFqSel1{0%,11%{opacity:0}13%,26%{opacity:1}28%,100%{opacity:0}}
@keyframes ngxFqSel2{0%,39%{opacity:0}41%,52%{opacity:1}54%,100%{opacity:0}}
@keyframes ngxFqSel3{0%,63%{opacity:0}65%,72%{opacity:1}74%,100%{opacity:0}}
/* progress steps 5 → 33 → 66 → 100 as each answer lands */
@keyframes ngxFqProg{0%,12%{transform:scaleX(.05)}15%,40%{transform:scaleX(.33)}43%,64%{transform:scaleX(.66)}67%,100%{transform:scaleX(1)}}
/* result rows cascade in once the scene shows */
@keyframes ngxFrRow{0%,74%{opacity:0;transform:translateY(8px)}79%,100%{opacity:1;transform:none}}

/* ── tp-proof moved out of the right column: full-width inline strip 2026-08-18 ── */
.tp-grid .tp-proof{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 28px;margin-top:2px;border-top:1px solid rgba(255,255,255,.16);padding-top:30px}
@media(max-width:900px){.tp-grid .tp-proof{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tp-grid .tp-proof{grid-template-columns:minmax(0,1fr)}}


/* ── tp-proof enlarged 2026-08-18 (user: "a bit bigger") ── */
.tp-grid .tp-proof{gap:20px 32px;padding-top:34px}
.tp-grid .tp-proof>div{gap:15px;align-items:center}
.tp-grid .tp-proof .tp-ico{width:46px;height:46px}
.tp-grid .tp-proof .tp-ico svg{width:23px;height:23px}
.tp-grid .tp-proof b{font-size:17px}
.tp-grid .tp-proof i{font-size:14px}

/* ── Who it's for: WHITE shard cards with NGA colour 2026-08-18 ────────────────
   User: "make the tiles white instead, add some colour — NGA theme".
   Cards go solid white on the brand-gradient band; content flips to the
   light-surface palette: brand-blue icon tile + glyphs + tag chips, RED
   kicker and red-outline Learn-more (the light-section secondary button
   language), ink heading, zinc body. Active card = red border. Overrides
   only — the accordion mechanics and layout rules above are untouched. */
/* Only the OPEN card is white (user: liked the contrast, "bit too much
   white") — collapsed shards keep the original translucent dark look, so
   their glyphs/labels stay the base white-on-dark styles. Mobile shows every
   card's body statically, so there ALL cards must be white or the ink text
   would sit on dark glass. */
.ngx-shard:hover{border-color:rgba(217,123,136,.55)}
.ngx-shard.on{background:var(--paper);border-color:rgba(196,81,91,.55)}
@media(max-width:900px){.ngx-shard{background:var(--paper)}}
.ngx-swm{color:#d56f7c}
.ngx-shard.on .ngx-swm{opacity:.16}
.ngx-sico{background:var(--blue-050);border-color:rgba(175,60,69,.22);color:var(--blue)}
.ngx-skicker{color:var(--accent)}
.ngx-sbody h3{color:var(--ink)}
.ngx-sbody p{color:var(--zinc-600)}
.ngx-stags i{color:var(--blue);border-color:rgba(175,60,69,.25);background:var(--blue-050)}
.ngx-smore{border-color:rgba(196,81,91,.45);color:var(--accent)}
.ngx-smore:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* ══ MOBILE NAV REBUILD 2026-08-18 ═════════════════════════════════════
   Everything in here is ≤960px — desktop is untouched. Fixes, in order:
   1. .nav-right was 238px wide and overflowed every page by ~19px
      (audit: [156→394] at 375w). Compact demo button + icon toggle now fit.
   2. The old panel was pinned top:74px while the header is 82px tall —
      top:100% tracks the real header height forever.
   3. The panel had NO max-height/scroll: with ~36 links, everything below
      the fold was UNREACHABLE. Now it scrolls within the viewport.
   4. "Menu" text label → 44px hamburger icon (gradient bars, no glyph font
      dependence); label keeps its text for screen readers via font-size:0.
   5. Parent items (Solutions/Products/… all href="#") become group headings;
      their sub-links are the tap targets, 44px-comfortable.
   ═════════════════════════════════════════════════════════════════════════ */
@media(max-width:960px){
  header.site-header .nav{height:62px;gap:10px}
  header.site-header .nav-right{gap:10px}
  header.site-header .nav-right .btn{padding:9px 13px;font-size:13px;font-weight:700;white-space:nowrap}
  header.site-header .logo img{max-height:34px;width:auto}

  /* hamburger — three gradient bars in a 44px tap target; text hidden but
     still announced (font-size:0 keeps the accessible name) */
  .nav-toggle-label{
    display:block;
    width:44px;height:44px;
    flex:none;
    font-size:0;
    cursor:pointer;
    border:1px solid var(--zinc-200);
    border-radius:3px;
    background:
      linear-gradient(var(--ink) 0 0) 50% calc(50% - 6px)/18px 2px no-repeat,
      linear-gradient(var(--ink) 0 0) 50% 50%/18px 2px no-repeat,
      linear-gradient(var(--ink) 0 0) 50% calc(50% + 6px)/18px 2px no-repeat;
  }
  .nav-toggle:checked~.nav-right .nav-toggle-label{
    background:
      linear-gradient(var(--ink) 0 0) 50% 50%/18px 2px no-repeat,
      linear-gradient(var(--ink) 0 0) 50% 50%/2px 18px no-repeat;
    transform:rotate(45deg);
  }

  /* the panel */
  ul.nav-menu{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    flex-direction:column;
    gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--zinc-200);
    padding:8px 24px 26px;
    max-height:calc(100vh - 62px);
    max-height:calc(100dvh - 62px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 18px 30px -18px rgba(175,60,69,.25);
  }
  .nav-toggle:checked~ul.nav-menu{display:flex}

  /* top-level items */
  ul.nav-menu>li{border-top:1px solid var(--zinc-200)}
  ul.nav-menu>li:first-child{border-top:0}
  ul.nav-menu>li>a{display:block;width:100%;padding:14px 0;font-size:15.5px;color:var(--ink)}
  ul.nav-menu>li>a:before{display:none}          /* desktop hover underline off */
  ul.nav-menu li.menu-item-has-children>a:after{display:none}  /* caret off */

  /* parents (Solutions/Products/Industries/Company/Resources are href="#")
     become group headings, not tap targets */
  ul.nav-menu>li.menu-item-has-children>a{
    pointer-events:none;
    padding:16px 0 4px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--blue);
  }
  ul.nav-menu ul.sub-menu{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:0;background:none;
    display:block;min-width:0;
    padding:0 0 14px;margin:0;list-style:none;
  }
  ul.nav-menu ul.sub-menu a{
    display:block;
    padding:10px 0 10px 12px;
    font-size:15px;
    color:var(--zinc-700);
    border-left:2px solid var(--zinc-200);
  }
  ul.nav-menu ul.sub-menu a:hover,
  ul.nav-menu ul.sub-menu a:focus{color:var(--accent);border-left-color:var(--accent);background:none}
}

@media(max-width:400px){
  header.site-header .nav-right .btn{padding:9px 10px;font-size:12.5px}
  header.site-header .logo img{max-height:30px}
}

/* ══ MOBILE FIXPACK 2026-08-18 ═════════════════════════════════════════
   1. The .app-frame 483px height pin declared LATE in this file was beating
      the old ≤920px height:auto override by source order, so on phones the
      homepage dashboard mock clipped 396px of itself, i2g's hero 84px and
      professional-services' BI panel 159px. This block is appended LAST so
      the mobile release finally wins. Same pattern the adverse-media hero
      opt-out uses (.app-body flex:none + overflow:visible).
   2. .blog-sep span{flex:none} forced the separator label past the viewport
      on the Newsroom ("12 features across the media") — let it wrap.
   ═════════════════════════════════════════════════════════════════════════ */
@media(max-width:920px){
  .app-frame{height:auto}
  .app-body{flex:none;overflow:visible}
  /* bare 1fr tracks respect min-content — the 2×2 stage needs 347px at 327.
     Single column on phones. */
  .app-body.ui-stage{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .blog-sep{flex-wrap:wrap;row-gap:6px}
  .blog-sep span{white-space:normal;letter-spacing:.12em}
}
/* 404/content areas: in-content link styling must not bleed into buttons */
.page-content a.btn{color:#fff !important;text-decoration:none !important}


/* ══ MOBILE FIXPACK v2 2026-08-19 — header row, menu panel, footer ═════════
   User feedback: header controls don't sit right, panel items carry desktop
   dropdown leftovers, footer brand column crushes the trust pill, and the
   FIXED legal bar wraps to ~3 rows on phones and permanently covers the
   bottom of every screen. All mobile-scoped except the status-pill glow
   removal (no-glow is a site-wide hard rule).
   ═════════════════════════════════════════════════════════════════════════ */
@media(max-width:960px){
  /* [logo] .................. [Request a Demo][burger] — burger takes the
     outer edge, and every control shares one 42px height line */
  .nav-toggle-label{order:2;width:42px;height:42px}
  header.site-header .nav-right{gap:12px}
  /* Request a Demo hidden on mobile (user 2026-08-19) — header is logo + burger only */
  header.site-header .nav-right .btn{display:none}

  /* panel: strip the desktop dropdown-item chrome (radius 10px pills were
     curling the indent rule into bubbles) */
  ul.nav-menu ul.sub-menu li{margin:0}
  ul.nav-menu ul.sub-menu li a{border-radius:0;background:none;padding:11px 0 11px 14px}
  ul.nav-menu ul.sub-menu li a:hover,
  ul.nav-menu ul.sub-menu li a:focus{background:none}
  ul.nav-menu>li.menu-item-has-children>a{padding:18px 0 6px}
  ul.nav-menu{padding:4px 24px 30px}
}

/* footer: brand block goes full-width above the 2-up link columns, so the
   description, trust pill and contact rows get the whole line */
@media(max-width:640px){
  .site-footer .fgrid .fbrand{grid-column:1/-1;max-width:none}
}

/* legal bar: static in the page flow on phones — fixed was fine as a thin
   desktop line, but wrapped to ~110px on mobile and ate the viewport */
@media(max-width:700px){
  body{padding-bottom:0}   /* was clearance for the fixed bar */
  .foot-bottom{position:static}
  .fb-inner{flex-direction:column;align-items:flex-start;gap:14px;padding-top:16px !important;padding-bottom:20px !important}
  .fb-links{gap:12px 20px}
}

/* status-pill dot: flat, no glow (site-wide hard rule) */
.status-pill span{box-shadow:none}

/* ══ MOBILE NAV ACCORDION 2026-08-19 (user's reference design) ═══════════
   Parents are tappable rows with a rotating chevron; ONE section open at a
   time (nga.js navAccordion toggles .m-open); the open section is a tinted
   full-bleed sub-panel; Request a Demo + Login live at the panel foot.
   Overrides the group-heading treatment from the earlier mobile blocks.
   Desktop (≥961px) only change: the injected .nav-cta-item is hidden. ════ */
@media(max-width:960px){
  /* parents: back to tappable rows */
  ul.nav-menu>li.menu-item-has-children>a{
    pointer-events:auto;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:15px 0;
    font-size:15.5px;font-weight:600;
    letter-spacing:0;text-transform:none;
    color:var(--ink);
  }
  /* chevron (the desktop caret glyph stays off; this is a drawn one) */
  ul.nav-menu>li.menu-item-has-children>a:after{
    content:'';display:block;width:9px;height:9px;flex:none;
    border-right:2px solid var(--zinc-400);border-bottom:2px solid var(--zinc-400);
    transform:rotate(45deg) translate(-2px,-2px);
    transition:transform .25s cubic-bezier(.22,1,.36,1);
    margin-right:3px;
  }
  ul.nav-menu>li.m-open>a{color:var(--blue)}
  ul.nav-menu>li.m-open>a:after{
    transform:rotate(225deg) translate(-2px,-2px);
    border-color:var(--blue);
  }

  /* sub-panels: closed by default, open = tinted full-bleed block */
  ul.nav-menu ul.sub-menu{display:none}
  ul.nav-menu li.m-open>ul.sub-menu{
    display:block;
    background:var(--bg-light);
    margin:0 -24px;
    padding:6px 24px 12px;
    border-top:1px solid var(--zinc-200);
  }
  ul.nav-menu ul.sub-menu li a{
    display:block;
    padding:12px 0;
    font-size:15px;color:var(--zinc-700);
    border-left:0;border-radius:0;background:none;
  }
  ul.nav-menu ul.sub-menu li+li a{border-top:1px solid rgba(175,60,69,.08)}

  /* CTA foot */
  ul.nav-menu .nav-cta-item{border-top:1px solid var(--zinc-200);padding:20px 0 4px;margin-top:6px}
  ul.nav-menu .nav-cta-item .btn{
    display:flex;width:100%;justify-content:center;
    height:48px;align-items:center;font-size:15px;
  }
  ul.nav-menu .nav-cta-item .nav-login-m{
    display:block;text-align:center;margin-top:14px;padding:10px 0;
    font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--zinc-500);
  }
  ul.nav-menu .nav-cta-item .nav-login-m:hover{color:var(--blue)}
}
@media(min-width:961px){
  ul.nav-menu .nav-cta-item{display:none}
}