:root{
  --forest:#1F3D2B;
  --forest-2:#2D543D;
  --sage:#4F7A5B;
  --charcoal:#2B2B2B;
  --muted:#6E746F;
  --line:#E6E8E3;
  --soft:#F5F5F2;
  --soft-2:#FBFBF9;
  --white:#FFFFFF;
  --shadow:0 12px 32px rgba(16, 24, 18, 0.08);
  --radius:20px;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter',sans-serif;
  color:var(--charcoal);
  background:var(--white);
  line-height:1.65;
}

h1,h2,h3,h4,h5,.brand-font{
  font-family:'Playfair Display',serif;
  color:var(--forest);
  line-height:1.15;
}

a{
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

.section{
  padding:5.5rem 0;
}

.section-sm{
  padding:4rem 0;
}

.section-soft{
  background:var(--soft);
}

.section-dark{
  background:linear-gradient(180deg, var(--forest) 0%, #163121 100%);
  color:var(--white);
}

.section-dark h2,
.section-dark h3,
.section-dark p,
.section-dark .small-muted-light{
  color:var(--white);
}

.eyebrow{
  display:inline-block;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  color:var(--sage);
  margin-bottom:1rem;
}

.navbar{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(230,232,227,.9);
  padding:.9rem 0;
}

.navbar-brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:var(--forest);
  font-weight:700;
  font-size:1.1rem;
}

.brand-mark{
  width:38px;
  height:38px;
  border-radius:12px;
  background:linear-gradient(180deg, var(--forest) 0%, var(--sage) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  font-size:1rem;
  box-shadow:var(--shadow);
  flex-shrink:0;
}

.nav-link{
  color:var(--charcoal);
  font-weight:500;
}

.nav-link:hover{
  color:var(--forest);
}

.btn-brand{
  background:var(--forest);
  color:var(--white);
  border:1px solid var(--forest);
  padding:.9rem 1.25rem;
  border-radius:999px;
  font-weight:600;
  transition:.2s ease;
}

.btn-brand:hover{
  background:var(--forest-2);
  border-color:var(--forest-2);
  color:var(--white);
  transform:translateY(-1px);
}

.btn-outline-brand{
  background:transparent;
  color:var(--forest);
  border:1px solid var(--forest);
  padding:.9rem 1.25rem;
  border-radius:999px;
  font-weight:600;
  transition:.2s ease;
}

.btn-outline-brand:hover{
  background:var(--forest);
  color:var(--white);
  transform:translateY(-1px);
}

.hero{
  padding:8rem 0 6rem;
  background:
    radial-gradient(circle at top right, rgba(79,122,91,.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8f8f5 100%);
  overflow:hidden;
}

.hero-title{
  font-size:clamp(2.5rem, 5.8vw, 4.9rem);
  letter-spacing:-0.03em;
  margin-bottom:1.25rem;
  max-width:11ch;
}

.hero-text{
  font-size:1.1rem;
  color:#3f4741;
  max-width:640px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2rem;
}

.hero-note{
  margin-top:1rem;
  color:var(--muted);
  font-size:.96rem;
}

.hero-card{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(230,232,227,.95);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:1.5rem;
}

.hero-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1rem;
  gap:1rem;
}

.hero-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  background:#EFF4EF;
  color:var(--forest);
  font-size:.88rem;
  font-weight:600;
  padding:.45rem .75rem;
  border-radius:999px;
}

.pipeline-col{
  background:var(--soft-2);
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem;
  height:100%;
}

.pipeline-col h6{
  font-family:'Inter',sans-serif;
  font-size:.9rem;
  font-weight:700;
  color:var(--charcoal);
  margin-bottom:.85rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.deal-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
  padding:.85rem;
  box-shadow:0 8px 20px rgba(16,24,18,.04);
  margin-bottom:.8rem;
}

.deal-card:last-child{
  margin-bottom:0;
}

.deal-title{
  font-size:.95rem;
  font-weight:700;
  color:var(--forest);
  margin-bottom:.2rem;
}

.deal-meta{
  font-size:.84rem;
  color:var(--muted);
  margin:0;
}

.section-heading{
  max-width:780px;
  margin:0 auto 3rem;
  text-align:center;
}

.section-heading p{
  color:#4E554F;
  margin-top:1rem;
  margin-bottom:0;
}

.card-clean{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.5rem;
  height:100%;
  box-shadow:0 6px 20px rgba(16,24,18,.04);
}

.icon-badge{
  width:52px;
  height:52px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#EFF4EF;
  color:var(--forest);
  font-size:1.25rem;
  margin-bottom:1rem;
}

.problem-card h4,
.solution-card h4,
.trust-card h4,
.growth-card h4{
  font-size:1.25rem;
  margin-bottom:.75rem;
}

.process-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:1.7rem;
  height:100%;
  box-shadow:0 6px 20px rgba(16,24,18,.04);
}

