/* 广汉旅行画册 · shared editorial layer. See design-system/default/EDITION.md.
   HyperUI timeline/progress and Uiverse cssbuttons-io switch adaptations: assets/third-party-notices.txt. */
:root { --edition-rule: 1px solid var(--border); }
body { background:var(--cream-pale); }
button, a, input, select, summary { touch-action:manipulation; }
h1,h2,h3 { text-wrap:balance; }
section[id],h2[id],h3[id] { scroll-margin-top:calc(var(--header-height) + 1.5rem); }
dialog { overscroll-behavior:contain; }
.site-header { border-bottom:var(--edition-rule); box-shadow:none; background:var(--cream-pale); }
.brand__mark { border-radius:0; }
.btn { border-radius:3px; padding:.9rem 1.25rem; min-height:3rem; }
.save-button { border-radius:3px; }
.edition-kicker { display:block; color:var(--gold); font-size:.875rem; font-weight:700; letter-spacing:.12em; line-height:1.8; }
.edition-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2.8rem; }
.edition-heading h2 { color:var(--bronze-deep); font-size:clamp(2rem,4vw,3.6rem); line-height:1.35; font-weight:500; margin-top:1rem; }
.edition-heading > p { max-width:26rem; color:var(--text-light); line-height:1.95; padding-bottom:.3rem; }
.edition-heading > a { flex-shrink:0; }

/* The hero pairs a stable typographic page with a framed photographic page. */
.edition-hero.hero-v3 { min-height:43rem; margin:1.1rem; color:var(--cream); background:var(--bronze-deep); }
.edition-hero .hero-v3__inner { min-height:43rem; padding-block:3.5rem 7.5rem; align-items:center; }
.edition-hero .hero-v3__copy { width:46%; max-width:34rem; gap:1.7rem; }
.edition-hero .hero-location { display:flex; flex-wrap:wrap; gap:.6rem; color:var(--gold-light); font-size:.875rem; letter-spacing:.12em; }
.edition-hero h1 { font-size:clamp(3.6rem,6.1vw,5.5rem); line-height:1.35; letter-spacing:.025em; }
.edition-hero h1 > span:last-child { color:var(--gold-light); }
.edition-hero .hero-v3__copy > p { font-size:1rem; line-height:2; color:var(--cream); }
.edition-hero .hero__actions { gap:.5rem 1rem; align-items:center; }
.edition-hero .hero-secondary { font-size:.9rem; }
.hero-index { display:flex; flex-wrap:wrap; gap:1rem; border-top:1px solid rgba(247,242,230,.2); padding-top:1.2rem; color:var(--gold-light); font-size:.875rem; letter-spacing:.1em; }
.hero-index span + span { padding-left:1rem; border-left:1px solid rgba(247,242,230,.2); }
.edition-hero .hero-v3__photo { top:2.2rem; right:2.2rem; bottom:7.8rem; left:50%; width:auto; z-index:0; background:var(--bronze-dark); }
.edition-hero .hero-scene { transform:scale(1.025); transition:opacity 900ms ease,transform 6s ease-out; }
.edition-hero .hero-scene.is-active { transform:scale(1); }
.edition-hero .hero-scene img { transform:none; animation:none; object-position:40% center; }
.edition-hero__caption { position:absolute; left:50%; right:2.2rem; bottom:4.9rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.edition-hero__caption > span { color:var(--gold-light); font-size:.875rem; letter-spacing:.1em; }
.edition-hero__caption > p { color:var(--cream); font-family:var(--font-serif); font-size:1.1rem; }
.edition-hero .hero-reel { bottom:1.3rem; gap:2.2rem; }
.edition-hero .hero-reel__scenes { max-width:34rem; gap:1.5rem; }
.edition-hero .hero-scene-button { font-size:.875rem; display:flex; align-items:center; gap:.6rem; padding:.75rem 0; }
.edition-hero .hero-scene-button > span { color:var(--gold-light); font-size:.875rem; }
.edition-hero .hero-reel__arrows { margin-left:auto; }
.edition-hero .icon-button { border-radius:50%; width:2.75rem; height:2.75rem; }
html.hero-in-view .companion { visibility:hidden; pointer-events:none; }

.edition-orientation { border-bottom:var(--edition-rule); padding-block:1.8rem 2.8rem; }
.edition-orientation .orientation-steps { gap:0; }
.edition-orientation .orientation-steps > li { border-top:0; padding:0; }
.edition-orientation .orientation-steps > li + li { border-left:var(--edition-rule); }
.edition-orientation .orientation-steps a { padding:1rem 1.3rem; gap:.9rem; min-height:5rem; }
.edition-orientation .orientation-steps > li:first-child a { padding-left:0; }
.edition-orientation .orientation-steps a > span { color:var(--gold); font:400 1.5rem/1 var(--font-serif); }
.edition-orientation h2 { font-size:1.15rem; color:var(--bronze-deep); font-weight:600; }
.edition-orientation p { color:var(--text-light); font-size:.875rem; margin-top:.5rem; }
.edition-orientation .icon { width:1rem; margin-left:auto; }
.edition-story-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; }
.edition-story { min-width:0; display:grid; grid-template-columns:.95fr 1fr; gap:1.5rem; align-items:center; border-bottom:var(--edition-rule); padding-bottom:1.5rem; }
.edition-story--lead { grid-row:span 2; display:block; border-bottom:0; padding-bottom:0; }
.edition-story__photo { display:block; overflow:hidden; }
.edition-story__photo img { width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform 500ms ease; }
.edition-story__photo:hover img { transform:scale(1.025); }
.edition-story--lead .edition-story__photo img { aspect-ratio:5/4; }
.edition-story__copy { display:grid; gap:.7rem; }
.edition-story--lead .edition-story__copy { padding:1.5rem 0 0; }
.edition-story h3 { font-size:clamp(1.3rem,1.7vw,1.7rem); font-weight:500; line-height:1.5; color:var(--bronze-deep); }
.edition-story--lead h3 { font-size:clamp(1.7rem,2.6vw,2.4rem); }
.edition-story h3 a { text-decoration:none; }
.edition-story h3 a:hover { text-decoration:underline; text-underline-offset:.3em; }
.edition-story p { color:var(--text-light); font-size:1rem; line-height:1.85; }
.edition-story .text-link { font-size:.875rem; }

