:root{
  --cms-green:#0d6a48;
  --cms-green-deep:#074b35;
  --cms-orange:#f2a01e;
  --cms-ink:#17352a;
  --cms-muted:#667a70;
  --cms-soft:#f4f8f5;
}

.cms-page-body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 12%,rgba(37,181,125,.10),transparent 24rem),
    radial-gradient(circle at 88% 28%,rgba(242,160,30,.10),transparent 22rem),
    #edf4ef;
  color:var(--cms-ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
.cms-page{
  width:min(1400px,100%);
  margin:0 auto;
  padding:clamp(16px,2.6vw,36px);
  display:flex;
  flex-direction:column;
  gap:clamp(16px,2.5vw,34px);
}
.cms-page .cms-section{
  position:relative;
  order:var(--order-desktop);
  width:100%;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(13,106,72,.12);
  border-radius:30px;
  background:
    radial-gradient(circle at 96% 5%,rgba(31,153,106,.08),transparent 24rem),
    linear-gradient(145deg,var(--section-bg,#fff),color-mix(in srgb,var(--section-bg,#fff) 92%,#e9f5ed));
  box-shadow:0 20px 52px rgba(19,62,45,.10);
  text-align:initial;
  isolation:isolate;
}
.cms-page .cms-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--cms-green),#30a875,var(--cms-orange));
  opacity:.9;
  z-index:2;
}
.cms-section-inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1180px;
  margin:auto;
  box-sizing:border-box;
  padding:clamp(32px,5vw,76px);
}
.cms-section-kicker,.cms-eyebrow{
  display:inline-block;
  margin:0 0 11px;
  color:#b06d16;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.cms-body{color:#4e6359;font-size:16px;line-height:1.8}
.cms-heading{
  max-width:760px;
  margin:0 auto 32px;
  text-align:center;
}
.cms-heading h2,.cms-content-grid h2,.cms-cta-copy h2{
  margin:0 0 11px;
  color:var(--cms-ink);
  font-size:clamp(30px,4vw,50px);
  line-height:1.06;
  letter-spacing:-.025em;
}
.cms-heading p{margin:0;color:var(--cms-muted);font-size:16px;line-height:1.65}

.cms-page .cms-type-hero{
  color:#fff;
  background-color:var(--section-bg,#07563d);
  background-image:linear-gradient(135deg,
    color-mix(in srgb,var(--section-bg,#07563d) 82%,#174d3b),
    color-mix(in srgb,var(--section-bg,#07563d) 88%,#032e20));
  box-shadow:0 22px 52px rgba(4,57,38,.18);
}
.cms-hero-visual{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.cms-hero-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:68% center;
  filter:saturate(1.08) contrast(1.04);
}
.cms-hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,
    color-mix(in srgb,var(--section-bg,#07563d) 84%,transparent) 0%,
    color-mix(in srgb,var(--section-bg,#07563d) 68%,transparent) 52%,
    color-mix(in srgb,var(--section-bg,#07563d) 38%,transparent) 100%);
}
.cms-page .cms-type-hero::before{
  height:100%;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,198,96,.28),transparent 24rem),
    radial-gradient(circle at 12% 86%,rgba(68,190,132,.20),transparent 25rem),
    linear-gradient(135deg,rgba(255,255,255,.12),transparent 38%);
  opacity:1;
  z-index:1;
}
.cms-page .cms-type-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:46%;
  background:linear-gradient(180deg,transparent,rgba(2,35,24,.30));
  pointer-events:none;
  z-index:1;
}
.cms-type-hero .cms-section-inner{
  z-index:2;
  min-height:clamp(220px,24vw,270px);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px clamp(24px,4.5vw,50px);
}
.cms-hero-copy{width:100%;max-width:880px;margin:0 auto}
.cms-type-hero .cms-eyebrow{color:#ffd28b}
.cms-hero-copy h1{
  max-width:820px;
  margin:8px auto 16px;
  color:#fff;
  font-size:clamp(40px,5.8vw,68px);
  line-height:1;
  letter-spacing:-.045em;
}
.cms-hero-copy h2{
  max-width:720px;
  margin:0 auto 14px;
  color:#d9f5e8;
  font-size:clamp(19px,2.4vw,30px);
  font-weight:750;
}
.cms-type-hero .cms-body{max-width:720px;margin:0 auto;color:rgba(255,255,255,.88);font-size:17px}
.cms-hero-actions{margin-top:23px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.cms-type-hero .cms-button{margin:0;background:linear-gradient(90deg,#f8a72e,#ef7d22);box-shadow:0 14px 30px rgba(238,121,32,.25)}
.cms-text-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:850}
.cms-text-link span{font-size:19px}

.cms-content-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,5vw,60px);
  align-items:center;
}
.cms-media-reverse .cms-content-media{order:2}
.cms-media-reverse .cms-content-copy{order:1}
.cms-content-copy{min-width:0}
.cms-content-grid:not(:has(.cms-content-media)){grid-template-columns:1fr}
.cms-content-grid:not(:has(.cms-content-media)) .cms-content-copy{max-width:880px;margin:auto;text-align:center}
.cms-content-media{
  position:relative;
  padding:7px;
  border:1px solid rgba(13,106,72,.14);
  border-radius:29px;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(222,241,230,.72));
  box-shadow:0 20px 42px rgba(11,57,39,.12);
}
.cms-content-media::before{
  content:"";
  position:absolute;
  inset:22px -15px -15px 22px;
  border-radius:27px;
  background:linear-gradient(145deg,rgba(13,106,72,.25),rgba(242,160,30,.20));
  z-index:-1;
}
.cms-media-reverse .cms-content-media::before{inset:22px 22px -15px -15px}
.cms-content-media img{
  display:block;
  width:100%;
  height:clamp(280px,31vw,430px);
  object-fit:cover;
  border-radius:22px;
  box-shadow:0 16px 34px rgba(11,57,39,.16);
}
.cms-content-copy{
  padding:clamp(4px,1vw,14px);
}
.cms-content-copy .cms-body{max-width:680px}
.cms-content-copy h3,.cms-cta-copy h3{
  margin:0 0 16px;
  color:#52695e;
  font-size:clamp(17px,2vw,23px);
  line-height:1.4;
}
.cms-button,.cms-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 21px;
  border-radius:14px;
  text-decoration:none;
  font-weight:900;
  transition:transform .2s ease,box-shadow .2s ease;
}
.cms-button{margin-top:21px;background:linear-gradient(135deg,var(--cms-green),var(--cms-green-deep));color:#fff;box-shadow:0 12px 26px rgba(13,106,72,.22)}
.cms-button:hover,.cms-action:hover{transform:translateY(-2px)}

.cms-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.cms-gallery-grid figure{
  margin:0;
  overflow:hidden;
  border:1px solid #e0eae4;
  border-radius:19px;
  background:#f5f8f6;
  box-shadow:0 12px 28px rgba(20,62,45,.08);
}
.cms-gallery-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.cms-gallery-grid figure:hover img{transform:scale(1.035)}
.cms-gallery-grid figcaption{padding:13px 15px;color:#365447;font-weight:800}

.cms-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cms-package-grid article{
  position:relative;
  padding:26px;
  overflow:hidden;
  border:1px solid #dce8e1;
  border-radius:22px;
  background:linear-gradient(150deg,#fbfdfb,#f0f7f3);
  box-shadow:0 12px 28px rgba(19,62,45,.07);
}
.cms-package-grid article::after{content:"";position:absolute;right:-30px;bottom:-40px;width:120px;height:120px;border-radius:50%;background:rgba(13,106,72,.07)}
.cms-package-grid h3{margin:13px 0 10px;font-size:21px}
.cms-package-grid p{position:relative;z-index:1;color:#5c6e65;line-height:1.65}
.cms-package-grid strong{position:relative;z-index:1;color:var(--cms-green);font-size:20px}
.cms-card-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#e4f2e9;color:var(--cms-green);font-size:18px}

.cms-action-grid,.cms-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cms-action{
  min-height:90px;
  margin:0;
  padding:18px;
  flex-direction:column;
  align-items:flex-start;
  color:#fff;
  text-align:left;
  box-shadow:0 15px 32px rgba(9,53,36,.16);
}
.cms-action span{font-size:11px;line-height:1;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.78}
.cms-action b{margin-top:7px;font-size:18px}
.cms-action.whatsapp{background:linear-gradient(135deg,#1da666,#117b4b)}
.cms-action.quote{background:linear-gradient(135deg,#f1a027,#df741c)}
.cms-action.call{background:linear-gradient(135deg,#2485de,#145fa8)}
.cms-contact-grid a{
  min-height:160px;
  padding:25px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  border:1px solid #d9e8df;
  border-radius:20px;
  background:linear-gradient(150deg,#fbfdfb,#f1f7f3);
  color:var(--cms-ink);
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.cms-contact-grid a:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(11,67,45,.12)}
.cms-contact-grid b{margin-top:auto;color:var(--cms-green);font-size:20px}
.cms-contact-grid b+span{margin-top:5px;color:#677a70;font-size:13px}
.cms-contact-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e0f0e6;color:var(--cms-green);font-size:20px;font-weight:900}
.cms-contact-note{max-width:780px;margin:26px auto 0;text-align:center}

.cms-faq{max-width:900px;margin:auto;display:grid;gap:12px}
.cms-faq details{padding:0;border:1px solid #dce8e1;border-radius:16px;background:#f5f9f6;transition:border-color .18s ease,box-shadow .18s ease}
.cms-faq details[open]{border-color:#acd1bb;box-shadow:0 10px 25px rgba(13,106,72,.08)}
.cms-faq summary{padding:19px 21px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#234d3a;font-weight:850;cursor:pointer;list-style:none}
.cms-faq summary::-webkit-details-marker{display:none}
.cms-faq summary span{font-size:22px;line-height:1;transition:transform .18s ease}
.cms-faq details[open] summary span{transform:rotate(45deg)}
.cms-faq details p{margin:0;padding:0 21px 20px;color:#61746a;line-height:1.7}

.cms-page .cms-type-cta{
  background:
    radial-gradient(circle at 10% 10%,rgba(255,255,255,.12),transparent 24rem),
    linear-gradient(135deg,#0c6245,#083f2e);
  color:#fff;
}
.cms-page .cms-type-cta::before{background:linear-gradient(90deg,#f2a01e,#ffd27b)}
.cms-cta-copy{max-width:820px;margin:auto;text-align:center}
.cms-cta-copy .cms-section-kicker{color:#ffd28b}
.cms-cta-copy h2{color:#fff}
.cms-cta-copy h3,.cms-cta-copy .cms-body{color:rgba(255,255,255,.80)}
.cms-cta-copy .cms-button{background:linear-gradient(90deg,#f7a72f,#ed7b22)}

.cms-empty{text-align:center}
.cms-empty .cms-section-inner{max-width:720px}
.cms-empty h1{margin:5px 0 12px;font-size:clamp(40px,7vw,72px)}

.cms-footer{
  padding:30px clamp(20px,6vw,80px) calc(30px + env(safe-area-inset-bottom,0px));
  background:#073d2c;
  color:#dff4e9;
}
.cms-footer>div{max-width:1320px;margin:auto;display:flex;align-items:center;gap:28px}
.cms-footer-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.cms-footer-brand img{width:52px;height:52px;object-fit:contain;filter:brightness(0) invert(1)}
.cms-footer-brand span,.cms-footer-brand strong,.cms-footer-brand small{display:block}
.cms-footer-brand small{margin-top:3px;color:#a9cbb9;font-size:11px}
.cms-footer nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.cms-footer nav a{color:#dff4e9;text-decoration:none;font-size:13px;font-weight:800}
.cms-footer>p{max-width:1320px;margin:22px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#9fc3b0;font-size:12px}

html.theme-dark .cms-page-body{
  background:
    radial-gradient(circle at 12% 12%,rgba(36,157,112,.12),transparent 24rem),
    #07140f!important;
  color:#eefbf4;
}
html.theme-dark .cms-page .cms-section:not(.cms-type-hero):not(.cms-type-cta){background:var(--section-bg,#10261c);border-color:#234c39;box-shadow:0 22px 54px rgba(0,0,0,.30)}
html.theme-dark .cms-heading h2,html.theme-dark .cms-content-grid h2{color:#f2fff7}
html.theme-dark .cms-heading p,html.theme-dark .cms-body,html.theme-dark .cms-content-copy h3{color:#b6cec1}
html.theme-dark .cms-gallery-grid figure,html.theme-dark .cms-package-grid article,html.theme-dark .cms-contact-grid a,html.theme-dark .cms-faq details{background:#142f23;border-color:#29513e;color:#eafff1}
html.theme-dark .cms-package-grid h3,html.theme-dark .cms-contact-grid a,html.theme-dark .cms-faq summary{color:#eafff1}
html.theme-dark .cms-package-grid p,html.theme-dark .cms-contact-grid b+span,html.theme-dark .cms-faq details p{color:#b7d0c2}

@media(max-width:1024px){
  .cms-page .cms-section{order:var(--order-tablet)}
  .cms-hide-tablet{display:none!important}
  .cms-gallery-grid,.cms-package-grid{grid-template-columns:repeat(2,1fr)}
  .cms-type-hero .cms-section-inner{min-height:218px;padding:20px clamp(22px,4.5vw,40px)}
  .cms-hero-copy h1{font-size:clamp(30px,4.6vw,40px);margin:4px auto 8px}
  .cms-hero-copy h2{font-size:clamp(15px,2.1vw,18px);margin-bottom:7px}
  .cms-type-hero .cms-body{font-size:12.5px;line-height:1.45}
  .cms-hero-actions{margin-top:11px;gap:11px}
  .cms-type-hero .cms-button{padding:9px 14px;font-size:12px}
  .cms-text-link{font-size:12px}
  .cms-page .cms-type-cta .cms-section-inner{padding:16px clamp(22px,4.5vw,40px)}
  .cms-type-cta .cms-cta-copy h2{margin-bottom:4px;font-size:clamp(24px,3.4vw,29px)}
  .cms-type-cta .cms-cta-copy h3{margin-bottom:4px;font-size:13px}
  .cms-type-cta .cms-cta-copy .cms-body{font-size:11.5px;line-height:1.4}
  .cms-type-cta .cms-cta-copy .cms-button{margin-top:8px;padding:8px 14px;font-size:12px}
}
@media(min-width:1025px){
  .cms-hide-desktop{display:none!important}
  .cms-page .cms-section{margin-inline:auto}
  .cms-section-inner>*{max-width:100%}
  .cms-page .cms-type-hero{
    background-image:linear-gradient(135deg,
      color-mix(in srgb,var(--section-bg,#07563d) 88%,#174d3b),
      color-mix(in srgb,var(--section-bg,#07563d) 92%,#032e20));
  }
  .cms-hero-visual{
    inset:0 0 0 auto;
    width:62%;
  }
  .cms-hero-visual img{object-position:center}
  .cms-hero-visual::after{
    background:linear-gradient(90deg,
      var(--section-bg,#07563d) 0%,
      color-mix(in srgb,var(--section-bg,#07563d) 88%,transparent) 17%,
      color-mix(in srgb,var(--section-bg,#07563d) 48%,transparent) 42%,
      color-mix(in srgb,var(--section-bg,#07563d) 12%,transparent) 70%,
      transparent 100%);
  }
  .cms-type-hero .cms-section-inner{
    min-height:190px;
    padding:14px clamp(34px,4vw,56px);
    justify-content:flex-start;
    text-align:left;
  }
  .cms-hero-copy{max-width:52%;margin:0}
  .cms-hero-copy h1{
    max-width:610px;
    margin:4px 0 8px;
    font-size:clamp(29px,3vw,39px);
  }
  .cms-hero-copy h2{max-width:590px;margin:0 0 5px;font-size:clamp(15px,1.3vw,18px)}
  .cms-type-hero .cms-body{max-width:590px;margin:0;font-size:12px;line-height:1.4}
  .cms-hero-actions{margin-top:9px;justify-content:flex-start;gap:10px}
  .cms-type-hero .cms-button{padding:8px 14px;font-size:12px}
  .cms-text-link{font-size:12px}
  .cms-page .cms-type-cta .cms-section-inner{padding:9px clamp(34px,4vw,56px)}
  .cms-type-cta .cms-cta-copy{max-width:760px}
  .cms-type-cta .cms-cta-copy h2{margin-bottom:3px;font-size:clamp(22px,2vw,27px)}
  .cms-type-cta .cms-cta-copy h3{margin-bottom:3px;font-size:12.5px}
  .cms-type-cta .cms-cta-copy .cms-body{font-size:11px;line-height:1.35}
  .cms-type-cta .cms-cta-copy .cms-button{margin-top:6px;padding:8px 14px;font-size:12px}
}

@media(max-width:700px){
  .cms-page{padding:12px;gap:14px}
  .cms-page .cms-section{order:var(--order-mobile);border-radius:21px;text-align:center}
  .cms-hide-mobile{display:none!important}
  .cms-section-inner{padding:31px 19px;text-align:center}
  .cms-hero-visual img{object-position:72% center}
  .cms-hero-visual::after{
    background:linear-gradient(105deg,
      color-mix(in srgb,var(--section-bg,#07563d) 82%,transparent) 0%,
      color-mix(in srgb,var(--section-bg,#07563d) 65%,transparent) 52%,
      color-mix(in srgb,var(--section-bg,#07563d) 38%,transparent) 100%);
  }
  .cms-type-hero .cms-section-inner{min-height:220px;padding:14px 14px}
  .cms-hero-copy{margin:0 auto;text-align:center}
  .cms-type-hero .cms-eyebrow{margin-bottom:5px;font-size:8px}
  .cms-hero-copy h1{margin:3px auto 6px;font-size:clamp(25px,7.8vw,31px);line-height:1.03}
  .cms-hero-copy h2{margin-bottom:5px;font-size:13px;line-height:1.28}
  .cms-type-hero .cms-body{font-size:11px;line-height:1.4}
  .cms-hero-actions{margin-top:9px;justify-content:center;gap:8px}
  .cms-type-hero .cms-button{padding:8px 11px;font-size:11px}
  .cms-text-link{font-size:11px}
  .cms-hero-actions .cms-button,.cms-hero-actions .cms-text-link{justify-content:center}
  .cms-page .cms-type-cta .cms-section-inner{padding:13px 14px}
  .cms-type-cta .cms-section-kicker{margin-bottom:5px;font-size:8px}
  .cms-type-cta .cms-cta-copy h2{margin-bottom:4px;font-size:21px;line-height:1.06}
  .cms-type-cta .cms-cta-copy h3{margin-bottom:4px;font-size:11.5px;line-height:1.3}
  .cms-type-cta .cms-cta-copy .cms-body{font-size:10.5px;line-height:1.35}
  .cms-type-cta .cms-cta-copy .cms-button{margin-top:7px;padding:8px 11px;font-size:11px}
  .cms-content-grid,.cms-gallery-grid,.cms-package-grid,.cms-action-grid,.cms-contact-grid{grid-template-columns:1fr}
  .cms-content-grid{gap:27px}
  .cms-media-reverse .cms-content-media,.cms-media-reverse .cms-content-copy{order:initial}
  .cms-content-copy,.cms-heading,.cms-body,.cms-cta-copy,.cms-contact-note{text-align:center}
  .cms-content-copy .cms-button{margin-left:auto;margin-right:auto}
  .cms-content-media{width:100%;max-width:560px;margin:0 auto;padding:5px;border-radius:23px}
  .cms-content-media::before,.cms-media-reverse .cms-content-media::before{inset:13px -8px -8px 13px;border-radius:20px}
  .cms-content-media img{height:clamp(220px,67vw,330px);border-radius:18px}
  .cms-heading{margin-bottom:24px}
  .cms-heading h2,.cms-content-grid h2,.cms-cta-copy h2{font-size:32px}
  .cms-action-grid,.cms-contact-grid{gap:11px}
  .cms-package-grid article{text-align:center}
  .cms-card-mark{margin-left:auto;margin-right:auto}
  .cms-action{min-height:80px;align-items:center;text-align:center}
  .cms-contact-grid a{min-height:142px;align-items:center;text-align:center}
  .cms-faq summary{justify-content:center;text-align:center}
  .cms-faq details p{text-align:center}
  .cms-footer>div{display:grid}
  .cms-footer nav{margin:0;gap:15px}
  .cms-footer>p{text-align:left}
}
