/* ===================== EXPERIENCE GOA HUB ===================== */

/* Hero */
.ghero{position:relative;overflow:hidden;background:var(--ink);color:#fff;min-height:min(68vh,580px);display:grid;align-items:center}
.ghero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
@media(prefers-reduced-motion:no-preference){.ghero__bg{animation:gheroZoom 1.8s cubic-bezier(.22,.7,.14,1) both}}
@keyframes gheroZoom{from{transform:scale(1.14)}to{transform:scale(1)}}
.ghero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(96deg,rgba(16,12,10,.9) 0%,rgba(16,12,10,.66) 44%,rgba(16,12,10,.32) 100%)}
.ghero__glow{position:absolute;inset:0;z-index:1;background:radial-gradient(46% 66% at 82% 24%,rgba(245,159,20,.24),transparent 66%);pointer-events:none}
.ghero__in{position:relative;z-index:2;padding-block:var(--s-9)}
.ghero .eyebrow{color:var(--gold-300)}
.ghero h1{color:#fff;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,4.8vw,3.9rem);line-height:1.08;letter-spacing:-.01em;margin-top:var(--s-4);max-width:30ch}
.ghero__sub{color:rgba(255,255,255,.86);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65;margin-top:var(--s-5);max-width:58ch}
.ghero__cta{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-top:var(--s-7)}

/* Opening narrative */
.gnarr{padding-block:var(--sec-y)}
.gnarr__in{max-width:940px;margin:0 auto;text-align:center}
.gnarr p{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2.1vw,1.95rem);line-height:1.42;color:var(--ink);letter-spacing:-.01em;margin:0}
.gnarr p .hl{color:var(--accent-ink)}

/* Why Goa */
.gwhy{padding-block:var(--sec-y);background:var(--surface-2)}
.gwhy__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:var(--s-8);align-items:center}
.gwhy__media{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--e-2)}
.gwhy__media img{width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:no-preference){
  .gwhy__media img{transform:scale(1.18);transition:transform 1.5s cubic-bezier(.22,.7,.14,1)}
  .gwhy__media.in img{transform:scale(1)}
}
.gwhy__text h2{font-size:clamp(1.7rem,3vw,2.6rem);margin-top:var(--s-3);max-width:16ch}
.gwhy__body{color:var(--text-muted);font-size:1.06rem;line-height:1.72;margin-top:var(--s-4);max-width:54ch}