.process-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--forest);
  color:var(--white);
  font-weight:800;
  font-size:1rem;
  margin-bottom:1rem;
}

.pricing-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:28px;
  padding:2rem;
  height:100%;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}

.pricing-card.featured{
  border:2px solid var(--forest);
  transform:translateY(-4px);
}

.pricing-tag{
  display:inline-block;
  background:#EFF4EF;
  color:var(--forest);
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:.45rem .7rem;
  border-radius:999px;
  margin-bottom:1rem;
}

.price{
  font-size:2.5rem;
  font-weight:800;
  color:var(--forest);
  line-height:1;
  margin:.5rem 0 1rem;
}

.price small{
  font-size:1rem;
  font-weight:600;
  color:var(--muted);
}

.pricing-list{
  list-style:none;
  padding:0;
  margin:1.25rem 0 0;
}

.pricing-list li{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  margin-bottom:.8rem;
  color:#434943;
}

.pricing-list i{
  color:var(--sage);
  margin-top:.15rem;
  flex-shrink:0;
}

.cta-box{
  max-width:860px;
  margin:0 auto;
  text-align:center;
}

.cta-box p{
  max-width:740px;
  margin:1rem auto 0;
  opacity:.94;
}

.cta-eyebrow{
  color:#DDE8DF !important;
}

.growth-box{
  background:linear-gradient(180deg, #f7f8f4 0%, #f1f4ef 100%);
  border:1px solid var(--line);
  border-radius:28px;
  padding:2rem;
  box-shadow:0 10px 24px rgba(16,24,18,.05);
}

.growth-link{
  color:var(--forest);
  font-weight:700;
}

.growth-link:hover{
  color:var(--sage);
}

.footer{
  padding:2rem 0;
  background:#FAFBF9;
  border-top:1px solid var(--line);
}

.footer-brand{
  color:var(--forest);
  font-weight:700;
}

.small-muted{
  color:var(--muted);
  font-size:.95rem;
}

.footer a{
  color:var(--charcoal);
}

.footer a:hover{
  color:var(--forest);
}

.credit-link{
  color:var(--forest);
  font-weight:600;
}

.credit-link:hover{
  color:var(--sage);
}

@media (max-width: 991.98px){
  .hero{
    padding-top:7rem;
  }

  .navbar .btn-brand{
    margin-top:.8rem;
    width:100%;
  }
}

@media (max-width: 767.98px){
  .section{
    padding:4.5rem 0;
  }

  .hero{
    padding:7rem 0 4.5rem;
  }

  .hero-title{
    max-width:none;
  }

  .pricing-card.featured{
    transform:none;
  }

  .hero-card-top{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ===============================
   PREMIUM HERO
=============================== */

.navbar.scrolled{
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 30px rgba(16,24,18,.05);
}

.hero{
  position:relative;
  padding:9rem 0 6.5rem;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8f8f5 55%, #f4f5f1 100%);
  overflow:hidden;
}

.hero-bg-shape{
  position:absolute;
  border-radius:50%;
  filter:blur(10px);
  pointer-events:none;
}

.hero-bg-shape-1{
  width:420px;
  height:420px;
  right:-100px;
  top:-70px;
  background:radial-gradient(circle, rgba(79,122,91,.15) 0%, rgba(79,122,91,0) 70%);
}

.hero-bg-shape-2{
  width:360px;
  height:360px;
  left:-120px;
  bottom:-120px;
  background:radial-gradient(circle, rgba(31,61,43,.08) 0%, rgba(31,61,43,0) 70%);
}

.hero-title{
  font-size:clamp(2.7rem, 5.4vw, 5.2rem);
  letter-spacing:-0.04em;
  line-height:1.02;
  margin-bottom:1.25rem;
  max-width:11ch;
}

.hero-text{
  font-size:1.09rem;
  color:#465049;
  max-width:640px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2rem;
}

.hero-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  margin-top:1.5rem;
}

.hero-trust-item{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  color:var(--muted);
  font-size:.95rem;
  font-weight:500;
}

.hero-trust-item i{
  color:var(--sage);
}

.hero-visual-wrap{
  position:relative;
  padding-top:1rem;
}

.premium-hero-card{
  position:relative;
  z-index:2;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(230,232,227,.95);
  border-radius:30px;
  box-shadow:
    0 20px 50px rgba(16,24,18,.10),
    0 2px 10px rgba(16,24,18,.04);
  padding:1.6rem;
  backdrop-filter:blur(10px);
}

.hero-card-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1.25rem;
}

.hero-card-kicker{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--sage);
  font-weight:700;
}

