/* Shared primary-action system. Icon-only and navigation utility controls are intentionally excluded. */
:root{--tt-button-height:50px;--tt-button-pad:21px;--tt-card-shadow:0 13px 34px rgba(17,23,19,.09);--tt-card-shadow-hover:0 32px 76px rgba(17,23,19,.18)}
.btn,.page-button,.blog-nav .nav-cta,.article-cta a,.directory-cta a,.festival-directory-cta>a,.archive-empty>a,.tt-enquiry-submit,.ne-book-btn,.assistant-actions button,.assistant-actions a,.mode-page-cta .page-button,.exp-hero-copy>a,.exp-book-fixed,.planner button[type="submit"],.modal-content .btn{min-height:var(--tt-button-height);height:auto;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 var(--tt-button-pad);border-radius:2px;font-size:11px;font-weight:800;line-height:1.1;letter-spacing:.07em;text-align:center;text-transform:uppercase;transition:transform .24s,box-shadow .24s,background-color .24s,color .24s,border-color .24s}
.btn:hover,.page-button:hover,.blog-nav .nav-cta:hover,.article-cta a:hover,.directory-cta a:hover,.festival-directory-cta>a:hover,.archive-empty>a:hover,.tt-enquiry-submit:hover,.ne-book-btn:hover,.assistant-actions button:hover,.assistant-actions a:hover,.mode-page-cta .page-button:hover,.exp-hero-copy>a:hover,.exp-book-fixed:hover,.planner button[type="submit"]:hover,.modal-content .btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,23,19,.22)}
.btn:focus-visible,.page-button:focus-visible,.blog-nav .nav-cta:focus-visible,.article-cta a:focus-visible,.directory-cta a:focus-visible,.festival-directory-cta>a:focus-visible,.archive-empty>a:focus-visible,.tt-enquiry-submit:focus-visible,.ne-book-btn:focus-visible,.assistant-actions button:focus-visible,.assistant-actions a:focus-visible,.mode-page-cta .page-button:focus-visible,.exp-hero-copy>a:focus-visible,.exp-book-fixed:focus-visible,.planner button[type="submit"]:focus-visible,.modal-content .btn:focus-visible{outline:3px solid rgba(244,108,49,.38);outline-offset:3px}
.exp-book-fixed{border-radius:999px;padding-inline:23px 18px}.blog-nav .nav-cta{white-space:nowrap}.tt-enquiry-submit,.planner button[type="submit"]{border:0}

/* Consistent premium elevation without disturbing existing card transforms or tilt effects. */
.trip-card,.festival-card,.journal-card,.listing-card,.directory-card,.story-grid>article,.mode-grid>article,.confidence-grid>article,.testimonial-card,.exp-review-grid blockquote,.ne-mini-trip{box-shadow:var(--tt-card-shadow);transition-property:transform,translate,box-shadow,border-color,filter,background;transition-duration:.38s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.trip-card:hover,.trip-card:focus-within,.festival-card:hover,.festival-card:focus-within,.journal-card:hover,.journal-card:focus-within,.listing-card:hover,.listing-card:focus-within,.directory-card:hover,.directory-card:focus-within,.story-grid>article:hover,.story-grid>article:focus-within,.mode-grid>article:hover,.mode-grid>article:focus-within,.confidence-grid>article:hover,.confidence-grid>article:focus-within,.testimonial-card:hover,.testimonial-card:focus-within,.exp-review-grid blockquote:hover,.ne-mini-trip:hover{translate:0 -3px;box-shadow:var(--tt-card-shadow-hover)}
@media(max-width:600px){:root{--tt-button-height:48px;--tt-button-pad:18px}.exp-book-fixed{min-height:52px}}
@media(prefers-reduced-motion:reduce){.btn,.page-button,.blog-nav .nav-cta,.article-cta a,.directory-cta a,.festival-directory-cta>a,.archive-empty>a,.tt-enquiry-submit,.ne-book-btn,.assistant-actions button,.assistant-actions a,.mode-page-cta .page-button,.exp-hero-copy>a,.exp-book-fixed,.planner button[type="submit"],.modal-content .btn,.trip-card,.festival-card,.journal-card,.listing-card,.directory-card,.story-grid>article,.mode-grid>article,.confidence-grid>article,.testimonial-card,.exp-review-grid blockquote,.ne-mini-trip{transition:none}.trip-card:hover,.festival-card:hover,.journal-card:hover,.listing-card:hover,.directory-card:hover,.story-grid>article:hover,.mode-grid>article:hover,.confidence-grid>article:hover,.testimonial-card:hover,.exp-review-grid blockquote:hover,.ne-mini-trip:hover{translate:none}}

/* Give the Traveller Types introduction more breathing room after the gallery. */
.travel-gallery + .modes{padding-top:130px}
@media(max-width:600px){.travel-gallery + .modes{padding-top:95px}}

/* Quiet, persistent desktop planning action. */
.tt-plan-float{position:fixed;z-index:65;right:0;top:52%;display:flex;min-height:48px;align-items:center;gap:13px;padding:0 16px 0 18px;border-radius:2px 0 0 2px;background:#f46c31;color:#fff;box-shadow:0 12px 34px rgba(17,23,19,.22);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;transform:translateX(calc(100% - 45px));transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .25s}.tt-plan-float b{display:grid;width:15px;place-items:center;font-size:15px}.tt-plan-float:hover,.tt-plan-float:focus-visible{transform:translateX(0);box-shadow:0 18px 42px rgba(17,23,19,.28)}.tt-plan-float:focus-visible{outline:3px solid rgba(244,108,49,.35);outline-offset:3px}@media(max-width:900px){.tt-plan-float{display:none}}

/* Destination context within traveller stories. */
.tt-destination-badge{display:inline-flex!important;align-items:center;width:max-content;margin-top:6px;padding:5px 8px;border:1px solid rgba(36,73,60,.15);border-radius:999px;background:#edf1eb;color:#254b3d!important;font-size:8px!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase}

/* Gallery category navigation. */
.gallery-filters{width:min(calc(100% - 6vw),1280px);margin:-17px auto 28px;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filters button{min-height:38px;flex:none;padding:0 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:transparent;color:#c8d0ca;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;transition:background .22s,border-color .22s,color .22s,transform .22s}.gallery-filters button:hover,.gallery-filters button:focus-visible{border-color:#f46c31;color:#fff;transform:translateY(-2px)}.gallery-filters button.active{border-color:#f46c31;background:#f46c31;color:#fff}.gallery-filter-status{margin-left:auto;flex:none;color:#89978e;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.gallery-track figure[hidden]{display:none!important}.gallery-marquee.is-filtered .gallery-track{animation:none}.travel-gallery:has(.gallery-marquee.is-filtered) .tt-slider-dots{display:none}@media(max-width:650px){.gallery-filters{width:90%;margin-top:-10px}.gallery-filter-status{display:none}}

/* Reliable expedition card photography, with CSS backgrounds retained as fallbacks. */
.trip-art-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:1;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s}.trip-card:hover .trip-art-image,.trip-card:focus-visible .trip-art-image{transform:scale(1.035);filter:saturate(1.08)}.trip-art:before,.trip-art:after{z-index:1}.trip-art>span,.trip-art>i,.trip-art>b,.trip-art>.card-route,.trip-art>.trip-quick{z-index:2}@media(prefers-reduced-motion:reduce){.trip-art-image{transition:none}}

/* Mobile navigation uses the hamburger only; planning remains available inside the menu/support UI. */
@media(max-width:900px){.topbar .desktop-cta,.blog-nav .nav-cta{display:none!important}}