/* Native radio choices expose the same routes as the full route explorer. */
.edition-routes { background:var(--cream); }
.route-finder { display:grid; grid-template-columns:.8fr 1.2fr; background:var(--cream-pale); border:var(--edition-rule); }
.route-finder__form { padding:clamp(1.5rem,3vw,2.8rem); }
.route-finder__intro { font-family:var(--font-serif); color:var(--bronze-deep); font-size:1.25rem; line-height:1.8; margin-bottom:2rem; }
.route-finder fieldset { display:none; margin:0 0 1.7rem; padding:0; border:0; min-width:0; }
.route-finder.is-ready fieldset { display:block; }
.route-finder legend { color:var(--text-light); font-size:.875rem; margin-bottom:.8rem; }
.choice-row { display:flex; flex-wrap:wrap; gap:.6rem; }
.choice-row label { position:relative; display:flex; cursor:pointer; }
.choice-row input { position:absolute; opacity:0; width:1px; height:1px; }
.choice-row span { display:flex; min-height:2.75rem; align-items:center; padding:.55rem 1rem; border:1px solid var(--border); border-radius:2px; color:var(--bronze-dark); font-size:.9rem; }
.choice-row input:checked + span { background:var(--bronze-dark); color:var(--cream); border-color:var(--bronze-dark); }
.choice-row input:focus-visible + span { outline:3px solid var(--gold); outline-offset:3px; }
.choice-row label:hover span { border-color:var(--bronze-dark); }
.route-finder__note { border-top:var(--edition-rule); padding-top:1rem; font-size:.875rem; line-height:1.8; color:var(--text-light); }
.route-finder__result { min-width:0; }
.route-finder__result article { height:100%; display:flex; flex-direction:column; }
.route-finder__result picture { overflow:hidden; height:16rem; }
.route-finder__result img { width:100%; height:100%; object-fit:cover; }
.route-match__copy { position:relative; background:var(--cream-pale); margin:-2.6rem 1.5rem 0; padding:1.8rem 2rem; flex:1; }
.route-match__copy h3 { font-size:2.3rem; font-weight:500; color:var(--bronze-deep); margin:.5rem 0 .8rem; }
.route-match__copy p { font-size:1rem; color:var(--text-light); }
.route-match__meta { display:flex; flex-wrap:wrap; gap:1rem; border-top:var(--edition-rule); padding-top:1rem; margin:1.3rem 0; font-size:.875rem; color:var(--gold); }
.edition-travel-link { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; padding:1.5rem 0 0; color:var(--bronze-dark); text-decoration:none; font-size:.9rem; }
.edition-travel-link span,.edition-travel-link strong { display:flex; align-items:center; gap:.6rem; }
.edition-travel-link strong { min-height:2.75rem; }
.edition-travel-link:hover strong { color:var(--gold); text-decoration:underline; text-underline-offset:.3em; }

