@font-face{font-family:Plex;src:url("assets/fonts/IBMPlexSans-Regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:PlexCond;src:url("assets/fonts/IBMPlexSansCondensed-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:PlexMono;src:url("assets/fonts/IBMPlexMono-Regular.woff2") format("woff2");font-display:swap}

:root{
  --bg:#101210;--surface:#252824;--fg:#f7f4ed;--muted:#bfc0b9;--border:#444741;
  --accent:#f2c400;--ink:#111311;--paper:#eee9dd;--paper-2:#f7f4ed;--paper-rule:#b8b3a9;
  --font-display:PlexCond,"Arial Narrow",sans-serif;--font-body:Plex,"Segoe UI",sans-serif;--font-mono:PlexMono,"Courier New",monospace;
  --pad:clamp(1rem,3vw,3rem);--max:1600px;--header-h:3.75rem;
  --ease-out-premium:cubic-bezier(.22,1,.36,1);--ease:var(--ease-out-premium);
  --duration-ui:220ms;--duration-interactive:480ms;--duration-editorial:800ms;
}
*{box-sizing:border-box}
html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);background:var(--bg);overflow-x:clip}
body{min-width:320px;margin:0;background:var(--bg);color:var(--fg);font:400 1rem/1.6 var(--font-body);overflow-x:clip;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}button{font:inherit}
h1,h2,h3,p{margin:0;text-wrap:pretty}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:.94;letter-spacing:-.02em;text-wrap:balance}
[hidden]{display:none!important}
::selection{background:var(--accent);color:var(--ink)}
.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;transform:translateY(-170%);background:var(--accent);color:var(--ink);padding:.8rem 1rem;text-decoration:none}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
main>section{scroll-margin-top:0}

/* Navigation: immediate UI motion, with one continuous active indicator. */
.header{position:fixed;z-index:50;top:1rem;left:var(--pad);right:var(--pad);max-width:calc(var(--max) - 2*var(--pad));height:var(--header-h);margin:auto;display:grid;grid-template-columns:1fr auto;align-items:center;padding:0 1rem;background:rgba(16,18,16,.91);border:1px solid rgba(247,244,237,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--fg);transition:height var(--duration-ui) var(--ease-out-premium),background-color var(--duration-ui) var(--ease-out-premium),border-color var(--duration-ui) var(--ease-out-premium),opacity 360ms var(--ease-out-premium),transform 360ms var(--ease-out-premium)}
.header.is-compact{height:3.4rem;background:rgba(16,18,16,.97);border-color:rgba(247,244,237,.24)}
.motion-ready .header{opacity:0;transform:translateY(-8px)}
.motion-ready.intro-ready .header,.motion-ready.intro-skip .header{opacity:1;transform:none}
.motion-ready.intro-skip .header{transition:none}
.brand,.desktop-nav a,.menu-button,.mobile-menu a,.section-index,.section-label{font:400 .68rem/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.brand{min-height:44px;display:flex;align-items:center;width:max-content}
.desktop-nav{position:relative;display:flex;gap:clamp(1rem,2.3vw,2.5rem)}
.desktop-nav a{display:flex;align-items:center;min-height:44px;position:relative}
.desktop-nav a:after{content:"";position:absolute;inset:auto 0 8px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease-out-premium)}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}
.nav-indicator{position:absolute;z-index:2;left:0;bottom:8px;width:var(--nav-indicator-w,0px);height:1px;background:var(--accent);opacity:var(--nav-indicator-opacity,0);transform:translate3d(var(--nav-indicator-x,0px),0,0);transform-origin:left;pointer-events:none;transition:width var(--duration-ui) var(--ease-out-premium),transform var(--duration-ui) var(--ease-out-premium),opacity 140ms linear}
.menu-button{display:none;color:inherit;background:none;border:0;min-width:44px;min-height:44px;align-items:center;gap:.8rem;cursor:pointer}
.menu-button i,.menu-button i:after{display:block;width:18px;height:1px;background:currentColor;transition:transform var(--duration-ui) var(--ease-out-premium)}
.menu-button i:after{content:"";transform:translateY(5px)}
.menu-button[aria-expanded="true"] i{transform:translateY(3px) rotate(45deg)}
.menu-button[aria-expanded="true"] i:after{transform:rotate(-90deg)}
.mobile-menu{position:fixed;z-index:49;inset:0;background:var(--bg);padding:7rem var(--pad) 2rem}
.mobile-menu a{display:flex;align-items:center;min-height:72px;border-bottom:1px solid var(--border);font-family:var(--font-display);font-size:clamp(1.7rem,7vw,3rem);font-weight:700;letter-spacing:-.02em;text-transform:none}
.mobile-menu a:first-child{border-top:1px solid var(--border)}

/* Hero: masked load sequence plus restrained scroll depth. */
.hero{position:relative;min-height:100svh;background:var(--accent);color:var(--ink);isolation:isolate;--hero-type-y:0px;--hero-image-y:0px}
.motion-ready .hero{min-height:165svh}
.hero-frame{position:relative;width:100%;height:100svh;min-height:100svh;overflow:clip;padding:clamp(7.5rem,12vh,10rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) clamp(2rem,5vh,4rem)}
.motion-ready .hero-frame{position:sticky;top:0}
.hero h1{position:relative;z-index:3;width:min(58vw,900px);max-width:none;font-size:clamp(4.6rem,9.1vw,9.8rem);line-height:.84;letter-spacing:-.025em;transform:translate3d(0,var(--hero-type-y),0)}
.hero-line{display:block;width:max-content;max-width:none;white-space:nowrap;overflow:hidden}
.hero-line-inner{display:inline-block;transform:translateY(0)}
.motion-ready .hero-line-inner{transform:translateY(108%)}
.motion-ready.intro-ready .hero-line-inner{transform:translateY(0);transition:transform var(--duration-editorial) var(--ease-out-premium)}
.motion-ready.intro-ready .hero-line:nth-child(1) .hero-line-inner{transition-delay:170ms}
.motion-ready.intro-ready .hero-line:nth-child(2) .hero-line-inner{transition-delay:300ms}
.motion-ready.intro-skip .hero-line-inner{transform:none;transition:none}
.hero [data-hero-beat]{color:var(--ink);transition:color var(--duration-ui) var(--ease-out-premium)}
.hero[data-hero-enhanced="true"] [data-hero-beat]{color:rgba(17,19,17,.36)}
.hero[data-hero-enhanced="true"][data-hero-state="0"] [data-hero-beat="0"],
.hero[data-hero-enhanced="true"][data-hero-state="1"] [data-hero-beat="1"]{color:var(--ink)}
.hero-image{position:absolute;z-index:1;right:max(-5rem,-4vw);bottom:clamp(2.6rem,6vh,4.75rem);width:min(53vw,1500px,calc(100svh - var(--header-h) + 2rem));max-width:none;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.05);pointer-events:none;user-select:none;opacity:1;transform:translate3d(0,var(--hero-image-y),0) scale(1)}
.motion-ready .hero-image{opacity:0;transform:translate3d(25px,var(--hero-image-y),0) scale(1.035)}
.motion-ready.intro-ready .hero-image{opacity:1;transform:translate3d(0,var(--hero-image-y),0) scale(1);transition:opacity var(--duration-editorial) var(--ease-out-premium) 430ms,transform var(--duration-editorial) var(--ease-out-premium) 430ms}
.motion-ready.intro-skip .hero-image{opacity:1;transform:translate3d(0,var(--hero-image-y),0) scale(1);transition:none}
.motion-ready .hero[data-hero-enhanced="true"] h1,.motion-ready .hero[data-hero-enhanced="true"] .hero-image{will-change:transform}
.hero-rule{position:absolute;z-index:4;left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));bottom:clamp(1.5rem,3vh,2.5rem);height:1px;background:rgba(17,19,17,.55)}

