:root {
  --navy: #102838;
  --navy-2: #18384b;
  --navy-3: #0b1f2c;
  --gold: #bd9140;
  --gold-light: #d6b873;
  --cream: #f4f0e8;
  --paper: #fbf9f5;
  --ink: #132834;
  --muted: #65727a;
  --line: rgba(16, 40, 56, 0.16);
  --white-line: rgba(255, 255, 255, 0.16);
  --shell: min(1180px, calc(100vw - 48px));
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; left: 18px; top: -80px; padding: 12px 18px; background: var(--gold); color: var(--navy); font-weight: 700; text-decoration: none; transition: top .2s ease; }
.skip-link:focus { top: 18px; }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 100px; color: white; transition: background .3s ease, height .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled { height: 88px; background: rgba(16, 40, 56, .94); box-shadow: 0 10px 30px rgba(0,0,0,.14); backdrop-filter: blur(14px); }
.nav-wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand { display: flex; align-items: center; width: 166px; height: 92px; flex: 0 0 auto; text-decoration: none; }
.brand img { width: 152px; height: auto; box-shadow: 0 7px 24px rgba(0,0,0,.12); }
.primary-nav { display: flex; align-items: center; gap: 28px; font-size: 13px; font-weight: 700; letter-spacing: .02em; }
.primary-nav a { text-decoration: none; color: rgba(255,255,255,.78); transition: color .2s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: white; }
.primary-nav .nav-cta { padding: 12px 17px; border: 1px solid rgba(255,255,255,.34); color: white; }
.menu-button { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.menu-button span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px auto; background: white; }

.hero { position: relative; min-height: 100svh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding: 142px 0 0; background: var(--navy); color: white; }
.hero-grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to right, transparent, black 42%, black); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 240px; background: linear-gradient(to top, rgba(5,19,28,.48), transparent); pointer-events: none; }
.orb { position: absolute; border: 1px solid rgba(189,145,64,.36); border-radius: 50%; }
.orb::before, .orb::after { content:""; position:absolute; border:1px solid rgba(189,145,64,.18); border-radius:50%; }
.orb-one { width: 620px; height: 620px; right: -210px; top: 32px; }
.orb-one::before { inset: 58px; }.orb-one::after { inset: 126px; }
.orb-two { width: 280px; height: 280px; left: 36%; bottom: -170px; opacity: .5; }
.orb-two::before { inset: 32px; }.orb-two::after { inset: 74px; }
.hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: 1.12fr .88fr; align-items: center; gap: clamp(40px, 7vw, 98px); flex: 1; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; text-transform: uppercase; letter-spacing: .17em; font-size: 11px; font-weight: 700; color: rgba(255,255,255,.62); }
.eyebrow span { width: 34px; height: 1px; background: var(--gold); }
.hero h1 { max-width: 760px; margin: 0; font-size: clamp(48px, 6.4vw, 88px); line-height: .98; letter-spacing: -.055em; font-weight: 600; }
h1 em, h2 em { font-family: var(--serif); font-weight: 400; color: var(--gold-light); }
.hero-lede { max-width: 700px; margin: 30px 0 0; color: rgba(255,255,255,.74); font-size: clamp(17px, 1.6vw, 21px); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 54px; padding: 0 22px; text-decoration: none; font-size: 13px; font-weight: 700; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--gold); color: var(--navy); }
.text-link { color: rgba(255,255,255,.82); text-underline-offset: 5px; font-size: 13px; }
.hero-mark { position: relative; display: grid; place-items: center; min-height: 420px; }
.hero-logo-frame { position: relative; width: min(500px, 100%); aspect-ratio: 1.5; overflow: hidden; background: var(--cream); box-shadow: 0 34px 90px rgba(0,0,0,.28); transform: rotate(1deg); }
.hero-logo-frame img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.02); }
.hero-logo-frame::before { content:""; position:absolute; inset: 12px; border:1px solid rgba(16,40,56,.12); z-index:2; pointer-events:none; }
.coordinate-card { position: absolute; right: -14px; bottom: 16px; display: flex; align-items: center; gap: 12px; width: 210px; padding: 14px 16px; background: var(--paper); color: var(--navy); box-shadow: 0 16px 40px rgba(0,0,0,.2); }
.coordinate-dot { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(189,145,64,.15); }
.coordinate-card strong, .coordinate-card small { display: block; }.coordinate-card strong { font-size: 13px; }.coordinate-card small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.principles { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 60px; border-top: 1px solid var(--white-line); }
.principles div { display: flex; gap: 15px; align-items: baseline; min-height: 82px; padding: 24px 26px 20px 0; border-right: 1px solid var(--white-line); }
.principles div + div { padding-left: 26px; }.principles div:last-child { border-right: 0; }
.principles span { color: var(--gold-light); font-size: 10px; letter-spacing: .14em; }.principles strong { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.76); }

