/* Production orbit carousel: one data-driven path, twelve unique Tripura items. */
.route-gallery-top .route-gallery-description,
.route-gallery-top .route-gallery-actions{display:none!important}
.route-gallery-top{grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding-top:.6rem!important;padding-bottom:1rem!important}
.route-gallery-top .route-gallery-copy{width:100%;max-width:none!important;position:relative;z-index:4}
.route-gallery-top .route-gallery-copy h1{max-width:none!important;margin-bottom:0!important;font-size:clamp(2.35rem,5vw,4.65rem)!important;line-height:.94!important;white-space:nowrap!important}
.route-gallery-top .route-gallery-copy h1 br{display:none!important}
.route-gallery-top .route-gallery-copy h1 [data-route-to]::before{content:" "}
.travel-ring-stage{width:min(1120px,100%)!important;min-height:560px!important;margin:-.35rem auto 0!important;overflow:visible!important;isolation:isolate;touch-action:pan-y}
.route-gallery-top .travel-ring-stage{min-height:clamp(620px,46vw,680px)!important;max-height:none!important;margin:1rem auto 0!important}
.travel-ring-stage .route-gallery-plane{overflow:visible!important;transform:none!important}
.travel-ring-shell{position:absolute;inset:0;z-index:2;overflow:visible;transform-style:preserve-3d;perspective:1200px;perspective-origin:50% 48%}
.travel-ring-halo{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible;opacity:0;pointer-events:none}
.travel-ring-halo ellipse{fill:none;stroke:transparent;stroke-width:1;vector-effect:non-scaling-stroke}
.travel-ring-track{position:absolute;inset:0;z-index:3;transform-style:preserve-3d}
.travel-ring-thumb{position:absolute;left:50%;top:50%;width:clamp(54px,5.7vw,70px);aspect-ratio:.72;margin:0;padding:0;overflow:hidden;border:1px solid rgba(24,54,46,.12);border-radius:14px;background:#fffdf8;box-shadow:0 8px 22px rgba(20,35,30,.10);cursor:pointer;transform-origin:center;transform-style:preserve-3d;will-change:transform;transition:opacity 180ms linear,filter 180ms linear,box-shadow 250ms ease,border-color 250ms ease}
.travel-ring-thumb:after{display:none}
.travel-ring-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}
.travel-ring-thumb span{position:absolute;z-index:2;left:6px;bottom:6px;display:grid;place-items:center;min-width:25px;height:20px;padding:0 5px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(24,54,46,.9);color:#fff;font-size:.52rem;font-weight:800;letter-spacing:.05em;box-shadow:0 2px 7px rgba(20,35,30,.18)}
.travel-ring-thumb:hover,.travel-ring-thumb:focus-visible{border-color:rgba(230,109,77,.7);box-shadow:0 12px 26px rgba(20,35,30,.16);outline:3px solid rgba(230,109,77,.24);outline-offset:3px}
.travel-ring-thumb[aria-current=true]{border-color:var(--coral);box-shadow:0 13px 30px rgba(20,35,30,.18),0 0 0 4px rgba(230,109,77,.2)}
.travel-ring-feature{position:absolute;z-index:40;left:50%;top:44%;width:clamp(240px,25%,280px);margin:0;text-align:center;transform:translate(-50%,-50%)}
.travel-ring-feature:before,.travel-ring-feature:after{display:none}
.travel-ring-feature-image{position:relative;display:block;width:100%;aspect-ratio:1.5;margin:0;padding:0;overflow:hidden;border:2px solid rgba(255,255,255,.94);border-radius:25px;background:var(--paper);box-shadow:0 18px 45px rgba(20,35,30,.16);cursor:zoom-in}
.travel-ring-feature-image:after{display:none}
.travel-ring-feature-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit;transition:transform 450ms cubic-bezier(.22,.72,.22,1),opacity 250ms ease}
.travel-ring-feature:hover .travel-ring-feature-image img{transform:scale(1.025)}
.travel-ring-controls{position:absolute;z-index:80;left:50%;top:39%;width:calc(clamp(240px,25%,280px) + 112px);display:flex;align-items:center;justify-content:space-between;pointer-events:none;transform:translate(-50%,-50%)}
.travel-ring-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(24,54,46,.22);border-radius:50%;background:rgba(255,250,241,.94);color:var(--ink);font:700 23px/1 var(--sans);box-shadow:0 8px 20px rgba(20,35,30,.1);cursor:pointer;pointer-events:auto;transition:color 180ms ease,background 180ms ease,border-color 180ms ease,transform 180ms ease}
.travel-ring-controls button:hover{color:#fff;background:var(--coral);border-color:var(--coral);transform:translateY(-1px)}
.travel-ring-controls button:focus-visible{outline:3px solid rgba(230,109,77,.3);outline-offset:3px}
.travel-ring-controls span,.travel-ring-hint{display:none}
.route-gallery-top.is-route-changing .travel-ring-feature-image img{opacity:.42;transform:scale(.98)}
.travel-ring-stage{user-select:none;cursor:grab}
.travel-ring-stage.is-ring-dragging{cursor:grabbing}
.travel-ring-stage.is-ring-dragging .travel-ring-thumb{pointer-events:none!important}
@media(max-width:850px) and (min-width:601px){
  .route-gallery-top .travel-ring-stage{min-height:520px!important}
  .travel-ring-thumb{width:54px}
  .travel-ring-feature{width:min(36%,260px)}
  .travel-ring-controls{width:calc(min(36%,260px) + 100px)}
}

/* Final responsive alignment override: route text and the Tripura 3D wordmark
   share one typographic scale and remain on a single line. */
.route-gallery-top .route-gallery-title-row{
  --route-title-size:clamp(2.35rem,4.25vw,4.85rem);
  align-items:center!important;
}
.route-gallery-top .route-gallery-title-row h1{
  font-size:var(--route-title-size)!important;
  line-height:.94!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
  letter-spacing:-.055em!important;
}
.route-gallery-top .tripura-wordmark.route-gallery-word .route-gallery-word-letter{
  font-size:var(--route-title-size)!important;
  line-height:.8!important;
}
@media (max-width:850px){
  .route-gallery-top .route-gallery-title-row{
    --route-title-size:clamp(.82rem,4.4vw,1.12rem);
    gap:.35rem!important;
    align-items:center!important;
  }
  .route-gallery-top .route-gallery-title-row h1{
    flex:1 1 auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    overflow:visible!important;
    letter-spacing:-.05em!important;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word{
    flex:0 0 clamp(96px,31vw,140px)!important;
    width:clamp(96px,31vw,140px)!important;
    min-width:96px!important;
    max-width:140px!important;
    min-height:clamp(22px,7vw,38px)!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
}
@media(max-width:600px){
  .route-gallery-top{padding-top:.35rem!important;padding-bottom:10px!important}
  .route-gallery-top .route-gallery-copy h1{font-size:clamp(1.12rem,5.4vw,1.52rem)!important;line-height:1.05!important;white-space:nowrap!important}
  .route-gallery-top .route-gallery-copy .eyebrow{margin-bottom:.22rem!important}
  .route-gallery-top .travel-ring-stage{width:calc(100% + 20px)!important;max-width:none!important;height:392px!important;min-height:392px!important;margin:10px -10px 0!important}
  #journeys{padding-top:0!important}
  .travel-ring-thumb{width:42px;aspect-ratio:.72;border-radius:10px}
  .travel-ring-thumb span{left:4px;bottom:4px;min-width:20px;height:17px;padding:0 4px;font-size:.43rem}
  .travel-ring-feature{top:47.3%;width:185px}
  .travel-ring-feature-image{aspect-ratio:1.5;border-radius:14px}
  .travel-ring-controls{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .travel-ring-thumb,.travel-ring-feature-image img,.travel-ring-controls button{transition:none!important}
}

/* Desktop-only: a wide, shallow orbit that keeps all thumbnails inside the gallery. */
@media(min-width:851px){
  .homepage-brand{gap:.7rem!important}
  .homepage-brand-name{max-width:270px;color:var(--ink);font:800 .94rem/1.16 var(--sans);letter-spacing:.035em;text-transform:none}
  body>main>.route-gallery-top{padding-right:16px!important;padding-bottom:2rem!important;padding-left:16px!important}
  /* A larger square stage lets the full circle use the available left/right space
     without crossing the heading above or the next section below. */
  .travel-ring-stage,.route-gallery-top .travel-ring-stage{width:min(1360px,100%)!important;min-height:clamp(780px,62vw,900px)!important;margin:.75rem auto 0!important}
  .travel-ring-shell{perspective:1500px;perspective-origin:50% 48%}
  .travel-ring-track{transform:none}
  .travel-ring-thumb{width:clamp(104px,8.4vw,130px);border-radius:17px;box-shadow:0 15px 34px rgba(20,35,30,.15),0 2px 6px rgba(20,35,30,.08)}
  .travel-ring-thumb span{left:7px;bottom:7px;min-width:28px;height:22px;font-size:.56rem}
  /* Keep the feature image and its destination text on the exact centre line. */
  .travel-ring-feature{left:50%;top:45.5%;width:clamp(360px,31vw,420px);text-align:center;transform:translate(-50%,-50%)}
  .travel-ring-feature-image{border-radius:28px;box-shadow:0 24px 60px rgba(20,35,30,.2)}
  /* Keep the search close to the destination title, in the clear central area. */
  .travel-ring-controls{left:50%;top:44.5%;width:calc(100% + 110px);transform:translate(-50%,-50%)}
  .travel-ring-controls button{width:52px;height:52px;background:rgba(24,54,46,.88);border-color:rgba(255,255,255,.72);color:#fff;box-shadow:0 12px 28px rgba(20,35,30,.18),inset 0 1px 0 rgba(255,255,255,.3)}
  /* Every orbit photo remains fully visible and its button receives the click. */
  .travel-ring-thumb{opacity:1!important;filter:none!important;pointer-events:auto!important}
  .travel-ring-thumb img,.travel-ring-thumb span{pointer-events:none}
  .rental-preview.section{box-sizing:border-box!important;width:100%!important;max-width:100%!important}
}

/* Non-mobile only: destinations themselves are the navigation; no separate arrow controls. */
@media(min-width:601px){
  .travel-ring-controls{display:none!important}
}

/* Compact desktop / 13-inch laptop: keep the complete gallery below the header. */
@media(min-width:851px) and (max-height:900px){
  body>main>.route-gallery-top{padding-bottom:.5rem!important}
  .travel-ring-stage,.route-gallery-top .travel-ring-stage{width:min(1360px,100%)!important;height:min(600px,calc(100vh - 235px))!important;min-height:min(600px,calc(100vh - 235px))!important;margin:.35rem auto 0!important}
  .travel-ring-thumb{width:clamp(64px,5.8vw,82px);border-radius:14px}
  .travel-ring-thumb span{left:5px;bottom:5px;min-width:23px;height:19px;padding:0 4px;font-size:.48rem}
  .travel-ring-feature{top:42%;width:clamp(220px,21vw,270px)}
  .travel-ring-feature-image{border-radius:20px}
}

@media(max-width:850px){
  .home-page .site-header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding:7px 12px 10px!important}
  .home-page .homepage-brand{display:flex!important;width:100%;min-width:0;justify-content:flex-start;padding:0 0 7px!important;gap:.55rem!important}
  .home-page .homepage-brand-name{display:block!important;min-width:0;max-width:none;color:var(--ink);font:800 clamp(.68rem,2.8vw,.82rem)/1.16 var(--sans);letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
  .home-page .menu-button{display:none!important}
  .home-page .site-nav,.home-page .site-nav.is-open{position:static!important;display:flex!important;width:100%!important;margin:0!important;padding:7px 0 0!important;justify-content:center!important;align-items:center!important;flex-direction:row!important;gap:7px!important;border-top:1px solid rgba(24,54,46,.15);background:transparent!important;box-shadow:none!important}
}

/* Final responsive composition.  The stage owns the full available width on
   desktop, while its height, cards and feature scale from the viewport.  This
   keeps the same wide centred ring as the reference on large screens and a
   contained version on laptops/tablets without clipping any card. */
@media (min-width:601px){
  body.home-page main>.route-gallery-top{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-inline:clamp(12px,2.8vw,72px)!important;
    box-sizing:border-box!important;
  }
  .route-gallery-top .route-gallery-copy h1{
    max-width:100%!important;
    font-size:clamp(2rem,4.8vw,5.1rem)!important;
    line-height:.94!important;
    white-space:normal!important;
    text-wrap:balance;
  }
  .route-gallery-top .travel-ring-stage{
    /* Keep the desktop orbit compact and centred; mobile keeps its own full
       width composition below. */
    width:min(90%,1800px)!important;
    max-width:1800px!important;
    height:clamp(560px,min(72vw,calc(100vh - 130px)),1060px)!important;
    min-height:0!important;
    max-height:none!important;
    margin:clamp(.3rem,1vw,1rem) auto 0!important;
  }
  .travel-ring-thumb{
    width:clamp(66px,7.5vw,160px)!important;
    border-radius:clamp(12px,1.1vw,22px)!important;
  }
  .travel-ring-thumb span{
    left:clamp(5px,.55vw,10px)!important;
    bottom:clamp(5px,.55vw,10px)!important;
    min-width:clamp(22px,1.55vw,34px)!important;
    height:clamp(18px,1.2vw,27px)!important;
    font-size:clamp(.44rem,.48vw,.72rem)!important;
  }
  .travel-ring-feature{
    top:42%!important;
    width:clamp(250px,30vw,680px)!important;
  }
  .travel-ring-feature-image{border-radius:clamp(18px,1.6vw,32px)!important}
}

@media (max-width:600px){
  .route-gallery-top .route-gallery-copy h1{white-space:normal!important;text-wrap:balance!important}
  .route-gallery-top .travel-ring-stage{
    height:clamp(360px,104vw,520px)!important;
    min-height:0!important;
    max-height:none!important;
  }
  .travel-ring-thumb{width:clamp(38px,12vw,56px)!important;border-radius:clamp(9px,2.4vw,14px)!important}
  .travel-ring-feature{top:46%!important;width:clamp(165px,54vw,260px)!important}
  .travel-ring-feature-image{border-radius:clamp(13px,3.4vw,20px)!important}
}

/* Keep one concise destination line above the centre image.  JavaScript
   refines the vertical position from the rendered dimensions. */
.travel-ring-feature{
  top:50%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
@media (min-width:601px){
  /* Let the image grow on tall monitors, but reserve enough vertical room for
     the caption and the search control on short laptop displays. */
  .travel-ring-feature{width:clamp(230px,min(30vw,48vh),680px)!important}
}

/* The destination copy, feature image and search control are one centred
   responsive unit. Keeping them in a wrapper prevents the controls drifting
   into the orbit as the viewport changes. */
.travel-ring-center-group{
  position:absolute;
  z-index:40;
  left:50%;
  top:50%;
  width:clamp(270px,min(38vw,58vh),700px);
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0;
  text-align:center;
  transform:translate(-50%,-50%);
  transform-origin:center center;
  pointer-events:none;
}
.travel-ring-feature{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  margin:0;
  transform:none!important;
  pointer-events:none;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.travel-ring-feature-copy{
  display:block;
  order:-1;
  width:100%;
  min-height:0;
  margin:0 0 clamp(.35rem,1vw,.8rem);
  color:var(--ink);
  text-align:center;
  pointer-events:none;
}
.travel-ring-feature-copy span{display:block;color:var(--coral);font-size:clamp(.5rem,.62vw,.82rem);font-weight:800;letter-spacing:.12em;line-height:1.15;text-transform:uppercase}
.travel-ring-feature-copy strong{display:block;margin:.12rem 0 .06rem;font:600 clamp(1.2rem,2.35vw,2.8rem)/1 var(--serif);letter-spacing:-.04em;white-space:normal;overflow:visible}
.travel-ring-feature-copy small{display:block;color:var(--soft);font-size:clamp(.58rem,.72vw,.92rem);font-weight:600;line-height:1.15}
.travel-ring-feature-image{pointer-events:auto}
.travel-ring-search{
  position:relative;
  left:auto;
  top:auto;
  width:min(72%,240px);
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  gap:4px;
  margin:24px auto 0;
  padding:5px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  background:rgba(255,250,241,.96);
  box-shadow:0 10px 24px rgba(20,35,30,.14);
  backdrop-filter:blur(8px);
  transform:none;
  pointer-events:auto;
}
.travel-ring-search input{min-width:0;width:100%;height:36px;padding:0 8px;border:0;outline:0;background:transparent;color:var(--ink);font:600 .72rem var(--sans)}
.travel-ring-search input::placeholder{color:rgba(24,54,46,.62)}
.travel-ring-search button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--ink);color:#fff;font:700 1.05rem/1 var(--sans);cursor:pointer}
.travel-ring-search-label{display:none}

.travel-ring-search:focus-within{border-color:rgba(230,109,77,.85);box-shadow:0 10px 24px rgba(20,35,30,.18),0 0 0 3px rgba(230,109,77,.2)}
.travel-ring-search [data-ring-search-status]{position:absolute;left:50%;top:calc(100% + 6px);width:max-content;max-width:100%;padding:.2rem .45rem;border-radius:999px;background:rgba(255,250,241,.94);color:var(--ink);font-size:.55rem;transform:translateX(-50%)}
.travel-ring-search [data-ring-search-status]:empty{display:none}
@media(max-width:600px){
  .travel-ring-center-group{width:clamp(165px,54vw,260px)}
  .travel-ring-feature-copy{margin-bottom:.28rem}
  .travel-ring-feature-copy span{font-size:.43rem;line-height:1.1}
  .travel-ring-feature-copy strong{font-size:clamp(.92rem,4.9vw,1.35rem);line-height:1}
  .travel-ring-feature-copy small{font-size:.55rem;line-height:1.1}
  .travel-ring-feature-image{aspect-ratio:1.5;border-radius:clamp(13px,3.4vw,20px)}
  .travel-ring-search{width:132px;grid-template-columns:minmax(0,1fr) 25px;gap:2px;margin-top:12px;padding:3px}
  .travel-ring-search input{height:25px;padding:0 3px;font-size:8px}
  .travel-ring-search button{width:25px;height:25px;border-radius:50%;font-size:.78rem;letter-spacing:normal}
  .travel-ring-search-icon{display:inline}
  .travel-ring-search-label{display:none}
}

/* Desktop presentation: keep the destination copy and search control on
   opposite sides of the centre photo. The wrapper remains one measured unit,
   so the existing JavaScript safety fit keeps it clear of the orbit. */
@media(min-width:851px){
  .travel-ring-center-group{
    width:min(94%,1200px);
    display:grid;
    grid-template-columns:minmax(135px,1fr) minmax(300px,min(44vw,600px)) minmax(135px,1fr);
    grid-template-rows:auto;
    column-gap:clamp(24px,3vw,54px);
    align-items:center;
  }
  .travel-ring-feature{display:contents!important}
  .travel-ring-feature-copy{
    grid-column:1;
    grid-row:1;
    align-self:center;
    width:auto;
    margin:0;
    padding:0;
    text-align:right;
  }
  .travel-ring-feature-copy span{font-size:clamp(.52rem,.62vw,.82rem)}
  .travel-ring-feature-copy strong{font-size:clamp(1.35rem,2.5vw,2.8rem)}
  .travel-ring-feature-copy small{font-size:clamp(.62rem,.72vw,.92rem)}
  .travel-ring-feature-image{
    grid-column:2;
    grid-row:1;
    align-self:center;
    width:100%;
  }
  .travel-ring-search{
    grid-column:3;
    grid-row:1;
    align-self:center;
    justify-self:start;
    width:min(100%,240px);
    margin:0;
  }
}

/* Compact editorial handoff, applied consistently on mobile and desktop. */
.route-gallery-top .route-gallery-copy > .eyebrow,
.travel-ring-feature-copy > span{display:none!important}
.travel-ring-feature-copy{margin-bottom:0!important}
.route-gallery-top .route-gallery-stage{margin-top:0!important}
#journeys{padding-top:0!important}
#journeys .section-heading{margin-top:0!important;margin-bottom:1rem!important}
#journeys .section-heading h2{margin-top:0!important}

/* Desktop-only Tripura wordmark: keep it beside the route heading, with a
   pointer-follow wave that never enters the interactive photo ring. */
@media (min-width:851px){
  .route-gallery-top .route-gallery-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-width:0;
    gap:clamp(1.25rem,3vw,4rem);
  }
  .route-gallery-top .route-gallery-title-row h1{
    flex:1 1 auto;
    min-width:0;
    max-width:none!important;
    margin:0!important;
    font-size:clamp(2rem,4.25vw,4.85rem)!important;
    line-height:.94!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word{
    flex:0 1 clamp(230px,27vw,430px);
    width:clamp(230px,27vw,430px);
    min-width:230px;
    display:flex!important;
    align-items:flex-end;
    justify-content:flex-end;
    overflow:visible;
    perspective:900px;
    transform-style:preserve-3d;
    transform:perspective(900px) rotateX(var(--tripura-tilt-x,0deg)) rotateY(var(--tripura-tilt-y,0deg));
    transform-origin:center center;
    transition:transform .32s cubic-bezier(.2,.8,.2,1);
    cursor:default;
    pointer-events:auto;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word .route-gallery-word-letter{
    display:inline-block;
    flex:0 0 auto;
    font-family:"Barlow Condensed","Arial Black",sans-serif;
    font-size:clamp(3.2rem,5.25vw,6.6rem)!important;
    font-weight:900;
    line-height:.68;
    letter-spacing:.01em;
    color:#f7f2e7!important;
    -webkit-text-fill-color:#f7f2e7!important;
    text-shadow:1px 1px 0 #f4eddf,2px 2px 0 #eee4d4,3px 3px 0 #e7dac7,4px 4px 0 #dfcfba,5px 5px 0 #d8c5ab,6px 6px 0 #cfb99b,7px 7px 0 #c4aa89,8px 8px 0 #bda182,10px 11px 16px rgba(24,54,46,.22)!important;
    will-change:transform;
    transform:translate3d(0,var(--tripura-wave,0px),var(--tripura-depth,0px)) rotateX(var(--tripura-letter-rotate-x,0deg)) rotateY(var(--tripura-letter-rotate-y,0deg));
    transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s ease;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word .route-gallery-word-letter:nth-child(3){
    color:var(--coral)!important;
    -webkit-text-fill-color:var(--coral)!important;
    text-shadow:1px 1px 0 #d95842,2px 2px 0 #ce503a,3px 3px 0 #c34834,4px 4px 0 #b74230,5px 5px 0 #aa3c2c,6px 6px 0 #9c3527,7px 7px 0 #8f3023,8px 8px 0 #812a1f,10px 11px 16px rgba(24,54,46,.25)!important;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word:hover .route-gallery-word-letter{filter:brightness(1.045)}
}
@media (max-width:850px){
  .route-gallery-top .tripura-wordmark{display:none!important}
}

/* Keep the route heading and the Tripura 3D wordmark as one aligned,
   single-line title on every viewport.  The shared size variable keeps both
   treatments visually matched while the compact mobile value leaves enough
   room for the wordmark beside the route text. */
.route-gallery-top .route-gallery-title-row{
  --route-title-size:clamp(2.35rem,4.25vw,4.85rem);
  align-items:center!important;
}
.route-gallery-top .route-gallery-title-row h1{
  font-size:var(--route-title-size)!important;
  line-height:.94!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
  letter-spacing:-.055em!important;
}
.route-gallery-top .tripura-wordmark.route-gallery-word .route-gallery-word-letter{
  font-size:var(--route-title-size)!important;
  line-height:.8!important;
}

@media (max-width:850px){
  .route-gallery-top .route-gallery-title-row{
    --route-title-size:clamp(.82rem,4.4vw,1.12rem);
    gap:.35rem!important;
    align-items:center!important;
  }
  .route-gallery-top .route-gallery-title-row h1{
    flex:1 1 auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    overflow:visible!important;
    letter-spacing:-.05em!important;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word{
    flex:0 0 clamp(96px,31vw,140px)!important;
    width:clamp(96px,31vw,140px)!important;
    min-width:96px!important;
    max-width:140px!important;
    min-height:clamp(22px,7vw,38px)!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .route-gallery-top .tripura-wordmark.route-gallery-word{transition:none!important}
  .route-gallery-top .tripura-wordmark.route-gallery-word .route-gallery-word-letter{transition:none!important;transform:none!important}
}

/* Keep the desktop wordmark open and let the letter nearest the mouse rise
   into a smooth ripple. Mobile keeps its existing compact composition. */
@media (min-width:851px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .route-gallery-top .tripura-wordmark.route-gallery-word{
    letter-spacing:.01em;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word .route-gallery-word-letter{
    transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease;
  }
}

/* Compact mobile Tripura wordmark.  Keep it visible at the right of the
   route heading with normal letter spacing, while reserving enough width for
   the route text on narrow phones.  Pointer-follow motion stays desktop-only
   so the mobile header remains calm and touch-friendly. */
@media (max-width:850px){
  .route-gallery-top .route-gallery-title-row{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:.45rem!important;
    width:100%!important;
    min-width:0!important;
  }
  .route-gallery-top .route-gallery-title-row h1{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 114px)!important;
    margin:0!important;
    font-size:clamp(1.12rem,5.4vw,1.52rem)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    text-wrap:balance!important;
    overflow:visible!important;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word{
    flex:0 0 clamp(108px,33vw,155px)!important;
    width:clamp(108px,33vw,155px)!important;
    min-width:108px!important;
    max-width:155px!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    align-self:flex-start!important;
    min-height:clamp(28px,8vw,54px)!important;
    overflow:visible!important;
    perspective:none!important;
    transform:none!important;
    transition:none!important;
    pointer-events:none!important;
    cursor:default!important;
  }
  .route-gallery-top .tripura-wordmark.route-gallery-word .route-gallery-word-letter{
    display:inline-block!important;
    flex:0 0 auto!important;
    font-size:clamp(1.45rem,5.8vw,2.6rem)!important;
    line-height:.72!important;
    letter-spacing:.01em!important;
    white-space:nowrap!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
}