/* Shared editorial section reveal language. */
[data-reveal-section]{position:relative}
[data-reveal-section]:not(.start):not(.route)::before{content:"";position:absolute;z-index:4;top:0;left:0;right:0;height:1px;background:var(--motion-rule-color,var(--border));transform:scaleX(1);transform-origin:left;pointer-events:none}
.motion-ready [data-reveal-section]:not(.start):not(.route)::before{transform:scaleX(0)}
.motion-ready [data-reveal-section].is-visible:not(.start):not(.route)::before{transform:scaleX(1);transition:transform var(--duration-interactive) var(--ease-out-premium)}
[data-reveal-heading]{overflow:hidden}
.region [data-reveal-heading],.timeline [data-reveal-heading]{padding-bottom:.12em;margin-bottom:-.12em}
.reveal-heading-text{display:block;transform:translateY(0)}
.motion-ready [data-reveal-heading] .reveal-heading-text{transform:translateY(108%)}
.motion-ready [data-reveal-section].is-visible [data-reveal-heading] .reveal-heading-text{transform:translateY(0);transition:transform var(--duration-editorial) var(--ease-out-premium) 90ms}
[data-reveal-content]{opacity:1;transform:none}
.motion-ready [data-reveal-content]{opacity:0;transform:translateY(12px)}
.motion-ready [data-reveal-section].is-visible [data-reveal-content]{opacity:1;transform:none;transition:opacity var(--duration-interactive) var(--ease-out-premium) 220ms,transform 620ms var(--ease-out-premium) 220ms}

/* Shared industrial notation: one hairline / square-node / datum-tick vocabulary. */
.datum-line{pointer-events:none}
.datum-line--section{position:absolute;z-index:6;top:0;left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));height:1px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--pad)}
.datum-tick{display:block;width:1px;height:7px;background:var(--motion-rule-color,var(--border));transform:scaleY(1);transform-origin:center;opacity:.72}
.datum-line--section .datum-tick{grid-column:var(--datum-col);justify-self:start}
.datum-line--local{position:absolute;z-index:2;inset:0 0 auto;height:1px}
.datum-line--local .datum-tick{position:absolute;top:0}
.datum-line--local .datum-tick:first-child{left:0}.datum-line--local .datum-tick:last-child{right:0}
.motion-ready [data-datum] .datum-tick{opacity:0;transform:scaleY(0)}
.motion-ready [data-reveal-section].is-visible [data-datum] .datum-tick{opacity:.72;transform:scaleY(1);transition:transform 190ms var(--ease-out-premium) var(--datum-delay,100ms),opacity 150ms linear var(--datum-delay,100ms)}
.motion-ready [data-datum-section].is-visible [data-reveal-heading] .reveal-heading-text{transition-delay:310ms}

