:root{
  /* Warm beige palette */
  --sc-page:#FAF0DC;
  --sc-soft:#E8DCB5;
  --sc-card:#ffffff;

  /* Accent & highlights */
  --sc-primary:#A67A5B;
  --sc-primary-600:#C19770;
  --sc-primary-700:#8F6246;

  /* Text */
  --sc-ink:#3b2f26;
  --sc-muted:#6f5a49;

  /* Borders & effects */
  --sc-border:rgba(59,47,38,.15);
  --sc-radius:1.25rem;
  --sc-shadow:0 10px 30px rgba(59,47,38,.12);
  --sc-shadow-sm:0 6px 18px rgba(59,47,38,.12);

  --sc-focus:0 0 0 .25rem rgba(166,122,91,.35);
}

html{ scroll-behavior:smooth; }
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;
  color:var(--sc-ink);
  background:var(--sc-page);
}

:focus-visible{ outline:none !important; box-shadow:var(--sc-focus) !important; border-radius:.5rem; }

.btn-primary{
  --bs-btn-bg:var(--sc-primary);
  --bs-btn-border-color:var(--sc-primary);
  --bs-btn-hover-bg:var(--sc-primary-600);
  --bs-btn-hover-border-color:var(--sc-primary-600);
  --bs-btn-active-bg:var(--sc-primary-700);
  --bs-btn-active-border-color:var(--sc-primary-700);
  --bs-btn-focus-shadow-rgb:166,122,91;
}
.btn-outline-primary{
  --bs-btn-color:var(--sc-primary);
  --bs-btn-border-color:var(--sc-primary);
  --bs-btn-hover-bg:var(--sc-primary);
  --bs-btn-hover-border-color:var(--sc-primary);
  --bs-btn-active-bg:var(--sc-primary-700);
  --bs-btn-active-border-color:var(--sc-primary-700);
  --bs-btn-focus-shadow-rgb:166,122,91;
}
.text-muted{ color:var(--sc-muted) !important; }
.bg-soft{ background:var(--sc-soft); }
.rounded-4{ border-radius:var(--sc-radius) !important; }

/* Topbar */
.topbar{ background:#3b2f26; color:#FAF0DC; }
.topbar .topbar-link{
  color:rgba(255,255,255,.92);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}
.topbar .topbar-link:hover{ color:#fff; text-decoration:underline; }

/* Brand: polished logo sizing + tagline */
.sc-brand{ text-decoration:none; line-height:1.05; }
.sc-logo{
  width:44px;
  height:44px;
  border-radius:12px;
  object-fit:contain;
  background:rgba(166,122,91,.10);
  border:1px solid rgba(166,122,91,.18);
  padding:6px;
}
.sc-brand-text{ display:flex; flex-direction:column; }
.sc-brand-name{ font-weight:800; letter-spacing:.2px; }
.sc-brand-tagline{ font-size:.82rem; color:rgba(111,90,73,.80); margin-top:.1rem; }

/* Nav */
.nav-link{ font-weight:700; color:rgba(59,47,38,.78) !important; padding:.5rem .75rem; }
.nav-link:hover{ color:var(--sc-ink) !important; }
.nav-link.active{ color:var(--sc-ink) !important; position:relative; }
.nav-link.active::after{
  content:"";
  position:absolute;
  left:.75rem;
  right:.75rem;
  bottom:.2rem;
  height:2px;
  background:rgba(166,122,91,.55);
  border-radius:999px;
}

/* Hero */
.hero-section{ position:relative; padding:5rem 0 3.5rem; overflow:hidden; }
.hero-section::before{
  content:""; position:absolute; top:-220px; right:-220px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(166,122,91,.22), rgba(166,122,91,0));
  pointer-events:none;
}
.hero-section::after{
  content:""; position:absolute; bottom:-260px; left:-260px; width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle at 70% 70%, rgba(143,98,70,.15), rgba(143,98,70,0));
  pointer-events:none;
}
.hero-kicker{ color:var(--sc-primary-700); font-weight:800; display:inline-flex; align-items:center; gap:.4rem; }
.hero-media{ position:relative; border-radius:var(--sc-radius); }
.hero-media img{ width:100%; height:auto; object-fit:cover; }
.hero-badge{
  position:absolute; left:14px; bottom:14px;
  background:rgba(255,255,255,.95);
  border:1px solid var(--sc-border);
  padding:.75rem .9rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  backdrop-filter:blur(8px);
}
.hero-trust{ display:flex; flex-wrap:wrap; gap:.75rem 1rem; }
.trust-item{ display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .8rem; background:rgba(213,184,149,.35); border:1px solid rgba(166,122,91,.25); border-radius:999px; font-weight:700; color:rgba(59,47,38,.85); }

