*,:before,:after{box-sizing:border-box;border:0 solid}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}p,h1,h2,h3,h4,h5,h6,figure,blockquote,dl,dd{margin:0}ol,ul{list-style:none;margin:0;padding:0}button,input,select,textarea{font:inherit;color:inherit;background:transparent}button{cursor:pointer}img,svg{vertical-align:middle}img{max-width:100%;height:auto}body{line-height:1.5}summary{display:list-item}
:root{--font-geist-sans:Arial,Helvetica,sans-serif;--font-geist-mono:"Courier New",monospace}


:root {
  --navy: #061a2c;
  --navy-2: #0a263d;
  --ivory: #f4f0e7;
  --paper: #fbf8f1;
  --red: #cf2e26;
  --steel: #6f7d87;
  --line: rgba(6, 26, 44, .2);
  --scroll-y: 0px;
  --scroll-p: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--navy); }
body { margin: 0; background: var(--ivory); color: var(--navy); font-family: var(--font-geist-sans), Arial, sans-serif; overflow-x: clip; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; width: 100%; }
::selection { background: var(--red); color: white; }

.scroll-progress { position: fixed; z-index: 100; top: 0; left: 0; height: 3px; width: calc(var(--scroll-p) * 100%); background: var(--red); box-shadow: 0 0 18px rgba(207, 46, 38, .5); }
.site-header { height: 82px; padding: 0 4.5vw; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; position: fixed; top: 0; left: 0; right: 0; z-index: 90; background: rgba(244, 240, 231, .86); backdrop-filter: blur(18px); }
.brand, .footer-brand { font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 600; letter-spacing: -.045em; white-space: nowrap; }
.brand span, .footer-brand span { font-weight: 400; }
.brand i, .footer-brand i { display: inline-block; width: 8px; height: 8px; background: var(--red); margin-left: 9px; }
.nav { display: flex; align-items: center; gap: 2.25rem; }
.nav a { font-size: 13px; font-weight: 600; position: relative; }
.nav a::after { content: ""; position: absolute; height: 1px; background: var(--red); left: 0; right: 100%; bottom: -8px; transition: right .3s ease; }
.nav a:hover::after { right: 0; }
.header-cta { justify-self: end; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.header-cta span { display: inline-grid; place-items: center; margin-left: 10px; width: 34px; height: 34px; border-radius: 50%; color: white; background: var(--red); transition: transform .3s ease; }
.header-cta:hover span { transform: rotate(45deg); }
.menu-button { display: none; }

.eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .22em; font-weight: 700; color: var(--red); margin: 0 0 25px; }
.eyebrow-light { color: #e2675f; }
.hero { min-height: 1120px; padding: 160px 4.5vw 0; position: relative; overflow: clip; background: radial-gradient(circle at 58% 27%, rgba(255,255,255,.86), transparent 36%), var(--ivory); }
.hero-glow { position: absolute; width: 58vw; height: 58vw; border: 1px solid rgba(6,26,44,.09); border-radius: 50%; right: -8vw; top: -13vw; box-shadow: inset 0 0 0 7vw rgba(255,255,255,.1), inset 0 0 0 14vw rgba(6,26,44,.015); transform: translate3d(0, calc(var(--scroll-y) * .08), 0) rotate(calc(var(--scroll-p) * 18deg)); }
.hero-copy { width: 48%; max-width: 670px; position: relative; z-index: 5; padding: 40px 0 0 4.5vw; }
.hero h1 { margin: 0; font-size: clamp(65px, 7.5vw, 124px); line-height: .82; letter-spacing: -.075em; font-weight: 660; }
.hero h1 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: var(--red); }
.hero-intro { max-width: 550px; font-size: 17px; line-height: 1.7; margin: 42px 0 0; color: #43515c; }
.hero-actions { display: flex; align-items: center; gap: 40px; margin-top: 36px; }
.button { min-height: 58px; padding: 0 25px; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; font-size: 13px; font-weight: 650; border: 0; cursor: pointer; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button:hover { transform: translateY(-3px); }
.button-dark { background: var(--navy); color: white; min-width: 235px; }
.button-dark:hover { background: var(--red); }
.button-red { background: var(--red); color: white; width: 100%; margin-top: 22px; }
.button-light { color: var(--navy); background: var(--ivory); min-width: 235px; }
.text-link { font-size: 13px; font-weight: 650; border-bottom: 1px solid var(--navy); padding: 13px 0; }
.text-link span { margin-left: 20px; }
.hero-stage { position: absolute; width: 53vw; height: 690px; top: 135px; right: -2vw; perspective: 1600px; transform-style: preserve-3d; z-index: 2; }
.hero-image-wrap { position: absolute; inset: 60px 0 0 6vw; clip-path: polygon(11% 0, 100% 7%, 94% 96%, 0 100%); overflow: hidden; transform: perspective(1400px) rotateY(-7deg) rotateX(1.5deg) translate3d(calc(var(--scroll-y) * -.015), calc(var(--scroll-y) * .06), 0); transform-origin: center left; box-shadow: -40px 45px 90px rgba(6,26,44,.18); }
.hero-image-wrap::after { content:""; position:absolute; inset:0; background: linear-gradient(135deg, rgba(6,26,44,.05), transparent 60%); }
.hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.07) translate3d(calc(var(--scroll-y) * .008), calc(var(--scroll-y) * -.035), 0); }
.depth-card { position: absolute; z-index: 4; background: rgba(244,240,231,.86); backdrop-filter: blur(14px); border: 1px solid rgba(6,26,44,.22); box-shadow: 0 24px 60px rgba(6,26,44,.15); display: flex; flex-direction: column; transform-style: preserve-3d; }
.depth-card-one { left: 1.5vw; top: 150px; padding: 20px; width: 170px; transform: translate3d(0, calc(var(--scroll-y) * .11), 70px) rotateY(6deg); }
.depth-card-one span, .depth-card-two span { font-size: 10px; color: var(--steel); text-transform: uppercase; letter-spacing: .12em; }
.depth-card-one strong { font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.depth-card-two { bottom: 20px; right: 7vw; padding: 18px 22px; transform: translate3d(0, calc(var(--scroll-y) * -.05), 110px) rotateY(-4deg); }
.depth-card-two strong { font-family: Georgia, serif; font-size: 35px; font-weight: 400; }
.orbit { position: absolute; border: 1px solid rgba(207,46,38,.35); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 280px; height: 280px; right: 20px; top: 0; transform: translate3d(0, calc(var(--scroll-y) * .12), -20px); }
.orbit-two { width: 130px; height: 130px; right: 95px; top: 75px; border-color: rgba(6,26,44,.26); transform: translate3d(0, calc(var(--scroll-y) * .04), 0); }
.hero-metrics { position: absolute; z-index: 6; left: 9vw; right: 4.5vw; bottom: 80px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(244,240,231,.8); backdrop-filter: blur(10px); }
.hero-metrics div { padding: 28px 25px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.hero-metrics div:last-child { border: 0; }
.hero-metrics strong { font-family: Georgia, serif; font-size: clamp(34px, 3.5vw, 56px); font-weight: 400; letter-spacing: -.04em; }
.hero-metrics span { font-size: 11px; text-transform: uppercase; letter-spacing: .13em; color: var(--steel); margin-top: 9px; }

.portal { min-height: 2200px; background: var(--navy); color: var(--ivory); display: grid; grid-template-columns: 43% 57%; padding: 0 8vw; position: relative; }
.portal::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 70% 35%, rgba(68,111,139,.23), transparent 30%), linear-gradient(120deg, transparent 45%, rgba(255,255,255,.035) 45.1%, transparent 45.3%); }
.portal-sticky { height: 100vh; position: sticky; top: 0; padding-top: 30vh; z-index: 2; }
.portal-number { position: absolute; top: 17vh; left: -4vw; font-family: var(--font-geist-mono); font-size: 11px; color: #8394a1; writing-mode: vertical-rl; }
.portal-sticky h2 { font-size: clamp(52px, 6vw, 94px); line-height: .92; letter-spacing: -.06em; margin: 0; }
.portal-sticky h2 span { font-family: Georgia, serif; font-weight: 400; color: #bcc7cc; }
.portal-sticky > p:last-child { max-width: 400px; color: #aebbc4; line-height: 1.7; font-size: 17px; margin-top: 30px; }
.principle-stack { position: relative; z-index: 2; padding: 45vh 0 25vh; perspective: 1600px; }
.principle-card { min-height: 430px; border: 1px solid rgba(244,240,231,.23); padding: 45px; margin-bottom: 17vh; background: rgba(11,38,61,.78); backdrop-filter: blur(14px); position: sticky; top: 24vh; box-shadow: 0 50px 110px rgba(0,0,0,.23); transform-style: preserve-3d; transition: transform .4s ease; }
.principle-card:hover { transform: perspective(1000px) rotateY(-2deg) translateZ(15px); }
.principle-card > span { display:block; color:#8293a0; font-family:var(--font-geist-mono); font-size:11px; }
.principle-card h3 { font-size: clamp(38px, 4.5vw, 70px); letter-spacing: -.055em; margin: 85px 0 25px; }
.principle-card p { color:#b7c2c9; max-width:440px; font-size:17px; line-height:1.65; }
.principle-card small { display:inline-block; margin-top:40px; color:#e2675f; text-transform:uppercase; letter-spacing:.16em; }
.principle-two { transform: translateX(6%) rotateZ(1.2deg); background:#0f304a; }
.principle-three { transform: translateX(-3%) rotateZ(-1deg); background:#173c55; }

.continuity { min-height: 950px; padding: 10vw 8vw; display: grid; grid-template-columns: 1.1fr .9fr; gap: 8vw; align-items: center; background: var(--paper); overflow: hidden; }
.continuity-image { height: 680px; position: relative; overflow: hidden; box-shadow: 45px 45px 0 var(--navy); transform: perspective(1200px) rotateY(3deg); }
.continuity-image img { height: 115%; object-fit: cover; transform: translateY(calc(var(--scroll-y) * -.018)); }
.continuity-copy h2, .section-heading h2, .support-intro h2, .regions h2, .global h2, .resource-heading h2 { font-size: clamp(52px, 6.4vw, 94px); line-height: .94; letter-spacing: -.065em; margin: 0; }
.continuity-copy > p:nth-of-type(2) { color:#50606b; font-size:17px; line-height:1.75; max-width:520px; margin:35px 0; }
.quote-line { border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:25px; align-items:start; padding-top:25px; }
.quote-line span { font-family:Georgia,serif; font-size:50px; }
.quote-line p { margin:6px 0 0; font-size:12px; line-height:1.6; color:var(--steel); }

.challenges { background:var(--ivory); padding: 12vw 8vw 16vw; }
.section-heading { display:grid; grid-template-columns:1fr 1.2fr; gap:8vw; margin-bottom:10vw; }
.section-heading .eyebrow { grid-column:1/-1; }
.section-heading > p:last-child { align-self:end; max-width:420px; color:#56636d; line-height:1.7; }
.challenge-deck { display:flex; flex-direction:column; gap:30px; perspective:1600px; }
.challenge-panel { min-height:360px; position:sticky; top:115px; display:grid; grid-template-columns:.35fr 1.2fr .7fr; align-items:center; padding:45px; color:white; background:var(--navy); border:1px solid rgba(255,255,255,.13); box-shadow:0 35px 80px rgba(6,26,44,.22); transform:perspective(1600px) rotateX(1.5deg); }
.challenge-panel:nth-child(2) { top:135px; background:#12344c; }
.challenge-panel:nth-child(3) { top:155px; background:#24516b; }
.panel-index { font-family:var(--font-geist-mono); color:#91a1ac; }
.challenge-panel p { text-transform:uppercase; letter-spacing:.18em; color:#e2675f; font-size:10px; margin:0 0 18px; }
.challenge-panel h3 { font-size:clamp(38px,5vw,72px); letter-spacing:-.06em; line-height:1; margin:0 0 20px; }
.challenge-panel div span { color:#b9c4cb; max-width:480px; display:block; line-height:1.6; }
.challenge-panel strong { font-family:Georgia,serif; font-size:clamp(45px,6vw,90px); font-weight:400; text-align:right; }
.challenge-panel small { grid-column:3; text-align:right; text-transform:uppercase; letter-spacing:.12em; color:#9aacb7; }

.precision-break { min-height:950px; background:#081b29; color:white; display:grid; grid-template-columns:.85fr 1.15fr; overflow:hidden; }
.precision-copy { padding:12vw 4vw 10vw 8vw; align-self:center; z-index:2; }
.precision-copy h2 { font-size:clamp(58px,7vw,105px); line-height:.88; letter-spacing:-.07em; margin:0; }
.precision-copy > p:last-child { color:#a9b7c0; max-width:420px; line-height:1.7; margin-top:35px; }
.precision-image { position:relative; height:100%; min-height:950px; transform:perspective(1400px) rotateY(-3deg) scale(1.03); transform-origin:left; }
.precision-image img { width:100%; height:100%; object-fit:cover; opacity:.82; }
.precision-image::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081b29,transparent 35%); }
.precision-ring { position:absolute;z-index:2;width:420px;height:420px;border:1px solid rgba(255,255,255,.55);border-radius:50%;left:22%;top:27%;box-shadow:0 0 0 75px rgba(255,255,255,.04),0 0 0 150px rgba(255,255,255,.025); transform:rotate(calc(var(--scroll-p) * 180deg)); }
.precision-ring::before,.precision-ring::after{content:"";position:absolute;background:var(--red);border-radius:50%;width:9px;height:9px;top:30px;left:93px;box-shadow:240px 330px 0 #fff;}
.precision-label { position:absolute;z-index:3;right:5vw;bottom:5vw;text-transform:uppercase;letter-spacing:.22em;font-size:10px; }

.support { min-height:1050px; padding:12vw 8vw; display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:5vw; background:var(--paper); }
.support-intro > p:last-child { max-width:470px; color:#586671; line-height:1.7; margin-top:35px; }
.ecosystem-orbit { width:100%; aspect-ratio:1; position:relative; max-width:720px; margin:auto; border:1px solid rgba(6,26,44,.15); border-radius:50%; transform-style:preserve-3d; perspective:1200px; }
.ecosystem-orbit::before,.ecosystem-orbit::after{content:"";position:absolute;border:1px solid rgba(6,26,44,.12);border-radius:50%;inset:15%;}.ecosystem-orbit::after{inset:32%;}
.ecosystem-core { position:absolute;inset:33%;border:8px solid var(--paper);border-radius:50%;background:var(--navy);color:white;display:grid;place-content:center;text-align:center;z-index:8;box-shadow:0 28px 70px rgba(6,26,44,.34),0 0 0 1px rgba(207,46,38,.28);transform:translateZ(90px);pointer-events:none;}
.ecosystem-core span{font-size:10px;letter-spacing:.24em;color:#e2675f;font-weight:700}.ecosystem-core strong{font-family:Georgia,serif;font-size:29px;line-height:1;font-weight:400}
.eco { position:absolute;width:155px;height:105px;background:var(--ivory);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:20px;z-index:4;box-shadow:0 16px 45px rgba(6,26,44,.12);transition:transform .3s ease,background .3s ease; }
.eco:hover{transform:translateY(-8px) translateZ(30px);background:white}.eco strong{font-size:16px}.eco span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--steel);margin-top:7px}.eco-one{top:2%;left:calc(50% - 78px)}.eco-two{top:calc(50% - 53px);right:-4%}.eco-three{bottom:2%;left:calc(50% - 78px)}.eco-four{top:calc(50% - 53px);left:-4%}
.orbit-line{position:absolute;inset:9%;border:1px dashed rgba(207,46,38,.35);border-radius:50%;animation:spin 24s linear infinite}.line-two{inset:26%;animation-direction:reverse;animation-duration:16s}@keyframes spin{to{transform:rotate(360deg)}}

.regions { padding:12vw 8vw; background:var(--navy);color:white; }
.regions-top { display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-bottom:8vw; }
.regions-top > p {color:#9fb0bb;line-height:1.7;max-width:450px;}
.region-interface {display:grid;grid-template-columns:.9fr 1.1fr;border-top:1px solid rgba(255,255,255,.2);box-shadow:0 40px 100px rgba(0,0,0,.18);}
.region-map-panel {position:relative;min-height:620px;border-right:1px solid rgba(255,255,255,.2);background:radial-gradient(circle at 50% 46%,rgba(62,113,145,.2),transparent 55%),#081f32;display:grid;place-items:center;padding:78px 55px 58px;overflow:hidden;}
.region-map-panel::before{content:"16 Bundesländer";position:absolute;left:28px;bottom:25px;font-family:var(--font-geist-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#6f8999;}
.map-status{position:absolute;z-index:3;left:28px;right:28px;top:25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:16px;pointer-events:none;}
.map-status span,.map-instruction{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#78909f;}
.map-status strong{font-size:12px;font-weight:600;color:white;letter-spacing:.02em;}
.germany-map{width:min(100%,390px);max-height:480px;overflow:visible;filter:drop-shadow(0 22px 34px rgba(0,0,0,.25));}
.state-shape{fill:#173f59;stroke:#7992a2;stroke-width:1.4;vector-effect:non-scaling-stroke;cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .28s cubic-bezier(.2,.8,.2,1),fill .25s ease,filter .25s ease,stroke .25s ease;outline:none;}
.state-shape:hover,.state-shape:focus-visible{fill:#2f6c8e;stroke:#f4f0e7;transform:translateY(-9px) scale(1.025);filter:drop-shadow(0 18px 8px rgba(0,0,0,.38));}
.state-shape.active{fill:var(--red);stroke:#f4f0e7;transform:translateY(-5px) scale(1.015);filter:drop-shadow(0 13px 7px rgba(0,0,0,.34));}
.state-shape.active:hover,.state-shape.active:focus-visible{fill:#e1453c;transform:translateY(-10px) scale(1.03);}
.map-instruction{position:absolute;right:28px;bottom:24px;margin:0;}.map-instruction span{color:#e2675f;font-weight:700;}
.region-card {position:relative;overflow:hidden;padding:70px;min-height:520px;background:linear-gradient(135deg,#0d2b43,#163d56);animation:region-in .5s ease both;}
@keyframes region-in{from{opacity:.4;transform:perspective(900px) rotateY(4deg) translateX(20px)}to{opacity:1;transform:none}}
.region-ghost{position:absolute;font-size:390px;font-weight:700;line-height:.8;right:-50px;bottom:-45px;color:rgba(255,255,255,.035);letter-spacing:-.1em}.region-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#92a4af}.region-card h3{font-size:clamp(45px,6vw,85px);line-height:.95;letter-spacing:-.06em;margin:50px 0 30px;max-width:600px}.region-card strong{display:block;color:#e2675f;font-size:13px;letter-spacing:.05em}.region-card p{max-width:500px;color:#adbbc4;line-height:1.7;margin:25px 0 55px}.region-card a{font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #78909e;padding-bottom:10px}.region-card a i{font-style:normal;margin-left:30px}

.global { min-height:1000px; padding:12vw 8vw;position:relative;overflow:hidden;background:var(--ivory);display:grid;grid-template-columns:.85fr 1.15fr;align-items:center; }
.global-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(6,26,44,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(6,26,44,.07) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(circle at 70% 50%,#000,transparent 63%)}
.global-copy{position:relative;z-index:2}.global-copy>p:last-child{max-width:460px;line-height:1.7;color:#52616c;margin-top:35px}
.global-routes{position:relative;z-index:2;aspect-ratio:1;margin-left:5vw;border:1px solid rgba(6,26,44,.14);border-radius:50%;transform:perspective(1200px) rotateX(61deg) rotateZ(calc(-20deg + var(--scroll-p)*20deg));transform-style:preserve-3d;box-shadow:inset 0 0 100px rgba(6,26,44,.05)}
.global-routes::before,.global-routes::after{content:"";position:absolute;inset:17%;border:1px solid rgba(6,26,44,.13);border-radius:50%}.global-routes::after{inset:35%}.global-core{position:absolute;inset:42%;background:var(--red);border-radius:50%;display:grid;place-items:center;color:white;transform:translateZ(90px);box-shadow:0 35px 35px rgba(6,26,44,.22)}.global-core span{font-weight:700;letter-spacing:.12em}.route{position:absolute;padding:12px 16px;background:var(--navy);color:white;font-size:10px;text-transform:uppercase;letter-spacing:.1em;transform:rotateZ(20deg) rotateX(-61deg) translateZ(35px);box-shadow:0 12px 25px rgba(6,26,44,.25)}.route i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 7px rgba(207,46,38,.2)}.route-eu{top:13%;left:38%}.route-india{bottom:15%;right:13%}.route-us{top:45%;left:-4%}.route-asia{top:38%;right:-5%}

.resources { padding:12vw 8vw;background:var(--paper); }
.resource-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8vw}.resource-heading .eyebrow{align-self:flex-start}.funding-finder{border:1px solid var(--line);display:grid;grid-template-columns:.8fr 1fr;position:relative;overflow:hidden;background:var(--ivory);box-shadow:0 40px 100px rgba(6,26,44,.08)}.finder-copy{padding:55px;border-right:1px solid var(--line)}.finder-copy>span{font-family:var(--font-geist-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--steel)}.finder-copy h3{font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.055em;margin:70px 0 25px}.finder-copy p{font-size:14px;line-height:1.7;color:#5a6872;max-width:400px}.finder-form{padding:55px}.finder-form label{display:block;font-size:12px;font-weight:700;margin-bottom:25px}.finder-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finder-options button{padding:19px;border:1px solid var(--line);background:transparent;color:var(--navy);display:flex;justify-content:space-between;cursor:pointer;text-align:left}.finder-options button.selected{background:var(--navy);color:white}.finder-results{position:absolute;inset:0;background:var(--navy);color:white;padding:55px;transform:translateY(103%);transition:transform .6s cubic-bezier(.77,0,.18,1);display:flex;flex-direction:column;z-index:3}.finder-results.visible{transform:none}.finder-results>span{text-transform:uppercase;letter-spacing:.16em;color:#9dafba;font-size:10px;margin-bottom:45px}.finder-results strong{font-size:clamp(28px,4vw,52px);letter-spacing:-.05em;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between}.finder-results i{font-style:normal;color:#e2675f}.resource-links{display:grid;grid-template-columns:1fr 1fr;margin-top:5vw;border-top:1px solid var(--line)}.resource-links a{display:grid;grid-template-columns:50px 1fr auto;align-items:center;padding:28px 25px 28px 0;border-bottom:1px solid var(--line);font-size:14px;transition:padding .25s,background .25s}.resource-links a:nth-child(odd){border-right:1px solid var(--line);padding-right:25px}.resource-links a:nth-child(even){padding-left:25px}.resource-links a:hover{padding-left:15px;background:white}.resource-links span{font-family:var(--font-geist-mono);font-size:10px;color:var(--steel)}.resource-links i{font-style:normal;color:var(--red)}

.connect { min-height:850px;padding:12vw 8vw;background:var(--red);color:white;position:relative;overflow:hidden; }
.connect::before{content:"";position:absolute;width:70vw;height:70vw;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-20vw;top:-30vw;box-shadow:0 0 0 8vw rgba(255,255,255,.025),0 0 0 16vw rgba(255,255,255,.02);transform:translateY(calc(var(--scroll-p) * 120px))}.connect h2{font-size:clamp(65px,9vw,140px);line-height:.82;letter-spacing:-.075em;margin:0;position:relative;z-index:2}.connect h2 em{font-family:Georgia,serif;font-weight:400;color:var(--navy)}.connect-bottom{display:flex;align-items:end;justify-content:space-between;position:relative;z-index:2;margin-top:80px;border-top:1px solid rgba(255,255,255,.35);padding-top:30px}.connect-bottom p{max-width:520px;line-height:1.7;color:rgba(255,255,255,.75)}
footer{background:var(--navy);color:white;padding:70px 8vw 35px;display:grid;grid-template-columns:1fr 1fr;gap:50px}footer .footer-brand{font-size:28px}footer>p{color:#96a8b4;line-height:1.7;max-width:500px;margin:0}.footer-links{grid-column:1/-1;display:flex;gap:35px;padding:30px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);font-size:12px}.footer-links a:first-child{margin-right:auto}footer small{grid-column:1/-1;color:#71848f;font-size:10px}

@media (max-width: 1024px) {
  .site-header{grid-template-columns:1fr auto}.nav,.header-cta{display:none}.menu-button{display:flex;width:42px;height:42px;border:0;background:var(--navy);flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-button span{width:18px;height:1px;background:white}.nav-open{display:flex;position:absolute;top:82px;left:0;right:0;background:var(--ivory);padding:35px 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .hero{min-height:1180px;padding-top:135px}.hero-copy{width:70%;padding-left:0}.hero-stage{top:490px;width:92vw;height:520px}.hero-image-wrap{inset:20px 0 0 9vw}.hero-metrics{left:4.5vw;bottom:35px}.portal{grid-template-columns:1fr;padding:0 6vw}.portal-sticky{height:auto;position:relative;padding:18vh 0 4vh}.principle-stack{padding:8vh 0 15vh}.principle-card{position:relative;top:auto;margin-bottom:5vh}.continuity,.support,.global{grid-template-columns:1fr}.continuity-image{height:550px}.precision-break{grid-template-columns:1fr}.precision-image{min-height:600px}.support{gap:10vw}.ecosystem-orbit{width:80vw}.region-interface{grid-template-columns:1fr 1fr}.region-map-panel{padding-left:35px;padding-right:35px}.region-card{padding:50px 40px}.global-routes{width:75vw;margin:5vw auto}.resource-heading{display:block}.funding-finder{grid-template-columns:1fr}.finder-copy{border-right:0;border-bottom:1px solid var(--line)}
}

@media (max-width: 680px) {
  .site-header{height:68px;padding:0 20px}.brand{font-size:19px}.nav-open{top:68px}.hero{min-height:1040px;padding:110px 20px 0}.hero-copy{width:100%}.hero h1{font-size:60px}.hero-intro{font-size:15px;margin-top:28px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-stage{top:490px;height:365px;width:100vw}.hero-image-wrap{inset:0 0 0 20px}.depth-card-one{display:none}.depth-card-two{right:20px;bottom:-15px}.orbit{display:none}.hero-metrics{left:20px;right:20px;bottom:28px;grid-template-columns:1fr 1fr}.hero-metrics div{padding:15px}.hero-metrics div:nth-child(2){border-right:0}.hero-metrics strong{font-size:29px}.hero-metrics span{font-size:8px}
  .portal{min-height:auto;padding:0 20px}.portal-sticky{padding-top:120px}.portal-sticky h2{font-size:50px}.portal-sticky>p:last-child{font-size:15px}.principle-card{min-height:340px;padding:28px;margin-bottom:25px}.principle-card h3{font-size:43px;margin-top:60px}.principle-card p{font-size:15px}.principle-two,.principle-three{transform:none}
  .continuity,.challenges,.support,.regions,.global,.resources,.connect{padding-left:20px;padding-right:20px}.continuity{padding-top:100px;padding-bottom:100px;gap:85px}.continuity-image{height:380px;box-shadow:20px 20px 0 var(--navy)}.continuity-copy h2,.section-heading h2,.support-intro h2,.regions h2,.global h2,.resource-heading h2{font-size:48px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading .eyebrow{grid-column:auto}.challenge-panel{position:relative;top:auto!important;grid-template-columns:1fr;padding:28px;gap:20px;min-height:430px}.challenge-panel strong,.challenge-panel small{text-align:left}.challenge-panel small{grid-column:auto}.precision-copy{padding:100px 20px}.precision-copy h2{font-size:62px}.precision-image{min-height:500px}.precision-ring{width:230px;height:230px;left:23%;top:25%}.ecosystem-orbit{width:calc(100vw - 40px)}.ecosystem-core{inset:31%;border-width:5px}.ecosystem-core strong{font-size:21px}.eco{width:110px;height:80px;padding:12px}.eco strong{font-size:12px}.eco span{font-size:8px}.eco-one{left:calc(50% - 55px)}.eco-two{top:calc(50% - 40px)}.eco-three{left:calc(50% - 55px)}.eco-four{top:calc(50% - 40px)}.regions-top{grid-template-columns:1fr}.region-interface{grid-template-columns:1fr}.region-map-panel{min-height:560px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:75px 28px 55px}.germany-map{max-height:420px}.map-status{left:20px;right:20px}.map-instruction{right:20px}.region-map-panel::before{left:20px}.region-card{padding:35px 25px;min-height:470px}.region-card h3{font-size:47px}.global{min-height:800px;padding-top:100px;padding-bottom:100px}.global-routes{width:90vw;margin-left:-5vw}.route{font-size:8px;padding:8px}.resource-heading{margin-bottom:60px}.funding-finder{display:block}.finder-copy,.finder-form{padding:30px}.finder-copy h3{margin-top:45px}.finder-options{grid-template-columns:1fr}.finder-results{padding:30px}.finder-results strong{font-size:24px}.resource-links{grid-template-columns:1fr}.resource-links a:nth-child(odd),.resource-links a:nth-child(even){border-right:0;padding-left:0}.connect{min-height:720px;padding-top:120px}.connect h2{font-size:61px}.connect-bottom{align-items:flex-start;flex-direction:column;gap:30px}.footer-brand{font-size:23px}footer{padding:60px 20px 30px;grid-template-columns:1fr}.footer-links{flex-wrap:wrap;gap:22px}footer small,footer .footer-links{grid-column:auto}
}

/* Homepage narrative V2: blueprint-led sections using the existing visual system. */
body:not(.landing):not(.legal) .hero-note { max-width: 550px; margin: 14px 0 0; color: #5b6871; font-size: 14px; line-height: 1.65; }
body:not(.landing):not(.legal) .hero-route-note { max-width: 550px; margin: 8px 0 0; color: #5b6871; font-size: 13px; line-height: 1.6; }
body:not(.landing):not(.legal) .hero h1 { font-size: clamp(58px,6.7vw,108px); line-height: .88; }
.section-link { display: inline-flex; align-items: center; gap: 24px; margin-top: 24px; padding-bottom: 9px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.light-link { color: var(--paper); }
.section-cta { margin-top: 38px; width: fit-content; }
.compact-heading h2 { text-wrap: balance; }

.evolution { padding: 90px 8vw; background: var(--paper); overflow: hidden; }
.timeline { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(270px,1fr); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.timeline-card { min-height: 360px; padding: 28px; border-right: 1px solid var(--line); display: flex; flex-direction: column; scroll-snap-align: start; transition: background .25s ease, color .25s ease, transform .25s ease; }
.timeline-card:hover,.timeline-card:focus-visible { background: var(--navy); color: white; transform: translateY(-4px); }
.timeline-card > span,.route-card > span,.topic-card > span { font-family: var(--font-geist-mono); font-size: 10px; letter-spacing: .12em; color: var(--red); text-transform: uppercase; }
.timeline-card h3 { margin: 62px 0 18px; font-size: 28px; line-height: 1.08; letter-spacing: -.035em; }
.timeline-card p { margin: 0; color: #52616c; line-height: 1.65; }
.timeline-card:hover p,.timeline-card:focus-visible p { color: #b9c6ce; }
.timeline-card small { margin-top: auto; padding-top: 28px; color: var(--red); font-weight: 700; }

body:not(.landing):not(.legal) .challenge-deck { grid-template-columns: repeat(4,minmax(0,1fr)); }
body:not(.landing):not(.legal) .challenge-panel { color: white; text-decoration: none; }
body:not(.landing):not(.legal) .challenge-panel:nth-child(4) { background: #315f78; }
body:not(.landing):not(.legal) .challenge-panel:hover,body:not(.landing):not(.legal) .challenge-panel:focus-visible { transform: translateY(-7px); }

.card-section { padding: 90px 8vw; }
.audience-section { background: var(--ivory); }
.audience-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.route-card { min-height: 330px; padding: 36px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; transition: background .25s ease, color .25s ease, transform .25s ease; }
.route-card h3 { max-width: 580px; margin: 55px 0 18px; font-size: clamp(30px,3.4vw,52px); line-height: 1; letter-spacing: -.05em; }
.route-card p { max-width: 620px; margin: 0; color: #52616c; line-height: 1.7; }
.route-card strong,.topic-card strong,.insight-card strong { margin-top: auto; padding-top: 30px; color: var(--red); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.route-card:hover,.route-card:focus-visible { background: white; transform: translateY(-5px); }

.topic-section { background: var(--navy); color: white; }
.topic-section .section-heading > p:last-child { color: #aebbc4; }
.topic-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.topic-card { min-height: 330px; padding: 30px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; transition: background .25s ease, transform .25s ease; }
.topic-card h3 { margin: 48px 0 16px; font-size: clamp(27px,2.5vw,39px); line-height: 1.02; letter-spacing: -.045em; }
.topic-card p { margin: 0; color: #aebbc4; line-height: 1.65; }
.topic-card:hover,.topic-card:focus-visible { background: #12344c; transform: translateY(-5px); }

.feature-split { min-height: 590px; display: grid; grid-template-columns: 1fr 1fr; background: var(--ivory); }
.feature-split + .feature-split { border-top: 1px solid var(--line); }
.feature-media { min-height: 590px; overflow: hidden; background: var(--navy); }
.feature-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.16,1,.3,1); }
.feature-split:hover .feature-media img { transform: scale(1.025); }
.feature-copy { padding: 75px 8vw; display: flex; flex-direction: column; justify-content: center; }
.feature-copy h2 { margin: 18px 0 25px; font-size: clamp(46px,5.5vw,82px); line-height: .96; letter-spacing: -.06em; text-wrap: balance; }
.feature-copy > p:not(.eyebrow) { max-width: 650px; margin: 0; color: #52616c; font-size: 17px; line-height: 1.75; }
.feature-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 34px; }

body:not(.landing):not(.legal) .global-copy h2 { font-size: clamp(48px,5.5vw,82px); text-wrap: balance; }
body:not(.landing):not(.legal) .global-copy .section-cta { color: white; }
.insights-section { background: var(--paper); }
.insight-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.insight-card { min-height: 290px; padding: 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; transition: background .25s ease, transform .25s ease; }
.insight-card > span { color: var(--red); font-size: 10px; text-transform: uppercase; letter-spacing: .15em; }
.insight-card h3 { margin: 62px 0 0; font-size: clamp(28px,3vw,45px); line-height: 1.05; letter-spacing: -.045em; }
.insight-card:hover,.insight-card:focus-visible { background: white; transform: translateY(-5px); }
.connect-intro { max-width: 760px; position: relative; z-index: 2; color: rgba(255,255,255,.8); font-size: 17px; line-height: 1.7; margin: 34px 0 0; }
.final-actions { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 45px; border-top: 1px solid rgba(255,255,255,.35); border-left: 1px solid rgba(255,255,255,.35); }
.final-actions a { min-height: 72px; padding: 20px 24px; border-right: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); display: flex; align-items: center; justify-content: space-between; gap: 20px; font-weight: 700; transition: background .25s ease, color .25s ease; }
.final-actions a:hover,.final-actions a:focus-visible { background: white; color: var(--red); }

@media (max-width: 1100px) {
  body:not(.landing):not(.legal) .challenge-deck,.topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .feature-copy { padding: 60px 6vw; }
}
@media (max-width: 800px) {
  .evolution,.card-section { padding: 70px 24px; }
  .audience-grid,.topic-grid,.insight-grid { grid-template-columns: 1fr; }
  .route-card,.topic-card,.insight-card { min-height: 280px; padding: 28px; }
  .feature-split { min-height: auto; grid-template-columns: 1fr; }
  .feature-media { min-height: 360px; }
  .feature-copy { padding: 68px 24px; }
  .talent-feature .feature-copy { order: 2; }
  .final-actions { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  body:not(.landing):not(.legal) .hero h1 { font-size: clamp(48px,14vw,64px); }
  body:not(.landing):not(.legal) .hero-note { font-size: 13px; }
  body:not(.landing):not(.legal) .portal { padding-top: 68px; padding-bottom: 68px; }
  body:not(.landing):not(.legal) .portal-sticky h2 { font-size: 46px; }
  body:not(.landing):not(.legal) .challenge-deck { grid-template-columns: 1fr; }
  body:not(.landing):not(.legal) .challenge-panel { min-height: 350px; }
  .timeline-card { min-height: 330px; }
  .connect-intro { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-image-wrap,.hero-image-wrap img,.depth-card,.hero-glow,.precision-ring,.connect::before,.global-routes{transform:none!important}
}

.landing{background:var(--paper)}
.landing-hero{min-height:760px;padding:190px 8vw 100px;background:var(--navy);color:white;display:grid;grid-template-columns:1fr auto;align-items:end;position:relative;overflow:hidden}.landing-hero:before{content:"";position:absolute;width:65vw;height:65vw;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-20vw;top:-30vw;box-shadow:0 0 0 9vw rgba(255,255,255,.02),0 0 0 18vw rgba(255,255,255,.015)}.landing-hero>div{position:relative;z-index:2;max-width:1050px}.landing-hero h1{font-size:clamp(62px,8vw,128px);line-height:.87;letter-spacing:-.075em;margin:0;max-width:1000px}.landing-hero>div>p:last-child{font-size:19px;line-height:1.75;color:#adbbc4;max-width:720px;margin:45px 0 0}.landing-mark{font-family:Georgia,serif;font-size:180px;color:rgba(255,255,255,.045);line-height:.7;position:relative;z-index:1}.landing-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:-1px 8vw 0;background:var(--ivory);border:1px solid var(--line);position:relative;z-index:3}.landing-stats div{padding:32px;border-right:1px solid var(--line);display:flex;flex-direction:column}.landing-stats div:last-child{border:0}.landing-stats strong{font-family:Georgia,serif;font-size:35px;font-weight:400}.landing-stats span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-top:8px}.landing-body{padding:11vw 8vw;display:grid;grid-template-columns:280px 1fr;gap:9vw}.landing-body aside{position:sticky;top:120px;height:max-content;display:flex;flex-direction:column;border-top:1px solid var(--line)}.landing-body aside>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--red);padding:20px 0}.landing-body aside a{font-size:12px;line-height:1.4;padding:15px 0;border-top:1px solid var(--line);color:#61707a}.landing-articles article{padding:0 0 90px;margin-bottom:90px;border-bottom:1px solid var(--line);scroll-margin-top:120px}.landing-articles article>span{font-family:var(--font-geist-mono);font-size:10px;color:var(--red)}.landing-articles h2{font-size:clamp(42px,5vw,75px);line-height:.95;letter-spacing:-.06em;margin:28px 0}.landing-articles p{font-size:18px;line-height:1.85;color:#485863;max-width:790px}.landing-articles ul{list-style:none;padding:20px 0 0;margin:30px 0 0;border-top:1px solid var(--line);max-width:790px}.landing-articles li{padding:15px 0 15px 28px;border-bottom:1px solid var(--line);position:relative}.landing-articles li:before{content:"↗";position:absolute;left:0;color:var(--red)}.landing-faq{padding:11vw 20vw;background:var(--ivory)}.landing-faq h2{font-size:clamp(55px,7vw,105px);line-height:.9;letter-spacing:-.07em;margin:0 0 70px}.landing-faq h2 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.landing-faq details{border-top:1px solid var(--line);padding:0}.landing-faq details:last-child{border-bottom:1px solid var(--line)}.landing-faq summary{list-style:none;cursor:pointer;padding:28px 0;font-size:18px;font-weight:650;display:flex;justify-content:space-between}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary span{color:var(--red);font-size:25px}.landing-faq details p{max-width:700px;color:#52616c;line-height:1.7;margin:0 0 30px}.landing-next{padding:9vw 8vw;background:var(--red);color:white}.landing-next>p{text-transform:uppercase;letter-spacing:.18em;font-size:10px}.landing-next>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid rgba(255,255,255,.35)}.landing-next a{padding:30px 30px 30px 0;border-right:1px solid rgba(255,255,255,.35);display:grid;grid-template-columns:1fr auto;gap:20px}.landing-next a:not(:first-child){padding-left:30px}.landing-next a span{grid-column:1/-1;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.7)}.landing-next a strong{font-size:20px;line-height:1.25}.landing-next a i{font-style:normal}
@media(max-width:800px){.landing .site-header .nav,.landing .site-header .header-cta{display:none}.landing-hero{min-height:650px;padding:150px 20px 70px;grid-template-columns:1fr}.landing-hero h1{font-size:58px}.landing-hero>div>p:last-child{font-size:16px}.landing-mark{display:none}.landing-stats{margin:0;grid-template-columns:1fr 1fr}.landing-stats div:nth-child(2){border-right:0}.landing-body{padding:100px 20px;display:block}.landing-body aside{display:none}.landing-articles article{padding-bottom:60px;margin-bottom:60px}.landing-articles p{font-size:16px}.landing-faq{padding:100px 20px}.landing-faq h2{font-size:53px}.landing-next{padding:80px 20px}.landing-next>div{grid-template-columns:1fr}.landing-next a,.landing-next a:not(:first-child){padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.35)}}

/* Immersive editorial landing pages */
.landing .landing-hero{min-height:900px;padding:180px 8vw 110px;background:radial-gradient(circle at 79% 45%,#174560 0,transparent 31%),var(--navy);grid-template-columns:1fr 34vw;align-items:center}.landing .landing-hero:before{inset:0;width:auto;height:auto;border:0;border-radius:0;right:0;top:0;box-shadow:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000)}.landing .landing-hero>div:first-child{position:relative;z-index:2}.landing .landing-hero h1{font-size:clamp(62px,7.2vw,116px)}.landing .landing-hero>div:first-child>p:nth-of-type(2){font-size:19px;line-height:1.75;color:#adbbc4;max-width:720px;margin:45px 0 0}.landing-scroll{display:inline-flex;gap:45px;align-items:center;margin-top:38px;padding:18px 22px;background:var(--red);font-size:12px;font-weight:700}.landing-sculpture{width:31vw;aspect-ratio:1;position:relative;perspective:1000px;transform:rotate(-9deg);z-index:1}.landing-sculpture i{position:absolute;border:1px solid rgba(255,255,255,.23);inset:5%;transform:rotate(45deg);box-shadow:0 40px 90px rgba(0,0,0,.3)}.landing-sculpture i:nth-child(2){inset:20%;transform:rotate(25deg) translateZ(70px);border-color:rgba(207,46,38,.8)}.landing-sculpture i:nth-child(3){inset:34%;transform:rotate(10deg) translateZ(130px);background:rgba(255,255,255,.05);backdrop-filter:blur(8px)}.landing-sculpture b{position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-size:100px;font-weight:400;color:white;transform:translateZ(180px)}.landing .landing-stats{margin:-50px 8vw 0;background:rgba(244,240,231,.94);backdrop-filter:blur(15px);box-shadow:0 35px 90px rgba(6,26,44,.14)}
.landing-story{padding:13vw 8vw;display:grid;grid-template-columns:.65fr 1.35fr;gap:10vw}.landing-story>div{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;height:max-content}.landing-story>div span{font-family:var(--font-geist-mono);font-size:10px;color:var(--red)}.landing-story>div p{text-transform:uppercase;letter-spacing:.16em;font-size:10px;margin:0}.landing-story h2{font-size:clamp(52px,6.2vw,96px);line-height:.91;letter-spacing:-.07em;margin:0}.landing-story article>p{font-size:20px;line-height:1.85;color:#4f5e68;max-width:850px;margin-top:50px}.landing-lenses{padding:10vw 8vw;background:var(--navy);color:white}.landing-lenses>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.2)}.landing-lenses article{min-height:420px;padding:45px;border-right:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.landing-lenses article:last-child{border:0}.landing-lenses article:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-90px;bottom:-90px}.landing-lenses article>span{font-family:var(--font-geist-mono);font-size:10px;color:#e2675f}.landing-lenses h3{font-family:Georgia,serif;font-size:55px;font-weight:400;margin:140px 0 25px}.landing-lenses article p{color:#adbbc4;line-height:1.7}
.landing .landing-body{grid-template-columns:230px 1fr;gap:6vw}.landing-articles .chapter{padding:0 0 110px;margin-bottom:110px;display:grid;grid-template-columns:.72fr 1.28fr;gap:5vw;align-items:start}.chapter-visual{min-height:520px;background:linear-gradient(145deg,#0b2940,#061a2c);position:sticky;top:120px;color:white;overflow:hidden;padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:25px 25px 0 rgba(207,46,38,.12)}.chapter-visual:before{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-170px;top:50px;box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018)}.chapter-visual b{font-family:Georgia,serif;font-size:105px;font-weight:400;position:relative}.chapter-visual i{width:10px;height:10px;background:var(--red);position:relative}.chapter-visual span{text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:#9cafba;position:relative}.chapter-copy>span{font-family:var(--font-geist-mono);font-size:10px;color:var(--red)}.landing .chapter-copy p{max-width:none}.chapter-depth{font-size:15px!important;padding-top:25px;border-top:1px solid var(--line);margin-top:30px}.landing-quote{min-height:720px;padding:12vw 14vw;background:var(--red);color:white;position:relative;overflow:hidden}.landing-quote>span{text-transform:uppercase;letter-spacing:.18em;font-size:10px}.landing-quote blockquote{font-family:Georgia,serif;font-size:clamp(45px,5.7vw,88px);line-height:1.06;letter-spacing:-.045em;margin:70px 0 0;max-width:1200px;position:relative;z-index:2}.landing-quote>div{position:absolute;width:55vw;height:55vw;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-20vw;top:-25vw;box-shadow:0 0 0 8vw rgba(255,255,255,.025),0 0 0 16vw rgba(255,255,255,.018)}
@media(max-width:800px){.landing .landing-hero{min-height:780px;padding:140px 20px 70px;grid-template-columns:1fr}.landing .landing-hero h1{font-size:57px}.landing .landing-hero>div:first-child>p:nth-of-type(2){font-size:16px}.landing-sculpture{display:none}.landing .landing-stats{margin:0}.landing-story{padding:100px 20px;grid-template-columns:1fr;gap:50px}.landing-story h2{font-size:52px}.landing-story article>p{font-size:17px}.landing-lenses{padding:100px 20px}.landing-lenses>div{grid-template-columns:1fr}.landing-lenses article{min-height:320px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:35px 0}.landing-lenses h3{margin-top:90px}.landing-articles .chapter{grid-template-columns:1fr;padding-bottom:75px;margin-bottom:75px}.chapter-visual{position:relative;top:auto;min-height:330px}.landing-quote{min-height:600px;padding:100px 20px}.landing-quote blockquote{font-size:43px}}

/* Motion enhancement: native browser animations, no runtime dependencies. */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > *, .hero-stage, .hero-metrics > div { animation: opening-rise 1.1s cubic-bezier(.16,1,.3,1) both; }
  .hero-copy > :nth-child(2) { animation-delay: .12s; }
  .hero-copy > :nth-child(3) { animation-delay: .24s; }
  .hero-copy > :nth-child(4) { animation-delay: .36s; }
  .hero-stage { animation-name: opening-stage; animation-duration: 1.6s; animation-delay: .15s; }
  .hero-metrics > div:nth-child(2) { animation-delay: .15s; }
  .hero-metrics > div:nth-child(3) { animation-delay: .3s; }
  .hero-metrics > div:nth-child(4) { animation-delay: .45s; }
  .continuity-image img { transform: translateY(var(--image-shift, 0px)); }
  .precision-image img { height: 115%; transform: translateY(var(--image-shift, 0px)); }
  .precision-ring { transform: rotate(var(--ring-angle, 0deg)); }
  .global-routes { translate: 0 var(--route-shift, 0px); }
  .principle-card, .challenge-panel { scale: var(--stack-scale, 1); }
  .button span, .resource-links i { display: inline-block; transition: transform .4s cubic-bezier(.16,1,.3,1); }
  .button:hover span, .resource-links a:hover i { transform: translate(5px, -3px); }
  @keyframes opening-rise { from { opacity: 0; translate: 0 35px; } to { opacity: 1; translate: 0 0; } }
  @keyframes opening-stage { from { opacity: 0; translate: 70px 35px; rotate: 3deg; } to { opacity: 1; translate: 0 0; rotate: 0deg; } }
}

/* Mittelstand United: supplied gear emblem and responsive wordmark. */
.brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; font-family: Arial, Helvetica, sans-serif; letter-spacing: -.04em; }
.brand .brand-mark { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; }
.brand .brand-name { font-size: 21px; line-height: 1.05; font-weight: 800; }
.brand-name strong { display: block; margin-top: 5px; font-size: 10px; font-weight: 500; letter-spacing: .44em; }
footer .footer-brand { display: block; width: max-content; }
footer .footer-logo { width: 206px; height: auto; background: white; border: 12px solid white; border-radius: 3px; }
/* Five evenly spaced partners leave the central Mittelstand hub unobstructed. */
.ecosystem-orbit .eco { left: calc(var(--eco-x) - 77.5px); top: calc(var(--eco-y) - 52.5px); right: auto; bottom: auto; }
.eco-one { --eco-x: 50%; --eco-y: 8%; }
.eco-two { --eco-x: 90%; --eco-y: 37%; }
.eco-three { --eco-x: 75%; --eco-y: 84%; }
.eco-four { --eco-x: 25%; --eco-y: 84%; }
.eco-five { --eco-x: 10%; --eco-y: 37%; }
@media (max-width: 680px) {
  .brand { gap: 6px; }
  .brand .brand-mark { width: 39px; height: 39px; flex-basis: 39px; }
  .brand .brand-name { font-size: 17px; }
  .brand-name strong { font-size: 8px; margin-top: 4px; }
  .ecosystem-orbit { width: 100%; min-height: 360px; }
  .ecosystem-orbit .eco { width: 98px; height: 76px; padding: 10px; left: calc(var(--eco-x) - 49px); top: calc(var(--eco-y) - 38px); }
  .eco-two { --eco-x: 83%; }
  .eco-five { --eco-x: 17%; }
  .ecosystem-core { inset: 40% 33%; }
  .ecosystem-core strong { font-size: 17px; }
  .eco span { letter-spacing: .05em; }
}

/* Full supplied transparent logo; the SVG viewport trims empty margins only. */
.brand .header-logo { display: block; width: 88px; height: 73px; object-fit: contain; }
footer { background: var(--ivory); color: var(--navy); }
footer .footer-logo { width: 230px; height: auto; background: transparent; border: 0; border-radius: 0; }
footer > p, footer small { color: #50606b; }
footer .footer-links { border-color: var(--line); }
@media (max-width: 680px) {
  .brand .header-logo { width: 72px; height: 59px; }
}

/* Photographic guide pages: layered imagery and readable editorial content. */
.landing .landing-hero-photo { position: relative; isolation: isolate; overflow: hidden; display: flex; min-height: 850px; padding: 180px 8vw 140px; background: var(--navy); }
.landing .landing-hero-photo::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(6,26,44,.98) 0%,rgba(6,26,44,.88) 36%,rgba(6,26,44,.22) 80%),linear-gradient(0deg,var(--navy),transparent 40%); mask-image: none; }
.landing .landing-hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 68% center; }
.landing .landing-hero-photo > div { position: relative; z-index: 1; width: min(760px,72%); }
.landing .landing-hero-photo h1 { font-size: clamp(54px,6.2vw,94px); text-wrap: balance; }
.landing .landing-hero-photo > div > p:nth-of-type(2) { font-size: 18px; line-height: 1.8; color: #d0d9df; max-width: 650px; margin-top: 34px; }
.photo-note { position: absolute; bottom: 84px; right: 8vw; max-width: 40%; text-transform: uppercase; font-size: 10px; letter-spacing: .16em; color: #d0d9df; border-top: 1px solid #ffffff55; padding-top: 16px; }
.landing .landing-stats { position: relative; z-index: 2; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; padding: 50px 8vw 0; font-size: 12px; color: #52616c; }
.breadcrumbs a { color: var(--red); }
.landing-story { padding-top: 110px; padding-bottom: 110px; }
.landing-story h2 { font-size: clamp(40px,4.6vw,70px); }
.landing-lenses { padding-top: 90px; padding-bottom: 90px; }
.landing-lenses article { min-height: 310px; padding: 30px; }
.landing-lenses h3 { margin-top: 65px; font-size: 44px; }
.landing .landing-body { padding-top: 110px; padding-bottom: 0; grid-template-columns: 200px minmax(0,1fr); gap: 4vw; }
.landing-articles .chapter { gap: 3vw; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); padding-bottom: 70px; margin-bottom: 70px; }
.chapter-photo { isolation: isolate; }
.chapter-photo .chapter-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.chapter-photo::before { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; box-shadow: none; z-index: -1; background: linear-gradient(180deg,rgba(6,26,44,.18),rgba(6,26,44,.2) 35%,rgba(6,26,44,.93)); }
.chapter-photo span { color: white; line-height: 1.6; }
.chapter-photo b { text-shadow: 0 3px 20px #061a2c80; }
.landing .chapter-copy h2 { font-size: clamp(29px,3vw,46px); line-height: 1.1; text-wrap: balance; }
.landing .chapter-copy p { font-size: 17px; line-height: 1.85; }
.landing .chapter-depth { font-size: 16px !important; }
.guide-comparison,.guide-sources,.guide-connect { padding: 90px 8vw; }
.guide-comparison { background: #eae5da; }
.guide-comparison h2,.guide-action h2,.guide-sources h2,.guide-connect h2 { font-size: clamp(34px,4.3vw,64px); line-height: 1.06; letter-spacing: -.045em; max-width: 900px; margin: 0 0 36px; text-wrap: balance; }
.table-scroll { overflow-x: auto; }
.table-scroll:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
.guide-comparison table { width: 100%; border-collapse: collapse; min-width: 580px; text-align: left; font-size: 15px; line-height: 1.6; }
.guide-comparison caption { text-align: left; padding-bottom: 18px; font-size: 12px; color: #52616c; }
.guide-comparison th,.guide-comparison td { padding: 23px 25px; border-bottom: 1px solid var(--line); vertical-align: top; }
.guide-comparison thead { background: var(--navy); color: white; }
.guide-comparison tbody th { width: 25%; font-weight: 700; }
.guide-comparison tbody tr:nth-child(even) { background: #ffffff55; }
.guide-action { background: var(--navy); color: var(--paper); padding: 100px 8vw; display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; }
.action-intro { color: #b8c6cf; font-size: 17px; line-height: 1.8; }
.guide-action ol { list-style: none; padding: 0; }
.guide-action li { display: grid; grid-template-columns: 35px 1fr; gap: 25px; padding: 28px 0; border-top: 1px solid #ffffff33; }
.guide-action li > span { color: #ed8279; font-family: Georgia,serif; font-size: 24px; }
.guide-action h3 { font-size: 24px; font-weight: 600; line-height: 1.2; margin-bottom: 15px; }
.guide-action li p { color: #b8c6cf; line-height: 1.8; }
.guide-sources { background: var(--paper); }
.guide-sources > p:not(.eyebrow) { line-height: 1.8; max-width: 880px; color: #52616c; }
.guide-sources > p a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.guide-sources > div { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin-top: 35px; }
.guide-sources > div a { padding: 20px 0; border-top: 1px solid var(--line); font-size: 15px; display: flex; justify-content: space-between; gap: 20px; }
.guide-sources small { display: block; margin-top: 30px; color: #52616c; font-size: 11px; line-height: 1.6; }
.guide-connect { border-top: 1px solid var(--line); }
.guide-connect p:not(.eyebrow) { color: #52616c; line-height: 1.8; margin-bottom: 28px; max-width: 680px; }
.landing-faq { padding: 90px 12vw; }
.landing-faq h2 { font-size: clamp(44px,5vw,72px); }
[id] { scroll-margin-top: 100px; }
@media (prefers-reduced-motion: no-preference) {
  .landing-hero-image { animation: guide-photo-in 1.6s cubic-bezier(.16,1,.3,1) both; }
  @keyframes guide-photo-in { from { opacity: .4; transform: scale(1.08); } to { opacity: 1; transform: scale(1); } }
}
@media(max-width:1000px) {
  .landing .landing-body { display: block; }
  .landing-body aside { display: none; }
  .guide-action { gap: 40px; }
}
@media(max-width:800px) {
  .landing .landing-hero-photo { min-height: 760px; padding: 140px 24px 100px; }
  .landing .landing-hero-photo > div { width: 100%; }
  .landing .landing-hero-photo h1 { font-size: clamp(40px,8.5vw,62px); }
  .landing .landing-hero-photo::before { background: linear-gradient(90deg,rgba(6,26,44,.94),rgba(6,26,44,.65)),linear-gradient(0deg,var(--navy),transparent); }
  .landing .landing-hero-photo > div > p:nth-of-type(2) { font-size: 16px; }
  .photo-note { bottom: 35px; left: 24px; right: 24px; max-width: none; font-size: 9px; }
  .breadcrumbs { padding: 35px 24px 0; }
  .landing-story,.landing-lenses,.landing .landing-body,.guide-comparison,.guide-action,.guide-sources,.guide-connect,.landing-faq { padding: 70px 24px; }
  .landing-articles .chapter { grid-template-columns: 1fr; gap: 38px; margin-bottom: 25px; }
  .chapter-visual { min-height: 320px; }
  .guide-action,.guide-sources > div { grid-template-columns: 1fr; }
  .landing .site-header .nav.nav-open { display: flex; }
}

/* Shared legal footer and reference additions. */
footer .footer-links { flex-wrap: wrap; gap: 18px 30px; }
footer .footer-disclaimer { grid-column: 1/-1; padding: 26px 30px; background: rgba(6,26,44,.035); border: 1px solid var(--line); border-radius: 10px; }
.footer-disclaimer p { margin: 0; color: #52616c; font-size: 13px; line-height: 1.85; }
footer .footer-made { grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: 22px; max-width: none; font-size: 13px; margin-top: -25px; }
.footer-heart { color: var(--red); font-size: 17px; }
.reference-section { padding: 85px 8vw; border-top: 1px solid var(--line); background: var(--paper); }
.reference-section:nth-of-type(even) { background: var(--ivory); }
.reference-section > h2 { font-size: clamp(34px,4.2vw,62px); line-height: 1.08; letter-spacing: -.045em; max-width: 950px; margin-bottom: 30px; text-wrap: balance; }
.reference-section > p:not(.eyebrow) { color: #52616c; line-height: 1.85; max-width: 950px; margin: 25px 0; }
.reference-section a { color: #a92520; text-decoration: underline; text-underline-offset: 4px; }
.reference-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 36px; }
.reference-grid article { border-top: 2px solid var(--red); padding: 28px; background: rgba(255,255,255,.45); }
.reference-grid h3 { font-size: 24px; font-weight: 650; line-height: 1.15; margin-bottom: 20px; }
.reference-grid p { color: #52616c; font-size: 15px; line-height: 1.8; margin-bottom: 22px; }
.reference-grid a { font-size: 13px; font-weight: 600; color: #a92520; }
.reference-section table { width: 100%; min-width: 620px; border-collapse: collapse; text-align: left; line-height: 1.7; font-size: 15px; }
.reference-section th,.reference-section td { padding: 22px; border-bottom: 1px solid var(--line); vertical-align: top; }
.reference-section thead { background: var(--navy); color: white; }
.reference-section tbody th { width: 27%; }
.reference-glossary { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.reference-glossary > div { padding: 22px 0; border-top: 1px solid var(--line); }
.reference-glossary dt { font-size: 19px; font-weight: 700; margin-bottom: 12px; }
.reference-glossary dd { color: #52616c; line-height: 1.8; font-size: 15px; }
.reference-discovery { margin-top: 80px; }
@media(max-width:900px) { .reference-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:680px) {
 .reference-section { padding: 65px 24px; }
 .reference-grid,.reference-glossary { grid-template-columns: 1fr; }
 footer .footer-disclaimer { padding: 22px; }
 footer .footer-made { margin-top: -10px; }
}

/* Legal information pages */
.legal-page { width: 100%; max-width: 100%; background: var(--paper); }
.legal-hero { min-height: 520px; padding: 170px 8vw 90px; background: var(--navy); color: white; position: relative; overflow: hidden; }
.legal-hero::after { content: ""; position: absolute; width: 430px; height: 430px; right: -120px; top: 90px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 75px rgba(255,255,255,.025), 0 0 0 150px rgba(255,255,255,.018); }
.legal-hero > div { position: relative; z-index: 1; max-width: 900px; }
.legal-hero h1 { margin: 24px 0 28px; font-size: clamp(58px,8vw,116px); line-height: .9; letter-spacing: -.065em; }
.legal-hero p:last-child { width: min(100%,700px); color: #bcc9d1; font-size: 18px; line-height: 1.75; }
.legal-layout { padding: 100px 8vw 120px; display: grid; grid-template-columns: 210px minmax(0,820px); gap: 8vw; justify-content: center; }
.legal-nav { position: sticky; top: 120px; align-self: start; display: grid; gap: 0; border-top: 1px solid var(--line); }
.legal-nav a { padding: 14px 0; border-bottom: 1px solid var(--line); color: #52616c; font-size: 12px; }
.legal-content { min-width: 0; overflow-wrap: anywhere; }
.legal-content section { padding: 0 0 55px; margin: 0 0 55px; border-bottom: 1px solid var(--line); scroll-margin-top: 115px; }
.legal-content section:last-child { margin-bottom: 0; }
.legal-content h2 { margin: 0 0 24px; font-size: clamp(30px,3vw,45px); line-height: 1.12; letter-spacing: -.035em; }
.legal-content h3 { margin: 30px 0 12px; font-size: 20px; }
.legal-content p, .legal-content li, .legal-address { color: #4f5e68; font-size: 16px; line-height: 1.85; }
.legal-content ul { padding-left: 22px; }
.legal-content a { color: #a92520; text-decoration: underline; text-underline-offset: 4px; }
.legal-address { padding: 26px 30px; background: var(--ivory); border-left: 3px solid var(--red); font-style: normal; }
.legal-address strong { color: var(--navy); }
.legal-meta { color: #73828c; font-size: 12px; letter-spacing: .04em; }
@media(max-width:800px) {
  .legal-hero { min-height: 450px; padding: 135px 24px 70px; }
  .legal-hero p:last-child { font-size: 16px; }
  .legal-layout { display: block; padding: 70px 24px 90px; }
  .legal-nav { display: none; }
  .legal-content section { padding-bottom: 40px; margin-bottom: 40px; }
}

/* Compact home-page rhythm and reliable guide states. */
body:not(.landing):not(.legal) .hero { min-height: 880px; padding-top: 125px; }
body:not(.landing):not(.legal) .hero-metrics { bottom: 0; }
body:not(.landing):not(.legal) .hero-metrics div { padding-top: 24px; padding-bottom: 24px; }
body:not(.landing):not(.legal) .hero-actions { margin-top: 24px; }
body:not(.landing):not(.legal) .portal { min-height: auto; padding-top: 72px; padding-bottom: 72px; display: block; }
body:not(.landing):not(.legal) .portal-sticky { position: relative; top: auto; height: auto; padding-top: 30px; max-width: 920px; }
body:not(.landing):not(.legal) .portal-number { top: 0; }
body:not(.landing):not(.legal) .principle-stack { padding: 0; margin-top: 48px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
body:not(.landing):not(.legal) .principle-card { position: relative; top: auto; min-height: 340px; padding: 30px; margin-bottom: 0; }
body:not(.landing):not(.legal) .principle-card:last-child { margin-bottom: 0; }
body:not(.landing):not(.legal) .principle-card h3 { margin-top: 35px; margin-bottom: 18px; }
body:not(.landing):not(.legal) .principle-card small { margin-top: 24px; }
body:not(.landing):not(.legal) .continuity { min-height: auto; padding-top: 70px; padding-bottom: 70px; gap: 5vw; }
body:not(.landing):not(.legal) .continuity-image { height: 500px; }
body:not(.landing):not(.legal) .challenges { padding-top: 75px; padding-bottom: 90px; }
body:not(.landing):not(.legal) .section-heading { column-gap: 5vw; row-gap: 18px; margin-bottom: 42px; }
body:not(.landing):not(.legal) .section-heading .eyebrow { margin-bottom: 0; }
body:not(.landing):not(.legal) .challenge-deck { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
body:not(.landing):not(.legal) .challenge-panel { position: relative; top: auto !important; min-height: 430px; padding: 30px; display: flex; flex-direction: column; align-items: flex-start; }
body:not(.landing):not(.legal) .challenge-panel .panel-index { margin-bottom: 42px; }
body:not(.landing):not(.legal) .challenge-panel h3 { font-size: clamp(38px,3.7vw,60px); }
body:not(.landing):not(.legal) .challenge-panel strong { margin-top: auto; text-align: left; font-size: clamp(44px,4vw,64px); }
body:not(.landing):not(.legal) .challenge-panel small { text-align: left; margin-top: 8px; }
body:not(.landing):not(.legal) .precision-break { min-height: 650px; }
body:not(.landing):not(.legal) .precision-copy { padding-top: 75px; padding-bottom: 75px; }
body:not(.landing):not(.legal) .precision-image { min-height: 650px; }
body:not(.landing):not(.legal) .support { min-height: auto; padding-top: 75px; padding-bottom: 75px; }
body:not(.landing):not(.legal) .ecosystem-orbit { max-width: 610px; }
body:not(.landing):not(.legal) .regions { padding-top: 80px; padding-bottom: 80px; }
body:not(.landing):not(.legal) .regions-top { gap: 5vw; margin-bottom: 48px; }
body:not(.landing):not(.legal) .region-map-panel { min-height: 560px; }
body:not(.landing):not(.legal) .region-card { min-height: 480px; padding: 52px; }
body:not(.landing):not(.legal) .global { min-height: 680px; padding-top: 70px; padding-bottom: 70px; align-items: start; }
body:not(.landing):not(.legal) .global-copy { padding-top: 0; }
body:not(.landing):not(.legal) .resources { padding-top: 80px; padding-bottom: 80px; }
body:not(.landing):not(.legal) .resource-heading { margin-bottom: 48px; }
body:not(.landing):not(.legal) .finder-copy,
body:not(.landing):not(.legal) .finder-form { padding: 42px; }
body:not(.landing):not(.legal) .finder-copy h3 { margin-top: 45px; }
body:not(.landing):not(.legal) .finder-results { padding: 42px; visibility: hidden; pointer-events: none; transition: transform .6s cubic-bezier(.77,0,.18,1), visibility 0s .6s; }
body:not(.landing):not(.legal) .finder-results.visible { visibility: visible; pointer-events: auto; transition-delay: 0s; }
body:not(.landing):not(.legal) .finder-back { align-self: flex-start; border: 1px solid rgba(255,255,255,.35); background: transparent; color: white; padding: 10px 14px; margin-bottom: 22px; cursor: pointer; font: inherit; }
body:not(.landing):not(.legal) .finder-back:hover,
body:not(.landing):not(.legal) .finder-back:focus-visible { background: white; color: var(--navy); }
body:not(.landing):not(.legal) .finder-results > span { margin-bottom: 20px; }
body:not(.landing):not(.legal) .finder-result { color: white; font-size: clamp(25px,3.3vw,44px); letter-spacing: -.05em; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.18); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
body:not(.landing):not(.legal) .finder-result:hover strong,
body:not(.landing):not(.legal) .finder-result:focus-visible strong { text-decoration: underline; text-underline-offset: 6px; }
body:not(.landing):not(.legal) .finder-result strong { display: block; padding: 0; border: 0; font-size: inherit; letter-spacing: inherit; }
body:not(.landing):not(.legal) .finder-result i { color: #e2675f; font-style: normal; }
body:not(.landing):not(.legal) .resource-links { margin-top: 3.5vw; }
body:not(.landing):not(.legal) .reference-discovery { margin-top: 50px; }
body:not(.landing):not(.legal) .connect { min-height: 580px; padding-top: 75px; padding-bottom: 75px; }

@media (max-width: 1024px) {
  body:not(.landing):not(.legal) .hero { min-height: 1020px; }
  body:not(.landing):not(.legal) .portal { min-height: auto; }
  body:not(.landing):not(.legal) .portal-sticky { padding-top: 0; padding-bottom: 45px; }
  body:not(.landing):not(.legal) .principle-stack { padding-top: 0; padding-bottom: 0; margin-top: 0; display: block; }
  body:not(.landing):not(.legal) .principle-card { margin-bottom: 20px; }
  body:not(.landing):not(.legal) .challenge-deck { grid-template-columns: 1fr; }
  body:not(.landing):not(.legal) .challenge-panel { display: grid; grid-template-columns: .35fr 1.2fr .7fr; min-height: 300px; }
  body:not(.landing):not(.legal) .challenge-panel .panel-index { margin-bottom: 0; }
  body:not(.landing):not(.legal) .challenge-panel strong { margin-top: 0; text-align: right; }
  body:not(.landing):not(.legal) .challenge-panel small { text-align: right; }
  body:not(.landing):not(.legal) .support { gap: 7vw; }
}

@media (max-width: 680px) {
  body:not(.landing):not(.legal) .hero { min-height: auto; padding: 105px 20px 38px; display: flex; flex-direction: column; }
  body:not(.landing):not(.legal) .hero-copy { width: 100%; }
  body:not(.landing):not(.legal) .hero-intro { margin-top: 25px; font-size: 16px; }
  body:not(.landing):not(.legal) .hero-actions { align-items: stretch; gap: 10px; margin-top: 28px; }
  body:not(.landing):not(.legal) .hero-actions .button-dark { width: 100%; }
  body:not(.landing):not(.legal) .hero-actions .text-link { align-self: flex-start; padding: 13px 10px 11px 0; background: rgba(244,240,231,.96); }
  body:not(.landing):not(.legal) .hero-stage { position: relative; top: auto; right: auto; width: calc(100% + 40px); height: 365px; margin: 26px -20px 0; }
  body:not(.landing):not(.legal) .hero-metrics { position: relative; left: auto; right: auto; bottom: auto; margin-top: 34px; }
  body:not(.landing):not(.legal) .hero-metrics span { font-size: 9px; }
  body:not(.landing):not(.legal) .continuity { padding-top: 72px; padding-bottom: 72px; gap: 55px; }
  body:not(.landing):not(.legal) .section-heading { gap: 18px; margin-bottom: 45px; }
  body:not(.landing):not(.legal) .challenge-panel { min-height: 390px; gap: 18px; }
  body:not(.landing):not(.legal) .challenge-panel { display: grid; grid-template-columns: 1fr; }
  body:not(.landing):not(.legal) .challenge-panel .panel-index { margin-bottom: 0; }
  body:not(.landing):not(.legal) .challenge-panel strong,
  body:not(.landing):not(.legal) .challenge-panel small { text-align: left; }
  body:not(.landing):not(.legal) .precision-copy { padding-top: 75px; padding-bottom: 75px; }
  body:not(.landing):not(.legal) .precision-image { min-height: 430px; }
  body:not(.landing):not(.legal) .support,
  body:not(.landing):not(.legal) .regions,
  body:not(.landing):not(.legal) .global,
  body:not(.landing):not(.legal) .resources { min-height: auto; padding-top: 75px; padding-bottom: 75px; }
  body:not(.landing):not(.legal) .regions-top,
  body:not(.landing):not(.legal) .resource-heading { margin-bottom: 45px; }
  body:not(.landing):not(.legal) .region-map-panel { min-height: 520px; }
  body:not(.landing):not(.legal) .region-card { min-height: 440px; }
  body:not(.landing):not(.legal) .global-routes { margin-top: 20px; }
  body:not(.landing):not(.legal) .finder-copy,
  body:not(.landing):not(.legal) .finder-form { padding: 26px; }
  body:not(.landing):not(.legal) .finder-copy h3 { margin-top: 38px; }
  body:not(.landing):not(.legal) .finder-results { padding: 24px; }
  body:not(.landing):not(.legal) .finder-back { margin-bottom: 18px; }
  body:not(.landing):not(.legal) .finder-result { padding-top: 14px; padding-bottom: 14px; font-size: 21px; }
  body:not(.landing):not(.legal) .resource-links { margin-top: 36px; }
  body:not(.landing):not(.legal) .connect { min-height: 620px; padding-top: 80px; padding-bottom: 75px; }
  body:not(.landing):not(.legal) .connect h2 { font-size: 56px; }
  body:not(.landing):not(.legal) .connect-bottom { gap: 24px; margin-top: 50px; }
}

/* Final cascade for the four blueprint challenge routes. */
body:not(.landing):not(.legal) .challenge-deck { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media (max-width: 1100px) {
  body:not(.landing):not(.legal) .challenge-deck { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  body:not(.landing):not(.legal) .challenge-deck { grid-template-columns: 1fr; }
}

/* Homepage refinement: clear hero, separated cards, and oblique section imagery. */
@media (min-width: 681px) {
  body:not(.landing):not(.legal) .hero-copy { padding-bottom: 185px; }
}
body:not(.landing):not(.legal) .principle-stack { gap: 34px; }
body:not(.landing):not(.legal) .principle-two,
body:not(.landing):not(.legal) .principle-three { transform: none; }

body:not(.landing):not(.legal) .visual-heading {
  grid-template-columns: minmax(0,1.15fr) minmax(250px,.58fr) minmax(250px,.52fr);
  column-gap: 4vw;
  align-items: end;
}
body:not(.landing):not(.legal) .visual-heading .eyebrow { grid-column: 1 / -1; }
body:not(.landing):not(.legal) .visual-heading > h2 { grid-column: 1; }
body:not(.landing):not(.legal) .visual-heading > p:not(.eyebrow) {
  grid-column: 2;
  align-self: end;
  max-width: 420px;
  color: #56636d;
  font-size: 16px;
  line-height: 1.7;
}
.section-visual {
  grid-column: 3;
  width: 100%;
  height: 250px;
  position: relative;
  transform: rotate(-2deg);
  filter: drop-shadow(20px 24px 28px rgba(6,26,44,.17));
}
.section-visual::after {
  content: "";
  position: absolute;
  inset: 15px -12px -12px 15px;
  border: 1px solid rgba(207,46,38,.55);
  clip-path: polygon(10% 0,100% 8%,92% 100%,0 92%);
  z-index: -1;
}
.section-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: polygon(10% 0,100% 8%,92% 100%,0 92%);
}
.visual-heading-challenges .section-visual { transform: rotate(1.8deg); }
.visual-heading-challenges .section-visual img,
.visual-heading-challenges .section-visual::after { clip-path: polygon(0 8%,92% 0,100% 91%,8% 100%); }
.visual-heading-audience .section-visual { transform: rotate(-1deg) translateY(4px); }
.visual-heading-audience .section-visual img { object-position: center 42%; }
.visual-heading-topics .section-visual { transform: rotate(1.2deg); filter: drop-shadow(20px 24px 28px rgba(0,0,0,.28)); }
.visual-heading-topics .section-visual::after { border-color: rgba(226,103,95,.7); }
body:not(.landing):not(.legal) .topic-section .visual-heading > p:not(.eyebrow) { color: #aebbc4; }

.timeline-card h3 { margin-top: 34px; }
.audience-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.route-card { min-height: 390px; padding: 30px; }
.route-card h3 { margin-top: 42px; font-size: clamp(27px,2.35vw,40px); }

@media (max-width: 1180px) {
  body:not(.landing):not(.legal) .visual-heading { grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); }
  body:not(.landing):not(.legal) .visual-heading > h2 { grid-column: 1; }
  body:not(.landing):not(.legal) .visual-heading > p:not(.eyebrow) { grid-column: 2; }
  .section-visual { grid-column: 1 / -1; width: min(720px,86%); height: 260px; margin: 22px auto 0; }
}
@media (max-width: 800px) {
  body:not(.landing):not(.legal) .visual-heading { grid-template-columns: 1fr; }
  body:not(.landing):not(.legal) .visual-heading .eyebrow,
  body:not(.landing):not(.legal) .visual-heading > h2,
  body:not(.landing):not(.legal) .visual-heading > p:not(.eyebrow),
  .section-visual { grid-column: 1; }
  .section-visual { width: calc(100% - 16px); height: 225px; margin: 20px 0 4px; }
  .audience-grid { grid-template-columns: 1fr; }
  .route-card { min-height: 290px; }
}

/* Equal-height interactive cards and explicit route-map links. */
body:not(.landing):not(.legal) .principle-stack { align-items: stretch; }
body:not(.landing):not(.legal) .principle-card {
  width: 100%;
  height: 100%;
  min-height: 400px;
  transform-origin: 50% 60%;
  transition: transform .38s cubic-bezier(.16,1,.3,1), box-shadow .38s ease, background .3s ease;
}
body:not(.landing):not(.legal) .principle-one { transform: rotate(-.45deg); }
body:not(.landing):not(.legal) .principle-two { transform: rotate(.45deg); }
body:not(.landing):not(.legal) .principle-three { transform: rotate(-.3deg); }
body:not(.landing):not(.legal) .principle-card:hover,
body:not(.landing):not(.legal) .principle-card:focus-within {
  transform: translateY(-10px) rotate(0deg) scale(1.012);
  box-shadow: 0 58px 120px rgba(0,0,0,.34);
  z-index: 4;
}

body:not(.landing):not(.legal) .challenge-panel {
  min-width: 0;
  min-height: 470px;
  overflow: hidden;
}
body:not(.landing):not(.legal) .challenge-panel > div:nth-child(2) { width: 100%; min-width: 0; }
body:not(.landing):not(.legal) .challenge-panel h3 {
  max-width: 100%;
  font-size: clamp(30px,2.65vw,48px);
  overflow-wrap: anywhere;
  word-break: normal;
}
body:not(.landing):not(.legal) .challenge-panel div span { max-width: 100%; overflow-wrap: anywhere; }

.guide-comparison .route-map-link {
  color: var(--navy);
  text-decoration: underline;
  text-decoration-color: rgba(207,46,38,.48);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  transition: color .22s ease, text-decoration-color .22s ease;
}
.guide-comparison .route-map-link:hover,
.guide-comparison .route-map-link:focus-visible { color: var(--red); text-decoration-color: var(--red); }
.guide-comparison .route-map-continue { display: inline-flex; align-items: center; gap: 14px; font-weight: 700; white-space: nowrap; }
.guide-comparison .route-map-continue span { color: var(--red); transition: transform .22s ease; }
.guide-comparison .route-map-continue:hover span { transform: translateY(4px); }

/* Research layer shared by the primary audience and subject guides. */
.research-layer{padding:95px 8vw 105px;background:#f4f0e8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.research-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:58px}
.research-heading h2{font-size:clamp(42px,5.2vw,78px);line-height:.98;letter-spacing:-.055em;max-width:920px;margin:20px 0 0;text-wrap:balance}
.research-intro{font-size:18px;line-height:1.75;color:#4f5e68;max-width:650px;margin:0}
.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.evidence-card{min-height:460px;padding:34px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.32);transition:background .25s ease,transform .25s ease}
.evidence-card:hover{background:#fff;transform:translateY(-6px)}
.evidence-card>span{font-family:var(--font-geist-mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--red)}
.evidence-card h3{font-family:Georgia,serif;font-size:clamp(34px,3.2vw,52px);font-weight:400;line-height:1.03;letter-spacing:-.035em;margin:72px 0 25px;text-wrap:balance}
.evidence-card p{font-size:15px;line-height:1.7;color:#465761;margin:0 0 18px}
.evidence-card .evidence-meaning{padding-top:18px;border-top:1px solid var(--line);color:var(--navy);font-weight:650}
.evidence-card a{font-family:var(--font-geist-mono);font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.11em;color:var(--red);margin-top:auto;padding-top:24px;text-decoration:underline;text-underline-offset:5px}
.decision-checklist{margin-top:58px;background:var(--navy);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding:50px}
.decision-checklist h3{font-size:clamp(28px,3vw,44px);line-height:1.05;letter-spacing:-.04em;margin:20px 0 0;max-width:520px}
.decision-checklist ol{list-style:none;counter-reset:decision;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.decision-checklist li{counter-increment:decision;padding:19px 0 19px 55px;border-bottom:1px solid rgba(255,255,255,.2);position:relative;color:#d4dde2;line-height:1.45}
.decision-checklist li:before{content:counter(decision,decimal-leading-zero);position:absolute;left:0;font-family:var(--font-geist-mono);font-size:10px;color:#e2675f;top:23px}
.chapter-depth{position:relative;padding-bottom:30px}
.chapter-note-label{display:block;font-family:var(--font-geist-mono);font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.15em;color:var(--red);margin-top:22px}
@media(max-width:900px){.research-layer{padding:75px 24px}.research-heading{grid-template-columns:1fr;gap:30px}.evidence-grid{grid-template-columns:1fr}.evidence-card{min-height:0;padding:30px}.evidence-card h3{margin-top:48px}.decision-checklist{grid-template-columns:1fr;padding:34px;gap:35px}}

@media (max-width: 1024px) {
  body:not(.landing):not(.legal) .principle-card { height: auto; min-height: 350px; }
  body:not(.landing):not(.legal) .principle-one,
  body:not(.landing):not(.legal) .principle-two,
  body:not(.landing):not(.legal) .principle-three { transform: none; }
  body:not(.landing):not(.legal) .principle-card:hover,
  body:not(.landing):not(.legal) .principle-card:focus-within { transform: translateY(-7px); }
}
@media (max-width: 680px) {
  body:not(.landing):not(.legal) .challenge-panel { min-height: 400px; }
  body:not(.landing):not(.legal) .challenge-panel h3 { font-size: clamp(34px,11vw,48px); overflow-wrap: normal; }
}

/* Six-part navigation with page-aware dropdowns. */
@media (min-width: 1025px) {
  .nav { align-self: stretch; gap: 1.05rem; }
  .nav-item { position: relative; display: flex; height: 82px; align-items: center; }
  .nav-primary-row { display: flex; align-items: center; }
  .submenu-toggle { width: 24px; height: 32px; display: grid; place-items: center; margin-left: 2px; color: var(--navy); border-radius: 50%; }
  .submenu-toggle span { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .25s ease; }
  .nav-item:hover .submenu-toggle span,
  .nav-item:focus-within .submenu-toggle span,
  .nav-item.submenu-open .submenu-toggle span { transform: translateY(2px) rotate(225deg); }
  .nav-dropdown { position: absolute; z-index: 110; top: calc(100% - 1px); left: 50%; width: max-content; min-width: 245px; max-width: 310px; padding: 12px; display: grid; gap: 2px; background: rgba(251,248,241,.98); border: 1px solid var(--line); box-shadow: 0 24px 55px rgba(6,26,44,.18); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,10px); transition: opacity .22s ease, transform .22s ease, visibility .22s; }
  .nav-item:nth-last-child(-n+2) .nav-dropdown { left: auto; right: 0; transform: translate(0,10px); }
  .nav-item:hover .nav-dropdown,
  .nav-item:focus-within .nav-dropdown,
  .nav-item.submenu-open .nav-dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0); }
  .nav-item:nth-last-child(-n+2):hover .nav-dropdown,
  .nav-item:nth-last-child(-n+2):focus-within .nav-dropdown,
  .nav-item:nth-last-child(-n+2).submenu-open .nav-dropdown { transform: translate(0,0); }
  .nav-dropdown a { display: block; padding: 11px 13px; color: #344754; font-size: 13px; font-weight: 550; line-height: 1.35; transition: color .2s ease, background .2s ease, padding-left .2s ease; }
  .nav-dropdown a:hover,
  .nav-dropdown a:focus-visible,
  .nav-dropdown a[aria-current="page"] { color: var(--red); background: rgba(207,46,38,.065); padding-left: 17px; outline: none; }
  .nav-dropdown a::after { display: none; }
  .nav-primary[aria-current="page"]::after { right: 0; }
}

@media (max-width: 1024px) {
  .nav.nav-open { max-height: calc(100vh - 82px); overflow-y: auto; gap: 0; align-items: stretch; padding-top: 16px; padding-bottom: 22px; }
  .nav-item { width: 100%; border-bottom: 1px solid var(--line); }
  .nav-primary-row { min-height: 54px; display: grid; grid-template-columns: 1fr 48px; align-items: center; }
  .nav-primary { padding: 15px 0; font-size: 16px !important; }
  .submenu-toggle { width: 48px; height: 48px; display: grid; place-items: center; justify-self: end; }
  .submenu-toggle span { width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .22s ease; }
  .submenu-open .submenu-toggle span { transform: translateY(2px) rotate(225deg); }
  .nav-dropdown { display: none; padding: 2px 0 16px 16px; }
  .submenu-open .nav-dropdown { display: grid; }
  .nav-dropdown a { padding: 10px 12px; color: #53636e; font-size: 14px; font-weight: 500; line-height: 1.35; }
  .nav-dropdown a[aria-current="page"] { color: var(--red); }
  .nav-dropdown a::after { display: none; }
}

@media (max-width: 680px) {
  .nav.nav-open { max-height: calc(100vh - 68px); }
}

/* Editorial blog index and articles. */
.blog-index { padding-top: 82px; background: var(--paper); }
.blog-index-hero { min-height: 500px; padding: 115px 8vw 80px; color: var(--paper); background: var(--navy); display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; align-items: end; }
.blog-index-hero h1 { max-width: 820px; font-size: clamp(62px,8vw,122px); line-height: .84; letter-spacing: -.07em; }
.blog-index-hero h1 em { color: #e2675f; font-family: Georgia,serif; font-weight: 400; }
.blog-index-hero > div:last-child { max-width: 480px; color: #adbbc4; font-size: 17px; line-height: 1.75; }
.blog-grid { padding: 80px 8vw 110px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.blog-card { min-width: 0; min-height: 590px; display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--ivory); transition: transform .3s ease, box-shadow .3s ease; }
.blog-card:hover,.blog-card:focus-visible { transform: translateY(-7px); box-shadow: 0 30px 70px rgba(6,26,44,.14); outline: none; }
.blog-card-image { height: 255px; overflow: hidden; background: var(--navy); }
.blog-card-image img { height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.16,1,.3,1); }
.blog-card:hover img { transform: scale(1.045); }
.blog-card-copy { flex: 1; padding: 30px; display: flex; flex-direction: column; }
.blog-card-meta,.article-meta { color: var(--red); font-family: var(--font-geist-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .13em; }
.blog-card h2 { margin: 28px 0 20px; font-size: clamp(29px,2.45vw,42px); line-height: 1.02; letter-spacing: -.045em; }
.blog-card p { color: #53636e; font-size: 15px; line-height: 1.7; }
.blog-card strong { margin-top: auto; padding-top: 30px; color: var(--red); font-size: 13px; }
.blog-article { padding-top: 82px; background: var(--paper); }
.article-hero { min-height: 650px; position: relative; display: grid; align-items: end; padding: 130px 8vw 85px; color: white; overflow: hidden; }
.article-hero::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(6,26,44,.94) 0%,rgba(6,26,44,.78) 48%,rgba(6,26,44,.2) 100%); }
.article-hero > img { position:absolute; inset:0; height:100%; object-fit:cover; }
.article-hero > div { position:relative; z-index:2; width:min(900px,72%); }
.article-hero h1 { margin: 28px 0 30px; font-size: clamp(55px,6.2vw,94px); line-height: .91; letter-spacing: -.065em; text-wrap: balance; }
.article-hero .article-deck { max-width: 740px; color: #d5dde1; font-size: 18px; line-height: 1.7; }
.article-shell { padding: 80px 8vw 115px; display: grid; grid-template-columns: minmax(180px,.35fr) minmax(0,1fr) minmax(180px,.35fr); gap: 5vw; }
.article-aside { position: sticky; top: 120px; align-self: start; padding-top: 10px; color: #65737c; font-size: 12px; line-height: 1.7; }
.article-aside strong { display:block; color: var(--navy); font-size: 13px; margin-bottom: 12px; }
.article-body { max-width: 790px; }
.article-body p { margin: 0 0 25px; color: #344754; font-size: 18px; line-height: 1.82; }
.article-body p:first-child { color: var(--navy); font-size: 23px; line-height: 1.58; }
.article-body blockquote { margin: 45px 0; padding: 30px 35px; border-left: 4px solid var(--red); background: var(--ivory); font-family: Georgia,serif; font-size: 29px; line-height: 1.35; }
.article-source { margin-top: 55px; padding-top: 30px; border-top: 1px solid var(--line); }
.article-source a { color: var(--red); text-decoration: underline; text-underline-offset: 5px; font-weight: 700; }
.article-related { padding: 80px 8vw; color: white; background: var(--navy); }
.article-related h2 { margin-bottom: 40px; font-size: clamp(38px,4vw,62px); letter-spacing: -.05em; }
.article-related > div { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.2); }
.article-related a { min-height: 180px; padding: 28px; border-right:1px solid rgba(255,255,255,.2); display:flex; flex-direction:column; justify-content:space-between; }
.article-related a:last-child { border-right:0; }
.article-related span { color:#8fa0aa; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.article-related strong { font-size:22px; line-height:1.2; }

@media (max-width: 1024px) {
  .blog-index { padding-top: 68px; }
  .blog-index-hero { grid-template-columns:1fr; gap:35px; }
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-article { padding-top:68px; }
  .article-shell { grid-template-columns:1fr; }
  .article-aside { position:static; padding:0 0 20px; border-bottom:1px solid var(--line); }
  .article-shell > div:last-child { display:none; }
}
@media (max-width: 680px) {
  .blog-index-hero { min-height:430px; padding:90px 20px 65px; }
  .blog-index-hero h1 { font-size:58px; }
  .blog-grid { padding:55px 20px 80px; grid-template-columns:1fr; }
  .blog-card { min-height:520px; }
  .article-hero { min-height:650px; padding:120px 20px 65px; }
  .article-hero::after { background:linear-gradient(90deg,rgba(6,26,44,.95),rgba(6,26,44,.65)); }
  .article-hero > div { width:100%; }
  .article-hero h1 { font-size:48px; }
  .article-hero .article-deck { font-size:16px; }
  .article-shell { padding:60px 20px 80px; }
  .article-body p { font-size:17px; }
  .article-body p:first-child { font-size:20px; }
  .article-related { padding:65px 20px; }
  .article-related > div { grid-template-columns:1fr; }
  .article-related a { border-right:0; border-bottom:1px solid rgba(255,255,255,.2); }
}

/* Consistent homepage principle cards and supporting-copy typography. */
body:not(.landing):not(.legal) .principle-card {
  align-self: stretch;
  height: auto;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  transform: none;
}
body:not(.landing):not(.legal) .principle-one,
body:not(.landing):not(.legal) .principle-two,
body:not(.landing):not(.legal) .principle-three { transform: none; }
body:not(.landing):not(.legal) .principle-card small { margin-top: auto; padding-top: 24px; }
body:not(.landing):not(.legal) .hero-route-note { font-size: 14px; line-height: 1.65; }

/* These cards are side-by-side grids, so scroll overlap scaling only makes
   earlier cards smaller and softens their text. Keep every card crisp/equal. */
body:not(.landing):not(.legal) .principle-card,
body:not(.landing):not(.legal) .challenge-panel { scale: 1; }
