:root {
  --navy: #0A2E4D;
  --navy-deep: #06253E;
  --navy-ink: #071F35;
  --teal: #00B6C7;
  --teal-soft: #39C7D3;
  --cold: #C7CCD1;
  --light: #F2F4F6;
  --white: #FFFFFF;
  --text: #15334D;
  --muted: #647584;
  --border: rgba(10,46,77,.13);
  --shadow: 0 24px 60px rgba(10,46,77,.10);
  --radius: 22px;
  --shell: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { margin: 0; font-family: Lato, Arial, Helvetica, sans-serif; color: var(--text); background: var(--white); line-height: 1.55; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(var(--shell), calc(100% - 48px)); margin: 0 auto; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 9999; background: var(--white); color: var(--navy); padding: 10px 16px; border-radius: 10px; box-shadow: var(--shadow); }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; height: 88px; transition: .35s ease; color: var(--white); }
.site-header.scrolled { background: rgba(255,255,255,.95); box-shadow: 0 8px 30px rgba(10,46,77,.08); backdrop-filter: blur(16px); color: var(--navy); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: block; width: 244px; flex: 0 0 244px; position: relative; }
.brand img { width: 100%; height: auto; }
.brand-on-light { display: none; }
.scrolled .brand-on-dark { display: none; }
.scrolled .brand-on-light { display: block; }
.main-nav { display: flex; align-items: center; gap: 22px; font-size: 13px; font-weight: 700; }
.main-nav > a:not(.button) { opacity: .88; transition: .2s ease; }
.main-nav > a:not(.button):hover { opacity: 1; color: var(--teal); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; padding: 9px; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; background: currentColor; margin: 6px 0; border-radius: 3px; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 999px; font-weight: 800; font-size: 14px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; border: 1px solid transparent; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--teal); color: var(--white); box-shadow: 0 10px 26px rgba(0,182,199,.22); }
.button-primary:hover { box-shadow: 0 14px 32px rgba(0,182,199,.28); }
.button-ghost { border-color: rgba(255,255,255,.7); color: var(--white); background: rgba(255,255,255,.02); }
.scrolled .button-ghost { border-color: var(--navy); color: var(--navy); }
.button-small { min-height: 40px; padding: 0 18px; font-size: 12px; }
.text-link { display: inline-flex; color: var(--navy); font-weight: 900; font-size: 14px; margin-top: 8px; }
.text-link:hover { color: var(--teal); }

.eyebrow { margin: 0 0 12px; color: var(--teal); font-size: 12px; letter-spacing: .12em; font-weight: 900; }
.eyebrow-on-dark { color: var(--teal-soft); }
.section { padding: 112px 0; scroll-margin-top: 104px; }
.section-heading { max-width: 850px; margin-bottom: 52px; }
.section-heading.centered { text-align: center; margin-inline: auto; }
.section-heading h2, .about-copy h2, .consulting h2, .academy h2, .knowledge h2, .network h2, .final-cta h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.07; letter-spacing: -.035em; color: var(--navy); }
.section-heading p, .about-copy > p, .academy-copy > p, .knowledge-intro > p, .network-copy > p { color: var(--muted); font-size: 17px; max-width: 760px; }