.hero-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.8rem;
  margin-bottom:1rem;
}

.hero-summary-box{
  background:linear-gradient(180deg, #ffffff 0%, #f8f8f5 100%);
  border:1px solid var(--line);
  border-radius:16px;
  padding:.85rem .9rem;
}

.hero-summary-label{
  display:block;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:.3rem;
  font-weight:700;
}

.hero-summary-box strong{
  color:var(--forest);
  font-size:1.15rem;
  line-height:1;
}

.hero-floating-stat{
  position:absolute;
  z-index:3;
  min-width:145px;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(230,232,227,.95);
  border-radius:18px;
  padding:.9rem 1rem;
  box-shadow:0 18px 35px rgba(16,24,18,.10);
  backdrop-filter:blur(8px);
}

.hero-floating-stat strong{
  display:block;
  color:var(--forest);
  font-size:1.1rem;
  line-height:1.1;
}

.hero-floating-label{
  display:block;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:.35rem;
  font-weight:700;
}

.hero-floating-stat-1{
  top:-10px;
  left:-20px;
}

.hero-floating-stat-2{
  right:-18px;
  bottom:48px;
}

.hero-card-footer{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}

.hero-card-footer-item{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.9rem;
  color:var(--muted);
  font-weight:500;
}

.hero-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}

.hero-dot-green{
  background:var(--forest);
}

.hero-dot-sage{
  background:var(--sage);
}

.hero-dot-dark{
  background:var(--charcoal);
}

/* ===============================
   PREMIUM BUTTON POLISH
=============================== */

.btn-brand{
  background:linear-gradient(180deg, var(--forest) 0%, var(--forest-2) 100%);
  color:var(--white);
  border:1px solid var(--forest);
  padding:.95rem 1.3rem;
  border-radius:999px;
  font-weight:600;
  transition:.2s ease;
  box-shadow:0 10px 20px rgba(31,61,43,.12);
}

.btn-brand:hover{
  background:linear-gradient(180deg, var(--forest-2) 0%, var(--forest) 100%);
  border-color:var(--forest-2);
  color:var(--white);
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(31,61,43,.18);
}

.btn-outline-brand{
  background:rgba(255,255,255,.8);
  color:var(--forest);
  border:1px solid rgba(31,61,43,.18);
  padding:.95rem 1.3rem;
  border-radius:999px;
  font-weight:600;
  transition:.2s ease;
}

.btn-outline-brand:hover{
  background:var(--forest);
  color:var(--white);
  transform:translateY(-1px);
}