/* Manifesto: supplied dark editorial design, adapted to the site's type and motion system. */
.manifesto-redesign{--motion-rule-color:rgba(247,244,237,.16);position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#050605;color:var(--fg)}
.manifesto-background{position:absolute;z-index:0;left:0;bottom:0;width:min(94vw,2100px);height:100%;pointer-events:none;background:url("assets/industrial_background_monochrome.webp") left center/cover no-repeat;opacity:.56;transform:scale(1)}
.manifesto-background::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,5,.16) 0%,rgba(5,6,5,.28) 40%,rgba(5,6,5,.58) 75%,rgba(5,6,5,.8) 100%),linear-gradient(180deg,rgba(5,6,5,.05),rgba(5,6,5,.2))}
.manifesto-shell{position:relative;z-index:1;width:min(100%,var(--max));min-height:100svh;margin:auto;padding:clamp(7rem,9vw,9rem) var(--pad);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.manifesto-intro{max-width:760px}
.manifesto-label{display:block;margin-bottom:clamp(1.6rem,2.6vw,2.6rem);color:var(--muted)}
.manifesto-intro-rule{background:var(--accent);transform-origin:left}
.manifesto-redesign h2{max-width:760px;font-size:clamp(3.5rem,6.25vw,6.7rem);line-height:.92;letter-spacing:-.025em}
.manifesto-accent{display:block;margin-top:.14em;color:var(--accent)}
.manifesto-intro-rule{width:78px;height:3px;margin:clamp(2.1rem,3.4vw,3.25rem) 0 clamp(1.7rem,2.7vw,2.5rem)}
.manifesto-stats{width:100%;max-width:700px;justify-self:end;border-top:1px solid rgba(247,244,237,.15)}
.manifesto-stat{display:grid;grid-template-columns:minmax(190px,280px) minmax(0,1fr);gap:clamp(1.4rem,2.8vw,2.4rem);align-items:center;padding:clamp(1.8rem,3.5vw,3rem) 0;border-bottom:1px solid rgba(247,244,237,.15)}
.manifesto-stat-value{min-width:0;color:var(--accent);font-family:var(--font-display);font-weight:700;line-height:.92;letter-spacing:-.025em;white-space:nowrap}
.manifesto-stat-value--big{font-size:clamp(3.3rem,5vw,5.5rem)}
.manifesto-stat-value--word{font-size:clamp(2.8rem,3.8vw,4.4rem)}
.manifesto-stat-copy{position:relative;min-width:0;padding-left:clamp(1.25rem,2.4vw,2rem);color:#ecebe6;font-size:clamp(1rem,1.2vw,1.25rem);line-height:1.48}
.manifesto-stat-copy::before{content:"";position:absolute;left:0;top:.08em;bottom:.08em;width:1px;background:rgba(242,196,0,.8)}
.manifesto-stat-copy strong{font-weight:700}
.motion-ready .manifesto-background{opacity:0;transform:scale(1.025)}
.motion-ready .manifesto-intro-rule{transform:scaleX(0)}
.motion-ready .manifesto-stat{opacity:0;transform:translateY(14px)}
.motion-ready .manifesto.is-visible .manifesto-background{opacity:.56;transform:scale(1);transition:opacity 900ms var(--ease-out-premium) 100ms,transform 1100ms var(--ease-out-premium) 100ms}
.motion-ready .manifesto.is-visible .manifesto-intro-rule{transform:scaleX(1);transition:transform var(--duration-interactive) var(--ease-out-premium) 310ms}
.motion-ready .manifesto.is-visible .manifesto-stat{opacity:1;transform:none;transition:opacity var(--duration-interactive) var(--ease-out-premium) var(--stat-delay),transform 620ms var(--ease-out-premium) var(--stat-delay)}

/* Region: supplied Europe-map layout, adapted to existing spacing, typography and reveal timing. */
.region-redesign{--motion-rule-color:var(--paper-rule);position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.5),rgba(255,255,255,0) 48%),var(--paper-2);color:var(--ink)}
.region-redesign::after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:repeating-radial-gradient(circle at 0 0,rgba(75,67,52,.025) 0 1px,transparent 1px 4px);background-size:7px 7px}
.region-shell{position:relative;z-index:1;width:min(100%,var(--max));min-height:100svh;margin:auto;padding:clamp(6.5rem,8vw,8.5rem) var(--pad);display:grid;grid-template-columns:minmax(0,49fr) minmax(0,51fr);align-items:center}
.region-map-column{position:relative;min-height:clamp(540px,52vw,760px);overflow:visible}
.region-map-wrap{position:absolute;left:clamp(0px,3vw,48px);top:50%;width:min(620px,82%);aspect-ratio:645/690;overflow:visible;transform:translateY(-50%)}
.region-map-art{position:absolute;inset:0;overflow:visible;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 54%,rgba(0,0,0,.92) 66%,rgba(0,0,0,.62) 78%,rgba(0,0,0,.2) 92%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 54%,rgba(0,0,0,.92) 66%,rgba(0,0,0,.62) 78%,rgba(0,0,0,.2) 92%,transparent 100%)}
.region-europe-map{width:100%;height:100%;max-width:none;object-fit:contain}
.region-map-overlay{position:absolute;z-index:3;inset:0;width:100%;height:100%;max-width:none;overflow:visible;pointer-events:none}
.region-focus-ring{fill:none;stroke:#b9b5ab;stroke-width:1.35;stroke-opacity:.58}
.region-marker-halo{fill:rgba(242,196,0,.26)}
.region-marker{fill:var(--ink)}
.region-marker-core{fill:var(--accent)}
.region-content{position:relative;z-index:4;padding-left:clamp(1rem,2.3vw,2.4rem)}
.region-label{display:block;margin-bottom:clamp(2rem,3vw,3rem);color:#666961}
.region-redesign h2{max-width:720px;font-size:clamp(3.2rem,5.35vw,5.8rem);line-height:.96;letter-spacing:-.025em;overflow-wrap:normal}
.region-accent-rule{width:78px;height:3px;margin:clamp(2.1rem,3.4vw,3.25rem) 0 clamp(1.7rem,2.7vw,2.5rem);background:var(--accent);transform-origin:left}
.region-lede{max-width:650px;color:#2c2d2a;font-size:clamp(1.1rem,1.45vw,1.45rem);line-height:1.42;letter-spacing:-.015em}
.region-stats{max-width:760px;margin-top:clamp(2.8rem,4.4vw,4rem);padding-top:clamp(2.1rem,3.5vw,3rem);border-top:1px solid rgba(140,132,118,.22);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2vw,2.2rem)}
.region-stat{display:grid;grid-template-columns:42px minmax(0,1fr);gap:1rem;align-items:start;min-width:0}
.region-stat-icon{width:38px;height:38px;color:var(--accent)}
.region-stat strong{display:block;margin-bottom:.4rem;font:700 clamp(.92rem,1vw,1.05rem)/1.1 var(--font-display);letter-spacing:.01em}
.region-stat span{display:block;color:#30312e;font-size:clamp(.9rem,1vw,1.05rem);line-height:1.32}
.motion-ready .region-map-art{opacity:0;transform:translateX(-14px) scale(.988)}
.motion-ready .region-focus-ring{stroke-dasharray:1056;stroke-dashoffset:1056}
.motion-ready .region-marker-halo,.motion-ready .region-marker,.motion-ready .region-marker-core{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center}
.motion-ready .region-accent-rule{transform:scaleX(0)}
.motion-ready .region-stat{opacity:0;transform:translateY(12px)}
.motion-ready .region.is-visible .region-map-art{opacity:1;transform:none;transition:opacity 760ms var(--ease-out-premium) 170ms,transform 900ms var(--ease-out-premium) 170ms}
.motion-ready .region.is-visible .region-focus-ring{stroke-dashoffset:0;transition:stroke-dashoffset 900ms var(--ease-out-premium) 390ms}
.motion-ready .region.is-visible .region-marker-halo,.motion-ready .region.is-visible .region-marker,.motion-ready .region.is-visible .region-marker-core{opacity:1;transform:scale(1);transition:opacity 220ms linear 690ms,transform 360ms var(--ease-out-premium) 690ms}
.motion-ready .region.is-visible .region-accent-rule{transform:scaleX(1);transition:transform var(--duration-interactive) var(--ease-out-premium) 270ms}
.motion-ready .region.is-visible .region-stat{opacity:1;transform:none;transition:opacity var(--duration-interactive) var(--ease-out-premium) var(--stat-delay),transform 620ms var(--ease-out-premium) var(--stat-delay)}

/* Timeline: one continuous progress mechanism on desktop and mobile. */
.timeline{--motion-rule-color:var(--border);position:relative;overflow:clip;background:var(--bg);color:var(--fg);padding:clamp(7rem,11vw,12rem) var(--pad);border-top:1px solid transparent;--timeline-progress:1;--timeline-progress-percent:100%}
.timeline-inner{position:relative;width:min(100%,var(--max));margin:auto;display:flex;flex-direction:column}
.timeline-content{display:contents}
.timeline-heading{order:1;display:grid;grid-template-columns:2fr 10fr;gap:var(--pad);align-items:start}
.timeline-heading .section-label{color:var(--muted);padding-top:.8rem}
.timeline h2{font-size:clamp(3.5rem,8vw,8rem);max-width:10ch;text-shadow:0 2px 18px rgba(0,0,0,.48)}
.timeline-gallery{order:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pad);margin-top:clamp(4rem,7vw,7rem)}
.timeline-gallery figure{min-width:0;aspect-ratio:4/3;margin:0;overflow:hidden;background:#0b0d0c;outline:1px solid rgba(247,244,237,.16);outline-offset:-1px}
.timeline-gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(.78)}
.timeline-gallery figure:nth-child(2) img{object-position:center 35%}
.timeline-chronology{position:relative;order:3;margin-top:clamp(4rem,7vw,7rem)}
.timeline-progress{position:relative;height:1px;background:#747772}
.timeline-progress-fill{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--timeline-progress));transform-origin:left}
.timeline-progress-cursor{position:absolute;z-index:4;display:block;width:5px;height:5px;background:var(--accent);pointer-events:none;transition:none}
.timeline-progress-cursor--horizontal{top:0;left:var(--timeline-progress-percent);transform:translate(-50%,-50%)}
.timeline-progress-cursor--horizontal::before{content:"";position:absolute;left:50%;top:50%;width:1px;height:13px;background:var(--accent);transform:translate(-50%,-50%)}
.timeline-list-wrap{position:relative}
.timeline-progress-cursor--vertical{display:none}
.milestone-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem var(--pad);margin:0;padding:0;list-style:none}
.milestone{position:relative;min-width:0;min-height:220px;padding:3rem clamp(.75rem,1.4vw,1.5rem) 1.75rem 0;border-bottom:1px solid #747772;color:var(--fg)}
.milestone-marker{position:absolute;z-index:2;top:-.45rem;left:0;width:6px;height:6px;border:1px solid var(--accent);background:var(--bg);transition:border-color var(--duration-ui) var(--ease-out-premium),background-color var(--duration-ui) var(--ease-out-premium),transform var(--duration-ui) var(--ease-out-premium)}
.milestone time{display:block;color:var(--accent);font:400 .75rem/1.2 var(--font-mono);letter-spacing:.08em}
.milestone p{max-width:20ch;margin:1rem 0 0;color:var(--fg);line-height:1.6}
.timeline-closing{order:4;max-width:20ch;margin:clamp(4rem,8vw,8rem) 0 0 auto;font:700 clamp(3rem,6vw,6.2rem)/.9 var(--font-display);letter-spacing:-.02em}
.timeline-closing span{display:block;color:var(--accent);margin-left:0}

/* How we build: content is always present; desktop interaction only changes its presentation. */
.route{background:var(--paper);color:var(--ink);padding:clamp(7rem,11vw,12rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));border-top:1px solid var(--paper-rule)}
.route-inner{max-width:var(--max);margin:auto}
.route-head{display:block}
.route-head .section-label{display:none}
.route-head h2{position:relative;max-width:none;padding-top:clamp(1.35rem,2vw,2rem);border-top:1px solid transparent;font-family:var(--font-body);font-size:clamp(2rem,2.3vw,2.65rem);font-weight:400;line-height:1;letter-spacing:-.045em}
.route-head h2::before,.start>h2::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--paper-rule);transform:scaleX(1);transform-origin:left;pointer-events:none}
.motion-ready .route-head h2::before,.motion-ready .start>h2::before{transform:scaleX(0)}
.motion-ready .route.is-visible .route-head h2::before,.motion-ready .start.is-visible>h2::before{transform:scaleX(1);transition:transform var(--duration-interactive) var(--ease-out-premium)}
.motion-ready .route.is-visible .route-head [data-reveal-heading] .reveal-heading-text{transition-delay:280ms}
.route-list{position:relative;margin-top:clamp(3rem,6vw,6rem);border-top:1px solid var(--paper-rule)}
.route-unit{--route-pad-y:clamp(2.5rem,5vw,5rem);--route-axis-x:2px;position:relative;display:grid;grid-template-columns:4.25rem minmax(220px,1fr) minmax(0,1.3fr);gap:var(--pad);align-items:center;padding:var(--route-pad-y) 0;outline:none}
.route-unit::before{content:"";position:absolute;z-index:1;left:var(--route-axis-x);right:0;bottom:0;height:1px;background:var(--paper-rule);pointer-events:none}
.route-unit:not(:last-child)::after{content:"";position:absolute;z-index:1;left:var(--route-axis-x);top:calc(var(--route-pad-y) + .63rem);width:1px;height:calc(100% + 1px);background:#9b978d;opacity:.42;transform:scaleY(1);transform-origin:top;pointer-events:none}
.motion-ready .route-unit:not(:last-child)::after{transform:scaleY(0)}
.motion-ready .route.is-visible .route-unit:nth-child(1)::after{transform:scaleY(1);transition:transform 360ms var(--ease-out-premium) 330ms,opacity var(--duration-ui) var(--ease-out-premium)}
.motion-ready .route.is-visible .route-unit:nth-child(2)::after{transform:scaleY(1);transition:transform 360ms var(--ease-out-premium) 570ms,opacity var(--duration-ui) var(--ease-out-premium)}
.route-number{position:relative;z-index:2;align-self:start;padding:.45rem 0 0 1rem;color:#5f4b00;font:400 clamp(1rem,1.4vw,1.25rem)/1 var(--font-mono);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.route-number-text{display:inline-block;transition:transform var(--duration-ui) var(--ease-out-premium)}
.route-node{position:absolute;left:0;top:.63rem;width:5px;height:5px;background:#5f4b00;opacity:.48;transform:translateY(-50%) scale(1);transform-origin:center;transition:opacity var(--duration-ui) var(--ease-out-premium),transform var(--duration-ui) var(--ease-out-premium)}
.route-node::after{content:"";position:absolute;left:5px;top:2px;width:7px;height:1px;background:currentColor;opacity:.55}
.motion-ready .route-node{opacity:0;transform:translateY(-50%) scale(.85)}
.motion-ready .route.is-visible .route-unit:nth-child(1) .route-node{opacity:.48;transform:translateY(-50%) scale(1);transition-delay:300ms}
.motion-ready .route.is-visible .route-unit:nth-child(2) .route-node{opacity:.48;transform:translateY(-50%) scale(1);transition-delay:500ms}
.motion-ready .route.is-visible .route-unit:nth-child(3) .route-node{opacity:.48;transform:translateY(-50%) scale(1);transition-delay:700ms}
.route-visual{aspect-ratio:1.36;display:grid;place-items:center;overflow:hidden;background:#e3ddcf}
.route-visual img{width:100%;height:100%;object-fit:contain;padding:clamp(.75rem,2vw,1.5rem);mix-blend-mode:multiply;transform:scale(1);transition:transform 520ms var(--ease-out-premium)}
.route-copy{align-self:center}
.route-copy h3{font-size:clamp(2.2rem,4vw,4.5rem);max-width:11ch;transition:transform var(--duration-ui) var(--ease-out-premium)}
.route-description{display:grid;grid-template-rows:1fr;max-width:45ch;margin-top:1.5rem;opacity:1;transform:none;transition:grid-template-rows 500ms var(--ease-out-premium),opacity 380ms var(--ease-out-premium),transform 500ms var(--ease-out-premium),margin-top 500ms var(--ease-out-premium)}
.route-description p{min-height:0;overflow:hidden}
@media (hover:hover) and (pointer:fine){
  .motion-ready .route-description{grid-template-rows:0fr;margin-top:0;opacity:0;transform:translateY(10px)}
  .motion-ready .route-unit:hover .route-description,.motion-ready .route-unit:focus-visible .route-description,.motion-ready .route-unit:focus-within .route-description{grid-template-rows:1fr;margin-top:1.5rem;opacity:1;transform:none}
  .motion-ready .route-unit:hover .route-visual img,.motion-ready .route-unit:focus-visible .route-visual img,.motion-ready .route-unit:focus-within .route-visual img{transform:scale(1.025)}
  .motion-ready .route-unit:hover .route-copy h3,.motion-ready .route-unit:focus-visible .route-copy h3,.motion-ready .route-unit:focus-within .route-copy h3{transform:translateX(4px)}
  .motion-ready .route-unit:hover .route-number-text,.motion-ready .route-unit:focus-visible .route-number-text,.motion-ready .route-unit:focus-within .route-number-text{transform:translateX(4px)}
  .motion-ready .route.is-visible .route-unit:hover .route-node,.motion-ready .route.is-visible .route-unit:focus-visible .route-node,.motion-ready .route.is-visible .route-unit:focus-within .route-node{opacity:1;transform:translateY(-50%) scale(1.06);transition-delay:0ms}
  .motion-ready .route-unit:hover::after,.motion-ready .route-unit:focus-visible::after,.motion-ready .route-unit:focus-within::after{opacity:.9}
}
.motion-ready .route.is-visible .route-unit:focus-visible .route-node{opacity:1;transform:translateY(-50%) scale(1.06);transition-delay:0ms}

/* Start Here: same reveal language, slightly more deliberate pacing. */
.start{min-height:100svh;display:grid;align-content:center;max-width:var(--max);margin:auto;padding:7rem var(--pad);background:var(--bg);color:var(--fg)}
.start>p{font:400 .7rem/1 var(--font-mono);letter-spacing:.1em;margin-bottom:2rem}
.start>h2{position:relative;color:var(--fg);border-top:1px solid transparent;border-bottom:1px solid var(--border);padding:clamp(2rem,5vw,5rem) 0;font:700 clamp(3.5rem,8vw,8.5rem)/.88 var(--font-display);letter-spacing:-.02em}
.start>h2::before{background:var(--border)}
.motion-ready .start.is-visible [data-reveal-heading] .reveal-heading-text{transition-delay:140ms}
.motion-ready .start.is-visible [data-reveal-content]{transition-delay:260ms}
.footer{max-width:var(--max);margin:auto;padding:2.5rem var(--pad);border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:end;font-size:.8rem;background:var(--bg);color:var(--fg)}
.footer a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;text-underline-offset:.3em}
.footer-brand{grid-column:1;justify-self:start}
.footer-copy{grid-column:2;justify-self:center;display:flex;align-items:flex-end;gap:clamp(2rem,4vw,4.5rem)}
.footer-start{grid-column:3;justify-self:end}
.footer-tagline{margin:0}
.footer-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;font:400 .72rem/1.45 var(--font-mono);letter-spacing:.04em}
.footer-contacts a{text-transform:none;letter-spacing:.04em}
.footer-contacts span{white-space:nowrap}

@media (min-width:1024px){
  .route-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--pad);align-items:start}
  .route-head{grid-column:1/4}
  .route-list{grid-column:4/13;margin-top:0}
  .motion-ready .timeline[data-enhanced="true"]{min-height:300svh;overflow:visible;padding:0}
  .motion-ready .timeline[data-enhanced="true"] .timeline-inner{position:sticky;top:0;width:100%;max-width:none;height:100svh;min-height:100svh;margin:0;overflow:hidden;isolation:isolate}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery{position:absolute;z-index:0;inset:0;display:block;margin:0;pointer-events:none}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery:after{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 50% 45%,rgba(11,13,12,.12) 0%,rgba(11,13,12,.43) 55%,rgba(11,13,12,.86) 100%),linear-gradient(180deg,rgba(11,13,12,.72) 0%,rgba(11,13,12,.26) 40%,rgba(11,13,12,.38) 66%,rgba(11,13,12,.84) 100%)}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery figure{position:absolute;z-index:1;inset:0;min-height:0;aspect-ratio:auto;opacity:var(--photo-opacity,0);transform:scale(var(--photo-scale,1.035));will-change:opacity,transform}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery img{width:100%;height:100%;max-width:none;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.77)}
  .motion-ready .timeline[data-enhanced="true"] .timeline-content{position:relative;z-index:3;width:min(100%,var(--max));height:100%;display:flex;flex-direction:column;justify-content:center;margin-inline:auto;padding:calc(var(--header-h) + clamp(2rem,4svh,3rem)) var(--pad) clamp(2rem,4svh,3.5rem)}
  .motion-ready .timeline[data-enhanced="true"] .timeline-heading{grid-template-columns:2fr 10fr}
  .motion-ready .timeline[data-enhanced="true"] .timeline-heading h2{font-size:clamp(3.2rem,6.5vw,6.8rem);max-width:10.5ch}
  .motion-ready .timeline[data-enhanced="true"] .timeline-chronology{margin-top:clamp(2.5rem,6svh,5rem)}
  .motion-ready .timeline[data-enhanced="true"] .timeline-progress{background-image:linear-gradient(to right,#747772 0 42%,transparent 42% 100%);background-size:8px 1px;background-repeat:repeat-x}
  .motion-ready .timeline[data-enhanced="true"] .timeline-progress-cursor--horizontal{left:var(--timeline-progress-percent)}
  .motion-ready .timeline[data-enhanced="true"] .milestone-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
  .motion-ready .timeline[data-enhanced="true"] .milestone{min-height:clamp(132px,18svh,180px);padding:clamp(2.15rem,4.5svh,3rem) clamp(.75rem,1.4vw,1.5rem) 0 0;border-bottom:0}
  .motion-ready .timeline[data-enhanced="true"] .milestone+.milestone{padding-left:clamp(.75rem,1.4vw,1.5rem)}
  .motion-ready .timeline[data-enhanced="true"] .milestone+.milestone .milestone-marker{left:clamp(.75rem,1.4vw,1.5rem)}
  .motion-ready .timeline[data-enhanced="true"] .milestone-marker{top:-3px;width:6px;height:6px;border:1px solid rgba(247,244,237,.42)}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-past .milestone-marker,.motion-ready .timeline[data-enhanced="true"] .milestone.is-active .milestone-marker{border-color:var(--accent);background:var(--accent)}
  .motion-ready .timeline[data-enhanced="true"] .milestone-marker{opacity:.45}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-past .milestone-marker{opacity:.58}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-active .milestone-marker{opacity:1}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-active .milestone-marker{transform:scale(1.08)}
  .motion-ready .timeline[data-enhanced="true"] .milestone time,.motion-ready .timeline[data-enhanced="true"] .milestone p{transition:color var(--duration-ui) var(--ease-out-premium),opacity var(--duration-ui) var(--ease-out-premium),transform var(--duration-ui) var(--ease-out-premium)}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-upcoming time,.motion-ready .timeline[data-enhanced="true"] .milestone.is-upcoming p{color:rgba(247,244,237,.72);opacity:.42;transform:translateY(4px)}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-past time,.motion-ready .timeline[data-enhanced="true"] .milestone.is-past p{color:rgba(247,244,237,.82);opacity:.8}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-active time{color:var(--accent);opacity:1;transform:none}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-active p{color:var(--fg);opacity:1;transform:none}
  .motion-ready .timeline[data-enhanced="true"] .timeline-closing{margin-top:clamp(1.6rem,3.5svh,3.25rem);margin-left:16.666%;font-size:clamp(1rem,1.7vw,1.7rem);text-transform:uppercase}
  .motion-ready .timeline[data-enhanced="true"] .timeline-closing span{margin-left:0}
}

@media (max-width:1023px){
  .timeline-heading{grid-template-columns:1fr;gap:1.5rem}
  .timeline-heading .section-label{padding-top:0}
  .route-list{margin-top:3rem}
  .timeline h2{max-width:11ch}
  .timeline-gallery{grid-template-columns:1fr;gap:1rem;margin-top:4rem}
  .timeline-progress{display:none}
  .timeline-list-wrap{position:relative;margin-top:4.5rem}
  .timeline-progress-cursor--vertical{display:block;left:0;top:var(--timeline-progress-percent);transform:translate(-50%,-50%)}
  .timeline-progress-cursor--vertical::before{content:"";position:absolute;left:50%;top:50%;width:13px;height:1px;background:var(--accent);transform:translate(-50%,-50%)}
  .milestone-list{position:relative;display:block;margin-top:0;padding-left:2.25rem}
  .milestone-list::before,.milestone-list::after{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;pointer-events:none}
  .milestone-list::before{background:#747772}
  .milestone-list::after{background:var(--accent);transform:scaleY(var(--timeline-progress));transform-origin:top}
  .milestone,.milestone+.milestone{min-height:0;padding:.25rem 0 2.75rem 1.25rem;border:0;border-bottom:1px solid #747772}
  .milestone+.milestone{padding-top:2.75rem}
  .milestone-marker,.milestone+.milestone .milestone-marker{top:.25rem;left:-2.45rem;width:6px;height:6px;border:1px solid var(--accent);background:var(--bg);border-radius:0;transform:none}
  .milestone+.milestone .milestone-marker{top:2.75rem}
  .milestone p{max-width:30ch}
  .timeline-closing{margin:4rem 0 0}
  .motion-ready .timeline[data-enhanced="true"] .milestone time,.motion-ready .timeline[data-enhanced="true"] .milestone p{transition:opacity var(--duration-ui) var(--ease-out-premium),transform var(--duration-ui) var(--ease-out-premium),color var(--duration-ui) var(--ease-out-premium)}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-upcoming time,.motion-ready .timeline[data-enhanced="true"] .milestone.is-upcoming p{opacity:.48;transform:translateY(4px)}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-past time,.motion-ready .timeline[data-enhanced="true"] .milestone.is-past p{opacity:.76}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-active time,.motion-ready .timeline[data-enhanced="true"] .milestone.is-active p{opacity:1;transform:none}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-past .milestone-marker,.motion-ready .timeline[data-enhanced="true"] .milestone.is-active .milestone-marker{background:var(--accent)}
  .motion-ready .timeline[data-enhanced="true"] .milestone-marker{opacity:.45}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-past .milestone-marker{opacity:.58}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-active .milestone-marker{opacity:1}
  .motion-ready .timeline[data-enhanced="true"] .milestone.is-active .milestone-marker{transform:scale(1.08)}
}

@media (max-width:1023px){
  .motion-ready .timeline[data-enhanced="true"]{overflow:visible;padding:0}
  .motion-ready .timeline[data-enhanced="true"] .timeline-inner{width:100%;max-width:none;margin:0;display:block;isolation:isolate}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery{position:sticky;z-index:0;top:0;height:100svh;display:block;margin:0;overflow:hidden;pointer-events:none}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery::after{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 50% 45%,rgba(11,13,12,.12) 0%,rgba(11,13,12,.43) 55%,rgba(11,13,12,.86) 100%),linear-gradient(180deg,rgba(11,13,12,.72) 0%,rgba(11,13,12,.26) 40%,rgba(11,13,12,.38) 66%,rgba(11,13,12,.84) 100%)}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery figure{position:absolute;z-index:1;inset:0;display:block;min-height:0;aspect-ratio:auto;margin:0;opacity:var(--photo-opacity,0);transform:scale(var(--photo-scale,1.035));outline:0;will-change:opacity,transform}
  .motion-ready .timeline[data-enhanced="true"] .timeline-gallery img{width:100%;height:100%;max-width:none;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.77)}
  .motion-ready .timeline[data-enhanced="true"] .timeline-content{position:relative;z-index:3;display:flex;flex-direction:column;width:100%;margin-top:-100svh;padding:calc(var(--header-h) + 3rem) var(--pad) 5rem}
  .motion-ready .timeline[data-enhanced="true"] .timeline-heading{order:1}
  .motion-ready .timeline[data-enhanced="true"] .timeline-chronology{order:3;margin-top:clamp(11rem,28svh,15rem)}
  .motion-ready .timeline[data-enhanced="true"] .timeline-closing{order:4}
}

@media (max-width:900px){
  .desktop-nav{display:none}.menu-button{display:flex}.header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}.header.is-compact{background:var(--bg)}
  .mobile-menu{top:calc(1rem + var(--header-h));right:0;bottom:0;left:0;padding:2rem var(--pad);overflow:auto}.header.is-compact .mobile-menu{top:calc(1rem + 3.4rem)}
  .hero h1{width:100%;font-size:clamp(3.35rem,12.8vw,6.5rem)}
  .hero-image{right:-6vw;bottom:clamp(3rem,9vh,5rem);width:min(72vw,60svh)}
  .section-grid{grid-template-columns:1fr;padding-block:6rem;gap:2rem}.section-index,.manifesto-copy{grid-column:1}.manifesto h2{font-size:clamp(3rem,12vw,5rem)}.manifesto p{margin-top:3rem}
  .region-inner{grid-template-columns:1fr;min-height:0;padding-block:6rem;gap:2rem}.region-index,.region-copy,.map-visual{grid-column:1;grid-row:auto}.region-index{order:1}.region-copy{order:2}.map-visual{order:3;margin-top:2rem}.region h2{font-size:clamp(3rem,12vw,5rem)}.region p{margin:3rem 0 0;max-width:54ch}
  .route-unit{grid-template-columns:3.25rem 1fr}.route-number{grid-column:1;grid-row:1/3}.route-visual{grid-column:2;grid-row:1}.route-copy{grid-column:2;grid-row:2;margin-top:2rem}.route-copy h3{font-size:clamp(2.5rem,8vw,4rem)}
  .footer{grid-template-columns:1fr auto}
  .footer-tagline{display:none}
  .footer-copy{grid-column:1/-1;grid-row:2;justify-self:start;display:block}
  .footer-start{grid-column:2;grid-row:1}
  .footer-contacts{margin-top:.9rem;gap:.3rem}
}