/* Cards */
.feature-card, .service-item, .location-card, .why-card{
  background:#fff;
  border:1px solid var(--sc-border);
  border-radius:var(--sc-radius);
  box-shadow:var(--sc-shadow);
}
.feature-card{ padding:1.6rem 1.5rem; }
.service-item{ padding:1.5rem 1.4rem; }
.location-card{ padding:1.5rem 1.4rem; }
.why-card{ display:flex; gap:.9rem; align-items:flex-start; padding:1.15rem 1.1rem; }
.why-card i{ font-size:1.3rem; color:var(--sc-primary-700); margin-top:.1rem; }

.feature-icon{ width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:rgba(213,184,149,.40); color:var(--sc-primary-700); font-size:1.25rem; margin-bottom:.9rem; }
.service-icon{ font-size:1.6rem; color:var(--sc-primary-700); display:inline-block; margin-bottom:.85rem; }

/* Packages */
.package-card{ box-shadow:var(--sc-shadow-sm) !important; }
.package-icon-img{ width:44px; height:44px; border-radius:16px; background:rgba(213,184,149,.35); border:1px solid rgba(166,122,91,.22); padding:8px; object-fit:contain; }

/* CTA */
.cta-strip{ background:linear-gradient(135deg, var(--sc-primary-700), var(--sc-primary-600)); }

/* Footer */
.footer{ background:#3b2f26; color:#FAF0DC; }
.footer .brand-mark{
  width:36px; height:36px; border-radius:12px;
  display:grid; place-items:center;
  background:rgba(255,255,255,.12); color:#fff;
}
.footer-link{ color:rgba(255,255,255,.82); text-decoration:none; }
.footer-link:hover{ color:#fff; text-decoration:underline; }
.footer-brand{ color:#fff; text-decoration:none; }
.footer-bottom{ border-color:rgba(255,255,255,.14) !important; }
.social-btn{
  width:42px; height:42px; border-radius:14px;
  display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.20);
  color:rgba(255,255,255,.92);
  text-decoration:none;
  transition:transform 160ms ease, background 160ms ease;
}
.social-btn:hover{ transform:translateY(-2px); background:rgba(255,255,255,.08); color:#fff; }

/* Back to top */
.back-to-top{
  position:fixed; right:18px; bottom:18px;
  width:48px; height:48px; border-radius:16px;
  display:grid; place-items:center;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity 200ms ease, transform 200ms ease, visibility 200ms ease;
  z-index:1040;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }

/* Reveal animations */
[data-animate]{ opacity:0; transform:translateY(14px); transition:opacity 600ms ease, transform 600ms ease; will-change:opacity,transform; }
.in-view{ opacity:1 !important; transform:translateY(0) !important; }

/* Forms */
.form-control, .form-select{
  border-radius:.9rem;
  border-color:rgba(59,47,38,.14);
  padding:.75rem .95rem;
}
.form-control:focus, .form-select:focus{
  border-color:rgba(166,122,91,.55);
  box-shadow:var(--sc-focus);
}

/* Responsive */
@media (max-width: 991.98px){
  .hero-section{ padding:4.25rem 0 3rem; }
  .sc-brand-tagline{ font-size:.82rem; color:rgba(111,90,73,.80); margin-top:.1rem; } /* keep navbar compact on mobile */
}
@media (max-width: 575.98px){
  .hero-section{ padding:3.75rem 0 2.75rem; }
  .hero-badge{ left:10px; right:10px; bottom:10px; justify-content:center; text-align:center; border-radius:16px; }
}
