:root{--ink:#12263a;--teal:#0f8b8d;--gold:#f5a623;--rose:#e5446d;--mist:#f2f7f8;--white:#fff;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.65}
h1,h2,h3{font-family:'Yeseva One',Georgia,serif;font-weight:400;line-height:1.15}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1120px;margin:auto;padding:0 22px}
section{padding:84px 0}
.lead{max-width:60ch;opacity:.8}
/* nav */
header{position:fixed;inset:0 0 auto;z-index:50;transition:.3s}
header.solid{background:rgba(18,38,58,.96);backdrop-filter:blur(8px);box-shadow:0 4px 24px #0003}
nav{display:flex;align-items:center;justify-content:space-between;height:70px;color:#fff}
.logo{font-family:'Yeseva One',serif;font-size:1.5rem}.logo b{color:var(--gold)}
nav ul{display:flex;gap:28px;list-style:none;font-weight:500}
nav ul a{position:relative;padding:6px 0}
nav ul a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:.3s}
nav ul a:hover::after,nav ul a.on::after{width:100%}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}
.btn{display:inline-block;background:var(--gold);color:var(--ink);padding:13px 28px;border-radius:50px;font-weight:700;border:0;cursor:pointer;font-size:1rem;transition:.25s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px #f5a62366}
.btn.ghost{background:transparent;color:#fff;border:2px solid #fff;margin-left:10px}
/* hero: sunrise over Indian skyline */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:linear-gradient(180deg,#1b2b5a 0%,#8a4a7d 45%,#f08a4b 80%,#ffd27a 100%)}
.hero.small{min-height:52vh;padding-top:70px}
.sun{position:absolute;left:68%;bottom:-140px;width:260px;height:260px;border-radius:50%;background:radial-gradient(#fff3c4,#ffc857 60%,#f5a623);box-shadow:0 0 120px 40px #ffc85799;animation:rise 4s .2s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{bottom:26%}}
.cloud{position:absolute;height:26px;width:150px;border-radius:30px;background:#ffffff40;animation:drift 40s linear infinite}
.cloud:nth-child(2){top:22%;animation-duration:55s;width:220px}.cloud:nth-child(3){top:34%;animation-duration:70s;width:120px}
@keyframes drift{from{left:-250px}to{left:110%}}
.skyline{position:absolute;bottom:-1px;left:0;width:100%;height:30%}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem);max-width:14ch;animation:up 1s .5s both}
.hero p{max-width:48ch;margin:18px 0 30px;font-size:1.15rem;animation:up 1s .8s both}
.hero .cta{animation:up 1s 1.1s both}
@keyframes up{from{opacity:0;transform:translateY(30px)}}
/* search strip */
.search{position:relative;z-index:5;margin-top:-46px}
.search form{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;background:#fff;padding:20px;border-radius:var(--r);box-shadow:0 20px 50px #12263a2e}
select,input,textarea{font:inherit;padding:12px 14px;border:1.5px solid #cfdde0;border-radius:10px;width:100%;background:#fff;color:var(--ink)}
select:focus,input:focus,textarea:focus{border-color:var(--teal);outline:0}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;margin-top:40px}
.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 8px 28px #12263a14;transition:.35s}
.card:hover{transform:translateY(-8px);box-shadow:0 18px 40px #12263a26}
.pic{height:170px;display:grid;place-items:center;font-size:3.6rem;position:relative;overflow:hidden}
.pic span{transition:.5s}.card:hover .pic span{transform:scale(1.25) rotate(-6deg)}
.body{padding:20px}.body h3{font-size:1.3rem;margin-bottom:6px}
.meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:.92rem}
.price{font-weight:700;color:var(--teal);font-size:1.15rem}
.tag{position:absolute;top:12px;left:12px;background:var(--ink);color:#fff;font-size:.78rem;padding:3px 12px;border-radius:20px}
.g1{background:linear-gradient(135deg,#f9b36b,#e5446d)}.g2{background:linear-gradient(135deg,#7fd1c7,#0f8b8d)}
.g3{background:linear-gradient(135deg,#fde58a,#f5a623)}.g4{background:linear-gradient(135deg,#9fb8ff,#4a5ab8)}
.g5{background:linear-gradient(135deg,#b6e388,#3f9b5b)}.g6{background:linear-gradient(135deg,#ffb4c6,#a8326a)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.filters button{border:1.5px solid var(--ink);background:none;padding:8px 20px;border-radius:30px;cursor:pointer;font:inherit;font-weight:500;transition:.25s}
.filters button.on,.filters button:hover{background:var(--ink);color:#fff}
.dark{background:var(--ink);color:#fff}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;text-align:center}
.stats b{display:block;font-family:'Yeseva One',serif;font-size:2.8rem;color:var(--gold)}
.alt{background:var(--mist)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.visual{height:360px;border-radius:var(--r);background:linear-gradient(135deg,var(--teal),var(--ink));display:grid;place-items:center;font-size:6rem;animation:float 5s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-14px)}}
.quote{font-size:1.05rem}.quote small{display:block;margin-top:10px;font-weight:700;color:var(--teal)}
/* contact */
.form{display:grid;gap:14px}.err{color:var(--rose);font-size:.85rem;min-height:1.2em}
.info li{list-style:none;margin:14px 0;display:flex;gap:12px}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--teal);color:#fff;padding:14px 26px;border-radius:40px;transition:.5s;z-index:99}
.toast.show{transform:translate(-50%,0)}
footer{background:#0b1826;color:#c9d6dc;padding:50px 0 24px}
footer .grid{margin:0 0 24px;gap:30px}footer a:hover{color:var(--gold)}
footer li{list-style:none;margin:6px 0}
.reveal{opacity:0;transform:translateY(34px);transition:1s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@media(max-width:820px){
 .burger{display:block}
 nav ul{position:absolute;top:70px;left:0;right:0;background:var(--ink);flex-direction:column;padding:20px 22px;gap:14px;display:none}
 nav ul.open{display:flex}
 .search form,.two{grid-template-columns:1fr}.visual{height:240px}.btn.ghost{margin:10px 0 0}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01s!important;animation-delay:0s!important;transition:none!important}.sun{bottom:26%}}
/* ---- extra homepage sections ---- */
.head{text-align:center;max-width:60ch;margin:0 auto}.head .lead{margin:12px auto 0}
.regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;margin-top:40px}
.region{height:230px;border-radius:var(--r);padding:18px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.4s}
.region::before{content:attr(data-e);position:absolute;top:14px;right:16px;font-size:3.2rem;transition:.5s}
.region:hover{transform:translateY(-8px)}.region:hover::before{transform:scale(1.3) rotate(8deg)}
.region h3{font-size:1.25rem}.region small{opacity:.9}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-top:44px;counter-reset:s;position:relative}
.step{text-align:center;counter-increment:s}
.step::before{content:counter(s);display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--gold);font-family:'Yeseva One',serif;font-size:1.4rem;transition:.3s}
.step:hover::before{transform:scale(1.15);background:var(--rose);color:#fff}
.exp{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:14px;margin-top:40px}
.exp div{border-radius:var(--r);color:#fff;padding:16px;display:flex;align-items:flex-end;font-weight:700;font-size:1.05rem;transition:.4s;cursor:default}
.exp div:hover{transform:scale(1.03);z-index:2}
.exp .big{grid-column:span 2;grid-row:span 2;font-size:1.5rem}
.offer{background:linear-gradient(120deg,var(--rose),#a8326a 60%,var(--ink));color:#fff;border-radius:22px;padding:46px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}
.offer h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.count{display:flex;gap:12px}.count div{flex:1;background:#ffffff22;border-radius:12px;padding:14px 4px;text-align:center}
.count b{display:block;font-family:'Yeseva One',serif;font-size:2rem;color:var(--gold)}
.tst{max-width:760px;margin:40px auto 0;position:relative;overflow:hidden}
.track{display:flex;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.slide{min-width:100%;padding:34px;background:#fff;border-radius:var(--r);box-shadow:0 8px 28px #12263a14;text-align:center}
.slide p{font-size:1.15rem;margin:14px 0}
.av{width:64px;height:64px;border-radius:50%;margin:0 auto;display:grid;place-items:center;font-size:1.8rem;color:#fff}
.stars{color:var(--gold);letter-spacing:3px}
.slide b{color:var(--teal)}
.dots{display:flex;justify-content:center;gap:10px;margin-top:20px}
.dots button{width:11px;height:11px;border-radius:20px;border:0;background:#b9cbd0;cursor:pointer;transition:.3s}.dots button.on{width:32px;background:var(--teal)}
.faq{max-width:760px;margin:40px auto 0}
details{background:#fff;border-radius:12px;margin-bottom:12px;box-shadow:0 4px 16px #12263a10;overflow:hidden}
summary{padding:18px 22px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";font-size:1.4rem;color:var(--teal);transition:.3s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 22px 18px;animation:up .4s both}
.news{background:linear-gradient(135deg,var(--teal),var(--ink));color:#fff;text-align:center}
.news form{display:flex;gap:10px;max-width:480px;margin:24px auto 0}
.wa{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;font-size:1.8rem;box-shadow:0 8px 24px #0004;animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 #25d36699}70%{box-shadow:0 0 0 18px #25d36600}100%{box-shadow:0 0 0 0 #25d36600}}
@media(max-width:820px){.exp{grid-template-columns:1fr 1fr}.offer{grid-template-columns:1fr;padding:30px}.news form{flex-direction:column}}
