/* Responsive layout and card-image layer for phones, tablets and wide displays. */
html{scroll-padding-top:86px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
img,video,svg{max-width:100%}
header.site{background:rgba(255,254,251,.94);border-bottom-color:var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#hero{min-height:100vh;min-height:max(840px,100vh);padding-top:178px;padding-bottom:104px;background:#F7F5EF;scroll-margin-top:76px}
@supports(height:100svh){#hero{min-height:max(840px,100svh)}}
#hero .wrap{width:100%;z-index:4}
.hero-diorama{position:absolute;z-index:2;top:52%;right:clamp(28px,calc(50vw - 624px),136px);width:min(36vw,500px);height:auto;transform:translateY(-44%);object-fit:contain;clip-path:none!important;mix-blend-mode:normal;opacity:1;pointer-events:none;filter:drop-shadow(0 25px 26px rgba(29,47,49,.14));animation:taj-float 6.5s ease-in-out infinite}
@keyframes taj-float{0%,100%{transform:translateY(-44%)}50%{transform:translateY(calc(-44% - 13px))}}
@media(prefers-reduced-motion:reduce){.hero-diorama{animation:none!important}}
#hero h1{max-width:12ch!important}
#hero .lead{max-width:48ch;text-shadow:none!important}
.hero-scroll{display:none!important}
.quickbar{width:min(740px,100%);max-width:740px;grid-template-columns:1.1fr .95fr .75fr 1.05fr auto;gap:3px;margin-top:34px;padding:11px}
.qb-cell{min-width:0;padding:8px 9px}
.qb-cell input{min-width:0;max-width:none!important;font-size:13px}
.qb-cell select{font-size:13px}
.quickbar .btn{white-space:nowrap;padding-left:15px;padding-right:15px}

/* Keep destination grids readable and prevent the original 12-column spans clipping on mobile. */
.grid-dest{align-items:stretch}
@media(max-width:1024px){
  #hero{min-height:820px;padding-top:156px;padding-bottom:82px}
  .hero-diorama{width:min(42vw,390px);right:14px;top:auto;bottom:76px;transform:none;opacity:.24;animation:taj-float-small 7s ease-in-out infinite}
  @keyframes taj-float-small{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  .quickbar{max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  #quickbar>div:last-of-type{grid-column:1/-1;padding:6px!important}
  #quickbar>div:last-of-type .btn{width:100%;justify-content:center}
  #hero .lead{max-width:42ch}
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
}
@media(max-width:700px){
  .grid-dest{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .dcard,.dcard.big,.dcard.wide{grid-column:span 1}
  .dcard::before,.dcard.big::before,.dcard.wide::before{padding-bottom:105%}
  .dcard.last-alone{grid-column:1/-1}
  .dcard.last-alone::before{padding-bottom:50%}
  .d-card-in{padding:16px 13px}
  .d-card-in b{font-size:1.1rem}
  .d-card-in span{font-size:11px;line-height:1.35}
  .d-card-in .fl{font-size:8px;letter-spacing:.08em}
  .grid-exp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-hero .wrap{min-width:0}
  .article-body,.page-content{overflow-wrap:anywhere}
}
@media(max-width:560px){
  header.site{padding:10px 0}
  #hero{min-height:0;padding:120px 0 38px}
  #hero h1{font-size:clamp(2.75rem,12.5vw,4.2rem)!important;max-width:11ch!important;margin-top:18px!important}
  #hero .lead{max-width:36ch;font-size:1rem}
  .hero-ctas{gap:9px;margin-top:24px}
  .hero-ctas .btn{padding:13px 19px}
  .hero-diorama{width:min(72vw,300px);right:-28px;bottom:55px;opacity:.19;transform:none;animation:taj-float-mobile 7s ease-in-out infinite}
  @keyframes taj-float-mobile{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  .quickbar{margin-top:27px;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:10px}
  .quickbar .qb-cell{padding:10px 8px;border-right:0;border-bottom:1px solid var(--line-soft)}
  .quickbar .qb-cell:nth-of-type(odd){border-right:1px solid var(--line-soft)}
  .quickbar .qb-cell label{font-size:8px;letter-spacing:.12em}
  .quickbar .qb-cell input,.quickbar .qb-cell select,.quickbar .qb-cell .date-picker-trigger{font-size:12px}
  #quickbar>div:last-of-type{grid-column:1/-1;padding-top:10px!important}
  #quickbar>div:last-of-type .btn{width:100%;justify-content:center}
  .hero-scroll{display:none!important}
  .grid-dest{grid-template-columns:1fr;gap:14px}
  .dcard,.dcard.big,.dcard.wide,.dcard.last-alone{grid-column:1}
  .dcard::before,.dcard.big::before,.dcard.wide::before,.dcard.last-alone::before{padding-bottom:60%}
  .d-card-in{padding:19px 18px}
  .d-card-in b,.dcard.big .d-card-in b{font-size:1.35rem}
  .d-card-in span{font-size:12px}
  .d-card-in .fl{font-size:9px}
  .grid-exp{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:28px}
  .bp-photo{aspect-ratio:16/8}
  .f-grid,.f-2,.admin-grid{grid-template-columns:1fr}
  .article-cover{border-radius:14px}
  .contact-map{min-height:210px}
  .footer-grid,.f-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){
  #hero{padding-top:110px}
  .hero-ctas .btn{padding:12px 15px;font-size:12px}
  .quickbar{grid-template-columns:1fr}
  .quickbar .qb-cell{border-right:0!important}
  #quickbar>div:last-of-type{grid-column:1}
  .d-card-in{padding:17px 15px}
  .footer-grid,.f-grid-4{grid-template-columns:1fr}
}

/* Navy visa band with ivory copy, gold markers and a bright passport-style card. */
.home-visa-section{background:radial-gradient(65% 120% at 86% 20%,rgba(178,138,43,.12),transparent 58%),linear-gradient(125deg,#080D18,#0B1422);border-top:1px solid var(--line);color:#F7F5EF}
.home-visa-copy .eyebrow{color:#D8BD78!important}
.home-visa-copy .eyebrow::before{background:#D8BD78!important}
.home-visa-copy .h-lg,.home-visa-copy .step h4{color:#F7F5EF!important}
.home-visa-copy .lead,.home-visa-copy .step p{color:rgba(247,245,239,.84)!important}
.home-visa-copy .steps{border-top-color:rgba(247,245,239,.27)}
.home-visa-copy .step{border-right-color:rgba(247,245,239,.17)}
.home-visa-copy .step::before{background:#D8BD78}
.home-visa-copy .step b{color:#E8C87A!important}
.home-visa-copy .btn-ghost{color:#F7F5EF!important;border-color:rgba(247,245,239,.42)!important}
.home-visa-copy .btn-ghost:hover{color:#172B30!important}
.home-visa-section .wrap{max-width:1280px}
.home-visa-copy .h-lg{font-size:clamp(2.5rem,5.2vw,4.5rem);line-height:1}
.home-visa-copy .steps{margin-top:28px}
.home-visa-copy .step h4{font-size:clamp(1rem,1.25vw,1.25rem)}
.home-visa-section .pass-card{border-color:var(--card-line);box-shadow:0 18px 42px rgba(0,0,0,.16)}
@media(max-width:560px){
  .home-visa-copy .h-lg{font-size:clamp(2.4rem,10vw,3.4rem)}
  .home-visa-copy .steps{margin-top:22px}
}

/* Photo belongs beside the package copy, not in the metadata column; this keeps cards balanced. */
.bp-l{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(0,2fr);align-content:start;gap:12px 18px}
.bp-l>.bp-photo{grid-column:1;grid-row:1 / span 4;width:100%;height:100%;min-height:128px;margin:0;aspect-ratio:auto;align-self:stretch}
.bp-l>.bp-head,.bp-l>h3,.bp-l>p,.bp-l>.bp-inc{grid-column:2;min-width:0}
.bp-l:not(.has-photo){grid-template-columns:minmax(0,1fr)}
.bp-l:not(.has-photo)>.bp-head,.bp-l:not(.has-photo)>h3,.bp-l:not(.has-photo)>p,.bp-l:not(.has-photo)>.bp-inc{grid-column:1}
.bp-l>.bp-head{margin-bottom:0}
.bp-l>.bp-inc{margin-top:0}
.bp-r{justify-content:space-between}
.bp-photo{width:100%;aspect-ratio:4/3;min-height:0;margin:0;overflow:hidden;border:1px solid var(--card-line);border-radius:12px;background:#E7E1D6}
.bp-photo img{display:block;width:100%;height:100%;object-fit:cover}

/* Distinct, well-cropped artwork inside experience cards. */
.exp .fw{aspect-ratio:16/10;background:#E7E1D6}
.exp .fw img{width:100%;height:100%;object-fit:cover}
@media(max-width:560px){
  .exp .fw{aspect-ratio:16/9}
  .bp-l{grid-template-columns:minmax(0,1fr);gap:12px}
  .bp-l>.bp-photo{grid-column:1;grid-row:auto;aspect-ratio:16/8;height:auto;min-height:0}
  .bp-l>.bp-head,.bp-l>h3,.bp-l>p,.bp-l>.bp-inc{grid-column:1}
}
