@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--lux-navy:#06154f;--lux-blue:#0a1f72;--lux-gold:#c79a39;--lux-ivory:#fbf8f0;--lux-shadow:0 24px 70px rgba(6,21,79,.11);--lux-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:96px}body{overflow-x:hidden;background:var(--lux-ivory);font-synthesis:none}::selection{background:var(--lux-gold);color:#fff}img{max-width:100%}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lux-gold);outline-offset:4px}
.site-header{height:96px;padding-inline:clamp(24px,4.5vw,76px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background .35s,box-shadow .35s,height .35s}.site-header.is-scrolled{background:rgba(255,253,248,.94)!important;color:var(--lux-blue)!important;box-shadow:0 12px 40px rgba(6,21,79,.09)}.site-header.is-scrolled .header-cta{color:var(--lux-blue)!important}.site-header.is-scrolled .brand-logo{filter:none}.brand-logo{transition:width .35s var(--lux-ease)}.main-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.main-nav a:after{background:var(--lux-gold);height:2px}.header-cta{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;border-bottom-color:var(--lux-gold);transition:color .3s,border-color .3s}
.hero,.page-hero,.destination-hero,.catalog-hero,.about-hero{isolation:isolate}.hero:before,.page-hero:after,.destination-hero:after,.catalog-hero:after,.about-hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(110deg,rgba(255,255,255,.07),transparent 36%)}.hero>*,.page-hero>*,.destination-hero>*,.catalog-hero>*,.about-hero>*{z-index:1}.hero h1,.page-hero h1,.destination-hero h1,.catalog-hero h1,.about-hero h1{text-wrap:balance;text-shadow:0 8px 34px rgba(0,0,0,.16)}.hero-intro,.page-hero p,.destination-hero p,.catalog-hero p{font-weight:400}.crumb,.section-kicker,.eyebrow{font-weight:600}.section-kicker{display:flex;align-items:center;gap:14px}.section-kicker:before{content:"";width:34px;height:1px;background:currentColor;flex:0 0 auto}
.button,.slide-submit{position:relative;overflow:hidden;border-radius:1px;box-shadow:0 10px 28px rgba(6,21,79,.12);transition:transform .35s var(--lux-ease),box-shadow .35s,background .35s}.button:hover,.slide-submit:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(6,21,79,.2)}.button:active,.slide-submit:active{transform:translateY(-1px)}.under-link,.image-card a,.catalog-card-body a{transition:color .25s,border-color .25s}.under-link:hover,.image-card a:hover,.catalog-card-body a:hover{color:var(--lux-gold);border-color:var(--lux-gold)}
.image-card,.tour-card,.catalog-card{border:1px solid rgba(7,24,91,.08);box-shadow:0 8px 30px rgba(7,24,91,.055);transition:transform .55s var(--lux-ease),box-shadow .55s var(--lux-ease),border-color .35s}.image-card:hover,.tour-card:hover,.catalog-card:hover{transform:translateY(-9px);box-shadow:var(--lux-shadow);border-color:rgba(199,154,57,.32)}.image-card img,.tour-visual img,.catalog-card-image img{filter:saturate(.92) contrast(1.02);transition:transform .85s var(--lux-ease),filter .5s}.image-card:hover img,.tour-card:hover .tour-visual img,.catalog-card:hover img{transform:scale(1.045);filter:saturate(1.05) contrast(1.02)}.image-card-body,.tour-copy,.catalog-card-body{position:relative}.image-card-body:before,.tour-copy:before,.catalog-card-body:before{content:"";position:absolute;left:26px;top:0;width:44px;height:2px;background:var(--lux-gold)}
.destination-card,.region-card,.experience-card,.photo-tile{transform:translateZ(0)}.destination-card:before,.region-card img,.experience-card img,.photo-tile img{filter:saturate(.9);transition:transform .9s var(--lux-ease),filter .6s}.destination-card:hover:before,.region-card:hover img,.experience-card:hover img,.photo-tile:hover img{transform:scale(1.055);filter:saturate(1.06)}.destination-card h3,.region-card h3,.experience-card h2{transition:transform .45s var(--lux-ease)}.destination-card:hover h3,.region-card:hover h3,.experience-card:hover h2{transform:translateY(-4px)}
.story-split,.page-intro,.about-opening{position:relative}.story-split:before,.page-intro:before,.about-opening:before{content:"";position:absolute;top:0;left:8vw;right:8vw;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.signature-image,.care-image{overflow:hidden}.signature-image img,.care-image img{transition:transform 1.2s var(--lux-ease)}.signature:hover .signature-image img,.care-section:hover .care-image img{transform:scale(1.025)}
.contact-form{border:1px solid rgba(7,24,91,.1);box-shadow:var(--lux-shadow);position:relative}.contact-form:before{content:"";position:absolute;inset:14px;border:1px solid rgba(199,154,57,.24);pointer-events:none}.contact-form input,.contact-form select,.contact-form textarea,.slide-form input,.slide-form select,.slide-form textarea{transition:border-color .25s,background .25s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.slide-form input:focus,.slide-form select:focus,.slide-form textarea:focus{border-color:var(--lux-gold);background:rgba(255,255,255,.25)}
footer{position:relative;border-top:1px solid rgba(213,180,88,.24)}footer:before{content:"Royal India Holidays";position:absolute;right:5vw;top:30px;color:rgba(255,255,255,.035);font-family:Italiana,serif;font-size:clamp(46px,7vw,110px);pointer-events:none;white-space:nowrap}footer>div,footer>.copyright{position:relative;z-index:1}footer a{transition:color .25s,transform .25s}footer a:hover{color:#fff;transform:translateX(3px)}
.js-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--lux-ease),transform .8s var(--lux-ease)}.js-reveal.is-visible{opacity:1;transform:none}.js-reveal:nth-child(2){transition-delay:.06s}.js-reveal:nth-child(3){transition-delay:.12s}.js-reveal:nth-child(4){transition-delay:.18s}
@media(max-width:900px){.site-header{height:82px}.main-nav.open{box-shadow:0 18px 35px rgba(6,21,79,.13)}.image-card:hover,.tour-card:hover,.catalog-card:hover{transform:translateY(-5px)}footer:before{top:45px}}
@media(max-width:600px){.site-header{padding-inline:18px}.brand-logo{width:165px!important}.section-kicker{gap:10px}.section-kicker:before{width:22px}.contact-form{padding:38px 26px}.contact-form:before{inset:9px}.image-card-body:before,.tour-copy:before,.catalog-card-body:before{left:22px}footer:before{display:none}.js-reveal{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Keep compact labels legible: increase the site's small UI type by 2px. */
.main-nav a{font-size:13px}.header-cta{font-size:12px}
:is(.eyebrow,.section-kicker,.crumb,.hero-meta,.scroll-cue,.number,.tour-index,.tag,.footer-label,.copyright,.destination-stats,.about-hero-meta,.region-card span,.experience-card span,.care-image-note span,.care-list>article>span,.numbers-band span,.plan-form label span){font-size:12px}
:is(.button,.slide-submit,.text-link,.filters button){font-size:12px}
:is(.destination-card p,.tour-copy p,.expanded-grid span,.belief-grid span,.about-quote>p){font-size:12px}
:is(.tour-copy span,.benefit p,.expanded-grid p,.region-card p,.experience-card p,.care-list p,footer a){font-size:14px}
/* Mobile usability pass */
@media(max-width:900px){
  .intro-grid,.journey-heading{grid-template-columns:minmax(0,1fr);gap:36px}
  .intro-grid>div,.journey-heading>p{width:100%;max-width:640px}
}
@media(max-width:600px){
  html{scroll-padding-top:82px;-webkit-text-size-adjust:100%}
  body{min-width:0}
  main,section,article,div{min-width:0}
  p,h1,h2,h3,a{overflow-wrap:break-word}
  .hero,.page-hero,.destination-hero,.catalog-hero,.about-hero,.trip-hero{min-height:min(680px,100svh);padding-left:20px;padding-right:20px}
  .hero h1,.page-hero h1,.destination-hero h1,.catalog-hero h1,.about-hero h1,.trip-hero h1{font-size:clamp(44px,14vw,58px);line-height:.92;letter-spacing:-.035em}
  .intro h2,.journeys h2,.why h2,.plan h2,.page-intro h2,.listing-head h2,.contact-wrap h2,.story-split h2,.region-title h2,.closing-cta h2,.catalog-intro h2,.trip-overview h2,.day-plan-head h2,.belief-head h2,.care-copy h2,.about-cta h2{font-size:clamp(40px,12vw,50px);line-height:1}
  .intro-grid{gap:28px}.intro-grid h2{max-width:100%}.intro-grid .lead{max-width:32ch;font-size:clamp(23px,7.2vw,29px);line-height:1.42}.intro-grid>div>p:not(.lead){font-size:15px;line-height:1.75}
  .journey-heading{gap:24px}.journey-heading>p{max-width:38ch;margin:0;font-size:15px;line-height:1.75}
  .hero-intro,.page-hero p,.destination-hero p,.catalog-hero p,.trip-hero .hero-copy{font-size:15px;line-height:1.65}
  .section,.page-intro,.listing,.detail-layout,.contact-wrap,.story-split,.region-section,.experiences-grid,.trip-overview,.day-plan,.about-opening,.beliefs,.care-copy,.about-cta{padding-left:20px;padding-right:20px}
  .button,.slide-submit{width:100%;min-height:52px;padding-inline:20px;text-align:center}
  .hero-actions{width:100%}.hero-actions .text-link{min-height:44px;display:flex;align-items:center}
  .filters,.category-filter{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .filters::-webkit-scrollbar,.category-filter::-webkit-scrollbar{display:none}
  .filters button,.category-filter button{min-height:46px;scroll-snap-align:start}
  .catalog-card-image,.image-card img,.journal-grid-page .image-card img{height:clamp(240px,78vw,330px)}
  .catalog-card-body,.image-card-body,.tour-copy{padding:24px 20px}
  .catalog-card-body h2,.image-card h3,.tour-copy h3{font-size:clamp(29px,9vw,36px)}
  .trip-facts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
  .trip-day{grid-template-columns:1fr;gap:9px;padding:25px 0}
  .trip-day h3,.trip-day p{grid-column:1}.trip-day h3{font-size:27px}.trip-day p{font-size:15px;line-height:1.65}
  .trip-enquire,.catalog-cta,.closing-cta{margin-left:0;margin-right:0;padding-left:20px;padding-right:20px}
  .region-card,.experience-card{min-height:390px}.region-card div,.experience-card div{left:22px;right:22px;bottom:22px}
  .signature-image,.care-image,.why-art{min-height:420px}
  .contact-form{padding:36px 22px}
  .contact-form input,.contact-form select,.contact-form textarea,.plan-form input,.plan-form select{font-size:16px;min-height:48px}
  .contact-form textarea{min-height:120px}
  .plan-form{gap:0}.plan-form label{padding:14px 4px}
  footer{padding:55px 20px 28px;gap:28px}footer a{display:inline-flex;align-items:center;min-height:36px;font-size:14px}
  .article-wrap{padding:70px 20px}.article-wrap h2{font-size:34px;line-height:1.15}.article-lead{font-size:24px!important}
  .image-card:hover,.tour-card:hover,.catalog-card:hover{transform:none}
}
@media(max-width:380px){
  .site-header{padding-inline:14px}.brand-logo{width:145px!important}
  .global-menu-toggle{width:44px;height:44px}
  .hero h1,.page-hero h1,.destination-hero h1,.catalog-hero h1,.about-hero h1,.trip-hero h1{font-size:42px}
  .numbers-band{grid-template-columns:1fr}.numbers-band div{border-right:0;border-bottom:1px solid rgba(255,255,255,.3)}
  .itinerary-mega .mega-column{grid-template-columns:1fr}
}