@media (max-width:560px){
  .header{left:.75rem;right:.75rem;top:.75rem}.mobile-menu{top:calc(.75rem + var(--header-h))}.header.is-compact .mobile-menu{top:calc(.75rem + 3.4rem)}
  .hero-frame{padding:6.7rem 1rem 1.5rem}.hero h1{font-size:clamp(2.7rem,12.9vw,4.1rem);line-height:.86}.hero-image{right:-9vw;top:clamp(12.5rem,30svh,16rem);bottom:auto;width:min(88vw,52svh)}.hero-rule{left:1rem;right:1rem;bottom:1.35rem}
  .timeline,.route,.section-grid,.region-inner{padding-inline:1rem}
  .region .map-visual{width:min(58vw,220px);margin-top:1.5rem}
  .timeline h2{font-size:clamp(3rem,12vw,5rem)}
  .route-head h2{font-size:clamp(2rem,9vw,2.8rem)}
  .route-unit{--route-pad-y:3rem;grid-template-columns:3rem minmax(0,1fr);column-gap:.75rem;padding-block:var(--route-pad-y)}.route-number{grid-column:1/-1;grid-row:auto;margin-bottom:1rem}.route-visual,.route-copy{grid-column:2;grid-row:auto;margin-left:0}.route-copy{margin-top:1.5rem}
  .start{padding-inline:1rem}.footer{padding-inline:1rem}
}