.edition-book { background:var(--cream-dark); overflow:hidden; }
.edition-book__layout { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(3rem,7vw,7rem); }
.edition-book__visual { position:relative; display:grid; grid-template-columns:1.25fr 1fr; padding:1rem 1rem 1rem 2.7rem; background:var(--bronze-deep); color:var(--cream); text-decoration:none; border:1px solid var(--gold); border-radius:3px 8px 8px 3px; box-shadow:6px 7px 0 var(--cream-pale),8px 9px 0 var(--bronze-light),12px 18px 32px rgba(23,54,46,.18); transform:rotate(-3deg); transition:transform 300ms ease; }
.edition-book__visual:hover { transform:rotate(-1deg) translateY(-4px); }
.edition-book__spine { position:absolute; left:.65rem; top:2rem; writing-mode:vertical-rl; color:var(--gold-light); letter-spacing:.25em; font-family:var(--font-serif); font-size:.9rem; }
.edition-book__visual > div { position:relative; min-width:0; background:var(--cream-pale); }
.edition-book__visual > div:first-of-type { border-right:1px solid var(--gold); }
.edition-book__visual > div:first-of-type picture { height:23rem; }
.edition-book__visual > div:first-of-type img { width:100%; height:100%; object-fit:cover; object-position:36% center; }
.edition-book__visual > div:first-of-type::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(23,54,46,.9),transparent 70%); }
.edition-book__cover-title { position:absolute; bottom:1.5rem; left:1.5rem; z-index:1; font:2.5rem/1.2 var(--font-serif); }
.edition-book__cover-title small { font-size:1.1rem; }
.edition-book__visual > div:last-child { padding:1.5rem 1rem; box-shadow:inset 10px 0 16px rgba(23,54,46,.12); }
.edition-book__visual > div:last-child img { aspect-ratio:3/4; object-fit:cover; }
.edition-book__visual > div:last-child > span { display:block; color:var(--bronze-deep); font:1rem/1.8 var(--font-serif); padding-top:1.5rem; }
.edition-book__copy h2 { font-size:clamp(2rem,3.8vw,3.4rem); font-weight:500; line-height:1.4; color:var(--bronze-deep); margin:1rem 0 1.5rem; }
.edition-book__copy > p { color:var(--text-light); line-height:2; margin-bottom:1.8rem; }
.edition-book__chapters { display:grid; gap:.5rem; margin-top:2rem; border-top:var(--edition-rule); padding-top:1.3rem; color:var(--text-light); font-size:.875rem; }
.edition-season .season-spotlight article { gap:0; background:var(--cream); grid-template-columns:1.15fr 1fr; }
.edition-season .season-spotlight article > picture { height:28rem; }
.edition-season .season-spotlight article > div { padding:2.5rem 3rem; }
.edition-season h2 { font-size:clamp(1.9rem,3vw,2.8rem); font-weight:500; color:var(--bronze-deep); line-height:1.5; margin:1rem 0 1.5rem; }
.edition-season .quiet-link { display:block; width:fit-content; min-height:2.75rem; margin-top:.5rem; }
.edition-inspiration .edition-kicker { color:var(--gold-light); margin-bottom:1rem; }
.edition-inspiration .inspiration-card .edition-kicker { color:var(--gold); margin:0 0 .8rem; }
.edition-inspiration .inspiration-card { box-shadow:10px 10px 0 rgba(215,191,123,.14); }
.edition-inspiration .inspiration-card::before { display:none; }
.edition-inspiration .inspiration-card__body { padding:1.7rem 2rem 2rem; }
.edition-inspiration .inspiration-intro h2 { font-size:clamp(2rem,4vw,3.4rem); }

