:root {
  --ink: #082f5f;
  --cream: #f4f7fa;
  --paper: #fbfcfe;
  --sage: #6f91b8;
  --lime: #b7bd25;
  --line: rgba(8, 47, 95, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", sans-serif; caret-color: transparent; }
a { color: inherit; text-decoration: none; }

.site-header { height: 92px; display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; border-bottom: 1px solid var(--line); position: absolute; inset: 0 0 auto; z-index: 10; }
.brand { display: flex; align-items: center; }
.brand img { display: block; width: 122px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 34px; font-size: 14px; }
.site-nav a { transition: opacity .2s; }
.site-nav a:hover { opacity: .55; }
.nav-cta { border-left: 1px solid var(--line); padding-left: 34px; font-weight: 600; }
.nav-cta span { color: #2f6fae; margin-left: 8px; }
.nav-toggle { display: none; background: none; border: 0; padding: 10px; }
.nav-toggle span { display: block; width: 24px; height: 1px; margin: 6px; background: var(--ink); }

.hero { min-height: 100vh; padding: 165px 5vw 0; display: flex; flex-direction: column; background: linear-gradient(140deg, var(--paper) 58%, #e6eef6); overflow: hidden; }
.eyebrow, .kicker { text-transform: uppercase; letter-spacing: .15em; font-size: 11px; font-weight: 600; }
.hero-grid { flex: 1; display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 5vw; }
h1, h2, .statement { font-family: Manrope, sans-serif; letter-spacing: -.055em; margin: 0; font-weight: 600; }
h1 { font-size: clamp(4rem, 7.2vw, 8.2rem); line-height: .94; max-width: 1000px; }
h1 em, h2 em, .statement em { font-family: Georgia, serif; font-weight: 400; color: #2f6fae; }
.hero-intro { max-width: 560px; font-size: clamp(1.05rem, 1.35vw, 1.35rem); line-height: 1.55; margin: 42px 0 30px; color: #536b82; }
.text-link { display: inline-flex; gap: 25px; align-items: center; font: 600 14px "DM Sans", sans-serif; color: var(--ink); border: 0; border-bottom: 1px solid var(--ink); padding: 0 0 8px; background: none; cursor: pointer; }
.text-link span { color: #2f6fae; }
.service-explorer { position: relative; width: min(100%, 430px); }
.explorer-toggle span { transition: transform .25s ease; }
.explorer-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.explorer-panel { position: absolute; z-index: 6; top: calc(100% + 14px); left: 0; width: min(430px, 88vw); padding: 8px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 22px 50px rgba(8,47,95,.16); }
.explorer-panel[hidden] { display: none; }
.explorer-panel a { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; padding: 13px 12px; border-bottom: 1px solid var(--line); font-size: 13px; transition: background .2s, padding-left .2s; }
.explorer-panel a:last-child { border-bottom: 0; }
.explorer-panel a:hover { padding-left: 17px; background: #e8eff6; }
.explorer-panel a > span { color: #6f89a3; font-size: 10px; }
.explorer-panel small { color: #737900; font-size: 8px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.hero-visual { position: relative; aspect-ratio: 1; max-width: 520px; justify-self: end; width: 100%; }
.orbit { position: absolute; border: 1px solid rgba(8,47,95,.28); border-radius: 50%; inset: 10%; }
.orbit-two { inset: 25%; }
.orbit-three { inset: 39%; background: var(--ink); }
.visual-core { position: absolute; inset: 39%; display: grid; place-items: center; z-index: 2; }
.visual-core img { display: block; width: 80%; height: auto; filter: brightness(0) invert(1); }
.hero-visual:before, .hero-visual:after { content:""; position:absolute; background:rgba(8,47,95,.16); }
.hero-visual:before { height:1px; left:0; right:0; top:50%; }
.hero-visual:after { width:1px; top:0; bottom:0; left:50%; }
.visual-label { position: absolute; font-size: 11px; text-transform: uppercase; letter-spacing: .11em; background: var(--paper); padding: 5px; }
.label-one { top: 8%; left: 50%; transform: translateX(-50%); }.label-two { left: 4%; top: 51%; }.label-three { right: 1%; top: 51%; }
.trust-line { display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; border-top: 1px solid var(--line); padding: 27px 0; font-size: 11px; text-transform: uppercase; letter-spacing: .11em; }
.trust-line > span { color: #617992; }
.trust-line div { display: contents; }.trust-line p { margin: 0; text-align: center; }.trust-line p:last-child { text-align: right; }
.journey-strip { display: grid; grid-template-columns: .42fr 1.58fr; gap: 5vw; padding: 42px 5vw; background: #e8eff6; border-bottom: 1px solid var(--line); }
.journey-intro { align-self: center; }
.journey-intro p { font: 600 1.2rem/1.3 Manrope; letter-spacing: -.03em; margin: 15px 0 0; }
.journey-steps { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 0; }
.journey-steps li { position: relative; display: grid; gap: 7px; padding: 14px 24px 14px 32px; border-left: 1px solid var(--line); }
.journey-steps li:not(:last-child):after { content:"→"; position:absolute; right:-9px; top:50%; z-index:2; display:grid; place-items:center; width:18px; height:18px; background:#e8eff6; color:#52769a; font-size:12px; transform:translateY(-50%); }
.journey-steps span { color:#52769a; font-size:10px; letter-spacing:.12em; }.journey-steps b { font:600 1rem Manrope; }.journey-steps small { color:#617992; font-size:11px; }

.section { padding: 130px 5vw; }
.section-heading { display: grid; grid-template-columns: .65fr 1.35fr .7fr; align-items: end; gap: 3vw; margin-bottom: 85px; }
.section-heading h2, .about h2 { font-size: clamp(3rem, 5vw, 6rem); line-height: 1; }
.section-heading p { color: #617992; line-height: 1.6; margin: 0; }
.service { display: grid; grid-template-columns: .25fr 1fr auto; align-items: center; padding: 32px 0; border-top: 1px solid var(--line); background: transparent; transition: padding .25s, background .25s ease; }
.service:last-child { border-bottom: 1px solid var(--line); }
.service:hover { padding-left: 12px; background: linear-gradient(90deg, rgba(47,111,174,.11), transparent 62%); }
.compliance-service, .ai-service { background: transparent; }
.coming-soon-service h3 sup { color: #8f950d; font-size: .5em; margin-left: 4px; vertical-align: super; }
.service-status { display: inline-block; margin-top: 12px; color: #737900; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.service-number { color: #6f89a3; font-size: 12px; }
.service h3 { font: 600 clamp(1.5rem, 2.2vw, 2.35rem) Manrope; letter-spacing: -.04em; margin: 0 0 7px; }
.service p { margin: 0; color: #617992; }.service-arrow { font-size: 22px; }
.compliance-context { margin-top: 100px; padding: 65px; background: #e8eff6; border-top: 4px solid var(--ink); }
.compliance-publications { padding-top: 120px; }
.compliance-publications .compliance-context { margin-top: 0; }
.compliance-context-heading { display: grid; grid-template-columns: .35fr 1fr 1fr; gap: 4vw; align-items: start; }
.compliance-context-heading h3 { margin: 0; font: 600 clamp(2rem, 3.5vw, 4rem) Manrope; letter-spacing: -.05em; line-height: 1; }
.compliance-context-heading > p { margin: 0; color: #536b82; line-height: 1.65; }
.compliance-signals { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(8,47,95,.16); margin-top: 55px; }
.compliance-signals article { background: var(--paper); padding: 36px; }
.signal-region { display: inline-block; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.compliance-signals p { color: #536b82; line-height: 1.7; margin: 28px 0 34px; }
.compliance-signals strong { color: var(--ink); }
.compliance-signals a { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 16px; font-size: 13px; font-weight: 600; }
.compliance-signals a:hover { opacity: .6; }
.readiness-widget { display: grid; grid-template-columns: .9fr 1fr .8fr; gap: 4vw; align-items: center; margin-top: 1px; padding: 48px 36px; background: var(--ink); color: var(--paper); }
.widget-copy h4 { font: 600 clamp(1.6rem, 2.2vw, 2.5rem)/1.1 Manrope; letter-spacing: -.04em; margin: 24px 0 15px; }
.widget-copy > p { color:#b8c9d9; line-height:1.65; margin:0 0 24px; }.widget-copy > small { color:#809ab4; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.readiness-radar { position:relative; aspect-ratio:1; max-width:260px; width:100%; justify-self:center; }
.radar-ring { position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; }.ring-a { inset:5%; }.ring-b { inset:23%; }.ring-c { inset:40%; }
.readiness-radar:before, .readiness-radar:after { content:""; position:absolute; background:rgba(255,255,255,.13); }.readiness-radar:before { height:1px; left:5%; right:5%; top:50%; }.readiness-radar:after { width:1px; top:5%; bottom:5%; left:50%; }
.radar-shape { position:absolute; inset:18%; background:rgba(183,189,37,.20); clip-path:polygon(50% 0, 94% 45%, 63% 95%, 8% 64%); border-radius:35%; animation: radar-breathe 3.5s ease-in-out infinite; }
.radar-core { position:absolute; inset:46%; border-radius:50%; background:var(--lime); box-shadow:0 0 20px rgba(183,189,37,.50); }
.radar-label { position:absolute; color:#91a9c0; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }.radar-top { top:-2%; left:50%; transform:translateX(-50%); }.radar-right { right:-3%; top:50%; transform:translateY(-50%); }.radar-bottom { bottom:-2%; left:50%; transform:translateX(-50%); }.radar-left { left:-1%; top:50%; transform:translateY(-50%); }
.readiness-checks { display:grid; gap:18px; }.readiness-checks > div { display:flex; gap:13px; align-items:center; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.13); }.readiness-checks > div > span { width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 5px rgba(183,189,37,.1); }.readiness-checks p { display:grid; gap:4px; margin:0; }.readiness-checks b { font-size:13px; }.readiness-checks small { color:#8fa6bc; font-size:10px; }
.compliance-note { margin: 32px 0 0; max-width: 850px; font: 500 1.05rem/1.6 Manrope; }

.ai-enablement { background: #082f5f; color: #f4f7fa; position: relative; overflow: hidden; }
.ai-enablement:before { content:""; position:absolute; width:680px; height:680px; border:1px solid rgba(255,255,255,.09); border-radius:50%; right:-220px; top:-250px; box-shadow: 0 0 0 110px rgba(255,255,255,.025), 0 0 0 220px rgba(255,255,255,.018); }
.ai-heading { display: grid; grid-template-columns: .35fr 1fr .75fr; gap: 4vw; align-items: end; position: relative; }
.ai-heading h2 { font-size: clamp(3.5rem, 6.5vw, 7.5rem); line-height: .93; }
.ai-heading h2 em { color: #81b7ed; }
.ai-heading > p { color: #bdcde0; line-height: 1.7; margin: 0; }
.ai-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.18); margin-top: 90px; position: relative; }
.ai-value-grid article { background: #0c386c; padding: 42px 36px; min-height: 300px; }
.ai-icon { display: grid; place-items:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#81b7ed; font-size:11px; }
.ai-value-grid h3 { font: 600 1.5rem Manrope; margin: 60px 0 15px; }
.ai-value-grid p { color: #bdcde0; line-height: 1.65; margin: 0; }
.ai-operating-model { display:grid; grid-template-columns:1fr .85fr; gap:8vw; align-items:center; margin-top:1px; padding:70px 6vw; background:#092b54; }
.model-copy h3 { font:600 clamp(2rem,3.3vw,4rem)/1.06 Manrope; letter-spacing:-.05em; margin:28px 0 22px; }.model-copy h3 em { font-family:Georgia,serif; font-weight:400; color:#81b7ed; }.model-copy p { color:#bdcde0; line-height:1.7; max-width:620px; }
.model-orbit { position:relative; aspect-ratio:1; width:100%; max-width:410px; justify-self:center; }.model-ring { position:absolute; border:1px solid rgba(129,183,237,.28); border-radius:50%; }.ring-outer { inset:5%; }.ring-inner { inset:25%; border-style:dashed; animation:model-spin 18s linear infinite; }
.model-human { position:absolute; inset:36%; display:grid; place-content:center; text-align:center; border-radius:50%; background:#f4f7fa; color:#082f5f; box-shadow:0 18px 45px rgba(0,0,0,.22); }.model-human span { font:600 1rem Manrope; }.model-human small { font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.model-node { position:absolute; width:82px; height:82px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:#0c386c; box-shadow:0 10px 30px rgba(0,0,0,.18); font-size:11px; font-weight:600; }.node-assist { top:0; left:50%; transform:translateX(-50%); }.node-automate { right:0; top:50%; transform:translateY(-50%); }.node-analyze { bottom:0; left:50%; transform:translateX(-50%); }.node-govern { left:0; top:50%; transform:translateY(-50%); }
.responsible-ai { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: end; border-top: 1px solid rgba(255,255,255,.22); margin-top: 80px; padding-top: 45px; position: relative; }
.responsible-ai h3 { font: 600 clamp(2rem, 3.2vw, 3.8rem)/1.05 Manrope; letter-spacing: -.045em; margin: 28px 0 0; }
.responsible-ai > p { color: #bdcde0; line-height: 1.75; margin: 0; }
.global-ai-evidence { margin-top: 110px; padding-top: 80px; border-top: 1px solid rgba(255,255,255,.22); position: relative; }
.global-ai-intro { display: grid; grid-template-columns: .35fr 1fr .75fr; gap: 4vw; align-items: start; }
.global-ai-intro h3 { font: 600 clamp(2.2rem, 3.8vw, 4.5rem)/1.02 Manrope; letter-spacing: -.05em; margin: 0; }
.global-ai-intro > p { color: #bdcde0; line-height: 1.7; margin: 0; }
.publication-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.18); margin-top: 65px; }
.publication-grid article { display: flex; flex-direction: column; background-color: #0c386c; background-position: center; background-size: cover; padding: 32px; min-height: 330px; transition: background-position .45s ease, box-shadow .3s ease; }
.publication-grid article:nth-child(1) { background-image: linear-gradient(145deg, rgba(8,47,95,.60), rgba(8,47,95,.84)), url("assets/regions/north-america.jpg"); }
.publication-grid article:nth-child(2) { background-image: linear-gradient(145deg, rgba(8,47,95,.60), rgba(8,47,95,.84)), url("assets/regions/europe.jpg"); }
.publication-grid article:nth-child(3) { background-image: linear-gradient(145deg, rgba(8,47,95,.60), rgba(8,47,95,.84)), url("assets/regions/asia-pacific.jpg"); }
.publication-grid article:nth-child(4) { background-image: linear-gradient(145deg, rgba(8,47,95,.60), rgba(8,47,95,.84)), url("assets/regions/africa.jpg"); }
.publication-grid article:nth-child(5) { background-image: linear-gradient(145deg, rgba(8,47,95,.60), rgba(8,47,95,.84)), url("assets/regions/middle-east.jpg"); }
.publication-grid article:nth-child(6) { background-image: linear-gradient(145deg, rgba(8,47,95,.60), rgba(8,47,95,.84)), url("assets/regions/latin-america.jpg"); }
.publication-grid article:hover { background-position: 52% center; box-shadow: inset 0 0 0 1px rgba(129,183,237,.45); }
.publication-grid article > span { color: #81b7ed; font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.publication-grid h4 { font: 600 1.18rem/1.35 Manrope; margin: 34px 0 14px; }
.publication-grid p { color: #bdcde0; font-size: .92rem; line-height: 1.65; margin: 0 0 28px; }
.publication-grid a { color: #f4f7fa; font-size: 12px; font-weight: 600; margin-top: auto; border-top: 1px solid rgba(255,255,255,.2); padding-top: 14px; }
.publication-grid a:hover, .global-report-link:hover { opacity: .65; }
.global-report-link { display: flex; justify-content: space-between; gap: 25px; border: 1px solid rgba(255,255,255,.25); padding: 22px 25px; margin-top: 28px; color: #dce7f3; font-size: 13px; }
.global-report-link b { color: #81b7ed; }
.photo-credits { margin-top: 18px; color: #a9bfd4; font-size: 10px; }
.photo-credits summary { width: fit-content; cursor: pointer; letter-spacing: .08em; text-transform: uppercase; }
.photo-credits div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 24px; margin-top: 16px; padding: 18px; border: 1px solid rgba(255,255,255,.16); }
.photo-credits a { color: #bdcde0; line-height: 1.5; }
.photo-credits a:hover { color: #f4f7fa; }
@keyframes radar-breathe { 0%,100% { transform:scale(.95); opacity:.75; } 50% { transform:scale(1.04); opacity:1; } }
@keyframes model-spin { to { transform:rotate(360deg); } }

.approach { background: var(--ink); color: #f4f7fa; }
.kicker.light { color: var(--sage); }
.approach-intro { display: grid; grid-template-columns: .5fr 1.5fr; }
.statement { font-size: clamp(3.5rem, 6.6vw, 7.5rem); line-height: .96; }
.statement em, .contact h2 em { color: var(--lime); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5vw; margin-top: 110px; }
.principles article { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.25); }
.principles span { color: var(--sage); font-size: 11px; }
.principles h3 { font: 600 1.3rem Manrope; margin: 45px 0 15px; }
.principles p { color: #b8c9d9; line-height: 1.65; margin: 0; }

.about { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.about-number { aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line); position: relative; }
.about-number:before, .about-number:after { content:""; position:absolute; border:1px solid var(--line); border-radius:50%; inset:12%; }.about-number:after { inset:28%; }
.about-logo { width: 44%; position: relative; z-index: 2; }
.about-logo img { display: block; width: 100%; height: auto; }
.about-copy .kicker { display: block; margin-bottom: 45px; }
.about-copy p { font-size: 1.08rem; line-height: 1.7; color: #536b82; max-width: 640px; }

.contact { padding: 110px 5vw; background: #0c386c; color: var(--cream); }
.contact-grid { display: grid; grid-template-columns: 1.4fr .6fr; align-items: end; gap: 8vw; margin-top: 60px; }
.contact h2 { font-size: clamp(4rem, 8vw, 9rem); line-height: .9; }
.contact-copy p { color: #c7d6e5; line-height: 1.65; margin: 0 0 40px; }
.contact-copy a { display: flex; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 13px; font-weight: 600; }
.contact-actions { display: grid; gap: 22px; }
.contact-actions a { transition: opacity .2s ease; }
.contact-actions a:hover { opacity: .65; }
footer { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; padding: 32px 5vw; font-size: 12px; background: var(--ink); color: #afc1d3; }
footer p { text-align: center; } footer > div { text-align: right; }.footer-brand img { width: 132px; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 820px) {
  .site-header { height: 75px; }.nav-toggle { display: block; z-index: 2; }.site-nav { display: none; position: fixed; inset: 0; background: var(--paper); padding: 120px 8vw; flex-direction: column; align-items: flex-start; font: 600 2rem Manrope; }.site-nav.open { display: flex; }.nav-cta { border: 0; padding: 0; }
  .hero { padding-top: 125px; }.hero-grid { grid-template-columns: 1fr; }.hero-visual { max-width: 350px; justify-self: center; margin: 35px 0; }.trust-line { grid-template-columns: 1fr; }.trust-line div { display: none; }.journey-strip { grid-template-columns:1fr; padding:35px 6vw; }.journey-steps { grid-template-columns:1fr 1fr; }.journey-steps li:nth-child(3) { border-top:1px solid var(--line); }.journey-steps li:nth-child(4) { border-top:1px solid var(--line); }
  .section { padding: 85px 6vw; }.section-heading { grid-template-columns: 1fr; gap: 28px; margin-bottom: 55px; }.service { grid-template-columns: 42px 1fr auto; }.service p { padding-right: 10px; }
  .compliance-context { margin-top: 70px; padding: 35px 24px; }.compliance-context-heading, .compliance-signals, .readiness-widget { grid-template-columns: 1fr; }.compliance-context-heading { gap: 25px; }.compliance-signals { margin-top: 40px; }.readiness-widget { padding:38px 24px; }.readiness-radar { margin:15px auto; }
  .ai-heading, .ai-value-grid, .ai-operating-model, .responsible-ai, .global-ai-intro, .publication-grid { grid-template-columns: 1fr; }.ai-heading, .global-ai-intro { gap: 30px; }.ai-value-grid { margin-top: 60px; }.ai-value-grid article { min-height: 0; }.ai-value-grid h3 { margin-top: 35px; }.ai-operating-model { padding:55px 24px; }.model-orbit { max-width:330px; }.model-node { width:68px; height:68px; }.responsible-ai { gap: 35px; margin-top: 60px; }.global-ai-evidence { margin-top: 70px; padding-top: 60px; }.publication-grid { margin-top: 45px; }.publication-grid article { min-height: 0; }.global-report-link { flex-direction: column; }.photo-credits div { grid-template-columns: 1fr; }
  .approach-intro { grid-template-columns: 1fr; gap: 40px; }.principles { grid-template-columns: 1fr; margin-top: 70px; }.principles h3 { margin-top: 25px; }
  .about, .contact-grid { grid-template-columns: 1fr; }.about-number { max-width: 430px; width: 100%; margin: auto; }.about-copy { margin-top: 20px; }
  .contact-copy { margin-top: 30px; } footer { grid-template-columns: 1fr; gap: 20px; } footer p, footer > div { text-align: left; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.radar-shape, .ring-inner { animation: none; } }