/* ===============================
   RESPONSIVE PREMIUM HERO
=============================== */

@media (max-width: 1199.98px){
  .hero-summary-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hero-floating-stat-1{
    left:0;
    top:-22px;
  }

  .hero-floating-stat-2{
    right:0;
    bottom:32px;
  }
}

@media (max-width: 991.98px){
  .hero{
    padding:8rem 0 5rem;
  }

  .hero-title{
    max-width:none;
  }

  .hero-visual-wrap{
    margin-top:1.5rem;
  }

  .hero-floating-stat-1{
    left:10px;
    top:-18px;
  }

  .hero-floating-stat-2{
    right:10px;
    bottom:18px;
  }
}

@media (max-width: 767.98px){
  .hero{
    padding:7.25rem 0 4.5rem;
  }

  .hero-summary-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hero-card-header{
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-floating-stat{
    position:static;
    margin-bottom:1rem;
  }

  .hero-visual-wrap{
    display:flex;
    flex-direction:column;
    gap:1rem;
  }

  .premium-hero-card{
    padding:1.25rem;
  }
}

/* ===============================
   TESTIMONIALS
=============================== */

.testimonial-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:1.6rem;
  height:100%;
  box-shadow:0 10px 24px rgba(16,24,18,.05);
}

.testimonial-stars{
  display:flex;
  gap:.35rem;
  margin-bottom:1rem;
  color:#D1A84A;
  font-size:.95rem;
}

.testimonial-text{
  font-size:1rem;
  color:#434943;
  margin-bottom:1.5rem;
}

.testimonial-author{
  display:flex;
  align-items:center;
  gap:.9rem;
}

.testimonial-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  background:linear-gradient(180deg, var(--forest) 0%, var(--sage) 100%);
  color:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:.95rem;
  flex-shrink:0;
  box-shadow:0 8px 20px rgba(31,61,43,.12);
}

.testimonial-author strong{
  display:block;
  color:var(--forest);
  margin-bottom:.1rem;
}

.testimonial-author p{
  color:var(--muted);
  font-size:.92rem;
}

.testimonial-note p{
  color:var(--muted);
  font-size:.96rem;
}

/* ===============================
   PRICING HOVER UPGRADE
=============================== */

.pricing-card{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
}

.pricing-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(79,122,91,.08) 0%,
    rgba(79,122,91,0) 28%
  );
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}

.pricing-card:hover{
  transform:translateY(-10px);
  box-shadow:0 22px 50px rgba(16,24,18,.13);
  border-color:rgba(31,61,43,.22);
}

.pricing-card:hover::before{
  opacity:1;
}

.pricing-card:hover .price{
  transform:translateY(-2px);
  color:var(--forest-2);
}

.price{
  transition:transform .28s ease, color .28s ease;
}

.pricing-card:hover .pricing-tag{
  background:var(--forest);
  color:var(--white);
}

.pricing-tag{
  transition:background .28s ease, color .28s ease;
}

.pricing-card:hover .pricing-list i{
  transform:scale(1.08);
  color:var(--forest);
}

.pricing-list i{
  transition:transform .22s ease, color .22s ease;
}

.pricing-card.featured:hover{
  transform:translateY(-14px) scale(1.01);
  box-shadow:0 26px 56px rgba(16,24,18,.16);
}

@media (max-width: 767.98px){
  .pricing-card:hover,
  .pricing-card.featured:hover{
    transform:none;
  }
}

/* ===============================
   GABAN FOOTER CREDIT
=============================== */

.gaban-credit{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
  flex-wrap:wrap;
}

.gaban-credit-link{
  display:inline-flex;
  align-items:center;
  opacity:.88;
  transition:opacity .2s ease, transform .2s ease;
}

.gaban-credit-link:hover{
  opacity:1;
  transform:translateY(-1px);
}

.gaban-credit-logo{
  height:24px;
  width:auto;
  display:block;
  filter:grayscale(1) contrast(1.05) brightness(.78);
}

