:root{
--red:#C21906;--red-dark:#9A1304;--red-light:#FBE5E0;
--orange:#EA580C;--purple:#7C3AED;--green:#059669;--gold:#D97706;--blue:#3B82F6;
--ink:#0F172A;--ink-soft:#1E293B;--mid:#475569;--muted:#94A3B8;
--light:#F8FAFC;--light-2:#F1F5F9;--border:#E2E8F0;--white:#FFFFFF;
--shadow-sm:0 1px 2px rgba(15,23,42,.04);--shadow-md:0 4px 12px rgba(15,23,42,.06);
--shadow-lg:0 12px 32px rgba(15,23,42,.08);--shadow-xl:0 24px 56px rgba(15,23,42,.10);
--radius:12px;--radius-lg:20px;--max-w:1280px;--transition:200ms cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
/* overflow-x:clip (not hidden) — `hidden` makes body a scroll container, which
   silently disables position:sticky on the header and module nav. */
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);line-height:1.6;background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}
.container{max-width:var(--max-w);margin:0 auto;padding:0 32px}

/* TOPBAR + HEADER + NAV */
.topbar{background:var(--ink);color:#fff;padding:10px 0;font-size:13px}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.topbar-left{display:flex;gap:24px;flex-wrap:wrap}
.topbar-left span{color:rgba(255,255,255,.7)}.topbar-left strong{color:#fff;font-weight:600;margin-left:6px}
.topbar-right{display:flex;gap:12px}.topbar-right a{color:rgba(255,255,255,.7);transition:var(--transition)}.topbar-right a:hover{color:#fff}

.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:80px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-.02em;flex-shrink:0}
.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--red);color:#fff;border-radius:8px;font-weight:800;font-size:18px}.logo-img{height:24px;width:auto;max-width:252px;display:block}.logo-img-footer{height:28px;max-width:320px}@media(max-width:640px){.logo-img{height:22px;max-width:210px}}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text .top{color:var(--ink)}.logo-text .sub{font-size:11px;font-weight:500;color:var(--mid);letter-spacing:.05em;text-transform:uppercase}

.nav{display:flex;align-items:center;gap:4px;list-style:none}
.nav>li{list-style:none;position:relative}
.nav>li>a{display:flex;align-items:center;gap:3px;padding:8px 10px;font-size:14px;font-weight:500;color:var(--ink-soft);border-radius:8px;transition:var(--transition)}
.nav>li>a:hover,.nav>li>a.active{background:var(--light);color:var(--red)}
.chevron{width:12px;height:12px;transition:transform var(--transition)}
.nav>li:hover .chevron{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--transition);list-style:none}
.nav>li:hover .dropdown,.nav>li:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--ink-soft);transition:var(--transition)}
.dropdown a:hover,.dropdown a.active{background:var(--light);color:var(--red)}

.header-cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:8px;font-size:14.5px;font-weight:600;transition:var(--transition);white-space:nowrap;cursor:pointer;border:1.5px solid transparent}
.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--border)}.btn-secondary:hover{border-color:var(--ink)}
.btn-on-dark{background:#fff;color:var(--ink)}.btn-on-dark:hover{background:rgba(255,255,255,.92);transform:translateY(-1px)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}.btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{color:var(--red)}

.mobile-toggle{display:none;padding:8px;cursor:pointer}
.mobile-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;transition:var(--transition);border-radius:2px}

/* PAGE HERO */
.page-hero{position:relative;background:linear-gradient(135deg,#0F172A 0%,#1E293B 100%);color:#fff;padding:120px 0 100px;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 80% 20%,rgba(220,38,38,.25) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(234,88,12,.15) 0%,transparent 50%);pointer-events:none}
.page-hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.page-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}
.page-hero-text .breadcrumb{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;color:#fff}
.page-hero h1{font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:24px}
.page-hero h1 em{font-style:normal;color:rgba(255,255,255,.8);font-weight:600;display:block}
.page-hero .lead{font-size:18px;line-height:1.6;color:rgba(255,255,255,.85);max-width:580px;margin-bottom:32px}
.page-hero-stats{display:flex;flex-wrap:wrap;gap:32px 56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15)}
.page-hero-stat .num{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1;background:linear-gradient(135deg,#fff,rgba(255,255,255,.7));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}
.page-hero-stat .lbl{font-size:12px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.page-hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
.page-hero-card{background:rgba(255,255,255,.06);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:380px}
.page-hero-card h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:16px}
.page-hero-card ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.page-hero-card li{display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(255,255,255,.85)}
.page-hero-card li::before{content:'';width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0}

/* SECTION COMMONS */
.section{padding:100px 0}
.section-light{background:var(--light)}
.section-dark{background:var(--ink);color:#fff}
.section-header{max-width:800px;margin:0 auto 64px;text-align:center}
.section-kicker{display:inline-block;padding:6px 16px;background:var(--red-light);color:var(--red);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;margin-bottom:20px}
.section-title{font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.025em;line-height:1.15;margin-bottom:20px}
.section-title em{font-style:normal;color:var(--red)}
.section-desc{font-size:18px;color:var(--mid);line-height:1.6}

/* STAT CARDS */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat-card{padding:32px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;transition:var(--transition)}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--red)}
.stat-card .num{font-size:44px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--red);margin-bottom:8px}
.stat-card .lbl{font-size:14px;color:var(--mid);font-weight:500}

/* 3-COL CARDS */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.cards-1{display:grid;grid-template-columns:1fr;gap:24px}

.icon-card{position:relative;padding:36px 32px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);overflow:hidden}
.icon-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform 400ms ease}
.icon-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:transparent}
.icon-card:hover::before{transform:scaleX(1)}
.icon-card .icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--red-light);color:var(--red);border-radius:14px;margin-bottom:24px}
.icon-card .icon svg{width:28px;height:28px}
.icon-card h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.icon-card p{font-size:15px;color:var(--mid);line-height:1.65}

