/* =========================================================
   CARPETO — GREEN GLASS SKIN ✅ (FIXED BLENDING)
   - Light green background (fresh/clean vibe)
   - Dark readable text + glass-white cards
   - No weird "bands" between sections
   - Keeps your existing class names & slider/pricing/video fixes
========================================================= */

/* ===================== TOKENS ===================== */
:root{
  /* Background (green) */
  --bg:   #ecfff5;   /* very light mint */
  --bg2:  #dcfced;   /* slightly deeper mint */

  /* Text */
  --text: #071b16;
  --muted:#3c5d54;
  --muted2:#5a7b72;

  /* Brand (green palette) */
  --navy:  #0b3a2c;   /* deep green */
  --navy2: #0f5a40;   /* richer green */
  --aqua:  #22c55e;   /* main green accent */
  --aqua2: #86efac;   /* light green accent */
  --gold:  #f6c343;   /* optional accent if needed */

  /* Surfaces */
  --panel: rgba(255,255,255,.78);
  --panel2: rgba(255,255,255,.62);

  /* Lines & shadows */
  --line:  rgba(7,27,22,.10);
  --line2: rgba(7,27,22,.16);
  --shadow: 0 18px 60px rgba(11,58,44,.14);
  --shadow2: 0 12px 30px rgba(11,58,44,.12);

  --radius: 18px;
  --radius2: 28px;
  --container: 1120px;
}

/* ===================== BASE ===================== */
*{ box-sizing:border-box; }
html,body{ height:100%; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);

  /* LIGHT GREEN BACKGROUND */
  background:
    radial-gradient(1000px 620px at 12% -12%, rgba(34,197,94,.20), transparent 62%),
    radial-gradient(900px 600px at 112% 0%, rgba(134,239,172,.22), transparent 56%),
    radial-gradient(900px 650px at 55% 110%, rgba(15,90,64,.12), transparent 62%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 55%, var(--bg) 100%);
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.container,
.wrap{
  width: min(var(--container), calc(100% - 32px));
  margin: 0 auto;
}

.muted{ color: var(--muted); }

/* ===================== SECTION SYSTEM (FIXED BLENDING) ===================== */
.sec, .section{
  position: relative;
  isolation: isolate;
  padding: 56px 0;
}

/* remove any old separators that caused bands */
.sec::before, .section::before,
.sec::after,  .section::after{
  display:none !important;
}

/* subtle “bubbles” watermark in green */
.sec > .container, .section > .container{ position:relative; }
.sec > .container::before,
.section > .container::before{
  content:"";
  position:absolute;
  inset: -18px -8px -18px -8px;
  pointer-events:none;
  z-index:-1;
  opacity:.55;
  background:
    radial-gradient(18px 18px at 12% 18%, rgba(134,239,172,.40), transparent 60%),
    radial-gradient(26px 26px at 22% 62%, rgba(34,197,94,.20), transparent 60%),
    radial-gradient(22px 22px at 54% 30%, rgba(134,239,172,.26), transparent 60%),
    radial-gradient(34px 34px at 80% 18%, rgba(34,197,94,.16), transparent 60%),
    radial-gradient(20px 20px at 86% 70%, rgba(34,197,94,.14), transparent 60%),
    radial-gradient(28px 28px at 62% 84%, rgba(134,239,172,.20), transparent 60%);
}

/* soft section variant */
.section--soft,
.sec--soft{
  background:
    radial-gradient(980px 560px at 10% 0%, rgba(34,197,94,.10), transparent 60%),
    radial-gradient(980px 560px at 90% 0%, rgba(134,239,172,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.60), rgba(255,255,255,.36));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

/* ===================== REVEAL ===================== */
.reveal, .revealItem{
  opacity: 0;
  transform: translateY(14px) scale(.995);
  filter: blur(10px);
  transition:
    opacity .85s ease,
    transform .85s cubic-bezier(.2,.8,.2,1),
    filter .85s ease;
  will-change: opacity, transform, filter;
}
.reveal.is-in, .revealItem.is-in{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal, .revealItem{ opacity: 1; transform:none; filter:none; transition:none; }
}

/* ===================== TOP STRIP ===================== */
.topstrip{
  background: linear-gradient(90deg, rgba(34,197,94,.14), rgba(134,239,172,.14));
  border-bottom: 1px solid var(--line);
}
.topstrip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 10px 0;
  font-size: 13px;
  color: rgba(7,27,22,.78);
}
.topstrip__left,.topstrip__right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.topstrip__link{ display:inline-flex; align-items:center; gap:8px; opacity:.95; }
.topstrip__link:hover{ opacity:1; text-decoration: underline; }
.dot{ opacity:.55; }
.i{
  width:18px; height:18px;
  display:grid; place-items:center;
  border-radius: 6px;
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(7,27,22,.10);
  font-size: 12px;
}

