/* ===== Visit — video-backed accordion modules (Travel / Stay / Services / Packages) ===== */
.wrap{max-width:1100px;margin:0 auto;padding:0 22px 220px}
.intro{text-align:center;max-width:620px;margin:8px auto 6px}
.intro .lead{font-family:var(--disp);font-weight:500;text-transform:uppercase;font-size:clamp(18px,3vw,22px);color:var(--leaf);line-height:1.2}
.intro p{font-family:var(--body);font-size:15.5px;opacity:.9;line-height:1.6;margin-top:10px}

/* accordion modules — video-backed, one open at a time */
.acc{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:14px}
.acc .head{display:flex;align-items:center;gap:14px;padding:18px;cursor:pointer;background:var(--forest-2)}
.acc .head h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:26px;color:var(--cream);flex:1}
.acc .head .modicon{font-size:40px;line-height:1;color:var(--leaf);flex:0 0 auto;animation:modFloat 4.4s ease-in-out infinite}
.acc .head .modicon i{display:block}
.acc .head .modicon .swap{position:relative;display:inline-block;width:1em;height:1em}
.acc .head .modicon .swap i{position:absolute;inset:0}
.acc .head .modicon .swap i:nth-child(1){animation:iconSwap 7s ease-in-out infinite}
.acc .head .modicon .swap i:nth-child(2){animation:iconSwap 7s ease-in-out infinite;animation-delay:-3.5s}
@keyframes iconSwap{0%,40%{opacity:1;transform:scale(1)}50%,90%{opacity:0;transform:scale(.65)}100%{opacity:1;transform:scale(1)}}
@keyframes modFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(4deg)}}
.acc .panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.4,0,.2,1)}
.acc.open .panel{grid-template-rows:1fr}
.acc .pinner{position:relative;overflow:hidden;min-height:0}
.acc .bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--forest-2)}
.acc .bg iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);aspect-ratio:16/9;width:max(100%,729px);border:0;pointer-events:none}
.acc .bg .ov{position:absolute;inset:0;z-index:1;background:linear-gradient(125deg,rgba(243,146,0,.5) 0%,rgba(17,40,27,.88) 50%,rgba(0,28,15,.95) 100%);background-size:220% 220%;animation:accDrift 16s ease infinite}
@keyframes accDrift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.acc .panel .inner{position:relative;z-index:2;height:410px;overflow-y:auto;padding:16px 26px;text-shadow:0 1px 12px rgba(0,0,0,.6);scrollbar-width:none;-ms-overflow-style:none}
.acc .panel .inner::-webkit-scrollbar{display:none}
.sub{border-top:1px dashed rgba(40,152,81,.45)}
.sub:first-child{border-top:0}
.subhead{font-family:var(--data);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--leaf);font-size:15px;padding:12px 0;cursor:pointer;transition:color .2s ease}
.subhead:hover{color:#289851}
.subbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1)}
.sub.open .subbody{grid-template-rows:1fr}
.subbody>div{overflow:hidden;min-height:0}
.subbody p{font-family:var(--body);font-size:15px;opacity:.96;line-height:1.6;padding:6px 0 14px}
@media(max-width:780px){.acc .head .modicon{font-size:32px}.acc .head h3{font-size:22px}}