/* LEADERSHIP CARDS */
.leader-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.leader-grid .featured{grid-column:1/3}
.leader-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}
.leader-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--red)}
.leader-card.featured{flex-direction:row}
.leader-photo{width:100%;height:280px;background:linear-gradient(135deg,#0F172A,#7E1104);position:relative;display:flex;align-items:flex-end;padding:32px;color:#fff;overflow:hidden}
.leader-photo::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}
.leader-photo.purple{background:linear-gradient(135deg,#0F172A,#3B0764)}
.leader-photo.green{background:linear-gradient(135deg,#0F172A,#064E3B)}
.leader-photo.gold{background:linear-gradient(135deg,#0F172A,#78350F)}
.leader-photo.blue{background:linear-gradient(135deg,#0F172A,#1E3A8A)}
.leader-photo .initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:80px;font-weight:900;color:rgba(255,255,255,.1);letter-spacing:-.05em}
.leader-photo .role-tag{position:relative;z-index:2;display:inline-block;padding:4px 12px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.leader-card.featured .leader-photo{width:340px;height:auto;flex-shrink:0}
.leader-card.featured .leader-photo .initials{font-size:120px}
.leader-body{padding:32px;flex:1;display:flex;flex-direction:column}
.leader-card.featured .leader-body{padding:48px}
.leader-card h3{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}
.leader-card .title{font-size:14px;color:var(--red);font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em}
.leader-card.featured h3{font-size:32px;margin-bottom:6px}
.leader-card.featured .title{font-size:15px}
.leader-bio{font-size:14.5px;color:var(--mid);line-height:1.7;margin-bottom:20px;flex-grow:1}
.leader-card.featured .leader-bio{font-size:15px}
.leader-philosophy{padding:16px 20px;background:var(--light);border-left:3px solid var(--red);border-radius:0 8px 8px 0;font-style:italic;font-size:14px;color:var(--ink);margin-bottom:20px;line-height:1.6}
.leader-links{display:flex;gap:10px;align-items:center}
.leader-links a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--light);border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);transition:var(--transition)}
.leader-links a:hover{background:var(--red);border-color:var(--red);color:#fff}
.leader-links svg{width:18px;height:18px}

/* PARTNER CARDS */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.partner-card{padding:32px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);display:flex;flex-direction:column}
.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--red)}
.partner-tag{display:inline-block;padding:4px 12px;background:var(--red-light);color:var(--red);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:99px;margin-bottom:20px;width:fit-content}
.partner-logo-mark{width:80px;height:80px;background:linear-gradient(135deg,var(--ink),var(--ink-soft));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:20px}
.partner-card h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.partner-card p{font-size:14.5px;color:var(--mid);line-height:1.65;flex-grow:1}

/* ACCRED CARDS */
.accred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.accred-card{padding:36px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;transition:var(--transition)}
.accred-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--red)}
.accred-badge{width:96px;height:96px;margin:0 auto 20px;background:linear-gradient(135deg,var(--red),var(--orange));border-radius:24px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:11px;line-height:1.1;letter-spacing:.04em;text-align:center;padding:8px;box-shadow:var(--shadow-md)}
.accred-card h4{font-size:16px;font-weight:700;margin-bottom:8px}
.accred-card p{font-size:13px;color:var(--mid);line-height:1.55}

/* PRESS RELEASES */
.press-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:48px}
.press-tab{padding:10px 24px;background:#fff;border:1px solid var(--border);border-radius:99px;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:var(--transition)}
.press-tab:hover{border-color:var(--red);color:var(--red)}
.press-tab.active{background:var(--red);color:#fff;border-color:var(--red)}
.press-grid{display:grid;grid-template-columns:1fr;gap:20px}
.press-card{display:grid;grid-template-columns:200px 1fr auto;gap:32px;align-items:center;padding:28px 32px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}
.press-card:hover{box-shadow:var(--shadow-md);border-color:var(--red);transform:translateX(4px)}
.press-meta .type-tag{display:inline-block;padding:4px 12px;background:var(--red-light);color:var(--red);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:99px;margin-bottom:8px}
.press-meta .type-tag.award{background:#FEF3C7;color:#D97706}
.press-meta .type-tag.membership{background:#DBEAFE;color:#1D4ED8}
.press-meta .date{font-size:13px;font-weight:700;color:var(--ink)}
.press-meta .valid{font-size:12px;color:var(--mid);margin-top:2px}
.press-content h3{font-size:18px;font-weight:700;line-height:1.3;margin-bottom:8px;letter-spacing:-.01em}
.press-content p{font-size:14px;color:var(--mid);line-height:1.6}
.press-card .arrow-link{flex-shrink:0;width:48px;height:48px;background:var(--light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--red);font-size:18px;transition:var(--transition)}
.press-card:hover .arrow-link{background:var(--red);color:#fff;transform:translateX(4px)}

/* VIDEOS */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.video-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition)}
.video-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.video-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#0F172A,#7E1104);position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}
.video-thumb::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:30px 30px}
.video-thumb.purple{background:linear-gradient(135deg,#0F172A,#3B0764)}
.video-thumb.green{background:linear-gradient(135deg,#0F172A,#064E3B)}
.video-thumb.gold{background:linear-gradient(135deg,#0F172A,#78350F)}
.video-thumb.blue{background:linear-gradient(135deg,#0F172A,#1E3A8A)}
.play-btn{width:64px;height:64px;background:rgba(255,255,255,.95);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:var(--transition)}
.video-thumb:hover .play-btn{transform:scale(1.1)}
.play-btn svg{width:24px;height:24px;color:var(--red);margin-left:3px}
.video-tag{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);padding:4px 12px;border-radius:99px;font-size:11px;font-weight:700;color:#fff;z-index:2;letter-spacing:.06em;text-transform:uppercase}
.video-body{padding:20px 24px}
.video-body h4{font-size:16px;font-weight:700;line-height:1.4}

/* LOCATIONS */
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.location-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}
.location-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--red)}
.location-header{padding:24px 32px;background:linear-gradient(135deg,var(--ink),var(--ink-soft));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}
.location-header.featured{background:linear-gradient(135deg,var(--red),var(--orange))}
.location-header h3{font-size:22px;font-weight:700;letter-spacing:-.02em}
.location-header .flag{font-size:32px}
.location-tag{display:inline-block;padding:3px 10px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.location-body{padding:28px 32px;flex-grow:1;display:flex;flex-direction:column}
.location-name{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px}
.location-address{font-size:14px;color:var(--mid);line-height:1.6;margin-bottom:16px}
.location-contact{padding-top:16px;border-top:1px solid var(--border);font-size:13.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px}
.location-contact a{color:var(--red);font-weight:600}
.location-contact a:hover{text-decoration:underline}

.presence-band{margin-top:40px;padding:32px 40px;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-soft) 100%);color:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}
.presence-band h3{font-size:20px;font-weight:700;margin-bottom:6px}
.presence-band p{font-size:14px;color:rgba(255,255,255,.75)}
.presence-chips{display:flex;gap:12px;flex-wrap:wrap}
.presence-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:99px;font-size:14px;font-weight:600;color:#fff}

/* VISION/MISSION */
.vm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-bottom:64px}
.vm-card{padding:48px;background:linear-gradient(135deg,var(--ink),var(--ink-soft));color:#fff;border-radius:var(--radius-lg);position:relative;overflow:hidden}
.vm-card.mission{background:linear-gradient(135deg,#7E1104,#C21906)}
.vm-card::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15) 0%,transparent 50%);pointer-events:none}
.vm-card>*{position:relative;z-index:2}
.vm-tag{display:inline-block;padding:4px 14px;background:rgba(255,255,255,.15);border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.vm-card h3{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:16px;line-height:1.2}
.vm-card p{font-size:15.5px;color:rgba(255,255,255,.85);line-height:1.7}

/* INDUSTRY/TECH CHIPS */
.tags-block{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-top:32px}
.tags-col h5{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;text-align:center}
.chips-wrap{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chips-wrap .chip{display:inline-block;padding:6px 14px;background:#fff;border:1px solid var(--border);border-radius:99px;font-size:13px;font-weight:600;color:var(--ink-soft)}

/* CTA */
.cta-band{background:linear-gradient(135deg,var(--red) 0%,var(--orange) 100%);color:#fff;padding:80px 0;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px}
.cta-inner{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;z-index:2}
.cta-inner h2{font-size:clamp(28px,3.5vw,42px);font-weight:800;letter-spacing:-.025em;line-height:1.15;margin-bottom:16px}
.cta-inner p{font-size:17px;color:rgba(255,255,255,.9);line-height:1.6}
.cta-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}

/* FOOTER */
.footer{background:var(--ink);color:rgba(255,255,255,.7);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px}
.footer-brand .logo{color:#fff;margin-bottom:24px}
.footer-brand .logo .sub{color:rgba(255,255,255,.5)}
.footer-brand p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.65);margin-bottom:16px;max-width:340px}
.footer-cert-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.footer-cert-chip{padding:4px 10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:11px;font-weight:600;color:rgba(255,255,255,.85)}
.footer-social{display:flex;gap:10px}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:rgba(255,255,255,.7);transition:var(--transition)}
.footer-social a:hover{background:var(--red);border-color:var(--red);color:#fff}
.footer-social svg{width:16px;height:16px}
.footer-col h5{color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:12px}
.footer-col a{font-size:14px;color:rgba(255,255,255,.65);transition:color var(--transition)}
.footer-col a:hover{color:var(--red)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px}
.footer-bottom-links{display:flex;gap:24px}

/* RESPONSIVE */
@media(max-width:1024px){
.nav{display:none}.mobile-toggle{display:block}.header-cta .btn-secondary{display:none}
.page-hero-inner{grid-template-columns:1fr;gap:40px}
.page-hero-card{max-width:none}
.stats-grid,.cards-3,.cards-4,.partner-grid,.video-grid{grid-template-columns:repeat(2,1fr)}
.accred-grid{grid-template-columns:repeat(2,1fr)}
.leader-grid,.location-grid,.vm-grid,.cards-2{grid-template-columns:1fr}
.leader-grid .featured{grid-column:1}
.leader-card.featured{flex-direction:column}
.leader-card.featured .leader-photo{width:100%;height:240px}
.press-card{grid-template-columns:1fr;gap:16px}
.press-card .arrow-link{display:none}
.cta-inner{grid-template-columns:1fr}.cta-actions{justify-content:flex-start}
.footer-grid{grid-template-columns:1fr 1fr}
.presence-band{flex-direction:column;align-items:flex-start;padding:24px}
}
@media(max-width:640px){
.container{padding:0 20px}.topbar-left span:not(:first-child){display:none}
.section{padding:64px 0}
.page-hero{padding:80px 0 64px}
.stats-grid,.cards-3,.cards-4,.partner-grid,.video-grid,.accred-grid{grid-template-columns:1fr}
.accred-grid{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr}
}

.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:80px}
.feature-row:last-child{margin-bottom:0}
.feature-row.reverse{direction:rtl}.feature-row.reverse>*{direction:ltr}
.feature-text .mod-num{display:inline-block;padding:4px 12px;background:var(--red-light);color:var(--red);border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:16px;text-transform:uppercase}
.feature-text h3{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:16px;line-height:1.2}
.feature-text p{font-size:15.5px;color:var(--mid);line-height:1.65;margin-bottom:24px}
.feature-list{list-style:none}
.feature-list li{display:flex;align-items:flex-start;gap:12px;padding:8px 0;font-size:14.5px;color:var(--ink-soft)}
.feature-list li::before{content:'';flex-shrink:0;width:18px;height:18px;background:var(--red);border-radius:50%;margin-top:2px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M13.854 3.646a.5.5 0 010 .708l-7 7a.5.5 0 01-.708 0l-3.5-3.5a.5.5 0 11.708-.708L6.5 10.293l6.646-6.647a.5.5 0 01.708 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}
.feature-visual{background:linear-gradient(135deg,#0F172A,#7E1104);border-radius:var(--radius-lg);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:white;font-size:80px;font-weight:900;letter-spacing:-.05em;position:relative;overflow:hidden}
.feature-visual::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:30px 30px}
.feature-visual.purple{background:linear-gradient(135deg,#0F172A,#3B0764)}
.feature-visual.green{background:linear-gradient(135deg,#0F172A,#064E3B)}
.feature-visual.gold{background:linear-gradient(135deg,#0F172A,#78350F)}
.feature-visual.blue{background:linear-gradient(135deg,#0F172A,#1E3A8A)}
.feature-visual span{position:relative;z-index:2;opacity:.4}
.industries-strip{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.industry-tag{display:inline-block;padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:99px;font-size:13px;font-weight:600;color:var(--ink-soft)}

/* Contact form */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-form{background:#fff;padding:40px;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.contact-form h3{font-size:24px;font-weight:700;margin-bottom:8px}
.contact-form p{color:var(--mid);font-size:14.5px;margin-bottom:24px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:14.5px;color:var(--ink);transition:var(--transition);background:#fff}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(220,38,38,.1)}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-info{padding:8px 0}
.contact-info h3{font-size:24px;font-weight:700;margin-bottom:8px}
.contact-info>p{color:var(--mid);font-size:15px;margin-bottom:32px;line-height:1.65}
.contact-method{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}
.contact-method:last-child{border-bottom:none}
.contact-method .ic{flex-shrink:0;width:48px;height:48px;background:var(--red-light);color:var(--red);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}
.contact-method h4{font-size:15px;font-weight:700;margin-bottom:4px}
.contact-method p,.contact-method a{font-size:14px;color:var(--mid);line-height:1.5}
.contact-method a{color:var(--red);font-weight:600}
@media(max-width:1024px){.contact-grid,.feature-row{grid-template-columns:1fr}.feature-row.reverse{direction:ltr}.form-row{grid-template-columns:1fr}}

.feature-visual{position:relative}
.feature-visual img{position:absolute;inset:0;z-index:2}
.feature-visual .vis-fallback{position:relative;z-index:1}
.feature-visual.no-image .vis-fallback{z-index:3}

/* ── MEGA MENU (DT dropdown) ── */
.mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(8px);width:540px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:16px;opacity:0;visibility:hidden;transition:var(--transition);z-index:500}
.nav>li:hover .mega,.nav>li:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega-sec{margin-bottom:12px}.mega-sec:last-child{margin-bottom:0}
.mega-lbl{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);padding:4px 8px;border-top:1px solid var(--border);margin-bottom:4px}
.mega-sec:first-child .mega-lbl{border-top:none;padding-top:0}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.mega a{display:block;padding:8px 10px;font-size:13px;font-weight:500;color:var(--ink-soft);border-radius:8px;transition:var(--transition)}
.mega a:hover{background:var(--light);color:var(--red)}

/* ════════ RESPONSIVE-PATCH (mobile + cross-device) ════════ */
*{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
img,video,iframe{max-width:100%}
img{height:auto}
table{max-width:100%}

/* ── Mobile nav drawer: expand all submenus inline (works on iOS/Android touch) ── */
@media(max-width:1024px){
  .nav>li{width:100%;position:static}
  .nav>li>a{justify-content:space-between;width:100%}
  .nav .chev,.nav .chevron{display:none!important}
  .nav .drop,.nav .dropdown,.nav .mega{
    position:static!important;opacity:1!important;visibility:visible!important;
    transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;
    left:auto!important;right:auto!important;top:auto!important;
    box-shadow:none!important;border:none!important;border-radius:0!important;
    background:transparent!important;padding:2px 0 8px 10px!important;margin:0!important;display:block!important}
  .nav .mega-grid{display:block!important;width:auto!important}
  .nav .mega-sec{margin-bottom:6px!important}
  .nav .drop a,.nav .dropdown a,.nav .mega a{display:block;padding:9px 10px;font-size:14px}
  .nav .drop li,.nav .dropdown li{list-style:none}
}

/* ── Tablet: keep dense grids from overflowing ── */
@media(max-width:1024px){
  .ot-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── Phones ── */
@media(max-width:640px){
  .container{padding-left:18px!important;padding-right:18px!important}
  .about-grid,.acc-features,.ai-grid,.bgc-grid,.blog-grid,.cap-grid,.cards-1,.cards-2,.cards-3,.cards-4,.city-grid,.cols-3,.commercial-grid,.contact-grid,.crm-platforms,.cta-grid,.cta-inner,.edi-inner,.enabler-grid,.erm-grid,.event-photos,.event-header,.expand-grid,.fb-grid,.feature-row,.form-row,.app-field-row,.gcc-landscape,.global-grid,.grid-2,.ind2-grid,.industry-grid,.insight-grid,.leader-grid,.legacy-banner-inner,.lg-hero-inner,.location-grid,.map-grid,.model-grid,.models-grid,.modules-grid,.modules-layout,.office-grid,.ormae-cards,.ormae-header,.ormae-products,.ot-grid,.overview-cols,.overview-inner,.page-hero-inner,.partner-grid,.partner-grid-4,.phase-band,.press-card,.press-grid,.prod-grid,.reach-inner,.roadmap-grid,.sector-grid,.services-grid,.skills-grid,.svc-caps,.tech-grid,.vm-grid,.vps-inner,.why-grid,.wf-hero-inner,.process-track,.pillars,.closing-grid{grid-template-columns:1fr!important}
  .stats-grid,.stats-band,.stats-inner,.about-stats,.closing-stats,.lg-hero-stats,.pipeline-stats-row,.numbers-grid,.fr2,.fr3,.accred-grid,.mdp-metrics,.partner-grid{grid-template-columns:1fr 1fr!important}
  h1{font-size:clamp(26px,7.2vw,34px);line-height:1.18}
  h2{font-size:clamp(22px,5.8vw,28px);line-height:1.22}
  .hero-actions,.cta-actions,.header-cta,.hero-cta,.btn-row,.actions{flex-wrap:wrap}
  .btn{white-space:nowrap}
  .app-field-row{grid-template-columns:1fr!important}
}

/* ── Very small phones ── */
@media(max-width:400px){
  .stats-grid,.stats-band,.stats-inner,.about-stats,.closing-stats,.lg-hero-stats,.pipeline-stats-row,.numbers-grid,.fr2,.fr3,.accred-grid,.mdp-metrics,.partner-grid{grid-template-columns:1fr!important}
  .container{padding-left:14px!important;padding-right:14px!important}
}
/* ════════ /RESPONSIVE-PATCH ════════ */
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:#0F172A;color:#fff;box-shadow:0 -8px 40px rgba(0,0,0,.35);transform:translateY(115%);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.cc-banner.cc-show{transform:translateY(0)}
.cc-inner{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cc-text{flex:1;min-width:255px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.82)}
.cc-text strong{color:#fff;display:block;font-size:15px;margin-bottom:4px;font-weight:700}
.cc-text a{color:#fff;text-decoration:underline}
.cc-actions{display:flex;gap:10px;flex-wrap:wrap}
.cc-btn{padding:11px 22px;border-radius:8px;font-size:13.5px;font-weight:700;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:all .2s}
.cc-accept{background:#C21906;color:#fff}
.cc-accept:hover{background:#9A1304}
.cc-decline{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.cc-decline:hover{border-color:#fff}
@media(max-width:640px){.cc-inner{padding:16px}.cc-actions{width:100%}.cc-btn{flex:1;text-align:center}}

/* ══════════════ DECISIONPLAN — PAGE SPECIFICS ══════════════ */

/* flow chain: S&OP → optimize → ERP */
.dp-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:8px}
.dp-step{position:relative;padding:26px 22px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}
.dp-step:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.dp-step.is-core{background:linear-gradient(145deg,var(--red),var(--orange));border-color:transparent;box-shadow:var(--shadow-lg)}
.dp-step .s-n{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.dp-step.is-core .s-n{color:rgba(255,255,255,.85)}
.dp-step h4{font-size:16px;font-weight:700;letter-spacing:-.015em;line-height:1.3;margin-bottom:6px;color:var(--ink)}
.dp-step.is-core h4{color:#fff}
.dp-step p{font-size:13px;color:var(--mid);line-height:1.55}
.dp-step.is-core p{color:rgba(255,255,255,.88)}

/* numbered process cards */
.dp-num-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dp-num-card{padding:30px 26px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}
.dp-num-card:hover{border-color:var(--red);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.dp-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--red-light);color:var(--red);font-size:14px;font-weight:800;margin-bottom:16px}
.dp-num-card h4{font-size:16.5px;font-weight:700;letter-spacing:-.015em;margin-bottom:8px;line-height:1.3}
.dp-num-card p{font-size:14px;color:var(--mid);line-height:1.6}

/* objective band */
.dp-objective{margin-top:32px;padding:34px 36px;background:var(--ink);border-radius:var(--radius-lg);color:#fff}
.dp-objective .o-l{display:inline-block;padding:5px 14px;background:rgba(255,255,255,.12);border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.dp-objective .o-f{font-size:clamp(18px,2.2vw,24px);font-weight:700;letter-spacing:-.02em;line-height:1.45}
.dp-objective .o-f em{font-style:normal;color:#FF8A6B}
.dp-objective .o-s{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);font-size:15px;color:rgba(255,255,255,.72)}

/* data-input chips */
.dp-chips{display:flex;flex-wrap:wrap;gap:8px}
.dp-chips span{padding:7px 14px;background:var(--light);border:1px solid var(--border);border-radius:99px;font-size:13px;font-weight:600;color:var(--ink-soft)}

/* KPI list inside icon cards */
.dp-kpi-list{list-style:none;margin-top:16px}
.dp-kpi-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--mid)}
.dp-kpi-list li:last-child{border-bottom:none}
.dp-kpi-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--red);flex-shrink:0}

/* FAQ — native details, no JS needed */
.dp-faq{max-width:900px;margin:0 auto}
.dp-faq details{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;transition:var(--transition)}
.dp-faq details[open]{border-color:var(--red);box-shadow:var(--shadow-sm)}
.dp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;cursor:pointer;font-size:16.5px;font-weight:700;letter-spacing:-.015em;color:var(--ink);list-style:none}
.dp-faq summary::-webkit-details-marker{display:none}
.dp-faq summary:hover{color:var(--red)}
.dp-faq summary .q-i{flex-shrink:0;position:relative;width:26px;height:26px;border-radius:50%;background:var(--red-light);transition:var(--transition)}
.dp-faq summary .q-i::before,.dp-faq summary .q-i::after{content:'';position:absolute;background:var(--red);transition:var(--transition)}
.dp-faq summary .q-i::before{left:7px;right:7px;top:12.5px;height:2px}
.dp-faq summary .q-i::after{top:7px;bottom:7px;left:12px;width:2px}
.dp-faq details[open] summary .q-i{background:var(--red)}
.dp-faq details[open] summary .q-i::before{background:#fff}
.dp-faq details[open] summary .q-i::after{opacity:0}
.dp-faq .a{padding:0 24px 22px;font-size:15px;line-height:1.72;color:var(--mid)}

@media(max-width:1024px){
  .dp-chain{grid-template-columns:1fr 1fr}
  .dp-num-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .dp-chain,.dp-num-grid{grid-template-columns:1fr}
  .dp-objective{padding:26px 22px}
  .dp-faq summary{padding:16px 18px;font-size:15px}
  .dp-faq .a{padding:0 18px 18px}
}

/* ══════════ SCROLL REVEAL ══════════ */
.dp-reveal{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.22,.85,.22,1),transform .75s cubic-bezier(.22,.85,.22,1)}
.dp-reveal.in{opacity:1;transform:none}
.dp-reveal[data-d="1"]{transition-delay:.09s}
.dp-reveal[data-d="2"]{transition-delay:.18s}
.dp-reveal[data-d="3"]{transition-delay:.27s}
.dp-reveal[data-d="4"]{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){.dp-reveal{opacity:1;transform:none;transition:none}}

/* ══════════ PRODUCT SCREENSHOT FRAME ══════════ */
.dp-shot{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-xl);line-height:0}
.dp-shot img{width:100%;height:auto;display:block}
.dp-shot-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--light);border-bottom:1px solid var(--border)}
.dp-shot-bar i{width:9px;height:9px;border-radius:50%;background:var(--border);display:block}
.dp-shot-bar span{margin-left:8px;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.dp-cap{margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.6}

/* ══════════ SIX-STEP SCENARIO SLIDER ══════════ */
.sm-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:40px}
.sm-step{position:relative;padding:18px 10px 20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;overflow:hidden;transition:var(--transition)}
.sm-step:hover{border-color:var(--muted)}
.sm-step .sm-n{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 auto 10px;border-radius:50%;background:var(--light-2);color:var(--mid);font-size:13px;font-weight:800;transition:var(--transition)}
.sm-step .sm-l{font-size:12.5px;font-weight:700;color:var(--mid);line-height:1.3;transition:var(--transition)}
.sm-step.is-on{border-color:var(--red);box-shadow:var(--shadow-md)}
.sm-step.is-on .sm-n{background:var(--red);color:#fff}
.sm-step.is-on .sm-l{color:var(--ink)}
.sm-step .sm-pg{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--light-2);opacity:0}
.sm-step.is-on .sm-pg{opacity:1}
.sm-step .sm-pg i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--orange))}
.sm-wrap.is-ready .sm-step.is-on .sm-pg i{animation:smFill var(--sm-dur,7000ms) linear forwards}
.sm-wrap.is-held .sm-step.is-on .sm-pg i{animation-play-state:paused}
@keyframes smFill{from{width:0}to{width:100%}}

.sm-stage{position:relative}
.sm-slide{display:none}
.sm-slide.is-on{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:48px;align-items:center}
.sm-slide.is-on>*{opacity:0;animation:smUp .62s cubic-bezier(.22,.85,.22,1) forwards}
.sm-slide.is-on>*:nth-child(2){animation-delay:.12s}
@keyframes smUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.sm-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;background:var(--red-light);color:var(--red);border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:18px}
.sm-copy h3{font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.024em;line-height:1.2;margin-bottom:14px}
.sm-copy>p{font-size:15.5px;color:var(--mid);line-height:1.7;margin-bottom:22px}

/* solver KPI tiles (mirrors the real product UI) */
.sm-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sm-kpi{position:relative;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.sm-kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4F46E5,#10B981)}
.sm-kpi .k-l{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.sm-kpi .k-v{font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1}
.sm-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.sm-mini div{padding:12px 10px;background:var(--light);border:1px solid var(--border);border-radius:10px;text-align:center}
.sm-mini .m-l{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;line-height:1.25}
.sm-mini .m-v{font-size:16px;font-weight:800;color:var(--ink)}

/* file table */
.sm-tablewrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff}
.sm-tablewrap .t-hd{display:flex;align-items:center;gap:9px;padding:12px 16px;background:#ECFDF5;border-bottom:1px solid var(--border);font-size:12.5px;font-weight:700;color:#047857}
.sm-table{width:100%;border-collapse:collapse;font-size:12.5px}
.sm-table th{padding:10px 16px;text-align:left;background:var(--light);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mid);white-space:nowrap}
.sm-table td{padding:9px 16px;border-top:1px solid var(--border);color:var(--ink-soft)}
.sm-table td.f{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--ink)}
.sm-table td.n{text-align:right;color:var(--mid)}
.sm-ok{display:inline-block;padding:3px 9px;background:#ECFDF5;color:#047857;border-radius:99px;font-size:10.5px;font-weight:700;white-space:nowrap}

/* validation checks */
.sm-checks{display:grid;gap:9px}
.sm-check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px 15px;background:#fff;border:1px solid var(--border);border-radius:10px;font-size:13.2px;color:var(--mid);line-height:1.55}
.sm-check b{color:var(--ink);font-weight:700}
.sm-pass{padding:3px 9px;background:#ECFDF5;color:#047857;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap;letter-spacing:.04em}
.sm-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.sm-counts div{padding:14px 12px;background:var(--light);border:1px solid var(--border);border-radius:10px}
.sm-counts .c-l{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.sm-counts .c-v{font-size:20px;font-weight:800;color:var(--ink);line-height:1}

/* solver console */
.sm-console{background:var(--ink);border-radius:var(--radius);padding:20px 22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.85;color:#94A3B8}
.sm-console .c-path{color:#7DD3FC;word-break:break-all}
.sm-console .c-ok{color:#4ADE80;font-weight:700}
.sm-console .c-run{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 18px;background:#4F46E5;color:#fff;border-radius:8px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700}

/* ══════════ EXECUTIVE KPI BAND ══════════ */
.dp-exec{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dp-exec-card{position:relative;padding:26px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition)}
.dp-exec-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.dp-exec-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4F46E5,#10B981)}
.dp-exec-card .e-l{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.dp-exec-card .e-v{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1}
.dp-exec-card .e-s{margin-top:8px;font-size:12.5px;color:var(--mid)}

/* diagnostic cost strip */
.dp-diag{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#fff;margin-top:20px}
.dp-diag div{padding:20px 18px;border-right:1px solid var(--border)}
.dp-diag div:last-child{border-right:none}
.dp-diag .d-l{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dp-diag .d-v{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.02em}

/* comparison table */
.dp-cmp-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}
.dp-cmp{width:100%;border-collapse:collapse;min-width:760px;font-size:13.5px}
.dp-cmp th{padding:14px 18px;text-align:left;background:var(--light);font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mid);white-space:nowrap}
.dp-cmp td{padding:14px 18px;border-top:1px solid var(--border);color:var(--ink-soft)}
.dp-cmp td.s{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:600;color:var(--ink)}
.dp-cmp tr.best td{background:rgba(16,185,129,.06)}
.dp-cmp .tag-best{display:inline-block;margin-left:8px;padding:2px 8px;background:#ECFDF5;color:#047857;border-radius:99px;font-size:9.5px;font-weight:800;letter-spacing:.05em}

@media(max-width:1024px){
  .sm-steps{grid-template-columns:repeat(3,1fr)}
  .sm-slide.is-on{grid-template-columns:1fr;gap:32px}
  .dp-exec{grid-template-columns:1fr 1fr}
  .dp-diag{grid-template-columns:1fr 1fr 1fr}
  .dp-diag div{border-bottom:1px solid var(--border)}
}
@media(max-width:640px){
  .sm-steps{grid-template-columns:1fr 1fr;gap:8px}
  .sm-step{padding:13px 8px 15px}
  .sm-step .sm-n{width:26px;height:26px;font-size:12px}
  .sm-step .sm-l{font-size:11.5px}
  .sm-kpis{grid-template-columns:1fr 1fr}
  .sm-mini{grid-template-columns:1fr 1fr 1fr}
  .sm-counts{grid-template-columns:1fr 1fr}
  .dp-exec{grid-template-columns:1fr}
  .dp-diag{grid-template-columns:1fr 1fr}
  .sm-table th,.sm-table td{padding:8px 10px}
}

/* ══════════ DENSITY PASS — close the vertical gaps ══════════ */
.section{padding:74px 0}
.section-header{margin-bottom:44px;max-width:880px}
.page-hero{padding:96px 0 84px}
.sm-slide.is-on{align-items:start}
.sm-copy{position:sticky;top:104px}
@media(max-width:1024px){.sm-copy{position:static}}

/* ══════════ HERO — layered depth ══════════ */
.page-hero{background:linear-gradient(140deg,#070B16 0%,#0E1628 42%,#151F38 100%)}
.page-hero::before{background-image:
  radial-gradient(60% 55% at 78% 18%,rgba(194,25,6,.38) 0%,transparent 62%),
  radial-gradient(48% 48% at 16% 84%,rgba(234,88,12,.20) 0%,transparent 60%),
  radial-gradient(40% 40% at 50% 0%,rgba(79,70,229,.22) 0%,transparent 70%)}
.page-hero::after{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;
  -webkit-mask-image:radial-gradient(75% 70% at 60% 40%,#000 0%,transparent 100%);
  mask-image:radial-gradient(75% 70% at 60% 40%,#000 0%,transparent 100%)}
.dp-mesh{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.85}
.dp-mesh svg{width:100%;height:100%;display:block}
.dp-flow{stroke-dasharray:4 9;animation:dpFlow 2.6s linear infinite}
@keyframes dpFlow{to{stroke-dashoffset:-26}}
.dp-pulse{animation:dpPulse 3.2s ease-in-out infinite}
.dp-pulse.d1{animation-delay:.5s}.dp-pulse.d2{animation-delay:1s}.dp-pulse.d3{animation-delay:1.6s}
@keyframes dpPulse{0%,100%{opacity:.35;r:3}50%{opacity:1;r:5}}
@media(prefers-reduced-motion:reduce){.dp-flow,.dp-pulse{animation:none}}
.page-hero-inner{z-index:2}
.page-hero .breadcrumb{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.page-hero h1 em{background:linear-gradient(120deg,#FF6A4D,#FFB199);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#FF6A4D;font-weight:800}
.page-hero-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);box-shadow:0 24px 60px rgba(0,0,0,.36)}

/* ══════════ DATA VISUAL PANELS ══════════ */
.dp-viz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dp-viz{padding:24px 26px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}
.dp-viz:hover{box-shadow:var(--shadow-lg)}
.dp-viz h4{font-size:15.5px;font-weight:700;letter-spacing:-.015em;margin-bottom:4px;color:var(--ink)}
.dp-viz .v-s{font-size:12.5px;color:var(--muted);margin-bottom:18px}
.dp-viz svg{width:100%;height:auto;display:block}
@media(max-width:860px){.dp-viz-grid{grid-template-columns:1fr}}

/* ---- Large displays: let the layout grow with the screen ----
   The container was fixed at 1280px, so above ~1600px the content stopped
   growing while the display kept going: at 2560px it filled only half the
   screen and everything read as shrunken. --max-w is consumed by .container
   in every stylesheet, so raising it here scales the whole page.
   Centred prose stays capped for line length. */
@media (min-width:1600px){
  :root{--max-w:1440px}
  .container{padding:0 40px}
}
@media (min-width:1920px){
  :root{--max-w:1560px}
  .section-header{max-width:860px}
}
@media (min-width:2400px){
  :root{--max-w:1680px}
  .container{padding:0 48px}
}

/* ---- Mobile header fit ----
   .header-cta carried flex-shrink:0 and the logo could grow to 210px, so at
   390px the row needed ~397px inside a 326px container. The overflow pushed
   .mobile-toggle off-screen, which meant a phone user could not open the
   navigation at all. Let the row shrink, trim the gutter, and scale the CTA. */
@media(max-width:1024px){
  .header-inner{gap:12px;min-width:0}
  .logo{min-width:0;flex:0 1 auto;overflow:hidden}
  .header-cta{flex-shrink:1;min-width:0}
  .mobile-toggle{flex-shrink:0}
}
@media(max-width:640px){
  .container{padding-left:20px;padding-right:20px}
  .header-inner{gap:10px}
  .logo-img{height:20px;max-width:166px}
  .header-cta .btn{padding:9px 13px;font-size:13px;white-space:nowrap}
  .header-cta .btn svg{display:none}
  .mobile-toggle{padding:8px 2px}
}
@media(max-width:400px){
  .container{padding-left:14px;padding-right:14px}
  .logo-img{max-width:140px}
  .header-cta .btn{padding:8px 11px;font-size:12.5px}
}
/* wide tables must scroll inside their own box, never widen the page */
.tbl-wrap,.tw{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:900px){
  .tbl-wrap>table,.tw>table{min-width:640px}
}

/* The footer "Services" column carries copy-pasted nav markup: a chevron and a
   full .mega dropdown. The mega is opacity:0/visibility:hidden so nobody ever
   sees it, but it is position:absolute and 540px wide, so it still extended the
   document and was the single biggest source of horizontal scroll on phones.
   Hiding it removes nothing a visitor could see. */
.footer .mega,.footer .dropdown,.footer .drop{display:none!important}
.footer .chevron,.footer .chev{display:none!important}

/* Two-column card grids must collapse on a phone; grid items also need
   min-width:0 or a track cannot shrink below its content. */
.prod-grid>*,.ps-split>*,.plat-inner>*{min-width:0}
@media(max-width:760px){
  .prod-grid{grid-template-columns:1fr}
}

/* Inline style="grid-template-columns:..." beats every stylesheet rule, so
   those grids never collapsed on a phone. Only !important can reach them. */
[style*="grid-template-columns"]{min-width:0}
[style*="grid-template-columns"]>*{min-width:0}
@media(max-width:900px){
  [style*="repeat(3"]{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:640px){
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
}

/* ---- Laptop header fit (1025-1400px) ----
   .header-cta was flex-shrink:0 and the nav could not compress, so the row
   overflowed by ~64px at 1280px and ~24px at 1366px - the two most common
   laptop widths. Tighten the nav and let the row shrink before it overflows. */
@media(max-width:1400px){
  .header-inner{gap:12px;min-width:0}
  .logo{min-width:0;flex:0 1 auto}
  .logo-img{max-width:210px}
  .nav{gap:0;flex-wrap:nowrap;min-width:0}
  .nav>li>a{padding:8px 7px;font-size:13.5px;white-space:nowrap}
  .header-cta{flex-shrink:1;min-width:0;gap:8px}
  .header-cta .btn{padding:10px 16px;font-size:13.5px;white-space:nowrap}
}
@media(max-width:1180px){
  .header-cta .btn-secondary{display:none}
  .logo-img{max-width:190px}
}

/* Mobile header sizing. An earlier attempt forced flex-wrap:nowrap, which made
   it worse: wrapping was what kept the row inside the viewport. Instead keep
   wrapping available as the safety net and shrink the parts so it does not
   need to wrap in the first place. */
@media(max-width:1024px){
  .header-inner{height:64px}
}
@media(max-width:640px){
  .logo-img{max-width:148px;height:19px}
  .header-inner{gap:8px}
}
@media(max-width:400px){
  .logo-img{max-width:124px;height:18px}
  .header-cta .btn{padding:8px 10px;font-size:12px}
}

/* Some pages mark the logo up as <img class="logo-img">, others as a bare
   <img> inside <a class="logo">. Cover both or the sizing silently misses. */
.logo img{max-width:100%}
@media(max-width:1400px){.logo img,.logo-img{max-width:210px}}
@media(max-width:1180px){.logo img,.logo-img{max-width:190px}}
@media(max-width:640px){.logo img,.logo-img{max-width:148px;height:19px;width:auto}}
@media(max-width:400px){.logo img,.logo-img{max-width:124px;height:18px}}