/* ===================== HEADER ===================== */
.header{
  position: sticky;
  top:0;
  z-index: 60;
  backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.58));
  border-bottom: 1px solid var(--line);
}
.header__inner{
  display:flex;
  align-items:center;
  gap:14px;
  padding: 0 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 220px;
}
.brand__name img{
  width: 10.2rem;
  filter: drop-shadow(0 10px 18px rgba(11,58,44,.14));
}

.nav{ display:none; gap:18px; margin-left: 6px; }
.nav a{
  font-size: 14px;
  color: rgba(7,27,22,.82);
  padding: 8px 10px;
  border-radius: 999px;
}
.nav a:hover{
  color: rgba(7,27,22,.96);
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(34,197,94,.18);
}

.header__cta{ display:none; margin-left:auto; gap:10px; align-items:center; }

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius: 999px;
  padding: 11px 14px;
  font-weight: 900;
  letter-spacing: .2px;
  border: 1px solid rgba(7,27,22,.12);
  background: rgba(255,255,255,.78);
  color: rgba(7,27,22,.92);
  box-shadow: 0 10px 24px rgba(11,58,44,.10);
  transition: transform .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
}
.btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.92);
  border-color: rgba(7,27,22,.18);
}
.btn:active{ transform: translateY(0); }

.btn--primary{
  background: linear-gradient(135deg, var(--navy), var(--navy2));
  color: #ffffff;
  border-color: rgba(11,58,44,.28);
  box-shadow: 0 18px 38px rgba(11,58,44,.22);
}
.btn--primary:hover{ filter: brightness(1.03); }

.btn--ghost{
  background: rgba(255,255,255,.62);
  border-color: rgba(34,197,94,.22);
  color: rgba(7,27,22,.92);
}
.btn--ghost:hover{
  background: rgba(34,197,94,.10);
  border-color: rgba(34,197,94,.32);
}

.btn--call{
  background: linear-gradient(135deg, rgba(34,197,94,.28), rgba(134,239,172,.38));
  color: rgba(7,27,22,.92);
  border-color: rgba(34,197,94,.32);
  box-shadow: 0 18px 34px rgba(34,197,94,.18);
}

.btn--lg{ padding: 13px 16px; }

.btnIcon{
  width: 22px; height: 22px;
  display:grid; place-items:center;
  border-radius: 10px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(7,27,22,.10);
}

/* ===================== MOBILE MENU ===================== */
.navToggle{ position:absolute; left:-9999px; }
.hamburger{
  margin-left:auto;
  width: 44px; height: 44px;
  border-radius: 16px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(7,27,22,.12);
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow: 0 10px 22px rgba(11,58,44,.10);
}
.hamburger span{
  display:block;
  width: 18px;
  height: 2px;
  background: rgba(7,27,22,.86);
  margin: 2.2px 0;
  border-radius: 2px;
}
.mobileMenu{
  position: fixed;
  inset: 0;
  pointer-events:none;
  opacity:0;
  transition: opacity .2s ease;
  z-index: 9999;
}
.mobileMenu__backdrop{ position:absolute; inset:0; background: rgba(7,27,22,.42); z-index:1; }

/* panel from top */
.mobileMenu__panel{
  position:absolute;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(7,27,22,.12);
  box-shadow: var(--shadow);
  overflow:hidden;
  z-index:2;
}
.mobileMenu__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px;
  border-bottom: 1px solid rgba(7,27,22,.10);
}
.mobileMenu__title{ font-weight: 1000; color: rgba(7,27,22,.92); }
.xBtn{
  width: 40px; height: 40px;
  border-radius: 16px;
  display:grid; place-items:center;
  border: 1px solid rgba(7,27,22,.12);
  background: rgba(255,255,255,.78);
  cursor:pointer;
}
.mobileMenu__links{ display:grid; padding: 10px; }
.mobileMenu__links a{
  padding: 12px 12px;
  border-radius: 16px;
  color: rgba(7,27,22,.88);
}
.mobileMenu__links a:hover{ background: rgba(34,197,94,.10); }
.mobileMenu__actions{
  display:grid;
  gap:10px;
  padding: 12px;
  border-top: 1px solid rgba(7,27,22,.10);
}
#navToggle:checked ~ .mobileMenu{ opacity:1; pointer-events:auto; }