.hero { min-height: 100vh; position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 78% 35%, rgba(0,182,199,.18), transparent 23%), linear-gradient(135deg, var(--navy-deep), var(--navy) 52%, #0A3D61 100%); color: var(--white); padding-top: 128px; }
.hero-grid-overlay { position: absolute; inset: 0; z-index: -3; opacity: .07; background-image: linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px); background-size: 70px 70px; mask-image: radial-gradient(circle at 70% 40%, black, transparent 70%); }
.hero-orbit { position: absolute; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; z-index: -2; }
.hero-orbit-a { width: 720px; height: 720px; right: -180px; top: 40px; }
.hero-orbit-b { width: 480px; height: 480px; right: 120px; top: 160px; border-color: rgba(0,182,199,.12); }
.hero-layout { min-height: calc(100vh - 128px); display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 50px; padding-bottom: 70px; }
.hero-copy { padding-top: 24px; }
.hero-copy h1 { font-size: clamp(52px, 6.2vw, 80px); line-height: .98; letter-spacing: -.045em; margin: 0 0 26px; max-width: 780px; }
.hero-copy h1 span { color: var(--teal); }
.hero-lead { font-size: clamp(18px, 1.8vw, 22px); max-width: 680px; color: rgba(255,255,255,.92); margin: 0 0 12px; }
.hero-support { color: rgba(255,255,255,.66); margin: 0 0 30px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hero-triad { margin-top: 46px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.64); font-size: 10px; letter-spacing: .15em; font-weight: 900; }
.hero-triad i { display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--teal); }
.hero-visual { position: relative; min-height: 610px; display: grid; place-items: center; }
.brand-system { position: relative; width: min(500px, 90%); aspect-ratio: 1; display: grid; place-items: center; }
.hero-isotype { width: 67%; position: relative; z-index: 3; filter: drop-shadow(0 28px 50px rgba(0,0,0,.18)); }
.halo { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.20); }
.halo-one { inset: 5%; animation: slowSpin 32s linear infinite; }
.halo-two { inset: 15%; border-color: rgba(0,182,199,.28); animation: slowSpinReverse 26s linear infinite; }
.halo-one::before, .halo-two::before { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--teal); top:-5px; left:50%; box-shadow:0 0 0 5px rgba(0,182,199,.12); }
.node-label { position: absolute; display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 900; letter-spacing: .08em; z-index: 5; white-space: nowrap; }
.node-label span { width: 10px; height: 10px; border: 2px solid var(--white); border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 5px rgba(0,182,199,.12); }
.node-science { right: -8%; top: 19%; }
.node-education { right: -15%; top: 48%; }
.node-security { right: -10%; bottom: 21%; }
.system-keywords { position: absolute; bottom: -5%; width: 132%; text-align: center; font-size: 9px; letter-spacing: .12em; color: rgba(255,255,255,.48); }
.system-keywords b { color: var(--teal); padding: 0 5px; }
.hero-note { position: absolute; right: -72px; top: 28%; display: grid; gap: 3px; font-size: 12px; letter-spacing: .08em; color: rgba(255,255,255,.74); }
.hero-note span { display: block; width: 42px; height: 2px; background: var(--teal); margin-top: 12px; }
.scroll-cue { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); font-size: 11px; font-weight: 800; letter-spacing: .08em; color: rgba(255,255,255,.55); display: flex; gap: 8px; align-items: center; }
.scroll-cue span { color: var(--teal); font-size: 18px; }

.principle { background: var(--white); }
.principle-system { margin-top: 32px; display: grid; grid-template-columns: 1fr 220px 1fr; grid-template-areas: "science core education" ". security ."; gap: 32px 50px; align-items: center; position: relative; }
.principle-system::before, .principle-system::after { content:""; position:absolute; top: 37%; height:1px; background:linear-gradient(90deg, transparent, var(--teal), transparent); width:30%; opacity:.45; }
.principle-system::before { left:24%; }
.principle-system::after { right:24%; }
.pillar { padding: 30px; border-top: 2px solid var(--teal); position: relative; }
.pillar-science { grid-area: science; text-align: right; }
.pillar-education { grid-area: education; }
.pillar-security { grid-area: security; text-align: center; max-width: 520px; justify-self: center; }
.pillar-number { color: var(--cold); font-weight: 900; font-size: 12px; letter-spacing: .12em; }
.pillar h3 { color: var(--navy); font-size: 22px; margin: 7px 0; }
.pillar strong { color: var(--teal); display: block; }
.pillar p { color: var(--muted); font-size: 14px; }
.pillar small { color: var(--navy); font-size: 9px; font-weight: 900; letter-spacing: .10em; }
.principle-core { grid-area: core; width: 160px; height: 160px; position: relative; justify-self: center; display: grid; place-items: center; }
.core-ring { position:absolute; border-radius:50%; border:1px solid var(--cold); }
.core-ring-a { inset:0; border-width: 18px; opacity:.8; }
.core-ring-b { inset:35px; border-color: var(--teal); border-width: 8px; }
.core-dot { width: 42px; height: 42px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 12px rgba(0,182,199,.10); }
.statement { text-align: center; max-width: 850px; margin: 62px auto 0; padding-top: 32px; border-top: 1px solid var(--border); }
.statement p { font-size: 22px; color: var(--navy); }

