@font-face{font-family:"DM Serif";src:url("assets/dm-serif.ttf") format("truetype");font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/dm-sans.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Plex Mono";src:url("assets/ibm-plex-mono.ttf") format("truetype");font-display:swap}
:root{--paper:#f5f0e5;--paper-2:#eee8d9;--ink:#19241f;--muted:#536059;--blue:#3149a2;--orange:#e95a3a;--yellow:#f7d65e;--line:#9b9d91;--serif:"DM Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"Plex Mono",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
body.dialog-open{overflow:hidden}
button,input,select{font:inherit}
button,a,select{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.skip-link{position:absolute;top:-100px;left:16px;z-index:1000;background:var(--yellow);padding:12px 16px}
.skip-link:focus{top:12px}
.site-header{height:80px;padding:0 clamp(20px,4.2vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--ink);background:var(--paper)}
.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:25px;line-height:1;white-space:nowrap}
.brand-mark{width:38px;height:38px;background:var(--orange);color:var(--ink);display:grid;place-items:center}
.brand-mark svg{width:28px;height:28px}
.brand-period,.footer-brand span{color:var(--orange)}
.header-edition,.header-link,.eyebrow,.hero-kicker,.hero-cta,.hero-ticker,.route-heading,.toolbar label>span:first-child,.story-topline,.story-bottom,.photo-note,.detail-topbar,.detail-eyebrow,.detail-meta,.detail-end,.detail-save-card>span,.detail-image>span,.footer-small{font-family:var(--mono);font-size:11px;letter-spacing:.07em}
.header-edition{color:var(--muted);text-transform:uppercase}
.header-edition span{margin:0 10px}
.header-link{text-decoration:none;text-transform:uppercase;border-bottom:1px solid var(--ink);padding:7px 0;white-space:nowrap}
.header-link:hover{color:var(--orange);border-color:var(--orange)}
.hero{background:var(--ink);color:var(--paper);overflow:hidden}
.hero-inner{max-width:1600px;margin:auto;min-height:600px;display:grid;grid-template-columns:55% 45%}
.hero-copy{padding:56px 2vw 54px clamp(24px,7vw,118px);display:flex;flex-direction:column;position:relative;z-index:1}
.hero-kicker{color:var(--yellow);text-transform:uppercase;display:flex;align-items:center;gap:13px}
.asterisk{font-family:var(--sans);font-size:24px;line-height:1;color:var(--orange)}
.hero h1{font-family:var(--serif);font-size:clamp(76px,8.5vw,145px);line-height:.91;letter-spacing:-.055em;font-weight:400;margin:41px 0 38px;white-space:nowrap}
.hero h1 em{font-weight:400;color:var(--yellow)}
.hero-dot{color:var(--orange)}
.hero-bottom{display:flex;gap:32px;align-items:flex-end;margin-top:auto;max-width:600px}
.hero-bottom p{font-size:17px;line-height:1.52;max-width:315px;margin:0;color:#e4e6d8}
.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;white-space:nowrap;text-decoration:none;text-transform:uppercase;color:var(--ink);background:var(--yellow);padding:0 16px;transition:background .2s,transform .2s}
.hero-cta:hover{background:var(--orange);transform:translateY(-2px)}
.hero-cta span{font-family:var(--sans);font-size:23px}
.hero-art{min-height:600px;position:relative;background:var(--blue);overflow:hidden}
.hero-art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 56px,rgba(255,255,255,.1) 56px 57px),repeating-linear-gradient(90deg,transparent 0 56px,rgba(255,255,255,.1) 56px 57px)}
.map-paper{position:absolute;width:min(72%,470px);height:500px;top:38px;left:7%;background:#f1ead9;color:var(--ink);transform:rotate(-8deg);box-shadow:12px 17px 0 rgba(13,21,40,.38);padding:20px;overflow:hidden}
.map-topline{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ink);padding-bottom:9px;font:10px var(--mono);letter-spacing:.04em}
.map-route{position:absolute;inset:32px 2% 0;width:96%;height:91%}
.map-label{position:absolute;font:10px var(--mono);background:var(--paper);padding:4px 6px;white-space:nowrap}
.map-label-a{top:75px;left:15%}.map-label-b{top:245px;right:6%}.map-label-c{bottom:31px;right:6%}
.map-stamp{position:absolute;right:10%;top:83px;width:85px;height:85px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(15deg);font:10px/1.4 var(--mono);color:var(--blue)}
.hero-photo{position:absolute;right:3%;bottom:36px;width:39%;height:250px;border:9px solid var(--paper);background:var(--paper);transform:rotate(8deg);box-shadow:9px 12px 0 rgba(13,21,40,.38)}
.hero-photo img{width:100%;height:calc(100% - 21px);object-fit:cover;filter:sepia(.12) saturate(.75)}
.hero-photo span{display:block;color:var(--ink);font:9px var(--mono);text-align:right;padding-top:4px}
.hero-art-note{position:absolute;bottom:30px;left:4%;font:11px var(--mono);text-transform:uppercase;color:var(--paper);writing-mode:vertical-rl;transform:rotate(180deg)}
.hero-art-note span{font-size:20px}
.hero-ticker{background:var(--yellow);color:var(--ink);text-align:center;height:38px;line-height:38px;white-space:nowrap;overflow:hidden;font-size:11px;font-weight:700}
.browse{max-width:1320px;margin:auto;padding:82px clamp(20px,5vw,72px) 110px}
.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.eyebrow{color:var(--blue);text-transform:uppercase}
.section-intro h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;font-size:clamp(48px,5vw,77px);line-height:1.02;margin:14px 0 0}
.section-intro h2 em{color:var(--blue);font-weight:400}
.section-intro p{max-width:305px;margin:0 0 4px;font-size:16px;line-height:1.5;color:var(--muted)}
.toolbar{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(190px,.7fr) auto;gap:12px;align-items:end;background:var(--paper-2);padding:20px;border:1px solid var(--ink)}
.toolbar label{display:block;min-width:0}
.toolbar label>span:first-child{display:block;margin-bottom:8px;text-transform:uppercase;color:var(--ink)}
.search-wrap{height:50px;display:flex;align-items:center;background:var(--paper);border:1px solid var(--ink);padding:0 14px;gap:12px}
.search-wrap svg{width:21px;height:21px;flex:none}
.search-wrap:focus-within{outline:3px solid var(--orange);outline-offset:2px}
.search-wrap input{border:0;background:transparent;outline:0;width:100%;min-width:0;height:100%;font-size:16px;color:var(--ink)}
.search-wrap input:focus-visible{outline:0}
.search-wrap input::placeholder{color:#62695f}
.filter-field select{width:100%;height:50px;border:1px solid var(--ink);border-radius:0;background:var(--paper);padding:0 14px;color:var(--ink);font-size:16px;cursor:pointer}
.saved-filter{height:50px;border:1px solid var(--ink);padding:0 14px;display:flex;align-items:center;gap:8px;background:var(--paper);color:var(--ink);white-space:nowrap;transition:background .18s,color .18s}
.saved-filter:hover,.saved-filter[aria-pressed="true"]{background:var(--blue);color:white}
.saved-filter svg{width:19px;height:19px}.saved-count{min-width:24px;height:24px;padding:2px 5px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font:11px var(--mono)}
.route-heading{display:flex;justify-content:space-between;padding:30px 0 15px;border-bottom:1px solid var(--ink);text-transform:uppercase;color:var(--muted)}
.story-list{position:relative}
.story-list::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--blue);transform:translateX(-50%)}
.story-item{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);min-height:350px;border-bottom:1px solid var(--line);position:relative}
.story-photo{position:relative;overflow:hidden;min-height:350px;margin:28px 0;background:#d8d7c7}
.story-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.72) contrast(.94);transition:transform .5s ease,filter .5s ease}
.story-item:hover .story-photo img{transform:scale(1.035);filter:saturate(.96) contrast(.96)}
.photo-note{position:absolute;bottom:0;left:0;background:var(--paper);padding:5px 9px;color:var(--ink);text-transform:uppercase;font-size:9px}
.route-marker{grid-column:2;grid-row:1;display:flex;justify-content:center;align-items:flex-start;padding-top:45px;position:relative;z-index:1}
.route-dot{width:45px;height:45px;border-radius:50%;background:var(--yellow);border:3px solid var(--blue);display:grid;place-items:center;color:var(--ink);font:12px var(--mono);box-shadow:0 0 0 7px var(--paper)}
.story-copy{grid-column:3;grid-row:1;display:flex;flex-direction:column;padding:45px 8% 36px 3%;min-width:0}
.story-topline{display:flex;justify-content:space-between;gap:8px;color:var(--blue);text-transform:uppercase}
.story-title{font-family:var(--serif);font-size:clamp(31px,3.2vw,47px);line-height:1.08;font-weight:400;letter-spacing:-.025em;margin:27px 0 14px}
.open-story{font:inherit;text-align:left;line-height:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:none}
.open-story:hover{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.story-summary{font-size:16px;line-height:1.55;color:var(--muted);max-width:420px;margin:0 0 24px}
.story-bottom{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase}
.story-arrow{font:26px var(--sans);line-height:1;color:var(--blue)}
.story-item:nth-child(even) .story-photo{grid-column:3;grid-row:1}
.story-item:nth-child(even) .story-copy{grid-column:1;grid-row:1;padding:45px 3% 36px 8%}
.empty-state{text-align:center;padding:75px 20px 80px;border-bottom:1px solid var(--ink)}
.empty-state[hidden]{display:none}
.empty-symbol{font-family:var(--serif);font-size:90px;line-height:1;color:var(--orange)}
.empty-state h3{font:400 clamp(32px,4vw,48px)/1.1 var(--serif);margin:12px 0}
.empty-state p{color:var(--muted);margin:0 0 24px}
.empty-state button{background:var(--yellow);border:1px solid var(--ink);padding:13px 18px;min-height:48px}
.empty-state button:hover{background:var(--orange)}
.site-footer{background:var(--blue);color:white;padding:58px clamp(20px,5vw,72px) 26px}
.footer-inner{max-width:1176px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:70px}
.footer-brand{font:46px var(--serif);letter-spacing:-.04em}.footer-brand span{color:var(--yellow)}
.footer-inner p{margin:5px 0 0;color:#e4e7fa}.footer-inner a{align-self:center;text-transform:uppercase;font:11px var(--mono);text-decoration:none;border-bottom:1px solid white;padding-bottom:8px}
.footer-inner a:hover{color:var(--yellow)}
.footer-small{grid-column:1/-1;border-top:1px solid #8290cc;padding-top:18px;color:#e4e7fa}
dialog{width:min(1180px,calc(100vw - 44px));max-width:none;max-height:calc(100dvh - 44px);padding:0;border:2px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:20px 20px 0 rgba(10,17,13,.4);overflow:auto}
dialog::backdrop{background:rgba(12,22,18,.79)}
.detail-topbar{height:64px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:0 30px;text-transform:uppercase;position:sticky;top:0;background:var(--paper);z-index:3}
.detail-publication span{color:var(--orange);margin:0 8px}
.close-button{border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:13px;text-transform:uppercase;min-height:48px;padding:0 8px;font:11px var(--mono)}
.close-button:hover{color:var(--orange)}.close-button span{font:28px var(--sans);line-height:1}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 345px}
.detail-main{padding:48px clamp(28px,5vw,78px) 70px;min-width:0}
.detail-eyebrow{display:flex;justify-content:space-between;gap:15px;color:var(--blue);text-transform:uppercase}
.detail-main h2{font:400 clamp(44px,5vw,72px)/1.02 var(--serif);letter-spacing:-.035em;margin:30px 0 18px}
.detail-summary{font:400 24px/1.32 var(--serif);color:var(--blue);margin:0 0 27px}
.detail-meta{display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:13px 0;text-transform:uppercase;color:var(--muted)}
.detail-body{max-width:650px;padding:28px 0 12px}
.detail-body p{font-size:18px;line-height:1.76;margin:0 0 24px}
.detail-body p:first-child::first-letter{float:left;font:88px/.8 var(--serif);padding:9px 10px 0 0;color:var(--orange)}
.detail-end{border-top:1px solid var(--ink);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-transform:uppercase;color:var(--muted)}
.detail-end button{border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 0;font:11px var(--mono);text-transform:uppercase}
.detail-end button:hover{color:var(--orange);border-color:var(--orange)}
.detail-aside{border-left:1px solid var(--ink);background:var(--paper-2);padding:32px 26px;position:relative}
.detail-image{height:300px;position:relative;background:#d3d6ca;transform:rotate(3deg);box-shadow:7px 8px 0 #bcc3b2;overflow:hidden}
.detail-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.8)}
.detail-image>span{position:absolute;right:0;bottom:0;background:var(--paper);padding:5px 8px;text-transform:uppercase;font-size:9px}
.detail-save-card{margin-top:58px;background:var(--yellow);padding:23px;border:1px solid var(--ink);transform:rotate(-2deg)}
.detail-save-card>span{color:var(--blue)}
.detail-save-card p{font:27px/1.1 var(--serif);margin:14px 0 26px}
.detail-save-card button{width:100%;min-height:50px;border:1px solid var(--ink);background:var(--ink);color:white;text-align:left;padding:10px 14px;font:11px var(--mono);text-transform:uppercase}
.detail-save-card button:hover{background:var(--blue)}
.detail-save-card button[aria-pressed="true"]{background:var(--blue)}
.aside-mark{font:140px/1 var(--serif);color:var(--blue);text-align:center;transform:rotate(25deg);margin-top:35px}
@media(max-width:1000px){.hero-inner{grid-template-columns:57% 43%;min-height:550px}.hero-copy{padding-left:5vw}.hero h1{font-size:clamp(68px,8.7vw,105px)}.hero-art{min-height:550px}.map-paper{height:420px;width:85%}.hero-photo{width:46%;height:210px;right:2%}.story-copy{padding-right:3%}.story-item:nth-child(even) .story-copy{padding-left:3%}.detail-grid{grid-template-columns:minmax(0,1fr) 280px}.detail-aside{padding:25px 17px}.detail-image{height:230px}}
@media(max-width:700px){.site-header{height:66px;padding:0 20px}.brand{font-size:22px}.brand-mark{width:33px;height:33px}.brand-mark svg{width:25px}.header-edition{display:none}.header-link{font-size:10px}.hero-inner{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:36px 22px 42px}.hero-kicker{font-size:9px}.hero h1{font-size:clamp(65px,16vw,93px);margin:36px 0 36px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:24px}.hero-bottom p{max-width:325px}.hero-art{min-height:255px}.map-paper{height:350px;width:62%;top:-42px;left:12%;transform:rotate(-9deg)}.hero-photo{height:175px;width:37%;bottom:17px;right:5%}.hero-art-note{display:none}.map-stamp{width:60px;height:60px;font-size:7px}.map-label{font-size:7px}.hero-ticker{text-align:left;padding-left:15px}.browse{padding:54px 20px 80px}.section-intro{display:block;margin-bottom:28px}.section-intro h2{font-size:clamp(44px,10vw,60px);margin:12px 0 16px}.section-intro p{max-width:460px}.toolbar{grid-template-columns:1fr 1fr;padding:14px;gap:14px}.search-field{grid-column:1/-1}.saved-filter{align-self:end;justify-content:center;width:100%;padding:0 7px;font-size:14px}.saved-filter svg{display:none}.filter-field select{font-size:14px}.route-heading{padding-top:28px}.route-heading span:last-child{display:none}.story-list::before{left:21px;transform:none}.story-item{display:grid;grid-template-columns:43px minmax(0,1fr);min-height:0;padding:27px 0 35px}.route-marker{grid-column:1;grid-row:1;justify-content:flex-start;padding-top:5px}.route-dot{width:43px;height:43px;box-shadow:0 0 0 5px var(--paper)}.story-photo,.story-item:nth-child(even) .story-photo{grid-column:2;grid-row:1;min-height:0;height:190px;margin:0}.story-copy,.story-item:nth-child(even) .story-copy{grid-column:2;grid-row:2;padding:20px 0 0}.story-title{font-size:clamp(32px,8vw,41px);margin:16px 0 10px}.story-summary{margin-bottom:20px}.story-bottom{padding-top:11px}.site-footer{padding:45px 20px 25px}.footer-inner{display:block}.footer-inner a{display:inline-block;margin:25px 0 35px}.footer-small{display:block}.detail-grid{display:flex;flex-direction:column}.detail-main{padding:35px 24px 55px;order:2}.detail-aside{order:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:20px;border-left:0;border-bottom:1px solid var(--ink)}.detail-image{height:160px;transform:rotate(-3deg)}.detail-save-card{margin:0;padding:14px;transform:rotate(2deg)}.detail-save-card p{font-size:21px;margin:9px 0 13px}.detail-save-card button{font-size:9px;min-height:44px}.aside-mark{display:none}.detail-main h2{font-size:clamp(43px,10vw,60px);margin:20px 0 12px}.detail-summary{font-size:22px}.detail-body p{font-size:17px;line-height:1.7}.detail-topbar{padding:0 20px;height:58px}.detail-end{align-items:flex-start;flex-direction:column}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);box-shadow:6px 6px 0 rgba(10,17,13,.4)}}
@media(max-width:430px){.header-link{font-size:0;border:0}.header-link span{font-size:25px}.hero h1{font-size:clamp(61px,16vw,70px)}.hero-art{min-height:228px}.map-paper{height:325px}.hero-photo{height:155px}.toolbar{grid-template-columns:1fr}.search-field{grid-column:auto}.saved-filter{justify-content:flex-start;padding:0 14px}.saved-filter svg{display:block}.story-photo,.story-item:nth-child(even) .story-photo{height:173px}.detail-aside{grid-template-columns:1fr 1fr}.detail-image{height:140px}.detail-save-card>span{font-size:8px}.detail-save-card p{font-size:18px}.detail-save-card button{font-size:8px;padding:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