.section { padding: 126px 0; }
.section-label { display: flex; align-items: center; gap: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .15em; font-size: 10px; font-weight: 700; white-space: nowrap; }
.section-label span { color: var(--gold); }
.section-label.light { color: rgba(255,255,255,.58); }.section-label.light span { color: var(--gold-light); }
.intro { background: var(--cream); }
.intro-grid { display: grid; grid-template-columns: 200px 1fr; gap: 64px; }
.intro-copy .kicker { margin: 0 0 24px; color: var(--gold); font-size: 13px; font-weight: 700; }
.intro h2, .model h2, .focus h2, .questions h2, .contact-section h2, .astana-section h2 { margin: 0; font-size: clamp(38px, 5vw, 66px); line-height: 1.05; letter-spacing: -.045em; font-weight: 600; }
.intro h2 em, .model h2 em, .focus h2 em, .questions h2 em, .contact-section h2 em, .astana-section h2 em { color: var(--gold); }
.two-col-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; margin-top: 48px; padding-top: 34px; border-top: 1px solid var(--line); }
.two-col-copy p { margin: 0; font-size: 16px; line-height: 1.75; color: #3e505a; }

.pathway { background: var(--navy); color: white; }
.section-head { display: grid; grid-template-columns: 270px 1fr; gap: 40px; align-items: start; }
.section-head h2 { margin: 0; font-size: clamp(38px, 4.8vw, 64px); line-height: 1.03; letter-spacing: -.045em; }
.section-head > div:last-child > p { max-width: 670px; margin: 24px 0 0; color: rgba(255,255,255,.64); font-size: 17px; line-height: 1.65; }
.route { display: grid; grid-template-columns: .88fr 1.12fr; margin-top: 72px; border: 1px solid var(--white-line); }
.route-tabs { display: flex; flex-direction: column; border-right: 1px solid var(--white-line); }
.route-tab { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 10px; align-items: center; min-height: 70px; padding: 12px 22px; border: 0; border-bottom: 1px solid var(--white-line); color: rgba(255,255,255,.58); background: transparent; text-align: left; cursor: pointer; transition: color .2s ease, background .2s ease; }
.route-tab:last-child { border-bottom: 0; }.route-tab span { color: var(--gold-light); font-size: 10px; }.route-tab:hover, .route-tab:focus-visible { color: white; background: rgba(255,255,255,.05); }.route-tab.is-active { color: var(--navy); background: var(--gold-light); }.route-tab.is-active span { color: var(--navy); }
.route-panel { min-height: 350px; padding: 46px 52px; display: grid; grid-template-columns: 110px 1fr; gap: 30px; align-content: center; background: linear-gradient(135deg, rgba(255,255,255,.04), transparent); }
.route-number { font-family: var(--serif); color: var(--gold-light); font-size: 62px; line-height: .8; }
.route-stage { margin: 0 0 16px; color: var(--gold-light); font-size: 11px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; }
.route-panel h3 { margin: 0; font-size: 36px; letter-spacing: -.03em; }.route-panel p:last-child { max-width: 580px; color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.72; }
.route-note { margin: 22px 0 0 auto; max-width: 620px; color: rgba(255,255,255,.48); font-size: 12px; line-height: 1.6; }

.model { background: var(--paper); }
.model-intro { display: grid; grid-template-columns: 210px 1fr .55fr; gap: 48px; align-items: start; }
.model-intro > p { margin: 8px 0 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.responsibility-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 70px; border: 1px solid var(--line); }
.responsibility-card { padding: 34px 32px 38px; min-height: 480px; border-right: 1px solid var(--line); }
.responsibility-card:last-child { border-right: 0; }.foundation-card { background: var(--cream); }.together-card { background: var(--navy); color: white; }
.card-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; }
.together-card .card-top { color: rgba(255,255,255,.55); border-color: var(--white-line); }.card-top b { display:grid; place-items:center; width:38px; height:38px; border:1px solid currentColor; border-radius:50%; color:var(--gold); font-family:var(--serif); font-size:18px; }
.responsibility-card h3 { margin: 34px 0 28px; font-size: 25px; letter-spacing: -.02em; }.responsibility-card ul { margin:0; padding:0; list-style:none; }.responsibility-card li { position:relative; padding: 14px 0 14px 22px; border-top:1px solid var(--line); color:#4c5b64; font-size:14px; line-height:1.4; }.responsibility-card li::before { content:""; position:absolute; left:0; top:20px; width:6px; height:6px; border-radius:50%; background:var(--gold); }.together-card li { border-color:var(--white-line); color:rgba(255,255,255,.72); }

.focus { background: var(--cream); }
.focus-head .section-label { color: var(--muted); }.focus-head > div:last-child > p { color: var(--muted); }
.focus-list { margin-top: 60px; border-top: 1px solid var(--line); }
.focus-item { display: grid; grid-template-columns: 72px 1.1fr 1.4fr 40px; gap: 28px; align-items: center; padding: 28px 10px; border-bottom: 1px solid var(--line); transition: background .2s ease, padding .2s ease; }
.focus-item:hover { padding-inline: 22px; background: rgba(189,145,64,.08); }.focus-item > span { color: var(--gold); font-size: 10px; }.focus-item h3, .focus-item p { margin: 0; }.focus-item h3 { font-size: 22px; letter-spacing: -.02em; }.focus-item p { color: var(--muted); font-size: 14px; line-height: 1.55; }.focus-item i { color:var(--gold); font-style:normal; font-size:20px; }

.astana-section { position: relative; overflow: hidden; min-height: 660px; display:flex; align-items:center; color:white; background:var(--navy-3); }
.astana-visual { position:absolute; inset:0 0 0 46%; overflow:hidden; background: radial-gradient(circle at 52% 48%, rgba(189,145,64,.12), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.025), transparent); }
.map-ring { position:absolute; border:1px solid rgba(214,184,115,.25); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }.ring-a{width:470px;height:470px}.ring-b{width:680px;height:680px}.ring-c{width:900px;height:900px}
.city-point { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; gap:14px; }.city-point span { width:16px;height:16px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 0 14px rgba(189,145,64,.13),0 0 0 28px rgba(189,145,64,.06)}.city-point b{font-size:11px;letter-spacing:.22em;color:rgba(255,255,255,.72)}
.route-line { position:absolute; height:1px; width:520px; background:linear-gradient(90deg,transparent,rgba(214,184,115,.5),transparent); left:50%; top:50%; transform-origin:left center; }.line-one{transform:rotate(28deg)}.line-two{transform:rotate(-46deg)}
.astana-grid { position:relative; z-index:2; display:grid; grid-template-columns: .78fr 1fr; }.astana-copy { grid-column:1; }.astana-copy h2 { margin-top:30px; }.astana-copy p { margin:30px 0 0; max-width:590px; color:rgba(255,255,255,.67); font-size:17px; line-height:1.7; }.astana-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:34px; }.astana-tags span { padding:10px 13px; border:1px solid var(--white-line); font-size:11px; color:rgba(255,255,255,.72); }