.about { background: var(--light); padding-top: 0; }
.about-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: stretch; }
.process-visual { min-height: 620px; background: linear-gradient(145deg, #0b3658, #0a2e4d 65%, #0c496c); border-radius: 0 0 var(--radius) var(--radius); position: relative; overflow: hidden; padding: 34px; color: var(--white); box-shadow: var(--shadow); }
.process-visual::after { content:""; position:absolute; inset:auto -100px -130px auto; width:380px; height:380px; border:70px solid rgba(0,182,199,.13); border-radius:50%; }
.process-topline { display:flex; justify-content:space-between; gap:10px; font-size:9px; letter-spacing:.12em; color:rgba(255,255,255,.62); }
.instrument-grid { position:absolute; inset:110px 40px 90px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; transform:perspective(800px) rotateX(56deg); transform-origin:center bottom; }
.instrument-grid div { border:1px solid rgba(255,255,255,.16); border-radius:14px; background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(0,182,199,.14)); position:relative; }
.instrument-grid div::after { content:""; position:absolute; left:20%; right:20%; top:48%; height:4px; border-radius:4px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent); box-shadow:0 -36px 0 rgba(255,255,255,.18), 0 36px 0 rgba(255,255,255,.18); }
.scan-line { position:absolute; left:5%; right:5%; height:2px; top:36%; background:linear-gradient(90deg, transparent, var(--teal), transparent); box-shadow:0 0 24px rgba(0,182,199,.5); animation: scan 5s ease-in-out infinite; }
.process-chip { position:absolute; left:34px; bottom:30px; display:flex; gap:12px; align-items:center; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14); padding:12px 14px; border-radius:14px; backdrop-filter:blur(10px); }
.chip-dot { width:12px; height:12px; background:var(--teal); border-radius:50%; box-shadow:0 0 0 6px rgba(0,182,199,.13); }
.process-chip small { display:block; color:rgba(255,255,255,.45); font-size:8px; letter-spacing:.12em; }
.process-chip strong { font-size:12px; }
.about-copy { padding: 105px 0 54px; }
.about-copy h2 { font-size: clamp(34px, 3.4vw, 50px); }
.attribute-list { margin-top: 32px; border-top: 1px solid var(--border); }
.attribute-list > div { display: grid; grid-template-columns: 42px 145px 1fr; gap: 12px; align-items: baseline; padding: 15px 0; border-bottom: 1px solid var(--border); }
.attribute-list span { color: var(--teal); font-size: 11px; font-weight: 900; }
.attribute-list strong { color: var(--navy); }
.attribute-list small { color: var(--muted); }
.about-statement { padding: 65px 0 0; }
.about-statement p { color: var(--teal); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 900; }
.about-statement h3 { margin: 0; max-width: 1040px; font-size: clamp(30px, 3.5vw, 48px); line-height: 1.08; color: var(--navy); }

.ecosystem { background: var(--white); }
.ecosystem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.unit-card { min-height: 250px; border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; position: relative; overflow: hidden; background: var(--white); transition: transform .25s ease, box-shadow .25s ease, border .25s ease; }
.unit-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: rgba(0,182,199,.45); }
.unit-card::after { content:""; position:absolute; width:150px; height:150px; border:25px solid rgba(10,46,77,.035); border-radius:50%; right:-50px; bottom:-55px; }
.unit-card.active::after { border-color:rgba(0,182,199,.08); }
.unit-index { color:var(--teal); font-size:11px; font-weight:900; letter-spacing:.12em; }
.unit-card h3 { font-size:24px; color:var(--navy); margin:30px 0 10px; }
.unit-card h3 em { font-style:normal; color:var(--teal); }
.unit-card p { color:var(--muted); max-width:90%; }
.status { position:absolute; bottom:24px; left:28px; padding:6px 9px; border-radius:999px; font-size:9px; font-weight:900; letter-spacing:.08em; background:rgba(0,182,199,.10); color:#006b78; }
.status.muted { background:var(--light); color:var(--muted); }

.consulting { position:relative; overflow:hidden; background:linear-gradient(135deg, var(--navy-deep), var(--navy)); color:var(--white); }
.consulting-grid { position:absolute; inset:0; opacity:.05; background-image:linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:56px 56px; }
.consulting-layout { position:relative; display:grid; grid-template-columns:.78fr 1.22fr; gap:65px; align-items:center; }
.consulting h2 { color:var(--white); font-size:clamp(40px,4.5vw,60px); }
.consulting-copy > p:not(.eyebrow) { color:rgba(255,255,255,.72); font-size:18px; margin-bottom:28px; }
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.service-card { padding:24px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.035); backdrop-filter:blur(6px); }
.service-card span { color:var(--teal); font-size:10px; font-weight:900; }
.service-card h3 { color:var(--white); margin:8px 0; font-size:18px; }
.service-card p { color:rgba(255,255,255,.58); font-size:13px; margin:0; }