@media (max-width:380px){.hero h1{font-size:clamp(2.45rem,12.7vw,3.1rem)}}


/* Responsive adaptations for the supplied replacement sections. */
@media (max-width:1180px){
  .manifesto-shell{grid-template-columns:1fr;align-items:start;gap:4rem}
  .manifesto-intro,.manifesto-redesign h2,.manifesto-stats{max-width:920px}
  .manifesto-stats{justify-self:stretch}
  .manifesto-background{width:min(100vw,1280px)}
  .region-shell{grid-template-columns:46% 54%}
  .region-map-wrap{width:min(590px,90%);left:0}
  .region-stats{grid-template-columns:1fr;gap:1.35rem}
  .region-stat{grid-template-columns:42px minmax(0,1fr)}
}
@media (max-width:900px){
  .manifesto-shell{min-height:auto;padding-block:6.5rem;gap:3.5rem}
  .manifesto-redesign h2{font-size:clamp(3.2rem,11vw,5.8rem)}
  .manifesto-background{width:100%;height:100%;background-position:30% center;background-size:cover;opacity:.46}
  .motion-ready .manifesto.is-visible .manifesto-background{opacity:.46}
  .region-shell{min-height:auto;grid-template-columns:1fr;padding-block:6.5rem;gap:1.5rem}
  .region-map-column{order:1;min-height:clamp(470px,68vw,620px);overflow:visible}
  .region-content{order:2;padding-left:0}
  .region-map-wrap{left:50%;top:50%;width:min(620px,78vw);transform:translate(-50%,-50%)}
  .region-label{margin-bottom:2rem}
  .region-redesign h2{font-size:clamp(3.15rem,10.8vw,5.6rem);max-width:11ch}
  .region-lede{max-width:56ch}
  .region-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .region-stat{grid-template-columns:36px minmax(0,1fr);gap:.8rem}
  .region-stat-icon{width:34px;height:34px}
}
@media (max-width:700px){
  .manifesto-shell{padding:5.75rem 1rem 4.5rem;gap:3rem}
  .manifesto-label{margin-bottom:1.5rem}
  .manifesto-redesign h2{font-size:clamp(2.85rem,13.4vw,4.7rem);line-height:.95}
  .manifesto-background{width:100%;height:100%;background-position:28% center;background-size:cover;opacity:.42}
  .motion-ready .manifesto.is-visible .manifesto-background{opacity:.42}
  .manifesto-stat{grid-template-columns:1fr;gap:.8rem;padding:1.7rem 0}
  .manifesto-stat-value--big{font-size:clamp(3rem,14vw,4.2rem)}
  .manifesto-stat-value--word{font-size:clamp(2.6rem,11vw,3.7rem);white-space:normal}
  .manifesto-stat-copy{padding-left:1rem;font-size:1rem}
  .region-shell{padding:5.5rem 1rem 5rem;gap:1rem}
  .region-map-column{min-height:clamp(330px,94vw,430px)}
  .region-map-wrap{width:min(370px,78vw)}
  .region-redesign h2{font-size:clamp(2.75rem,13vw,4.4rem);line-height:.95}
  .region-accent-rule{margin:2rem 0 1.5rem}
  .region-lede{font-size:1.05rem;line-height:1.45}
  .region-stats{grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem;padding-top:2rem}
  .region-stat{grid-template-columns:40px 1fr;gap:1rem}
  .region-stat-icon{width:36px;height:36px}
  .region-stat strong{font-size:1rem}
  .region-stat span{font-size:.98rem}
}
@media (max-width:380px){
  .region-map-column{min-height:315px}
  .region-map-wrap{width:min(300px,80vw)}
}