/* ===================== SIDE CTA ===================== */
.sideCta{
  position: fixed;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 55;

  writing-mode: vertical-rl;
  text-orientation: mixed;
  padding: 12px 10px;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--navy2), var(--aqua));
  color: #fff;
  font-weight: 1000;
  letter-spacing: .4px;
  box-shadow: 0 18px 40px rgba(11,58,44,.18);
  border: 1px solid rgba(11,58,44,.10);
}
.sideCta:hover{ filter: brightness(1.03); }

/* ===================== HERO ===================== */
.hero{ padding-top: 28px; }
.hero__inner{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(34,197,94,.22);
  width: fit-content;
  color: rgba(7,27,22,.78);
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 10px 22px rgba(11,58,44,.08);
}
.badge__dot{
  width:10px; height:10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--aqua), var(--aqua2));
  box-shadow: 0 0 0 6px rgba(34,197,94,.12);
}

.hero h1{
  margin: 14px 0 10px;
  font-size: clamp(28px, 5.7vw, 46px);
  line-height: 1.03;
  letter-spacing: -.6px;
  color: rgba(7,27,22,.96);
}
.accent{
  background: linear-gradient(135deg, var(--navy2), var(--aqua));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lead{
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 15.5px;
  line-height: 1.55;
  max-width: 60ch;
}
.hero__actions{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  margin-bottom: 16px;
}

.hero__trust{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 10px;
}
.trustItem{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: 0 12px 26px rgba(11,58,44,.08);
  backdrop-filter: blur(10px);
}
.trustItem__icon{
  width: 34px; height: 34px;
  border-radius: 16px;
  display:grid; place-items:center;
  background: rgba(11,58,44,.92);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  box-shadow: 0 10px 18px rgba(11,58,44,.14);
}
.trustItem__title{ font-weight: 1000; }
.trustItem__text{ font-size: 13px; color: var(--muted); margin-top: 2px; }

.hero__media{ display:grid; gap: 12px; }

.mediaCard{
  position: relative;
  border-radius: var(--radius2);
  overflow:hidden;
  border: 1px solid rgba(7,27,22,.10);
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}
.mediaCard__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(800px 480px at 10% 10%, rgba(34,197,94,.16), transparent 60%),
    radial-gradient(820px 480px at 100% 0%, rgba(134,239,172,.14), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.38));
}
.mediaCard__img{ position: relative; padding: 14px; }

.mediaCard__stat{
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
}
.statPill{
  display:flex;
  flex-direction:column;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(7,27,22,.10);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 22px rgba(11,58,44,.10);
}
.statPill__big{ font-weight: 1000; letter-spacing: -.2px; color: rgba(7,27,22,.92); }
.statPill__small{ font-size: 13px; color: rgba(60,93,84,.92); }

.quickCards{ display:grid; grid-template-columns: 1fr; gap: 10px; }
.qcard{
  display:flex;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: 0 12px 24px rgba(11,58,44,.08);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  backdrop-filter: blur(10px);
}
.qcard:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.92);
  border-color: rgba(34,197,94,.24);
}
.qcard__icon{
  width: 38px; height: 38px;
  border-radius: 16px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(34,197,94,.16), rgba(134,239,172,.16));
  border: 1px solid rgba(34,197,94,.18);
}
.qcard__title{ font-weight: 1000; }
.qcard__text{ font-size: 13px; color: var(--muted); margin-top: 2px; }

/* ===================== HEADINGS / GRIDS / CARDS ===================== */
.sectionHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.sectionHead h2{
  margin:0;
  font-size: 26px;
  letter-spacing: -.4px;
  color: rgba(7,27,22,.96);
}
.sectionHead p{ margin:8px 0 0; color: var(--muted); }

.grid{ display:grid; gap: 12px; }