/* Shared section covers make the secondary pages feel like the same publication. */
.page-intro.edition-cover { display:grid; grid-template-columns:1.1fr 1fr; gap:4rem; align-items:center; padding-block:3rem 4rem; }
.edition-cover__copy { min-width:0; display:grid; justify-items:start; gap:1.3rem; }
.edition-cover .page-label { color:var(--gold); letter-spacing:.15em; }
.edition-cover h1 { font-size:clamp(2.3rem,4.2vw,3.9rem); line-height:1.4; }
.edition-cover__copy > p { max-width:32rem; color:var(--text-light); }
.edition-cover__photo { margin:0; width:100%; position:relative; padding:0 0 1.1rem 1.1rem; }
.edition-cover__photo::before { content:''; position:absolute; left:0; bottom:0; width:75%; height:75%; background:var(--cream-dark); z-index:0; }
.edition-cover__photo picture { position:relative; }
.edition-cover__photo img { width:100%; height:23rem; object-fit:cover; }
.edition-cover__photo figcaption { position:relative; padding:.75rem .2rem 0; font-size:.875rem; color:var(--text-light); }
.edition-cover .page-jumps { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; margin-top:.2rem; }
.edition-cover .page-jumps a { border:0; border-bottom:var(--edition-rule); border-radius:0; padding:.5rem 0; }
.guide-intro.edition-cover { max-width:var(--container); }
.edition-cover .guide-focus { gap:.4rem; }
.guide-focus button,.filter-pills button,.route-tab,.arrival-tabs a,.image-tabs a { border-radius:3px; }
.guide-root { border-radius:0; box-shadow:none; border:1px solid var(--gold-light); }
.guide-branch { border-radius:0; border:var(--edition-rule); box-shadow:none; }
.guide-branch__head { padding-bottom:1rem; border-bottom:var(--edition-rule); }
.branch-number { font-family:var(--font-serif); font-size:2rem; color:var(--gold); }
.branch-primary { border-radius:0; }
.destination-grid { gap:2.5rem 1.6rem; }
.destination-card { background:transparent; border-bottom:var(--edition-rule); }
.destination-card__body { padding:1.4rem .1rem; }
.destination-card__image img { aspect-ratio:5/4; }
.destination-card h3 { font-size:1.6rem; }
.destination-card .save-button { background:var(--cream-pale); box-shadow:0 2px 10px rgba(23,54,46,.08); }
.destination-tools { padding-bottom:1.3rem; border-bottom:var(--edition-rule); }
.search-field { border-radius:3px; }
.interactive-map { border:var(--edition-rule); border-radius:0; box-shadow:none; }
.map-canvas { background:var(--cream-dark); }
.map-detail { background:var(--cream-pale); }
.route-tabs { padding-bottom:1.5rem; margin-bottom:2rem; border-bottom:var(--edition-rule); gap:.6rem; }
.route-tab { font-size:.95rem; padding:.7rem 1.3rem; }
.route-panel { gap:4rem; grid-template-columns:1fr 1.05fr; }
.route-panel__intro { gap:1.2rem; }
.route-panel h3 { font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.5; }
.route-panel__image img { aspect-ratio:5/3; border-radius:0; }
.route-meta { padding:.6rem 0; border-top:var(--edition-rule); width:100%; }
/* Adapted from HyperUI's timeline: continuous rule with independently placed milestones. */
.route-schedule { position:relative; padding-left:1.2rem; }
.route-schedule::before { content:''; position:absolute; top:.65rem; bottom:6rem; left:1.55rem; width:1px; background:var(--bronze-light); }
.schedule-stop { position:relative; grid-template-columns:5.5rem 1fr; gap:1.2rem; padding-left:1.5rem; }
.schedule-stop::before { content:''; position:absolute; top:.55rem; left:0; width:.7rem; height:.7rem; background:var(--bronze-dark); border:2px solid var(--cream); border-radius:50%; box-shadow:0 0 0 1px var(--bronze); }
.schedule-stop__time { align-items:start; }
.schedule-stop__time::after { display:none; }
.schedule-stop__time strong { font-variant-numeric:tabular-nums; font-family:var(--font-sans); font-size:1.25rem; font-weight:600; }
.schedule-stop__time span { font-size:.875rem; }
.schedule-stop__body { padding-bottom:2rem; }
.schedule-stop__body p { font-size:.94rem; }
.schedule-stop h4 { font-size:1.1rem; }
.route-notes { position:relative; background:var(--cream-pale); }
.planning-notes article { border-top:2px solid var(--bronze); background:transparent; padding:1.5rem 0; }
.planning-notes article > span { font:1.8rem/1 var(--font-serif); }
.arrival-tabs { border-bottom:var(--edition-rule); padding-bottom:1rem; }
.arrival-panel { background:var(--cream-pale); border:var(--edition-rule); padding:2.2rem; }
.station-card { border:var(--edition-rule); box-shadow:none; border-radius:0; }
.station-card > div { padding:1.5rem; }
.transfer-grid article,.booking-grid article { border-top:2px solid var(--bronze); border-radius:0; }
.faq-list details { border-radius:0; }

