:root{--ink:#eef5f3;--muted:#9fb2b7;--cyan:#78ddd2;--cyan-bright:#a0eee6;--sand:#d8b879;--deep:#04131c;--panel:#08232d;--line:rgba(126,224,214,.16);--max:1180px}.passage-page{margin:0;color:var(--ink);background:#04131c;background-image:radial-gradient(circle at 82% 4%,rgba(31,143,151,.16),transparent 27%),linear-gradient(180deg,#061924,#031018);overflow-x:hidden}.passage-page .site-header{background:rgba(4,19,28,.82);border-color:rgba(126,224,214,.13);backdrop-filter:blur(18px)}.passage-page .nav a[href="#route"]{color:var(--cyan)}.passage-page main{position:relative}.passage-hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:125px max(6vw,calc((100vw - var(--max))/2)) 150px}.hero-map{position:absolute;inset:0;background-image:url("assets/maps/yearly-loop-overview.png");background-size:cover;background-position:58% center;filter:saturate(.72) contrast(1.08) brightness(.52);transform:scale(1.025)}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,14,21,.98) 0%,rgba(2,14,21,.92) 35%,rgba(2,14,21,.38) 68%,rgba(2,14,21,.58) 100%),linear-gradient(180deg,rgba(2,14,21,.2),rgba(2,14,21,.24) 62%,#04131c 100%)}.hero-copy{position:relative;z-index:1;max-width:720px}.eyebrow,.section-index{margin:0;color:var(--cyan);font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.18em}.passage-hero h1{font-size:clamp(54px,8vw,112px);line-height:.88;letter-spacing:-.067em;font-weight:500;margin:26px 0 34px;max-width:820px}.passage-hero h1 span,.route-overview h2 span,.decision-gates h2 span,.map-room h2 span,.workbook h2 span{color:var(--cyan-bright);font-weight:400;font-style:italic}.hero-lede{max-width:660px;color:#b7c8cb;font-size:clamp(17px,1.7vw,21px);line-height:1.65;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:40px}.primary-link,.download-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 20px;background:linear-gradient(135deg,#91e9dd,#68d4cf);color:#04252c;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.text-link{color:#dce9e6;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.primary-link span,.text-link span,.download-button span{color:inherit}.hero-stats{position:absolute;z-index:2;left:max(6vw,calc((100vw - var(--max))/2));right:max(6vw,calc((100vw - var(--max))/2));bottom:36px;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(179,232,225,.24);padding-top:22px}.hero-stats div{padding-left:24px;border-left:1px solid rgba(179,232,225,.18)}.hero-stats div:first-child{padding-left:0;border-left:0}.hero-stats dt{font-size:25px;line-height:1;color:#f3f8f6;letter-spacing:-.03em}.hero-stats dd{margin:7px 0 0;color:#8ea4a9;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.route-overview{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center;padding:120px max(6vw,calc((100vw - var(--max))/2));background:linear-gradient(180deg,#04131c,#061b25)}.section-copy h2,.seasonal-heading h2,.decision-gates h2,.map-room h2,.workbook h2{font-size:clamp(42px,5vw,70px);font-weight:400;line-height:1;letter-spacing:-.052em;margin:18px 0 25px}.section-copy>p:last-of-type,.seasonal-heading>p:last-child,.map-room__heading>p,.workbook__copy>p{color:var(--muted);line-height:1.75;font-size:15px}.route-legend{display:flex;flex-direction:column;gap:12px;margin-top:30px;color:#b8c8ca;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.route-legend span{display:flex;align-items:center;gap:10px}.route-legend i{display:inline-block;width:30px;height:2px}.southbound{background:#2453d6}.northbound{background:#bd5706}.overview-map{position:relative;display:block;border:1px solid var(--line);background:#091720;box-shadow:0 35px 90px rgba(0,0,0,.35);overflow:hidden}.overview-map img{display:block;width:100%;height:min(76vh,790px);object-fit:cover;object-position:center}.map-link>span{position:absolute;right:14px;bottom:14px;padding:9px 12px;background:rgba(3,16,24,.9);color:var(--cyan-bright);font-size:9px;text-transform:uppercase;letter-spacing:.13em}.seasonal-plan{padding:120px max(6vw,calc((100vw - var(--max))/2));background:radial-gradient(circle at 8% 20%,rgba(29,164,168,.1),transparent 30%),#04131c}.seasonal-heading{display:grid;grid-template-columns:1fr .8fr;column-gap:8vw;align-items:end;margin-bottom:55px}.seasonal-heading .section-index{grid-column:1/-1}.seasonal-heading h2{margin-bottom:0}.seasonal-heading>p:last-child{margin:0}.season-card{display:grid;grid-template-rows:auto minmax(300px,1fr);border:1px solid var(--line);background:linear-gradient(145deg,rgba(10,48,60,.75),rgba(4,24,33,.9));overflow:hidden}.season-card--wide{grid-template-columns:.72fr 1.28fr;grid-template-rows:minmax(520px,1fr);margin-bottom:18px}.season-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:18px}.season-card__copy{padding:38px;display:flex;flex-direction:column;align-items:flex-start}.season-number{color:#58727a;font-size:10px;letter-spacing:.12em}.season-months{margin:auto 0 8px;color:var(--cyan);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.season-card h3{font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:0 0 18px}.season-card__copy>p:last-of-type{color:#a6b9bd;line-height:1.65;font-size:14px;margin:0}.season-card ul{padding:18px 0 0;margin:24px 0 0;list-style:none;border-top:1px solid var(--line);width:100%}.season-card li{color:#91a8ad;font-size:12px;padding:5px 0}.season-card li::before{content:"—";color:var(--sand);margin-right:8px}.season-card__map{position:relative;display:block;min-height:300px;overflow:hidden;background:#06151e}.season-card__map img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.84) brightness(.88);transition:transform .5s ease,filter .5s ease}.season-card__map:hover img{transform:scale(1.025);filter:saturate(1) brightness(.96)}.season-card--reverse .season-card__copy{grid-column:2}.season-card--reverse .season-card__map{grid-column:1;grid-row:1}.decision-gates{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;padding:120px max(6vw,calc((100vw - var(--max))/2));background:linear-gradient(155deg,#082630,#04151e 68%);border-block:1px solid var(--line)}.decision-gates h2{margin-bottom:0}.decision-gates ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.decision-gates li{display:grid;grid-template-columns:45px .7fr 1fr;gap:18px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line)}.decision-gates li>span{color:#5f7880;font-size:10px}.decision-gates strong{font-weight:500;color:#e4eeeb;font-size:16px}.decision-gates li p{margin:0;color:#93a8ad;font-size:13px;line-height:1.6}.map-room{padding:120px max(6vw,calc((100vw - var(--max))/2));background:#031018}.map-room__heading{display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end}.map-room__heading h2{margin-bottom:0}.map-room__heading>p{margin:0}.map-filters{display:flex;flex-wrap:wrap;gap:8px;margin:45px 0 25px}.map-filters button{appearance:none;border:1px solid var(--line);background:rgba(8,41,51,.45);color:#9eb1b5;border-radius:0;padding:10px 14px;font:inherit;font-size:9px;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}.map-filters button:hover,.map-filters button.is-active{color:#06252c;background:var(--cyan);border-color:var(--cyan)}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.map-card{display:grid;grid-template-rows:250px auto;min-width:0;border:1px solid var(--line);background:#08212b;transition:transform .3s ease,border-color .3s ease}.map-card:hover{transform:translateY(-4px);border-color:rgba(126,224,214,.42)}.map-card[hidden]{display:none}.map-card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.82) brightness(.87)}.map-card>span{padding:18px 19px 20px;color:#e2ece9;font-size:17px;letter-spacing:-.02em}.map-card small{display:block;color:var(--cyan);font-size:8px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:7px}.workbook{display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:center;padding:120px max(6vw,calc((100vw - var(--max))/2));background:radial-gradient(circle at 83% 28%,rgba(52,161,162,.14),transparent 27%),#061a24;border-top:1px solid var(--line)}.workbook__copy>p{max-width:650px}.download-button{margin-top:22px}.workbook__facts{margin:0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.workbook__facts div{min-height:160px;padding:25px;display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(5,29,38,.48)}.workbook__facts dt{font-size:clamp(28px,3vw,44px);letter-spacing:-.05em;color:#edf5f2}.workbook__facts dd{margin:9px 0 0;color:#8ba1a6;font-size:9px;text-transform:uppercase;letter-spacing:.13em;line-height:1.45}.planning-note{display:grid;grid-template-columns:.28fr 1fr;gap:40px;margin:0;padding:34px max(6vw,calc((100vw - var(--max))/2));background:#d5b16a;color:#10212a}.planning-note strong{font-size:13px;text-transform:uppercase;letter-spacing:.13em}.planning-note p{margin:0;font-size:13px;line-height:1.6;max-width:900px}.passage-page footer{background:#020d13;border-color:var(--line)}
@media(max-width:1000px){.route-overview,.decision-gates,.workbook{grid-template-columns:1fr}.section-copy{max-width:720px}.overview-map img{height:72vh}.season-card--wide{grid-template-columns:1fr;grid-template-rows:auto 560px}.season-card--reverse .season-card__copy,.season-card--reverse .season-card__map{grid-column:auto;grid-row:auto}.season-card--reverse .season-card__copy{grid-row:1}.map-grid{grid-template-columns:repeat(2,1fr)}.decision-gates{gap:45px}.workbook{gap:55px}.planning-note{grid-template-columns:1fr;gap:12px}}
@media(max-width:720px){.passage-hero{padding:110px 22px 150px;align-items:flex-end}.hero-map{background-position:65% center}.hero-vignette{background:linear-gradient(180deg,rgba(2,14,21,.32),rgba(2,14,21,.94) 55%,#04131c)}.passage-hero h1{font-size:15vw}.hero-lede{font-size:16px}.hero-stats{left:22px;right:22px;grid-template-columns:repeat(2,1fr);row-gap:15px}.hero-stats div:nth-child(3){padding-left:0;border-left:0}.hero-stats dt{font-size:19px}.hero-stats dd{font-size:7px}.route-overview,.seasonal-plan,.decision-gates,.map-room,.workbook{padding:85px 22px}.route-overview{gap:45px}.overview-map img{height:auto}.seasonal-heading,.map-room__heading{grid-template-columns:1fr;gap:15px}.seasonal-heading h2{margin-bottom:15px}.season-grid{grid-template-columns:1fr}.season-card--wide{grid-template-rows:auto 420px}.season-card__copy{padding:29px 25px}.season-months{margin:55px 0 8px}.decision-gates li{grid-template-columns:35px 1fr}.decision-gates li p{grid-column:2}.map-grid{grid-template-columns:1fr}.map-card{grid-template-rows:260px auto}.workbook__facts div{min-height:135px;padding:18px}.planning-note{padding:28px 22px}.hero-actions{gap:20px}.text-link{font-size:9px}}
@media(max-width:430px){.season-card--wide{grid-template-rows:auto 330px}.map-card{grid-template-rows:220px auto}.workbook__facts{grid-template-columns:1fr 1fr}.workbook__facts div{min-height:120px}.workbook__facts dd{font-size:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.season-card__map img,.map-card{transition:none!important}}

/* Complete leg itinerary */
.workbook{display:block}.plan-summary{display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:center}.leg-itinerary{margin-top:90px;border-top:1px solid var(--line);padding-top:58px}.leg-itinerary__heading{display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end;margin-bottom:34px}.leg-itinerary__heading .eyebrow{grid-column:1/-1}.leg-itinerary__heading h3{font-size:clamp(34px,4vw,54px);font-weight:400;letter-spacing:-.045em;line-height:1;margin:8px 0 0}.leg-itinerary__heading>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.leg-chapter{border-top:1px solid var(--line)}.leg-chapter:last-child{border-bottom:1px solid var(--line)}.leg-chapter summary{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:center;padding:24px 4px;cursor:pointer;list-style:none}.leg-chapter summary::-webkit-details-marker{display:none}.leg-chapter summary::after{content:"+";grid-column:4;color:var(--cyan);font-size:20px;font-weight:300}.leg-chapter[open] summary::after{content:"−"}.leg-chapter summary>span{color:#607981;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.leg-chapter summary strong{font-size:18px;font-weight:500;color:#e7f0ed}.leg-chapter summary small{color:#849ba0;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.leg-list{border-top:1px solid rgba(126,224,214,.1)}.leg-detail{display:grid;grid-template-columns:70px 1fr;padding:27px 4px;border-bottom:1px solid rgba(126,224,214,.1);background:linear-gradient(90deg,rgba(7,42,52,.22),transparent 75%)}.leg-detail:last-child{border-bottom:0}.leg-detail__number{color:var(--sand);font-size:11px;letter-spacing:.13em;padding-top:3px}.leg-detail__period{margin:0 0 6px;color:var(--cyan);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.leg-detail h4{font-size:clamp(18px,2vw,25px);font-weight:400;letter-spacing:-.025em;line-height:1.25;margin:0}.leg-detail h4 span{color:#718b91;padding:0 5px}.leg-detail__metrics{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 12px}.leg-detail__metrics span{padding:7px 9px;border:1px solid var(--line);color:#aec1c3;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.leg-detail__body>p:last-child{margin:0;color:#8fa5aa;font-size:12px;line-height:1.55}.leg-chapter summary:hover strong{color:var(--cyan-bright)}
@media(max-width:1000px){.plan-summary{grid-template-columns:1fr;gap:55px}.leg-itinerary__heading{grid-template-columns:1fr;gap:14px}.leg-itinerary__heading h3{margin-bottom:8px}}
@media(max-width:720px){.leg-itinerary{margin-top:70px;padding-top:45px}.leg-chapter summary{grid-template-columns:1fr auto;gap:7px 15px;padding:20px 0}.leg-chapter summary>span,.leg-chapter summary strong,.leg-chapter summary small{grid-column:1}.leg-chapter summary::after{grid-column:2;grid-row:1/4}.leg-detail{grid-template-columns:38px 1fr;padding:23px 0}.leg-detail__metrics{gap:6px}.leg-detail__metrics span{font-size:7px;padding:6px 7px}}

.leg-detail__conditions{display:grid;grid-template-columns:110px 110px 1fr;gap:8px;margin:0 0 13px}.leg-detail__conditions>span{padding:10px 11px;background:rgba(14,61,70,.42);border-left:2px solid rgba(126,224,214,.42);color:#d8e7e5;font-size:13px;line-height:1.35}.leg-detail__conditions small{display:block;margin-bottom:4px;color:#759096;font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.14em}.leg-detail__conditions .current-note{color:#b8cbcd;border-left-color:rgba(216,184,121,.65)}
@media(max-width:720px){.leg-detail__conditions{grid-template-columns:1fr 1fr}.leg-detail__conditions .current-note{grid-column:1/-1}.leg-detail__conditions>span{font-size:11px;padding:9px}}
