:root{--green:#526b4d;--green-dark:#354832;--sage:#a8bea0;--mint:#e7eee3;--cream:#f8f6f0;--paper:#fffefa;--ink:#20231e;--muted:#74796f;--line:#e5e5dc;--orange:#d69b65;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:86px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,254,250,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(82,107,77,.09);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:23px;letter-spacing:-1px;line-height:1.1}.brand-mark{width:39px;height:39px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-family:var(--serif);font-size:24px;font-weight:600}.brand-accent{color:var(--green)}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#7b8075;margin-top:7px;font-weight:600}.main-nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:600}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:not(.nav-cta):hover{color:var(--green)}.nav-cta{background:var(--green);color:#fff;padding:12px 17px;border-radius:30px;transition:transform .25s,background .25s}.nav-cta:hover,.btn:hover{transform:translateY(-3px);background:var(--green-dark)}.menu-toggle{display:none;border:0;background:transparent;font-size:25px}.hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:5%;padding:65px 6.5% 70px;align-items:center;min-height:620px;background:linear-gradient(110deg,#fffefa 0%,#f7f5ee 100%)}.hero-copy{padding:10px 0 20px;max-width:520px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green);margin:0 0 19px;display:flex;align-items:center;gap:10px}.eyebrow span{display:inline-block;width:23px;height:2px;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.5px;line-height:1.12}h1{font-size:clamp(42px,5.2vw,70px);margin-bottom:22px}h1 em,h2 em{font-weight:500;color:var(--green);font-style:italic}h2{font-size:clamp(31px,3.5vw,46px);margin-bottom:18px}.hero-text{font-size:15px;color:var(--muted);max-width:445px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:29px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;cursor:pointer;padding:14px 20px;border-radius:30px;font:600 12px var(--sans);transition:transform .25s,background .25s}.btn-primary{background:var(--green);color:#fff;box-shadow:0 9px 24px #526b4d24}.btn-primary span{font-size:17px}.btn-quiet{padding-left:0;color:var(--green);background:transparent}.btn-quiet:hover{color:var(--green-dark);background:transparent}.hero-trust{display:flex;align-items:center;gap:12px;margin-top:45px}.trust-icon{width:33px;height:33px;border:1px solid #cbd6c6;border-radius:50%;display:grid;place-items:center;color:var(--green);font-weight:bold}.hero-trust p{margin:0;font-size:11px;line-height:1.5}.hero-trust strong{font-size:12px}.hero-trust p span{color:var(--muted)}.hero-visual{height:485px;position:relative;padding:0 0 35px 25px}.hero-slider{height:100%;overflow:hidden;border-radius:180px 180px 18px 18px;position:relative;background:var(--mint);box-shadow:0 20px 60px #35483212}.slide{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 5s}.slide.active{opacity:1;transform:scale(1)}.slide img{width:100%;height:100%;object-fit:cover}.slider-controls{position:absolute;bottom:0;left:45px;right:20px;display:flex;align-items:center;justify-content:space-between}.slider-count{font-size:11px;color:var(--muted);letter-spacing:1px}.slider-count b{color:var(--green);font-size:14px}.slider-controls button{width:38px;height:38px;border:1px solid #d8ded3;border-radius:50%;background:#fffefa;color:var(--green);font-size:18px;margin-left:6px;cursor:pointer;transition:all .2s}.slider-controls button:hover{background:var(--green);color:white}.floating-note{position:absolute;bottom:57px;left:-15px;display:flex;align-items:center;gap:12px;background:#fffefa;padding:15px 20px;border-radius:12px;box-shadow:0 12px 35px #17201617;animation:float 4s ease-in-out infinite}.note-dot{width:9px;height:9px;background:#8eaa83;border-radius:50%;box-shadow:0 0 0 5px #e5eee0}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:11px}.floating-note small{font-size:10px;color:var(--muted)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}.benefit-strip{padding:23px 7%;background:#f1f2e9;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.benefit-strip>div{display:flex;align-items:center;gap:13px}.benefit-strip>div>span{width:37px;height:37px;border:1px solid #d5ddce;color:var(--green);border-radius:50%;display:grid;place-items:center;font-size:18px}.benefit-strip p{margin:0;line-height:1.5}.benefit-strip strong,.benefit-strip small{display:block}.benefit-strip strong{font-size:11px}.benefit-strip small{font-size:10px;color:var(--muted)}.section{padding:100px 6.5%}.section-heading,.zones-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:38px}.section-heading>div{max-width:530px}.section-heading>p,.zones-top>p{max-width:390px;color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:7px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.service-card{background:#fff;border:1px solid #edeee7;border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-7px);box-shadow:0 17px 38px #28382112}.service-image{height:205px;position:relative;background:var(--mint);overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-card:hover .service-image img{transform:scale(1.05)}.service-icon{position:absolute;bottom:-16px;left:18px;background:#fffefa;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:20px;box-shadow:0 4px 15px #0000000c}.service-body{padding:27px 19px 20px}.service-body h3{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.3;margin-bottom:10px}.service-body p{font-size:11px;color:var(--muted);line-height:1.8;min-height:78px}.service-body a{display:flex;justify-content:space-between;color:var(--green);font-size:11px;font-weight:700;border-top:1px solid var(--line);padding-top:14px}.professional-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#f1f2e9;padding:85px 8%}.professional-image{height:510px;position:relative}.professional-image img{height:100%;width:100%;object-fit:cover;border-radius:180px 180px 12px 12px}.image-label{position:absolute;bottom:22px;left:22px;background:#fffefa;padding:11px 15px;border-radius:30px;font-size:10px;font-weight:700;letter-spacing:1px}.image-label span{color:var(--orange);padding:0 6px}.professional-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.9}.pro-list{margin:28px 0 28px}.pro-list>div{display:flex;gap:15px;padding:13px 0;border-bottom:1px solid #dfe3d8}.pro-list>div>span{font-family:var(--serif);color:#91a58a;font-size:16px}.pro-list p{margin:0;line-height:1.5}.pro-list strong,.pro-list small{display:block}.pro-list strong{font-size:12px}.pro-list small{font-size:11px;color:var(--muted);margin-top:4px}.zones-section{background:#fffefa}.zones-top{align-items:center}.zones-top>div{max-width:560px}.area-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.area-list span{display:flex;align-items:center;gap:11px;padding:17px 18px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:600;transition:all .25s}.area-list span:hover{background:var(--mint);border-color:#cdd9c7;transform:translateY(-2px)}.area-list i{font-style:normal;color:var(--green)}.zone-note{margin-top:22px;color:var(--muted);font-size:11px;letter-spacing:.3px}.quote-section{background:#354832;color:white;padding:85px 8%;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.quote-copy .eyebrow{color:#c9d8c1}.quote-copy h2{font-size:clamp(33px,3.8vw,49px)}.quote-copy h2 em{color:#c6d6bd}.quote-copy>p:not(.eyebrow){color:#d2d9ce;font-size:13px;line-height:1.9}.contact-line{display:flex;gap:13px;align-items:center;margin-top:23px}.contact-line>span{width:39px;height:39px;display:grid;place-items:center;border:1px solid #75866e;border-radius:50%;color:#d2dfc9}.contact-line small,.contact-line a{display:block}.contact-line small{font-size:10px;color:#c2cdbb}.contact-line a{font-size:13px;font-weight:600}.eco-link{border-top:1px solid #ffffff30;margin-top:30px;padding-top:20px;font-size:11px;color:#d2d9ce}.eco-link a{display:inline-block;margin-left:5px;color:white;text-decoration:underline;text-underline-offset:4px}.quote-form{background:#fffefa;color:var(--ink);border-radius:14px;padding:32px;box-shadow:0 20px 55px #18211625}.quote-form h3{font:600 26px var(--serif);margin-bottom:4px}.quote-form>p{font-size:11px;color:var(--muted);margin-bottom:22px}.quote-form label{display:block;font-size:10px;font-weight:700;margin-bottom:14px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;display:block;margin-top:6px;padding:13px 12px;border:1px solid #e1e4db;border-radius:6px;background:#fffefa;font:12px var(--sans);color:var(--ink);outline:none;transition:border .2s}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--green)}.quote-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.submit-btn{width:100%;margin-top:5px}.form-privacy{display:block;text-align:center;font-size:9px;color:var(--muted);margin-top:12px}.form-error{background:#fff0ed;color:#8c3026;padding:10px;border-radius:5px;font-size:11px;margin-bottom:15px}.site-footer{padding:35px 6.5%;display:grid;grid-template-columns:1.2fr 1fr 1.2fr;align-items:center;gap:25px;background:#f8f6f0}.footer-brand{font-size:20px}.footer-brand .brand-mark{width:34px;height:34px;font-size:20px}.site-footer>p{font-size:10px;color:var(--muted);margin:0}.footer-links{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap;font-size:10px;font-weight:600}.site-footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:9px}.floating-contact{position:fixed;right:18px;z-index:30;display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:40px;box-shadow:0 7px 24px #1720162b;font-size:11px;font-weight:700;animation:popin .7s both}.floating-contact span{font-size:17px}.whatsapp{bottom:83px;background:#2f7a47;color:#fff}.call{bottom:25px;background:#fffefa;color:var(--green);border:1px solid #dce4d6}@keyframes popin{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:1050px){.main-nav{gap:15px}.hero{padding-left:5%;padding-right:5%;gap:3%}.service-grid{grid-template-columns:repeat(2,1fr)}.service-image{height:240px}.benefit-strip{padding-left:5%;padding-right:5%}.professional-section{padding-left:6%;padding-right:6%;gap:5%}.section{padding:80px 5%}}@media(max-width:760px){.site-header{height:72px;padding:0 5%}.brand{font-size:20px}.brand-mark{width:34px;height:34px}.menu-toggle{display:block;color:var(--green)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;background:#fffefa;padding:20px 5% 25px;box-shadow:0 18px 25px #0000000c;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav>a{padding:12px 0}.main-nav .nav-cta{text-align:center;margin-top:10px;padding:12px}.hero{grid-template-columns:1fr;padding:50px 6% 55px;gap:35px}.hero-copy{max-width:none}.hero h1{font-size:48px}.hero-visual{height:390px;padding-left:15px}.floating-note{left:0;bottom:54px}.benefit-strip{grid-template-columns:1fr 1fr;padding:23px 6%;gap:20px 12px}.section{padding:65px 6%}.section-heading,.zones-top{display:block}.section-heading>p,.zones-top>p{margin-top:18px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-image{height:165px}.service-body{padding:25px 13px 15px}.service-body h3{font-size:17px}.service-body p{font-size:10px;min-height:115px}.professional-section{grid-template-columns:1fr;padding:55px 6%;gap:35px}.professional-image{height:350px;order:2}.professional-copy{order:1}.area-list{grid-template-columns:1fr 1fr}.quote-section{grid-template-columns:1fr;padding:60px 6%;gap:35px}.quote-form{padding:23px}.site-footer{grid-template-columns:1fr;gap:17px;padding:30px 6%}.footer-links{justify-content:flex-start}.site-footer>small{grid-column:auto}.floating-contact{right:12px;padding:11px 13px}.whatsapp{bottom:76px}.call{bottom:19px}}@media(max-width:390px){.hero h1{font-size:41px}.hero-visual{height:330px}.service-grid{grid-template-columns:1fr}.service-image{height:220px}.service-body p{min-height:0}.form-row{grid-template-columns:1fr}.benefit-strip{grid-template-columns:1fr}.area-list{grid-template-columns:1fr}}

/* Uploaded brand assets and before/after gallery */
.brand-image{display:block;width:220px;max-width:32vw}
.brand-image img{display:block;width:100%;height:auto;max-height:62px;object-fit:contain;object-position:left center}
.footer-brand{width:190px}
.results-section{background:#f8f6f0}
.results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.results-grid figure{margin:0;background:#fffefa;border:1px solid #e5e5dc;border-radius:10px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.results-grid figure:hover{transform:translateY(-5px);box-shadow:0 15px 30px #28382112}
.results-grid img{width:100%;height:190px;object-fit:cover}
.results-grid figcaption{padding:13px 14px;font-size:11px;font-weight:600;line-height:1.5}
.reveal-ready{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal-ready.revealed{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.brand-image{width:185px;max-width:68vw}.brand-image img{max-height:52px}.results-grid{grid-template-columns:1fr 1fr}.results-grid img{height:145px}}
@media(max-width:390px){.results-grid{grid-template-columns:1fr}.results-grid img{height:200px}}


/* PURECANAPE HOTFIX — 2026-10-19
   Explicit layout constraints to prevent oversized logo and broken hero layout
   if old CSS rules or theme styles are present. */
html, body {
  width: 100%;
  min-width: 320px;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; }
.site-header {
  width: 100%;
  height: 86px;
  min-height: 86px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 0 clamp(20px, 6.5vw, 96px);
}
.site-header .brand-image {
  display: block;
  flex: 0 0 220px;
  width: 220px;
  max-width: 28vw;
  min-width: 0;
  line-height: 0;
  overflow: hidden;
}
.site-header .brand-image img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: 58px;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}
.site-header .main-nav {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(10px, 1.35vw, 22px);
}
.site-header .main-nav a {
  white-space: nowrap;
  font-size: 12px;
}
.site-header .menu-toggle { display: none; }
.hero {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  padding: 64px clamp(24px, 6.5vw, 96px) 70px;
  min-height: 570px;
}
.hero-copy {
  display: block;
  width: 100%;
  max-width: 540px;
  min-width: 0;
  color: var(--ink, #20231e);
}
.hero-copy h1 {
  margin: 0 0 22px;
  font-size: clamp(42px, 4.3vw, 64px);
  line-height: 1.08;
  letter-spacing: -2px;
}
.hero-copy .hero-text {
  max-width: 500px;
  font-size: 15px;
  line-height: 1.9;
}
.hero-visual {
  width: 100%;
  min-width: 0;
  height: clamp(360px, 38vw, 500px);
  padding: 0 0 30px 16px;
}
.hero-slider, .hero-slider .slide { width: 100%; height: 100%; }
.hero-slider .slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.benefit-strip, .section, .professional-section, .zones-section,
.quote-section, .site-footer { width: 100%; }
@media (max-width: 1050px) {
  .site-header { gap: 18px; padding-left: 4%; padding-right: 4%; }
  .site-header .brand-image { flex-basis: 185px; width: 185px; }
  .site-header .brand-image img { max-width: 185px; height: 52px; max-height: 52px; }
  .site-header .main-nav { gap: 10px; }
  .site-header .main-nav a { font-size: 10px; }
  .hero { padding-left: 5%; padding-right: 5%; gap: 28px; }
}
@media (max-width: 760px) {
  .site-header {
    height: 72px;
    min-height: 72px;
    padding: 0 5%;
    justify-content: space-between;
  }
  .site-header .brand-image {
    flex: 0 1 190px;
    width: 190px;
    max-width: 68vw;
  }
  .site-header .brand-image img {
    width: 100%;
    max-width: 190px;
    height: 48px;
    max-height: 48px;
  }
  .site-header .menu-toggle { display: block; }
  .site-header .main-nav {
    display: none;
    position: absolute;
    top: 71px;
    left: 0;
    right: 0;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 18px 5% 24px;
    background: #fffefa;
  }
  .site-header .main-nav.open { display: flex; }
  .site-header .main-nav a { white-space: normal; font-size: 13px; padding: 12px 0; }
  .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding: 44px 6% 50px;
    min-height: 0;
  }
  .hero-copy { max-width: none; }
  .hero-copy h1 { font-size: clamp(40px, 10vw, 52px); letter-spacing: -1.5px; }
  .hero-visual { height: 360px; padding: 0 0 28px; }
}
@media (max-width: 420px) {
  .hero-visual { height: 300px; }
  .hero-actions { flex-wrap: wrap; }
}



/* Added PureCanapé circular leaf monogram */
.brand-with-icon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-direction: row !important;
  overflow: visible !important;
  line-height: 0;
}
.site-header .brand-with-icon {
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: min(360px, 38vw) !important;
}
.brand-with-icon .brand-icon {
  display: block !important;
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  object-fit: contain !important;
  border-radius: 50%;
}
.brand-with-icon .brand-wordmark {
  display: block !important;
  flex: 1 1 auto !important;
  width: 220px !important;
  max-width: 220px !important;
  height: 56px !important;
  max-height: 56px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.footer-brand.brand-with-icon .brand-icon {
  flex-basis: 40px !important;
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
}
.footer-brand.brand-with-icon .brand-wordmark {
  width: 190px !important;
  max-width: 190px !important;
  height: 48px !important;
  max-height: 48px !important;
}
@media (max-width: 760px) {
  .site-header .brand-with-icon { max-width: 78vw !important; gap: 7px !important; }
  .site-header .brand-with-icon .brand-icon {
    flex-basis: 36px !important;
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }
  .site-header .brand-with-icon .brand-wordmark {
    width: min(190px, 52vw) !important;
    max-width: min(190px, 52vw) !important;
    height: 44px !important;
    max-height: 44px !important;
  }
}


/* HERO WIDE — full-width rotating banners matching the approved reference */
.hero.hero-wide {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 0;
  height: min(90vh, 900px);
  height: min(90svh, 900px);
  padding: clamp(38px, 5vw, 82px) clamp(28px, 6.3vw, 105px);
  overflow: hidden;
  background: #fffefa;
}
.hero-background-slider { position:absolute; inset:0; z-index:-2; overflow:hidden; background:#fffefa; }
.hero-bg-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .9s ease, visibility .9s ease; }
.hero-bg-slide.active { opacity:1; visibility:visible; }
.hero-bg-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero.hero-wide::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(255,254,250,.97) 0%,rgba(255,254,250,.93) 26%,rgba(255,254,250,.65) 42%,rgba(255,254,250,.06) 67%,rgba(255,254,250,0) 100%); }
.hero.hero-wide .hero-copy { position:relative; z-index:2; width:min(43%, 590px); max-width:590px; padding:0; }
.hero.hero-wide .hero-copy h1 { font-size:clamp(42px,4.5vw,76px); line-height:1.05; margin-bottom:22px; }
.hero.hero-wide .hero-text { max-width:490px; }
.hero-slide-arrows { position:absolute; z-index:4; top:50%; left:18px; right:18px; display:flex; justify-content:space-between; transform:translateY(-50%); pointer-events:none; }
.hero-slide-arrows button { pointer-events:auto; width:48px; height:48px; border:1px solid rgba(82,107,77,.15); border-radius:50%; background:rgba(255,255,255,.94); color:var(--green-dark); font-size:25px; cursor:pointer; box-shadow:0 5px 20px #20231e14; transition:background .2s,color .2s,transform .2s; }
.hero-slide-arrows button:hover { background:var(--green); color:white; transform:scale(1.05); }
.hero-slide-dots { position:absolute; z-index:4; bottom:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:11px; }
.hero-slide-dots button { width:11px; height:11px; padding:0; border:2px solid white; border-radius:50%; background:#ffffff80; box-shadow:0 1px 6px #0002; cursor:pointer; }
.hero-slide-dots button.active { background:var(--green); outline:1px solid var(--green); }
.hero-slide-count { position:absolute; z-index:4; bottom:22px; right:clamp(25px,6.3vw,105px); color:#59644f; font-size:11px; letter-spacing:1px; }
.hero-slide-count b { font-size:14px; }
@media(max-width:1050px) {
 .hero.hero-wide { height:min(88vh,800px); padding-left:6%; padding-right:6%; }
 .hero.hero-wide .hero-copy { width:48%; }
 .hero.hero-wide .hero-copy h1 { font-size:clamp(40px,5vw,60px); }
 .hero.hero-wide::after { background:linear-gradient(90deg,rgba(255,254,250,.98) 0%,rgba(255,254,250,.9) 35%,rgba(255,254,250,.45) 60%,rgba(255,254,250,.03) 100%); }
}
@media(max-width:760px) {
 .hero.hero-wide { height:auto; min-height:760px; padding:48px 6% 82px; align-items:flex-start; }
 .hero.hero-wide .hero-copy { width:100%; max-width:520px; }
 .hero.hero-wide .hero-copy h1 { font-size:clamp(40px,10vw,56px); }
 .hero.hero-wide .hero-text { max-width:380px; }
 .hero.hero-wide::after { background:linear-gradient(180deg,rgba(255,254,250,.98) 0%,rgba(255,254,250,.94) 37%,rgba(255,254,250,.45) 67%,rgba(255,254,250,.06) 100%); }
 .hero-bg-slide img { object-position:58% center; }
 .hero-slide-arrows { left:10px; right:10px; top:auto; bottom:22px; transform:none; }
 .hero-slide-arrows button { width:38px; height:38px; font-size:20px; }
 .hero-slide-dots { bottom:35px; }
 .hero-slide-count { bottom:31px; right:18px; }
 .hero.hero-wide .hero-trust { margin-top:30px; }
}
@media(max-width:420px) {
 .hero.hero-wide { min-height:700px; padding-top:40px; }
 .hero.hero-wide .hero-copy h1 { font-size:40px; }
 .hero.hero-wide .hero-actions { gap:12px; }
 .hero.hero-wide .hero-text { font-size:14px; }
}

/* FINAL HERO OVERRIDE — approved large-banner reference */
.hero.hero-wide {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  height: min(78vh, 780px) !important;
  min-height: 620px !important;
  margin: 0 !important;
  padding: clamp(38px, 5.3vw, 82px) clamp(28px, 6.3vw, 105px) 82px !important;
  overflow: hidden !important;
  background: #fffefa !important;
}
.hero.hero-wide .hero-background-slider {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
  background: #fffefa !important;
}
.hero.hero-wide .hero-bg-slide {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .8s ease, visibility .8s ease !important;
}
.hero.hero-wide .hero-bg-slide.active {
  opacity: 1 !important;
  visibility: visible !important;
}
.hero.hero-wide .hero-bg-slide img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.hero.hero-wide::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(255,254,250,.99) 0%, rgba(255,254,250,.97) 23%, rgba(255,254,250,.88) 35%, rgba(255,254,250,.47) 48%, rgba(255,254,250,.06) 66%, rgba(255,254,250,0) 100%) !important;
}
.hero.hero-wide .hero-copy {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  flex: 0 0 40% !important;
  width: 40% !important;
  max-width: 570px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.hero.hero-wide .hero-copy h1 {
  font-size: clamp(44px, 4.7vw, 76px) !important;
  line-height: 1.04 !important;
  letter-spacing: -2.1px !important;
  margin: 0 0 22px !important;
}
.hero.hero-wide .hero-text { max-width: 470px !important; font-size: 15px !important; line-height: 1.75 !important; }
.hero.hero-wide .hero-slide-arrows { z-index: 4 !important; left: 16px !important; right: 16px !important; top: 50% !important; bottom: auto !important; transform: translateY(-50%) !important; }
.hero.hero-wide .hero-slide-arrows button { width: 48px !important; height: 48px !important; border: 1px solid #e5e8df !important; border-radius: 50% !important; background: rgba(255,255,255,.94) !important; color: #20231e !important; font-size: 25px !important; box-shadow: 0 5px 20px #20231e18 !important; }
.hero.hero-wide .hero-slide-dots { z-index: 4 !important; bottom: 22px !important; left: 50% !important; transform: translateX(-50%) !important; gap: 12px !important; }
.hero.hero-wide .hero-slide-dots button { width: 12px !important; height: 12px !important; border: 2px solid white !important; background: #ffffffb8 !important; }
.hero.hero-wide .hero-slide-dots button.active { background: var(--green) !important; outline: 1px solid var(--green) !important; }
.hero.hero-wide .hero-slide-count { display: none !important; }
.benefit-strip { position: relative; z-index: 2; }
@media (min-width: 1500px) {
  .hero.hero-wide { height: min(78vh, 850px) !important; }
  .hero.hero-wide .hero-copy { flex-basis: 38% !important; width: 38% !important; }
}
@media (max-width: 1050px) and (min-width: 761px) {
  .hero.hero-wide { height: 74vh !important; min-height: 590px !important; padding-left: 6% !important; padding-right: 6% !important; }
  .hero.hero-wide .hero-copy { flex-basis: 47% !important; width: 47% !important; }
  .hero.hero-wide::after { background: linear-gradient(90deg,rgba(255,254,250,.99) 0%,rgba(255,254,250,.95) 32%,rgba(255,254,250,.72) 48%,rgba(255,254,250,.12) 75%,rgba(255,254,250,0) 100%) !important; }
}
@media (max-width: 760px) {
  .hero.hero-wide { height: auto !important; min-height: 760px !important; padding: 42px 6% 78px !important; align-items: flex-start !important; }
  .hero.hero-wide .hero-copy { flex: 0 1 100% !important; width: 100% !important; max-width: 530px !important; }
  .hero.hero-wide .hero-copy h1 { font-size: clamp(40px, 10vw, 56px) !important; }
  .hero.hero-wide .hero-text { max-width: 390px !important; font-size: 14px !important; }
  .hero.hero-wide::after { background: linear-gradient(180deg,rgba(255,254,250,.99) 0%,rgba(255,254,250,.96) 36%,rgba(255,254,250,.78) 57%,rgba(255,254,250,.16) 100%) !important; }
  .hero.hero-wide .hero-bg-slide img { object-position: 58% center !important; }
  .hero.hero-wide .hero-slide-arrows { top: auto !important; bottom: 18px !important; transform: none !important; left: 12px !important; right: 12px !important; }
  .hero.hero-wide .hero-slide-arrows button { width: 40px !important; height: 40px !important; }
  .hero.hero-wide .hero-slide-dots { bottom: 32px !important; }
}

/* MOBILE HERO FIX: keep the full banner image clearly visible below the text */
@media (max-width: 760px) {
  .hero.hero-wide {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 38px 6% 0 !important;
    overflow: hidden !important;
    background: #fffefa !important;
  }
  .hero.hero-wide .hero-copy {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 28px !important;
  }
  .hero.hero-wide .hero-copy h1 {
    font-size: clamp(36px, 8.8vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -1.4px !important;
    margin-bottom: 18px !important;
  }
  .hero.hero-wide .hero-text {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
  .hero.hero-wide .hero-actions { gap: 12px !important; flex-wrap: wrap !important; }
  .hero.hero-wide .hero-trust { margin-top: 24px !important; }
  .hero.hero-wide .hero-background-slider {
    position: relative !important;
    inset: auto !important;
    width: calc(100% + 13.0%) !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    margin: 0 -6.5% !important;
    overflow: hidden !important;
    background: #fffefa !important;
  }
  .hero.hero-wide .hero-bg-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .hero.hero-wide .hero-bg-slide img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fffefa !important;
  }
  .hero.hero-wide::after { display: none !important; }
  .hero.hero-wide .hero-slide-arrows {
    top: auto !important;
    bottom: 18px !important;
    left: 12px !important;
    right: 12px !important;
    transform: none !important;
  }
  .hero.hero-wide .hero-slide-arrows button { width: 38px !important; height: 38px !important; }
  .hero.hero-wide .hero-slide-dots { bottom: 27px !important; }
  .hero.hero-wide .hero-slide-count { display: none !important; }
}
@media (max-width: 420px) {
  .hero.hero-wide { padding-top: 30px !important; }
  .hero.hero-wide .hero-copy h1 { font-size: clamp(34px, 8.7vw, 40px) !important; }
  .hero.hero-wide .hero-background-slider { aspect-ratio: 4 / 3 !important; }
}

/* Compact SEO introduction */
.seo-intro-section{padding:62px 6.5%;background:#f1f2e9;border-top:1px solid #e5e8df;border-bottom:1px solid #e5e8df}
.seo-intro-inner{max-width:1000px;margin:0 auto}
.seo-intro-inner .eyebrow{margin-bottom:12px}
.seo-intro-inner h2{font-size:clamp(28px,3.2vw,40px);max-width:760px;margin-bottom:15px}
.seo-intro-inner>p:not(.eyebrow){max-width:930px;color:var(--muted);font-size:13px;line-height:1.95;margin-bottom:18px}
.seo-intro-inner>p strong{color:var(--ink)}
.seo-intro-link{display:inline-flex;align-items:center;gap:16px;color:var(--green);font-size:12px;font-weight:700;border-bottom:1px solid #bdcbb6;padding-bottom:5px;transition:gap .2s}
.seo-intro-link:hover{gap:22px}
@media(max-width:760px){.seo-intro-section{padding:48px 6%}.seo-intro-inner h2{font-size:31px}.seo-intro-inner>p:not(.eyebrow){font-size:12px;line-height:1.85}}
