:root {
  --gr-rule-dark: rgba(255,255,255,.18);
  --gr-copy-dark: rgba(255,255,255,.7);
}

.global-reach-page { background: var(--paper); }
.global-reach-page .site-header:not(.is-scrolled):not(.menu-open) { color: #fff; }
.global-reach-page .site-header:not(.is-scrolled):not(.menu-open)::after { background: rgba(255,255,255,.24); }
.global-reach-page .site-header:not(.is-scrolled):not(.menu-open) .brand-logo-white { opacity: 1; }
.global-reach-page .site-header:not(.is-scrolled):not(.menu-open) .brand-logo-navy { opacity: 0; }

/* Hero */
.gr-hero { position: relative; display: flex; min-height: 860px; height: max(860px, 96svh); align-items: flex-end; overflow: hidden; background: var(--navy); color: #fff; }
.gr-hero-media, .gr-hero-media img, .gr-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.gr-hero-media img { object-fit: cover; object-position: center 48%; filter: saturate(.78) contrast(1.06); transform: scale(1.045) translate3d(0, var(--hero-shift, 0), 0); animation: gr-hero-breathe 18s ease-out both; }
.gr-hero-shade { background: linear-gradient(90deg, rgba(3,14,29,.94) 0%, rgba(3,14,29,.76) 40%, rgba(3,14,29,.2) 74%), linear-gradient(0deg, rgba(3,14,29,.94) 0%, rgba(3,14,29,.18) 60%); }
.gr-hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(360px, .58fr); align-items: end; gap: clamp(60px, 8.5vw, 145px); width: 100%; padding: 150px var(--gutter); }
.gr-hero-heading h1 { max-width: 1020px; margin: 0; font-size: clamp(58px, 6.35vw, 106px); line-height: .94; letter-spacing: -.046em; }
.gr-hero-heading h1 em { color: var(--gold-soft); font-weight: 400; }
.gr-hero-copy { max-width: 530px; color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.82; }
.gr-hero-copy > p { margin-bottom: 18px; }
.gr-hero-copy .gr-hero-lead { color: #fff; font-family: var(--serif); font-size: clamp(24px, 1.85vw, 32px); line-height: 1.27; }
.gr-hero-copy blockquote { margin: 30px 0 0; padding-top: 22px; border-top: 1px solid rgba(216,189,143,.62); color: #fff; font-family: var(--serif); font-size: clamp(21px, 1.6vw, 28px); line-height: 1.3; }
.gr-hero-copy blockquote span, .gr-hero-copy blockquote strong { display: block; }
.gr-hero-copy blockquote strong { color: var(--gold-soft); font-weight: 400; }
.gr-hero-axis { position: absolute; z-index: 3; bottom: 42px; left: var(--gutter); display: flex; align-items: center; gap: 14px; color: rgba(255,255,255,.72); font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.gr-hero-axis i { width: 34px; height: 1px; background: rgba(216,189,143,.68); }
.gr-hero-sequence > * { opacity: 0; transform: translateY(24px); animation: hero-enter .95s cubic-bezier(.2,.65,.25,1) forwards; }
.gr-hero-sequence > *:first-child { animation-delay: .2s; }
.gr-hero-sequence > *:last-child { animation-delay: .42s; }
@keyframes gr-hero-breathe { from { transform: scale(1.075); } to { transform: scale(1.045); } }

/* Footprint */
.gr-footprint { overflow: hidden; padding-bottom: clamp(95px, 9vw, 148px); background: #fff; }
.gr-section-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .58fr); align-items: end; gap: clamp(70px, 10vw, 165px); }
.gr-section-intro h2 { max-width: 850px; }
.gr-section-intro > p { max-width: 550px; margin-bottom: 7px; color: var(--slate); font-size: 16px; line-height: 1.85; }
.gr-map-stage { position: relative; max-width: 1500px; height: clamp(560px, 53vw, 820px); margin: clamp(65px, 7vw, 105px) auto 0; background: #fff; isolation: isolate; }
.gr-map-grid { position: absolute; z-index: 0; inset: 6% 1% 8%; background-image: linear-gradient(rgba(7,23,46,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(7,23,46,.035) 1px, transparent 1px); background-size: 12.5% 25%; mask-image: radial-gradient(ellipse at center, #000 25%, transparent 78%); }
.gr-map-land { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: .98; pointer-events: none; }
.gr-map-network { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; }
.gr-map-network .gr-route path { fill: none; stroke: rgba(182,138,70,.64); stroke-dasharray: 1; stroke-dashoffset: 1; stroke-linecap: round; stroke-width: .95; vector-effect: non-scaling-stroke; }
.gr-map-network .gr-route-core path { stroke: var(--gold); stroke-width: 1.35; }
.gr-map-stage.is-visible .gr-map-network .gr-route path { animation: gr-map-route-draw 1.7s cubic-bezier(.2,.65,.25,1) forwards; }
.gr-map-stage.is-visible .gr-map-network .gr-route:not(.gr-route-core) path:nth-child(2) { animation-delay: .08s; }
.gr-map-stage.is-visible .gr-map-network .gr-route:not(.gr-route-core) path:nth-child(3) { animation-delay: .16s; }
.gr-map-network .gr-destination-core { fill: var(--gold); }
.gr-map-network .gr-destination-ring { fill: rgba(255,255,255,.78); stroke: rgba(182,138,70,.62); stroke-width: .8; vector-effect: non-scaling-stroke; }
.gr-map-network .gr-hub circle:first-child { fill: var(--gold); }
.gr-map-network .gr-hub-ring { fill: none; stroke: var(--gold); transform-box: fill-box; transform-origin: center; animation: gr-hub-pulse 2.4s ease-out infinite; }
.gr-map-hub-label { position: absolute; z-index: 3; padding: 12px 16px 11px; border-left: 1px solid var(--gold); background: rgba(255,255,255,.94); box-shadow: 0 15px 36px rgba(7,23,46,.09); line-height: 1.3; backdrop-filter: blur(9px); }
.gr-map-hub-label b { display: block; font-family: var(--serif); font-size: 19px; font-weight: 400; }
.gr-map-hub-label span { color: var(--slate); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.gr-map-hub-geneva { top: 12%; left: 43.5%; }
.gr-map-hub-uae { top: 37%; left: 65.5%; }
@keyframes gr-map-route-draw { to { stroke-dashoffset: 0; } }
@keyframes gr-hub-pulse { 0% { opacity: .9; transform: scale(.65); } 100% { opacity: 0; transform: scale(1.75); } }

.gr-hubs { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: -20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gr-hubs article { display: grid; grid-template-columns: minmax(170px, .35fr) minmax(260px, .5fr) minmax(260px, .7fr); align-items: start; gap: clamp(28px, 4vw, 68px); min-height: 180px; padding: 38px clamp(25px, 3.2vw, 54px); border-right: 1px solid var(--line); }
.gr-hubs article:first-child { padding-left: 0; }
.gr-hubs article:last-child { padding-right: 0; border-right: 0; }
.gr-hubs small { padding-top: 8px; color: var(--gold); font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.gr-hubs h3 { margin: 0; font-size: clamp(29px, 2.3vw, 39px); line-height: 1.06; }
.gr-hubs p { margin: 4px 0 0; color: var(--slate); font-size: 14px; line-height: 1.75; }
.gr-regions { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: clamp(60px, 6vw, 92px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gr-regions article { min-height: 190px; padding: 35px clamp(18px, 2.2vw, 37px); border-right: 1px solid var(--line); }
.gr-regions article:first-child { padding-left: 0; }
.gr-regions article:last-child { padding-right: 0; border-right: 0; }
.gr-regions h3 { margin: 0 0 20px; color: var(--gold); font-size: clamp(25px, 2vw, 34px); }
.gr-regions p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.7; }
.gr-key-figures { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(60px, 6vw, 92px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gr-key-figures article { min-height: 180px; padding: 37px clamp(24px, 3vw, 50px); border-right: 1px solid var(--line); }
.gr-key-figures article:first-child { padding-left: 0; }
.gr-key-figures article:last-child { padding-right: 0; border-right: 0; }
.gr-key-figures strong { color: var(--navy); font-family: var(--serif); font-size: clamp(48px, 4.5vw, 76px); font-weight: 400; line-height: 1; }
.gr-key-figures strong sup { color: var(--gold); font-size: .36em; }
.gr-key-figures article:last-child strong { font-size: clamp(35px, 3.4vw, 57px); }
.gr-key-figures p { max-width: 250px; margin: 20px 0 0; color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .12em; line-height: 1.55; text-transform: uppercase; }

/* Cross-border complexity */
.gr-complexity { overflow: hidden; background: var(--navy); color: #fff; }
.gr-complexity::before, .gr-complexity::after { position: absolute; width: 44vw; height: 44vw; border: 1px solid rgba(216,189,143,.1); border-radius: 50%; content: ""; }
.gr-complexity::before { top: -30vw; right: -5vw; }
.gr-complexity::after { bottom: -36vw; left: -25vw; }
.gr-complexity-heading { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(350px, .58fr); align-items: end; gap: 8vw; }
.gr-complexity-heading .section-label { grid-column: 1 / -1; margin-bottom: 0; }
.gr-complexity-heading h2 { max-width: 920px; }
.gr-complexity-heading h2 em { color: var(--gold-soft); }
.gr-complexity-heading > p { max-width: 540px; margin-bottom: 6px; color: var(--gr-copy-dark); font-size: 16px; line-height: 1.85; }
.gr-dimension-field { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(280px, 1fr) 250px minmax(280px, 1fr); align-items: center; gap: clamp(45px, 7vw, 115px); margin-top: clamp(75px, 8vw, 120px); }
.gr-dimension-core { position: relative; z-index: 2; display: grid; width: 250px; height: 250px; place-content: center; border: 1px solid rgba(216,189,143,.72); border-radius: 50%; background: radial-gradient(circle, rgba(182,138,70,.16), transparent 68%); text-align: center; box-shadow: 0 0 0 35px rgba(216,189,143,.025), 0 0 0 70px rgba(216,189,143,.018); }
.gr-dimension-core small { color: var(--gold-soft); font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.gr-dimension-core strong { margin: 12px 0; color: #fff; font-family: var(--serif); font-size: 38px; font-weight: 400; line-height: .94; }
.gr-dimension-core span { color: rgba(255,255,255,.52); font-size: 11px; }
.gr-dimension-column { display: grid; gap: 0; border-top: 1px solid var(--gr-rule-dark); }
.gr-dimension-left { grid-column: 1; grid-row: 1; }
.gr-dimension-core { grid-column: 2; grid-row: 1; }
.gr-dimension-right { grid-column: 3; grid-row: 1; }
.gr-dimension-column article { position: relative; min-height: 130px; padding: 31px 0; border-bottom: 1px solid var(--gr-rule-dark); }
.gr-dimension-left article { padding-right: 42px; text-align: right; }
.gr-dimension-right article { padding-left: 42px; }
.gr-dimension-column article::after { position: absolute; top: 50%; width: 42px; height: 1px; background: linear-gradient(90deg, rgba(216,189,143,.2), var(--gold-soft)); content: ""; }
.gr-dimension-left article::after { right: -42px; }
.gr-dimension-right article::after { left: -42px; transform: rotate(180deg); }
.gr-dimension-column span { color: var(--gold-soft); font-family: var(--serif); font-size: clamp(27px, 2.1vw, 36px); }
.gr-dimension-column p { margin: 13px 0 0; color: rgba(255,255,255,.64); font-size: 14px; line-height: 1.65; }
.gr-complexity-statement { position: relative; z-index: 2; margin: clamp(75px, 8vw, 120px) 0 0; padding-top: clamp(42px, 5vw, 70px); border-top: 1px solid var(--gr-rule-dark); font-family: var(--serif); font-size: clamp(37px, 4.3vw, 70px); line-height: 1.06; letter-spacing: -.03em; }
.gr-complexity-statement span, .gr-complexity-statement strong { display: block; }
.gr-complexity-statement strong { color: var(--gold-soft); font-weight: 400; }

/* International structuring */
.gr-structuring { background: var(--paper); }
.gr-structuring-intro { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(350px, .66fr); gap: clamp(70px, 10vw, 165px); }
.gr-structuring-intro h2 { max-width: 890px; }
.gr-structuring-intro > div:last-child { padding-top: 54px; color: var(--slate); font-size: 16px; line-height: 1.85; }
.gr-structuring-intro .editorial-lead { color: var(--ink); }
.gr-architecture { position: relative; margin-top: clamp(70px, 8vw, 120px); padding: clamp(58px, 6.5vw, 105px); overflow: hidden; isolation: isolate; background: radial-gradient(circle at 80% 0, rgba(182,138,70,.18), transparent 30%), linear-gradient(135deg, #07172e, #0a1d37 68%, #0c223e); color: #fff; }
.gr-architecture::before { position: absolute; z-index: -1; top: 0; bottom: 0; left: 41%; width: 1px; background: linear-gradient(transparent, var(--gold-soft), transparent); content: ""; opacity: .55; animation: gr-architecture-scan 7s ease-in-out infinite; }
.gr-architecture::after { position: absolute; z-index: -1; right: -230px; bottom: -350px; width: 640px; height: 640px; border: 1px solid rgba(216,189,143,.12); border-radius: 50%; content: ""; box-shadow: 0 0 0 90px rgba(216,189,143,.026), 0 0 0 180px rgba(216,189,143,.017); }
.gr-architecture-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .52fr); align-items: end; gap: clamp(55px, 8vw, 130px); }
.gr-architecture-heading small, .gr-architecture-outcome small, .gr-architecture-options span { display: block; color: var(--gold-soft); font-size: 9px; font-weight: 600; letter-spacing: .17em; line-height: 1.5; text-transform: uppercase; }
.gr-architecture-heading h3 { max-width: 800px; margin: 18px 0 0; color: #fff; font-size: clamp(42px, 4.4vw, 70px); line-height: 1.02; letter-spacing: -.03em; }
.gr-architecture-heading > p { max-width: 570px; margin: 0 0 7px; color: rgba(255,255,255,.66); font-size: 14px; line-height: 1.84; }
.gr-architecture-lens { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: clamp(65px, 7vw, 105px); border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.gr-architecture-lens article { position: relative; min-height: 235px; padding: 34px clamp(18px, 2.3vw, 38px); border-right: 1px solid rgba(255,255,255,.14); overflow: hidden; transition: background .4s ease, transform .4s cubic-bezier(.2,.65,.25,1); }
.gr-architecture-lens article:last-child { border-right: 0; }
.gr-architecture-lens article::before { position: absolute; top: -4px; left: clamp(18px, 2.3vw, 38px); width: 7px; height: 7px; border: 1px solid var(--gold-soft); border-radius: 50%; background: var(--navy); content: ""; }
.gr-architecture-lens article::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--gold-soft); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .45s cubic-bezier(.2,.65,.25,1); }
.gr-architecture-lens article:hover { background: rgba(182,138,70,.1); transform: translateY(-3px); }
.gr-architecture-lens article:hover::after { transform: scaleX(1); transform-origin: left; }
.gr-architecture-lens small { display: block; margin-bottom: 34px; color: rgba(216,189,143,.55); font-size: 8px; font-weight: 600; letter-spacing: .14em; }
.gr-architecture-lens h4 { margin: 0 0 17px; color: var(--gold-soft); font-family: var(--serif); font-size: clamp(23px, 1.75vw, 30px); font-weight: 400; line-height: 1.12; }
.gr-architecture-lens p { margin: 0; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.7; }
.gr-architecture-outcome { display: grid; grid-template-columns: minmax(190px, .32fr) minmax(0, 1fr); align-items: baseline; gap: 45px; padding: clamp(38px, 4vw, 58px) 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.gr-architecture-outcome strong { color: #fff; font-family: var(--serif); font-size: clamp(28px, 2.7vw, 44px); font-weight: 400; line-height: 1.13; }
.gr-architecture-options { display: grid; grid-template-columns: minmax(245px, .4fr) minmax(0, 1fr); gap: 45px; margin-top: 28px; }
.gr-architecture-options p { margin: 0; color: rgba(255,255,255,.48); font-size: 11px; letter-spacing: .04em; line-height: 1.7; }
@keyframes gr-architecture-scan { 0%,100% { opacity: .12; transform: translateY(-42%); } 50% { opacity: .65; transform: translateY(42%); } }
.gr-structuring-close { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .5fr); align-items: end; gap: 9vw; margin-top: clamp(60px, 6vw, 92px); }
.gr-structuring-close blockquote { margin: 0; color: var(--navy); font-family: var(--serif); font-size: clamp(37px, 4.3vw, 68px); line-height: 1.07; letter-spacing: -.03em; }
.gr-structuring-close blockquote span, .gr-structuring-close blockquote strong { display: block; }
.gr-structuring-close blockquote strong { color: var(--gold); font-weight: 400; }
.gr-structuring-close > p { max-width: 460px; margin-bottom: 7px; color: var(--slate); font-size: 14px; line-height: 1.8; }

/* Global capital and risk */
.gr-capital-risk { background: #fff; }
.gr-capital-risk-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(350px, .62fr); gap: clamp(70px, 10vw, 165px); }
.gr-capital-risk-intro h2 { max-width: 900px; }
.gr-capital-risk-intro > div:last-child { padding-top: 55px; color: var(--slate); font-size: 16px; line-height: 1.85; }
.gr-considerations { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: clamp(70px, 8vw, 120px); border-top: 1px solid var(--line); }
.gr-considerations article { display: grid; grid-template-columns: minmax(190px, .55fr) minmax(230px, 1fr); gap: 38px; align-items: baseline; min-height: 138px; padding: 38px clamp(30px, 4vw, 66px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gr-considerations article:nth-child(odd) { padding-left: 0; }
.gr-considerations article:nth-child(even) { padding-right: 0; border-right: 0; }
.gr-considerations span { color: var(--gold); font-family: var(--serif); font-size: clamp(25px, 2vw, 34px); line-height: 1.15; }
.gr-considerations p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.72; }
.gr-risk-statement { margin: clamp(65px, 7vw, 105px) 0 0; padding-top: clamp(42px, 5vw, 68px); border-top: 1px solid var(--line); color: var(--navy); font-family: var(--serif); font-size: clamp(38px, 4.4vw, 70px); line-height: 1.06; letter-spacing: -.03em; }
.gr-risk-statement span, .gr-risk-statement strong { display: block; }
.gr-risk-statement strong { color: var(--gold); font-weight: 400; }

/* Local realities / global standards */
.gr-standards { overflow: hidden; background: var(--paper); text-align: center; }
.gr-standards-heading { max-width: 950px; margin: 0 auto; }
.gr-standards-heading h2 em { color: var(--gold); }
.gr-standards-copy { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(30px, 5vw, 80px); max-width: 1280px; margin: clamp(55px, 6vw, 88px) auto 0; padding-top: 38px; border-top: 1px solid var(--line); color: var(--slate); font-size: 15px; line-height: 1.8; text-align: left; }
.gr-standards-bridge { display: grid; grid-template-columns: 1fr minmax(220px, .52fr) 1fr; align-items: center; max-width: 1280px; margin: clamp(70px, 8vw, 120px) auto 0; }
.gr-standards-bridge > div { padding: 45px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gr-standards-bridge > div:first-child { text-align: right; }
.gr-standards-bridge > div:last-child { text-align: left; }
.gr-standards-bridge small { display: block; margin-bottom: 18px; color: var(--gold); font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.gr-standards-bridge strong { color: var(--navy); font-family: var(--serif); font-size: clamp(43px, 4.4vw, 70px); font-weight: 400; line-height: .95; }
.gr-standards-bridge > span { display: flex; align-items: center; justify-content: center; }
.gr-standards-bridge > span i { flex: 1; height: 1px; background: var(--gold); }
.gr-standards-bridge > span b { display: grid; flex: 0 0 92px; width: 92px; height: 92px; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.gr-standards > blockquote { margin: clamp(65px, 7vw, 105px) 0 0; color: var(--navy); font-family: var(--serif); font-size: clamp(37px, 4vw, 65px); line-height: 1.07; letter-spacing: -.03em; }
.gr-standards > blockquote span, .gr-standards > blockquote strong { display: block; }
.gr-standards > blockquote strong { color: var(--gold); font-weight: 400; }

/* Cross-border execution */
.gr-execution { overflow: hidden; background: var(--navy); color: #fff; }
.gr-execution-heading { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: clamp(45px, 7vw, 110px); }
.gr-execution-heading > div { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .48fr); align-items: end; gap: 8vw; }
.gr-execution-heading h2 { max-width: 900px; }
.gr-execution-heading h2 em { color: var(--gold-soft); }
.gr-execution-heading > div > p { max-width: 450px; margin-bottom: 7px; color: var(--gr-copy-dark); font-size: 15px; line-height: 1.82; }
.gr-execution-process { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(75px, 8vw, 120px); border-top: 1px solid var(--gr-rule-dark); border-bottom: 1px solid var(--gr-rule-dark); }
.gr-execution-progress { position: absolute; z-index: 1; top: 69px; left: 10%; width: 80%; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-soft) 12%, var(--gold-soft) 88%, transparent); transform: scaleX(0); transform-origin: left; transition: transform 1.3s .3s cubic-bezier(.2,.65,.25,1); }
.gr-execution-process.is-visible .gr-execution-progress { transform: scaleX(1); }
.gr-execution-process article { position: relative; z-index: 2; min-height: 285px; padding: 42px clamp(24px, 3vw, 50px); border-right: 1px solid var(--gr-rule-dark); }
.gr-execution-process article:first-of-type { padding-left: 0; }
.gr-execution-process article:last-child { padding-right: 0; border-right: 0; }
.gr-execution-process small { color: var(--gold-soft); font-size: 10px; font-weight: 600; letter-spacing: .14em; }
.gr-execution-process article > i { display: block; width: 13px; height: 13px; margin: 20px 0 34px; border: 1px solid var(--gold-soft); border-radius: 50%; background: var(--navy); box-shadow: 0 0 0 8px var(--navy); }
.gr-execution-process h3 { margin: 0 0 23px; color: #fff; font-size: clamp(30px, 2.5vw, 43px); }
.gr-execution-process p { margin: 0; color: rgba(255,255,255,.61); font-size: 14px; line-height: 1.8; }
.gr-execution-statement { margin: clamp(65px, 7vw, 105px) 0 0; font-family: var(--serif); font-size: clamp(38px, 4.4vw, 70px); line-height: 1.06; letter-spacing: -.03em; }
.gr-execution-statement span, .gr-execution-statement strong { display: block; }
.gr-execution-statement strong { color: var(--gold-soft); font-weight: 400; }

/* Final CTA */
.gr-final-cta { position: relative; min-height: 720px; overflow: hidden; background: radial-gradient(circle at 78% 21%, #1a3d60 0, #0a203b 34%, var(--navy) 70%); color: #fff; }
.gr-final-cta::before, .gr-final-cta::after { position: absolute; border: 1px solid rgba(216,189,143,.12); border-radius: 50%; content: ""; }
.gr-final-cta::before { top: -35vw; right: -4vw; width: 52vw; height: 52vw; }
.gr-final-cta::after { right: -24vw; bottom: -36vw; width: 58vw; height: 58vw; }
.gr-final-orbit { position: absolute; top: 34%; right: -6%; width: 58%; height: 1px; background: linear-gradient(90deg, transparent, rgba(216,189,143,.72), transparent); transform: rotate(-13deg); }
.gr-final-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(350px, .56fr); align-items: end; gap: 9vw; min-height: 720px; padding: var(--section-space) var(--gutter); }
.gr-final-layout h2 { max-width: 980px; font-size: clamp(55px, 6.35vw, 104px); }
.gr-final-layout h2 em { color: var(--gold-soft); }
.gr-final-layout > div:last-child { padding-bottom: 8px; }
.gr-final-layout > div:last-child > p { margin-bottom: 34px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.85; }
.gr-final-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 38px; }
.gr-secondary-link { display: inline-flex; align-items: center; gap: 18px; padding: 12px 0; color: rgba(255,255,255,.82); font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.gr-secondary-link b { color: var(--gold-soft); font-size: 16px; font-weight: 300; transition: transform .3s ease; }
.gr-secondary-link:hover b { transform: translate(4px,-4px); }

@media (max-width: 1180px) {
  .gr-hero-layout { grid-template-columns: minmax(0, 1.05fr) minmax(340px, .68fr); gap: 55px; }
  .gr-hubs article { grid-template-columns: 1fr; gap: 14px; }
  .gr-regions { grid-template-columns: repeat(3, 1fr); }
  .gr-regions article { border-bottom: 1px solid var(--line); }
  .gr-regions article:nth-child(3) { border-right: 0; }
  .gr-regions article:nth-child(n + 4) { border-bottom: 0; }
  .gr-regions article:first-child { padding-left: 24px; }
  .gr-regions article:last-child { padding-right: 24px; }
  .gr-dimension-field { grid-template-columns: minmax(250px, 1fr) 220px minmax(250px, 1fr); gap: 48px; }
  .gr-dimension-core { width: 220px; height: 220px; }
  .gr-considerations article { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 900px) {
  .gr-hero { min-height: 970px; height: auto; }
  .gr-hero-layout { display: block; padding-top: 150px; padding-bottom: 155px; }
  .gr-hero-heading h1 { max-width: 780px; }
  .gr-hero-copy { max-width: 680px; margin-top: 52px; }
  .gr-section-intro, .gr-complexity-heading, .gr-structuring-intro, .gr-structuring-close, .gr-capital-risk-intro, .gr-final-layout, .gr-architecture-heading { grid-template-columns: 1fr; gap: 50px; }
  .gr-section-intro > p, .gr-complexity-heading > p, .gr-structuring-intro > div:last-child, .gr-structuring-close > p, .gr-capital-risk-intro > div:last-child { max-width: 680px; padding-top: 0; }
  .gr-architecture-lens { grid-template-columns: 1fr; }
  .gr-architecture-lens article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .gr-architecture-lens article:last-child { border-bottom: 0; }
  .gr-hubs { grid-template-columns: 1fr; }
  .gr-hubs article, .gr-hubs article:first-child, .gr-hubs article:last-child { grid-template-columns: 170px minmax(230px, .7fr) minmax(250px, 1fr); padding: 34px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .gr-hubs article:last-child { border-bottom: 0; }
  .gr-dimension-field { grid-template-columns: 1fr 210px 1fr; gap: 28px; }
  .gr-dimension-core { width: 210px; height: 210px; }
  .gr-dimension-left article { padding-right: 25px; }
  .gr-dimension-right article { padding-left: 25px; }
  .gr-dimension-column article::after { display: none; }
  .gr-considerations { grid-template-columns: 1fr; }
  .gr-considerations article, .gr-considerations article:nth-child(odd), .gr-considerations article:nth-child(even) { grid-template-columns: 210px 1fr; padding: 34px 0; border-right: 0; }
  .gr-standards-copy { grid-template-columns: 1fr; gap: 22px; max-width: 680px; }
  .gr-standards-bridge { grid-template-columns: 1fr minmax(170px, .45fr) 1fr; }
  .gr-standards-bridge > div { padding: 35px 22px; }
  .gr-execution-heading { grid-template-columns: 1fr; gap: 15px; }
  .gr-execution-heading > div { grid-template-columns: 1fr; gap: 28px; }
  .gr-execution-process { grid-template-columns: repeat(2, 1fr); }
  .gr-execution-progress { display: none; }
  .gr-execution-process article { border-bottom: 1px solid var(--gr-rule-dark); }
  .gr-execution-process article:nth-of-type(2) { padding-right: 0; border-right: 0; }
  .gr-execution-process article:nth-of-type(3) { padding-left: 0; border-bottom: 0; }
  .gr-execution-process article:nth-of-type(4) { border-bottom: 0; }
  .gr-final-layout { align-content: center; min-height: 720px; }
}

@media (max-width: 760px) {
  .gr-hero { min-height: 940px; }
  .gr-hero-media img { object-position: center; }
  .gr-hero-shade { background: linear-gradient(180deg, rgba(3,14,29,.35), rgba(3,14,29,.78) 47%, rgba(3,14,29,.99)); }
  .gr-hero-layout { padding: 132px 24px 145px; }
  .gr-hero-heading h1 { font-size: clamp(46px, 12.8vw, 64px); line-height: .96; }
  .gr-hero-copy { margin-top: 40px; font-size: 14px; line-height: 1.72; }
  .gr-hero-copy .gr-hero-lead { font-size: 23px; }
  .gr-hero-copy blockquote { font-size: 21px; }
  .gr-hero-axis { right: 24px; bottom: 37px; left: 24px; justify-content: space-between; gap: 6px; font-size: 7px; letter-spacing: .08em; }
  .gr-hero-axis i { width: 12px; }
  .gr-hero .scroll-cue { display: none; }
  .gr-map-stage { width: 100%; height: auto; margin-top: 55px; aspect-ratio: 1200 / 609; transform: none; }
  .gr-map-hub-label { padding: 6px 8px; box-shadow: none; }
  .gr-map-hub-label b { font-size: 11px; }
  .gr-map-hub-label span { font-size: 6px; }
  .gr-map-hub-geneva { top: 13%; left: 40%; }
  .gr-map-hub-uae { top: 35%; left: 63%; }
  .gr-hubs { margin-top: 0; }
  .gr-hubs article, .gr-hubs article:first-child, .gr-hubs article:last-child { display: block; padding: 32px 0; }
  .gr-hubs small { display: block; margin-bottom: 15px; }
  .gr-hubs h3 { margin-bottom: 16px; }
  .gr-regions { display: block; }
  .gr-regions article, .gr-regions article:first-child, .gr-regions article:last-child { min-height: 0; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .gr-regions article:last-child { border-bottom: 0; }
  .gr-regions h3 { margin-bottom: 10px; }
  .gr-key-figures { display: block; }
  .gr-key-figures article, .gr-key-figures article:first-child, .gr-key-figures article:last-child { min-height: 0; padding: 32px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .gr-key-figures article:last-child { border-bottom: 0; }
  .gr-complexity-heading .section-label { grid-column: auto; }
  .gr-dimension-field { display: flex; flex-direction: column; gap: 0; }
  .gr-dimension-core { order: 0; width: 190px; height: 190px; margin-bottom: 45px; }
  .gr-dimension-column { width: 100%; }
  .gr-dimension-left { order: 1; }
  .gr-dimension-right { order: 2; border-top: 0; }
  .gr-dimension-left article, .gr-dimension-right article { min-height: 0; padding: 27px 0; text-align: left; }
  .gr-dimension-column span { font-size: 28px; }
  .gr-complexity-statement { font-size: 39px; }
  .gr-architecture { margin-right: -24px; margin-left: -24px; padding: 58px 24px; }
  .gr-architecture::before { left: 50%; }
  .gr-architecture-heading { gap: 36px; }
  .gr-architecture-heading h3 { font-size: 44px; }
  .gr-architecture-lens { grid-template-columns: 1fr; margin-top: 58px; }
  .gr-architecture-lens article, .gr-architecture-lens article:nth-child(3), .gr-architecture-lens article:nth-child(-n + 3) { min-height: 0; padding: 28px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .gr-architecture-lens article:last-child { border-bottom: 0; }
  .gr-architecture-lens article::before { left: 0; }
  .gr-architecture-outcome, .gr-architecture-options { grid-template-columns: 1fr; gap: 18px; }
  .gr-structuring-close blockquote { font-size: 40px; }
  .gr-considerations article, .gr-considerations article:nth-child(odd), .gr-considerations article:nth-child(even) { grid-template-columns: 1fr; gap: 10px; padding: 29px 0; }
  .gr-risk-statement { font-size: 40px; }
  .gr-standards { text-align: left; }
  .gr-standards-copy { text-align: left; }
  .gr-standards-bridge { display: flex; flex-direction: column; }
  .gr-standards-bridge > div { width: 100%; padding: 34px 0; text-align: left !important; }
  .gr-standards-bridge > span { flex-direction: column; height: 150px; }
  .gr-standards-bridge > span i { width: 1px; height: auto; }
  .gr-standards-bridge > span b { flex: 0 0 76px; width: 76px; height: 76px; }
  .gr-standards > blockquote { font-size: 39px; }
  .gr-execution-process { grid-template-columns: 1fr; }
  .gr-execution-process article, .gr-execution-process article:first-of-type, .gr-execution-process article:nth-child(2), .gr-execution-process article:nth-child(3), .gr-execution-process article:nth-child(4) { min-height: 0; padding: 34px 0; border-right: 0; border-bottom: 1px solid var(--gr-rule-dark); }
  .gr-execution-process article:last-child { border-bottom: 0; }
  .gr-execution-process article > i { margin: 16px 0 24px; }
  .gr-execution-statement { font-size: 40px; }
  .gr-final-cta { min-height: 790px; }
  .gr-final-layout { min-height: 790px; padding: 90px 24px; }
  .gr-final-layout h2 { font-size: clamp(47px, 13vw, 66px); }
  .gr-final-actions { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
  .gr-map-hub-label { display: none; }
  .gr-hero-heading h1 { font-size: 44px; }
  .gr-architecture-heading h3 { font-size: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .gr-hero-media img, .gr-map-network .gr-route path, .gr-map-network .gr-hub-ring, .gr-architecture::before, .gr-execution-progress { animation: none; transition: none; transform: none; }
  .gr-map-network .gr-route path { stroke-dashoffset: 0; }
}
