:root{
  --bg: #f2e2c4;          /* stronger tan background */
  --text: #1a1a1a;        /* black for body text */
  --muted: #5a4634;       /* darker muted brown */
  --accent: #c9a66b;      /* tan/brown accent */
  --accent-dark: #9b7a4a; /* darker brown hover */
  --card: #ffffff;        /* white card bg for clarity */
  --card-2: #e6d2af;      /* deeper tan for alt sections */
  --tint: rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Outfit',system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(1100px,92vw);margin:0 auto}

/* NAVIGATION */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--accent);
}

.nav__inner{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}

/* Circular Logo */
.logo-slot {
  display:flex;
  align-items:center;
}
.logo-placeholder {
  width:65px;   /* smaller size */
  height:65px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--accent);
  background:#fff;
}
.logo-img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

.nav__links{display:flex;gap:1.2rem;align-items:center}
.nav__links a{opacity:.9;transition:opacity .25s ease}
.nav__links a:hover{opacity:1}
.menu-btn{display:none;background:none;border:0;cursor:pointer;width:40px;height:36px;gap:6px;flex-direction:column;justify-content:center;align-items:center}
.menu-btn span{display:block;height:2px;background:var(--text);width:70%}

/* HERO */
.hero{position:relative;min-height:72vh;display:grid;place-items:center;isolation:isolate}
.video-slider{position:absolute;inset:0;overflow:hidden;z-index:-2}
.video-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease-in-out;display:grid;place-items:center}
.video-slide.active{opacity:1}
.video-slide video{width:120vw;height:120vh;object-fit:cover;position:relative;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.video-slider .tint{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.35));z-index:1}

.hero__content{position:relative;text-align:center;z-index:2;padding:6rem 0}
.hero h1{font-size:clamp(2rem,6vw,4rem);line-height:1.05;margin:0 0 .7rem;color:var(--text)}
.subtitle{opacity:.9;max-width:900px;margin:0 auto 1.4rem;color:var(--muted)}
.hero__ctas{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.hero__ctas .btn{font-weight:600}

/* SECTIONS */
.section{padding:3.5rem 0}
.section.alt{background:var(--card-2)}

.features, .cards, .service-grid{display:grid;gap:1.2rem}
.features{grid-template-columns:repeat(3,1fr)}
.cards{grid-template-columns:repeat(3,1fr)}
.service-grid{grid-template-columns:repeat(3,1fr)}

.feature, .card, .service-card, .about-card, .form{
  background:var(--card);
  padding:1.2rem;
  border:1px solid var(--accent);
  border-radius:18px;
  transition:transform .35s ease, box-shadow .35s ease
}
.feature h3, .card h4, .service-card h3, .about-card h3{margin:.2rem 0 .5rem}
.service-card ul, .feature ul{padding-left:1.1rem}
.service-card li, .feature li{margin:.35rem 0;color:var(--muted)}

.card:hover, .feature:hover, .service-card:hover, .about-card:hover{
  transform:translateY(-8px);
  box-shadow:0 14px 30px rgba(27,20,12,0.12)
}

.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:1.4rem}

.checklist{list-style:none;padding-left:0;margin:0}
.checklist li{margin:.5rem 0;padding-left:1.6rem;position:relative;color:var(--muted)}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;opacity:.9;color:var(--accent)}

.contact{display:grid;grid-template-columns:1fr .9fr;gap:1.4rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0}
input,select,textarea{
  background:#fff;
  border:1px solid var(--accent);
  color:var(--text);
  border-radius:12px;
  padding:.8rem
}
.map{width:100%;height:320px;border:0;border-radius:18px;filter:grayscale(.05)}

.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:.25s ease}
.btn--primary{
  background:var(--accent);
  color:#fff;
  font-weight:600;
  box-shadow:0 6px 18px rgba(201,166,107,0.18)
}
.btn--primary:hover{
  background:var(--accent-dark);
  box-shadow:0 8px 20px rgba(155,122,74,0.22)
}
.btn--outline{
  background:transparent;
  border:1px solid var(--accent);
  color:var(--accent-dark)
}

.footer{
  background:var(--accent-dark);
  color:#fff;
  border-top:1px solid #d8c29c;
  padding:2.2rem 0 1rem
}
.footer__inner{display:grid;gap:1.2rem}
.logo--footer{font-weight:800;margin-bottom:.3rem;color:#fff}
.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.footer__bottom{opacity:.9;margin-top:.6rem;color:#fff}

/* Animations and reveals */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease, transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
.hero__content{animation:slideIn .9s cubic-bezier(.2,.9,.2,1) .15s both}
@keyframes slideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* RESPONSIVE */
@media (max-width: 900px){
  .features, .cards, .service-grid{grid-template-columns:1fr 1fr}
  .two-col{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .nav__links{
    display:none;
    position:absolute;
    top:100%;
    right:1rem;
    background:#fff;
    border:1px solid var(--accent);
    border-radius:16px;
    padding:.6rem;
    flex-direction:column;
    gap:.6rem
  }
  .menu-btn{display:flex}
  .features, .cards, .service-grid{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
}

/* Popup */
.popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.popup-content {
  background: var(--card);
  color: var(--text);
  border: 2px solid var(--accent);
  border-radius: 14px;
  padding: 2rem;
  width: 90%;
  max-width: 400px;
  text-align: center;
  position: relative;
  animation: fadeIn 0.4s ease;
}

.popup-content h2 {
  margin-top: 0;
  color: var(--accent-dark);
}

.popup-content label {
  display: block;
  margin: 0.8rem 0;
  text-align: left;
  font-weight: 600;
}

.popup-content input {
  width: 100%;
  padding: 0.6rem;
  margin-top: 0.3rem;
  border: 1px solid var(--accent);
  border-radius: 8px;
}

.popup-close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--text);
}

.thank-you {
  display: none;
  margin-top: 1rem;
  font-size: 1.2rem;
  font-weight: bold;
  color: green;
  animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
  from {opacity: 0; transform: scale(0.95);}
  to {opacity: 1; transform: scale(1);}
}

.fade-out {
  animation: fadeOut 0.5s forwards;
}

@keyframes fadeOut {
  to {opacity: 0; transform: scale(0.95);}
}