/* Requested consistency adjustments. */
.timeline-closing,.motion-ready .timeline[data-enhanced="true"] .timeline-closing{margin-left:0;margin-right:auto;align-self:flex-start}
.route-head h2{padding-top:0;border-top:0;color:#666961;font:400 .68rem/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.route-head h2::before{display:none}
.route-number{color:var(--accent);font-family:var(--font-mono);font-weight:400;line-height:1.2;letter-spacing:.08em}
.route-node{color:var(--accent);background:currentColor}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .motion-ready .header,.motion-ready.intro-ready .header{opacity:1;transform:none;transition:none}
  .motion-ready .hero{min-height:100svh}.motion-ready .hero-frame{position:relative}.hero h1{transform:none!important}.hero [data-hero-beat]{color:var(--ink)!important}
  .motion-ready .hero-line-inner,.motion-ready.intro-ready .hero-line-inner{transform:none;transition:none}
  .motion-ready .hero-image,.motion-ready.intro-ready .hero-image{opacity:1;transform:none!important;transition:none}
  .motion-ready [data-reveal-section]::before,.motion-ready .route-head h2::before,.motion-ready .start>h2::before{transform:scaleX(1)!important;transition:none!important}
  .motion-ready [data-reveal-heading] .reveal-heading-text,.motion-ready [data-reveal-content]{opacity:1;transform:none;transition:none!important}
  .motion-ready .map-draw-ready [data-map-line]{stroke-dashoffset:0;transition:none!important}.motion-ready .map-draw-ready #Leiria_fill{opacity:1;transform:none;transition:none!important}
  .motion-ready [data-datum] .datum-tick{opacity:1!important;transform:none!important;transition:none!important}
  .motion-ready .route-node{opacity:.48;transform:translateY(-50%) scale(1);transition:none!important}.motion-ready .route-unit::after{transform:scaleY(1)!important;transition:none!important}
  .route-visual img,.route-description,.route-copy h3,.route-number-text,.menu-button i,.menu-button i:after,.nav-indicator{transition:none!important}
  .timeline-progress-cursor{transition:none!important}.timeline-gallery figure,.timeline-gallery img{transform:none!important}.milestone-marker,.milestone time,.milestone p{transform:none!important;transition:none!important}
}

