@font-face{font-family:Cabin;src:url('fonts/cabin-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Cabin;src:url('fonts/cabin-600.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Cabin;src:url('fonts/cabin-700.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:Chivo;src:url('fonts/chivomono-400.woff') format('woff');font-weight:400;font-display:swap}
:root{--paper:#FAF3DD;--sand:#EEE2B8;--ink:#24382F;--muted:#586249;--green:#355F40;--rust:#914124;--line:#7A7C58}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 Cabin,Arial,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.12}h1{font-size:58px;max-width:18ch}h2{font-size:32px}h3{font-size:25px}p{max-width:62ch}a{color:var(--rust);text-underline-offset:5px}a:hover{color:#6E2E19}img{display:block;width:100%;height:auto}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:4px}button:focus-visible{outline-offset:5px}.skip{position:absolute;left:16px;top:-100px;background:var(--paper);padding:12px;z-index:20}.skip:focus{top:12px}.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.demo{font-size:14px;text-align:center;padding:8px 20px;background:var(--ink);color:var(--paper)}header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 0;border-bottom:2px solid var(--ink)}.wordmark{color:var(--ink);text-decoration:none;font-size:29px;line-height:1.05;font-weight:700;display:flex;gap:12px;align-items:center}.marker{width:23px;height:35px;display:inline-block;background:var(--rust);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}.wordmark small{display:block;font:12px/1.8 Chivo,monospace;letter-spacing:1px}header nav{display:flex;gap:26px;align-items:center;font-size:17px}header nav a{color:var(--ink);text-decoration:none}header nav a[aria-current]{text-decoration:underline}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px}.ticket-link{background:var(--rust);color:white!important;padding:11px 18px;text-decoration:none;white-space:nowrap}.ticket-link:hover,.button:hover{background:#6E2E19;color:white}.label,.route-code{font:14px/1.6 Chivo,monospace;color:var(--muted)}.label{margin-bottom:12px}.button{display:inline-block;border:0;background:var(--rust);color:white;padding:13px 23px;text-decoration:none;font-weight:600}.text-button{background:none;border:0;padding:10px 0;color:var(--rust);text-decoration:underline;text-underline-offset:5px;min-height:44px}.opening{padding-top:34px}.opening-title{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:24px}.opening-title p:last-child{max-width:38ch}.route-sheet{background:var(--sand);border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:2fr 1fr;gap:24px}.schematic{position:relative;min-width:0}.schematic svg{display:block;width:100%;height:100%;min-height:250px;max-height:310px}.map-caption{font-size:14px;color:var(--muted);margin-top:4px}.stop-key{margin:0;padding:0;list-style:none;counter-reset:stop}.stop-key li{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:10px 0}.stop-key .num,.stop-num{font:16px/1.6 Chivo,monospace;background:var(--green);color:var(--paper);text-align:center;align-self:start;min-width:36px;padding:4px}.stop-key strong{display:block;font-size:20px}.stop-key p{font-size:16px;line-height:1.4}.route-meta{display:flex;gap:28px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}.route-meta div{flex:1}.route-meta span{display:block;font:13px/1.6 Chivo,monospace;color:var(--muted)}.route-meta strong{font-size:18px}.chapter{margin-top:58px}.chapter-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.chapter-heading p{max-width:38ch}.filter-strip{display:flex;gap:18px;align-items:end;flex-wrap:wrap;padding:20px 0}.filter-strip label{display:block;flex:1;min-width:180px}.filter-strip button{min-width:110px}.filter-strip select{margin-top:5px;width:100%}select,input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0;min-height:48px;padding:9px 12px;width:100%}.filter-strip .label{margin:0}.filter-status{font-size:16px;margin-bottom:15px}.tour-row{display:grid;grid-template-columns:1.2fr 1.5fr .7fr .75fr;gap:26px;padding:23px 0;border-top:1px solid var(--line);align-items:start}.tour-row h3{margin:5px 0 8px}.tour-row p,.tour-row a{font-size:17px}.tour-row dl{margin:0}.tour-row dt{font-size:14px;color:var(--muted)}.tour-row dd{margin:0 0 6px;font-weight:600}.tour-row a{align-self:center}.empty{background:var(--sand);padding:20px}.stop-gallery{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:24px}.stop-gallery img{aspect-ratio:4/3;object-fit:cover}.stop-gallery figure:first-child img{aspect-ratio:1.45}.stop-gallery figcaption{padding-top:14px}.stop-gallery h3{font-size:23px;margin:6px 0}.stop-gallery p{font-size:17px}.terrain{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:var(--sand);padding:32px;align-items:center}.terrain img{aspect-ratio:4/3;object-fit:cover}.terrain h2{margin-bottom:18px}.terrain p{margin-bottom:16px}.guide-note{display:grid;grid-template-columns:1fr 2fr;gap:48px}.guide-note h2{max-width:14ch}.guide-note p+p{margin-top:14px}.session-block{background:var(--ink);color:var(--paper);padding:32px;margin-top:58px}.session-block .label{color:var(--sand)}.session-block a{color:var(--paper)}.session-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.session-rows{display:grid;gap:12px}.session-row{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;padding:16px 0;border-bottom:1px solid #859580;align-items:center}.session-row small{font-size:15px;display:block}.session-row .button{border:1px solid var(--paper)}.sold-out{color:var(--sand);font-weight:600}.intro{padding-top:44px;margin-bottom:30px}.intro h1{margin-bottom:18px}.intro>p:last-child{max-width:62ch}.detail-title{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}.detail-title p{max-width:38ch}.detail-meta{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.detail-meta span{border:1px solid var(--line);padding:7px 12px;font-size:16px}.detail-chapter{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;margin-top:30px}.detail-chapter figure img{aspect-ratio:3/2;object-fit:cover}.detail-chapter h2{margin:8px 0 15px}.detail-chapter:nth-child(even){grid-template-columns:1fr 1.3fr}.detail-chapter:nth-child(even) figure{order:2}figcaption{font-size:16px;padding-top:8px;color:var(--muted)}details{padding:18px 0;border-top:1px solid var(--line)}summary{font-weight:600;cursor:pointer;min-height:32px}details p{margin-top:12px}.reading-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:50px}.reading-grid h2{margin-bottom:18px}.reading-grid article{margin-bottom:35px}.reading-grid article p+p{margin-top:12px}.wide-photo{margin:30px 0}.wide-photo img{max-height:420px;object-fit:cover}.step-list{padding:0;list-style:none}.step-list li{display:grid;grid-template-columns:40px 1fr;gap:20px;margin-bottom:26px}.step-list h3{margin-bottom:8px}.booking-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:48px}.booking-context{background:var(--sand);padding:26px;align-self:start}.booking-context h2{margin-bottom:16px}.booking-context p+p{margin-top:14px}.booking-sheet{border:1px solid var(--line);padding:28px}form>label{display:block;margin-bottom:18px;font-weight:600}form label select,form label input{margin-top:7px}fieldset{padding:0;border:0;margin:0 0 24px;min-width:0}legend{font-weight:600;margin-bottom:8px}.session-option{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:14px;margin-bottom:10px;border:1px solid var(--line)}.session-option input{width:20px;height:20px;min-height:20px;margin:4px 0 0;padding:0;accent-color:var(--rust)}.session-option strong,.session-option small{display:block}.session-option small{font-size:15px;font-weight:400}.session-option.unavailable{background:var(--sand)}.participant-row{display:grid;grid-template-columns:1fr 120px;align-items:center;gap:20px;margin-bottom:15px}.price-total{font-size:27px;font-weight:700;border-top:2px solid var(--ink);padding-top:16px;margin-top:16px}.small{font-size:15px;line-height:1.55}.booking-sheet .small{margin:12px 0}.error{color:#9C232A;font-weight:600;margin-top:12px}.review-summary{margin:20px 0}.review-summary dt{font-size:14px;color:var(--muted);margin-top:14px}.review-summary dd{margin:0;font-size:20px;font-weight:600}.review-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.complete{background:var(--sand);padding:16px;margin-top:18px}.footer{background:var(--sand);margin-top:64px;padding:36px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:36px}.footer nav{display:grid;gap:6px;align-content:start}.footer-title{font-size:26px;font-weight:700;margin-bottom:12px}.footer .small{color:var(--muted)}[hidden]{display:none!important}
@media(max-width:1000px){h1{font-size:48px}h2{font-size:29px}.wrap{width:calc(100% - 48px)}header nav{gap:16px}.wordmark{font-size:25px}.route-sheet{grid-template-columns:1fr}.stop-key{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.schematic svg{max-height:280px}.tour-row{grid-template-columns:1.2fr 1.5fr .8fr}.tour-row>a{grid-column:2/4}.stop-gallery{gap:18px}.terrain{gap:28px}.session-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>.small{grid-column:1/-1}.booking-layout{gap:24px;grid-template-columns:.9fr 1.3fr}.booking-sheet{padding:22px}}
@media(max-width:700px){body{font-size:17px}.wrap{width:calc(100% - 36px)}.demo{font-size:12px;line-height:1.5;padding:7px 16px}header{padding:18px 0;gap:10px;flex-wrap:wrap;align-items:center}.wordmark{font-size:23px}.wordmark small{font-size:10px}.marker{width:17px;height:28px}.menu-toggle{display:block;font-size:16px;margin-left:auto}.ticket-link{font-size:16px;padding:8px 12px}header nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:8px}header nav.open{display:flex}header nav a{padding:10px 0;border-bottom:1px solid var(--line)}h1{font-size:36px}h2{font-size:27px}h3{font-size:23px}.label{font-size:13px}.opening{padding-top:26px}.opening-title{display:block;margin-bottom:20px}.opening-title h1{margin-bottom:14px}.opening-title>p{max-width:42ch}.route-sheet{padding:14px;gap:14px}.stop-key{display:block;order:0}.schematic{order:1}.stop-key li{padding:9px 0}.stop-key strong{font-size:19px}.stop-key p{font-size:16px}.schematic svg{min-height:0;height:150px}.map-caption{font-size:12px}.route-meta{gap:14px;padding:16px 0}.route-meta div{min-width:40%}.route-meta>.button{width:100%;text-align:center}.route-meta strong{font-size:17px}.chapter{margin-top:36px}.chapter-heading{display:block;margin-bottom:16px}.chapter-heading p{margin-top:12px}.filter-strip{gap:12px;padding:14px 0}.filter-strip label{min-width:120px}.filter-strip label .label{font-size:13px}.filter-strip button{min-width:80px}.tour-row{grid-template-columns:1fr auto;gap:14px;padding:20px 0}.tour-row>p{grid-column:1/-1;grid-row:2}.tour-row>a{grid-column:1/-1}.tour-row h3{font-size:23px;max-width:10ch}.tour-row dl{font-size:16px}.tour-row dt{font-size:13px}.stop-gallery{display:block}.stop-gallery figure{margin-bottom:24px}.stop-gallery img,.stop-gallery figure:first-child img{aspect-ratio:4/3;max-height:310px}.stop-gallery p{max-width:45ch}.terrain{display:flex;flex-direction:column;padding:20px;gap:20px}.terrain img{max-height:270px}.terrain h2{margin-bottom:12px}.terrain p{margin-bottom:12px}.guide-note{display:block}.guide-note h2{max-width:none;margin-bottom:16px}.session-block{padding:22px 18px;margin-top:36px}.session-grid{gap:20px}.session-row{grid-template-columns:1fr auto;gap:10px}.session-row .button{grid-column:1/-1;text-align:center}.session-row .sold-out{grid-column:1/-1}.intro{padding-top:30px;margin-bottom:24px}.intro h1{margin-bottom:14px}.detail-title,.reading-grid,.booking-layout{display:block}.detail-title h1{margin-bottom:16px}.detail-meta{gap:10px;margin:18px 0}.detail-meta span{font-size:15px;padding:6px 10px}.detail-chapter,.detail-chapter:nth-child(even){display:flex;flex-direction:column;gap:18px;margin-top:30px;align-items:stretch}.detail-chapter:nth-child(even) figure{order:0}.detail-chapter h2{margin-bottom:12px}.reading-grid>aside{margin-bottom:26px}.reading-grid article{margin-bottom:28px}.wide-photo img{max-height:320px;aspect-ratio:4/3}.booking-context{padding:20px;margin-bottom:24px}.booking-context h2{margin-bottom:12px}.booking-sheet{padding:20px 16px}.session-option{padding:12px}.price-total{font-size:25px}.review-actions{display:grid;gap:6px}.footer{margin-top:40px;padding:28px 0}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-grid>.small{grid-column:auto}.footer nav{grid-template-columns:1fr 1fr;gap:12px}.step-list li{gap:12px}a.button,button.button{min-height:48px}}
@media(max-width:350px){.wrap{width:calc(100% - 32px)}h1{font-size:32px}header .ticket-link{width:100%;text-align:center;margin-top:4px}.wordmark{font-size:22px}.route-sheet{padding:12px}.route-meta div{min-width:42%}.tour-row{gap:10px;grid-template-columns:1fr 86px}.tour-row h3{font-size:22px}.tour-row dd{font-size:15px}.session-block{padding:18px 14px}.session-row{grid-template-columns:1fr}.booking-sheet{padding:18px 12px}.participant-row{grid-template-columns:1fr 78px;gap:14px}.footer nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Stage 5 S5-004: metric-adjusted fallback prevents header wrapping during Cabin loading. */
@font-face{font-family:"Cabin Metric Fallback";src:local("Arial"),local("Nimbus Sans"),local("Liberation Sans");size-adjust:86%;font-weight:100 900}
header{font-family:Cabin,"Cabin Metric Fallback",Arial,sans-serif}