.academy { background:var(--light); }
.academy-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:25px 45px; align-items:start; }
.academy-copy h2 { font-size:clamp(36px,4vw,54px); }
.program-placeholder { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); min-height:330px; display:grid; grid-template-columns:.7fr 1.3fr; overflow:hidden; box-shadow:0 18px 45px rgba(10,46,77,.07); }
.program-art { position:relative; background:linear-gradient(145deg,#0d3758,#0A2E4D); display:grid; place-items:center; min-height:330px; overflow:hidden; }
.program-art img { width:62%; filter:drop-shadow(0 20px 40px rgba(0,0,0,.2)); }
.program-lines { position:absolute; inset:0; background:repeating-linear-gradient(130deg,transparent 0 25px,rgba(0,182,199,.12) 26px 27px); }
.program-body { padding:38px 34px; align-self:center; }
.program-badge { display:inline-flex; padding:6px 10px; background:rgba(0,182,199,.10); color:#007885; border-radius:999px; font-size:9px; font-weight:900; letter-spacing:.08em; }
.program-body h3 { color:var(--navy); font-size:28px; line-height:1.1; margin:16px 0; }
.program-body p { color:var(--muted); }
.modalities { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.modalities span { text-align:center; padding:14px 8px; border-radius:14px; background:var(--white); border:1px solid var(--border); color:var(--navy); font-size:12px; font-weight:800; }

.method { background:var(--white); }
.method-track { display:grid; grid-template-columns:repeat(6,1fr); position:relative; gap:0; }
.method-track::before { content:""; position:absolute; left:5%; right:5%; top:24px; height:1px; background:linear-gradient(90deg,var(--teal),rgba(0,182,199,.2)); }
.method-step { position:relative; padding:58px 18px 0 0; }
.method-step span { position:absolute; top:7px; left:0; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--teal); color:var(--white); font-size:10px; font-weight:900; box-shadow:0 0 0 7px var(--white); }
.method-step h3 { color:var(--navy); font-size:16px; margin:0 0 6px; }
.method-step p { color:var(--muted); font-size:12px; margin:0; }

.knowledge { background:var(--light); }
.knowledge-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:60px; align-items:start; }
.knowledge-intro h2 { font-size:clamp(36px,4vw,52px); }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.article-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:28px; min-height:310px; position:relative; overflow:hidden; transition:.25s ease; }
.article-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.article-card::before { content:""; position:absolute; left:0; top:0; right:0; height:7px; background:linear-gradient(90deg,var(--teal),var(--navy)); }
.article-card span { color:var(--teal); font-size:9px; letter-spacing:.11em; font-weight:900; }
.article-card h3 { color:var(--navy); font-size:20px; line-height:1.25; margin-top:26px; }
.article-card p { position:absolute; left:28px; bottom:20px; color:var(--muted); font-size:11px; font-weight:800; }

.network { background:var(--white); }
.network-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:center; }
.network-copy h2 { font-size:clamp(36px,4vw,54px); }
.network-map { min-height:430px; border-radius:var(--radius); background:linear-gradient(145deg,#f5f8f9,#eef3f5); border:1px solid var(--border); position:relative; overflow:hidden; }
.world-grid { position:absolute; inset:0; background-image:radial-gradient(circle, rgba(10,46,77,.18) 1.3px, transparent 1.3px); background-size:16px 16px; mask-image:radial-gradient(ellipse at center,black 25%,transparent 72%); }
.network-map::before, .network-map::after { content:""; position:absolute; border:1px solid rgba(0,182,199,.22); border-radius:50%; }
.network-map::before { width:420px; height:180px; left:80px; top:120px; transform:rotate(-9deg); }
.network-map::after { width:330px; height:130px; left:160px; top:155px; transform:rotate(13deg); }
.map-node { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 6px rgba(0,182,199,.10); z-index:2; }
.n1{left:18%;top:42%}.n2{left:32%;top:29%}.n3{left:44%;top:51%}.n4{left:56%;top:36%}.n5{left:70%;top:48%}.n6{left:78%;top:28%}.n7{left:62%;top:66%}
.network-label { position:absolute; right:28px; bottom:26px; text-align:right; color:var(--muted); font-size:10px; letter-spacing:.1em; }
.network-label strong { color:var(--navy); }

.final-cta { padding:100px 0; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--navy-deep),var(--navy)); color:var(--white); scroll-margin-top:104px; }
.final-watermark { position:absolute; right:-110px; top:-160px; width:620px; opacity:.045; filter:brightness(0) invert(1); }
.final-heading { max-width:900px; position:relative; }
.final-cta h2 { color:var(--white); font-size:clamp(42px,5vw,65px); }
.final-heading > p:not(.eyebrow) { color:rgba(255,255,255,.66); font-size:18px; max-width:730px; }
.audience-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:52px; }
.audience-card { padding:28px; border-radius:20px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.035); }
.audience-card > span { color:var(--teal); font-size:9px; letter-spacing:.11em; font-weight:900; }
.audience-card h3 { margin:12px 0 5px; color:var(--white); font-size:22px; }
.audience-card p { color:rgba(255,255,255,.58); font-size:13px; min-height:60px; }
.audience-card a { color:var(--teal-soft); font-weight:900; font-size:13px; }