@media (max-width: 991.98px){
  .gaban-credit{
    justify-content:flex-start;
  }
}

/* ===============================
   CONSULTATION PAGE
=============================== */

.consultation-hero{
  position:relative;
  padding:9rem 0 6rem;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8f8f5 55%, #f4f5f1 100%);
  overflow:hidden;
}

.consultation-bg-shape{
  position:absolute;
  border-radius:50%;
  filter:blur(10px);
  pointer-events:none;
}

.consultation-bg-shape-1{
  width:420px;
  height:420px;
  right:-100px;
  top:-70px;
  background:radial-gradient(circle, rgba(79,122,91,.15) 0%, rgba(79,122,91,0) 70%);
}

.consultation-bg-shape-2{
  width:340px;
  height:340px;
  left:-120px;
  bottom:-120px;
  background:radial-gradient(circle, rgba(31,61,43,.08) 0%, rgba(31,61,43,0) 70%);
}

.consultation-title{
  font-size:clamp(2.6rem, 5vw, 4.8rem);
  letter-spacing:-0.04em;
  line-height:1.04;
  margin-bottom:1.1rem;
  max-width:11ch;
}

.consultation-text{
  font-size:1.08rem;
  color:#465049;
  max-width:640px;
}

.consultation-trust{
  display:flex;
  flex-wrap:wrap;
  gap:1.1rem;
  margin-top:1.5rem;
}

.consultation-trust-item{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  color:var(--muted);
  font-size:.95rem;
  font-weight:500;
}

.consultation-trust-item i{
  color:var(--sage);
}

.consultation-summary-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(230,232,227,.95);
  border-radius:30px;
  box-shadow:
    0 20px 50px rgba(16,24,18,.10),
    0 2px 10px rgba(16,24,18,.04);
  padding:1.7rem;
  backdrop-filter:blur(10px);
}

.consultation-summary-top{
  margin-bottom:1rem;
}

.consultation-summary-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:#EFF4EF;
  color:var(--forest);
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.04em;
  padding:.55rem .8rem;
  border-radius:999px;
}

.consultation-summary-card h3{
  margin-bottom:1.2rem;
}

.consultation-checklist{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.consultation-check-item{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
  padding:1rem;
  background:linear-gradient(180deg, #ffffff 0%, #f8f8f5 100%);
  border:1px solid var(--line);
  border-radius:18px;
}

.consultation-check-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#EFF4EF;
  color:var(--forest);
  flex-shrink:0;
}

.consultation-check-item strong{
  display:block;
  color:var(--forest);
  margin-bottom:.2rem;
}

.consultation-check-item p{
  color:var(--muted);
  font-size:.95rem;
}

.consultation-mini-note{
  margin-top:1.2rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.95rem;
}

.consultation-info-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:1.5rem;
  height:100%;
  box-shadow:0 10px 24px rgba(16,24,18,.05);
}

.consultation-info-card h4{
  font-size:1.2rem;
  margin-bottom:.7rem;
}

.consultation-fit-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:1.7rem;
  height:100%;
  box-shadow:0 10px 24px rgba(16,24,18,.05);
}

.consultation-fit-card h4{
  margin-bottom:1rem;
}

.consultation-fit-card-muted{
  background:#FAFBF9;
}

.consultation-list{
  list-style:none;
  padding:0;
  margin:0;
}

.consultation-list li{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:.9rem;
  color:#434943;
}

.consultation-list li:last-child{
  margin-bottom:0;
}

.consultation-list i{
  color:var(--sage);
  margin-top:.15rem;
  flex-shrink:0;
}

.consultation-list-muted i{
  color:#8B938D;
}

@media (max-width: 991.98px){
  .consultation-hero{
    padding:8rem 0 5rem;
  }

  .consultation-title{
    max-width:none;
  }
}

@media (max-width: 767.98px){
  .consultation-hero{
    padding:7.25rem 0 4.5rem;
  }

  .consultation-summary-card{
    padding:1.25rem;
  }

  .consultation-trust{
    gap:.85rem;
  }
}