.card{
  border-radius: var(--radius2);
  background: var(--panel);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: 0 14px 32px rgba(11,58,44,.10);
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}
.card::after{
  content:"";
  position:absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  top: -70px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%,
    rgba(34,197,94,.26),
    rgba(34,197,94,.10),
    rgba(34,197,94,0) 65%);
  pointer-events:none;
  z-index: 0;
}
.card > *{ position: relative; z-index: 1; }

/* ===================== SERVICES ===================== */
.services{ grid-template-columns: 1fr; }
.serviceCard{ overflow:hidden; }
.serviceCard__media{ position: relative; padding: 12px; }

.tag{
  position:absolute;
  top: 12px;
  left: 12px;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 1000;
  background: rgba(34,197,94,.14);
  border: 1px solid rgba(34,197,94,.22);
  color: rgba(11,58,44,.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 18px rgba(11,58,44,.08);
}
.tag--alt{ left:auto; right: 12px; }

.serviceCard__body{ padding: 14px 14px 16px; }
.serviceCard__body h3{ margin: 2px 0 8px; font-size: 18px; letter-spacing: -.2px; }
.serviceCard__actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 12px; }

/* dark green panel body */
.serviceCard__body{
  background: linear-gradient(180deg, rgba(11,58,44,.96), rgba(11,58,44,.90));
  color:#fff;
  border-top: 1px solid rgba(255,255,255,.10);
}
.serviceCard__body .muted{ color: rgba(255,255,255,.82); }
.serviceCard__body h3{ color:#fff; }
.serviceCard__actions .btn--ghost{
  background: rgba(255,255,255,.14);
  color:#fff;
  border-color: rgba(255,255,255,.18);
}

/* ===================== STEPS ===================== */
.steps{ grid-template-columns: 1fr; }
.step{ padding: 16px; }
.step__num{
  display:inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.20);
  font-weight: 1000;
  margin-bottom: 10px;
  color: rgba(11,58,44,.92);
}
.step h3{ margin: 0 0 6px; }
.step p{ margin: 0; }

.notice{
  margin-top: 12px;
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 14px;
  border-radius: 18px;
  background: var(--panel);
  border: 1px dashed rgba(11,58,44,.22);
  box-shadow: 0 12px 24px rgba(11,58,44,.08);
  backdrop-filter: blur(10px);
}
.notice__icon{
  width: 34px; height: 34px;
  border-radius: 16px;
  display:grid; place-items:center;
  background: rgba(11,58,44,.92);
  border: 1px solid rgba(255,255,255,.16);
  color:#fff;
}

/* ===================== SPLIT ===================== */
.split{ display:grid; grid-template-columns: 1fr; gap: 14px; }
.kicker{ margin:0 0 10px; font-weight: 1000; color: rgba(7,27,22,.82); }
.lead2{ margin: 12px 0 14px; color: var(--muted); line-height: 1.6; }

.priceHighlight{
  font-weight: 1000;
  color: transparent;
  background: linear-gradient(135deg, var(--navy2), var(--aqua));
  -webkit-background-clip: text;
  background-clip: text;
}

.bullets{ margin:0; padding-left: 18px; color: rgba(7,27,22,.80); }
.bullets li{ margin: 8px 0; padding: 6px 0; }
.bullets li::marker{ color: rgba(34,197,94,.95); }

.ctaCard{ padding: 16px; }
.ctaCard h3{ margin: 2px 0 6px; }
.ctaStack{ display:grid; gap: 10px; margin-top: 12px; }

.ctaCard__foot{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(7,27,22,.10);
}
.mini__k{ font-size: 12px; color: var(--muted2); }
.mini__v a{ font-weight: 1000; color: rgba(11,58,44,.92); }
.mini__v a:hover{ text-decoration: underline; }

.mediaStrip{
  margin-top: 12px;
  display:flex;
  gap: 12px;
  align-items:center;
  padding: 12px;
  border-radius: var(--radius2);
  background: var(--panel);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: 0 14px 30px rgba(11,58,44,.08);
  backdrop-filter: blur(10px);
}
.mediaStrip__img{ width: 120px; flex: 0 0 auto; }
.mediaStrip__title{ font-weight: 1000; }
.mediaStrip__sub{ font-size: 13px; color: var(--muted); }