/* ===== Nearby attractions — auto playing hero slideshow ===== */
.gattr{padding-block:var(--sec-y)}
.gattr__head{text-align:center;max-width:58ch;margin:0 auto var(--s-7)}
.gattr__head .accent-rule{margin-inline:auto;transform-origin:center}
.gattr__head h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:var(--s-3)}
.ghsc{position:relative;overflow:hidden;min-height:min(60vh,480px);display:flex;align-items:center;isolation:isolate}
.ghsc__bgs{position:absolute;inset:0;z-index:0}
.ghsc__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}
.ghsc__bg.is-active{opacity:1;animation:ghKen 6.5s ease both}
@keyframes ghKen{from{transform:scale(1.09)}to{transform:scale(1)}}
.ghsc__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,13,11,.9) 0%,rgba(9,13,11,.64) 40%,rgba(9,13,11,.12) 72%,rgba(9,13,11,.42) 100%)}
.ghsc__dots{position:absolute;left:clamp(20px,3vw,42px);top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:11px}
.ghsc__dot{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.42);cursor:pointer;transition:background .3s,height .3s}
.ghsc__dot.is-active{background:#fff;height:26px}
.ghsc__in{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:var(--s-7);align-items:center;padding:clamp(40px,4.5vw,64px) clamp(40px,5vw,80px) clamp(40px,4.5vw,64px) clamp(64px,6vw,110px)}
.ghsc__text{color:#fff;max-width:34rem}
.ghsc__text .eyebrow{color:var(--gold-300)}
.ghsc__titles{overflow:hidden;margin-top:var(--s-3);padding-bottom:.08em}
.ghsc__title{color:#fff;font-size:clamp(1.6rem,5vw,2rem)!important;line-height:1.1;letter-spacing:-.01em;margin:0}
.ghsc__title--in{animation:ghRise .62s cubic-bezier(.2,.75,.2,1)}
@keyframes ghRise{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.ghsc__cat{font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-300);margin-top:var(--s-4)}
.ghsc__desc{color:rgba(255,255,255,.9);font-size:1.04rem;line-height:1.6;margin-top:var(--s-3);max-width:44ch;min-height:4.8em}
.ghsc__fade--in{animation:ghFade .6s ease}
@keyframes ghFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ghsc__cta{margin-top:var(--s-5)}
/* preview cards */
.ghsc__cards{position:relative;overflow:hidden;align-self:center;-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);mask-image:linear-gradient(90deg,#000 84%,transparent)}
.ghsc__track{display:flex;gap:var(--s-4);transition:transform .6s cubic-bezier(.2,.72,.2,1);padding:var(--s-4) 0}
.ghcard{flex:0 0 auto;width:clamp(188px,18vw,240px);aspect-ratio:3/4;border-radius:18px;overflow:hidden;position:relative;border:0;padding:0;cursor:pointer;background:none;box-shadow:0 18px 34px -18px rgba(0,0,0,.65);opacity:.55;transform:scale(.9);transition:opacity .55s,transform .55s;isolation:isolate}
.ghcard.is-active{opacity:1;transform:scale(1)}
.ghcard.is-active::before{content:"";position:absolute;inset:0;z-index:3;border-radius:18px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.92)}
.ghcard__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s ease}
.ghcard:hover .ghcard__img{transform:scale(1.06)}
.ghcard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.68),transparent 52%)}
.ghcard__bm{position:absolute;top:9px;right:9px;z-index:2;width:29px;height:29px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.ghcard__bm svg{width:14px;height:14px}
.ghcard__cap{position:absolute;left:11px;right:11px;bottom:11px;z-index:2;display:flex;flex-direction:column;gap:2px;text-align:left}
.ghcard__t{color:#fff;font-family:var(--sans);font-weight:600;font-size:.82rem;line-height:1.16}
.ghcard__stars{color:var(--gold-300);font-size:.72rem;letter-spacing:1.5px}

/* Bleisure */
.gbleisure{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-block:var(--sec-y)}
.gbleisure__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.3}
.gbleisure__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,12,10,.7),rgba(16,12,10,.9))}
.gbleisure__in{position:relative;z-index:2;max-width:780px;margin-inline:auto;text-align:center}
.gbleisure__in .accent-rule{margin-inline:auto;transform-origin:center}
.gbleisure h2,.gbleisure p{margin-left:auto;margin-right:auto}
.gbleisure .eyebrow{color:var(--gold-300)}
.gbleisure h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.9rem);margin-top:var(--s-3);max-width:22ch}
.gbleisure p{color:rgba(255,255,255,.85);font-size:1.08rem;line-height:1.7;margin-top:var(--s-4);max-width:56ch}
.gbleisure__cta{margin-top:var(--s-6)}

/* Responsive */
@media(max-width:960px){
  .gwhy__grid{grid-template-columns:1fr;gap:var(--s-6)}
  .ghsc__in{grid-template-columns:1fr;gap:var(--s-6)}
  .ghsc__cards{-webkit-mask-image:none;mask-image:none}
}
@media(max-width:600px){
  .ghero{min-height:auto;padding-block:var(--s-7)}
  .ghsc{min-height:0}
  .ghsc__in{padding:var(--s-7) var(--s-5) var(--s-7) clamp(30px,9vw,46px)}
  .ghsc__desc{min-height:0;max-width:none}
  .ghcard{width:134px}
}
@media(prefers-reduced-motion:reduce){
  .ghsc__bg{transition:none}
  .ghsc__bg.is-active{animation:none}
  .ghsc__title--in,.ghsc__fade--in{animation:none}
  .ghsc__track{transition:none}
}