/* Attraction title pages retain every editorial fact and photograph. */
.detail-hero { margin:0 auto; max-width:var(--container); color:var(--bronze-deep); background:var(--cream); min-height:32rem; overflow:hidden; }
.detail-hero .detail-hero__media { left:49%; width:51%; z-index:0; }
.detail-hero .detail-hero__scrim { display:none; }
.detail-hero .detail-hero__inner { position:relative; width:100%; min-height:32rem; padding:3rem 2.5rem; }
.detail-hero .detail-hero__copy { width:43%; gap:1.6rem; }
.detail-hero h1 { color:var(--bronze-deep); font-size:clamp(2.3rem,4vw,3.8rem); line-height:1.45; }
.detail-hero .detail-hero__subtitle { color:var(--text-light); font-size:1.08rem; line-height:1.85; }
.detail-hero .hero-secondary { color:var(--bronze-dark); }
.detail-hero .detail-hero__actions .save-button { color:var(--bronze-dark); border-color:var(--bronze-dark); }
.detail-hero .detail-hero__actions .btn-secondary { color:var(--bronze-dark); border-color:var(--bronze-dark); }
.detail-hero .detail-hero__actions .btn-secondary:hover { background:var(--bronze-dark); color:var(--cream); }
.detail-hero .detail-hero__actions .btn-primary { background:var(--bronze-dark); color:var(--cream); }
.detail-hero .detail-hero__actions .btn-primary:hover { background:var(--bronze-deep); }
.detail-hero .detail-hero__actions .save-button[aria-pressed="true"] { background:var(--bronze-dark); color:var(--cream); }
.trip-facts { background:var(--cream-pale); border-block:var(--edition-rule); margin-top:0; }
.trip-facts__grid { padding-block:1.5rem; background:transparent; border:0; border-radius:0; box-shadow:none; }
.trip-fact { border:0; padding:1rem; }
.trip-fact + .trip-fact { border-left:var(--edition-rule); }
.detail-toc__inner { border-top:2px solid var(--bronze); background:transparent; border-radius:0; }
.detail-content .content-section + .content-section { padding-top:3rem; border-top:var(--edition-rule); }
.content-section__heading { margin-bottom:1.8rem; }
.highlight-card { border:0; border-top:var(--edition-rule); background:var(--cream); border-radius:0; box-shadow:none; }
.highlight-card__number { font-family:var(--font-serif); font-size:2rem; }
.archive-essay__heading { padding-left:1.5rem; border-left:2px solid var(--gold); }
.archive-essay__wide img { aspect-ratio:3/2; object-fit:cover; }
.visit-card { border-radius:0; box-shadow:none; border:var(--edition-rule); }
.notice { border-radius:0; }
.topic-hero { max-width:var(--container); margin-inline:auto; }
.topic-hero__inner { width:100%; padding-inline:2.5rem; }
.topic-photo-essay figure { border-radius:0; }
.topic-photo-essay figure img { aspect-ratio:4/5; }
.food-story__copy h3 { font-size:clamp(2rem,3.5vw,3rem); }
.observation-list li { border-radius:0; }

