:root{
  --brand:#175cff;
  --brand2:#0e3fb3;
  --brand3:#0ac2ff;
  --dark:#16120d;
  --soft:#f4f7fc;
  --soft2:#eef4ff;
  --muted:#617086;
  --gold:#ffcb52;
  --line:#e6edf8;
  --shadow:0 14px 40px rgba(11,24,48,.08);
  --shadow-lg:0 20px 55px rgba(11,24,48,.14);
  --elastic:cubic-bezier(.22,1,.36,1);
}
*{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
html{scroll-behavior:smooth}
body{color:#1d2a3b;background:linear-gradient(180deg,#fff, #fbfdff 50%, #fff)}
a{text-decoration:none;transition:all .35s var(--elastic)}
img{max-width:100%}

/* background accents */
body::before, body::after{
  content:""; position:fixed; z-index:-2; filter:blur(30px); opacity:.35; pointer-events:none;
}
body::before{width:260px;height:260px;left:-80px;top:120px;background:radial-gradient(circle,#f3d1a8,transparent 70%)}
body::after{width:320px;height:320px;right:-100px;top:300px;background:radial-gradient(circle,#e6bb88,transparent 70%)}

.navbar{
  background:rgba(255,255,255,.78)!important;
  backdrop-filter: blur(16px);
  border-bottom:1px solid rgba(201,137,71,.06);
  box-shadow:0 10px 35px rgba(0,0,0,.04);
  transition:all .35s var(--elastic);
}
.navbar.scrolled{background:rgba(255,255,255,.92)!important; box-shadow:0 14px 45px rgba(11,24,48,.08)}
.navbar .container{position:relative}
.navbar-brand{font-weight:800;color:var(--dark)!important;line-height:1.05}
.navbar-brand small{display:block;margin-top:2px;color:var(--brand);font-size:.68rem;letter-spacing:.4px}
.navbar-toggler{border:none;box-shadow:none!important}
.nav-link{font-weight:500;color:#2f241b!important;padding:.55rem .9rem!important;border-radius:999px;position:relative}
.nav-link:hover,.nav-link.active{color:var(--brand)!important;background:rgba(201,137,71,.08)}

.btn-brand{
  background:linear-gradient(135deg,var(--brand2), var(--brand) 60%, var(--brand3));
  color:#fff;border:none;border-radius:999px;font-weight:600;
  padding:.72rem 1.15rem;box-shadow:0 12px 28px rgba(201,137,71,.28);
}
.btn-brand:hover{color:#fff;transform:translateY(-2px) scale(1.01);box-shadow:0 18px 36px rgba(201,137,71,.32)}
.btn-outline-light2,.btn-outline-brand{
  border:1.5px solid rgba(255,255,255,.9);color:#fff;border-radius:999px;font-weight:600;
  padding:.68rem 1.05rem;background:transparent
}
.btn-outline-light2:hover,.btn-outline-brand:hover{background:#fff;color:var(--dark)}
.btn-light.rounded-pill:hover{transform:translateY(-1px)}

.hero-wrap{margin-top:78px;position:relative}
.hero-wrap::before{
  content:"";position:absolute;inset:18px 18px auto 18px;height:calc(84vh - 18px);
  border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.05));
  opacity:.5;pointer-events:none;z-index:0;
}
.carousel{border-radius:26px;overflow:hidden;margin:16px;box-shadow:0 25px 70px rgba(11,24,48,.18)}
.carousel-item{min-height:560px;height:84vh;position:relative}
.hero-slide{position:absolute;inset:-3%;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 7s ease}
.carousel-item.active .hero-slide{transform:scale(1.12)}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 12% 20%, rgba(240,195,139,.18), transparent 34%),
    radial-gradient(circle at 80% 80%, rgba(255,203,82,.14), transparent 34%),
    linear-gradient(92deg, rgba(5,12,26,.88) 0%, rgba(6,14,30,.72) 38%, rgba(7,14,30,.30) 100%);
}
.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.hero-content > div{animation:slideInUp .9s var(--elastic)}
@keyframes slideInUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-badge{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.42rem .9rem;border-radius:999px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:.85rem;backdrop-filter:blur(8px)
}
.hero-title{font-size:clamp(2rem,4vw,3.3rem);color:#fff;font-weight:800;line-height:1.08;margin:.8rem 0 .75rem;letter-spacing:-.3px}
.hero-sub{color:rgba(255,255,255,.92);max-width:760px;line-height:1.75;font-weight:300}
.glass-card{
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.10));
  border:1px solid rgba(255,255,255,.22);border-radius:18px;backdrop-filter:blur(14px);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 12px 30px rgba(0,0,0,.15)
}
.carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:50%;border:none;opacity:.7}
.carousel-indicators .active{opacity:1;width:26px;border-radius:999px}
.carousel-control-prev-icon,.carousel-control-next-icon{
  width:1.3rem;height:1.3rem;
}
.carousel-control-prev,.carousel-control-next{width:8%}

.page-hero{
  padding:132px 0 74px;
  background:
    radial-gradient(circle at 15% 20%, rgba(240,195,139,.18), transparent 40%),
    radial-gradient(circle at 85% 20%, rgba(255,203,82,.18), transparent 35%),
    linear-gradient(135deg,#1b140d 0%, #8f6033 45%, #d9a15f 100%);
  color:#fff;position:relative;overflow:hidden
}
.page-hero::before{content:"";position:absolute;left:-60px;top:-55px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.page-hero::after{content:"";position:absolute;right:-30px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(240,195,139,.18),transparent 70%)}
.page-hero p{color:rgba(255,255,255,.9)}

.section-pad{padding:84px 0;position:relative}
.soft{background:linear-gradient(180deg,#f7faff,#f3f7fe)}
.section-title{font-weight:800;color:var(--dark);letter-spacing:-.3px;margin-bottom:.35rem}
.section-sub{color:var(--muted)}

.card-soft,
.plan-card,
.contact-card,
.testimonial-card,
.timeline-step,
.message-box,
.accordion-item{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  transition:transform .45s var(--elastic), box-shadow .45s var(--elastic), border-color .45s var(--elastic);
}
.card-soft:hover,
.plan-card:hover,
.contact-card:hover,
.testimonial-card:hover,
.timeline-step:hover,
.message-box:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(201,137,71,.18);
}

/* reveal animation */
.reveal{opacity:0;transform:translateY(20px) scale(.985);transition:opacity .65s ease, transform .65s var(--elastic)}
.reveal.in{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}

.stat-card{padding:1.1rem 1rem;height:100%;position:relative;overflow:hidden}
.stat-card::after{content:"";position:absolute;inset:auto -40px -55px auto;width:110px;height:110px;background:radial-gradient(circle,rgba(201,137,71,.08),transparent 70%)}
.stat-num{font-size:1.55rem;font-weight:800;color:var(--brand);letter-spacing:-.2px}

.icon-badge,.feature-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,rgba(201,137,71,.12),rgba(240,195,139,.15));display:grid;place-items:center;color:var(--brand);font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.feature-card{height:100%;padding:1rem}
.feature-card h3,.feature-card h6{color:var(--dark)}
.feature-card p{margin-bottom:0}

.plan-card{height:100%;overflow:hidden}
.plan-head{background:linear-gradient(135deg,#2b1c10 0%, #c98947 60%, #f0c38b 100%);color:#fff;padding:1rem 1rem .95rem;position:relative;overflow:hidden}
.plan-head::after{content:"";position:absolute;right:-18px;top:-18px;width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.13)}
.plan-body{padding:1rem}
.plan-body ul{padding-left:1rem;margin-bottom:1rem}
.plan-body li{margin-bottom:.4rem;color:#4f6078}

.testimonial-card{padding:1rem;position:relative}
.testimonial-card::before{content:"“";position:absolute;left:14px;top:4px;font-size:2.1rem;color:rgba(201,137,71,.12);font-weight:700;line-height:1}
.quote{color:#4b5a70;line-height:1.7;position:relative;z-index:1}

.cta-band{
  background:
   radial-gradient(circle at 85% 20%, rgba(255,203,82,.16), transparent 35%),
   radial-gradient(circle at 15% 80%, rgba(240,195,139,.18), transparent 35%),
   linear-gradient(135deg,#1b140d,#7e562d 55%, #d9a15f);
  color:#fff;border-radius:24px;padding:1.35rem 1.35rem;position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.08); box-shadow:0 22px 55px rgba(9,23,45,.22)
}
.cta-band::after{content:""; position:absolute; right:-22px; top:-30px; width:170px; height:170px; background:radial-gradient(circle, rgba(255,255,255,.13), transparent 70%)}

.footer{background:linear-gradient(180deg,#081427,#07101f); color:#dbe6ff; position:relative; overflow:hidden}
.footer::before{content:"";position:absolute;left:-30px;top:-30px;width:180px;height:180px;background:radial-gradient(circle,rgba(240,195,139,.08),transparent 70%)}
.footer a{color:#e7efff}
.footer a:hover{color:#fff}
.footer .muted{color:#a7bad9}
.footer ul li{margin-bottom:.35rem}

.top-btn{
  position:fixed; right:18px; bottom:18px; width:46px; height:46px; border:none; border-radius:50%;
  background:linear-gradient(135deg,var(--brand),#f0c38b); color:#fff; z-index:9999;
  box-shadow:0 14px 28px rgba(201,137,71,.34); opacity:0; visibility:hidden;
  transform:translateY(14px) scale(.9); transition:all .35s var(--elastic)
}
.top-btn::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(201,137,71,.18)}
.top-btn.show{opacity:1;visibility:visible;transform:none}
.top-btn:hover{transform:translateY(-2px)}

.contact-card{padding:1rem;height:100%}
.map-frame{border:0;width:100%;min-height:320px;border-radius:16px;box-shadow:var(--shadow)}
.form-control,.form-select{
  border-radius:12px;border:1px solid #dbe6f8;padding:.72rem .9rem;background:#fff;
  transition:border-color .3s ease, box-shadow .3s ease
}
.form-control:focus,.form-select:focus{border-color:rgba(201,137,71,.45);box-shadow:0 0 0 .25rem rgba(201,137,71,.12)}

.accordion-item{overflow:hidden}
.accordion-button{font-weight:600;color:var(--dark);background:rgba(255,255,255,.9)}
.accordion-button:not(.collapsed){background:linear-gradient(180deg,rgba(201,137,71,.08),rgba(240,195,139,.05));color:var(--dark);box-shadow:none}
.accordion-button:focus{box-shadow:none}
.accordion-body{color:#48576d}

.legal h3{font-size:1.05rem;margin-top:1rem;color:var(--dark);font-weight:700}
.legal p,.legal li{color:#465468;line-height:1.75}
.list-check li{margin-bottom:.45rem}

/* subtle motion helpers */
.floaty{animation:floaty 5s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

@media (max-width: 991.98px){
  .navbar-collapse{background:#fff;border:1px solid var(--line);padding:.6rem;border-radius:14px;box-shadow:var(--shadow);margin-top:.7rem}
  .carousel{margin:10px;border-radius:20px}
  .hero-wrap::before{display:none}
  .carousel-item{height:auto;min-height:540px}
  .hero-content{padding-top:18px;padding-bottom:18px}
}
@media (max-width: 575.98px){
  .hero-title{font-size:1.85rem}
  .section-pad{padding:70px 0}
  .page-hero{padding:118px 0 62px}
}


.brand-logo{height:48px;width:auto;display:block}
.brand-text{display:flex;align-items:center;gap:.65rem}
.brand-mark{background:#000;border-radius:10px;padding:3px 5px;display:inline-flex;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.brand-name-wrap{line-height:1.05}
.brand-title{font-weight:800;color:var(--dark);font-size:.96rem;letter-spacing:.2px}
.brand-sub{display:block;font-size:.66rem;color:var(--brand2);font-weight:700;margin-top:2px}

.work-steps .step-card{cursor:pointer}
.work-steps .step-card.active{border-color:rgba(201,137,71,.35); box-shadow:var(--shadow-lg); transform:translateY(-4px)}
.work-steps .step-card.active .icon-badge{background:linear-gradient(135deg,rgba(201,137,71,.16),rgba(240,195,139,.2)); color:var(--brand2)}
.step-panel{background:linear-gradient(180deg,#fff,#fffcf8); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:1rem}
.progress-soft{height:8px;background:#f2e8db;border-radius:999px;overflow:hidden}
.progress-soft > span{display:block;height:100%;background:linear-gradient(90deg,var(--brand2),var(--brand3));border-radius:999px;transition:width .6s var(--elastic)}
.calc-wrap .form-label{font-size:.88rem;color:var(--muted);font-weight:600}
.calc-result{background:linear-gradient(135deg,#fffaf3,#fff); border:1px solid var(--line); border-radius:16px; padding:1rem}
.calc-result .big{font-size:1.35rem;font-weight:800;color:var(--brand2)}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.result-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.65rem}
.result-item small{color:var(--muted);display:block}
.result-item strong{color:var(--dark)}
@media (max-width:575.98px){.result-grid{grid-template-columns:1fr}}