.questions { background: var(--paper); }.questions-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:90px; }.questions-title .section-label { margin-bottom:34px; }.question-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.question-list li { display:grid; grid-template-columns:50px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid var(--line); }.question-list span { color:var(--gold); font-size:10px; padding-top:5px; }.question-list p { margin:0; font-size:17px; line-height:1.55; }

.contact-section { padding:128px 0; background:var(--navy); color:white; }.contact-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:100px; align-items:end; }.eyebrow.gold { color:var(--gold-light); }.contact-copy h2 { max-width:760px; }.contact-copy > p:not(.eyebrow) { max-width:670px; margin:28px 0 34px; color:rgba(255,255,255,.65); font-size:17px; line-height:1.65; }.contact-card { display:block; margin:0; padding:34px; background:var(--cream); color:var(--navy); font-style:normal; box-shadow:0 30px 70px rgba(0,0,0,.18); }.contact-card > p { margin:0 0 28px; color:var(--gold); text-transform:uppercase; font-size:10px; letter-spacing:.16em; font-weight:700; }.contact-card h3 { margin:0 0 6px; font-size:26px; }.contact-card > span { display:block; color:var(--muted); font-size:13px; line-height:1.55; }.contact-lines { display:grid; gap:10px; margin:28px 0; padding:22px 0; border-block:1px solid var(--line); }.contact-lines a { font-size:14px; font-weight:700; text-underline-offset:4px; }.contact-card small { color:var(--muted); font-size:12px; line-height:1.6; }

