: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}
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:hidden}
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}}

/* ── 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)}

/* ── OUR THINKING ── */
.ot-section{padding:96px 0;background:var(--light)}
.ot-header{max-width:760px;margin:0 auto 56px;text-align:center}
.ot-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:var(--red-light);color:var(--red);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;margin-bottom:18px}
.ot-kicker svg{width:13px;height:13px}
.ot-title{font-size:clamp(28px,3.5vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1.15;color:var(--ink);margin-bottom:14px}
.ot-title em{font-style:normal;color:var(--red)}
.ot-desc{font-size:16px;color:var(--mid);line-height:1.65}
.ot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ot-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);transition:var(--transition);display:flex;flex-direction:column}
.ot-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-color:transparent}
.ot-visual{height:168px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:16px}
.ot-visual::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:24px 24px;z-index:1}
.ot-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 60%);z-index:2}
.ot-visual-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);z-index:3;opacity:.18;font-size:72px;line-height:1}
.ot-cat{position:relative;z-index:4;display:inline-block;padding:4px 10px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(4px)}
.ot-body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column}
.ot-card-title{font-size:15px;font-weight:700;line-height:1.4;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}
.ot-card-desc{font-size:13px;color:var(--mid);line-height:1.6;flex:1;margin-bottom:16px}
.ot-card-link{font-size:12.5px;font-weight:700;color:var(--red);display:inline-flex;align-items:center;gap:5px;transition:var(--transition)}
.ot-card-link:hover{gap:8px}
.ot-card-link svg{width:12px;height:12px}
.ot-visual.v-ink{background:linear-gradient(135deg,#0F172A 0%,#1E293B 100%)}
.ot-visual.v-red{background:linear-gradient(135deg,#7E1104 0%,#C21906 100%)}
.ot-visual.v-blue{background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 100%)}
.ot-visual.v-purple{background:linear-gradient(135deg,#3B0764 0%,#7C3AED 100%)}
.ot-visual.v-green{background:linear-gradient(135deg,#064E3B 0%,#059669 100%)}
.ot-visual.v-gold{background:linear-gradient(135deg,#78350F 0%,#D97706 100%)}
.ot-visual.v-teal{background:linear-gradient(135deg,#134E4A 0%,#0D9488 100%)}
.ot-visual.v-slate{background:linear-gradient(135deg,#1E293B 0%,#475569 100%)}
@media(max-width:1024px){.ot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ot-grid{grid-template-columns:1fr}}

/* ════════ 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}}
/* FAQ */
.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:16px 18px;cursor:pointer;font-size:15px;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 18px 18px;font-size:15px;line-height:1.72;color:var(--mid)}




/* LANDING PAGES */
.lp-prose{max-width:760px;margin:0 auto 32px;font-size:16.5px;line-height:1.8;color:var(--mid)}
.lp-prose p{margin-bottom:18px}
.lp-prose p:last-child{margin-bottom:0}
.lp-pains{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.lp-pain{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);border-radius:var(--radius);padding:20px 22px}
.lp-pain b{display:block;font-size:15.5px;font-weight:800;color:var(--ink);margin-bottom:7px;letter-spacing:-.012em}
.lp-pain span{font-size:14px;line-height:1.62;color:var(--mid)}

.lp-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
.lp-cap{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 26px;transition:var(--transition)}
.lp-cap:hover{border-color:transparent;box-shadow:var(--shadow-xl);transform:translateY(-4px)}
.lp-cap h3{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.3;color:var(--ink);margin-bottom:10px;text-wrap:balance}
.lp-cap>p{font-size:14.5px;line-height:1.7;color:var(--mid);margin-bottom:16px}
.lp-cap ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.lp-cap li{position:relative;padding-left:21px;font-size:13.5px;line-height:1.55;color:var(--ink-soft)}
.lp-cap li::before{content:'';position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:2px;background:var(--red)}

.lp-tbl{border-collapse:collapse;width:100%;min-width:760px}
.lp-tbl th{background:var(--ink);color:#fff;text-align:left;padding:15px 17px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.lp-tbl td{padding:15px 17px;border-bottom:1px solid var(--border);font-size:14px;line-height:1.6;color:var(--mid);vertical-align:top}
.lp-tbl td:first-child{font-weight:700;color:var(--ink);white-space:nowrap}
.lp-tbl tr:last-child td{border-bottom:0}
.lp-tbl tbody tr:nth-child(even) td{background:var(--light)}
.lp-tbl tbody tr:hover td{background:var(--red-light)}
.lp-note{max-width:900px;margin:15px auto 0;font-size:13.5px;line-height:1.65;color:var(--muted);font-style:italic;text-align:center}

.lp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.lp-step{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 22px;transition:var(--transition)}
.lp-step:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.lp-step-n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-size:14px;font-weight:800;margin-bottom:13px}
.lp-step h4{font-size:17px;font-weight:800;letter-spacing:-.018em;color:var(--ink);margin-bottom:8px}
.lp-step p{font-size:13.5px;line-height:1.62;color:var(--mid)}

.lp-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.lp-links a{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:19px 21px;text-decoration:none;transition:var(--transition)}
.lp-links a:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lp-links b{display:block;font-size:15px;font-weight:800;color:var(--ink);margin-bottom:4px;letter-spacing:-.012em}
.lp-links span{font-size:13px;line-height:1.5;color:var(--mid)}

@media(max-width:640px){.lp-cap{padding:24px 22px}.lp-prose{font-size:16px}}
@media(prefers-reduced-motion:reduce){.lp-cap,.lp-step,.lp-links a{transition:none}.lp-cap:hover,.lp-step:hover,.lp-links a:hover{transform:none}}

/* trademark notice */
.tm-note{background:var(--light);border-top:1px solid var(--border);padding:26px 0}
.tm-note p{max-width:1060px;margin:0 auto;font-size:12.5px;line-height:1.7;color:var(--muted)}
.tm-note b{color:var(--ink-soft);font-weight:700}

/* ---- 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}}
