:root{--primary:#e8590c;--dark:#1b1f3b;--soft:#fff7f1;--text:#2b2d42;--radius:18px;--shadow:0 10px 30px rgba(27,31,59,.08);--shadow-lg:0 20px 45px rgba(27,31,59,.16)}
body{font-family:'Poppins','Noto Sans Devanagari',sans-serif;color:var(--text);background:#fff;overflow-x:hidden}
h1,h2,h3,h4,h5{font-weight:700;line-height:1.3}
a{color:var(--primary);text-decoration:none}
img{max-width:100%}

/* Preloader */
#preloader{position:fixed;inset:0;background:#fff;z-index:9999;display:grid;place-items:center;transition:opacity .5s}
#preloader.hide{opacity:0;pointer-events:none}
.loader{width:48px;height:48px;border:5px solid #ffe2d1;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Buttons */
.btn-brand{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border:0;border-radius:50px;padding:.6rem 1.5rem;font-weight:600;box-shadow:0 8px 20px rgba(232,89,12,.3);transition:.3s}
.btn-brand:hover{color:#fff;transform:translateY(-3px);box-shadow:0 12px 26px rgba(232,89,12,.4)}
.btn-outline-brand{border:2px solid var(--primary);color:var(--primary);border-radius:50px;padding:.55rem 1.6rem;font-weight:600;transition:.3s}
.btn-outline-brand:hover{background:var(--primary);color:#fff;transform:translateY(-3px)}
.btn-lg{padding:.85rem 2rem}
.pulse{animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,89,12,.5)}70%{box-shadow:0 0 0 14px rgba(232,89,12,0)}100%{box-shadow:0 0 0 0 rgba(232,89,12,0)}}

/* Topbar & nav */
.topbar{background:var(--dark);color:#e8e9f3;font-size:.85rem;padding:.45rem 0}
.topbar a{color:#e8e9f3}.topbar a:hover{color:#ffb27d}
.main-nav{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);transition:.3s;padding:.6rem 0}
.main-nav.scrolled{box-shadow:var(--shadow);padding:.3rem 0}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:800;font-size:1.4rem;margin-right:.6rem}
.brand-text{font-weight:800;font-size:1.4rem;color:var(--dark)}
.main-nav .nav-link{font-weight:500;color:var(--dark);padding:.6rem 1rem!important;position:relative}
.main-nav .nav-link::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.3rem;height:2px;background:var(--primary);transform:scaleX(0);transition:.3s}
.main-nav .nav-link:hover::after,.main-nav .nav-link.active::after{transform:scaleX(1)}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--primary)}
.dropdown-menu{border:0;border-radius:14px;box-shadow:var(--shadow-lg);padding:.5rem;animation:fadeDown .25s}
.dropdown-item{border-radius:10px;padding:.55rem 1rem}
.dropdown-item:hover{background:var(--soft);color:var(--primary)}
@media(min-width:992px){.navbar .dropdown:hover>.dropdown-menu{display:block}}
@keyframes fadeDown{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Hero */
.hero{position:relative;background:var(--dark)}
.hero .carousel-item{height:clamp(480px,82vh,760px);overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--dark),#3a2a6b 55%,var(--primary));background-size:cover;background-position:center;transform:scale(1)}
.carousel-item.active .hero-bg{animation:kenburns 14s ease-out forwards}
@keyframes kenburns{to{transform:scale(1.15)}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,31,59,.88),rgba(27,31,59,.35))}
.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;color:#fff}
.hero-content h1{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;margin-bottom:1rem}
.hero-content p{font-size:clamp(1rem,2vw,1.25rem);opacity:.92;margin-bottom:1.8rem;max-width:620px}
.hero-tag{display:inline-block;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);padding:.4rem 1rem;border-radius:50px;font-size:.85rem;margin-bottom:1rem}
.carousel-item .a1,.carousel-item .a2,.carousel-item .a3,.carousel-item .a4{opacity:0}
.carousel-item.active .a1{animation:up .8s .2s forwards}
.carousel-item.active .a2{animation:up .8s .4s forwards}
.carousel-item.active .a3{animation:up .8s .6s forwards}
.carousel-item.active .a4{animation:up .8s .8s forwards}
@keyframes up{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.carousel-indicators [data-bs-target]{width:12px;height:12px;border-radius:50%;border:0}
.carousel-control-prev,.carousel-control-next{width:6%}

/* Counters */
.counter-strip{margin-top:-60px;position:relative;z-index:5}
.counter-box{background:#fff;border-radius:var(--radius);padding:1.6rem 1rem;text-align:center;box-shadow:var(--shadow-lg);transition:.3s;height:100%}
.counter-box:hover{transform:translateY(-8px)}
.counter-box i{font-size:2rem;color:var(--primary)}
.counter-box .num{font-size:2rem;font-weight:800;color:var(--dark)}
.counter-box .lbl{color:#5f6278;font-size:.9rem}

/* Sections */
.section{padding:5.5rem 0}
.bg-soft{background:var(--soft)}
.bg-dark-x{background:linear-gradient(135deg,var(--dark),#2c2f5e);color:#fff}
.sec-head{text-align:center;margin-bottom:3rem}
.sec-head h2{font-size:clamp(1.7rem,3.5vw,2.5rem)}
.sec-head p{color:#5f6278;margin:.4rem 0 0}
.sec-head .bar{display:block;width:70px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--primary),#ffb27d);margin:1rem auto 0}
.sec-head.light p{color:#c9cbe6}
.about-img{position:relative}
.about-img img{width:100%;border-radius:28px;box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover}
.float-badge{position:absolute;right:-12px;bottom:28px;background:#fff;color:var(--primary);padding:.8rem 1.2rem;border-radius:14px;font-weight:700;box-shadow:var(--shadow-lg);animation:float 3.5s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}

/* Feature cards */
.feature-card{display:block;background:#fff;border-radius:var(--radius);padding:2rem 1.6rem;height:100%;box-shadow:var(--shadow);transition:.35s;color:var(--text);border-bottom:4px solid transparent}
.feature-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:var(--primary)}
.feature-card .ic{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#fff0e6,#ffd9bf);color:var(--primary);font-size:1.8rem;margin-bottom:1.1rem;transition:.35s}
.feature-card:hover .ic{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;transform:rotate(-8deg) scale(1.08)}
.feature-card h3{font-size:1.15rem;color:var(--dark)}
.feature-card p{color:#666;margin:0;font-size:.95rem}

/* Content cards */
.card-x{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.35s;display:flex;flex-direction:column;color:var(--text)}
.card-x:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}
.card-img{position:relative;display:block;overflow:hidden;aspect-ratio:16/10}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card-x:hover .card-img img{transform:scale(1.1)}
.badge-x{position:absolute;left:14px;top:14px;background:var(--primary);color:#fff;font-size:.75rem;font-weight:600;padding:.3rem .8rem;border-radius:50px}
.badge-x.static{position:static;display:inline-block}
.card-body-x{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.card-body-x .meta{font-size:.8rem;color:#5f6278;display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:center;margin-bottom:.6rem}
.meta .dot{width:4px;height:4px;border-radius:50%;background:#ccc}
.card-body-x h3{font-size:1.15rem}
.card-body-x h3 a{color:var(--dark)}
.card-body-x h3 a:hover{color:var(--primary)}
.card-body-x p{color:#666;font-size:.93rem;flex:1}
.read-more{font-weight:600;font-size:.9rem}
.read-more i{transition:.3s;display:inline-block}
.read-more:hover i{transform:translateX(6px)}

/* Gallery */
.g-item{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:1;box-shadow:var(--shadow)}
.g-item img{width:100%;height:100%;object-fit:cover;transition:.5s}
.g-item i{position:absolute;inset:0;display:grid;place-items:center;background:rgba(27,31,59,.55);color:#fff;font-size:1.8rem;opacity:0;transition:.3s}
.g-item:hover img{transform:scale(1.12)}.g-item:hover i{opacity:1}

/* CTA */
.cta{background:linear-gradient(135deg,var(--primary),#ff8a3d 60%,#ffb27d);color:#fff;padding:4.5rem 0;position:relative;overflow:hidden}
.cta::before,.cta::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.1)}
.cta::before{width:320px;height:320px;left:-80px;top:-120px}.cta::after{width:240px;height:240px;right:-60px;bottom:-100px}
.cta h2{font-size:clamp(1.8rem,4vw,2.8rem);position:relative}.cta p{font-size:1.1rem;opacity:.95;position:relative}.cta .btn{position:relative}

/* Page hero */
.page-hero{background:linear-gradient(135deg,var(--dark),#3a2a6b 60%,var(--primary));color:#fff;padding:4rem 0 3rem;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.07);right:-80px;top:-100px}
.page-hero h1{font-size:clamp(1.7rem,4vw,2.8rem);margin-bottom:.6rem}
.page-hero .lead{opacity:.9}
.breadcrumb{--bs-breadcrumb-divider-color:#ddd;font-size:.9rem;margin-top:.8rem}
.breadcrumb a{color:#ffd0b0}.breadcrumb-item.active{color:#fff}

/* Listing */
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{padding:.4rem 1.1rem;border-radius:50px;background:#f3f3f8;color:var(--dark);font-size:.88rem;font-weight:500;transition:.25s}
.chip:hover,.chip.active{background:var(--primary);color:#fff}
.search-box{position:relative}
.search-box .form-control{border-radius:50px;padding:.6rem 3rem .6rem 1.2rem}
.search-box button{position:absolute;right:6px;top:5px;border:0;background:var(--primary);color:#fff;width:36px;height:36px;border-radius:50%}
.pager .page-link{border:0;margin:0 .2rem;border-radius:50%!important;color:var(--dark);width:42px;height:42px;display:grid;place-items:center}
.pager .active .page-link{background:var(--primary);color:#fff}
.empty-state{text-align:center;padding:4rem 0;color:#5f6278}.empty-state i{font-size:4rem}

/* Detail */
.detail-img{width:100%;border-radius:24px;box-shadow:var(--shadow-lg);margin-bottom:1.6rem;max-height:480px;object-fit:cover}
.detail-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;color:#5f6278;font-size:.9rem;margin-bottom:1.4rem}
.content{font-size:1.05rem;line-height:1.9}
.content img{max-width:100%;height:auto;border-radius:14px}
.content h2,.content h3{margin:1.6rem 0 .8rem;color:var(--dark)}
.content blockquote{border-left:4px solid var(--primary);background:var(--soft);padding:1rem 1.4rem;border-radius:0 14px 14px 0}
.share{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid #eee;display:flex;gap:.8rem;align-items:center}
.share a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--soft);transition:.25s}
.share a:hover{background:var(--primary);color:#fff;transform:translateY(-3px)}

/* Forms */
.form-card,.info-card{background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);padding:2.2rem}
.info-card{background:linear-gradient(135deg,var(--dark),#3a2a6b);color:#fff}
.info-card p{display:flex;gap:.9rem;align-items:flex-start}.info-card i{color:#ffb27d;font-size:1.2rem}
.form-control,.form-select{border-radius:12px;padding:.7rem 1rem;border:1.5px solid #e6e6ef}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .25rem rgba(232,89,12,.15)}

/* Footer */
.site-footer{background:#12142b;color:#aeb1d1;padding:4rem 0 0}
.footer-links li{margin-bottom:.6rem}.footer-links a{color:#aeb1d1}.footer-links a:hover{color:#ffb27d;padding-left:4px}
.socials{display:flex;gap:.6rem;margin-top:1rem}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;transition:.3s}
.socials a:hover{background:var(--primary);transform:translateY(-4px)}
.copy{border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding:1.2rem 0;text-align:center;font-size:.88rem}
#toTop{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:1.2rem;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(20px);transition:.3s;z-index:99}
#toTop.show{opacity:1;visibility:visible;transform:none}
#toTop:hover{color:#fff;background:var(--dark)}

@media(max-width:991px){.main-nav .navbar-collapse{padding:1rem 0}.section{padding:4rem 0}.counter-strip{margin-top:-40px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.carousel-item .a1,.carousel-item .a2,.carousel-item .a3,.carousel-item .a4{opacity:1}}

/* ---- Mobile bottom navigation ---- */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;justify-content:space-around;align-items:flex-end;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid #eee;box-shadow:0 -6px 24px rgba(27,31,59,.12);padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:navUp .6s cubic-bezier(.2,.9,.3,1) both}
@keyframes navUp{from{transform:translateY(100%)}to{transform:none}}
.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:.3rem 0;color:#5b5e78;font-size:.68rem;font-weight:500;position:relative;transition:color .25s}
.bottom-nav a i{font-size:1.3rem;transition:transform .3s}
.bottom-nav a.active{color:var(--primary)}
.bottom-nav a.active i{transform:translateY(-3px) scale(1.12)}
.bottom-nav a.active::after{content:"";position:absolute;top:-.35rem;width:26px;height:3px;border-radius:3px;background:var(--primary)}
.bottom-nav a.center{margin-top:-26px;color:var(--primary)}
.bottom-nav a.center i{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 8px 20px rgba(232,89,12,.45);border:4px solid #fff;animation:pulse 2.4s infinite}
.bottom-nav a.center.active i{transform:none}
.bottom-nav a.center.active::after{display:none}
