@font-face{font-family:'Cormorant Garamond';src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url(fonts/source-sans-3-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url(fonts/source-sans-3-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url(fonts/source-sans-3-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#ebe2cc;--surface:#f7f1e3;--text:#1f2421;--accent:#0e6a66;--accent2:#a8442c;--muted:#52564c;--rule:#1f242130;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Source Sans 3',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace;--gutter:clamp(22px,4.5vw,80px);--space:clamp(56px,6.5vw,96px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.65 var(--sans)}
.page{min-width:0;background-image:repeating-linear-gradient(0deg,transparent 0 39px,#1f242106 39px 40px)}
main,section,article,div{min-width:0}
figure,p,ul,ol,dl{margin:0}ul,ol{padding-left:1.3em}p+p{margin-top:1em}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--serif);font-weight:500;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(3rem,6.8vw,7.5rem);letter-spacing:-.045em}h2{font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.04em}h3{font-size:2rem}h4,h5,h6{font-size:1.5rem}
em{font-weight:inherit}h1 em,h2 em{color:var(--accent)}strong,b{font-weight:600}
a{color:var(--accent);text-underline-offset:.24em;text-decoration-thickness:1px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.hero :focus-visible,.page-home .site-header:not(.is-scrolled) :focus-visible{outline-color:var(--surface)}
::selection{background:var(--accent);color:var(--surface)}
img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}svg{max-width:100%}
button,input,textarea,select{font:inherit;color:inherit;max-width:100%}button{cursor:pointer}
blockquote{margin:2rem 0;padding-left:1.5rem;border-left:3px double var(--accent);font:italic 1.6rem/1.5 var(--serif)}hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}pre,code{font-family:var(--mono);font-size:max(12px,.85em);overflow-wrap:anywhere}pre{white-space:pre-wrap}table{border-collapse:collapse;width:100%;table-layout:fixed}th,td{padding:.8rem;border-bottom:1px solid var(--rule);text-align:left;overflow-wrap:anywhere}
.wrap{width:min(calc(100% - var(--gutter)*2),1440px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:110;top:12px;left:12px;padding:12px 20px;background:var(--surface);color:var(--accent);transform:translateY(-180%)}.skip-link:focus{transform:none}
.paper-grain{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.15;background-image:repeating-radial-gradient(ellipse at 17% 36%,#412f262c 0 .6px,transparent .9px 3px);background-size:5px 7px;mix-blend-mode:multiply}
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--accent);z-index:105;transform:scaleX(0);transform-origin:left}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:var(--text);background:#f7f1e3f5;border-bottom:1px solid var(--rule);transition:transform .35s,background .35s,color .35s}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:92px}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;font:500 clamp(1.6rem,2.2vw,2.2rem)/1 var(--serif);letter-spacing:-.045em;color:inherit;text-decoration:none}
.brand-mark{position:relative;width:24px;height:31px;border:1px solid currentColor;border-right:3px double currentColor;background:repeating-linear-gradient(0deg,transparent 0 6px,currentColor 6px 7px);background-size:12px 19px;background-repeat:no-repeat;background-position:center}
.brand-mark::after{content:'';position:absolute;right:-5px;bottom:-3px;width:6px;height:6px;background:var(--accent2);border-radius:50%}
.site-nav{max-width:850px}.site-nav ul,.footer-nav ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:4px 23px;justify-content:flex-end}.site-nav a{display:block;padding:8px 0;font-size:14px;color:inherit;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.page-home .site-header:not(.is-scrolled){color:var(--surface);background:linear-gradient(#100c09b3,transparent);border-color:#f7f1e32b}
.site-header.is-scrolled{background:#f7f1e3ed;backdrop-filter:blur(18px);box-shadow:0 4px 24px #1f242108}.site-header.is-hidden{transform:translateY(-105%)}.site-header:focus-within{transform:none}
.hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:100vh;min-height:100svh;background:#1a120c;color:var(--surface);overflow:clip}
.hero-media,.loupe-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.hero-media img{height:100%;object-position:68% center;filter:sepia(.22) saturate(.65)}
.loupe-canvas{z-index:-2;pointer-events:none;visibility:hidden}.hero.loupe-ready .hero-media{visibility:hidden}
.no-webgl .hero-media,html:not(.js) .hero-media{visibility:visible}.no-webgl .loupe-canvas,html:not(.js) .loupe-canvas{display:none}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100c09ed 0%,#100c09bf 35%,#100c0940 72%,#100c0914),linear-gradient(0deg,#100c09c9,transparent 45%,#100c0933)}
.hero::after{content:'';position:absolute;inset:116px var(--gutter) 58px;pointer-events:none;border-left:3px double #f7f1e329;z-index:-1}
.hero-inner{padding-block:160px 110px}.hero-text{max-width:1050px;padding-left:clamp(18px,2.5vw,40px)}
.eyebrow,.step-label,.card-kicker,.entry-label,.scroll-cue,.route-source{font:400 14px/1.6 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:28px;color:#e2d7bb}.eyebrow::before{content:'';width:6px;height:6px;background:var(--accent2);border-radius:50%;flex-shrink:0}
.hero h1{font-size:clamp(3.25rem,6.9vw,7.6rem);max-width:18ch;line-height:.98}.hero h1 em{color:#c8d5bd;font-weight:500}
.lead{font-size:clamp(1.1rem,1.4vw,1.35rem);line-height:1.6;margin-top:2rem;max-width:58ch}.hero .lead{font-size:clamp(1rem,1.12vw,1.15rem);max-width:62ch;color:#e3dccd;line-height:1.65;margin-top:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 25px;border:1px solid var(--accent);font:400 14px/1.5 var(--mono);text-decoration:none;transition:background .2s,color .2s;letter-spacing:.02em}.btn-primary{background:var(--accent);color:var(--surface)}.btn-primary:hover{background:#084d49}.btn-ghost{background:transparent;color:var(--accent)}.btn-ghost:hover{background:var(--accent);color:var(--surface)}.hero .btn-primary{background:var(--surface);color:var(--text);border-color:var(--surface)}.hero .btn-primary:hover{background:#d9cbaa}.hero .btn-ghost{color:var(--surface);border-color:#f7f1e366}.hero .btn-ghost:hover{background:#f7f1e31a}
.hero .btn{font-size:14px;line-height:1.4;min-height:44px;padding:12px 18px}
.scroll-cue{position:absolute;bottom:25px;left:var(--gutter);display:flex;align-items:center;gap:18px;font-size:14px;color:#e3dccd}.scroll-cue::before{content:'';width:54px;height:1px;background:currentColor}
.section{padding-block:var(--space);border-bottom:1px solid var(--rule)}.section-title{max-width:18ch;margin-bottom:24px}.section-intro{max-width:58ch;margin-bottom:40px;color:var(--muted);font-size:1.1rem}.story{position:relative}
.story-entry{background:linear-gradient(90deg,#f7f1e340,transparent)}.story-inner{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:6vw}.entry-stage{padding:30px 0}.entry-page{position:relative;padding:35px 18px 55px;background:linear-gradient(90deg,#baaa8726,transparent 15%),repeating-linear-gradient(0deg,transparent 0 31px,#1f242117 31px 32px),var(--surface);border:1px solid #9f947b;box-shadow:5px 5px 0 #e0d4b8,6px 6px 0 #ada184,12px 18px 30px #50432b18;transform:rotate(-2deg)}
.entry-page::before{content:'';position:absolute;left:10%;top:0;bottom:0;border-left:3px double #a8442c55;pointer-events:none}.entry-rule{display:block;height:7px;border-block:1px solid #1f242152;margin-block:18px}.entry-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:240px}.entry-cell{padding:12px 9px;border-right:1px solid var(--rule);transition:background .3s}.entry-cell:last-child{border:0}.entry-cell.is-lit{background:#0e6a6614}.entry-label{display:block;overflow-wrap:anywhere;min-height:4rem;font-size:14px;letter-spacing:0;color:var(--accent)}.entry-ink{display:block;height:130px;background:repeating-linear-gradient(-12deg,transparent 0 11px,#69533899 12px 13px,transparent 14px 24px);mask-image:repeating-linear-gradient(90deg,#000 0 7px,transparent 8px 11px)}
.entry-date .entry-ink{height:70px}.entry-child .entry-ink{height:95px}.entry-parents .entry-ink{height:120px}.entry-grandparents .entry-ink{height:145px}
.entry-loupe{position:absolute;left:20%;top:38%;width:116px;height:116px;border:6px solid #403d2b;border-radius:50%;box-shadow:0 0 0 2px #b6a16c,inset 0 0 0 2px #b6a16c,8px 12px 20px #30231340;background:radial-gradient(circle at 35% 25%,#fff7dc44,transparent 60%);backdrop-filter:contrast(1.3);pointer-events:none}.entry-loupe::after{content:'';position:absolute;width:12px;height:70px;top:96px;left:95px;transform:rotate(-40deg);transform-origin:top;background:linear-gradient(90deg,#29281e,#7e7250,#29281e);border-radius:0 0 5px 5px}
.story-steps{padding-left:30px;border-left:3px double #a8442c55}.story-steps .section-title{font-size:clamp(2.4rem,4vw,4rem)}.story-step{padding-block:18px;border-top:1px solid var(--rule);font-size:1rem}.step-label{color:var(--accent);margin-bottom:8px}.story-step.is-active .step-label::after{content:' /';color:var(--accent2)}
.home-essay{background:var(--surface)}.prose{font-size:clamp(1.1rem,1.3vw,1.22rem);line-height:1.85;max-width:68ch;overflow-wrap:anywhere}.prose h2{font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.08;margin:2.5em 0 .65em}.prose h2:first-child{margin-top:0}.prose h3{margin:2em 0 .7em}.prose ul,.prose ol{margin-block:1.5rem}.prose li{margin-block:.6rem}.prose-home{margin-inline:auto;padding-inline:clamp(19px,2vw,28px);border-left:3px double #a8442c66}.prose-home>p:first-of-type::first-letter{float:left;font:500 4.4rem/1 var(--serif);color:var(--accent);margin:0 .06em 0 0;padding:0;letter-spacing:0}
.story-timeline{border-top:3px double var(--rule)}.tl-viewport{position:relative;margin-top:60px;padding:35px var(--gutter) 45px;overflow-x:auto;overscroll-behavior-x:contain}.tl-track{display:flex;list-style:none;padding:0;width:max-content;max-width:none;margin:0}.tl-item{flex:0 0 clamp(260px,31vw,440px);padding:25px 32px 20px 0;margin-right:32px;border-top:1px solid var(--accent);position:relative}.tl-item::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--accent2)}.tl-year{display:block;font:400 clamp(1.4rem,2.4vw,2.5rem)/1.3 var(--mono);letter-spacing:-.06em;color:var(--accent);min-height:2.7em}.tl-title{font-size:2rem;margin:15px 0}.tl-text{color:var(--muted);font-size:1rem;max-width:32ch}.tl-line{position:absolute;inset:15px var(--gutter) auto;width:calc(100% - var(--gutter)*2);height:40px;fill:none;stroke:var(--accent);stroke-width:1;pointer-events:none}
.story-route{background:linear-gradient(180deg,transparent,#f7f1e338)}.route-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:6vw}.route-text{min-width:0}.route-origins{list-style:none;padding:0;counter-reset:coast}.route-origin{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding:18px 0;border-top:1px solid var(--rule);transition:background .3s}.route-origin h3{font-size:1.65rem}.route-origin p{font-size:.9rem;color:var(--muted)}.route-origin.is-active{color:var(--accent);background:#0e6a660a}.origin-galicia,.origin-asturias,.origin-canarias,.origin-andalucia{min-width:0}
.route-counters{display:grid;grid-template-columns:1fr 1fr;border-top:3px double var(--accent);margin-top:30px}.counter{padding:22px 14px 20px 0}.counter+.counter{border-left:1px solid var(--rule);padding-left:20px}.counter dt{font:400 14px/1.7 var(--mono);max-width:26ch}.counter dd{margin:15px 0 0;color:var(--accent);font-size:14px}.count{font:400 clamp(1.4rem,2.5vw,2.7rem)/1.1 var(--mono);letter-spacing:-.07em}.route-source{font-size:14px;letter-spacing:0;text-transform:none;color:var(--muted)}
.route-map{position:relative;min-height:660px;align-self:center;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),#0e6a6614 calc(20% - 1px) 20%),repeating-linear-gradient(0deg,transparent 0 79px,#0e6a6614 79px 80px);border-block:1px solid var(--rule)}.route-svg{position:absolute;top:20%;left:0;width:100%;height:auto;z-index:2}.route-path{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.route-galicia,.route-canarias{stroke-linecap:round}.route-asturias,.route-andalucia{stroke-dasharray:5 5}.route-node{fill:var(--accent);stroke:var(--surface);stroke-width:3}.node-havana{fill:var(--accent2)}.route-label{position:absolute;top:55%;left:12%;font:italic 2.5rem/1 var(--serif);color:var(--accent)}.label-havana{border-bottom:1px solid var(--accent);padding-bottom:8px}.route-photo{position:absolute;width:47%;aspect-ratio:4/3;overflow:hidden;padding:6px;background:var(--surface);box-shadow:4px 8px 20px #3d331c1f}.route-photo img{height:100%;filter:sepia(.3) saturate(.65)}.photo-a{left:3%;top:6%;transform:rotate(-5deg)}.photo-b{right:2%;bottom:4%;transform:rotate(4deg)}
.story-names{text-align:center;background:var(--surface)}.names-inner .section-title,.names-inner .section-intro{margin-inline:auto}.name-split{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:150px 40px;max-width:900px;margin:55px auto}.name-part{position:relative;z-index:1;font:500 clamp(1.5rem,3vw,3rem)/1.1 var(--serif);padding:15px 5px;background:var(--surface);border-block:1px solid var(--rule)}.name-given{grid-column:1/-1;justify-self:center}.name-father,.name-mother{color:var(--accent)}.name-lines{position:absolute;left:0;top:65px;width:100%;height:160px}.name-line{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.line-father{stroke:var(--accent)}.line-mother{stroke:var(--accent);stroke-dasharray:4 4}
.section-guides{border-top:1px solid var(--text)}.card-grid,.ledger-index{display:grid;grid-template-columns:minmax(0,1fr);margin-top:60px;border-top:3px double var(--text)}.card,.ledger-row{position:relative;display:grid;grid-template-columns:80px 1.15fr 1.5fr .7fr;border-bottom:1px solid var(--rule);transition:background .25s}.card>*{margin:0;padding:30px 24px;align-content:center;min-width:0}.card>*+*{border-left:1px solid var(--rule)}.card:hover,.card:focus-within{background:var(--surface)}.card-kicker{font-size:14px;letter-spacing:0;color:var(--muted);padding-inline:12px}.card-title{font-size:clamp(1.8rem,2.6vw,2.8rem);letter-spacing:-.03em}.card-text{font-size:.96rem;line-height:1.65;color:var(--muted)}.card-link{font:400 14px/1.7 var(--mono)}.card-link span{display:inline-block;font-size:1.2rem;margin-left:8px;transition:transform .2s}.card:hover .card-link span{transform:translateX(5px)}
.section-feature{background:#f7f1e35c}.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.split-text{min-width:0}.split-media{overflow:hidden;margin-right:calc(-1*var(--gutter))}.split-media img{aspect-ratio:4/5;filter:sepia(.25) saturate(.65)}.fact-list{padding:0;list-style:none;counter-reset:fact;margin-top:35px}.fact{counter-increment:fact;position:relative;padding:20px 0 20px 42px;border-top:1px solid var(--rule);font-size:1rem}.fact::before{content:counter(fact,decimal-leading-zero);position:absolute;top:24px;left:0;font:400 14px var(--mono);color:var(--accent)}
.partners-slot{height:6rem}.section-partners{background:var(--surface);padding-inline:var(--gutter)}.section-partners>.section-title,.partner-list{max-width:1440px;margin-inline:auto}.partner-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin-top:40px}.partner{min-width:0;padding:28px;border-top:1px solid var(--rule);border-right:1px solid var(--rule)}.partner-link{display:inline-block;font:400 14px/1.7 var(--mono);overflow-wrap:anywhere;max-width:100%}.partner-phrase{font:500 1.8rem/1.2 var(--serif);margin-top:20px;overflow-wrap:anywhere}.partner-desc{font-size:1rem;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}
.page-sub{background-color:var(--surface)}.article{padding-top:92px;padding-bottom:var(--space)}.page-hero{height:clamp(250px,37vw,580px);overflow:hidden}.page-hero img{height:100%;object-position:center 48%;filter:sepia(.25) saturate(.7)}.article>.wrap{max-width:1180px;padding-inline:clamp(22px,5vw,80px);border-left:3px double #a8442c55}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding-top:38px;font:400 14px/1.8 var(--mono);color:var(--muted)}.page-header{padding-block:55px;margin-bottom:65px;border-bottom:3px double var(--rule)}.page-header h1{max-width:22ch;font-size:clamp(3rem,6.5vw,6.8rem)}.page-header .lead{max-width:60ch}.article .prose{background:var(--surface);max-width:72ch;margin-inline:auto}.note{margin-top:60px;padding:30px 0 30px 30px;border-block:1px solid var(--rule);border-left:3px double var(--accent);background:var(--surface)}.note h2{font-size:2rem;margin:0 0 20px}.note-next ul{list-style:none;padding:0;margin:0}.note-next .card-link{font:400 1.1rem/1.6 var(--sans)}
.site-footer{padding-block:55px 65px;border-top:3px double var(--text);background:var(--bg)}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.footer-note{font-size:.9rem;color:var(--muted);max-width:60ch}.footer-nav ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px}.footer-nav a{font:400 14px/1.5 var(--mono);color:var(--text)}
.word{display:inline-block;overflow:clip;vertical-align:bottom;padding-bottom:.16em;margin-bottom:-.16em;max-width:100%}.word-inner{display:inline-block;max-width:100%;overflow-wrap:normal}.cursor{display:none;position:fixed;left:0;top:0;width:28px;height:28px;border:1px solid #9d9b71;border-radius:50%;pointer-events:none;z-index:100;opacity:0;transition:width .2s,height .2s,opacity .2s}.cursor.is-active{width:48px;height:48px;background:#0e6a6610}
@media(min-width:900px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.story-step{padding-block:1.5vh;font-size:clamp(15px,1.8vh,18px);line-height:1.5}.story-steps .section-title{font-size:clamp(32px,4.7vh,52px)}}
@media(max-width:1150px){.header-inner{gap:14px;min-height:108px}.site-nav ul{gap:0 18px}.site-nav a{font-size:14px}.hero h1{font-size:clamp(3.5rem,7.8vw,6.8rem)}.route-inner{gap:4vw}.route-map{min-height:580px}.card{grid-template-columns:65px 1fr 1.4fr}.card>.card-link{grid-column:2/-1;border-top:1px solid var(--rule);padding-block:12px}.article{padding-top:108px}}
@media(max-width:899px){.header-inner{flex-direction:column;align-items:flex-start;padding-block:16px;gap:12px}.site-nav{width:100%}.site-nav ul{justify-content:flex-start;gap:0 18px}.site-nav a{padding-block:5px}.hero-inner{padding-top:200px}.hero-text{max-width:760px}.hero h1{max-width:17ch}.story-inner,.route-inner,.split{grid-template-columns:1fr;gap:55px}.story-steps{padding-left:24px}.entry-stage{max-width:660px;width:100%;margin-inline:auto}.entry-row{min-height:200px}.entry-loupe{display:none}.story-step{opacity:1!important}.tl-line{display:none}.tl-viewport{margin-top:30px;padding-top:5px}.tl-item{flex-basis:280px}.route-map{min-height:560px;width:100%;max-width:700px;margin:auto}.route-svg{top:6%}.route-label{top:49%}.photo-a{width:32%;top:3%}.photo-b{width:40%}.split-media{margin-inline:calc(-1*var(--gutter))}.split-media img{aspect-ratio:16/10}.partner-list{grid-template-columns:repeat(2,minmax(0,1fr))}.article{padding-top:145px}.page-header{padding-block:40px}.footer-inner{gap:40px}}
@media(max-width:599px){:root{--gutter:22px;--space:52px}html{scroll-padding-top:165px}.header-inner{gap:9px;padding-block:14px}.brand{font-size:1.65rem}.brand-mark{width:19px;height:25px}.site-nav ul{gap:0 13px}.site-nav a{font-size:14px;padding-block:4px}.hero-inner{padding-block:195px 100px}.hero-text{padding-left:16px}.hero::after{top:170px;bottom:65px}.hero::before{background:linear-gradient(90deg,#100c09d9,#100c0977),linear-gradient(0deg,#100c09ed,transparent 80%)}.hero-media img{object-position:63% center}.hero h1{font-size:clamp(2.8rem,10.8vw,4rem);line-height:1.02;letter-spacing:-.045em}.eyebrow{font-size:14px;letter-spacing:.06em;gap:8px;margin-bottom:24px}.hero .lead{font-size:1rem;line-height:1.6;margin-top:24px}.hero-actions{gap:10px}.btn{font-size:14px;padding:13px 16px;min-height:48px}.scroll-cue{font-size:14px;letter-spacing:.08em}.section-title{font-size:2.8rem}.section-intro{font-size:1.05rem}.entry-page{padding:18px 9px 25px;transform:rotate(-1deg)}.entry-stage{padding:10px 0}.entry-cell{padding:8px 4px}.entry-label{font-size:14px;min-height:3.5rem;letter-spacing:-.02em}.entry-row{min-height:180px}.entry-ink{opacity:.65}.entry-grandparents .entry-ink{height:110px}.story-inner{gap:38px}.story-steps{padding-left:19px}.prose{font-size:1.1rem}.prose-home{padding-left:19px}.prose h2{font-size:2.2rem;margin-top:1.25em}.prose h2:first-child{margin-top:0}.tl-year{font-size:1.7rem}.route-origin{gap:15px;grid-template-columns:1fr 1.2fr}.route-origin h3{font-size:1.55rem}.route-map{min-height:350px}.route-label{font-size:2rem;top:47%}.count{font-size:1.5rem}.counter dt{font-size:14px}.counter+.counter{padding-left:14px}.route-source{font-size:14px}.name-split{gap:100px 18px;margin-block:40px}.name-part{font-size:1.65rem}.name-lines{top:55px;height:115px}.card-grid{margin-top:35px}.card{grid-template-columns:48px minmax(0,1fr)}.card>*{padding:22px 16px}.card-kicker{padding-inline:5px;font-size:14px;align-content:start;padding-top:30px}.card-title{font-size:2.2rem}.card>.card-text{grid-column:2;padding-top:0}.card>.card-link{grid-column:2;padding-block:15px}.card-text{font-size:1rem}.partner-list{grid-template-columns:1fr}.partner{padding:25px 0;border-right:0}.article{padding-top:151px}.article>.wrap{padding-inline:18px}.breadcrumb{font-size:14px;padding-top:28px;gap:7px}.page-header{padding-block:35px;margin-bottom:40px}.page-header h1{font-size:clamp(2.7rem,10.7vw,4rem)}.page-header .lead{font-size:1.1rem}.page-hero{height:280px}.note{padding-left:20px}.footer-inner{grid-template-columns:1fr;gap:30px}.footer-nav ul{gap:14px 20px}.footer-nav a{font-size:14px}}
@media(max-width:600px){.site-nav ul{display:flex;flex-wrap:wrap;gap:4px 16px}.site-nav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}}
/* Readable small text and navigation that accommodates wrapped links. */
small,sub,sup{font-size:max(12px,.8em)}
.tl-year small{font-size:max(14px,.8em)}
label{font-size:max(14px,1em)}
.site-nav a{min-height:44px;display:flex;align-items:center;white-space:normal}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
@media(max-width:899px){.site-header{position:sticky}.page-home .site-header:not(.is-scrolled){color:var(--text);background:var(--surface);border-color:var(--rule)}.page-home .site-header:not(.is-scrolled) :focus-visible{outline-color:var(--accent)}.article{padding-top:0}.hero-inner{padding-top:80px}.hero::after{top:35px}}
@media(max-width:599px){.entry-row{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-cell:nth-child(2){border-right:0}.entry-cell:nth-child(n+3){border-top:1px solid var(--rule)}.entry-label{min-height:4rem}.card{grid-template-columns:64px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.cursor,.loupe-canvas{display:none!important}.hero.loupe-ready .hero-media{visibility:visible}.word-inner,[data-reveal],.name-part,.story-step{opacity:1!important;transform:none!important}[data-parallax] img{transform:none!important}.entry-ink{transform:none!important}.entry-loupe{display:none}.route-path,.name-line{stroke-dashoffset:0!important}.site-header.is-hidden{transform:none}}
@media print{body,.page{background:white;color:black}.site-header,.site-footer,.paper-grain,.cursor,.scroll-progress,.scroll-cue,.partners-slot,.hero-media,.loupe-canvas,.hero::before,.hero::after{display:none!important}.hero{min-height:0;background:white;color:black}.hero h1 em,.hero .lead,.eyebrow{color:black}.hero-inner,.article{padding-block:20px}.hero-text{padding:0}.wrap{width:100%}.section{padding-block:30px}.story-inner,.route-inner,.split{display:block}.tl-track{display:block;width:auto}.tl-viewport{overflow:visible}.tl-item{break-inside:avoid}.word-inner,[data-reveal]{opacity:1!important;transform:none!important}a{color:black}.page-header h1{font-size:40pt}.prose{max-width:none;font-size:12pt}.article>.wrap{border:0;padding:0}}

.partners-slot{height:0;overflow:hidden}
.page-header{padding-block:clamp(28px,4vw,48px);margin-bottom:clamp(32px,4vw,52px)}
.article{padding-bottom:clamp(48px,6vw,88px)}
.section-intro{margin-bottom:clamp(24px,3vw,40px)}
@media(min-width:900px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.js .story-timeline{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(112px,15vh,150px) clamp(40px,7vh,80px)}.js .story-timeline .tl-viewport{margin-top:clamp(24px,5vh,50px)}}
@media(max-width:899px){
 .site-header{overflow:hidden}
 .header-inner{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:14px;min-height:68px;padding-block:8px}
 .brand{font-size:1.4rem}
 .site-nav{flex:1 1 0;min-width:0;width:auto;max-width:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:3px}
 .site-nav::-webkit-scrollbar{display:none}
 .site-nav ul{flex-wrap:nowrap;justify-content:flex-start;gap:0 16px;width:max-content;margin:0}
 .site-nav li{flex:0 0 auto}
 .site-nav a{white-space:nowrap;padding-block:4px;min-height:44px}
 .hero-inner{padding-block:64px 72px}
}
