@import "tailwindcss";

:root { --navy:#03142d; --navy-2:#071d3b; --navy-3:#0c2a50; --blue:#1688ff; --blue-soft:#8fc5ff; --cream:#f1eee7; --white:#fff; --side:286px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:#0b1830; background:var(--navy); font-family:var(--font-manrope),Arial,sans-serif; font-weight:400; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
em { font-family:inherit; font-style:normal; font-weight:800; }
::selection { color:white; background:#167fe8; }
:focus-visible { outline:2px solid #74b9ff; outline-offset:4px; }

.side-nav { position:fixed; z-index:30; inset:0 auto 0 0; width:var(--side); padding:28px 24px 34px; display:flex; flex-direction:column; color:white; background:linear-gradient(180deg,#081f40 0%,#061a35 58%,#04152d 100%); border-right:1px solid rgba(124,183,245,.24); box-shadow:16px 0 55px rgba(0,9,24,.18); }
.side-brand { width:100%; min-height:150px; display:grid; place-items:center; align-self:center; }
.side-brand img { width:220px; height:145px; object-fit:contain; filter:drop-shadow(0 10px 24px rgba(0,8,24,.18)); }
.side-rule { height:45px; margin:5px 0 22px; border-top:1px solid rgba(109,177,245,.28); display:flex; align-items:end; }
.side-rule span { color:#6e8daf; font-size:9px; letter-spacing:.23em; }
.side-links { display:flex; flex-direction:column; gap:6px; }
.side-links a { position:relative; display:grid; grid-template-columns:34px 1fr; align-items:center; min-height:56px; padding:0 14px; border:1px solid transparent; border-radius:9px; font-size:14px; color:#b7c8dc; transition:.25s ease; }
.side-links a::after { content:""; position:absolute; right:12px; width:5px; height:5px; border-radius:50%; background:#53aaff; opacity:0; transform:scale(.5); transition:.25s ease; }
.side-links a span { color:#5e81a8; font-size:9px; letter-spacing:.12em; }
.side-links a:hover,.side-links a.active { color:white; background:linear-gradient(90deg,#123a68,#102f56); border-color:rgba(103,177,247,.18); transform:translateX(3px); }
.side-links a.active span { color:#42a2ff; }
.side-links a.active::after { opacity:1; transform:scale(1); box-shadow:0 0 12px rgba(83,170,255,.8); }
.side-status { margin-top:auto; padding:18px; border:1px solid rgba(110,174,238,.2); color:#8ba5c2; font-size:9px; line-height:1.8; letter-spacing:.14em; text-transform:uppercase; }
.side-status i { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#42dcad; box-shadow:0 0 10px #42dcad; }
.side-status strong { margin-left:18px; color:white; font-size:13px; letter-spacing:0; text-transform:none; }
.site-content { margin-left:var(--side); overflow:hidden; }
.mobile-header { display:none; }

.hero { position:relative; min-height:820px; height:100vh; overflow:hidden; color:white; background:linear-gradient(120deg,#020e21 0%,#061b38 54%,#0a2f5d 100%); border-bottom:1px solid rgba(93,166,236,.18); }
.hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(92,160,231,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(92,160,231,.15) 1px,transparent 1px); background-size:72px 72px; }
.hero-globe { position:absolute; z-index:0; inset:0 0 0 43%; background-image:linear-gradient(90deg,#06172f 0%,rgba(6,23,47,.1) 34%),url('/og.png'); background-size:auto 145%; background-position:right center; background-repeat:no-repeat; filter:saturate(1.05) contrast(1.02); opacity:.92; }
.hero-panel { position:relative; z-index:2; width:min(680px,52vw); min-height:100%; padding:12vh 5vw 8vh; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(90deg,rgba(2,14,33,.96),rgba(2,14,33,.72) 80%,transparent); }
.eyebrow { margin:0 0 24px; font-size:10px; font-weight:650; letter-spacing:.24em; text-transform:uppercase; }
.eyebrow::before { content:""; display:inline-block; width:34px; height:1px; margin-right:13px; vertical-align:middle; background:var(--blue); }
.hero-eyebrow { font-size:14px; letter-spacing:.2em; }
.hero-eyebrow::before { width:48px; margin-right:16px; }
.hero h1,.statement h2,.products-heading h2,.approach h2,.contact h2 { margin:0; font-weight:420; letter-spacing:-.055em; line-height:.94; }
.hero h1 { font-size:clamp(60px,6.4vw,104px); }
.hero h1 em { color:var(--blue-soft); }
.hero-copy { max-width:560px; margin:28px 0 34px; padding-left:22px; border-left:2px solid var(--blue); color:#b9c8da; font-size:16px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:14px; }
.button { min-height:62px; min-width:224px; padding:0 12px 0 24px; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid transparent; border-radius:8px; font-size:13px; font-weight:650; transition:transform .25s,background .25s,border-color .25s,box-shadow .25s; }
.button i { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.13); font-style:normal; font-size:15px; }
.button:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(2,10,25,.28); }
.button:hover i { transform:rotate(5deg) translate(2px,-2px); }
.button i { transition:transform .25s ease,background .25s ease; }
.button-primary { color:white; background:linear-gradient(135deg,#1688ff,#0874df); box-shadow:0 12px 30px rgba(16,125,236,.22); }
.button-secondary { color:white; background:rgba(10,42,79,.82); border-color:rgba(135,194,250,.35); backdrop-filter:blur(8px); }
.button-secondary:hover { background:#123a68; border-color:#5aaeff; }
.hero-caption { position:absolute; z-index:3; right:36px; bottom:34px; min-width:220px; padding:18px 20px; display:grid; background:rgba(3,19,42,.82); border:1px solid rgba(111,184,255,.28); backdrop-filter:blur(10px); }
.hero-caption span { color:#73aeed; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.hero-caption strong { margin-top:6px; font-size:15px; }

.section-label { display:flex; gap:14px; color:#0c203a; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; }
.section-label span { color:var(--blue); }
.section-label.light { color:#c3d0e0; }
.statement { position:relative; padding:100px 6vw; display:grid; grid-template-columns:250px minmax(0,1fr); gap:28px; background:linear-gradient(135deg,#ebe7df,#f4f1ea); }
.statement::before { content:""; position:absolute; left:0; top:0; width:38%; height:4px; background:linear-gradient(90deg,var(--blue),transparent); }
.statement-label { min-height:260px; padding:34px 28px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto 1fr auto; align-items:start; gap:10px 14px; color:white; background:linear-gradient(145deg,#071d3b,#0c315d); border:1px solid rgba(65,143,218,.4); white-space:normal; box-shadow:0 24px 55px rgba(6,25,49,.14); }
.statement-label > span { font-size:12px; }
.statement-label strong { font-size:28px; font-weight:450; letter-spacing:-.04em; line-height:1; text-transform:none; }
.statement-label small { grid-column:1/-1; align-self:end; padding-top:20px; border-top:1px solid rgba(255,255,255,.15); color:#91afd0; font-size:10px; font-weight:500; line-height:1.6; letter-spacing:.13em; }
.statement-copy { position:relative; max-width:1050px; padding:56px; background:#faf8f3; border:1px solid rgba(8,30,58,.12); box-shadow:0 30px 80px rgba(8,27,51,.09); }
.statement-copy::after { content:"BRAVO"; position:absolute; right:34px; top:24px; color:rgba(18,75,132,.055); font-size:clamp(52px,7vw,112px); font-weight:800; letter-spacing:.08em; pointer-events:none; }
.statement .lead { margin:0 0 24px; color:#597089; font-size:14px; }
.statement h2 { max-width:900px; font-size:clamp(48px,5.7vw,84px); }
.statement h2 em { color:#2479d0; }
.statement-copy > p:nth-of-type(2) { max-width:720px; margin:34px 0 0; color:#52647a; font-size:16px; line-height:1.75; }
.statement-facts { margin-top:38px; padding-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:20px; border-top:1px solid rgba(8,30,58,.12); }
.statement-facts div { display:flex; align-items:center; gap:14px; }
.statement-facts strong { color:#1b72c9; font-size:26px; font-weight:450; }
.statement-facts span { color:#63758a; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }

.products-section { padding:100px 6vw 110px; color:white; background:#020f23; }
.products-heading { margin-bottom:54px; display:grid; grid-template-columns:200px minmax(0,1fr); gap:5vw; align-items:start; }
.products-heading > div:last-child { max-width:940px; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.13); }
.products-heading h2 { font-size:clamp(46px,5vw,76px); }
.products-heading h2 em { color:var(--blue-soft); }
.products-heading p { margin:20px 0 0; color:#8194ac; }
.product-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.product-card { position:relative; min-height:455px; padding:32px; display:flex; flex-direction:column; overflow:hidden; background:linear-gradient(150deg,#154371 0%,#0a294f 42%,#061b36 100%); border:1px solid rgba(116,181,244,.25); box-shadow:0 22px 60px rgba(0,8,21,.2); transition:.3s ease; }
.product-card:nth-child(1),.product-card:nth-child(2) { grid-column:span 3; }
.product-card:nth-child(n+3) { grid-column:span 2; min-height:420px; }
.product-card:hover { transform:translateY(-8px); border-color:#4ca6ff; box-shadow:0 30px 75px rgba(0,9,24,.42),0 0 0 1px rgba(74,165,255,.08) inset; }
.product-card-link { position:absolute; z-index:5; inset:0; }
.product-card:has(.product-card-link) { cursor:pointer; }
.product-card:has(.product-card-link):focus-within { outline:2px solid #74b9ff; outline-offset:4px; }
.product-card:hover .card-arrow { color:#07182f; background:#77baff; border-color:#77baff; transform:rotate(5deg); }
.product-card::after { content:""; position:absolute; right:-90px; top:80px; width:230px; height:230px; border:1px solid rgba(79,159,238,.18); border-radius:50%; }
.card-top { display:flex; justify-content:space-between; color:#83b9ef; font-size:10px; letter-spacing:.15em; }
.card-arrow { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:white; transition:.25s ease; }
.card-mark { height:105px; display:flex; align-items:center; }
.card-mark span { position:relative; width:62px; height:62px; border:1px solid #328fe9; transform:rotate(45deg); }
.card-mark span::after { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.25); }
.card-kicker { margin:0; color:#73b6f9; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.product-card h3 { margin:10px 0 18px; font-size:clamp(28px,2.8vw,42px); font-weight:470; letter-spacing:-.04em; }
.card-description { max-width:560px; margin:0; color:#b9c7d8; font-size:14px; line-height:1.7; }
.card-services { margin:auto 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#7791ae; font-size:9px; line-height:1.8; letter-spacing:.1em; text-transform:uppercase; }
.institute .card-mark span { border-radius:50%; }
.care .card-mark span { border-radius:50% 50% 10% 50%; }
.equipment .card-mark span { transform:none; }

.approach { min-height:780px; padding:80px 6vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:30px; color:white; background:#061a36; }
.approach-visual { position:relative; min-height:620px; overflow:hidden; background:#03132b; border:1px solid rgba(105,172,240,.2); }
.approach-globe { position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(3,19,43,.3),rgba(3,19,43,.15)),url('/og.png'); background-size:auto 145%; background-position:right center; background-repeat:no-repeat; opacity:.75; }
.approach-visual::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,transparent 0 22%,rgba(26,130,238,.18) 22.2% 22.4%,transparent 22.7% 38%,rgba(26,130,238,.18) 38.2% 38.4%,transparent 38.7%); }
.visual-core { position:absolute; z-index:2; left:50%; top:50%; width:170px; height:170px; transform:translate(-50%,-50%); display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(3,19,43,.82); }
.visual-core span { color:#6eb5ff; font-size:10px; letter-spacing:.25em; }
.visual-core strong { margin-top:8px; }
.approach-content { min-height:620px; padding:56px; display:flex; flex-direction:column; background:#0a284e; border:1px solid rgba(105,172,240,.2); }
.approach h2 { margin-top:34px; font-size:clamp(48px,4.7vw,72px); }
.approach h2 em { color:var(--blue-soft); }
.approach-intro { max-width:620px; margin:28px 0 34px; color:#aebed1; line-height:1.7; }
.capability-list { margin-top:auto; }
.capability { padding:19px 0; display:grid; grid-template-columns:44px 1fr; gap:18px; border-top:1px solid rgba(255,255,255,.13); }
.capability > span { color:#4ba4fc; font-size:10px; }
.capability h3 { margin:0 0 6px; font-size:17px; }
.capability p { margin:0; color:#8fa4bd; font-size:13px; line-height:1.55; }

.contact { position:relative; min-height:650px; padding:90px 6vw; display:flex; align-items:center; overflow:hidden; color:white; background:linear-gradient(115deg,#020e21,#082b55); }
.contact-globe { position:absolute; inset:0 0 0 45%; background:url('/og.png') right center/auto 145% no-repeat; opacity:.6; mask-image:linear-gradient(90deg,transparent,#000 35%); }
.contact-panel { position:relative; z-index:2; max-width:720px; padding:58px; background:rgba(3,20,45,.88); border:1px solid rgba(113,181,247,.25); backdrop-filter:blur(10px); }
.contact h2 { font-size:clamp(54px,6vw,88px); }
.contact h2 em { color:var(--blue-soft); }
.contact-panel > p:not(.eyebrow) { max-width:520px; margin:27px 0 32px; color:#b4c4d7; line-height:1.7; }
.button-light { color:white; background:linear-gradient(135deg,#1688ff,#0874df); box-shadow:0 12px 30px rgba(16,125,236,.22); }

footer { padding:70px 6vw 30px; display:grid; grid-template-columns:1fr 1fr; gap:60px; color:white; background:#010b19; }
.footer-brand img { width:175px; height:110px; object-fit:contain; }
.footer-brand p { color:#7892af; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:45px; }
.footer-links div { display:flex; flex-direction:column; gap:13px; }
.footer-links strong { margin-bottom:10px; color:#5e7fa4; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.footer-links a { color:#c3d0df; font-size:13px; }
.footer-bottom { grid-column:1/-1; padding-top:22px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.12); color:#607792; font-size:10px; }

/* The Group page */
.group-page { color:white; background:#020f23; }
.group-hero { position:relative; min-height:790px; height:92vh; overflow:hidden; background:linear-gradient(120deg,#020e21,#082b55); }
.group-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,11,25,.96) 0%,rgba(1,11,25,.68) 48%,transparent 74%); }
.group-hero-globe { position:absolute; inset:0 0 0 42%; background:url('/og.png') right center/auto 145% no-repeat; opacity:.78; }
.group-hero-copy { position:relative; z-index:2; width:min(740px,58vw); height:100%; padding:12vh 6vw 8vh; display:flex; flex-direction:column; justify-content:center; }
.group-hero h1 { margin:0; font-size:clamp(68px,7.2vw,112px); font-weight:420; letter-spacing:-.06em; line-height:.9; }
.group-hero h1 em { color:var(--blue-soft); }
.group-hero-copy > p:last-child { max-width:600px; margin:34px 0 0; padding-left:22px; border-left:2px solid var(--blue); color:#b9c8da; font-size:16px; line-height:1.75; }
.group-hero-note { position:absolute; z-index:3; right:35px; bottom:34px; min-width:260px; padding:20px 22px; display:grid; border:1px solid rgba(111,184,255,.28); background:rgba(3,19,42,.84); }
.group-hero-note span { color:#73aeed; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.group-hero-note strong { margin-top:7px; font-size:15px; }
.group-section-index { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.group-section-index span { color:var(--blue); font-size:11px; letter-spacing:.18em; }
.group-section-index strong { font-size:24px; font-weight:480; letter-spacing:-.03em; }
.group-section-index.light { color:white; }
.group-intro { padding:110px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; color:#0b1830; background:var(--cream); }
.group-intro-body { max-width:1050px; }
.overline { margin:0 0 28px; color:#4d6b8d; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.group-intro h2,.purpose-statement h2,.ecosystem-heading h2,.model-content h2,.group-cta h2 { margin:0; font-weight:420; letter-spacing:-.055em; line-height:.98; }
.group-intro h2 { max-width:950px; font-size:clamp(48px,5.7vw,84px); }
.group-intro h2 em { color:#2479d0; }
.group-copy-columns { margin-top:52px; padding-top:34px; display:grid; grid-template-columns:1fr 1fr; gap:55px; border-top:1px solid rgba(8,30,58,.13); }
.group-copy-columns p { margin:0; color:#53677e; font-size:15px; line-height:1.85; }
.purpose-band { padding:100px 6vw; color:white; background:linear-gradient(135deg,#0b315e,#06182f); }
.purpose-statement { display:grid; grid-template-columns:220px 1fr; gap:5vw; align-items:start; }
.purpose-statement > span { color:#74b8fa; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.purpose-statement h2 { max-width:1000px; font-size:clamp(48px,5.4vw,80px); }
.purpose-statement h2 em { color:var(--blue-soft); }
.purpose-values { margin-top:80px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.purpose-values article { position:relative; min-height:270px; padding:36px; border-right:1px solid rgba(255,255,255,.16); transition:.3s ease; }
.purpose-values article:hover { background:rgba(22,136,255,.1); transform:translateY(-6px); }
.purpose-values article:last-child { border-right:0; }
.purpose-values span { color:#61aefa; font-size:10px; }
.purpose-values h3 { margin:50px 0 14px; font-size:28px; font-weight:450; }
.purpose-values p { margin:0; color:#9fb2c9; font-size:13px; line-height:1.7; }
.group-ecosystem { padding:110px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; background:#020f23; }
.ecosystem-main { max-width:1100px; }
.ecosystem-heading { padding-bottom:52px; display:grid; grid-template-columns:1.5fr 1fr; gap:45px; align-items:end; }
.ecosystem-heading h2 { font-size:clamp(48px,5.3vw,78px); }
.ecosystem-heading h2 em { color:var(--blue-soft); }
.ecosystem-heading p { margin:0; color:#879cb5; line-height:1.7; }
.division-list { border-top:1px solid rgba(255,255,255,.16); }
.division-row { min-height:112px; padding:22px 14px; display:grid; grid-template-columns:55px 1fr 1.3fr 40px; gap:20px; align-items:center; border-bottom:1px solid rgba(255,255,255,.13); transition:.25s ease; }
.division-row:hover { padding-left:22px; background:#0b2c55; }
.division-row > span { color:#5e9fe2; font-size:10px; }
.division-row h3 { margin:0; font-size:25px; font-weight:450; }
.division-row p { margin:0; color:#8699b0; font-size:13px; line-height:1.55; }
.division-row i { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; font-style:normal; }
.operating-model { padding:90px 6vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; background:#071c39; }
.model-visual { position:relative; min-height:650px; overflow:hidden; border:1px solid rgba(94,165,235,.22); background:url('/og.png') right center/auto 145% no-repeat; }
.model-visual::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,transparent 0 25%,rgba(35,138,241,.22) 25.2% 25.4%,transparent 25.7% 41%,rgba(35,138,241,.2) 41.2% 41.4%,rgba(3,20,43,.24) 41.7%); }
.model-core { position:absolute; z-index:2; left:50%; top:50%; width:190px; height:190px; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(3,20,43,.86); }
.model-core span { color:#69b2fb; font-size:10px; letter-spacing:.24em; }
.model-core strong { margin-top:8px; }
.model-content { min-height:650px; padding:54px; border:1px solid rgba(94,165,235,.22); background:#0b2b52; }
.model-content h2 { margin:38px 0; font-size:clamp(48px,4.8vw,72px); }
.model-content h2 em { color:var(--blue-soft); }
.model-content ol { margin:0; padding:0; list-style:none; }
.model-content li { padding:19px 0; display:grid; grid-template-columns:45px 1fr; gap:18px; border-top:1px solid rgba(255,255,255,.14); }
.model-content li > span { color:#5ca9f6; font-size:10px; }
.model-content li strong { font-size:17px; }
.model-content li p { margin:5px 0 0; color:#91a6bf; font-size:13px; line-height:1.55; }
.group-cta { padding:100px 6vw; display:flex; justify-content:space-between; align-items:end; gap:60px; color:white; background:linear-gradient(115deg,#0a2f5a,#06172f); }
.group-cta h2 { max-width:850px; font-size:clamp(48px,5vw,76px); }
.group-cta h2 em { color:var(--blue-soft); }
.group-cta .button { flex:0 0 auto; }
.group-assurance { padding:110px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; background:linear-gradient(135deg,#041329,#0a2b51); }
.group-assurance-main { max-width:1100px; }
.group-assurance .overline { color:#75b8fa; }
.group-assurance h2 { margin:0; font-size:clamp(50px,5.5vw,82px); font-weight:800; letter-spacing:-.045em; line-height:.96; }
.group-assurance h2 em { color:var(--blue-soft); }
.assurance-principles { margin:52px 0 34px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.assurance-principles article { min-height:220px; padding:30px; border-right:1px solid rgba(255,255,255,.14); }
.assurance-principles article:last-child { border-right:0; }
.assurance-principles span { color:#64aff8; font-size:11px; }
.assurance-principles strong { margin:48px 0 12px; display:block; font-size:20px; }
.assurance-principles p { margin:0; color:#94a9c0; font-size:14px; line-height:1.7; }

/* Governance */
.governance-page { color:white; background:#020f23; }
.governance-hero { position:relative; min-height:760px; height:92vh; overflow:hidden; background:linear-gradient(118deg,#010b1d,#092d59); }
.governance-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,11,25,.97),rgba(1,11,25,.7) 55%,transparent 82%); }
.governance-orbit { position:absolute; inset:-20% -12% -20% 40%; background:radial-gradient(circle at 62% 50%,transparent 0 20%,rgba(79,165,247,.3) 20.2% 20.35%,transparent 20.6% 34%,rgba(79,165,247,.22) 34.2% 34.35%,transparent 34.6%),url('/og.png') right center/auto 140% no-repeat; opacity:.72; }
.governance-hero-copy { position:relative; z-index:2; width:min(900px,72vw); min-height:100%; padding:11vh 6vw 7vh; display:flex; flex-direction:column; justify-content:center; }
.governance-hero h1,.governance-intro h2,.governance-commitments h2,.regional-framework h2 { margin:0; font-weight:800; letter-spacing:-.045em; line-height:.95; }
.governance-hero h1 { font-size:clamp(64px,6.6vw,104px); }
.governance-hero h1 em,.governance-commitments h2 em,.regional-framework h2 em { color:var(--blue-soft); }
.governance-hero-copy > p:last-child { max-width:680px; margin:34px 0 0; padding-left:22px; border-left:2px solid var(--blue); color:#b9c9dc; font-size:18px; line-height:1.75; }
.governance-note { position:absolute; z-index:3; right:38px; bottom:36px; min-width:280px; padding:20px 22px; display:grid; border:1px solid rgba(111,184,255,.3); background:rgba(3,19,42,.86); }
.governance-note span { color:#74b8fa; font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.governance-note strong { margin-top:8px; }
.governance-intro { padding:110px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; color:#0b1830; background:var(--cream); }
.governance-intro > div:last-child { max-width:1080px; }
.governance-intro h2 { font-size:clamp(50px,5.6vw,84px); }
.governance-intro h2 em { color:#2479d0; }
.governance-copy { margin-top:50px; padding-top:34px; display:grid; grid-template-columns:1fr 1fr; gap:55px; border-top:1px solid rgba(8,30,58,.14); }
.governance-copy p { margin:0; color:#53677e; font-size:17px; line-height:1.85; }
.governance-commitments { padding:110px 6vw 120px; background:#020f23; }
.governance-heading { margin-bottom:58px; display:grid; grid-template-columns:220px 1fr; gap:5vw; }
.governance-heading h2 { font-size:clamp(50px,5.5vw,82px); }
.governance-heading p { max-width:620px; margin:24px 0 0; color:#8fa5bd; line-height:1.7; }
.governance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.governance-grid article { min-height:320px; padding:32px; display:flex; flex-direction:column; border:1px solid rgba(100,177,249,.23); background:linear-gradient(145deg,#123c6b,#071c39 78%); transition:.3s ease; }
.governance-grid article:hover { transform:translateY(-6px); border-color:#4ca6ff; }
.governance-grid span { color:#69b2fb; font-size:11px; font-weight:600; }
.governance-grid h3 { margin:70px 0 16px; font-size:28px; font-weight:700; letter-spacing:-.035em; }
.governance-grid p { margin:0; color:#aebfd2; font-size:14px; line-height:1.75; }
.regional-framework { padding:90px 6vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; background:#071c39; }
.regional-visual { min-height:650px; display:grid; place-items:center; border:1px solid rgba(94,165,235,.22); background:radial-gradient(circle,transparent 0 24%,rgba(51,150,247,.2) 24.2% 24.4%,transparent 24.7% 41%,rgba(51,150,247,.18) 41.2% 41.4%,rgba(3,20,43,.38) 41.7%),url('/og.png') right center/auto 145% no-repeat; }
.regional-visual > div { width:210px; height:210px; padding:25px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid rgba(255,255,255,.27); border-radius:50%; background:rgba(3,20,43,.88); }
.regional-visual span { color:#69b2fb; font-size:9px; font-weight:600; letter-spacing:.16em; }
.regional-visual strong { margin-top:10px; }
.regional-copy { min-height:650px; padding:58px; border:1px solid rgba(94,165,235,.22); background:#0b2b52; }
.regional-framework h2 { margin:40px 0 26px; font-size:clamp(48px,4.8vw,72px); }
.regional-copy > p { color:#9bb0c7; font-size:15px; line-height:1.8; }
.regional-cards { margin-top:36px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.regional-cards article { min-height:180px; padding:24px; border:1px solid rgba(255,255,255,.14); background:rgba(3,20,43,.35); }
.regional-cards span { color:#69b2fb; font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.regional-cards strong { margin:34px 0 9px; display:block; }
.regional-cards p { margin:0; color:#8fa5bd; font-size:12px; line-height:1.6; }

/* Shared interior pages */
.sub-page { color:white; background:#020f23; }
.sub-hero { position:relative; min-height:720px; height:86vh; overflow:hidden; background:linear-gradient(120deg,#020e21,#082b55); }
.sub-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,11,25,.96),rgba(1,11,25,.67) 54%,transparent 78%); }
.sub-hero-globe { position:absolute; inset:0 0 0 43%; background:url('/og.png') right center/auto 145% no-repeat; opacity:.75; }
.sub-hero-copy { position:relative; z-index:2; width:min(850px,68vw); height:100%; padding:12vh 6vw 8vh; display:flex; flex-direction:column; justify-content:center; }
.sub-hero h1 { margin:0; max-width:900px; font-size:clamp(64px,6.7vw,104px); font-weight:420; letter-spacing:-.06em; line-height:.92; }
.sub-hero h1 em { color:var(--blue-soft); }
.sub-hero-copy > p:last-child { max-width:610px; margin:34px 0 0; padding-left:22px; border-left:2px solid var(--blue); color:#b6c6d8; font-size:16px; line-height:1.75; }
.page-cta { padding:95px 6vw; display:flex; justify-content:space-between; align-items:end; gap:50px; background:linear-gradient(115deg,#0a2f5a,#06172f); }
.page-cta h2 { max-width:850px; margin:0; font-size:clamp(46px,5vw,76px); font-weight:420; letter-spacing:-.055em; line-height:.98; }
.page-cta h2 em { color:var(--blue-soft); }

/* Companies */
.companies-intro { padding:100px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; color:#0b1830; background:var(--cream); }
.companies-intro h2 { margin:0; font-size:clamp(48px,5.5vw,82px); font-weight:420; letter-spacing:-.055em; line-height:.98; }
.companies-intro h2 em { color:#2479d0; }
.companies-intro > div:last-child > p { max-width:760px; margin:32px 0 0; color:#53677e; font-size:15px; line-height:1.8; }
.company-stack { padding:90px 6vw 120px; background:#020f23; }
.company-profile { position:relative; min-height:440px; margin-bottom:24px; padding:48px; display:grid; grid-template-columns:70px 1fr 1.2fr 180px; gap:38px; overflow:hidden; border:1px solid rgba(102,174,244,.24); background:linear-gradient(135deg,#0c3767,#071e3c); box-shadow:0 22px 65px rgba(0,8,20,.2); transition:.3s ease; }
.company-profile:hover { transform:translateY(-5px); border-color:rgba(92,174,255,.58); box-shadow:0 32px 80px rgba(0,8,20,.36); }
.company-profile::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(180deg,#5eb2ff,#137de6); opacity:.72; }
.company-profile:nth-child(even) { background:linear-gradient(135deg,#09284d,#0c3766); }
.company-number { color:#68b2fb; font-size:11px; letter-spacing:.16em; }
.company-title p { margin:0 0 14px; color:#73b6f9; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.company-title h2 { margin:0; max-width:400px; font-size:clamp(38px,4vw,62px); font-weight:430; letter-spacing:-.05em; line-height:.98; }
.company-detail > p { margin:0; color:#b2c2d5; font-size:14px; line-height:1.75; }
.company-detail ul { margin:28px 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 25px; list-style:none; }
.company-detail li { padding:9px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#8ea7c3; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.company-detail > a { display:inline-flex; gap:22px; align-items:center; color:white; font-size:13px; font-weight:650; }
.company-detail > a i { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; font-style:normal; }
.company-symbol { align-self:center; justify-self:center; width:140px; height:140px; display:grid; place-items:center; border:1px solid rgba(75,159,242,.35); border-radius:50%; }
.company-symbol span { width:64px; height:64px; border:1px solid #3c9cf7; transform:rotate(45deg); }
.symbol-2 span,.symbol-4 span { border-radius:50%; }
.symbol-3 { border-radius:8px; transform:rotate(45deg); }
.symbol-5 span { transform:none; }

/* Approach */
.approach-principle { padding:105px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; color:#0b1830; background:var(--cream); }
.approach-principle h2 { max-width:1000px; margin:0; font-size:clamp(48px,5.6vw,84px); font-weight:420; letter-spacing:-.055em; line-height:.98; }
.approach-principle h2 em { color:#2479d0; }
.principle-copy { margin-top:48px; padding-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:48px; border-top:1px solid rgba(8,30,58,.13); }
.principle-copy p { margin:0; color:#53677e; font-size:15px; line-height:1.8; }
.method-section { padding:105px 6vw; background:#020f23; }
.method-heading { display:grid; grid-template-columns:220px 1fr; gap:5vw; }
.method-heading h2 { margin:0 0 55px; font-size:clamp(48px,5.5vw,82px); font-weight:420; letter-spacing:-.055em; line-height:.98; }
.method-heading h2 em { color:var(--blue-soft); }
.method-steps { border-top:1px solid rgba(255,255,255,.16); }
.method-steps article { min-height:128px; padding:28px 24px; display:grid; grid-template-columns:70px 1fr; gap:30px; align-items:center; border-bottom:1px solid rgba(255,255,255,.14); transition:.25s ease; }
.method-steps article:hover { padding-left:36px; background:#0b2b52; }
.method-steps article > span { color:#5ca9f6; font-size:11px; }
.method-steps h3 { margin:0 0 7px; font-size:26px; font-weight:450; }
.method-steps p { margin:0; color:#8ea3bb; line-height:1.6; }
.standards-section { padding:90px 6vw; display:grid; grid-template-columns:.85fr 1.15fr; gap:24px; background:#071c39; }
.standards-visual { position:relative; min-height:700px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(94,165,235,.22); background:url('/og.png') right center/auto 145% no-repeat; }
.standards-visual::after { content:""; position:absolute; inset:0; background:radial-gradient(circle,rgba(3,20,43,.1) 0 23%,rgba(51,150,247,.22) 23.2% 23.4%,transparent 23.7% 40%,rgba(51,150,247,.2) 40.2% 40.4%,rgba(3,20,43,.35) 40.7%); }
.standards-visual > div { position:relative; z-index:2; width:190px; height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(3,20,43,.86); }
.standards-visual span { color:#69b2fb; font-size:10px; letter-spacing:.24em; }
.standards-visual strong { margin-top:8px; }
.standards-copy { min-height:700px; padding:54px; border:1px solid rgba(94,165,235,.22); background:#0b2b52; }
.standards-copy > h2 { margin:38px 0; font-size:clamp(46px,4.7vw,72px); font-weight:420; letter-spacing:-.055em; line-height:.98; }
.standards-copy > h2 em { color:var(--blue-soft); }
.standard-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.standard-grid article { min-height:205px; padding:26px; border:1px solid rgba(255,255,255,.14); background:linear-gradient(145deg,rgba(8,37,72,.8),rgba(3,20,43,.46)); transition:.25s ease; }
.standard-grid article:hover { transform:translateY(-5px); border-color:rgba(97,176,255,.48); background:#0d3563; }
.standard-grid span { color:#5ca9f6; font-size:10px; }
.standard-grid h3 { margin:36px 0 9px; font-size:20px; }
.standard-grid p { margin:0; color:#8fa4bd; font-size:12px; line-height:1.6; }

/* Contact */
.contact-hero { position:relative; min-height:670px; overflow:hidden; background:linear-gradient(120deg,#020e21,#082b55); }
.contact-page-globe { position:absolute; inset:0 0 0 43%; background:url('/og.png') right center/auto 145% no-repeat; opacity:.72; }
.contact-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,11,25,.97),rgba(1,11,25,.7) 56%,transparent 80%); }
.contact-hero-copy { position:relative; z-index:2; width:min(900px,70vw); min-height:670px; padding:12vh 6vw 7vh; display:flex; flex-direction:column; justify-content:center; }
.contact-hero h1 { margin:0; font-size:clamp(62px,6.5vw,100px); font-weight:420; letter-spacing:-.06em; line-height:.92; }
.contact-hero h1 em { color:var(--blue-soft); }
.contact-hero-copy > p:last-child { max-width:610px; margin:32px 0 0; padding-left:22px; border-left:2px solid var(--blue); color:#b7c7d9; line-height:1.75; }
.contact-grid { padding:100px 6vw; display:grid; grid-template-columns:1fr 1fr; gap:24px; color:#0b1830; background:var(--cream); }
.contact-grid > *,.form-grid > * { min-width:0; }
.contact-route,.enquiry-panel { padding:54px; border:1px solid rgba(8,30,58,.13); background:#faf8f3; box-shadow:0 24px 65px rgba(7,25,48,.08); }
.contact-route h2 { margin:46px 0 28px; font-size:clamp(44px,4.5vw,68px); font-weight:420; letter-spacing:-.055em; line-height:.98; }
.contact-route h2 em { color:#2479d0; }
.contact-route > p { color:#53677e; line-height:1.75; }
.email-card { margin-top:34px; padding:22px; display:grid; grid-template-columns:1fr auto; gap:7px 20px; color:white; background:#082b55; }
.email-card span { color:#69b2fb; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.email-card strong { font-size:17px; }
.email-card i { grid-column:2; grid-row:1/3; align-self:center; width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; font-style:normal; }
.response-note { margin-top:24px; padding-top:20px; display:grid; grid-template-columns:90px 1fr; border-top:1px solid rgba(8,30,58,.13); }
.response-note span { color:#2479d0; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.response-note p { margin:0; color:#64778d; font-size:12px; line-height:1.6; }
.enquiry-panel h3 { margin:25px 0 34px; font-size:32px; font-weight:450; letter-spacing:-.03em; }
.enquiry-options { border-top:1px solid rgba(8,30,58,.13); }
.enquiry-options a { min-height:78px; padding:16px 12px; display:grid; grid-template-columns:40px 1fr 35px; gap:14px; align-items:center; border-bottom:1px solid rgba(8,30,58,.13); transition:.25s ease; }
.enquiry-options a:hover { padding-left:20px; color:white; background:#0b315e; }
.enquiry-options span { color:#2479d0; font-size:10px; }
.enquiry-options a:hover span { color:#6fb8ff; }
.enquiry-options strong { font-size:14px; }
.enquiry-options i { width:32px; height:32px; display:grid; place-items:center; border:1px solid rgba(8,30,58,.16); border-radius:50%; font-style:normal; }
.enquiry-options a:hover i { border-color:rgba(255,255,255,.25); }
.contact-assurance { padding:0 6vw 100px; display:grid; grid-template-columns:repeat(3,1fr); color:white; background:var(--cream); }
.contact-assurance div { min-height:160px; padding:30px; display:flex; flex-direction:column; justify-content:end; border-right:1px solid rgba(255,255,255,.14); background:#082b55; }
.contact-assurance div:nth-child(2) { background:#0b3768; }
.contact-assurance div:nth-child(3) { background:#10477f; border-right:0; }
.contact-assurance span { color:#71b9ff; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.contact-assurance strong { margin-top:12px; font-size:16px; line-height:1.45; }
.contact-protocol { margin-top:30px; padding:22px; border:1px solid rgba(8,30,58,.13); background:#f0ede6; }
.contact-protocol span { color:#2479d0; font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.contact-protocol p { margin:10px 0 0; color:#64778d; font-size:12px; line-height:1.65; }
.contact-form { padding:54px; border:1px solid rgba(8,30,58,.13); background:#082b55; color:white; box-shadow:0 24px 65px rgba(7,25,48,.14); }
.form-heading { display:grid; grid-template-columns:42px 1fr; gap:16px; align-items:start; }
.form-heading > span { color:#61aefa; font-size:12px; font-weight:600; letter-spacing:.16em; }
.form-heading .overline { margin-bottom:12px; color:#82bdf7; }
.form-heading h3 { max-width:560px; margin:0 0 36px; font-size:clamp(28px,2.6vw,40px); font-weight:700; letter-spacing:-.04em; line-height:1.08; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.form-grid label { display:flex; flex-direction:column; gap:9px; }
.form-grid label > span { color:#a9bdd3; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; border:1px solid rgba(143,197,255,.24); border-radius:6px; background:#061d3c; color:white; font:500 14px/1.5 var(--font-manrope),Arial,sans-serif; transition:.2s ease; }
.form-grid input,.form-grid select { min-height:56px; padding:0 16px; }
.form-grid textarea { padding:15px 16px; resize:vertical; }
.form-grid input::placeholder,.form-grid textarea::placeholder { color:#7188a2; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { outline:0; border-color:#64aff7; box-shadow:0 0 0 3px rgba(49,147,244,.13); background:#082449; }
.form-grid select { appearance:auto; }
.form-wide { grid-column:1/-1; }
.form-footer { margin-top:28px; padding-top:26px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid rgba(255,255,255,.13); }
.form-footer p { max-width:420px; margin:0; color:#8fa6bf; font-size:11px; line-height:1.65; }
.form-footer .button { flex:0 0 auto; border:0; cursor:pointer; font-family:inherit; }
.form-consent { padding:16px; display:grid!important; grid-template-columns:20px 1fr; align-items:start; gap:12px!important; border:1px solid rgba(143,197,255,.2); border-radius:6px; background:rgba(2,15,35,.34); }
.form-consent input { width:18px; min-height:18px; margin:1px 0 0; accent-color:#258ef1; }
.form-consent > span { color:#a9bdd3!important; font-size:11px!important; font-weight:500!important; line-height:1.65; letter-spacing:0!important; text-transform:none!important; }
.form-consent a { color:#7fc0ff; text-decoration:underline; text-underline-offset:3px; }
.form-status { margin:20px 0 0; padding:18px 20px; display:flex; flex-direction:column; gap:6px; color:#b7ead9; border:1px solid rgba(83,224,177,.25); background:rgba(24,115,87,.18); font-size:12px; line-height:1.55; }
.form-status strong { color:#80e2c0; font-size:13px; }
.form-status a { color:white; text-decoration:underline; }

/* Bravo Secure division */
.secure-page { color:white; background:#020f23; }
.secure-hero { position:relative; min-height:820px; height:100vh; overflow:hidden; background:linear-gradient(118deg,#010b1b 0%,#061c3b 58%,#0a3970 100%); }
.secure-hero-grid { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(70,146,224,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(70,146,224,.16) 1px,transparent 1px); background-size:68px 68px; mask-image:linear-gradient(90deg,#000,transparent 72%); }
.secure-hero-globe { position:absolute; inset:0 0 0 44%; background:linear-gradient(90deg,#04152d 0%,transparent 35%),url('/og.png') right center/auto 145% no-repeat; opacity:.86; }
.secure-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,11,27,.96) 0%,rgba(1,11,27,.72) 47%,transparent 76%); }
.secure-hero-copy { position:relative; z-index:2; width:min(850px,68vw); min-height:100%; padding:9vh 6vw 7vh; display:flex; flex-direction:column; justify-content:center; }
.secure-back { width:max-content; margin-bottom:45px; color:#81a8d0; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; transition:.2s; }
.secure-back:hover { color:white; transform:translateX(-4px); }
.secure-hero h1,.secure-intro h2,.secure-services h2,.secure-control h2 { margin:0; font-weight:800; letter-spacing:-.045em; line-height:.94; }
.secure-hero h1 { max-width:820px; font-size:clamp(64px,6.8vw,108px); }
.secure-hero h1 em,.secure-services h2 em,.secure-control h2 em { color:var(--blue-soft); }
.secure-hero-copy > p:not(.eyebrow) { max-width:650px; margin:32px 0 34px; padding-left:22px; border-left:2px solid var(--blue); color:#b9cadd; font-size:18px; line-height:1.75; }
.secure-hero-badge { position:absolute; z-index:3; right:38px; bottom:36px; min-width:270px; padding:20px 22px; display:grid; border:1px solid rgba(111,184,255,.32); background:rgba(3,19,42,.84); backdrop-filter:blur(10px); }
.secure-hero-badge span { color:#71b6fa; font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.secure-hero-badge strong { margin-top:8px; font-size:16px; }
.secure-intro { padding:110px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; color:#0b1830; background:var(--cream); }
.secure-intro-main { max-width:1080px; }
.secure-intro h2 { max-width:980px; font-size:clamp(50px,5.6vw,86px); }
.secure-intro h2 em { color:#2479d0; }
.secure-intro-copy { margin-top:50px; padding-top:34px; display:grid; grid-template-columns:1fr 1fr; gap:55px; border-top:1px solid rgba(8,30,58,.14); }
.secure-intro-copy p { margin:0; color:#53677e; font-size:17px; line-height:1.85; }
.secure-services { padding:110px 6vw 120px; background:#020f23; }
.secure-services-heading { margin-bottom:58px; display:grid; grid-template-columns:220px 1fr; gap:5vw; align-items:start; }
.secure-services-heading > div:last-child { max-width:980px; }
.secure-services h2 { font-size:clamp(50px,5.5vw,84px); }
.secure-services-heading p { max-width:580px; margin:25px 0 0; color:#8fa5bd; font-size:16px; line-height:1.7; }
.secure-service-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.secure-service-grid article { position:relative; min-height:430px; padding:32px; grid-column:span 2; display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(100,177,249,.24); background:linear-gradient(145deg,#123c6b,#071c39 78%); box-shadow:0 22px 60px rgba(0,8,21,.2); transition:.3s ease; }
.secure-service-grid article:nth-child(-n+2) { grid-column:span 3; }
.secure-service-grid article:hover { transform:translateY(-7px); border-color:#4ca6ff; box-shadow:0 30px 78px rgba(0,8,21,.38); }
.secure-service-grid article::after { content:""; position:absolute; right:-80px; top:72px; width:210px; height:210px; border:1px solid rgba(88,170,249,.16); border-radius:50%; }
.secure-service-top { display:flex; justify-content:space-between; color:#78b7f5; font-size:11px; }
.secure-service-top i { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:white; font-style:normal; }
.secure-service-mark { height:105px; display:flex; align-items:center; }
.secure-service-mark span { width:58px; height:58px; border:1px solid #3d9df8; transform:rotate(45deg); box-shadow:0 0 24px rgba(31,137,241,.12); }
.secure-service-grid article:nth-child(2) .secure-service-mark span,.secure-service-grid article:nth-child(5) .secure-service-mark span { border-radius:50%; }
.secure-service-grid h3 { margin:0 0 16px; font-size:clamp(28px,2.8vw,43px); font-weight:700; letter-spacing:-.04em; }
.secure-service-grid p { margin:0; color:#b4c5d8; font-size:15px; line-height:1.7; }
.secure-service-grid small { margin:auto 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#7595b7; font-size:10px; font-weight:600; letter-spacing:.1em; line-height:1.7; text-transform:uppercase; }
.secure-control { padding:90px 6vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; background:#071c39; }
.secure-control-visual { position:relative; min-height:680px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(94,165,235,.22); background:url('/og.png') right center/auto 145% no-repeat; }
.secure-control-visual::after { content:""; position:absolute; inset:0; background:radial-gradient(circle,rgba(3,20,43,.12) 0 23%,rgba(51,150,247,.22) 23.2% 23.4%,transparent 23.7% 40%,rgba(51,150,247,.2) 40.2% 40.4%,rgba(3,20,43,.35) 40.7%); }
.secure-radar { position:relative; z-index:2; width:195px; height:195px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(3,20,43,.88); }
.secure-radar span { color:#69b2fb; font-size:11px; font-weight:600; letter-spacing:.24em; }
.secure-radar strong { margin-top:9px; }
.secure-control-copy { min-height:680px; padding:58px; border:1px solid rgba(94,165,235,.22); background:#0b2b52; }
.secure-control h2 { margin:40px 0; font-size:clamp(48px,4.8vw,74px); }
.secure-process { border-top:1px solid rgba(255,255,255,.15); }
.secure-process article { padding:22px 0; display:grid; grid-template-columns:48px 1fr; gap:18px; border-bottom:1px solid rgba(255,255,255,.13); }
.secure-process article > span { color:#5ca9f6; font-size:11px; }
.secure-process h3 { margin:0 0 6px; font-size:19px; font-weight:700; }
.secure-process p { margin:0; color:#91a7c0; font-size:14px; line-height:1.6; }
.secure-assurance { padding:0 6vw 100px; display:grid; grid-template-columns:repeat(3,1fr); background:#071c39; }
.secure-assurance div { min-height:190px; padding:34px; display:flex; flex-direction:column; justify-content:end; border:1px solid rgba(255,255,255,.12); border-right:0; background:#082b55; }
.secure-assurance div:nth-child(2) { background:#0b3768; }
.secure-assurance div:nth-child(3) { background:#10477f; border-right:1px solid rgba(255,255,255,.12); }
.secure-assurance span { color:#71b9ff; font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.secure-assurance strong { max-width:300px; margin-top:13px; font-size:18px; line-height:1.45; }
.secure-cta-actions { display:flex; gap:14px; flex-wrap:wrap; }

/* Shared specialist division pages */
.division-page { color:white; background:#020f23; }
.division-hero { position:relative; min-height:780px; height:94vh; overflow:hidden; background:linear-gradient(120deg,#010c1d,#082a54); }
.division-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,11,25,.97),rgba(1,11,25,.72) 55%,transparent 82%); }
.division-hero-orbit { position:absolute; inset:-18% -16% -18% 42%; opacity:.7; background:radial-gradient(circle at 65% 48%,transparent 0 19%,rgba(72,158,244,.3) 19.2% 19.35%,transparent 19.6% 34%,rgba(72,158,244,.22) 34.2% 34.35%,transparent 34.6%),url('/og.png') right center/auto 135% no-repeat; }
.division-hero-copy { position:relative; z-index:2; width:min(900px,72vw); min-height:100%; padding:8vh 6vw 7vh; display:flex; flex-direction:column; justify-content:center; }
.division-hero h1,.division-overview h2,.division-capabilities h2,.division-region h2 { margin:0; font-weight:800; letter-spacing:-.045em; line-height:.95; }
.division-hero h1 { max-width:900px; font-size:clamp(62px,6.6vw,104px); }
.division-hero h1 em,.division-capabilities h2 em,.division-region h2 em { color:var(--blue-soft); }
.division-hero-copy > p:not(.eyebrow) { max-width:680px; margin:32px 0 34px; padding-left:22px; border-left:2px solid var(--blue); color:#b9cadd; font-size:18px; line-height:1.75; }
.division-hero-note { position:absolute; z-index:3; right:38px; bottom:36px; min-width:250px; padding:20px 22px; display:grid; border:1px solid rgba(111,184,255,.3); background:rgba(3,19,42,.86); }
.division-hero-note span { color:#75b9fb; font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.division-hero-note strong { margin-top:8px; font-size:16px; }
.division-overview { padding:110px 6vw; display:grid; grid-template-columns:220px 1fr; gap:5vw; color:#0b1830; background:var(--cream); }
.division-overview > div:last-child { max-width:1080px; }
.division-overview h2 { max-width:980px; font-size:clamp(50px,5.6vw,84px); }
.division-overview h2 em { color:#2479d0; }
.division-overview-copy { margin-top:50px; padding-top:34px; display:grid; grid-template-columns:1fr 1fr; gap:55px; border-top:1px solid rgba(8,30,58,.14); }
.division-overview-copy p { margin:0; color:#53677e; font-size:17px; line-height:1.85; }
.partner-panel { margin-top:45px; padding:30px; display:flex; align-items:center; gap:36px; border:1px solid rgba(8,30,58,.14); background:#faf8f3; box-shadow:0 24px 65px rgba(7,25,48,.07); }
.partner-panel img { width:280px; max-height:100px; object-fit:contain; background:white; }
.partner-panel p { max-width:580px; margin:0; color:#53677e; font-size:15px; line-height:1.7; }
.division-capabilities { padding:110px 6vw 120px; background:#020f23; }
.division-cap-heading { margin-bottom:58px; display:grid; grid-template-columns:220px 1fr; gap:5vw; }
.division-cap-heading > div:last-child { max-width:980px; }
.division-capabilities h2 { font-size:clamp(50px,5.5vw,82px); }
.division-cap-heading p { max-width:620px; margin:24px 0 0; color:#8fa5bd; font-size:16px; line-height:1.7; }
.division-pillar-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.division-pillar-grid article { min-height:360px; padding:32px; grid-column:span 2; display:flex; flex-direction:column; border:1px solid rgba(100,177,249,.24); background:linear-gradient(145deg,#123c6b,#071c39 78%); box-shadow:0 22px 60px rgba(0,8,21,.18); transition:.3s ease; }
.division-pillar-grid article:nth-child(-n+2) { grid-column:span 3; }
.division-pillar-grid article:hover { transform:translateY(-7px); border-color:#4ca6ff; }
.division-pillar-grid article > span { color:#69b2fb; font-size:11px; font-weight:600; }
.division-pillar-grid h3 { margin:70px 0 16px; font-size:clamp(27px,2.7vw,40px); font-weight:700; letter-spacing:-.04em; }
.division-pillar-grid p { margin:0; color:#b4c5d8; font-size:15px; line-height:1.7; }
.division-pillar-grid small { margin:auto 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#7696b8; font-size:10px; font-weight:600; letter-spacing:.1em; line-height:1.7; text-transform:uppercase; }
.division-region { padding:90px 6vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; background:#071c39; }
.division-region-visual { min-height:620px; display:grid; place-items:center; border:1px solid rgba(94,165,235,.22); background:radial-gradient(circle,transparent 0 23%,rgba(51,150,247,.2) 23.2% 23.4%,transparent 23.7% 40%,rgba(51,150,247,.18) 40.2% 40.4%,rgba(3,20,43,.38) 40.7%),url('/og.png') right center/auto 145% no-repeat; }
.division-region-visual > div { width:200px; height:200px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid rgba(255,255,255,.27); border-radius:50%; background:rgba(3,20,43,.88); }
.division-region-visual span { color:#69b2fb; font-size:11px; font-weight:600; letter-spacing:.24em; }
.division-region-visual strong { max-width:140px; margin-top:9px; }
.division-region > div:last-child { min-height:620px; padding:58px; border:1px solid rgba(94,165,235,.22); background:#0b2b52; }
.division-region h2 { margin:40px 0 28px; font-size:clamp(48px,4.8vw,74px); }
.division-region > div:last-child > p { max-width:630px; margin:0 0 35px; color:#9bb0c7; font-size:16px; line-height:1.8; }
.division-institute .division-hero { background:linear-gradient(120deg,#061126,#12365f); }
.division-advisory .division-hero { background:linear-gradient(120deg,#020d20,#083567); }
.division-care .division-hero { background:linear-gradient(120deg,#031329,#0b4169); }
.division-equipment .division-hero { background:linear-gradient(120deg,#030e20,#173b5c); }

/* Bravo brand typography — Manrope */
.hero h1,.statement h2,.products-heading h2,.approach h2,.contact h2,
.group-hero h1,.group-intro h2,.purpose-statement h2,.ecosystem-heading h2,.model-content h2,.group-cta h2,
.sub-hero h1,.page-cta h2,.companies-intro h2,.company-title h2,.approach-principle h2,.method-heading h2,
.standards-copy > h2,.contact-hero h1,.contact-route h2 { font-weight:800; letter-spacing:-.045em; }
.product-card h3,.purpose-values h3,.division-row h3,.method-steps h3,.standard-grid h3,.enquiry-panel h3 { font-weight:700; }
.side-links a,.button,.footer-links a,.capability h3,.model-content li strong,.enquiry-options strong { font-weight:600; }
.eyebrow { font-size:14px; font-weight:600; letter-spacing:.19em; }
.hero-eyebrow { margin-bottom:30px; font-size:18px; letter-spacing:.17em; }
.hero-eyebrow::before { width:58px; height:2px; }
.section-label { font-size:13px; font-weight:600; letter-spacing:.17em; }
.statement .lead { margin-bottom:30px; font-size:20px; font-weight:500; line-height:1.5; }
.overline { font-size:15px; font-weight:600; letter-spacing:.13em; line-height:1.5; }
.group-section-index span { font-size:13px; font-weight:600; }
.group-section-index strong { font-size:30px; font-weight:700; }
.statement-label strong { font-size:32px; font-weight:700; }
.statement-label small { font-size:13px; font-weight:500; }
.hero-copy,.group-hero-copy > p:last-child,.sub-hero-copy > p:last-child,.contact-hero-copy > p:last-child { font-size:18px; font-weight:400; }
.statement-copy > p:nth-of-type(2),.group-copy-columns p,.companies-intro > div:last-child > p,.principle-copy p { font-size:17px; font-weight:400; }
.products-heading p,.ecosystem-heading p,.approach-intro,.contact-route > p { font-size:16px; }
.button { min-height:66px; font-size:15px; font-weight:600; }
.side-links a { font-size:15px; }
.card-kicker,.company-title p { font-size:12px; font-weight:600; }
.card-description,.company-detail > p { font-size:16px; }
.card-services,.company-detail li { font-size:11px; font-weight:500; }
.capability p,.division-row p,.model-content li p,.method-steps p,.standard-grid p { font-size:14px; }
.purpose-values p { font-size:15px; }
.footer-links a { font-size:14px; }

@media (max-width:1050px) {
  :root { --side:230px; }
  .side-nav { padding-left:17px; padding-right:17px; }
  .hero-panel { width:64vw; }
  .statement,.products-heading { grid-template-columns:150px 1fr; }
  .approach { grid-template-columns:1fr; }
  .approach-visual { min-height:500px; }
  .group-intro,.group-ecosystem { grid-template-columns:160px 1fr; }
  .operating-model { grid-template-columns:1fr; }
  .companies-intro,.approach-principle { grid-template-columns:160px 1fr; }
  .company-profile { grid-template-columns:50px 1fr 1.2fr; }
  .company-symbol { display:none; }
  .standards-section { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .side-nav { display:none; }
  .site-content { margin-left:0; }
  .mobile-header { position:absolute; z-index:20; inset:0 0 auto; height:82px; padding:0 22px; display:flex; justify-content:space-between; align-items:center; color:white; border-bottom:1px solid rgba(255,255,255,.16); }
  .mobile-header img { width:108px; height:65px; object-fit:contain; }
  .mobile-header > a:last-child { font-size:12px; }
  .hero { min-height:780px; height:auto; }
  .hero-globe { inset:0; opacity:.42; background-position:72% center; }
  .hero-panel { width:100%; min-height:780px; padding:150px 24px 70px; justify-content:center; background:linear-gradient(90deg,rgba(2,14,33,.93),rgba(2,14,33,.45)); }
  .hero h1 { font-size:clamp(52px,15vw,76px); }
  .hero-copy { font-size:14px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }
  .hero-caption { display:none; }
  .statement,.products-heading { grid-template-columns:1fr; gap:30px; padding-left:22px; padding-right:22px; }
  .statement { padding-top:75px; padding-bottom:75px; }
  .statement-copy { padding:34px 24px; }
  .statement-copy::after { right:18px; top:18px; font-size:48px; }
  .statement h2 { font-size:48px; }
  .statement-facts { grid-template-columns:1fr; }
  .products-section { padding:75px 22px; }
  .products-heading { padding:0; }
  .product-grid { grid-template-columns:1fr; }
  .product-card:nth-child(n) { grid-column:1; min-height:420px; padding:28px 24px; }
  .approach { padding:22px; }
  .approach-visual { min-height:430px; }
  .approach-content { min-height:auto; padding:34px 24px; }
  .approach h2 { font-size:48px; }
  .capability-list { margin-top:20px; }
  .contact { min-height:620px; padding:60px 22px; }
  .contact-globe { inset:0; opacity:.34; }
  .contact-panel { padding:38px 24px; }
  .contact h2 { font-size:52px; }
  footer { grid-template-columns:1fr; padding:60px 22px 28px; }
  .footer-bottom { grid-column:1; flex-direction:column; gap:20px; }
  .group-hero { min-height:760px; height:auto; }
  .group-hero-globe { inset:0; opacity:.42; }
  .group-hero-copy { width:100%; min-height:760px; padding:145px 24px 70px; }
  .group-hero h1 { font-size:clamp(56px,16vw,78px); }
  .group-hero-note { display:none; }
  .group-intro,.group-ecosystem { padding:75px 22px; grid-template-columns:1fr; gap:40px; }
  .group-copy-columns,.ecosystem-heading { grid-template-columns:1fr; gap:24px; }
  .purpose-band { padding:75px 22px; }
  .purpose-statement { grid-template-columns:1fr; gap:28px; }
  .purpose-values { grid-template-columns:1fr; margin-top:55px; }
  .purpose-values article { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .purpose-values article:last-child { border-bottom:0; }
  .purpose-values h3 { margin-top:24px; }
  .division-row { grid-template-columns:35px 1fr 35px; }
  .division-row p { grid-column:2; }
  .division-row i { grid-column:3; grid-row:1; }
  .operating-model { padding:22px; }
  .model-visual { min-height:430px; }
  .model-content { min-height:auto; padding:34px 24px; }
  .group-cta { padding:75px 22px; align-items:flex-start; flex-direction:column; }
  .group-assurance { padding:75px 22px; grid-template-columns:1fr; gap:38px; }
  .assurance-principles { grid-template-columns:1fr; }
  .assurance-principles article { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .governance-hero { min-height:760px; height:auto; }
  .governance-orbit { inset:0; opacity:.4; }
  .governance-hero-copy { width:100%; min-height:760px; padding:145px 24px 70px; }
  .governance-hero h1 { font-size:clamp(52px,15vw,76px); }
  .governance-hero-copy > p:last-child { font-size:16px; }
  .governance-note { display:none; }
  .governance-intro { padding:75px 22px; grid-template-columns:1fr; gap:38px; }
  .governance-copy { grid-template-columns:1fr; gap:24px; }
  .governance-commitments { padding:75px 22px; }
  .governance-heading { grid-template-columns:1fr; gap:38px; }
  .governance-grid { grid-template-columns:1fr; }
  .regional-framework { padding:22px; grid-template-columns:1fr; }
  .regional-visual { min-height:430px; }
  .regional-copy { min-height:auto; padding:36px 24px; }
  .regional-cards { grid-template-columns:1fr; }
  .sub-hero { min-height:730px; height:auto; }
  .sub-hero-globe { inset:0; opacity:.4; }
  .sub-hero-copy { width:100%; min-height:730px; padding:145px 24px 70px; }
  .sub-hero h1 { font-size:clamp(54px,15vw,76px); }
  .page-cta { padding:75px 22px; align-items:flex-start; flex-direction:column; }
  .companies-intro,.approach-principle { padding:75px 22px; grid-template-columns:1fr; gap:38px; }
  .company-stack { padding:55px 22px 75px; }
  .company-profile { padding:32px 24px; grid-template-columns:38px 1fr; gap:22px; }
  .company-detail { grid-column:2; }
  .company-detail ul { grid-template-columns:1fr; }
  .method-section { padding:75px 22px; }
  .method-heading { grid-template-columns:1fr; gap:35px; }
  .principle-copy { grid-template-columns:1fr; gap:22px; }
  .standards-section { padding:22px; }
  .standards-visual { min-height:430px; }
  .standards-copy { min-height:auto; padding:34px 24px; }
  .standard-grid { grid-template-columns:1fr; }
  .contact-hero { min-height:730px; }
  .contact-page-globe { inset:0; opacity:.38; }
  .contact-hero-copy { width:100%; min-height:730px; padding:145px 24px 70px; }
  .contact-hero h1 { font-size:clamp(46px,12vw,68px); }
  .contact-grid { padding:70px 22px; grid-template-columns:1fr; }
  .contact-route,.enquiry-panel { padding:36px 24px; }
  .contact-form { padding:36px 24px; }
  .form-grid { grid-template-columns:1fr; }
  .form-wide { grid-column:1; }
  .form-footer { align-items:flex-start; flex-direction:column; }
  .contact-assurance { padding:0 22px 75px; grid-template-columns:1fr; }
  .secure-hero { min-height:790px; height:auto; }
  .secure-hero-globe { inset:0; opacity:.42; }
  .secure-hero-copy { width:100%; min-height:790px; padding:125px 24px 70px; }
  .secure-back { margin-bottom:30px; }
  .secure-hero h1 { font-size:clamp(52px,15vw,76px); }
  .secure-hero-copy > p:not(.eyebrow) { font-size:16px; }
  .secure-hero-badge { display:none; }
  .secure-intro,.secure-services-heading { padding-left:22px; padding-right:22px; grid-template-columns:1fr; gap:38px; }
  .secure-intro { padding-top:75px; padding-bottom:75px; }
  .secure-intro-copy { grid-template-columns:1fr; gap:24px; }
  .secure-services { padding:75px 22px; }
  .secure-services-heading { padding:0; }
  .secure-service-grid { grid-template-columns:1fr; }
  .secure-service-grid article:nth-child(n) { min-height:410px; grid-column:1; padding:28px 24px; }
  .secure-control { padding:22px; grid-template-columns:1fr; }
  .secure-control-visual { min-height:430px; }
  .secure-control-copy { min-height:auto; padding:36px 24px; }
  .secure-assurance { padding:0 22px 75px; grid-template-columns:1fr; }
  .secure-assurance div { border-right:1px solid rgba(255,255,255,.12); }
  .secure-cta-actions { width:100%; flex-direction:column; }
  .division-hero { min-height:790px; height:auto; }
  .division-hero-orbit { inset:0; opacity:.4; }
  .division-hero-copy { width:100%; min-height:790px; padding:125px 24px 70px; }
  .division-hero h1 { font-size:clamp(52px,15vw,76px); }
  .division-hero-copy > p:not(.eyebrow) { font-size:16px; }
  .division-hero-note { display:none; }
  .division-overview { padding:75px 22px; grid-template-columns:1fr; gap:38px; }
  .division-overview-copy { grid-template-columns:1fr; gap:24px; }
  .partner-panel { padding:24px; align-items:flex-start; flex-direction:column; }
  .partner-panel img { width:100%; }
  .division-capabilities { padding:75px 22px; }
  .division-cap-heading { grid-template-columns:1fr; gap:38px; }
  .division-pillar-grid { grid-template-columns:1fr; }
  .division-pillar-grid article:nth-child(n) { min-height:360px; grid-column:1; padding:28px 24px; }
  .division-region { padding:22px; grid-template-columns:1fr; }
  .division-region-visual { min-height:430px; }
  .division-region > div:last-child { min-height:auto; padding:36px 24px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Credentials and assurance */
.credentials-page { color:white; background:#020f23; }
.credentials-hero { position:relative; min-height:820px; overflow:hidden; background:linear-gradient(115deg,#020d1f 0%,#06244a 62%,#0b3f79 100%); }
.credentials-orbit { position:absolute; width:760px; height:760px; right:-100px; top:-80px; border:1px solid rgba(70,158,246,.3); border-radius:50%; box-shadow:0 0 0 120px rgba(30,123,215,.06),0 0 0 240px rgba(30,123,215,.035); }
.credentials-orbit::before,.credentials-orbit::after { content:""; position:absolute; border:1px solid rgba(85,170,255,.26); border-radius:50%; }
.credentials-orbit::before { inset:18%; }.credentials-orbit::after { inset:36%; }
.credentials-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,11,26,.98),rgba(1,11,26,.75) 52%,transparent 78%); }
.credentials-hero-copy { position:relative; z-index:2; width:min(920px,70vw); min-height:820px; padding:9vh 6vw 7vh; display:flex; flex-direction:column; justify-content:center; }
.credentials-hero h1 { margin:0; font-size:clamp(68px,7vw,110px); font-weight:800; letter-spacing:-.06em; line-height:.9; }
.credentials-hero h1 em { color:#7abaff; }
.credentials-hero-copy > p:not(.eyebrow) { max-width:720px; margin:34px 0 0; padding-left:22px; color:#b6c8dc; border-left:2px solid #238ff4; font-size:18px; line-height:1.75; }
.credentials-hero-actions { margin-top:38px; display:flex; gap:14px; }
.credentials-note { position:absolute; z-index:3; right:4vw; bottom:4vh; width:270px; padding:22px; display:flex; flex-direction:column; gap:10px; border:1px solid rgba(128,190,249,.27); background:rgba(1,15,34,.82); }
.credentials-note span { color:#69b4fa; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.credentials-intro { padding:110px 6vw; display:grid; grid-template-columns:220px 1fr; gap:7vw; color:#0b1a33; background:#f4f2ed; }
.credentials-intro h2,.credentials-heading h2,.evidence-heading h2,.qualification-band h2 { margin:22px 0 35px; font-size:clamp(54px,5vw,82px); font-weight:800; letter-spacing:-.055em; line-height:.95; }
.credentials-intro h2 em,.evidence-heading h2 em { color:#247bd2; }
.credentials-copy { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.credentials-copy p { margin:0; color:#516980; font-size:15px; line-height:1.85; }
.credentials-position { padding:105px 6vw; background:#03142c; }
.credentials-heading,.evidence-heading { display:grid; grid-template-columns:360px 1fr; gap:6vw; }
.credentials-heading h2 { color:white; }.credentials-heading h2 em,.qualification-band h2 em { color:#7bbaff; }
.credentials-heading > div > p { color:#829ab5; line-height:1.7; }
.position-grid { margin-top:65px; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(127,185,241,.2); border:1px solid rgba(127,185,241,.2); }
.position-grid article { min-height:300px; padding:38px; background:#0a2e59; }
.position-grid article:nth-child(2),.position-grid article:nth-child(3) { background:#0c3768; }
.position-grid span { width:max-content; padding:7px 10px; display:block; color:#84c4ff; border:1px solid rgba(132,196,255,.3); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.position-grid h3 { margin:55px 0 20px; font-size:32px; letter-spacing:-.04em; }
.position-grid p { max-width:560px; margin:0; color:#9fb3c9; font-size:14px; line-height:1.75; }
.evidence-standard { padding:110px 6vw; color:#0b1a33; background:#f4f2ed; }
.evidence-grid { margin-top:70px; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #cbd3d9; }
.evidence-grid article { min-height:210px; padding:34px 30px; display:grid; grid-template-columns:42px 1fr; gap:22px; border-right:1px solid #cbd3d9; border-bottom:1px solid #cbd3d9; }
.evidence-grid article:nth-child(2n) { border-right:0; }
.evidence-grid article > span { color:#1886ec; font-size:11px; font-weight:700; }
.evidence-grid h3 { margin:0 0 16px; font-size:24px; }.evidence-grid p { margin:0; color:#526b83; font-size:14px; line-height:1.75; }
.qualification-band { padding:110px 6vw; display:grid; grid-template-columns:1fr 1fr; gap:8vw; background:linear-gradient(135deg,#061a37,#0a3768); }
.qualification-band > div > p:not(.eyebrow) { max-width:700px; color:#9eb3ca; line-height:1.8; }
.qualification-steps { border-top:1px solid rgba(255,255,255,.16); }
.qualification-steps article { padding:28px 0; display:grid; grid-template-columns:46px 1fr; border-bottom:1px solid rgba(255,255,255,.16); }
.qualification-steps span { grid-row:1/3; color:#66b4fc; font-size:11px; }.qualification-steps strong { font-size:17px; }.qualification-steps p { margin:8px 0 0; color:#91a7c0; font-size:13px; line-height:1.65; }
.assurance-actions,.cta-actions { display:flex; flex-wrap:wrap; gap:14px; }
@media (max-width:800px) {
  .credentials-hero { min-height:820px; }.credentials-orbit { right:-420px; opacity:.5; }
  .credentials-hero-copy { width:100%; min-height:820px; padding:130px 22px 70px; }
  .credentials-hero h1 { font-size:clamp(54px,15vw,76px); }.credentials-hero-copy > p:not(.eyebrow) { font-size:15px; }
  .credentials-hero-actions { align-items:stretch; flex-direction:column; }.credentials-note { display:none; }
  .credentials-intro,.credentials-heading,.evidence-heading,.qualification-band { grid-template-columns:1fr; }
  .credentials-intro,.credentials-position,.evidence-standard,.qualification-band { padding:75px 22px; }
  .credentials-copy,.position-grid,.evidence-grid { grid-template-columns:1fr; }
  .position-grid article { min-height:260px; padding:30px 24px; }
  .evidence-grid article,.evidence-grid article:nth-child(n) { border-right:0; }
}

/* PHP/MySQL port controls */
.php-mobile-menu { display:none; }
.php-mobile-menu[data-open] { display:flex; position:fixed; z-index:60; inset:90px 0 auto; padding:20px; flex-direction:column; gap:4px; color:#fff; background:#061a35; border-bottom:1px solid #31557b; }
.php-mobile-menu a { padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.1); }
.mobile-header button { padding:10px 15px; color:#fff; background:transparent; border:1px solid #2b92f4; }
.php-admin-shell { min-height:100vh; padding:60px clamp(20px,5vw,80px); color:#eaf3ff; background:#03142d; }
.php-admin-login { width:min(520px,100%); margin:4vh auto; padding:42px; border:1px solid #31557b; background:#082446; }
.php-admin-login img { width:190px; margin-bottom:25px; }
.php-admin-login h1,.php-admin-header h1 { margin:10px 0 28px; font-size:clamp(34px,4vw,58px); }
.php-admin-login form,.php-upload { display:grid; gap:18px; }
.php-admin-login label,.php-upload label { display:grid; gap:8px; color:#a8bed4; font-size:12px; }
.php-admin-login input,.php-upload input,.php-admin-shell select { min-height:48px; padding:10px 12px; color:#10213a; background:#fff; border:1px solid #a8bed4; }
.php-admin-header { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-bottom:35px; }
.php-admin-header button { padding:12px 18px; color:#fff; border:1px solid #5aaeff; background:transparent; cursor:pointer; }
.php-admin-grid { display:grid; gap:30px; }
.php-admin-grid article { padding:28px; border:1px solid #31557b; background:#082446; }
.php-admin-grid h2 { margin-top:0; }
.php-table-wrap { overflow:auto; }
.php-admin-shell table { width:100%; border-collapse:collapse; }
.php-admin-shell th,.php-admin-shell td { padding:14px; text-align:left; border-bottom:1px solid #31557b; vertical-align:top; }
.php-admin-shell th { color:#6ab8ff; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.php-admin-shell td { color:#c5d4e4; font-size:13px; }
.php-admin-shell td a { color:#75bafa; }
.php-slot-form { display:flex; flex-wrap:wrap; gap:8px; }
.php-slot-form button { padding:8px 14px; color:#fff; border:1px solid #5aaeff; background:#0b3970; cursor:pointer; }
.php-media-grid { margin-top:25px; display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.php-media-grid figure { margin:0; background:#061a35; }
.php-media-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.php-media-grid figcaption { padding:12px; color:#c5d4e4; font-size:12px; overflow-wrap:anywhere; }
@media (max-width:760px) { .php-admin-shell { padding:30px 16px; }.php-admin-login { padding:28px 20px; }.php-admin-header { align-items:flex-start; flex-direction:column; } }

/* Content Studio */
.admin-app { min-height:100vh; color:#dce9f7; background:#03142d; }
.admin-header { position:sticky; z-index:50; top:0; height:82px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #234a76; background:#08254b; }
.admin-header > a { display:flex; align-items:center; gap:12px; letter-spacing:.15em; }.admin-header img { width:62px; height:52px; object-fit:contain; }.admin-header strong { color:white; }.admin-header strong em { color:#2794ff; }
.admin-header nav { display:flex; align-items:center; gap:10px; }.admin-header nav button,.admin-header nav a { padding:11px 14px; color:#b9cce1; border:1px solid transparent; border-radius:7px; background:transparent; font:600 12px var(--font-manrope); cursor:pointer; }.admin-header nav button.active,.admin-header nav button:hover { color:white; background:#113862; }.admin-header nav .signout { border-color:#31577f; }
.admin-body { min-height:calc(100vh - 82px); display:grid; grid-template-columns:235px 1fr; }.admin-body > aside { padding:40px 25px; display:flex; flex-direction:column; border-right:1px solid #1d436e; background:#061b38; }.admin-body > aside > span { color:#6795c4; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }.admin-body > aside > strong { margin-top:10px; color:white; }.admin-body > aside > small { margin-top:6px; color:#7893ae; word-break:break-all; }.admin-body > aside > div { margin-top:auto; padding:16px; color:#91abc5; border:1px solid #244b75; font-size:10px; }.admin-body > aside i { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#43d6a8; box-shadow:0 0 9px #43d6a8; }
.admin-workspace { width:min(1400px,100%); padding:50px 5vw 90px; }.admin-title { margin-bottom:36px; display:flex; align-items:end; justify-content:space-between; gap:30px; }.admin-title p { margin:0 0 8px; color:#298ef1; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.admin-title h1 { margin:0 0 8px; color:white; font-size:34px; }.admin-title span { color:#93aac2; }.admin-title > button,.upload-panel > button { min-height:52px; padding:0 22px; color:white; border:0; border-radius:7px; background:#168bfa; font:600 13px var(--font-manrope); cursor:pointer; }
.admin-notice { margin-bottom:25px; padding:15px 18px; color:#b8efdc; border:1px solid rgba(68,211,166,.3); background:rgba(31,126,96,.18); }.slot-group { margin:0 0 42px; }.slot-group h2 { display:flex; gap:14px; align-items:center; color:white; font-size:19px; }.slot-group h2 span { color:#6788aa; font-size:10px; font-weight:500; text-transform:uppercase; }.slot-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.slot-grid > button { min-width:0; padding:14px; display:grid; grid-template-columns:82px 1fr auto; grid-template-rows:auto auto; gap:5px 14px; text-align:left; color:#d9e6f4; border:1px solid #234c78; border-radius:9px; background:#0b2b53; cursor:pointer; }.slot-grid > button:hover { border-color:#3a9cf6; transform:translateY(-2px); }.slot-grid > button > div { grid-row:1/3; width:82px; height:66px; display:grid; place-items:center; overflow:hidden; color:#5183b7; background:#061a36; font-size:8px; }.slot-grid img { width:100%; height:100%; object-fit:cover; }.slot-grid strong { align-self:end; color:white; }.slot-grid small { color:#7895b2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.slot-grid > button > i { grid-column:3; grid-row:1/3; align-self:center; color:#62aff5; font-style:normal; font-size:10px; }
.upload-panel { margin-bottom:36px; padding:25px; display:grid; grid-template-columns:1fr 1fr auto; gap:18px; align-items:end; border:1px solid #28527e; border-radius:10px; background:#0b2c56; }.upload-panel label { display:flex; flex-direction:column; gap:9px; }.upload-panel label > span,.slot-modal label { color:#9cb4ce; font-size:11px; font-weight:600; }.upload-panel input,.slot-modal input,.slot-modal select { width:100%; min-height:52px; padding:0 14px; color:white; border:1px solid #315a85; border-radius:6px; background:#071e3d; font:500 12px var(--font-manrope); }.upload-panel input[type=file] { position:absolute; opacity:0; pointer-events:none; }.upload-panel label:first-child strong { min-height:52px; padding:0 14px; display:flex; align-items:center; color:#90aac4; border:1px dashed #4681ba; border-radius:6px; background:#071e3d; cursor:pointer; }.upload-panel button:disabled { opacity:.5; }
.media-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.media-grid article { overflow:hidden; border:1px solid #244c77; border-radius:9px; background:#0a294f; }.media-grid img { width:100%; aspect-ratio:16/10; object-fit:cover; background:#061a36; }.media-grid article > div { padding:16px; display:flex; flex-direction:column; }.media-grid strong { color:white; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.media-grid span,.media-grid p { margin:7px 0 0; color:#7792ae; font-size:10px; }.media-grid p { color:#9bb0c7; line-height:1.5; }
.admin-settings { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.admin-settings article { min-height:210px; padding:28px; border:1px solid #28527e; border-radius:10px; background:#0b2c56; }.admin-settings article > span { color:#65aff4; font-size:10px; text-transform:uppercase; letter-spacing:.13em; }.admin-settings article > strong { margin-top:42px; display:block; color:white; font-size:25px; }.admin-settings p { color:#8ea7c0; line-height:1.65; }.palette { margin-top:38px; display:flex; gap:10px; }.palette i { width:54px; height:54px; border:1px solid rgba(255,255,255,.2); background:#03142d; }.palette i:nth-child(2){background:#1688ff}.palette i:nth-child(3){background:#8fc5ff}.palette i:nth-child(4){background:#f1eee7}
.image-specs { margin:-8px 0 28px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.image-specs article { min-height:145px; padding:22px; display:flex; flex-direction:column; border:1px solid #28527e; border-radius:10px; background:linear-gradient(145deg,#0d315d,#092445); }.image-specs b { color:#67b5ff; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.image-specs strong { margin:20px 0 8px; color:white; font-size:20px; }.image-specs span { color:#8fa9c4; font-size:11px; line-height:1.55; }
.upload-panel { align-items:stretch; box-shadow:0 16px 40px rgba(0,0,0,.15); }.upload-panel label>span { display:flex; justify-content:space-between; }.upload-panel label i { color:#6d93b9; font-size:9px; font-style:normal; text-transform:uppercase; }.upload-panel label:first-child strong { justify-content:center; }.upload-panel label small { color:#7291af; font-size:9px; }.upload-drop img { width:100%; height:115px; object-fit:cover; border-radius:6px; }.upload-drop em { color:#65aff4; font-size:10px; font-style:normal; }.upload-error { margin:-20px 0 28px; padding:13px 16px; color:#ffd8d8; border:1px solid rgba(255,104,104,.35); border-radius:7px; background:rgba(132,29,45,.28); font-size:11px; }
.slot-modal { position:fixed; z-index:100; inset:0; padding:25px; display:grid; place-items:center; background:rgba(0,9,23,.82); backdrop-filter:blur(8px); }.slot-modal > div { position:relative; width:min(620px,100%); max-height:90vh; padding:36px; overflow:auto; color:white; border:1px solid #3976ad; background:#092950; }.slot-modal > div > span { color:#62aff5; font-size:9px; letter-spacing:.15em; }.slot-modal h2 { margin:12px 0 24px; }.slot-preview { height:240px; margin-bottom:24px; display:grid; place-items:center; overflow:hidden; color:#6885a2; background:#051831; }.slot-preview img { width:100%; height:100%; object-fit:cover; }.slot-modal label { margin-top:15px; display:flex; flex-direction:column; gap:8px; }.slot-actions { margin-top:28px; display:flex; justify-content:flex-end; gap:12px; }.slot-actions button { min-height:48px; padding:0 20px; color:white; border:1px solid #37628e; border-radius:6px; background:#10365f; cursor:pointer; }.slot-actions button:last-child { border-color:#168bfa; background:#168bfa; }
@media(max-width:1050px){.slot-grid{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.admin-header{height:auto;padding:14px 18px;align-items:flex-start}.admin-header strong{display:none}.admin-header nav{flex-wrap:wrap;justify-content:flex-end}.admin-header nav a:not(.signout){display:none}.admin-body{grid-template-columns:1fr}.admin-body>aside{display:none}.admin-workspace{padding:35px 20px 70px}.admin-title{align-items:flex-start;flex-direction:column}.slot-grid,.media-grid,.admin-settings,.image-specs{grid-template-columns:1fr}.upload-panel{grid-template-columns:1fr}.slot-modal>div{padding:28px 20px}}

/* Bravo Institute learning portal */
.institute-page { min-height:100vh; color:#0b1b33; background:#f3f1eb; }
.institute-nav { position:fixed; z-index:30; inset:0 auto 0 0; width:260px; padding:24px 20px 28px; display:flex; flex-direction:column; color:white; background:linear-gradient(180deg,#061a37,#031227); border-right:1px solid rgba(116,184,248,.22); }
.institute-brand { min-height:130px; display:grid; place-items:center; border-bottom:1px solid rgba(111,180,247,.22); }
.institute-brand img { width:190px; height:120px; object-fit:contain; }
.institute-nav-label { padding:28px 14px 14px; color:#72a8df; font-size:10px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.institute-nav nav { display:flex; flex-direction:column; gap:6px; }
.institute-nav nav a { min-height:55px; padding:0 14px; display:grid; grid-template-columns:34px 1fr; align-items:center; color:#afc2d7; border:1px solid transparent; border-radius:8px; font-size:13px; font-weight:600; }
.institute-nav nav a span { color:#5b8cbe; font-size:9px; }.institute-nav nav a:hover,.institute-nav nav a.active { color:white; border-color:rgba(88,169,248,.2); background:#103761; }
.institute-account { margin-top:auto; padding:18px; display:flex; flex-direction:column; border:1px solid rgba(93,168,239,.24); background:#08264a; }
.institute-account span { color:#67b2fa; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }.institute-account strong { margin-top:8px; }.institute-account small { margin-top:8px; color:#7f9bb9; line-height:1.5; }
.institute-shell { margin-left:260px; overflow:hidden; }
.institute-topbar { height:74px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; color:#c3d3e4; background:#04152d; border-bottom:1px solid rgba(110,180,248,.22); font-size:12px; font-weight:600; }
.institute-topbar > div { display:flex; align-items:center; gap:28px; }.account-pill { padding:11px 15px; color:white; border:1px solid rgba(103,178,248,.35); border-radius:99px; background:#0c315e; }
.institute-hero { position:relative; min-height:690px; padding:95px 6vw 65px; display:flex; align-items:center; overflow:hidden; color:white; background:linear-gradient(112deg,#020d1f 0%,#06264f 66%,#0d4a83 100%); }
.institute-hero::before { content:""; position:absolute; inset:0 0 0 47%; opacity:.65; background:radial-gradient(circle at 60% 50%,transparent 0 18%,rgba(95,180,255,.2) 18.2% 18.35%,transparent 18.6% 34%,rgba(95,180,255,.18) 34.2% 34.35%,transparent 34.6%),url('/og.png') right center/auto 135% no-repeat; }
.institute-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,12,29,.97),rgba(1,12,29,.72) 58%,transparent 85%); }
.institute-managed-hero { position:absolute; inset:0; z-index:0; background-size:cover; background-repeat:no-repeat; }
.course-cover.has-managed-image,.product-card.has-managed-image { background-size:cover; background-repeat:no-repeat; }
.institute-hero-copy { position:relative; z-index:2; max-width:880px; }.institute-hero h1 { margin:0; font-size:clamp(64px,6.6vw,105px); font-weight:800; letter-spacing:-.06em; line-height:.91; }.institute-hero h1 em { color:#86c2ff; }.institute-hero-copy > p:not(.eyebrow) { max-width:690px; margin:32px 0 35px; padding-left:22px; color:#bdcde0; border-left:2px solid #168cff; font-size:17px; line-height:1.75; }
.learning-overview { position:absolute; z-index:3; right:4vw; bottom:35px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(117,187,250,.28); background:rgba(2,17,38,.86); backdrop-filter:blur(10px); }
.learning-overview div { min-width:155px; padding:20px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.13); }.learning-overview div:last-child { border:0; }.learning-overview span { color:#72b9fb; font-size:25px; font-weight:700; }.learning-overview small { margin-top:6px; color:#8fa7c0; }
.learner-dashboard { padding:105px 6vw; display:grid; grid-template-columns:.7fr 1.3fr; gap:7vw; background:#f3f1eb; }.learner-dashboard h2,.institute-heading h2 { margin:22px 0 0; font-size:clamp(48px,5vw,78px); font-weight:800; letter-spacing:-.055em; line-height:.95; }.learner-dashboard h2 em,.institute-heading h2 em { color:#277cd0; }
.dashboard-preview { padding:24px; display:grid; grid-template-columns:1fr 180px 180px; gap:14px; color:white; background:#061a37; box-shadow:0 24px 65px rgba(5,27,54,.18); }.dashboard-welcome { grid-column:1/-1; min-height:170px; padding:28px; display:flex; flex-direction:column; justify-content:end; background:linear-gradient(120deg,#0b3b70,#071f41); border:1px solid rgba(101,178,249,.24); }.dashboard-welcome span,.progress-card span,.dashboard-stat span { color:#6bb5fa; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.dashboard-welcome strong { margin:12px 0 8px; font-size:27px; }.dashboard-welcome p { max-width:590px; margin:0; color:#a8bbcf; line-height:1.65; }.progress-card,.dashboard-stat { min-height:165px; padding:22px; display:flex; flex-direction:column; background:#09284e; }.progress-card strong,.dashboard-stat strong { margin:auto 0 12px; font-size:38px; }.progress-card i { height:5px; background:#153b65; }.progress-card i b { display:block; width:2%; height:100%; background:#2794f8; }.progress-card small { margin-top:10px; color:#728aa4; }.dashboard-stat { justify-content:space-between; }
.pathway-section,.learning-process { padding:110px 6vw; background:#f3f1eb; }.institute-heading { margin-bottom:60px; display:grid; grid-template-columns:220px 1fr; gap:6vw; }.institute-heading > div:first-child { display:flex; gap:16px; align-items:flex-start; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }.institute-heading > div:first-child span { color:#1888f0; }.institute-heading > div:last-child { max-width:1050px; }.institute-heading > div:last-child > p:last-child { max-width:730px; color:#586d83; line-height:1.75; }
.pathway-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }.pathway-card { display:grid; grid-template-columns:40% 60%; min-height:510px; overflow:hidden; border:1px solid #cfd8df; background:#fff; box-shadow:0 20px 48px rgba(8,30,55,.08); }.course-cover { position:relative; padding:28px; display:flex; flex-direction:column; overflow:hidden; color:white; background:linear-gradient(150deg,#0d4a83,#061a38); }.course-cover::before { content:""; position:absolute; width:330px; height:330px; right:-170px; top:50px; border:1px solid rgba(100,182,255,.35); border-radius:50%; box-shadow:0 0 0 60px rgba(60,156,248,.06),0 0 0 120px rgba(60,156,248,.04); }.course-cover > span,.course-cover small { position:relative; z-index:2; color:#8cc9ff; font-size:10px; font-weight:700; letter-spacing:.15em; }.course-cover small { margin-top:auto; color:#a8bed4; text-transform:uppercase; }.play-lock { position:relative; z-index:2; width:96px; height:96px; margin:auto; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(3,20,44,.62); font-style:normal; }.play-lock b { position:absolute; top:105px; font-size:8px; letter-spacing:.16em; }.course-body { min-width:0; padding:30px; display:flex; flex-direction:column; }.course-meta { display:flex; justify-content:space-between; color:#56718e; font-size:10px; font-weight:600; text-transform:uppercase; }.course-body h3 { margin:26px 0 12px; font-size:34px; letter-spacing:-.04em; }.course-body > p { margin:0 0 18px; color:#5a6f84; font-size:13px; line-height:1.7; }.course-body ul { margin:0; padding:0; list-style:none; border-top:1px solid #dce2e6; }.course-body li { min-height:42px; display:grid; grid-template-columns:27px 1fr 15px; align-items:center; color:#40566d; border-bottom:1px solid #e1e5e8; font-size:11px; }.course-body li span { color:#1786ed; font-size:9px; }.course-body li i { color:#8aa0b6; font-style:normal; }.course-enrol { width:100%; min-height:54px; margin-top:auto; padding:0 12px 0 18px; display:flex; align-items:center; justify-content:space-between; color:#0c315e; border:1px solid #89bce9; border-radius:6px; background:#eaf5ff; font:600 12px var(--font-manrope); cursor:pointer; }.course-enrol.featured,.course-enrol:hover { color:white; background:#1288f2; border-color:#1288f2; }.course-enrol i { font-style:normal; }
.masterclass-section { padding:110px 6vw; color:white; background:#03142d; }.institute-heading.light > div:first-child { color:white; }.institute-heading.light h2 em { color:#86c2ff; }.institute-heading.light > div:last-child > p:last-child { color:#91a6bd; }.masterclass-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.masterclass-grid article { min-height:540px; display:flex; flex-direction:column; border:1px solid rgba(109,181,247,.24); background:#09284e; }.masterclass-image { position:relative; min-height:220px; display:flex; align-items:center; justify-content:center; background:linear-gradient(140deg,#0e4b84,#061a38); overflow:hidden; }.masterclass-image::after { content:""; position:absolute; width:280px; height:280px; right:-90px; border:1px solid rgba(105,185,255,.28); border-radius:50%; }.masterclass-image > span { position:absolute; left:22px; top:20px; color:#71b9fb; font-size:10px; }.masterclass-image i { z-index:2; width:72px; height:72px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-style:normal; }.masterclass-image small { position:absolute; right:20px; bottom:18px; color:#8fc6f7; letter-spacing:.13em; }.masterclass-grid article > div:last-child { flex:1; padding:28px; display:flex; flex-direction:column; }.masterclass-grid article > div:last-child > span { color:#68b2fa; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }.masterclass-grid h3 { margin:18px 0 14px; font-size:27px; letter-spacing:-.035em; }.masterclass-grid p { margin:0; color:#aabdd1; font-size:13px; line-height:1.75; }.masterclass-grid article > div:last-child > small { margin:20px 0; padding-top:18px; color:#7893ae; border-top:1px solid rgba(255,255,255,.12); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cbd4da; }.process-grid article { min-height:250px; padding:28px; border-right:1px solid #cbd4da; border-bottom:1px solid #cbd4da; }.process-grid article:last-child { border-right:0; }.process-grid span { color:#1687ef; font-size:10px; font-weight:700; }.process-grid h3 { margin:55px 0 14px; font-size:22px; }.process-grid p { margin:0; color:#5b7085; font-size:13px; line-height:1.75; }.platform-note { margin-top:55px; padding:32px; display:grid; grid-template-columns:220px 1fr auto; gap:30px; align-items:center; color:white; background:#082c57; }.platform-note strong { font-size:17px; }.platform-note p { margin:0; color:#a7bbd0; font-size:13px; line-height:1.7; }.platform-note a { color:#75bafa; font-size:12px; font-weight:600; }
.institute-footer { padding:60px 6vw 26px; display:grid; grid-template-columns:1fr 1fr; gap:35px; color:white; background:#010b19; }.institute-footer img { width:160px; height:95px; object-fit:contain; }.institute-footer p { color:#7690ad; }.institute-footer > div:nth-child(2) { display:flex; justify-content:flex-end; gap:28px; align-items:center; font-size:12px; }.institute-footer > span { grid-column:1/-1; padding-top:20px; color:#627994; border-top:1px solid rgba(255,255,255,.12); font-size:10px; }
.enrol-modal { position:fixed; z-index:100; inset:0; padding:24px; display:grid; place-items:center; background:rgba(0,9,23,.82); backdrop-filter:blur(8px); }.enrol-modal > div { position:relative; width:min(560px,100%); padding:42px; color:white; border:1px solid rgba(113,184,249,.35); background:linear-gradient(145deg,#0a315f,#04162f); box-shadow:0 30px 90px rgba(0,0,0,.5); }.modal-close { position:absolute; right:18px; top:15px; width:38px; height:38px; color:white; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:transparent; font-size:24px; cursor:pointer; }.enrol-modal > div > span { color:#72b9fb; font-size:9px; font-weight:700; letter-spacing:.15em; }.enrol-modal h2 { margin:18px 0; font-size:36px; line-height:1.1; }.enrol-modal p { color:#adbed1; line-height:1.7; }.modal-status { margin:26px 0; padding:18px; display:flex; gap:14px; border:1px solid rgba(92,212,174,.25); background:rgba(39,135,104,.13); }.modal-status i { color:#55d3aa; font-style:normal; }.modal-status div { display:flex; flex-direction:column; }.modal-status small { margin-top:5px; color:#8ba8a0; }.modal-note { display:block; margin-top:15px; color:#7891ab; }
@media (max-width:1100px) { .institute-nav { width:220px; }.institute-shell { margin-left:220px; }.pathway-card { grid-template-columns:1fr; }.course-cover { min-height:260px; }.masterclass-grid { grid-template-columns:1fr 1fr; }.process-grid { grid-template-columns:1fr 1fr; }.process-grid article:nth-child(2) { border-right:0; }.platform-note { grid-template-columns:1fr; } }
@media (max-width:760px) { .institute-nav { display:none; }.institute-shell { margin-left:0; }.institute-topbar { padding:0 20px; }.institute-topbar > div a { display:none; }.institute-hero { min-height:760px; padding:120px 22px 170px; }.institute-hero::before { inset:0; opacity:.35; }.institute-hero h1 { font-size:clamp(52px,15vw,74px); }.learning-overview { right:22px; left:22px; bottom:25px; }.learning-overview div { min-width:0; padding:14px 12px; }.learning-overview span { font-size:20px; }.learning-overview small { font-size:8px; }.learner-dashboard,.institute-heading { grid-template-columns:1fr; }.learner-dashboard,.pathway-section,.masterclass-section,.learning-process { padding:75px 22px; }.dashboard-preview { grid-template-columns:1fr 1fr; }.dashboard-welcome,.progress-card { grid-column:1/-1; }.pathway-grid,.masterclass-grid,.process-grid { grid-template-columns:1fr; }.pathway-card { grid-template-columns:1fr; }.process-grid article:nth-child(n) { border-right:0; }.institute-footer { grid-template-columns:1fr; padding:55px 22px 25px; }.institute-footer > div:nth-child(2) { justify-content:flex-start; flex-wrap:wrap; }.institute-footer > span { grid-column:1; }.enrol-modal > div { padding:36px 24px; } }

/* Legal pages */
.legal-page { min-height:100vh; overflow-x:hidden; color:#0a1b35; background:#f4f2ed; }
.legal-header { position:relative; z-index:5; min-height:112px; padding:16px 5vw; display:flex; align-items:center; justify-content:space-between; color:white; background:#06172f; border-bottom:1px solid rgba(255,255,255,.14); }
.legal-header img { width:170px; height:78px; object-fit:contain; }
.legal-header nav { display:flex; align-items:center; gap:34px; }
.legal-header nav a { color:#b7c8dc; font-size:13px; font-weight:600; }
.legal-header nav a:hover { color:white; }
.legal-header .legal-contact-link { padding:14px 20px; color:white; border:1px solid #2b92f4; }
.legal-hero { position:relative; min-height:470px; overflow:hidden; color:white; background:linear-gradient(115deg,#020d1e 0%,#062249 60%,#0a3970 100%); }
.legal-orbit { position:absolute; width:680px; height:680px; right:-90px; top:-220px; border:1px solid rgba(67,153,239,.32); border-radius:50%; box-shadow:0 0 0 110px rgba(37,128,219,.07),0 0 0 220px rgba(37,128,219,.045); }
.legal-orbit::after { content:""; position:absolute; inset:22%; border:1px solid rgba(89,174,255,.28); border-radius:50%; }
.legal-hero-copy { position:relative; z-index:2; width:min(980px,90vw); margin:auto; padding:90px 0 70px; }
.legal-hero h1 { margin:0 0 26px; font-size:clamp(58px,7vw,104px); line-height:.95; letter-spacing:-.055em; font-weight:800; }
.legal-hero-copy > p:not(.eyebrow) { max-width:720px; margin:0 0 28px; color:#b8cbe1; font-size:20px; line-height:1.65; }
.legal-hero-copy > span { color:#6fa8df; font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.legal-status { width:fit-content; max-width:760px; margin-top:24px; padding:13px 16px; color:#bdd8f2; border-left:3px solid #2396ff; background:rgba(4,17,36,.5); font-size:11px; font-weight:600; line-height:1.55; }
.legal-layout { width:min(1500px,90vw); margin:auto; padding:100px 0 120px; display:grid; grid-template-columns:260px 1fr; gap:8vw; }
.legal-index { position:sticky; top:30px; align-self:start; display:flex; flex-direction:column; border-top:2px solid #1486ee; }
.legal-index > span { padding:22px 0; color:#42607f; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.legal-index a { padding:14px 0; display:grid; grid-template-columns:36px 1fr; color:#33516f; border-top:1px solid #d2d7db; font-size:12px; font-weight:600; line-height:1.4; }
.legal-index a:hover { color:#0879e2; }
.legal-index i { color:#1687ef; font-style:normal; font-size:10px; letter-spacing:.1em; }
.legal-content { max-width:900px; }
.legal-content > section { padding:0 0 55px; margin:0 0 55px; display:grid; grid-template-columns:55px 1fr; gap:24px; border-bottom:1px solid #ccd2d6; scroll-margin-top:30px; }
.legal-section-number { padding-top:10px; color:#1282e9; font-size:11px; font-weight:700; letter-spacing:.12em; }
.legal-content h2 { margin:0 0 24px; font-size:clamp(30px,3vw,46px); letter-spacing:-.04em; line-height:1.05; }
.legal-content p,.legal-content li { color:#3f5871; font-size:15px; line-height:1.85; }
.legal-content p { margin:0 0 18px; }
.legal-content ul { margin:8px 0 0; padding:0; list-style:none; }
.legal-content li { position:relative; padding:10px 0 10px 26px; border-top:1px solid #d7dcdf; }
.legal-content li::before { content:""; position:absolute; left:0; top:22px; width:7px; height:7px; background:#1687ef; border-radius:50%; }
.legal-help { margin-top:10px; padding:52px; color:white; background:linear-gradient(135deg,#071b38,#0b3970); }
.legal-help > span { color:#79afe2; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.legal-help h2 { margin:18px 0 30px; max-width:560px; font-size:40px; }
.legal-footer { padding:28px 5vw; display:flex; align-items:center; justify-content:space-between; color:#758da7; background:#010b19; font-size:11px; }
.legal-footer div { display:flex; gap:24px; }
.legal-footer a { color:#b9c8d8; font-weight:600; }
.legal-centre { min-height:100vh; padding-bottom:90px; color:white; background:radial-gradient(circle at 80% 10%,#0d4179 0,transparent 32%),#03142d; }.legal-centre>section { width:min(1500px,90vw); margin:auto; padding:105px 0 70px; }.legal-centre>section h1 { margin:24px 0; font-size:clamp(64px,8vw,120px); line-height:.9; letter-spacing:-.06em; }.legal-centre>section>p:last-child { max-width:700px; color:#a9bfd5; font-size:19px; line-height:1.65; }.legal-document-grid { width:min(1500px,90vw); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #31557b; border-left:1px solid #31557b; }.legal-document-grid a { min-height:300px; padding:34px; display:flex; flex-direction:column; color:white; border-right:1px solid #31557b; border-bottom:1px solid #31557b; background:rgba(11,46,85,.58); transition:.2s; }.legal-document-grid a:hover { background:#103d70; transform:translateY(-3px); }.legal-document-grid i { color:#5aaeff; font-size:11px; font-style:normal; letter-spacing:.15em; }.legal-document-grid h2 { margin:56px 0 16px; font-size:28px; letter-spacing:-.04em; }.legal-document-grid p { margin:0; color:#91abc4; font-size:13px; line-height:1.7; }.legal-document-grid span { margin-top:auto; padding-top:24px; color:#65b4ff; font-size:11px; font-weight:700; }.legal-review-note { width:min(1500px,90vw); margin:35px auto 0; padding:25px 30px; display:grid; grid-template-columns:150px 1fr; border-left:3px solid #2597ff; background:#082446; }.legal-review-note strong { color:#6ab8ff; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }.legal-review-note p { margin:0; color:#a8bed4; font-size:12px; line-height:1.7; }
@media (max-width:800px) {
  .legal-header { min-height:90px; padding:10px 20px; }
  .legal-header img { width:130px; height:66px; }
  .legal-header nav a:not(.legal-contact-link) { display:none; }
  .legal-hero-copy { padding:75px 0 60px; }
  .legal-hero-copy > p:not(.eyebrow) { font-size:16px; }
  .legal-layout { padding:70px 0 85px; grid-template-columns:1fr; }
  .legal-index { display:none; }
  .legal-content > section { grid-template-columns:34px 1fr; gap:12px; }
  .legal-content p,.legal-content li { font-size:14px; }
  .legal-help { padding:34px 24px; }
  .legal-help h2 { font-size:32px; }
  .legal-footer { align-items:flex-start; flex-direction:column; gap:20px; }
  .legal-footer div { flex-wrap:wrap; gap:16px 22px; }
  .legal-document-grid { grid-template-columns:1fr; }.legal-centre>section { padding:75px 0 50px; }.legal-review-note { grid-template-columns:1fr; gap:12px; }
}