/* ===================== WHY ===================== */
.why{ grid-template-columns: 1fr; }
.whyCard{ padding: 16px; }
.whyCard__icon{
  width: 44px; height: 44px;
  border-radius: 18px;
  display:grid; place-items:center;
  background: rgba(11,58,44,.92);
  border: 1px solid rgba(255,255,255,.16);
  margin-bottom: 10px;
  color: #fff;
  box-shadow: 0 14px 26px rgba(11,58,44,.16);
}
.whyCard h3{ margin: 0 0 6px; }

/* ===================== GALLERY ===================== */
.gallery{ grid-template-columns: 1fr 1fr; }
.gItem{
  min-height: 140px;
  border-radius: var(--radius2);
  border: 1px solid rgba(7,27,22,.10);
  background: rgba(255,255,255,.78);
  overflow:hidden;
  box-shadow: 0 14px 30px rgba(11,58,44,.08);
}
.gImg{
  width: 100%;
  height: 100%;
  min-height: 140px;
  object-fit: cover;
  display: block;
}

/* ===================== REVIEWS ===================== */
.reviewsGrid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.reviewCard{
  border-radius: var(--radius2);
  background: var(--panel);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: 0 14px 32px rgba(11,58,44,.10);
  padding: 14px;
  backdrop-filter: blur(10px);
}
.reviewTop{ display:flex; gap: 10px; align-items:center; margin-bottom: 10px; }

.avatar{
  width: 40px; height: 40px;
  border-radius: 999px;
  display:grid; place-items:center;
  font-weight: 1000;
  color: #ffffff;
  background: linear-gradient(135deg, var(--navy), var(--navy2));
  border: 1px solid rgba(11,58,44,.22);
  box-shadow: 0 12px 22px rgba(11,58,44,.14);
}

.reviewMeta{ line-height: 1.1; }
.reviewMeta .name{ font-weight: 1000; font-size: 14px; letter-spacing: .1px; }
.reviewMeta .time{ margin-top: 4px; font-size: 12px; color: rgba(60,93,84,.92); }

.stars{
  margin-top: 6px;
  display:flex;
  gap: 2px;
  font-size: 13px;
  color: #f4b400;
  letter-spacing: .5px;
}
.reviewText{
  margin: 0 0 12px;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(7,27,22,.82);
}
.reviewSource{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 12px;
  color: rgba(60,93,84,.92);
}
.gIcon{
  width: 22px; height: 22px;
  border-radius: 999px;
  display:grid; place-items:center;
  font-weight: 1000;
  color: rgba(11,58,44,.92);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(11,58,44,.12);
}
.reviewsActions{
  margin-top: 18px;
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
}

