:root{
  --bg:#fffdf8;
  --surface:#ffffff;
  --ink:#213547;
  --muted:#627084;
  --line:#e7e3f3;
  --primary:#7c9cf5;
  --primary-2:#9fe0d5;
  --accent:#ff8f70;
  --accent-dark:#ef6f4c;
  --cream:#fff6eb;
  --mint:#effaf7;
  --lav:#f5f1ff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent-dark)}
.topbar{
  background:linear-gradient(90deg,var(--lav),var(--mint));
  color:#536071;
  border-bottom:1px solid rgba(124,156,245,.12);
}
.navbar-brand{min-width:0}
.brand-mark{
  width:48px;height:48px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:white;font-family:"Baloo 2",cursive;font-weight:700;font-size:1.25rem;
  box-shadow:0 12px 24px rgba(124,156,245,.25);
}
.brand-title{display:block;font-family:"Baloo 2",cursive;font-size:1.4rem;line-height:1;color:#25314a}
.brand-subtitle{font-size:.8rem;color:var(--muted);margin-top:.15rem}
.nav-link{font-weight:600;color:#44516a!important}
.nav-link:hover{color:var(--accent-dark)!important}
.btn{
  border-radius:999px;
  padding:.82rem 1.3rem;
  font-weight:700;
  border-width:2px;
}
.btn-accent{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  box-shadow:0 14px 30px rgba(255,143,112,.28);
}
.btn-accent:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn-outline-accent{
  border-color:var(--primary);
  color:#3b4b80;
  background:#fff;
}
.btn-outline-accent:hover{background:#f5f7ff;border-color:var(--primary);color:#2b3961}
.btn-primary-soft{
  background:#f4f6ff;
  color:#3d4f86;
  border:1px solid #dbe2ff;
}
.btn-primary-soft:hover{background:#edf1ff;color:#2f3c69}
.hero-section{
  background:radial-gradient(circle at top left,#f6fbff 0%,#fffdf8 55%,#fff7f0 100%);
}
.py-lg-6{padding-top:6rem!important;padding-bottom:6rem!important}
.eyebrow{
  display:inline-block;
  font-size:.9rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6f81bf;
}
.hero-section h1,
.section-title,
.feature-card h3,
.service-card h3,
.contact-card h3{font-family:"Baloo 2",cursive}
.hero-card{
  background:#fff;
  border:1px solid rgba(124,156,245,.16);
  border-radius:34px;
  padding:1rem;
  box-shadow:0 24px 60px rgba(39,62,108,.08);
}
.hero-shape{
  position:absolute;border-radius:999px;filter:blur(10px);opacity:.35;pointer-events:none;
}
.shape-a{width:260px;height:260px;background:#c5f2ea;top:-60px;right:8%}
.shape-b{width:220px;height:220px;background:#ffe0d6;bottom:-90px;left:-40px}
.badge-chip{
  padding:.5rem .9rem;background:#fff;border:1px solid #ebe7fb;border-radius:999px;color:#56657c;font-weight:700;font-size:.9rem;
}
.section-copy{max-width:760px;color:var(--muted)}
.feature-card,.service-card,.contact-card,.contact-info-panel,.form-shell,.mini-card,.contact-shell{
  background:var(--surface);
  border:1px solid rgba(124,156,245,.12);
  border-radius:28px;
  box-shadow:0 18px 45px rgba(39,62,108,.06);
}
.feature-card,.service-card{padding:1.8rem;height:100%}
.feature-card p,.service-card p,.text-secondary,.contact-card,.contact-info-panel,.mini-note{color:var(--muted)!important}
.icon-bubble{
  width:56px;height:56px;border-radius:20px;display:grid;place-items:center;
  background:linear-gradient(135deg,#f7e7ff,#dff8f2);font-size:1.4rem;margin-bottom:1rem;
}
.bg-tint{background:linear-gradient(180deg,#fcfbff 0%,#f6fffc 100%)}
.bg-cream{background:var(--cream)}
.mini-card{
  padding:1rem 1.1rem;
  font-weight:700;
  color:#455473;
}
.shadow-soft{box-shadow:0 25px 60px rgba(39,62,108,.12)}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:1rem;
}
.gallery-grid img{
  width:100%;height:100%;object-fit:cover;border-radius:28px;display:block;box-shadow:0 20px 50px rgba(39,62,108,.08);
}
.gallery-grid img:nth-child(1){grid-column:span 5}
.gallery-grid img:nth-child(2){grid-column:span 7}
.gallery-grid img:nth-child(3){grid-column:span 7}
.gallery-grid img:nth-child(4){grid-column:span 5}
.contact-shell{padding:2rem;background:linear-gradient(135deg,#fff 0%,#fbfcff 100%)}
.contact-card,.contact-info-panel,.form-shell{padding:2rem}
.contact-points div{margin-bottom:.65rem;color:#4f5e75}
.tick-list{margin:0;padding-left:1.25rem;color:#54637a}
.tick-list li{margin-bottom:.7rem}
.form-control,.form-select{
  border-radius:18px;
  padding:.9rem 1rem;
  border:1px solid #dfe5f3;
}
.form-control:focus,.form-select:focus{box-shadow:0 0 0 .25rem rgba(124,156,245,.18);border-color:#b5c4ff}
.form-label{font-weight:700;color:#43506a}
.site-footer{background:#2b3244;color:#eef2ff}
.site-footer a{color:#dbe5ff}
.floating-wa{
  position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:#25d366;color:white;font-size:1.5rem;
  box-shadow:0 18px 35px rgba(37,211,102,.35);z-index:20;
}
.contact-page{background:linear-gradient(180deg,#fffdf8 0%,#f7fbff 100%)}
.mini-note{
  background:#fff8ef;border:1px solid #ffe1c0;padding:1rem 1.1rem;border-radius:20px;
}
@media (max-width: 991.98px){
  .py-lg-6{padding-top:4.5rem!important;padding-bottom:4.5rem!important}
}
@media (max-width: 767.98px){
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid img:nth-child(n){grid-column:auto}
  .contact-shell,.contact-card,.contact-info-panel,.form-shell{padding:1.4rem}
  .brand-title{font-size:1.2rem}
}