footer { padding:52px 0; background:#091923; color:white; }.footer-grid { display:grid; grid-template-columns:.7fr 1.3fr auto; gap:52px; align-items:start; }.footer-brand strong,.footer-brand span,.footer-brand small{display:block}.footer-brand strong{font-size:22px;letter-spacing:.08em}.footer-brand span{margin-top:2px;font-size:10px;letter-spacing:.28em}.footer-brand small{margin-top:14px;color:var(--gold-light);font-family:var(--serif);font-size:12px}.footer-grid > p { margin:0; color:rgba(255,255,255,.46); font-size:11px; line-height:1.65; }.footer-meta { display:grid; gap:8px; justify-items:end; color:rgba(255,255,255,.45); font-size:10px; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }.reveal{opacity:1;transform:none;} }

@media (max-width: 980px) {
  :root { --shell: min(100% - 36px, 760px); }
  .site-header { height:92px; }.site-header.is-scrolled{height:82px}.brand{width:132px;height:82px}.brand img{width:122px}.menu-button{width:48px;height:48px}
  .menu-button { display:block; position:relative; z-index:61; }.primary-nav { position:fixed; inset:0; z-index:60; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:26px; padding:80px 10vw; background:var(--navy); font-size:20px; transform:translateX(100%); transition:transform .3s ease; }.primary-nav.is-open{transform:none}.primary-nav .nav-cta{margin-top:8px}
  .hero { min-height:auto; padding-top:125px; }.hero-layout{grid-template-columns:1fr}.hero-mark{min-height:330px}.hero-logo-frame{width:min(520px,95%)}.principles{grid-template-columns:1fr;margin-top:48px}.principles div{border-right:0;border-bottom:1px solid var(--white-line);padding-left:0!important}.principles div:last-child{border-bottom:0}
  .section{padding:92px 0}.intro-grid,.section-head,.model-intro,.questions-grid,.contact-grid{grid-template-columns:1fr;gap:36px}.two-col-copy{gap:34px}.route{grid-template-columns:1fr}.route-tabs{border-right:0;border-bottom:1px solid var(--white-line)}.route-panel{min-height:310px}.responsibility-grid{grid-template-columns:1fr}.responsibility-card{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.responsibility-card:last-child{border-bottom:0}.focus-item{grid-template-columns:48px 1fr 28px}.focus-item p{grid-column:2}.focus-item i{grid-column:3;grid-row:1}.astana-section{min-height:720px;align-items:flex-start;padding:92px 0}.astana-visual{inset:44% 0 0}.astana-grid{grid-template-columns:1fr}.astana-copy{grid-column:1}.contact-grid{gap:54px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-meta{justify-items:start}
}

@media (max-width: 620px) {
  :root { --shell: calc(100vw - 28px); }
  .hero{padding-top:106px}.hero h1{font-size:45px}.hero-lede{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-mark{min-height:240px}.hero-logo-frame{width:100%}.coordinate-card{right:-4px;bottom:-6px}.principles div{min-height:64px;padding-block:18px}.intro h2,.model h2,.focus h2,.questions h2,.contact-section h2,.astana-section h2{font-size:38px}.two-col-copy{grid-template-columns:1fr}.route-panel{grid-template-columns:1fr;padding:34px 26px}.route-number{font-size:44px}.route-panel h3{font-size:29px}.responsibility-card{padding:28px 22px}.focus-item{gap:14px;padding-block:24px}.focus-item h3{font-size:19px}.section-head{gap:28px}.astana-section{min-height:760px}.questions-grid{gap:52px}.contact-card{padding:28px 22px}
}