/* ===================== GUARANTEE / FRAME ===================== */
.centerHead{ text-align:center; }
.badgeCheck{
  width: 56px; height: 56px;
  margin: 0 auto 14px;
  border-radius: 18px;
  display:grid; place-items:center;
  font-weight: 1000;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(34,197,94,.22);
  box-shadow: 0 18px 44px rgba(11,58,44,.10);
  color: rgba(11,58,44,.92);
}
.frameBox{
  margin-top: 18px;
  border-radius: var(--radius2);
  padding: 14px;
  background:
    radial-gradient(980px 560px at 10% 10%, rgba(34,197,94,.12), transparent 60%),
    radial-gradient(980px 560px at 90% 0%, rgba(134,239,172,.12), transparent 55%),
    rgba(255,255,255,.72);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: var(--shadow);
}
.frameImg{
  display:block;
  width: 100%;
  height: auto;
  border-radius: calc(var(--radius2) - 10px);
}
.centerActions{
  margin-top: 16px;
  display:flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ===================== STATS ===================== */
.statsGrid{
  margin-top: 14px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.statCard{
  text-align:center;
  border-radius: var(--radius2);
  border: 1px solid rgba(7,27,22,.10);
  padding: 18px 14px;
  background: var(--panel);
  box-shadow: 0 14px 32px rgba(11,58,44,.10);
  backdrop-filter: blur(10px);
}
.statValue{
  font-size: clamp(28px, 8vw, 44px);
  font-weight: 1000;
  color: rgba(7,27,22,.94);
  line-height: 1;
}
.statDivider{
  margin: 10px 0;
  color: rgba(60,93,84,.92);
  font-weight: 1000;
}
.statLabel{
  font-weight: 1000;
  color: rgba(7,27,22,.84);
  letter-spacing: .2px;
}

/* ===================== CONTACT / FORMS ===================== */
.contactShell{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.contactCard{
  border-radius: var(--radius2);
  background: var(--panel);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: 0 16px 38px rgba(11,58,44,.10);
  overflow:hidden;
  backdrop-filter: blur(10px);
}
.contactCard__inner{ padding: 16px; }

.contactList{ display:grid; gap: 10px; margin-top: 12px; }
.contactLine{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(7,27,22,.10);
  box-shadow: 0 12px 24px rgba(11,58,44,.08);
  backdrop-filter: blur(10px);
}
.contactLine__icon{
  width: 38px; height: 38px;
  border-radius: 16px;
  display:grid; place-items:center;
  background: rgba(11,58,44,.92);
  border: 1px solid rgba(255,255,255,.16);
  color:#fff;
  flex: 0 0 auto;
  box-shadow: 0 10px 18px rgba(11,58,44,.14);
}
.contactLine__text{ line-height: 1.45; }

.mapBox{ margin-top: 12px; }

.formGrid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 12px;
}
.field{ display:grid; gap: 8px; }

.label{
  font-size: 12px;
  letter-spacing: .3px;
  text-transform: uppercase;
  font-weight: 1000;
  color: rgba(7,27,22,.80);
}

.input,
.textarea,
.select{
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(7,27,22,.12);
  background: rgba(255,255,255,.86);
  color: rgba(7,27,22,.92);
  padding: 12px 12px;
  outline: none;
  box-shadow: 0 10px 22px rgba(11,58,44,.08);
  transition: border-color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.textarea{ min-height: 120px; resize: vertical; padding-top: 12px; }

.input::placeholder,
.textarea::placeholder{ color: rgba(90,123,114,.92); }

.input:focus,
.textarea:focus,
.select:focus{
  border-color: rgba(34,197,94,.55);
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 34px rgba(34,197,94,.16);
}

.formActions{
  margin-top: 12px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:center;
}

/* full width buttons on mobile (optional) */
.formActions .btn{ width: 100%; }
@media (min-width: 520px){
  .formActions .btn{ width: auto; }
}

/* ===================== FOOTER ===================== */
.footer{
  padding: 34px 0;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(980px 560px at 10% 0%, rgba(34,197,94,.10), transparent 60%),
    radial-gradient(980px 560px at 90% 0%, rgba(134,239,172,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.34));
}
.footer__inner{
  display:grid;
  gap: 14px;
  align-items:start;
}
.footer__brand img{
  width: 11rem;
  filter: drop-shadow(0 14px 24px rgba(11,58,44,.12));
}
.footer__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.footer h4{
  margin: 0 0 10px;
  font-size: 14px;
  letter-spacing: .2px;
  text-transform: uppercase;
  color: rgba(7,27,22,.84);
}
.footer a{ opacity:.92; }
.footer a:hover{ opacity:1; text-decoration: underline; }
.footer__small{
  margin-top: 12px;
  font-size: 12px;
  color: rgba(60,93,84,.92);
  border-top: 1px solid rgba(7,27,22,.10);
  padding-top: 12px;
}

/* ===================== SLIDER / CAROUSEL (SAFE) ===================== 
.slider{ position: relative; }
.sliderTrack{
  display:flex;
  gap: 12px;
  overflow:auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 10px;
}
.slide{
  flex: 0 0 88%;
  scroll-snap-align: start;
}
@media (min-width: 820px){
  .slide{ flex-basis: 48%; }
}
@media (min-width: 1100px){
  .slide{ flex-basis: 32%; }
}

/* hide scrollbar but keep scroll 
.sliderTrack{ scrollbar-width: none; }
.sliderTrack::-webkit-scrollbar{ height: 0; } */

/* ===================== VIDEO / IFRAME (SAFE) ===================== */
.videoWrap,
.vidWrap,
.embedWrap{
  position: relative;
  border-radius: var(--radius2);
  overflow:hidden;
  border: 1px solid rgba(7,27,22,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow2);
}
.videoWrap::before,
.vidWrap::before,
.embedWrap::before{
  content:"";
  display:block;
  padding-top: 56.25%;
}
.videoWrap > iframe,
.videoWrap > video,
.vidWrap > iframe,
.vidWrap > video,
.embedWrap > iframe,
.embedWrap > video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* ===================== PRICING (OPTIONAL HELPERS) ===================== */
.priceRow{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(7,27,22,.10);
}
.priceRow:first-child{ border-top: 0; }
.priceRow__k{ color: rgba(60,93,84,.92); }
.priceRow__v{ font-weight: 1000; color: rgba(7,27,22,.92); }

/* ===================== SMALL UTILITIES ===================== */
.hr{
  height:1px;
  background: rgba(7,27,22,.10);
  border:0;
  margin: 14px 0;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(34,197,94,.18);
  box-shadow: 0 10px 20px rgba(11,58,44,.08);
  font-weight: 900;
  font-size: 12px;
  color: rgba(7,27,22,.82);
}

/* ===================== RESPONSIVE BREAKPOINTS ===================== */
@media (min-width: 820px){
  .nav{ display:flex; }
  .header__cta{ display:flex; }
  .hamburger{ display:none; }

  .hero__inner{
    grid-template-columns: 1.08fr .92fr;
    align-items:start;
    gap: 22px;
  }
  .hero__trust{ grid-template-columns: 1fr 1fr; }
  .quickCards{ grid-template-columns: 1fr 1fr; }

  .services{ grid-template-columns: 1fr 1fr; }
  .steps{ grid-template-columns: 1fr 1fr; }
  .why{ grid-template-columns: 1fr 1fr 1fr; }
  .reviewsGrid{ grid-template-columns: 1fr 1fr; }
  .statsGrid{ grid-template-columns: 1fr 1fr 1fr; }
  .split{ grid-template-columns: 1.05fr .95fr; align-items:start; }

  .contactShell{ grid-template-columns: 1fr 1fr; align-items:start; }

  .footer__inner{ grid-template-columns: .9fr 1.1fr; }
  .footer__grid{ grid-template-columns: 1fr 1fr 1fr; }
}

@media (min-width: 1100px){
  .hero h1{ letter-spacing: -.8px; }
}

/* ===================== DARK BODY PANELS HELPERS ===================== */
.darkPanel,
.is-dark{
  background: linear-gradient(180deg, rgba(11,58,44,.96), rgba(11,58,44,.90));
  border: 1px solid rgba(255,255,255,.10);
  color:#fff;
}
.darkPanel .muted,
.is-dark .muted{ color: rgba(255,255,255,.82); }

/* ===================== SAFETY: prevent layout “bands” ===================== */
.sec, .section,
.hero, .footer{
  background-color: transparent;
}

/* ===================== HERO SLIDER (keeps your JS) ===================== */
.hero__media--inflow{ margin: 10px 0 6px; }

.slider{
  position: relative;
  padding: 0;
  border-radius: calc(var(--radius2) - 6px);
  overflow: hidden;
}
.mediaCard__img.slider{ padding:0 !important; }

.sliderTrack{
  display:flex;
  width:100%;
  transition: transform .5s ease;
  will-change: transform;
}

.slide{ flex: 0 0 100%; width:100%; }
.slide img{
  width:100%;
  height: 320px;
  object-fit: cover;
  display:block;
  border-radius: 0;
}

.sliderBtn{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(7,18,37,.55);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,.92);
  font-size: 22px;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition: transform .15s ease, background .15s ease;
  z-index: 2;
  box-shadow: 0 12px 22px rgba(0,0,0,.30);
}
.sliderBtn:hover{
  transform: translateY(-50%) scale(1.03);
  background: rgba(7,18,37,.70);
}
.sliderBtn--prev{ left: 10px; }
.sliderBtn--next{ right: 10px; }

.sliderDots{
  position:absolute;
  left: 0; right: 0;
  bottom: 10px;
  display:flex;
  justify-content:center;
  gap: 8px;
  z-index: 2;
}
.dotBtn{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.14);
  cursor:pointer;
}
.dotBtn.is-active{
  width: 18px;
  background: linear-gradient(135deg, var(--aqua), var(--gold));
  border-color: rgba(255,255,255,.10);
}

/* ===================== IMAGE HELPERS ===================== */
.mediaStrip__photo{
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  display: block;
}
.serviceImg{
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  border: 1px solid rgba(255,255,255,.10);
}

/* =========================
   PRICING SECTION (CENOVNIK)
   ========================= */
.grid.pricing{
  display:grid;
  gap:18px;
  grid-template-columns: 1fr;
}

@media (min-width: 920px){
  .grid.pricing{
    grid-template-columns: 1fr 1fr;
    gap:22px;
  }
}

.grid.pricing .card{ padding:22px 22px 18px; }

.grid.pricing h3{
  margin:0 0 6px;
  font-size:18px;
  line-height:1.2;
  color:#fff;
}

.grid.pricing p{ margin:0 0 14px; color: var(--muted); }

.priceLine{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.10);
}
.priceLine:first-of-type{ border-top:0; padding-top:4px; }
.priceLine strong{ font-weight:800; letter-spacing:-.01em; color:#fff; }
.priceLine .muted{ text-align:right; max-width:62%; }

/* bullets inside pricing card */
.grid.pricing .bullets{
  margin:8px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.grid.pricing .bullets li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background: rgba(255,255,255,.06);
}
.grid.pricing .bullets li strong{ font-weight:800; }

/* small screens */
@media (max-width: 420px){
  .priceLine{ flex-direction:column; align-items:flex-start; }
  .priceLine .muted{ text-align:left; max-width:100%; }
}

/* ===================== VIDEO SLIDER FIXES ===================== */
/* video u slideru da se ponaša kao slika */
.slide video.heroVideo{
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

#heroSlider .slide{
  width: 100%;
  flex: 0 0 100%;
  height: 320px;
  position: relative;
  overflow: hidden;
  border-radius: inherit;
}
#heroSlider .slide img,
#heroSlider .slide video.heroVideo{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* ===================== RESPONSIVE ===================== */
@media (min-width: 720px){
  .nav{ display:flex; }
  .header__cta{ display:flex; }
  .hamburger{ display:none; }

  .hero__inner{ grid-template-columns: 1.05fr .95fr; gap: 18px; }
  .hero__trust{ grid-template-columns: 1fr 1fr; }

  .services{ grid-template-columns: 1fr 1fr; }
  .steps{ grid-template-columns: 1fr 1fr; }
  .why{ grid-template-columns: 1fr 1fr; }

  .split{ grid-template-columns: 1.05fr .95fr; align-items:start; }
  .gallery{ grid-template-columns: repeat(4, 1fr); }

  .reviewsGrid{ grid-template-columns: 1fr 1fr; }
  .statsGrid{ grid-template-columns: repeat(3, 1fr); }

  .contactShell{ grid-template-columns: 1.05fr .95fr; align-items:start; }
  .formGrid{ grid-template-columns: 1fr 1fr; }
  .field--full{ grid-column: 1 / -1; }

  .footerGrid{ grid-template-columns: 1fr 1fr; }

  .slide img{ height: 420px; }
  .slide video.heroVideo{ height: 420px; }

  #heroSlider .slide{ height: 420px; }
}

@media (max-width: 520px){
  .sec, .section{ padding: 44px 0; }
  .brand{ min-width: 0; }
  .sideCta{ display:none; }
}

/* ===================== UTILITIES ===================== */
.hrLine{
  height: 1px;
  background: rgba(255,255,255,.10);
  border: 0;
  margin: 18px 0;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 12px;
  font-weight: 900;
  color: rgba(255,255,255,.92);
}
.anchorOffset{ scroll-margin-top: 92px; }
/* =====================
   PRICING TEXT COLOR FIX
   ===================== */

/* osnovni tekst u cenovniku */
.grid.pricing,
.grid.pricing p,
.grid.pricing li,
.grid.pricing .muted,
.grid.pricing .priceLine,
.grid.pricing .priceLine__k{
  color: rgba(7,27,22,.92) !important;
}

/* vrednosti cena */
.grid.pricing .priceLine strong,
.grid.pricing .priceLine__v{
  color: rgba(11,58,44,.96) !important;
}

/* naslovi paketa */
.grid.pricing h3{
  color: rgba(7,27,22,.96) !important;
}

/* kartica background da ostane svetla */
.grid.pricing .card{
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(7,27,22,.10);
}

/* bullet items u cenovniku */
.grid.pricing .bullets li{
  background: rgba(255,255,255,.70) !important;
  color: rgba(7,27,22,.92) !important;
  border: 1px solid rgba(7,27,22,.10);
}
