.route-empty{background:#fffefa;border:1px solid var(--line);padding:50px 32px;text-align:center;color:var(--body);font:17px/1.7 var(--serif)}.not-found{min-height:66vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 24px}.not-found .eyebrow{margin-bottom:10px}.not-found h1{font-size:clamp(49px,7vw,76px);line-height:1.02;margin:0 0 14px}.not-found h1 em{color:var(--green-soft)}.not-found>p:not(.eyebrow){font:16px var(--serif);color:var(--body);margin:0 0 26px}

.footer-links{gap:clamp(28px,6vw,80px)}.footer-links>div:last-child{max-width:245px}.footer-links a{overflow-wrap:anywhere;line-height:1.55}.contact-detail a{line-height:1.6}
@media(max-width:850px){.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}.footer-links>div:last-child{grid-column:1/-1;max-width:560px}}
@media(max-width:700px){.footer-links{gap:24px 22px}.footer-links>div:last-child{max-width:100%}}
/* The PHP lightbox is kept in the DOM for the same client-side interaction as Next. */
[data-lightbox]:not(.is-open){display:none}

/* Next's fill images are absolute; mirror that contract for the PHP markup. */
.page-hero>img,.detail-hero>img,.article-hero>img,.about-banner>img,.final-cta-image{position:absolute;inset:0;width:100%;height:100%}
.tour-image>img,.experience-card>img,.why-image>img,.story-image>img,.story-list-image>img,.preview-image>img,.about-story-image>img,.detail-gallery-image>img,.experience-feature-image>img,.route-feature-image>img,.gallery-item>img,.lightbox-image>img{position:absolute;inset:0;width:100%;height:100%}
