/* Editable full-width banners and compact home modules. */
.ce-site .ce-announcement{min-height:28px;padding-block:4px;font-size:12px;line-height:1.45}
.ce-site .ce-brand-shortcut-image{overflow:hidden;flex:0 0 105px;min-height:0}
.ce-site .ce-brand-shortcut-image>img{display:block;width:100%;height:100%!important;max-height:105px;object-fit:contain}
.ce-site .ce-brand-shortcut>span{position:relative;z-index:1;flex:1;background:#f2faf5;color:#214c38}
.ce-site .ce-full-hero-copy .ce-button{background:linear-gradient(130deg,#428663,#2e7052);color:#fff}
.ce-site .ce-full-hero{margin:0;padding:0;min-height:0;background:#e1f2e8}
.ce-site .ce-full-hero .ce-hero-slide{position:relative;display:block;height:var(--ce-hero-desktop,450px);min-height:0;padding:0;overflow:hidden;background:linear-gradient(120deg,#e9f7ef,#c2e6d4)}
.ce-site .ce-full-hero .ce-hero-slide[hidden]{display:none!important}
.ce-full-hero-media{position:absolute;inset:0;display:block}.ce-full-hero-media>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.ce-hero-product-image .ce-full-hero-media>img{width:55%;margin-left:auto;object-fit:contain;mix-blend-mode:multiply}
.ce-full-hero-slide::after,.ce-full-hero .ce-hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#edf8f1,#edf8f1ee 28%,#edf8f15c 55%,transparent 78%);pointer-events:none}
.ce-full-hero-inner{position:relative;z-index:1;width:min(1460px,calc(100% - 150px));height:100%;margin:auto;display:flex;align-items:center}
.ce-full-hero-copy{width:48%;max-width:610px;padding-block:25px}.ce-full-hero-copy .ce-kicker{font-size:11px;letter-spacing:.15em}.ce-full-hero-copy h1,.ce-full-hero-copy h2{font-size:clamp(30px,3.4vw,50px);line-height:1.12;letter-spacing:-.035em;margin:14px 0;color:#194936}.ce-full-hero-copy p{font-size:16px;line-height:1.6;color:#416955;margin:0 0 22px;max-width:500px}.ce-full-hero-copy .ce-button{display:inline-flex;align-items:center;gap:20px;min-height:46px;background:linear-gradient(130deg,#428663,#2e7052);color:#fff;border:1px solid #ffffff85;box-shadow:inset 0 1px #ffffff55,0 7px 18px #15482d1a}
.ce-full-hero-price{position:absolute;right:0;bottom:35px;display:flex;flex-direction:column;gap:9px;width:245px;padding:16px 20px;border:1px solid #ffffffcc;border-radius:14px;background:#edf9f0e8;backdrop-filter:blur(14px);box-shadow:0 8px 26px #174b3020}.ce-full-hero-price>span{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ce-full-hero-price strong{font-size:22px}.ce-full-hero-price del{font-size:13px;font-weight:400;margin-right:9px}.ce-full-hero-price ins{text-decoration:none}
.ce-site .ce-full-hero .ce-hero-dots{bottom:14px}.ce-site .ce-full-hero .ce-hero-arrow{width:44px;height:44px;background:#ffffffb8;border:1px solid #c6dfd0;box-shadow:0 4px 14px #163f2b12}
.ce-site .ce-benefits-v8{margin-block:20px 24px;gap:10px}.ce-site .ce-benefits-v8>a{padding:12px;min-height:78px;gap:10px}.ce-site .ce-benefits-v8 .ce-benefit-icon{width:34px;height:34px;min-width:34px;border-radius:11px}.ce-site .ce-benefits-v8 .ce-benefit-icon svg{width:21px;height:21px}.ce-site .ce-benefits-v8 .ce-benefit-copy>span{font-size:12px;line-height:1.4}.ce-site .ce-benefits-v8 strong{font-size:14px;line-height:1.4}
.ce-brand-shortcuts{padding-block:15px 32px}.ce-brand-shortcuts .ce-section-heading{margin-bottom:18px}.ce-brand-shortcuts h2{font-size:clamp(25px,2.5vw,34px);margin:6px 0}.ce-brand-shortcut-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.ce-brand-shortcut{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d6e8dd;border-radius:15px;background:linear-gradient(145deg,#f7fcf9,#e6f4ed);box-shadow:inset 0 1px #fff,0 6px 20px #264e3410;transition:transform .2s,box-shadow .2s}.ce-brand-shortcut:hover{transform:translateY(-3px);box-shadow:0 12px 26px #264e341a}.ce-brand-shortcut-image{height:105px;display:grid;place-items:center;background:transparent}.ce-brand-shortcut-image img{width:100%;height:100%;object-fit:contain}.ce-brand-shortcut>span{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:12px}.ce-brand-shortcut strong{font-size:13px;line-height:1.45;overflow-wrap:anywhere}.ce-brand-shortcut>span>span{display:grid;place-items:center;border:1px solid #bddac9;border-radius:50%;width:28px;height:28px;flex:0 0 28px}.ce-brand-shortcut svg{width:16px;height:16px}
.ce-camera-choice-link{white-space:normal;line-height:1.35}.ce-camera-choice-anchor{scroll-margin-top:125px}
@media(max-width:1100px){.ce-brand-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ce-full-hero-inner{width:calc(100% - 110px)}.ce-full-hero-copy{width:55%}}
@media(max-width:767px){
 .ce-site .ce-brand-shortcut-image{flex-basis:80px}.ce-site .ce-brand-shortcut-image>img{max-height:80px}
 .ce-site .ce-benefits-v8>a{grid-column:auto;grid-row:auto;order:0;display:flex;flex-direction:row;align-items:center;text-align:left;min-width:0}.ce-site .ce-benefits-v8 .ce-benefit-copy{min-width:0;flex:1;white-space:normal}
 .ce-site .ce-full-hero .ce-hero-slide{height:var(--ce-hero-mobile,390px)}.ce-full-hero-inner{width:calc(100% - 48px);align-items:flex-start}.ce-full-hero-copy{width:75%;padding-block:25px}.ce-full-hero-copy h1,.ce-full-hero-copy h2{font-size:clamp(25px,6.5vw,33px);line-height:1.15;margin:10px 0}.ce-full-hero-copy p{font-size:13px;line-height:1.55;margin-bottom:17px;max-width:240px}.ce-full-hero-copy .ce-button{padding:10px 14px;font-size:14px;gap:12px}.ce-hero-product-image .ce-full-hero-media>img{width:72%;object-position:right bottom;opacity:.8}.ce-full-hero .ce-hero-slide::after{background:linear-gradient(90deg,#edf8f1f7,#edf8f1c9 45%,#edf8f122 85%)}.ce-full-hero-price{bottom:29px;right:0;width:145px;padding:10px 12px;gap:5px;border-radius:11px}.ce-full-hero-price>span{font-size:11px;line-height:1.4}.ce-full-hero-price strong{font-size:17px}.ce-full-hero-price del{font-size:11px}.ce-site .ce-full-hero .ce-hero-arrow{width:34px;height:34px;top:auto;bottom:18px;transform:none}.ce-site .ce-full-hero .ce-hero-prev{left:12px}.ce-site .ce-full-hero .ce-hero-next{right:12px}.ce-site .ce-full-hero .ce-hero-dots{left:58px;right:auto;bottom:29px;transform:none}
 .ce-site .ce-benefits-v8{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(155px,44vw);gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:8px;margin-block:15px}.ce-site .ce-benefits-v8>a{scroll-snap-align:start;padding:10px;min-height:76px}.ce-site .ce-benefits-v8 strong{font-size:13px}.ce-site .ce-benefits-v8 .ce-benefit-copy>span{font-size:11px}.ce-brand-shortcuts{padding-block:12px 20px}.ce-brand-shortcuts .ce-kicker{font-size:10px}.ce-brand-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ce-brand-shortcut-image{height:80px}.ce-brand-shortcut>span{padding:10px}.ce-brand-shortcut strong{font-size:12px}
}
@media(max-width:767px){.ce-site .ce-full-hero .ce-hero-arrow{width:44px;height:44px;bottom:12px}.ce-site .ce-full-hero .ce-full-hero-price{bottom:70px;width:145px}.ce-site .ce-full-hero .ce-full-hero-price>span{display:none}.ce-site .ce-full-hero .ce-hero-dots{left:70px}.ce-site .ce-full-hero-copy .ce-button{background:linear-gradient(130deg,#428663,#2e7052);color:#fff}}
@media(prefers-reduced-motion:reduce){.ce-brand-shortcut{transition:none}.ce-brand-shortcut:hover{transform:none}}

/* v17.5.3: clean brand mark on every breakpoint; no background swatch under the image. */
body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image,
body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image img {
 background: transparent !important;
}
body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image img {
 mix-blend-mode: normal !important;
}
@media(max-width:767px){
 body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image {background:transparent!important}
}


/* 17.5.5 — Premium image-only brand shortcuts. Keep the brand name as
   visually-hidden accessible text; keep each original product filter URL. */
html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-grid {
  gap: clamp(9px, 1vw, 16px);
}
html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut {
  position: relative;
  display: grid !important;
  grid-template-columns: 1fr !important;
  place-items: center !important;
  min-width: 0;
  height: clamp(146px, 11vw, 186px);
  min-height: 146px;
  padding: 15px !important;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #d7e8df !important;
  border-radius: 19px !important;
  background: linear-gradient(145deg, #fcfefd 0%, #edf8f2 100%) !important;
  box-shadow: inset 0 1px 0 #fff, 0 7px 22px rgba(23,77,48,.06) !important;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut:hover,
html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut:focus-visible {
  border-color: #83c5a4 !important;
  box-shadow: 0 11px 25px rgba(23,77,48,.12) !important;
  transform: translateY(-2px);
}
html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut:focus-visible {
  outline: 2px solid #208a5a;
  outline-offset: 2px;
}
html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image {
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
  justify-self: stretch !important;
  flex: none !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 10px 12px 18px !important;
  margin: 0 !important;
  box-sizing: border-box;
  background: transparent !important;
}
html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image img {
  display: block !important;
  width: min(100%, 176px) !important;
  height: 90px !important;
  max-width: 100% !important;
  max-height: 90px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  mix-blend-mode: normal !important;
}
html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut > .ce-brand-shortcut-foot {
  position: absolute !important;
  display: block !important;
  z-index: 2;
  inset: auto 11px 11px auto !important;
  width: 36px !important;
  height: 36px !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
}
html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
}
html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-arrow {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid #b7dac5 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.9) !important;
  color: #176c48;
  box-shadow: 0 3px 9px rgba(14,79,45,.07);
  transition: background .18s ease, color .18s ease;
}
html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut:hover .ce-brand-shortcut-arrow,
html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut:focus-visible .ce-brand-shortcut-arrow {
  background: #1c865a !important;
  color: #fff;
}
html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-arrow svg {
  width: 17px !important;
  height: 17px !important;
  color: inherit;
}
@media (max-width: 767px) {
  html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut {
    height: 142px !important;
    min-height: 142px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }
  html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image {
    padding: 8px 8px 19px !important;
  }
  html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-image img {
    width: min(100%, 136px) !important;
    height: 78px !important;
    max-height: 78px !important;
  }
  html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut > .ce-brand-shortcut-foot {
    inset: auto 9px 9px auto !important;
    width: 32px !important;
    height: 32px !important;
  }
  html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-arrow {
    width: 32px !important;
    height: 32px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.ce-site .ce-brand-shortcuts a.ce-brand-shortcut,
  html body.ce-site .ce-brand-shortcuts .ce-brand-shortcut-arrow {transition:none !important}
}


/* 17.5.8 — Full composition of portrait artwork made specifically for phones.
   A 1080 × 1920 mobile photo previously lost the lower cameras because the
   hero had a fixed 390px height and object-fit:cover. Only mobile slides with
   a separate portrait attachment receive the aspect-ratio treatment. */
@media (max-width: 767px) {
  html body.ce-site .ce-full-hero .ce-hero-slide.ce-hero-mobile-portrait {
    height: max(var(--ce-hero-mobile, 390px), calc(100vw * var(--ce-hero-mobile-ratio, 1.77778)));
  }
  html body.ce-site .ce-full-hero .ce-hero-slide.ce-hero-mobile-portrait .ce-full-hero-media > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
  html body.ce-site .ce-full-hero .ce-hero-slide.ce-hero-mobile-portrait::after {
    /* Keep the mobile photograph's camera arrangement and contrast intact. */
    background: linear-gradient(180deg, rgba(238,248,242,.10), rgba(238,248,242,0) 48%);
  }
  html body.ce-site .ce-full-hero .ce-hero-slide.ce-hero-mobile-portrait .ce-full-hero-copy {
    position: relative;
    z-index: 2;
  }
}