/* The itinerary is a useful paper keepsake, with a native progress element. */
.planner-page { background:var(--cream); }
.planner-page .edition-cover { padding-block:3rem; }
.planner-page .edition-cover__photo img { height:20rem; }
.planner-page .planner-layout { padding-bottom:5rem; gap:2rem; grid-template-columns:1.8fr 1fr; }
.trip-paper { border:1px solid var(--bronze-light); border-top:5px solid var(--bronze-dark); background:var(--cream-pale); box-shadow:7px 7px 0 var(--cream-dark); padding:2.5rem; }
.trip-paper__heading { padding-bottom:1.7rem; }
.trip-paper__stamp { border:1px solid var(--gold); border-radius:0; }
.trip-summary { background:var(--cream); border-radius:0; border-left:3px solid var(--gold); }
.trip-row { border-top:var(--edition-rule); border-bottom:0; padding-block:1.4rem; }
.trip-row__number { color:var(--gold); font-family:var(--font-serif); }
.trip-row__controls button,.trip-row__controls select { border-radius:3px; }
.checklist-panel,.saved-panel { border:var(--edition-rule); border-radius:0; padding:1.6rem; }
.checklist-panel > .icon { color:var(--gold); }
.checklist-panel label { min-height:3.5rem; align-items:center; }
.checklist-panel input { width:1.15rem; height:1.15rem; margin-top:0; }
.checklist-meter { appearance:none; display:block; width:100%; height:.4rem; border:0; border-radius:1rem; overflow:hidden; background:var(--cream-dark); margin:1.4rem 0 .6rem; accent-color:var(--bronze-dark); }
.checklist-meter::-webkit-progress-bar { background:var(--cream-dark); border-radius:1rem; }
.checklist-meter::-webkit-progress-value { background:var(--bronze-dark); border-radius:1rem; }
.checklist-meter::-moz-progress-bar { background:var(--bronze-dark); border-radius:1rem; }
/* Uiverse track/handle geometry, rebuilt on the existing semantic switch button. */
.motion-setting [role="switch"] { position:relative; min-height:2.75rem; padding:.45rem 1rem .45rem 4.3rem; border:var(--edition-rule); border-radius:3px; background:var(--cream-pale); color:var(--bronze-dark); }
.motion-setting [role="switch"]::before { content:''; position:absolute; left:.7rem; top:calc(50% - .6rem); width:2.6rem; height:1.2rem; border-radius:2rem; background:var(--cream-dark); box-shadow:inset 0 0 0 1px var(--border); }
.motion-setting [role="switch"]::after { content:''; position:absolute; left:.85rem; top:calc(50% - .45rem); width:.9rem; height:.9rem; border-radius:50%; background:var(--bronze-dark); box-shadow:0 1px 3px rgba(23,54,46,.2); transition:transform 180ms ease; }
.motion-setting [role="switch"][aria-checked="true"]::before { background:var(--bronze-light); }
.motion-setting [role="switch"][aria-checked="true"]::after { transform:translateX(1.35rem); }
.motion-setting [role="switch"]:disabled { opacity:.7; cursor:default; }
.site-footer .footer-grid { gap:5rem; padding-block:4.5rem; }
.site-footer .footer-brand h2 { font-size:clamp(2rem,3.6vw,3.1rem); line-height:1.5; color:var(--cream); }
.site-footer .footer-brand p { max-width:29rem; margin-top:1.5rem; color:var(--cream-dark); }
.site-footer h3 { color:var(--gold-light); }
.site-footer .footer-bottom { padding-block:1.5rem; border-top:1px solid rgba(247,242,230,.2); }
.book-main .book-heading h1 { font-size:clamp(2rem,4vw,3.4rem); }
.book-main .book-directory { border-radius:0; border-color:var(--bronze-light); }
.book-main .book-heading { border-bottom:var(--edition-rule); padding-bottom:1.8rem; }