.footer { background:var(--white); padding:68px 0 30px; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:50px; padding-bottom:45px; border-bottom:1px solid var(--border); }
.footer-brand img { width:310px; margin-bottom:16px; }
.footer-brand p { color:var(--navy); font-weight:800; margin:0; }
.footer-brand em { color:var(--teal); font-size:13px; }
.footer h3 { color:var(--navy); font-size:11px; letter-spacing:.1em; margin-top:0; }
.footer-grid > div:not(.footer-brand) { display:flex; flex-direction:column; gap:9px; }
.footer-grid a { color:var(--muted); font-size:13px; }
.footer-grid a:hover { color:var(--teal); }
.footer-bottom { padding-top:26px; text-align:right; color:var(--muted); font-size:10px; }
.footer-triad { color:var(--navy); font-weight:900; letter-spacing:.12em; display:flex; justify-content:flex-end; align-items:center; gap:8px; }
.footer-triad span { width:7px; height:7px; background:var(--teal); border-radius:50%; }
.legal { margin:14px 0 5px; }
.footer-bottom p { margin:0; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view { opacity:1; transform:none; }
@keyframes slowSpin { to { transform:rotate(360deg); } }
@keyframes slowSpinReverse { to { transform:rotate(-360deg); } }
@keyframes scan { 0%,100%{transform:translateY(-90px);opacity:.3}50%{transform:translateY(220px);opacity:1} }

@media (max-width: 1120px) {
  .main-nav { gap:14px; font-size:12px; }
  .brand { width:210px; flex-basis:210px; }
  .hero-layout { grid-template-columns:1fr 1fr; gap:20px; }
  .hero-copy h1 { font-size:clamp(46px,5.3vw,62px); max-width:640px; }
  .hero-note { display:none; }
  .node-education { right:-5%; top:49%; }
  .node-science,.node-security { right:0; }
  .system-keywords { width:110%; bottom:-3%; }
  .ecosystem-grid { grid-template-columns:repeat(2,1fr); }
  .modalities { grid-template-columns:repeat(3,1fr); }
  .method-track { grid-template-columns:repeat(3,1fr); gap:25px 0; }
  .method-track::before { display:none; }
  .method-step { padding-top:50px; }
  .knowledge-layout { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
  html { scroll-padding-top: 98px; }
  .shell { width:min(100% - 32px, var(--shell)); }
  .site-header { height:74px; }
  .brand { width:205px; flex-basis:205px; }
  .menu-toggle { display:block; color:var(--white); }
  .scrolled .menu-toggle { color:var(--navy); }
  .main-nav { position:fixed; top:74px; left:16px; right:16px; display:none; flex-direction:column; align-items:stretch; gap:0; background:var(--white); color:var(--navy); border-radius:18px; padding:12px; box-shadow:var(--shadow); }
  .main-nav.open { display:flex; }
  .main-nav > a { padding:13px 12px; }
  .nav-cta { margin-top:8px; }
  .section, .final-cta { scroll-margin-top:98px; }
  .hero { padding-top:94px; }
  .hero-layout { grid-template-columns:1fr; min-height:auto; padding:90px 0 90px; }
  .hero-copy { text-align:center; }
  .hero-copy h1 { font-size:clamp(44px,7vw,58px); margin-inline:auto; }
  .hero-lead, .hero-support { margin-inline:auto; }
  .hero-actions, .hero-triad { justify-content:center; }
  .hero-visual { min-height:480px; }
  .brand-system { width:min(470px,82vw); }
  .node-label { font-size:10px; }
  .system-keywords { bottom:-2%; }
  .principle-system { grid-template-columns:1fr; grid-template-areas:"core" "science" "education" "security"; }
  .principle-system::before,.principle-system::after { display:none; }
  .pillar { text-align:center !important; }
  .about-layout { grid-template-columns:1fr; }
  .process-visual { min-height:480px; border-radius:var(--radius); }
  .about-copy { padding-top:0; }
  .consulting-layout { grid-template-columns:1fr; }
  .academy-layout { grid-template-columns:1fr; }
  .modalities { grid-column:auto; }
  .network-layout { grid-template-columns:1fr; gap:42px; }
  .audience-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1.6fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2 / 4; }
}

@media (max-width: 640px) {
  body { line-height:1.48; }
  .section { padding:74px 0; }
  .section-heading { margin-bottom:38px; }
  .section-heading p, .about-copy > p, .academy-copy > p, .knowledge-intro > p, .network-copy > p { font-size:16px; line-height:1.5; }
  .hero-layout { padding-top:72px; }
  .hero-copy h1 { font-size:42px; line-height:1; }
  .hero-lead { font-size:17px; line-height:1.48; }
  .hero-support { margin-bottom:26px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .button { width:100%; }
  .hero-triad { font-size:8px; gap:7px; margin-top:38px; }
  .hero-visual { min-height:350px; }
  .brand-system { width:310px; }
  .node-label { display:none; }
  .system-keywords { width:100%; font-size:7px; bottom:-6%; }
  .scroll-cue { display:none; }
  .section-heading h2, .about-copy h2, .consulting h2, .academy h2, .knowledge h2, .network h2, .final-cta h2 { font-size:32px; line-height:1.1; }
  .principle-system { margin-top:22px; gap:22px; }
  .principle-core { width:130px;height:130px; }
  .statement { margin-top:42px; padding-top:24px; }
  .statement p { font-size:19px; }
  .attribute-list { margin-top:24px; }
  .attribute-list > div { grid-template-columns:34px 1fr; padding:13px 0; }
  .attribute-list small { grid-column:2; }
  .ecosystem-grid { grid-template-columns:1fr; }
  .unit-card { min-height:210px; }
  .unit-card h3 { margin-top:24px; }
  .services-grid { grid-template-columns:1fr; }
  .program-placeholder { grid-template-columns:1fr; }
  .program-art { min-height:230px; }
  .program-body { padding:30px 26px; }
  .modalities { grid-template-columns:repeat(2,1fr); }
  .method-track { grid-template-columns:1fr; gap:0; border-left:1px solid rgba(0,182,199,.25); margin-left:17px; }
  .method-step { padding:0 0 30px 44px; }
  .method-step span { top:0; left:-18px; }
  .article-grid { grid-template-columns:1fr; }
  .article-card { min-height:225px; }
  .network { padding:68px 0; }
  .network-layout { gap:28px; }
  .network-map { min-height:285px; }
  .network-map::before { width:300px; height:125px; left:24px; top:90px; }
  .network-map::after { width:240px; height:95px; left:72px; top:120px; }
  .network-label { right:20px; bottom:20px; }
  .final-cta { padding:78px 0; }
  .audience-grid { margin-top:38px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-brand img { width:270px; }
  .footer-bottom { text-align:left; }
  .footer-triad { justify-content:flex-start; flex-wrap:wrap; }
}

@media (max-width: 420px) {
  .hero-copy h1 { font-size:40px; }
  .hero-lead { font-size:16px; }
  .brand-system { width:min(294px,82vw); }
  .system-keywords { bottom:-4%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
.footer-pending { color: var(--muted); font-size: 12px; opacity: .72; }
