/* --- HOMEPAGE STYLES --- */
.hero{position:relative;overflow:hidden}
.slides{position:relative;height:62vh;min-height:520px}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.slide.active{opacity:1}
.slide .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.15) contrast(1.05)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(11,11,19,.3), rgba(11,11,19,.7) 70%, rgba(11,11,19,.95))}
.hero-content{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:40px 20px;display:grid;gap:16px;align-content:end;height:100%}
.kicker{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.1);backdrop-filter: blur(6px);padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.herotitle{font-family:Montserrat, var(--font);font-weight:800;font-size:clamp(28px, 5vw, 64px);line-height:1.05;margin:6px 0;text-shadow:0 6px 30px rgba(0,0,0,.55)}
.herodesc{max-width:780px;color:#E5E7EB;font-weight:500}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.slider-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer}
.dot.active{background:var(--gold)}
.explore{display:grid;grid-template-columns: 1.1fr .9fr;gap:24px}
.mapwrap{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--soft-grad);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08)}
.map{aspect-ratio: 16/10; background:url('https://images.unsplash.com/photo-1508264165352-258a6c4d1735?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;filter:saturate(1.2)}
.maplabel{position:absolute;left:16px;top:16px}
.island-panel{display:flex;flex-direction:column;gap:12px}
.search{display:flex;gap:10px}
.search input{flex:1;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0f1020;color:var(--text)}
.chips{display:flex;flex-wrap:wrap;gap:10px;max-height:220px;overflow:auto;padding-right:4px}
.chip{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#0f1020;cursor:pointer}
.chip:hover{border-color:var(--gold);color:var(--gold)}
@media (max-width: 980px){.explore{grid-template-columns:1fr}}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{grid-column: span 4;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card.large{grid-column: span 6}
.card .thumb{aspect-ratio:16/9;background:#0f1020;position:relative}
.badge{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;background:rgba(11,11,19,.7);border:1px solid rgba(255,255,255,.18);font-size:12px}
.content{padding:14px 14px 16px}
.meta{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;margin-top:6px}
.meta i{opacity:.9}
@media (max-width: 1024px){.card{grid-column: span 6}.card.large{grid-column: span 12}}
@media (max-width: 640px){.card{grid-column: span 12}}
.carousel{position:relative}
.track{display:grid;grid-auto-flow:column;grid-auto-columns: min(85%, 320px);gap:14px;overflow:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.track > *{scroll-snap-align:start}
.caro-btn{position:absolute;top:42%;transform:translateY(-50%);background:rgba(0,0,0,.45);backdrop-filter: blur(4px);border:1px solid rgba(255,255,255,.22);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.caro-prev{left:-4px}
.caro-next{right:-4px}
.list{display:grid;gap:10px}
.row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.row img{width:56px;height:56px;border-radius:10px;object-fit:cover}
.row .title{font-weight:600}
.row .sub{font-size:12px;color:var(--muted)}
.cta-band{background:var(--gradient);border-radius:20px;padding:22px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;box-shadow:var(--shadow)}
.cta-band p{margin:0;color:#0b0b13;font-weight:700}
.cta-band .btn{background:#0b0b13;color:#fff;border:0}
@media (max-width: 820px){.cta-band{grid-template-columns:1fr}.cta-band .btn{justify-content:center}}