@media (min-width:90rem) {
  .edition-hero .hero-v3__photo { left:calc(50% + 1rem); right:max(2.2rem,calc((100vw - 78rem)/2)); }
  .edition-hero__caption { left:calc(50% + 1rem); right:max(2.2rem,calc((100vw - 78rem)/2)); }
}
@media (max-width:63.999rem) {
  .edition-hero.hero-v3 { margin:.75rem; min-height:39rem; }
  .edition-hero .hero-v3__inner { min-height:39rem; padding-block:2.5rem 7rem; }
  .edition-hero .hero-v3__copy { width:47%; gap:1.3rem; }
  .edition-hero h1 { font-size:clamp(2.8rem,6vw,4rem); }
  .edition-hero .hero-v3__photo { top:1.5rem; right:1.5rem; bottom:9rem; left:53%; }
  .edition-hero__caption { left:53%; right:1.5rem; bottom:5.5rem; display:grid; gap:.25rem; }
  .edition-hero .hero-v3__copy > p { font-size:.9rem; }
  .edition-hero .hero-reel__scenes { max-width:28rem; }
  .edition-orientation .orientation-steps { grid-template-columns:repeat(2,1fr); }
  .edition-orientation .orientation-steps > li:nth-child(3) { border-left:0; }
  .edition-orientation .orientation-steps > li:nth-child(3) a { padding-left:0; }
  .edition-orientation .orientation-steps > li:nth-child(n+3) { border-top:var(--edition-rule); }
  .edition-story-grid { grid-template-columns:1.1fr 1fr; gap:1.5rem; }
  .edition-story:not(.edition-story--lead) { display:block; }
  .edition-story:not(.edition-story--lead) img { aspect-ratio:16/9; }
  .edition-story:not(.edition-story--lead) .edition-story__copy { padding-top:1rem; }
  .edition-story--lead .edition-story__photo img { aspect-ratio:3/4; }
  .route-finder { grid-template-columns:.9fr 1.1fr; }
  .route-match__copy { padding:1.3rem; margin:-1rem 1rem 0; }
  .edition-book__layout { gap:3rem; }
  .edition-book__visual > div:first-of-type picture { height:20rem; }
  .edition-book__visual > div:last-child { padding:1rem .75rem; }
  .edition-season .season-spotlight article > div { padding:2rem; }
  .edition-cover.page-intro { gap:2rem; }
  .edition-cover__photo img { height:24rem; }
  .edition-cover h1 { font-size:clamp(2rem,4vw,3rem); }
  .route-panel { gap:2rem; }
  .schedule-stop { grid-template-columns:4.8rem 1fr; gap:.8rem; }
  .planner-page .planner-layout { grid-template-columns:1.5fr 1fr; gap:1.3rem; }
  .trip-paper { padding:1.6rem; }
  .detail-hero .detail-hero__inner { padding-inline:1.5rem; }
  .detail-hero .detail-hero__copy { width:44%; }
  .topic-hero__inner { padding-inline:1.5rem; }
  .site-footer .footer-grid { gap:3rem; }
}
@media (max-width:47.999rem) {
  .edition-heading { display:block; margin-bottom:2rem; }
  .edition-heading > p,.edition-heading > a { margin-top:1.3rem; }
  .edition-kicker { font-size:.875rem; letter-spacing:.08em; }
  .edition-hero.hero-v3 { margin:.5rem; min-height:0; overflow:hidden; }
  .edition-hero .hero-v3__inner { min-height:0; padding:2.2rem 0 1.7rem; width:calc(100% - 2.5rem); }
  .edition-hero .hero-v3__copy { width:100%; max-width:none; gap:1.25rem; }
  .edition-hero h1 { font-size:clamp(2.5rem,9vw,4rem); line-height:1.4; letter-spacing:.04em; }
  .edition-hero .hero-location { font-size:.875rem; gap:.45rem; }
  .edition-hero .hero-v3__copy > p { font-size:1rem; }
  .edition-hero .hero__actions { gap:.5rem .8rem; }
  .edition-hero .btn { font-size:.9rem; padding:.85rem 1rem; }
  .hero-index { display:none; }
  .edition-hero .hero-v3__photo { position:relative; inset:auto; margin:0 1.25rem; width:auto; height:clamp(14rem,64vw,26rem); }
  .edition-hero__caption { position:static; display:flex; flex-wrap:wrap; padding:1rem 1.25rem 0; gap:.3rem 1rem; }
  .edition-hero__caption > p { font-size:1rem; }
  .edition-hero .hero-reel { position:static; display:flex; flex-wrap:wrap; width:calc(100% - 2.5rem); padding:1.1rem 0 1rem; gap:.75rem; }
  .edition-hero .hero-reel__scenes { flex-basis:100%; max-width:none; gap:.8rem; }
  .edition-hero .hero-scene-button { max-width:none; gap:.4rem; font-size:.875rem; }
  .edition-hero .hero-reel__arrows { margin-left:0; gap:.7rem; }
  .edition-orientation { padding-block:.6rem 1.2rem; }
  .edition-orientation .orientation-steps a { padding:1.1rem .6rem; gap:.6rem; }
  .edition-orientation .orientation-steps a > span { font-size:1.2rem; }
  .edition-orientation h2 { font-size:1rem; }
  .edition-orientation p { font-size:.875rem; line-height:1.6; }
  .edition-orientation .icon { display:none; }
  .edition-story-grid { grid-template-columns:1fr; gap:1.8rem; }
  .edition-story--lead { grid-row:auto; padding-bottom:1.5rem; border-bottom:var(--edition-rule); }
  .edition-story--lead .edition-story__photo img { aspect-ratio:5/4; }
  .edition-story:not(.edition-story--lead) { display:grid; grid-template-columns:.8fr 1fr; gap:1rem; }
  .edition-story:not(.edition-story--lead) img { aspect-ratio:3/4; }
  .edition-story:not(.edition-story--lead) .edition-story__copy { padding-top:0; gap:.5rem; }
  .edition-story h3 { font-size:1.25rem; }
  .edition-story p { font-size:.95rem; }
  .edition-story .text-link { font-size:.875rem; }
  .route-finder { grid-template-columns:1fr; }
  .route-finder__form { padding:1.5rem; }
  .route-finder__intro { margin-bottom:1.5rem; }
  .route-finder__result { border-top:var(--edition-rule); }
  .route-finder__result picture { height:14rem; }
  .route-match__copy { margin:-1.8rem 1rem 0; padding:1.3rem; }
  .edition-travel-link span { align-items:start; }
  .edition-travel-link { font-size:.875rem; }
  .edition-book__layout { grid-template-columns:1fr; gap:3.5rem; }
  .edition-book__visual { max-width:31rem; margin:0 .7rem; padding-left:2.2rem; }
  .edition-book__visual > div:first-of-type picture { height:21rem; }
  .edition-book__cover-title { font-size:2rem; left:1rem; }
  .edition-book__visual > div:last-child > span { font-size:.9rem; }
  .edition-season .season-spotlight article { grid-template-columns:1fr; }
  .edition-season .season-spotlight article > picture { height:19rem; }
  .edition-season .season-spotlight article > div { padding:1.8rem; }
  .edition-inspiration .inspiration-layout { gap:2.5rem; }
  .edition-inspiration .inspiration-card__body { padding:1.5rem; }
  .page-intro.edition-cover { grid-template-columns:1fr; padding-block:2rem 3rem; gap:2rem; }
  .edition-cover__copy { gap:1.2rem; }
  .edition-cover h1 { font-size:clamp(2rem,7.5vw,3rem); }
  .edition-cover__photo { padding-left:.7rem; padding-bottom:.7rem; }
  .edition-cover__photo img,.planner-page .edition-cover__photo img { height:15rem; }
  .guide-intro.edition-cover h1 { max-width:12ch; }
  .route-panel { grid-template-columns:1fr; gap:2.5rem; }
  .route-tabs { display:flex; flex-wrap:wrap; overflow:visible; gap:.4rem; }
  .route-tab { flex:1 1 calc(50% - .4rem); min-width:0; min-height:3rem; border:var(--edition-rule); font-size:.9rem; }
  .route-schedule { padding-left:.3rem; }
  .route-schedule::before { left:.65rem; }
  .schedule-stop { grid-template-columns:4.5rem 1fr; gap:.7rem; }
  .schedule-stop h4 { font-size:1rem; }
  .schedule-stop__time strong { font-size:1.1rem; }
  .schedule-stop__body p { font-size:.9rem; }
  .arrival-panel { padding:1.5rem; }
  .detail-hero { min-height:0; display:flex; flex-direction:column-reverse; margin-inline:1rem; }
  .detail-hero .detail-hero__media { position:relative; inset:auto; width:100%; height:16rem; }
  .detail-hero .detail-hero__inner { min-height:0; width:100%; padding:2rem 1.5rem; }
  .detail-hero .detail-hero__copy { width:100%; gap:1.2rem; }
  .detail-hero h1 { font-size:2.3rem; }
  .detail-hero .detail-hero__subtitle { font-size:1rem; }
  .trip-facts__grid { gap:0; padding-block:.5rem; }
  .trip-fact { padding:1.1rem .6rem; }
  .trip-fact:nth-child(3) { border-left:0; }
  .trip-fact:nth-child(n+3) { border-top:var(--edition-rule); }
  .topic-hero { margin-inline:1rem; }
  .topic-hero__inner { padding:2rem 1.5rem; }
  .topic-hero__inner > div { width:100%; }
  .planner-page .planner-layout { grid-template-columns:1fr; }
  .trip-paper { padding:1.4rem 1rem; box-shadow:4px 4px 0 var(--cream-dark); }
  .trip-paper__heading h2 { font-size:2rem; }
  .site-footer .footer-grid { gap:2.5rem; padding-block:3rem; }
  .site-footer .footer-brand h2 { font-size:2rem; }
  .site-footer .footer-bottom { padding-bottom:5rem; }
}
@media (prefers-reduced-motion:reduce) {
  .edition-hero .hero-scene,.edition-story__photo img,.edition-book__visual,.motion-setting [role="switch"]::after { transition:none; transform:none; }
}
@media print {
  .planner-page .edition-cover__photo,.planner-sidebar,.edition-hero .hero-reel { display:none; }
  .planner-page .edition-cover { display:block; }
  .trip-paper { border:0; box-shadow:none; }
}