@media (prefers-reduced-motion:reduce){
  .motion-ready .manifesto-background,.motion-ready .manifesto.is-visible .manifesto-background{opacity:.56;transform:none;transition:none!important}
  .motion-ready .manifesto-intro-rule,.motion-ready .manifesto.is-visible .manifesto-intro-rule{transform:none;transition:none!important}
  .motion-ready .manifesto-stat,.motion-ready .manifesto.is-visible .manifesto-stat{opacity:1;transform:none;transition:none!important}
  .motion-ready .region-map-art,.motion-ready .region.is-visible .region-map-art{opacity:1;transform:none;transition:none!important}
  .motion-ready .region-focus-ring,.motion-ready .region.is-visible .region-focus-ring{stroke-dashoffset:0;transition:none!important}
  .motion-ready .region-marker-halo,.motion-ready .region-marker,.motion-ready .region-marker-core,.motion-ready .region.is-visible .region-marker-halo,.motion-ready .region.is-visible .region-marker,.motion-ready .region.is-visible .region-marker-core{opacity:1;transform:none;transition:none!important}
  .motion-ready .region-accent-rule,.motion-ready .region.is-visible .region-accent-rule{transform:none;transition:none!important}
  .motion-ready .region-stat,.motion-ready .region.is-visible .region-stat{opacity:1;transform:none;transition:none!important}
}


