.travel-page { min-height: 100vh; }
.travel-topbar {
    position: fixed; inset: 0 0 auto; z-index: 60;
    display: flex; align-items: center; justify-content: space-between; padding: 1rem clamp(1rem,4vw,2.5rem);
}
.travel-back {
    display: inline-flex; align-items: center; gap: .5rem; min-height: 2.7rem; padding: 0 .9rem;
    color: var(--text-2); border: 1px solid var(--glass-border); border-radius: var(--radius-sm);
    background: rgba(14,9,17,.62); backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2); box-shadow: var(--shadow-soft);
    transition: color .25s ease, border-color .25s ease, transform .35s var(--ease-smooth);
}
.travel-back:hover { color: #fff; border-color: var(--glass-border-bright); transform: translateY(-2px); }
.travel-back svg { width: 1rem; height: 1rem; }
.travel-wordmark { color: var(--gold); font-size: .66rem; letter-spacing: .32em; opacity: .82; }
.travel-top-actions { display: inline-flex; align-items: center; gap: .6rem; }
.travel-hero {
    position: relative; min-height: 94svh; display: grid; place-items: center; overflow: hidden;
    padding: 7rem 1.25rem 5rem; text-align: center;
}
.travel-hero-photo {
    position: absolute; inset: -3%; opacity: 0;
    background-size: cover; background-position: center;
    filter: saturate(.78) brightness(.55); transform: scale(1.05);
    transition: opacity 1s ease;
}
.travel-has-hero .travel-hero-photo { opacity: .42; }
.travel-hero-shade {
    position: absolute; inset: 0;
    background: radial-gradient(circle at 50% 42%, rgba(12,9,16,.18), rgba(12,9,16,.82) 76%);
}
.travel-hero-content {
    position: relative; z-index: 2; width: min(48rem,100%);
    display: flex; flex-direction: column; align-items: center;
}
.travel-hero h1 {
    margin-top: 1rem; color: var(--gold-bright); font-size: clamp(4rem,13vw,8rem);
    line-height: .95; text-shadow: 0 10px 55px rgba(0,0,0,.45);
}
.travel-subtitle { margin-top: 1.4rem; color: var(--text-1); font-size: 1rem; letter-spacing: .08em; line-height: 1.9; }
.travel-description { max-width: 40rem; margin-top: 1rem; color: var(--text-2); font-size: .9rem; line-height: 2; }
.travel-stats {
    display: flex; align-items: center; gap: 1.5rem; margin-top: 1.6rem; color: var(--text-3); font-size: .74rem;
}
.travel-stats strong { color: var(--gold-bright); font-size: 1.15rem; }
.travel-scroll-link {
    display: inline-flex; align-items: center; gap: .55rem; margin-top: 2rem; min-height: 2.9rem; padding: 0 1rem;
    color: #231a13; border-radius: var(--radius-sm);
    background: linear-gradient(135deg,var(--gold-deep),var(--gold-bright),var(--rose));
    box-shadow: 0 12px 32px rgba(232,197,140,.2);
}
.travel-scroll-link svg { width: 1rem; height: 1rem; animation: travel-arrow 1.8s ease-in-out infinite; }
@keyframes travel-arrow { 50% { transform: translateY(4px); } }
.travel-journal { position: relative; z-index: 3; width: min(76rem,100%); margin: 0 auto; padding: 5rem 1.25rem 8rem; }
.travel-journal-head {
    display: flex; align-items: end; justify-content: space-between; gap: 1.5rem;
    text-align: left; margin-bottom: 3rem;
}
.travel-journal-head h2 { margin-top: .7rem; color: var(--gold-bright); font-size: clamp(2.8rem,8vw,5rem); }
.travel-public-add, .travel-public-submit, .travel-public-cancel {
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
    min-height: 2.9rem; padding: 0 1rem; border-radius: var(--radius-sm);
    transition: transform .3s var(--ease-smooth), background .25s ease, color .25s ease;
}
.travel-public-add, .travel-public-submit {
    color: #241a13; background: linear-gradient(135deg,var(--gold-deep),var(--gold-bright),var(--rose));
    box-shadow: 0 12px 30px rgba(232,197,140,.2);
}
.travel-public-add:hover, .travel-public-submit:hover { transform: translateY(-2px); }
.travel-public-add svg, .travel-public-submit svg { width: 1rem; height: 1rem; }
.travel-route {
    position: sticky; top: 5rem; z-index: 20; display: flex; justify-content: space-around; gap: 1rem;
    min-height: 8.5rem; margin: 0 0 4rem; padding: 1.3rem 1rem;
    border: 1px solid var(--glass-border); border-radius: var(--radius-md);
    background: rgba(14,9,17,.67); backdrop-filter: blur(18px) saturate(1.2);
    -webkit-backdrop-filter: blur(18px) saturate(1.2); box-shadow: var(--shadow-soft);
    overflow-x: auto; scrollbar-width: none;
}
.travel-route[hidden] { display: none; }
.travel-route::-webkit-scrollbar { display: none; }
.travel-route-line {
    position: absolute; left: 6%; right: 6%; top: 2.4rem; height: 1px;
    background: linear-gradient(90deg,transparent,var(--gold-deep) 8%,var(--rose) 50%,var(--gold-deep) 92%,transparent);
    transform: scaleX(0); transform-origin: left; animation: travel-route-draw 1.2s .2s var(--ease-smooth) forwards;
}
@keyframes travel-route-draw { to { transform: scaleX(1); } }
.travel-route-stop {
    position: relative; z-index: 1; min-width: 7.5rem; display: grid; justify-items: center; align-content: start; gap: .3rem;
    padding: 0; color: var(--text-2); border: 0; background: transparent;
    opacity: 0; transform: translateY(12px);
    transition: opacity .45s ease, transform .55s var(--ease-smooth), color .25s ease;
}
.travel-route-stop.is-visible { opacity: 1; transform: translateY(0); transition-delay: calc(var(--route-index) * 70ms); }
.travel-route-stop:hover, .travel-route-stop.is-active { color: var(--gold-bright); }
.travel-route-pin {
    width: 2.25rem; height: 2.25rem; display: grid; place-items: center; margin-bottom: .2rem;
    border: 1px solid rgba(232,197,140,.3); border-radius: 50%; color: var(--gold);
    background: #17101c; box-shadow: 0 0 0 5px rgba(232,197,140,.06);
    transition: transform .35s var(--ease-smooth), background .25s ease, color .25s ease;
}
.travel-route-stop:hover .travel-route-pin, .travel-route-stop.is-active .travel-route-pin {
    color: #21180f; background: var(--gold-bright); transform: translateY(-3px);
}
.travel-route-pin svg { width: 1rem; height: 1rem; }
.travel-route-stop strong { font-size: 1.15rem; }
.travel-route-stop small { color: var(--text-3); font-size: .62rem; }
.travel-entry-list { display: grid; gap: clamp(5rem,10vw,8rem); }
.travel-entry {
    display: grid; grid-template-columns: minmax(0,1.08fr) minmax(18rem,.92fr); align-items: center; gap: clamp(2rem,6vw,5rem);
    scroll-margin-top: 11rem; opacity: 0; transform: translateY(28px);
    transition: opacity .65s ease, transform .75s var(--ease-smooth), filter .35s ease;
}
.travel-entry:nth-child(even) .travel-entry-visual { order: 2; transform: rotate(1.2deg); }
.travel-entry:nth-child(even) .travel-entry-copy { order: 1; }
.travel-entry.is-visible { opacity: 1; transform: translateY(0); }
.travel-entry.is-muted { opacity: .32; filter: saturate(.55); }
.travel-entry-visual {
    position: relative; width: 100%; padding: .65rem .65rem 2.8rem;
    border: 1px solid rgba(255,255,255,.16); border-radius: 6px;
    background: linear-gradient(155deg,rgba(244,235,220,.14),rgba(255,255,255,.05));
    box-shadow: 0 24px 60px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.12);
    transform: rotate(-1.2deg); transition: transform .5s var(--ease-smooth), box-shadow .4s ease;
}
.travel-entry-visual:hover { transform: rotate(0) translateY(-5px); box-shadow: 0 30px 75px rgba(0,0,0,.43); }
.travel-entry-visual img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 3px; }
.travel-page .has-missing-image { position: relative; min-height: 8rem; background: rgba(10,7,13,.5); }
.travel-page .has-missing-image::before {
    content: '照片暂时不在这里'; position: absolute; inset: 0; display: grid; place-items: center;
    color: var(--text-3); font-family: 'OtherFont',sans-serif; font-size: .72rem;
}
.travel-page img.is-missing { opacity: 0; }
.travel-entry-placeholder { width: 100%; aspect-ratio: 16/10; display: grid; place-items: center; color: var(--gold); background: rgba(10,7,13,.5); }
.travel-entry-placeholder svg { width: 2rem; height: 2rem; }
.travel-entry-stamp {
    position: absolute; left: 1rem; bottom: .8rem; color: var(--gold); font-size: .7rem; letter-spacing: .18em;
}
.travel-past-ribbon {
    position: absolute; top: 1.15rem; right: -.5rem; padding: .42rem .7rem;
    color: #211810; background: var(--gold-bright); box-shadow: 0 6px 20px rgba(0,0,0,.22);
    font-size: .64rem; transform: rotate(2deg);
}
.travel-entry-copy { display: flex; flex-direction: column; align-items: flex-start; }
.travel-entry-meta { display: flex; flex-wrap: wrap; gap: .8rem; color: var(--gold); font-size: .7rem; letter-spacing: .08em; }
.travel-entry-copy h3 {
    margin-top: .8rem; color: var(--gold-bright); font-size: clamp(2.3rem,4.5vw,3.5rem);
    line-height: 1.12; text-wrap: balance;
}
.travel-entry-copy > p { margin-top: 1rem; color: var(--text-2); line-height: 2; font-size: .92rem; }
.travel-entry-tags, .travel-detail-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.travel-entry-tags span, .travel-detail-tags span {
    display: inline-flex; align-items: center; min-height: 1.7rem; padding: 0 .6rem;
    border: 1px solid rgba(232,197,140,.2); border-radius: 999px;
    color: var(--text-2); background: rgba(232,197,140,.055); font-size: .64rem;
}
.travel-entry-open {
    display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.4rem; min-height: 2.75rem; padding: 0 .9rem;
    color: var(--gold-bright); border: 1px solid rgba(232,197,140,.3); border-radius: var(--radius-sm);
    background: rgba(14,9,17,.62);
    transition: background .25s ease, transform .3s var(--ease-smooth);
}
.travel-entry-open:hover { background: rgba(232,197,140,.09); transform: translateY(-2px); }
.travel-entry-open svg { width: .95rem; height: .95rem; }
.travel-empty {
    width: min(38rem,100%); margin: 0 auto; padding: 4rem 1.5rem; text-align: center;
    border-top: 1px solid rgba(232,197,140,.2); border-bottom: 1px solid rgba(232,197,140,.2);
}
.travel-empty > svg { width: 2.4rem; height: 2.4rem; margin: 0 auto 1rem; color: var(--gold); }
.travel-empty h2 { color: var(--gold-bright); font-size: 2.7rem; }
.travel-empty p { margin-top: 1rem; color: var(--text-2); line-height: 2.1; }
.travel-footer { position: relative; z-index: 3; padding: 4rem 1.25rem 6rem; text-align: center; }
.travel-footer svg { width: 1.4rem; height: 1.4rem; margin: 0 auto 1rem; color: var(--gold); }
.travel-footer p { max-width: 34rem; margin: auto; color: var(--gold-bright); font-size: 2rem; line-height: 1.5; }
body.travel-detail-open { overflow: hidden; }
body.travel-public-open { overflow: hidden; }
.travel-detail-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; }
.travel-detail-modal[hidden], .travel-lightbox[hidden] { display: none; }
.travel-detail-backdrop {
    position: absolute; inset: 0; opacity: 0; background: rgba(5,4,8,.45);
    backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); transition: opacity .28s ease, backdrop-filter .35s ease;
}
.travel-detail-panel {
    --detail-origin-x: 0px; --detail-origin-y: 0px;
    position: relative; z-index: 1; width: min(72rem,calc(100vw - 2rem)); height: min(48rem,calc(100svh - 2rem));
    overflow: hidden; border: 1px solid var(--glass-border-bright); border-radius: var(--radius-md);
    background: linear-gradient(145deg,rgba(29,21,32,.99),rgba(10,8,13,.99));
    box-shadow: 0 34px 110px rgba(0,0,0,.64), inset 0 1px rgba(255,255,255,.08);
    opacity: 0; transform: translate3d(var(--detail-origin-x),var(--detail-origin-y),0) scale(.65);
    transition: opacity .22s ease, transform .4s var(--ease-smooth);
}
.travel-detail-modal.is-open .travel-detail-backdrop { opacity: 1; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.travel-detail-modal.is-open .travel-detail-panel { opacity: 1; transform: translate3d(0,0,0) scale(1); }
.travel-icon-button {
    width: 2.6rem; height: 2.6rem; display: grid; place-items: center;
    color: var(--text-2); border: 1px solid rgba(255,255,255,.14); border-radius: 50%;
    background: rgba(10,8,13,.62); backdrop-filter: blur(12px); transition: color .25s ease, background .25s ease, transform .3s ease;
}
.travel-icon-button:hover { color: #fff; background: rgba(255,255,255,.12); transform: scale(1.05); }
.travel-icon-button svg { width: 1rem; height: 1rem; }
.travel-detail-close { position: absolute; z-index: 5; top: 1rem; right: 1rem; }
.travel-detail-layout { display: grid; grid-template-columns: 1.08fr .92fr; height: 100%; }
.travel-detail-gallery {
    min-width: 0; display: grid; grid-template-rows: minmax(0,1fr) 2rem 5.55rem;
    padding: 1rem; background: rgba(4,3,6,.35);
}
.travel-detail-image-stage {
    position: relative; isolation: isolate; min-height: 0; display: grid; place-items: center; overflow: hidden;
    border: 1px solid rgba(255,255,255,.08); border-radius: 7px; background: #08070a;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.18), inset 0 -2rem 4rem rgba(0,0,0,.18);
}
.travel-detail-image-stage::after {
    content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none;
    background: rgba(7,6,9,.38); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
}
.travel-detail-image-stage > img { width: 100%; height: 100%; object-fit: contain; }
.travel-detail-image-stage > .travel-detail-image-backdrop {
    position: absolute; z-index: -1; inset: -1.5rem; width: calc(100% + 3rem); height: calc(100% + 3rem);
    object-fit: cover; filter: blur(24px) saturate(.78); opacity: .34; transform: scale(1.06); pointer-events: none;
}
.travel-detail-image-stage > #travel-detail-image {
    position: absolute; z-index: 1; inset: 0; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; cursor: zoom-in;
}
.travel-image-nav, .travel-lightbox-nav {
    position: absolute; z-index: 3; top: 50%; width: 2.6rem; height: 2.6rem; display: grid; place-items: center;
    color: #fff; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: rgba(5,4,8,.55);
    transform: translateY(-50%); backdrop-filter: blur(10px);
}
.travel-image-nav.is-prev, .travel-lightbox-nav.is-prev { left: .7rem; }
.travel-image-nav.is-next, .travel-lightbox-nav.is-next { right: .7rem; }
.travel-image-count {
    position: absolute; z-index: 3; right: .7rem; bottom: .7rem; padding: .3rem .55rem; border-radius: 999px;
    color: var(--text-2); background: rgba(5,4,8,.62); font-size: .65rem;
}
.travel-image-caption {
    min-width: 0; height: 2rem; overflow: hidden; padding: .55rem 0 .2rem;
    color: var(--text-2); font-size: .72rem; text-align: center; text-overflow: ellipsis; white-space: nowrap;
}
.travel-detail-thumbs { height: 5.55rem; display: flex; align-items: flex-start; gap: .45rem; overflow-x: auto; padding-top: .45rem; scrollbar-width: thin; }
.travel-detail-thumbs button { flex: 0 0 4.2rem; width: 4.2rem; height: 4.2rem; padding: 2px; border: 1px solid transparent; border-radius: 5px; opacity: .52; }
.travel-detail-thumbs button.is-active { opacity: 1; border-color: var(--gold); }
.travel-detail-thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: 3px; }
.travel-detail-copy { overflow-y: auto; padding: clamp(3rem,6vw,5rem) clamp(1.4rem,4vw,3rem) 2rem; }
.travel-detail-badges { display: flex; flex-wrap: wrap; gap: .45rem; }
.travel-detail-badges span {
    min-height: 1.8rem; display: inline-flex; align-items: center; padding: 0 .65rem;
    border: 1px solid rgba(232,197,140,.22); border-radius: 999px; color: var(--gold); background: rgba(232,197,140,.06); font-size: .64rem;
}
.travel-detail-copy h2 { margin-top: 1rem; color: var(--gold-bright); font-size: clamp(3rem,7vw,5rem); line-height: 1.05; }
.travel-detail-summary { margin-top: 1.2rem; color: var(--text-1); line-height: 1.9; font-size: .95rem; }
.travel-detail-content { margin-top: 1.5rem; color: var(--text-2); line-height: 2.05; font-size: .9rem; }
.travel-detail-content p + p { margin-top: 1rem; }
.travel-detail-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; margin-top: 1.6rem; }
.travel-detail-facts div { padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.1); }
.travel-detail-facts dt { color: var(--text-3); font-size: .62rem; }
.travel-detail-facts dd { margin-top: .3rem; color: var(--text-2); font-size: .72rem; }
.travel-lightbox {
    position: fixed; inset: 0; z-index: 130; display: grid; place-items: center; padding: 3.5rem 4rem;
    background: rgba(3,2,5,.94); opacity: 0; transition: opacity .22s ease;
}
.travel-lightbox.is-open { opacity: 1; }
.travel-lightbox > img { max-width: 100%; max-height: calc(100svh - 7rem); object-fit: contain; }
.travel-lightbox > .travel-icon-button { position: absolute; top: 1rem; right: 1rem; }
.travel-lightbox > p { position: absolute; left: 50%; bottom: 1rem; transform: translateX(-50%); color: var(--text-2); font-size: .72rem; }
.travel-lightbox-nav.is-prev { left: 1rem; }
.travel-lightbox-nav.is-next { right: 1rem; }
.travel-public-editor {
    position: fixed; inset: 0; z-index: 110; display: grid; place-items: center; padding: 1rem;
}
.travel-public-editor[hidden] { display: none; }
.travel-public-backdrop {
    position: absolute; inset: 0; opacity: 0; background: rgba(5,4,8,.48);
    backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
    transition: opacity .25s ease, backdrop-filter .35s ease;
}
.travel-public-panel {
    position: relative; z-index: 1; width: min(44rem,100%); max-height: calc(100svh - 2rem);
    display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden;
    border: 1px solid var(--glass-border-bright); border-radius: var(--radius-md);
    background: linear-gradient(150deg,rgba(30,22,34,.99),rgba(11,8,14,.99));
    box-shadow: 0 30px 100px rgba(0,0,0,.65), inset 0 1px rgba(255,255,255,.08);
    opacity: 0; transform: translateY(18px) scale(.98);
    transition: opacity .25s ease, transform .38s var(--ease-smooth);
}
.travel-public-editor.is-open .travel-public-backdrop {
    opacity: 1; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.travel-public-editor.is-open .travel-public-panel { opacity: 1; transform: translateY(0) scale(1); }
.travel-public-panel > header {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
    padding: 1.2rem 1.4rem; border-bottom: 1px solid var(--glass-border);
}
.travel-public-panel > header h2 { margin-top: .35rem; color: var(--gold-bright); font-size: 2rem; }
.travel-public-fields { min-height: 0; overflow-y: auto; display: grid; gap: .9rem; padding: 1.3rem 1.4rem; }
.travel-public-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.travel-public-field { display: grid; gap: .38rem; color: var(--text-2); font-size: .72rem; }
.travel-public-field input, .travel-public-field textarea {
    width: 100%; padding: .78rem .85rem; color: var(--text-1);
    border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius-sm);
    background: rgba(255,255,255,.05); outline: none; resize: vertical;
}
.travel-public-field input:focus, .travel-public-field textarea:focus {
    border-color: rgba(232,197,140,.58); box-shadow: 0 0 0 3px rgba(232,197,140,.1);
}
.travel-public-field input[type="file"] { color: var(--text-2); }
.travel-public-field small { color: var(--text-3); }
.travel-public-past { display: inline-flex; align-items: center; gap: .5rem; color: var(--text-2); }
.travel-public-past input { width: 1rem; height: 1rem; accent-color: var(--gold-deep); }
.travel-public-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.travel-public-panel > footer {
    display: flex; justify-content: flex-end; gap: .7rem; padding: .9rem 1.4rem;
    border-top: 1px solid var(--glass-border); background: rgba(10,7,13,.78);
}
.travel-public-cancel { color: var(--text-2); border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.045); }
.travel-public-submit:disabled { opacity: .55; cursor: wait; transform: none; }
.travel-public-submit.is-saving svg { animation: spin-slow 1s linear infinite; }
.travel-public-toast {
    position: fixed; z-index: 140; left: 50%; bottom: 1.4rem; max-width: calc(100vw - 2rem);
    padding: .75rem 1rem; color: #211810; background: var(--gold-bright);
    border-radius: var(--radius-sm); box-shadow: 0 14px 42px rgba(0,0,0,.4);
    opacity: 0; transform: translate(-50%,1rem); pointer-events: none;
    transition: opacity .25s ease, transform .3s var(--ease-smooth);
}
.travel-public-toast.is-visible { opacity: 1; transform: translate(-50%,0); }
.travel-public-toast.is-error { color: #fff; background: #9f4554; }
body.travel-public-open .travel-public-toast { bottom: calc(5.6rem + env(safe-area-inset-bottom)); }

@media (max-width: 720px) {
    .travel-wordmark { display: none; }
    .travel-topbar { justify-content: space-between; }
    .travel-description { font-size: .82rem; }
    .travel-journal-head { align-items: center; flex-direction: column; text-align: center; }
    .travel-public-add { align-self: center; }
    .travel-route {
        position: relative; top: auto; display: grid; justify-content: stretch; overflow: visible;
        padding: 1rem 1rem 1rem 3.6rem; gap: .3rem; background: rgba(14,9,17,.48);
    }
    .travel-route[hidden] { display: none; }
    .travel-route-line {
        left: 2.15rem; right: auto; top: 1.8rem; bottom: 1.8rem; width: 1px; height: auto;
        transform: scaleY(0); transform-origin: top; animation-name: travel-route-draw-mobile;
    }
    @keyframes travel-route-draw-mobile { to { transform: scaleY(1); } }
    .travel-route-stop { min-width: 0; min-height: 4rem; grid-template-columns: auto 1fr; justify-items: start; align-items: center; text-align: left; }
    .travel-route-pin { position: absolute; left: -2.55rem; margin: 0; }
    .travel-route-stop small { grid-column: 2; }
    .travel-entry, .travel-entry:nth-child(even) { grid-template-columns: 1fr; gap: 1.5rem; }
    .travel-entry:nth-child(even) .travel-entry-visual, .travel-entry:nth-child(even) .travel-entry-copy { order: initial; }
    .travel-entry-visual, .travel-entry:nth-child(even) .travel-entry-visual { transform: rotate(-.6deg); }
    .travel-entry-copy h3 { font-size: 2.8rem; }
    .travel-empty h2 {
        font-size: clamp(2rem, 10.5vw, 2.65rem);
        line-height: 1.15;
        white-space: nowrap;
    }
    .travel-detail-modal { padding: .35rem; }
    .travel-detail-panel { width: calc(100vw - .7rem); height: calc(100svh - .7rem); }
    .travel-detail-layout { grid-template-columns: 1fr; grid-template-rows: minmax(17rem,43svh) minmax(0,1fr); }
    .travel-detail-gallery { grid-template-rows: minmax(0,1fr) 2rem 4.9rem; padding: .55rem; }
    .travel-detail-thumbs { height: 4.9rem; }
    .travel-detail-thumbs button { flex-basis: 3.65rem; width: 3.65rem; height: 3.65rem; }
    .travel-detail-copy { padding: 2rem 1rem 1.2rem; }
    .travel-detail-copy h2 { font-size: 3rem; padding-right: 2rem; }
    .travel-detail-facts { grid-template-columns: 1fr; }
    .travel-lightbox { padding: 3.5rem .5rem; }
    .travel-public-editor { padding: .35rem; }
    .travel-public-panel { max-height: calc(100svh - .7rem); }
    .travel-public-panel > header, .travel-public-fields { padding-inline: 1rem; }
    .travel-public-row { grid-template-columns: 1fr; }
    .travel-public-panel > footer { padding: .75rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .travel-route-line { animation: none; transform: none; }
    .travel-route-stop, .travel-entry { opacity: 1; transform: none; transition: none; }
    .travel-scroll-link svg { animation: none; }
}
