
:root{--cream:#fffaf2;--linen:#f7ecdc;--sand:#ead7bd;--dark:#21160f;--brown:#3a291d;--gold:#b98b40;--gold2:#d9b46d;--muted:#756557;--white:#fff;--shadow:0 22px 70px rgba(42,28,18,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,var(--cream),#f3e5d1);color:var(--brown);line-height:1.65}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.08}h1{font-size:clamp(2.5rem,6vw,5.7rem);margin:0 0 22px}h2{font-size:clamp(2rem,4vw,3.7rem);margin:0 0 18px}h3{font-size:1.35rem;margin:0 0 10px}p{margin:0 0 18px}a{color:inherit}.container{width:min(1180px,92vw);margin:auto}.topbar{background:var(--dark);color:#f9ead2;text-align:center;padding:9px 16px;font-size:.93rem}.header{position:sticky;top:0;z-index:50;background:rgba(255,250,242,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(185,139,64,.22)}.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:130px;height:54px;object-fit:contain}.brand span{font-family:Georgia,serif;letter-spacing:.18em;color:var(--brown);font-size:1.1rem}.links{display:flex;align-items:center;gap:18px}.links a{text-decoration:none;font-weight:700;font-size:.94rem;color:#493424}.links a:hover{color:var(--gold)}.menu-btn{display:none;border:0;background:transparent;font-size:1.9rem;color:var(--brown)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;text-decoration:none;font-weight:800;border:1px solid rgba(185,139,64,.35);transition:.2s}.btn-primary{background:linear-gradient(135deg,var(--gold2),#8c6125);color:#fff;box-shadow:0 14px 35px rgba(140,97,37,.25)}.btn-primary:hover{transform:translateY(-2px)}.btn-soft{background:rgba(255,250,242,.72);color:var(--brown)}
.hero{padding:70px 0 52px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.kicker{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:900;margin-bottom:16px}.lead{font-size:1.17rem;color:#5c4838;max-width:720px}.hero-card{border-radius:38px;overflow:hidden;position:relative;box-shadow:var(--shadow);background:var(--dark)}.hero-card img{width:100%;height:600px;object-fit:cover;display:block}.hero-note{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,250,242,.92);border-radius:24px;padding:22px}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.trust-row div{background:rgba(255,255,255,.64);border:1px solid rgba(185,139,64,.22);border-radius:22px;padding:18px}.section{padding:78px 0}.dark{background:linear-gradient(135deg,#21160f,#422d1f);color:#fff7e8}.dark .muted{color:#e5d4ba}.muted{color:var(--muted)}.center{text-align:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:36px;align-items:center}.card{background:rgba(255,250,242,.78);border:1px solid rgba(185,139,64,.22);border-radius:30px;padding:30px;box-shadow:0 14px 42px rgba(42,28,18,.08)}.icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),#7d5621);color:#fff;font-weight:900;margin-bottom:16px}.services .card{min-height:220px}.photo{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:#e9dcc9}.photo img{width:100%;height:100%;display:block;object-fit:cover;min-height:380px}.photo.tall img{min-height:520px}.founder{display:grid;grid-template-columns:350px 1fr;gap:44px;align-items:center}.founder img{width:100%;border-radius:30px;box-shadow:var(--shadow);border:6px solid rgba(255,250,242,.86)}.signature{font-family:"Brush Script MT","Segoe Script",cursive;font-size:2.2rem;color:var(--gold);margin-top:8px}.list{list-style:none;padding:0;margin:18px 0 0}.list li{position:relative;padding-left:30px;margin:10px 0}.list li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}.cta{background:linear-gradient(135deg,#fff7ea,#e7cfaa);border-top:1px solid rgba(185,139,64,.25);border-bottom:1px solid rgba(185,139,64,.25)}.form{display:grid;gap:13px}.form input,.form select,.form textarea{font:inherit;border-radius:15px;border:1px solid rgba(96,72,50,.22);padding:15px 16px;background:#fffaf3;color:var(--brown);width:100%}.form textarea{min-height:130px;resize:vertical}.footer{background:#1f150e;color:#f7ead6;padding:48px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}.footer a{text-decoration:none}.small{font-size:.92rem;color:#d9c6a8}.split-band{display:grid;grid-template-columns:.95fr 1.05fr;gap:36px;align-items:center}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.badge{display:inline-flex; padding:8px 12px;border-radius:999px;background:rgba(255,250,242,.7);border:1px solid rgba(185,139,64,.25);font-weight:700;color:#6d532d;margin:6px 6px 0 0}
@media(max-width:920px){.menu-btn{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;background:#fffaf2;flex-direction:column;align-items:flex-start;padding:20px 4vw;border-bottom:1px solid rgba(185,139,64,.22)}.links.open{display:flex}.hero-grid,.grid-2,.founder,.footer-grid,.split-band{grid-template-columns:1fr}.grid-3,.trust-row,.photo-grid{grid-template-columns:1fr}.hero-card img{height:420px}.brand span{font-size:.9rem}}


/* Light cards inside dark sections must use dark readable text */
.dark .card{
  color:#2f2117 !important;
  background:rgba(255,250,242,.94) !important;
}
.dark .card h3,
.dark .card strong{
  color:#2a1c12 !important;
}
.dark .card p,
.dark .card .muted{
  color:#5f5043 !important;
}

/* Make the why-choose cards easier to read */
.dark .grid-2 .card{
  min-height:155px;
}
.dark .grid-2 .card p{
  font-size:1rem;
  line-height:1.55;
}

/* Slightly improve header spacing with the restored logo */
.nav{
  min-height:78px;
}
@media(max-width:920px){
  .brand img{
    width:145px !important;
  }
}





/* Fix unreadable cards in dark sections */
.dark .card{
  color:#2f2117 !important;
  background:rgba(255,250,242,.95) !important;
}
.dark .card h3,
.dark .card strong{
  color:#2a1c12 !important;
}
.dark .card p,
.dark .card .muted{
  color:#5f5043 !important;
}

/* Mobile: keep logo small and centered nicely */
@media(max-width:920px){
  .topbar{
    font-size:.82rem !important;
    padding:8px 12px !important;
  }
  .nav{
    min-height:66px !important;
    padding:8px 0 !important;
  }
  .brand img{
    width:126px !important;
    max-width:126px !important;
  }
  .links{
    z-index:999 !important;
  }
}


/* FINAL FIX: DARK BIG BUSINESS-CARD STYLE LOGO + DESKTOP HERO BALANCE */
.topbar{
  font-size:.9rem !important;
  line-height:1.45 !important;
  white-space:normal !important;
  overflow:hidden !important;
}
.header{
  background:rgba(255,250,242,.96) !important;
}
.nav{
  min-height:92px !important;
  padding:12px 0 !important;
}
.brand{
  flex-shrink:0 !important;
}
.brand img{
  width:210px !important;
  max-width:210px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}
.brand span{
  display:none !important;
}
.links{
  align-items:center !important;
}
.hero{
  padding:62px 0 58px !important;
}
h1{
  font-size:clamp(2.55rem,5.05vw,5.05rem) !important;
  line-height:1.05 !important;
}
.hero-card img{
  height:560px !important;
}

/* Dark section cards: readable text */
.dark .card{
  color:#2f2117 !important;
  background:rgba(255,250,242,.96) !important;
}
.dark .card h3,
.dark .card strong{
  color:#2a1c12 !important;
}
.dark .card p,
.dark .card .muted{
  color:#5f5043 !important;
}

/* Footer logo should match and stand out */
.footer img{
  width:230px !important;
  max-width:230px !important;
  height:auto !important;
}

/* Mobile logo must be big enough but not take over the screen */
@media(max-width:920px){
  .topbar{
    font-size:.82rem !important;
    padding:8px 12px !important;
  }
  .nav{
    min-height:78px !important;
    padding:9px 0 !important;
  }
  .brand img{
    width:158px !important;
    max-width:158px !important;
  }
  h1{
    font-size:clamp(2.35rem,12vw,4.15rem) !important;
  }
  .hero{
    padding:42px 0 48px !important;
  }
  .hero-card img{
    height:420px !important;
  }
}


/* Desktop horizontal header logo update */
.brand {display:flex; align-items:center;}
.brand img{height:auto; object-fit:contain;}
.brand .logo-desktop{display:block; width:310px; max-width:310px;}
.brand .logo-mobile{display:none; width:126px; max-width:126px;}
.nav{min-height:92px;}
@media (max-width: 920px){
  .brand .logo-desktop{display:none;}
  .brand .logo-mobile{display:block;}
  .nav{min-height:74px;}
}


/* FINAL APPROVED LOGO + HERO SECTION UPDATE */
.header{
  position:relative !important; /* top scrolls away with the page */
  top:auto !important;
  background:rgba(255,250,242,.98) !important;
  border-bottom:1px solid rgba(185,139,64,.20) !important;
  backdrop-filter:none !important;
}
.topbar{
  position:relative !important;
  background:#21160f !important;
  color:#fff7e8 !important;
  font-size:.92rem !important;
  line-height:1.35 !important;
  padding:8px 12px !important;
  text-align:center !important;
}
.nav{
  min-height:104px !important;
  padding:18px 0 !important;
}
.brand .logo-universal,
.brand img{
  width:290px !important;
  max-width:290px !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}
.links{
  gap:28px !important;
}
.links a{
  font-size:1rem !important;
  font-weight:650 !important;
}
.links .btn{
  padding:15px 25px !important;
  box-shadow:0 12px 26px rgba(140,97,37,.22) !important;
}

/* hero inspired by approved preview */
.hero{
  padding:0 !important;
  border-top:1px solid rgba(185,139,64,.16) !important;
  border-bottom:1px solid rgba(185,139,64,.16) !important;
  background:linear-gradient(90deg,#fffaf2 0%,#fffaf2 42%,#f3e5d1 100%) !important;
}
.hero .container{
  width:min(1280px,92vw) !important;
}
.hero-grid{
  display:grid !important;
  grid-template-columns:0.88fr 1.12fr !important;
  gap:52px !important;
  min-height:620px !important;
  align-items:center !important;
}
.hero-copy{
  padding:72px 0 !important;
}
.hero h1{
  font-size:clamp(3.1rem,5.4vw,5.75rem) !important;
  line-height:.98 !important;
  letter-spacing:-.035em !important;
  margin-bottom:24px !important;
  color:#25180f !important;
}
.hero .lead{
  font-size:1.12rem !important;
  max-width:520px !important;
  line-height:1.65 !important;
  color:#3f3027 !important;
}
.hero-actions{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  flex-wrap:wrap !important;
  margin-top:30px !important;
}
.call-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#2a1c12;
  font-weight:700;
}
.call-link span{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#fffaf2;
  border:1px solid rgba(185,139,64,.35);
  box-shadow:0 8px 20px rgba(42,28,18,.08);
}
.hero-photo{
  height:620px !important;
  border-radius:0 !important;
  overflow:hidden !important;
  align-self:stretch !important;
}
.hero-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  object-position:center !important;
}
.hero-card,.hero-note{display:none !important;}

@media(max-width:920px){
  .topbar{
    font-size:.78rem !important;
    padding:8px 14px !important;
  }
  .nav{
    min-height:86px !important;
    padding:12px 0 !important;
  }
  .brand .logo-universal,
  .brand img{
    width:250px !important;
    max-width:250px !important;
  }
  .hero{
    background:#fffaf2 !important;
  }
  .hero-grid{
    grid-template-columns:1fr !important;
    min-height:0 !important;
    gap:0 !important;
  }
  .hero-copy{
    padding:56px 0 32px !important;
  }
  .hero h1{
    font-size:clamp(3.05rem,13vw,4.2rem) !important;
    line-height:1.03 !important;
  }
  .hero .lead{
    font-size:1.05rem !important;
    max-width:100% !important;
  }
  .hero-actions .btn{
    width:100% !important;
  }
  .call-link{
    width:100%;
    justify-content:center;
  }
  .hero-photo{
    height:360px !important;
    border-radius:26px !important;
    margin-bottom:36px !important;
  }
  .menu-btn{
    display:block !important;
  }
}

@media(max-width:430px){
  .brand .logo-universal,
  .brand img{
    width:235px !important;
    max-width:235px !important;
  }
  .nav{
    min-height:82px !important;
  }
  .hero h1{
    font-size:clamp(2.85rem,12vw,3.75rem) !important;
  }
}