/* Final route-number emphasis + minimal two-step Start Here enquiry. */
.route-number{
  font-size:clamp(1.65rem,2.3vw,2.2rem);
  font-weight:900;
  line-height:1;
  letter-spacing:.035em;
}

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.start-form{
  width:min(100%,1100px);
  margin-top:clamp(2rem,4vw,3.5rem);
}
.start-form-stage{display:grid;gap:1rem}
.start-form-step{
  min-width:0;
  min-height:4.5rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  border-bottom:1px solid var(--border);
}
.start-form-step--email{grid-template-columns:auto minmax(0,1fr) auto}
.start-input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  padding:1rem 0;
  background:transparent;
  color:var(--fg);
  caret-color:var(--accent);
  font:400 clamp(1.05rem,1.4vw,1.3rem)/1.4 var(--font-body);
}
.start-input--project{
  min-height:3.4rem;
  max-height:18rem;
  resize:none;
  overflow-y:hidden;
  white-space:pre-wrap;
}
.start-input::placeholder{color:rgba(247,244,237,.42);opacity:1}
.start-input:focus-visible{outline:0}
.start-form-step:focus-within{border-color:rgba(247,244,237,.78)}
.start-action,.start-back{
  min-height:44px;
  border:0;
  background:transparent;
  color:var(--fg);
  cursor:pointer;
  font:400 .68rem/1 var(--font-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.start-action{
  margin-left:1rem;
  padding:0 0 0 1.5rem;
  border-left:1px solid var(--border);
}
.start-back{
  margin-right:1rem;
  padding:0 1.5rem 0 0;
  border-right:1px solid var(--border);
  color:var(--muted);
}
.start-action:hover:not(:disabled),.start-action:focus-visible:not(:disabled),.start-back:hover,.start-back:focus-visible{color:var(--accent)}
.start-action:disabled{
  color:var(--muted);
  opacity:.34;
  cursor:not-allowed;
}
.start-form-success{
  padding:1.15rem 0 1.3rem;
  border-bottom:1px solid var(--border);
  color:var(--fg);
  font:400 clamp(1.05rem,1.4vw,1.3rem)/1.4 var(--font-body);
}
.start-form-success p{max-width:44ch}

.js .start-form{position:relative}
.js .start-form-stage{
  grid-template-areas:"start-form-stack";
  position:relative;
  overflow:hidden;
  transition:opacity var(--duration-ui) var(--ease-out-premium),transform var(--duration-interactive) var(--ease-out-premium);
}
.js .start-form-step{
  grid-area:start-form-stack;
  transition:opacity var(--duration-ui) var(--ease-out-premium),transform var(--duration-interactive) var(--ease-out-premium);
}
.js .start-form-step--email{position:absolute;inset:0;opacity:0;transform:translateY(12px);pointer-events:none}
.js [data-start-form-state="email"] .start-form-step--project{position:absolute;inset:0;opacity:0;transform:translateY(-12px);pointer-events:none}
.js [data-start-form-state="email"] .start-form-step--email{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto}
.js [data-start-form-state="success"] .start-form-stage{position:absolute;inset:0;opacity:0;transform:translateY(-10px);pointer-events:none}
.js .start-form-success{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity var(--duration-ui) var(--ease-out-premium),transform var(--duration-interactive) var(--ease-out-premium)}
.js [data-start-form-state="success"] .start-form-success{position:relative;inset:auto;opacity:1;transform:none}

@media (max-width:560px){
  .route-number{font-size:1.75rem;font-weight:900}
  .start-form{margin-top:1.75rem}
  .start-form-step{min-height:4.25rem}
  .start-form-step--email{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"back back" "email submit";
    padding-top:.35rem;
  }
  .start-form-step--email .start-back{
    grid-area:back;
    justify-self:start;
    min-height:32px;
    margin:0;
    padding:0;
    border-right:0;
  }
  .start-form-step--email .start-input{grid-area:email}
  .start-form-step--email .start-action{grid-area:submit}
  .start-action{padding-left:1rem;margin-left:.75rem}
}

@media (prefers-reduced-motion:reduce){
  .js .start-form-stage,.js .start-form-step,.js .start-form-success{transition:none!important}
}

/* Hero supporting proposition: Region-derived secondary hierarchy. */
.hero-support-block{
  position:relative;
  z-index:3;
  width:min(650px,49vw);
  transform:translate3d(0,var(--hero-type-y),0);
}
.hero-accent-rule{
  width:78px;
  height:3px;
  margin:clamp(2.1rem,3.4vw,3.25rem) 0 clamp(1.7rem,2.7vw,2.5rem);
  background:var(--ink);
  transform-origin:left;
}
.hero-support{
  width:100%;
  margin:0;
  color:rgba(17,19,17,.92);
  font-family:var(--font-body);
  font-size:clamp(2.2rem,4vw,4.5rem);
  font-weight:700;
  line-height:.98;
  letter-spacing:-.025em;
}
.motion-ready .hero-accent-rule{transform:scaleX(0)}
.motion-ready .hero-support{opacity:0;transform:translateY(10px)}
.motion-ready.intro-ready .hero-accent-rule{
  transform:scaleX(1);
  transition:transform var(--duration-interactive) var(--ease-out-premium) 360ms;
}
.motion-ready.intro-ready .hero-support{
  opacity:1;
  transform:none;
  transition:opacity var(--duration-interactive) var(--ease-out-premium) 430ms,transform var(--duration-editorial) var(--ease-out-premium) 430ms;
}
.motion-ready.intro-skip .hero-accent-rule{transform:none;transition:none}
.motion-ready.intro-skip .hero-support{opacity:1;transform:none;transition:none}
.motion-ready .hero[data-hero-enhanced="true"] .hero-support-block{will-change:transform}

@media (max-width:900px){
  .hero-support-block{width:min(38rem,72vw)}
}
@media (max-width:700px){
  .hero-accent-rule{margin:2rem 0 1.5rem}
  .hero-support{font-size:clamp(2.5rem,8vw,4rem);line-height:.98}
}
@media (max-width:560px){
  .hero-support-block{width:min(33rem,94vw)}
  .hero-image{top:clamp(21.5rem,51svh,25rem);width:min(78vw,44svh)}
}
@media (max-width:380px){
  .hero-image{top:clamp(21rem,53svh,23.5rem);width:min(74vw,40svh)}
}
@media (max-height:640px) and (max-width:560px){
  .hero-frame{padding-top:5.7rem}
  .hero-accent-rule{margin:1.4rem 0 1.1rem}
  .hero-support{font-size:clamp(2.5rem,8vw,4rem);line-height:.98}
  .hero-image{top:auto;bottom:2.65rem;width:min(50vw,32svh)}
}
@media (prefers-reduced-motion:reduce){
  .motion-ready .hero-accent-rule,.motion-ready.intro-ready .hero-accent-rule{transform:none!important;transition:none!important}
  .motion-ready .hero-support,.motion-ready.intro-ready .hero-support{opacity:1;transform:none!important;transition:none!important}
}

/* Hero support alignment to supplied reference. */
.hero-support-block{
  margin-top:10.5rem;
  width:min(34rem,46vw);
}
.hero-accent-rule{
  width:74px;
  height:4px;
}
.hero-support{
  width:max-content;
  max-width:100%;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:2.0625rem;
  font-weight:400;
  line-height:1.18;
  letter-spacing:0;
}
.hero-cta{
  display:flex;
  align-items:center;
  gap:12px;
  width:262px;
  margin-top:3.45rem;
  padding:0 0 26px;
  border-bottom:3px solid var(--ink);
  color:var(--ink);
  font:400 1.375rem/1 var(--font-mono);
  letter-spacing:.015em;
  text-transform:uppercase;
  text-decoration:none;
}
.hero-cta-arrow{
  position:relative;
  display:inline-block;
  flex:0 0 24px;
  width:24px;
  height:14px;
  font-size:0;
  transform:translateY(-1px);
  transition:transform var(--duration-ui) var(--ease-out-premium);
}
.hero-cta-arrow::before{
  content:"";
  position:absolute;
  left:1px;
  top:6px;
  width:20px;
  height:2px;
  background:currentColor;
}
.hero-cta-arrow::after{
  content:"";
  position:absolute;
  right:1px;
  top:3px;
  width:7px;
  height:7px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform:rotate(45deg);
}
.hero-cta:hover .hero-cta-arrow,.hero-cta:focus-visible .hero-cta-arrow{transform:translate(5px,-1px)}
.hero-rule{display:none}

@media (max-width:900px){
  .hero-support-block{margin-top:clamp(4.5rem,12vw,7.25rem);width:min(32rem,74vw)}
}
@media (max-width:700px){
  .hero-accent-rule{width:64px;height:3px;margin:1.75rem 0 1.4rem}
  .hero-support{font-size:clamp(1.35rem,5.6vw,2rem);line-height:1.2}
  .hero-cta{width:min(250px,78vw);margin-top:2.25rem;padding-bottom:18px;font-size:1.05rem;gap:18px}
}
@media (max-width:560px){
  .hero-support-block{margin-top:3.75rem;width:min(28rem,94vw)}
}
@media (max-height:640px) and (max-width:560px){
  .hero-support-block{margin-top:2.2rem}
  .hero-accent-rule{margin:1rem 0 .9rem}
  .hero-support{font-size:clamp(1.1rem,4.7vw,1.45rem);line-height:1.16}
  .hero-cta{margin-top:1.25rem;padding-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  .hero-cta-arrow{transition:none!important}
}


.motion-ready .hero-cta{opacity:0;transform:translateY(10px)}
.motion-ready.intro-ready .hero-cta{
  opacity:1;
  transform:none;
  transition:opacity var(--duration-interactive) var(--ease-out-premium) 500ms,transform var(--duration-editorial) var(--ease-out-premium) 500ms;
}
.motion-ready.intro-skip .hero-cta{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){
  .motion-ready .hero-cta,.motion-ready.intro-ready .hero-cta{opacity:1;transform:none!important;transition:none!important}
}


/* Supplied West Portugal identity: full wordmark where space allows, compact mark on small screens. */
.brand{
  gap:0;
}
.brand-logo{
  display:block;
  line-height:0;
}
.brand-logo img{
  display:block;
  width:auto;
  max-width:none;
  height:1.72rem;
}
.brand-logo--mark{display:none}
.footer-brand{
  display:block;
  width:clamp(8.75rem,11vw,11.5rem);
  line-height:0;
  text-decoration:none;
}
.footer-brand img{
  display:block;
  width:100%;
  height:auto;
}

@media (max-width:560px){
  .brand-logo--full{display:none}
  .brand-logo--mark{display:block}
  .brand-logo img{height:1.7rem}
  .footer-brand{width:8rem}
}

/* Cloudflare-backed contact form states. */
.contact-trap{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.start-form-error{
  margin:.8rem 0 0;
  color:var(--accent);
  font:400 .72rem/1.5 var(--font-mono);
  letter-spacing:.035em;
}
