:root{
  --cm-primary:#2878ff;
  --cm-primary-dark:#155ee8;
  --cm-accent:#7557ff;
  --cm-ink:#111827;
  --cm-muted:#6b7280;
  --cm-soft:#f4f7ff;
  --cm-border:#e8edf7;
  --cm-radius:1.35rem;
  --cm-shadow:0 18px 50px rgba(31,41,55,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--cm-ink);
  background:#fff;
  font-size:15px;
}
a{text-decoration:none}

.subtle-nav{
  min-height:72px;
  backdrop-filter:saturate(180%) blur(14px);
  --bs-bg-opacity:.92;
}
.brand-logo{width:154px;height:auto;display:block}
.navbar .nav-link{
  color:#4b5563;
  font-weight:650;
  font-size:.92rem;
  padding:.55rem .8rem!important;
  border-radius:999px;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{color:var(--cm-primary);background:#eef5ff}
.lang-btn{font-weight:700;border:1px solid var(--cm-border)}
.btn-primary{
  --bs-btn-bg:var(--cm-primary);
  --bs-btn-border-color:var(--cm-primary);
  --bs-btn-hover-bg:var(--cm-primary-dark);
  --bs-btn-hover-border-color:var(--cm-primary-dark);
  box-shadow:0 10px 24px rgba(40,120,255,.18);
}
.btn-outline-primary{
  --bs-btn-color:var(--cm-primary);
  --bs-btn-border-color:#b9d2ff;
  --bs-btn-hover-bg:var(--cm-primary);
  --bs-btn-hover-border-color:var(--cm-primary);
}
.btn-lg{font-size:.98rem;padding:.78rem 1.25rem;font-weight:750}

.hero-section{
  position:relative;
  overflow:hidden;
  padding:132px 0 74px;
  background:
    radial-gradient(circle at 12% 16%,rgba(40,120,255,.14),transparent 31%),
    radial-gradient(circle at 86% 7%,rgba(117,87,255,.12),transparent 29%),
    linear-gradient(180deg,#fbfdff 0%,#f6f8ff 100%);
}
.hero-section:after{
  content:"";
  position:absolute;
  inset:auto -12% -28% -12%;
  height:260px;
  background:#fff;
  border-radius:50% 50% 0 0;
}
.hero-section .container{position:relative;z-index:1}
.eyebrow,
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--cm-primary);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.eyebrow{
  padding:.45rem .72rem;
  border:1px solid #d8e7ff;
  background:#fff;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(40,120,255,.08);
}
.display-5{font-size:clamp(2.05rem,4.5vw,3.45rem);letter-spacing:-.055em;max-width:720px}
.lead{font-size:1.05rem;line-height:1.72;max-width:650px}

.hero-panel{
  border:1px solid rgba(255,255,255,.9);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.82));
  border-radius:2rem;
  padding:1.35rem;
  box-shadow:var(--cm-shadow);
}
.small-label{
  display:block;
  color:#8a94a6;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
  font-weight:800;
  margin-bottom:.25rem;
}
.status-pill{
  display:inline-flex;
  gap:.4rem;
  align-items:center;
  padding:.45rem .7rem;
  background:#ecfdf3;
  color:#14854c;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
}
.mini-stat{
  height:100%;
  padding:.95rem .7rem;
  background:#f7f9ff;
  border:1px solid var(--cm-border);
  border-radius:1rem;
  text-align:center;
}
.mini-stat strong{display:block;font-size:.95rem;line-height:1.15;color:#0f172a}
.mini-stat span{display:block;font-size:.75rem;color:var(--cm-muted);margin-top:.2rem}
.booking-card{
  padding:1.25rem;
  background:#fff;
  border:1px solid var(--cm-border);
  border-radius:1.35rem;
}
.soft-progress{height:.55rem;background:#eef4ff;border-radius:999px}
.soft-progress .progress-bar{background:linear-gradient(90deg,var(--cm-primary),var(--cm-accent));border-radius:999px}

.section-pad{padding:76px 0}
.soft-bg{background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%)}
.section-title{font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.1;letter-spacing:-.04em;font-weight:800;margin:.55rem 0 1rem}
.section-text{font-size:1rem;line-height:1.72;color:var(--cm-muted);margin-bottom:0}
.section-head-narrow{max-width:760px;margin-bottom:1.5rem}
.info-card,
.feature-card,
.contact-card,
.form-card,
.pricing-card{
  border:1px solid var(--cm-border);
  border-radius:var(--cm-radius);
  background:#fff;
  box-shadow:0 10px 30px rgba(31,41,55,.04);
}
.info-card{padding:1.2rem}
.info-card h3,
.feature-card h3{font-size:1rem;font-weight:800;margin:.85rem 0 .45rem;letter-spacing:-.02em}
.info-card p,
.feature-card p{font-size:.9rem;line-height:1.6;color:var(--cm-muted);margin:0}
.icon-bubble{
  width:42px;height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--cm-primary);
  background:#eef5ff;
  border-radius:14px;
  font-size:1.25rem;
}
.clean-list{gap:.7rem}
.clean-list .list-group-item{
  border:1px solid var(--cm-border)!important;
  border-radius:1rem!important;
  padding:.95rem 1rem;
  font-weight:700;
  color:#253044;
  display:flex;
  align-items:center;
  gap:.65rem;
}
.clean-list i{color:var(--cm-primary);font-size:1.1rem}