/* Activities to do */
.gact{padding-block:var(--sec-y);background:var(--surface-2)}
.gact__head{text-align:center;max-width:58ch;margin:0 auto var(--s-8)}
.gact__head h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:var(--s-3)}
.gact__head p{color:var(--text-muted);margin-top:var(--s-3);line-height:1.6}
.gact__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}
.gact__card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--e-1);transition:transform .2s ease,box-shadow .3s ease}
.gact__card:hover{transform:translateY(-4px);box-shadow:var(--e-2)}
.gact__ic{width:50px;height:50px;border-radius:14px;background:var(--p-50);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-4)}
.gact__ic svg{width:24px;height:24px}
.gact__card h3{font-size:1.2rem}
.gact__card p{color:var(--text-muted);line-height:1.6;font-size:.96rem;margin-top:var(--s-2)}
@media(max-width:960px){.gact__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gact__grid{grid-template-columns:1fr;max-width:400px;margin-inline:auto}}


/* Goa hero: centred text */
.ghero__in{text-align:center}
.ghero h1,.ghero__sub{margin-left:auto;margin-right:auto}


/* Stay, reach & experience — section header */
.gdest__head{text-align:center;max-width:58ch;margin:0 auto var(--s-8)}
.gdest__head .accent-rule{margin-inline:auto;transform-origin:center}
.gdest__head h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:var(--s-3)}

/* ===== Experience Goa — expanding scroll gallery ===== */
.gexp-sec{padding-block:var(--sec-y);background:var(--surface-2)}
.gexp__head{text-align:center;margin-bottom:var(--s-7)}
.gexp__head .accent-rule{margin-inline:auto;transform-origin:center}
.gexp__head h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-top:var(--s-3)}
.gexp__sub{color:var(--text-muted);font-size:1.05rem;line-height:1.6;margin:var(--s-3) auto 0;max-width:60ch}
.gexp{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:8px var(--gutter) 26px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab}
.gexp::-webkit-scrollbar{display:none}
.gexp.is-drag{cursor:grabbing;scroll-snap-type:none}
.gexp__card{position:relative;flex:0 0 clamp(200px,21vw,272px);height:clamp(380px,44vw,460px);border-radius:22px;overflow:hidden;scroll-snap-align:start;isolation:isolate;transition:flex-basis .62s cubic-bezier(.22,.72,.2,1),opacity .5s ease,filter .5s ease}
.gexp__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.72,.2,1)}
.gexp__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,10,12,.82) 0%,rgba(8,10,12,.42) 34%,rgba(8,10,12,0) 64%)}
.gexp__body{position:absolute;left:0;right:0;bottom:0;padding:clamp(18px,2vw,26px);color:#fff;transition:transform .6s cubic-bezier(.22,.72,.2,1)}
.gexp__title{font-family:var(--head)!important;font-weight:600;font-size:clamp(1.15rem,1.5vw,1.45rem);line-height:1.16;color:#fff;margin:0;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.gexp__desc{color:rgba(255,255,255,.9);font-size:.92rem;line-height:1.5;margin:0;max-width:32ch;opacity:0;max-height:0;transform:translateY(6px);overflow:hidden;transition:opacity .5s ease,max-height .6s cubic-bezier(.22,.72,.2,1),transform .6s ease,margin .6s ease}
.gexp__more{display:inline-flex;align-items:center;gap:6px;margin:0;font-family:var(--sans);font-weight:600;font-size:.82rem;letter-spacing:.02em;color:var(--gold-300);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .6s ease,margin .6s ease}
.gexp__more svg{width:15px;height:15px}
@media(hover:hover){
  .gexp__card:hover{flex-basis:clamp(360px,40vw,520px)}
  .gexp__card:hover .gexp__img{transform:scale(1.06)}
  .gexp__card:hover .gexp__body{transform:translateY(-4px)}
  .gexp__card:hover .gexp__desc{opacity:1;max-height:8em;transform:none;margin-top:10px}
  .gexp__card:hover .gexp__more{opacity:1;transform:none;margin-top:12px}
  .gexp:hover .gexp__card:not(:hover){opacity:.72}
  .gexp:hover .gexp__card:not(:hover) .gexp__img{filter:saturate(.85) brightness(.82)}
}
@media(max-width:640px){
  .gexp__card{flex-basis:80vw;height:104vw}
  .gexp__desc{opacity:1;max-height:8em;transform:none;margin-top:8px}
  .gexp__more{opacity:1;transform:none;margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
  .gexp__card,.gexp__img,.gexp__body,.gexp__desc,.gexp__more{transition:none}
  .gexp__card:hover .gexp__img{transform:none}
}
