/* new contrasting color for email buttons */
:root{
  --ink:#072c2c;           /* deep teal */
  --teal:#0f7a79;          /* brand teal */
  --teal-600:#0b6665;
  --gold:#f2b705;          /* accent from logo */
  --sand:#f8f5ef;
  --bg:#ffffff;
  --blue:#2b6be7;          /* new contrasting color for email buttons */
  --blue-700:#1e4dcc;

  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  color:var(--ink);
  background:var(--bg);
}
img{max-width:100%;display:block}

/* Containers */
.container{width:min(1120px,93vw);margin-inline:auto}

/* Topbar */
.topbar{
  background:var(--ink);
  color:#d7efe9;
  font-size:.9rem;
}
.topbar__inner{
  padding:.5rem 0;
  display:flex;align-items:center;gap:1rem;justify-content:space-between;
}
.topbar .btn{
  font-size:.85rem;padding:.35rem .75rem;border-radius:999px
}
.btn-email{background:var(--blue);color:#fff}
.btn-email:hover{background:var(--blue-700)}
.btn-call{background:var(--gold);color:#09120f}
.btn-call:hover{filter:brightness(.95)}

/* Header / Nav */
.site-header{position:sticky;top:0;z-index:50;background:#0d3b3aee;backdrop-filter:saturate(140%) blur(6px)}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.75rem 0;
}
.brand{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none}
.brand__logo{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 2px #fff2}
.brand__name{font-weight:700;letter-spacing:.2px}
.nav__links{display:flex;align-items:center;gap:1rem}
.nav__links a{color:#dff7f4;text-decoration:none;padding:.35rem .5rem;border-radius:8px}
.nav__links a:hover{background:#ffffff1a}
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:none;cursor:pointer;text-decoration:none}
.btn-cta{background:var(--teal);color:#fff;border-radius:999px;padding:.6rem 1rem}
.btn-cta:hover{background:var(--teal-600)}
.btn-outline{border:2px solid #fff;color:#fff;background:transparent;border-radius:999px;padding:.6rem 1rem}
.btn-outline:hover{background:#ffffff1a}
.btn-lg{padding:.9rem 1.1rem;border-radius:999px}

/* Mobile nav */
.nav-toggle{display:none;background:transparent;border:0;gap:4px;flex-direction:column}
.nav-toggle span{width:22px;height:2px;background:#fff;border-radius:2px}

/* HERO */
.hero{position:relative;isolation:isolate}
.hero__bg{
  position:absolute;inset:0;
  background:url('MainBackground.png') center/cover no-repeat;
  z-index:-2;
}
.hero__overlay{
  position:absolute;inset:0;z-index:-1;
  /* stronger gradient that goes all the way down */
  background:linear-gradient(180deg, rgba(7,44,44,.55) 0%, rgba(7,44,44,.55) 55%, rgba(7,44,44,.55) 100%);
}
.hero__content{
  min-height:72dvh;
  padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,80px);
  display:grid;place-items:center;text-align:center;gap:1.25rem;
  color:#e9fbf7;
}
.hero__watermark{width:68px;height:68px;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));margin-bottom:.25rem}
.hero__title{font-size:clamp(2.2rem,4.6vw,3.5rem);line-height:1.12;margin:0}
.hero__title .accent{color:var(--gold)}
.hero__sub{max-width:52ch;margin:0 auto;color:#d7efe9}
.hero__actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}

/* Serving card */
.serving{padding:56px 0;background:linear-gradient(180deg,#f7fbfb 0%, #ffffff 100%)}
.serving__card{
  background:linear-gradient(180deg,#e8f6f5,#eefaf9);
  border:1px solid #def0ef;border-radius:22px;box-shadow:var(--shadow);
  padding:28px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap
}
.serving__copy h2{margin:0 0 .35rem;font-size:clamp(1.4rem,3vw,1.9rem)}
.serving__copy p{margin:.25rem 0;max-width:70ch}
.serving__actions{display:flex;gap:.75rem;align-items:center}

/* Sections */
.pad-y{padding:64px 0}
.section-title{font-size:clamp(1.6rem,3.4vw,2.2rem);margin:0 0 18px}
.grid{display:grid;gap:16px}
.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:#fff;border:1px solid #edf3f3;border-radius:16px;box-shadow:var(--shadow);padding:18px}
.card h3{margin:.25rem 0 .25rem}

/* CTA */
.cta{background:linear-gradient(180deg,#f7fbfb 0%, #ffffff 100%)}
.cta__inner{
  background:#fff;border:1px solid #edf3f3;border-radius:22px;box-shadow:var(--shadow);
  padding:28px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap
}
.cta__logo{width:48px;height:48px}
.cta__copy h2{margin:.25rem 0 .35rem}
.cta__copy p{margin:0}

/* Footer */
.site-footer{background:#0b3433;color:#cfeeea}
.footer__inner{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:28px 0;
}
.footer__brand{display:flex;align-items:center;gap:.6rem}
.footer__brand img{width:32px;height:32px;border-radius:50%}
.footer__nav{display:flex;gap:.8rem;flex-wrap:wrap}
.footer__nav a{color:#cfeeea;text-decoration:none}
.footer__nav a:hover{text-decoration:underline}
.footer__contact a{color:#fff;text-decoration:none;display:block}
.footer__bottom{border-top:1px solid #114442;padding:14px 0;color:#abd9d1}

/* Responsive */
@media (max-width:900px){
  .nav__links{position:fixed;inset:64px 16px auto 16px;background:#0d3b3a;border:1px solid #0f4a48;border-radius:16px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column}
  .nav.open .nav__links{display:flex}
  .nav-toggle{display:flex}
}

/* === GOOGLE REVIEWS SECTION === */
.google-reviews {
  margin-top: 1.8rem;
  background: rgba(255,255,255,0.9);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  padding: 1.8rem;
  text-align: center;
  color: #0b2c2c;
}

.reviews-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
  color: var(--teal);
}

.reviews-container {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 1.4rem;
}

.review {
  background: #f8fbfb;
  border-radius: 10px;
  padding: 1rem;
  border: 1px solid #e5f0ef;
  box-shadow: 0 4px 10px rgba(0,0,0,0.04);
}

.review p {
  font-size: 0.95rem;
  color: #123;
  margin: 0.5rem 0;
}

.stars {
  color: #f5b900;
  font-size: 1.2rem;
  margin-bottom: 0.4rem;
}

.reviewer {
  font-size: 0.85rem;
  color: #557;
}

/* === FAQ Section === */
.faq-section {
  padding: 64px 0;
  background: #f9fbfb;
}

.faq {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.faq-item {
  background: #ffffff;
  border: 1px solid #dbe7e5;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq-question {
  width: 100%;
  text-align: left;
  background: var(--teal);
  color: #ffffff;
  font-weight: 600;
  font-size: 1rem;
  padding: 1rem 1.2rem;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.3s ease;
}

.faq-question::after {
  content: "+";
  font-weight: 700;
  transition: transform 0.3s ease;
}

.faq-item.active .faq-question::after {
  content: "−";
}

.faq-question:hover {
  background: var(--teal-600);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  background: #f8fbfb;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 1.2rem;
}

.faq-item.active .faq-answer {
  max-height: 200px; /* expands smoothly */
  padding: 0.8rem 1.2rem 1.2rem;
}

.faq-answer p {
  margin: 0;
  color: #0a2a2a;
  font-size: 0.95rem;
}
/* === FAQ Scroll Reveal === */
.faq-item {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .5s ease, transform .5s ease;
  will-change: opacity, transform;
}

/* when revealed */
.faq-item.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* stagger helper (JS sets --delay) */
.faq-item.in-view {
  transition-delay: var(--delay, 0ms);
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .faq-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