.product-frame{
  overflow:hidden;
  background:linear-gradient(180deg,#f7f9ff,#eef4ff);
  border:1px solid #dfe9ff;
  border-radius:1.7rem;
  box-shadow:var(--cm-shadow);
}
.product-bar{
  height:48px;
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:0 1rem;
  background:#fff;
  border-bottom:1px solid var(--cm-border);
}
.product-bar span{width:10px;height:10px;background:#d8e2f3;border-radius:50%}
.product-tile{
  min-height:110px;
  padding:1rem;
  background:#fff;
  border:1px solid var(--cm-border);
  border-radius:1.1rem;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.product-tile i{color:var(--cm-primary);font-size:1.2rem}
.product-tile strong{font-size:.9rem;line-height:1.35}
.feature-card{padding:1.25rem;transition:transform .2s ease, box-shadow .2s ease}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--cm-shadow)}
.feature-card i{
  width:34px;height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,var(--cm-primary),var(--cm-accent));
  border-radius:12px;
  font-size:1rem;
}

.timeline{display:grid;gap:1rem}
.timeline-item{display:grid;grid-template-columns:42px 1fr;gap:.95rem;align-items:start}
.timeline-item span{
  width:42px;height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,var(--cm-primary),var(--cm-accent));
  font-weight:800;
}
.timeline-item h3{font-size:1rem;font-weight:800;margin:0 0 .25rem}
.timeline-item p{font-size:.92rem;color:var(--cm-muted);line-height:1.55;margin:0}
.video-box,
.map-box{border-radius:1.35rem;overflow:hidden;border:1px solid var(--cm-border);background:#fff}

.pricing-card{overflow:hidden;transition:transform .2s ease, box-shadow .2s ease}
.pricing-card:hover{transform:translateY(-3px);box-shadow:var(--cm-shadow)}
.pricing-card.featured{border-color:#bdd4ff;box-shadow:0 20px 60px rgba(40,120,255,.13)}
.pricing-card-title{font-size:2.2rem;font-weight:800;letter-spacing:-.04em;margin:.55rem 0}
.pricing-card-title small{display:inline-block;font-size:.8rem;color:var(--cm-muted);font-weight:700;margin-left:.3rem;letter-spacing:0}
.pricing-card li{display:flex;align-items:center;gap:.55rem;padding:.42rem 0;font-size:.94rem;color:#344054}
.pricing-card li i{color:var(--cm-primary)}

.cta-section{padding:22px 0 76px;background:#fff}
.cta-box{
  padding:2rem;
  border-radius:1.6rem;
  color:#fff;
  background:
    radial-gradient(circle at 88% 0%,rgba(255,255,255,.18),transparent 25%),
    linear-gradient(135deg,var(--cm-primary),var(--cm-accent));
  box-shadow:0 24px 65px rgba(40,120,255,.22);
}
.cta-box h2{font-size:clamp(1.55rem,3vw,2.3rem);font-weight:800;letter-spacing:-.04em;margin:0 0 .5rem}
.cta-box p{color:rgba(255,255,255,.86);margin:0;line-height:1.65}

.contact-card{padding:1.3rem;margin-top:1.5rem}
.contact-card h3{font-size:1.05rem;font-weight:800;margin-bottom:1rem}
.contact-card p{color:var(--cm-muted);line-height:1.6}
.contact-card a{color:var(--cm-primary);font-weight:700}
.form-card{padding:1.35rem}
.form-label{font-size:.85rem;font-weight:750;color:#344054}
.form-control{border-color:#dce6f6;border-radius:1rem;font-size:.95rem}
.form-control:focus{border-color:#9ec2ff;box-shadow:0 0 0 .25rem rgba(40,120,255,.12)}
.footer{background:#fbfcff;color:#64748b}
.footer a{color:#475569;font-weight:700}
.footer a:hover{color:var(--cm-primary)}

@media (max-width:991.98px){
  .navbar-collapse{padding:1rem 0}
  .hero-section{padding:112px 0 58px}
  .section-pad{padding:58px 0}
  .brand-logo{width:140px}
}
@media (max-width:575.98px){
  body{font-size:14px}
  .hero-panel{padding:1rem;border-radius:1.35rem}
  .mini-stat{padding:.8rem .45rem}
  .mini-stat strong{font-size:.8rem}
  .display-5{font-size:2.05rem}
  .lead{font-size:.98rem}
  .cta-box{padding:1.4rem}
  .pricing-card-title{font-size:1.9rem}
}
