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



/* INSIGHTS BLOG */
.bl-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}
.bl-filters a{font-size:13px;font-weight:700;padding:8px 16px;border-radius:99px;border:1px solid var(--border);background:#fff;color:var(--ink-soft);text-decoration:none;transition:var(--transition)}
.bl-filters a:hover{border-color:var(--red);color:var(--red)}
.bl-filters a.on{background:var(--red);border-color:var(--red);color:#fff}
.bl-search{display:block;width:100%;max-width:520px;margin:0 auto 32px;padding:13px 18px;border:1px solid var(--border);border-radius:var(--radius);font:15px Inter,system-ui,sans-serif;color:var(--ink);background:#fff}
.bl-search:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-light)}

.bl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}
.bl-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 24px;text-decoration:none;transition:var(--transition)}
.bl-card:hover{border-color:transparent;box-shadow:var(--shadow-xl);transform:translateY(-4px)}
.bl-cat{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:11px}
.bl-card h3{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.28;color:var(--ink);margin-bottom:10px;text-wrap:balance}
.bl-card p{font-size:14px;line-height:1.65;color:var(--mid);flex:1;margin-bottom:16px}
.bl-meta{font-size:12.5px;font-weight:600;color:var(--muted);padding-top:13px;border-top:1px solid var(--border)}
.bl-empty{text-align:center;color:var(--muted);font-size:15px;margin-top:28px}

.bl-byline{display:flex;flex-wrap:wrap;gap:20px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:#94A3B8}
.bl-byline b{color:#fff;font-weight:700}

.bl-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:56px;padding-top:56px;padding-bottom:64px;align-items:start}
.bl-article{min-width:0;font-size:17px;line-height:1.78;color:var(--ink-soft)}
.bl-article>p{margin-bottom:20px}
.bl-article h2{font-size:clamp(24px,2.7vw,31px);font-weight:800;letter-spacing:-.025em;color:var(--ink);margin:44px 0 14px;line-height:1.2;text-wrap:balance;scroll-margin-top:96px}
.bl-article h3{font-size:20px;font-weight:800;letter-spacing:-.018em;color:var(--ink);margin:32px 0 10px;scroll-margin-top:96px}
.bl-article h2:first-child,.bl-article h3:first-child{margin-top:0}
.bl-article ul,.bl-article ol{margin:0 0 20px 22px;display:flex;flex-direction:column;gap:9px}
.bl-article li{line-height:1.7}
.bl-article a{color:var(--red);font-weight:600}
.bl-article strong{color:var(--ink);font-weight:700}
.bl-article blockquote{margin:26px 0;padding:18px 24px;border-left:4px solid var(--red);background:var(--red-light);border-radius:0 var(--radius) var(--radius) 0;font-size:17px;line-height:1.7;color:var(--ink-soft)}
.bl-article code{background:var(--light-2);padding:2px 7px;border-radius:5px;font-size:.88em;color:var(--ink)}
.bl-article pre{background:var(--ink);color:#E2E8F0;padding:18px 20px;border-radius:var(--radius);overflow-x:auto;font-size:14px;margin-bottom:20px}
.bl-article pre code{background:none;padding:0;color:inherit}
.bl-article .tw{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin:24px 0;box-shadow:var(--shadow-sm)}
.bl-article table{border-collapse:collapse;width:100%;min-width:560px}
.bl-article th{background:var(--ink);color:#fff;text-align:left;padding:13px 16px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.bl-article td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:14.5px;line-height:1.6;color:var(--mid);vertical-align:top}
.bl-article td:first-child{font-weight:700;color:var(--ink)}
.bl-article tr:last-child td{border-bottom:0}
.bl-article tbody tr:nth-child(even) td{background:var(--light)}

.bl-svc{margin:36px 0 0;background:linear-gradient(135deg,var(--red-light),#FFF7ED);border:1px solid #FECACA;border-radius:var(--radius);padding:22px 26px;font-size:15.5px;line-height:1.7;color:var(--mid)}
.bl-svc b{color:var(--red);font-weight:800}
.bl-author{display:flex;align-items:center;gap:15px;margin-top:30px;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.bl-av{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;font-size:15px;font-weight:800;flex-shrink:0}
.bl-author b{font-size:15px;color:var(--ink);font-weight:800}
.bl-author em{font-size:13.5px;color:var(--muted);font-style:normal}

.bl-side{position:sticky;top:96px}
.bl-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 22px}
.bl-box h4{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.bl-box ol{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:9px}
.bl-box li{font-size:14px;line-height:1.5}
.bl-box a{color:var(--ink-soft);text-decoration:none;font-weight:600}
.bl-box a:hover{color:var(--red)}
.bl-box .btn{width:100%;justify-content:center}

@media(max-width:960px){.bl-layout{grid-template-columns:1fr;gap:0}.bl-side{display:none}}
@media(max-width:640px){.bl-article{font-size:16px}.bl-card{padding:22px 20px}}
@media(prefers-reduced-motion:reduce){.bl-card{transition:none}.bl-card:hover{transform:none}}

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