/* Zen Bliss pages: Dawn 16 section styles for the imported pages (spec-pages.md; values from Dawn base.css and the
   section CSS, rem x 10 = px) plus the page shortcodes and forms. Loaded after zb.css (handle zb-pages, deps zb).
   Every section of an imported page is a core/group ".zb-section .zb-sec-<type> .zb-scheme-<id> .zb-pt-<n> .zb-pb-<n>". */

:root{--zbp-gutter:15px;--zbp-content:calc(1200px - 2*var(--zbp-gutter))}
@media (min-width:750px){:root{--zbp-gutter:50px}}

/* ---- padding: Dawn prints 75% of the setting below 750px ---- */
.zb-pt-0{padding-top:0px}.zb-pb-0{padding-bottom:0px} .zb-pt-4{padding-top:3px}.zb-pb-4{padding-bottom:3px} .zb-pt-8{padding-top:6px}.zb-pb-8{padding-bottom:6px} .zb-pt-12{padding-top:9px}.zb-pb-12{padding-bottom:9px} .zb-pt-16{padding-top:12px}.zb-pb-16{padding-bottom:12px} .zb-pt-20{padding-top:15px}.zb-pb-20{padding-bottom:15px} .zb-pt-24{padding-top:18px}.zb-pb-24{padding-bottom:18px} .zb-pt-28{padding-top:21px}.zb-pb-28{padding-bottom:21px} .zb-pt-32{padding-top:24px}.zb-pb-32{padding-bottom:24px} .zb-pt-36{padding-top:27px}.zb-pb-36{padding-bottom:27px} .zb-pt-40{padding-top:30px}.zb-pb-40{padding-bottom:30px} .zb-pt-44{padding-top:33px}.zb-pb-44{padding-bottom:33px} .zb-pt-48{padding-top:36px}.zb-pb-48{padding-bottom:36px} .zb-pt-52{padding-top:39px}.zb-pb-52{padding-bottom:39px} .zb-pt-56{padding-top:42px}.zb-pb-56{padding-bottom:42px} .zb-pt-60{padding-top:45px}.zb-pb-60{padding-bottom:45px} .zb-pt-64{padding-top:48px}.zb-pb-64{padding-bottom:48px} .zb-pt-68{padding-top:51px}.zb-pb-68{padding-bottom:51px} .zb-pt-72{padding-top:54px}.zb-pb-72{padding-bottom:54px} .zb-pt-76{padding-top:57px}.zb-pb-76{padding-bottom:57px} .zb-pt-80{padding-top:60px}.zb-pb-80{padding-bottom:60px} .zb-pt-84{padding-top:63px}.zb-pb-84{padding-bottom:63px} .zb-pt-88{padding-top:66px}.zb-pb-88{padding-bottom:66px} .zb-pt-92{padding-top:69px}.zb-pb-92{padding-bottom:69px} .zb-pt-96{padding-top:72px}.zb-pb-96{padding-bottom:72px} .zb-pt-100{padding-top:75px}.zb-pb-100{padding-bottom:75px}
@media (min-width:750px){.zb-pt-0{padding-top:0px}.zb-pb-0{padding-bottom:0px} .zb-pt-4{padding-top:4px}.zb-pb-4{padding-bottom:4px} .zb-pt-8{padding-top:8px}.zb-pb-8{padding-bottom:8px} .zb-pt-12{padding-top:12px}.zb-pb-12{padding-bottom:12px} .zb-pt-16{padding-top:16px}.zb-pb-16{padding-bottom:16px} .zb-pt-20{padding-top:20px}.zb-pb-20{padding-bottom:20px} .zb-pt-24{padding-top:24px}.zb-pb-24{padding-bottom:24px} .zb-pt-28{padding-top:28px}.zb-pb-28{padding-bottom:28px} .zb-pt-32{padding-top:32px}.zb-pb-32{padding-bottom:32px} .zb-pt-36{padding-top:36px}.zb-pb-36{padding-bottom:36px} .zb-pt-40{padding-top:40px}.zb-pb-40{padding-bottom:40px} .zb-pt-44{padding-top:44px}.zb-pb-44{padding-bottom:44px} .zb-pt-48{padding-top:48px}.zb-pb-48{padding-bottom:48px} .zb-pt-52{padding-top:52px}.zb-pb-52{padding-bottom:52px} .zb-pt-56{padding-top:56px}.zb-pb-56{padding-bottom:56px} .zb-pt-60{padding-top:60px}.zb-pb-60{padding-bottom:60px} .zb-pt-64{padding-top:64px}.zb-pb-64{padding-bottom:64px} .zb-pt-68{padding-top:68px}.zb-pb-68{padding-bottom:68px} .zb-pt-72{padding-top:72px}.zb-pb-72{padding-bottom:72px} .zb-pt-76{padding-top:76px}.zb-pb-76{padding-bottom:76px} .zb-pt-80{padding-top:80px}.zb-pb-80{padding-bottom:80px} .zb-pt-84{padding-top:84px}.zb-pb-84{padding-bottom:84px} .zb-pt-88{padding-top:88px}.zb-pb-88{padding-bottom:88px} .zb-pt-92{padding-top:92px}.zb-pb-92{padding-bottom:92px} .zb-pt-96{padding-top:96px}.zb-pb-96{padding-bottom:96px} .zb-pt-100{padding-top:100px}.zb-pb-100{padding-bottom:100px}}

/* ---- section frame and colour schemes ---- */
body .wp-block-group.zb-section{margin-top:0;margin-bottom:0;padding-left:var(--zbp-gutter);padding-right:var(--zbp-gutter);box-sizing:border-box;color:rgba(20,32,26,.75)}
.zb-section>*{max-width:var(--zbp-content);margin-left:auto;margin-right:auto;box-sizing:border-box}
.zb-section.zb-narrow>*{max-width:calc(726px - 2*var(--zbp-gutter))}
.zb-section.zb-narrow-faq>*{max-width:704px}
.zb-section .page-width{max-width:none;padding-left:0;padding-right:0}
.zb-section.zb-scheme-1,.zb-section.zb-scheme-background-1{--zbp-bg:#fff;background:#fff}
.zb-section.zb-scheme-2,.zb-section.zb-scheme-background-2,.zb-home-guide.zb-scheme-2{--zbp-bg:#eef4ef;background:#eef4ef}
.zb-section.zb-scheme-3{--zbp-bg:#dbe7f1;background:#dbe7f1}
.zb-section.zb-scheme-5{--zbp-bg:#dcebd8;background:#dcebd8}
.zb-hero-section.zb-scheme-1,.zb-home-guide.zb-scheme-1{background:#fff}
.zb-section figure.wp-block-image{margin:0}
.zb-section figure.wp-block-image img{display:block;max-width:100%;height:auto}
.zb-section p{margin:0}

/* ---- headings (Plus Jakarta Sans 700; Dawn sizes with heading scale 1.1) ---- */
.zb-section h1,.zb-section h2,.zb-section h3,.zb-section h4{font-family:var(--zb-font-heading,"Plus Jakarta Sans",sans-serif);font-weight:700;color:#14201a;letter-spacing:.66px;line-height:1.273;margin:0;word-break:break-word}
.zb-section h2{font-size:22px}
.zb-section h3{font-size:18.7px}
.zb-section .h0{font-size:44px}
.zb-section .h1,.zb-home-guide .h1{font-size:33px}
.zb-section .h2{font-size:22px}
@media (min-width:750px){
  .zb-section h2,.zb-section .h2{font-size:26.4px}
  .zb-section h3{font-size:19.8px}
  .zb-section .h0{font-size:57.2px}
  .zb-section .h1,.zb-home-guide .h1{font-size:44px}
}
.zb-section .caption-with-letter-spacing{font-size:10px;letter-spacing:1.3px;line-height:1.2;text-transform:uppercase}
.zb-section .caption-with-letter-spacing+h2{margin-top:10px}

/* ---- rich text links and tables (Dawn .rte) ---- */
.zb-section.rte a:not([class]),.zb-home-guide .rte a:not([class]){color:#1f6b17;text-underline-offset:.3em;text-decoration-thickness:1px}
.zb-section.rte a:not([class]):hover,.zb-home-guide .rte a:not([class]):hover{text-decoration-thickness:2px}
.zb-section.rte table:not([class]),.zb-home-guide .rte table:not([class]){table-layout:fixed;border-collapse:collapse;font-size:14px;border-style:hidden;box-shadow:0 0 0 1px rgba(20,32,26,.2)}
.zb-section.rte table:not([class]) td,.zb-section.rte table:not([class]) th,.zb-home-guide .rte table:not([class]) td,.zb-home-guide .rte table:not([class]) th{padding:1em;border:1px solid rgba(20,32,26,.2)}

/* ---- buttons (Dawn .button: pill, green, 15px) ---- */
.zb-section .wp-block-buttons{display:flex;flex-wrap:wrap;gap:10px}
.zb-section .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:47px;min-width:122px;padding:0 30px;border-radius:40px;border:1px solid #1f6b17;background:#1f6b17;color:#fff;font-family:var(--zb-font-body,"DM Sans",sans-serif);font-size:15px;font-weight:400;letter-spacing:1px;line-height:1.2;text-decoration:none;width:100%}
.zb-section .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button{background:var(--zbp-bg,#fff);color:#1f6b17;border-color:#1f6b17}
.zb-section .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button:hover{box-shadow:0 0 0 1.3px currentColor inset}

/* ---- page title (custom liquid) and main page ---- */
.zb-sec-main-page .main-page-title{margin:0 0 30px}
.zb-sec-main-page h2{margin:.83em 0}
.zb-sec-main-page p,.zb-sec-main-page .wp-block-list{margin:1em 0}
.zb-sec-main-page .wp-block-list{padding-left:40px}
.zb-sec-main-page>p:last-child{margin-bottom:0}
@media (min-width:750px){.zb-sec-main-page .main-page-title{margin-bottom:40px}}

/* ---- rich text: left-aligned block column, 500px then 780px wide ---- */
.zb-sec-rich-text>*{margin-left:calc((100% - min(100%,var(--zbp-content)))/2);margin-right:auto}
@media (min-width:750px){.zb-sec-rich-text>*{max-width:500px}}
@media (min-width:990px){.zb-sec-rich-text>*{max-width:780px}}
.zb-sec-rich-text>*+*{margin-top:20px}
.zb-sec-rich-text>.wp-block-buttons{margin-top:30px}
.zb-sec-rich-text>.caption-with-letter-spacing+h2{margin-top:10px}
.zb-sec-rich-text .wp-block-button{min-width:0}

/* ---- image with text: two halves, rounded image, padded text ---- */
.zb-section .wp-block-columns.zb-iwt{display:grid!important;grid-template-columns:1fr;gap:0;align-items:center;margin:0 auto}
.zb-iwt .image-with-text__media img{width:100%;border-radius:16px}
.zb-iwt .image-with-text__content{padding:40px 40px 50px;align-self:center}
.zb-iwt .image-with-text__content>*+*{margin-top:20px}
.zb-iwt .image-with-text__content>p+p{margin-top:10px}
.zb-iwt .image-with-text__content>.wp-block-buttons{margin-top:30px}
.zb-iwt .image-with-text__content>.caption-with-letter-spacing+h2{margin-top:0}
.zb-iwt .image-with-text__content .wp-block-button__link{width:auto!important}
@media (min-width:750px){
  .zb-section .wp-block-columns.zb-iwt{grid-template-columns:1fr 1fr}
  .zb-iwt--small{grid-template-columns:1fr 2fr!important}
  .zb-iwt--large{grid-template-columns:2fr 1fr!important}
  .zb-iwt--reverse .image-with-text__media-item{order:2}
}
@media (min-width:990px){.zb-iwt .image-with-text__content{padding:60px 70px 70px}}

/* ---- multicolumn: grid of cards, swipe with a peek below 990px ---- */
.zb-section .wp-block-columns.zb-mc{display:grid!important;grid-template-columns:repeat(var(--zbp-cols,1),minmax(0,1fr));gap:4px;margin:0 auto;padding:0;list-style:none}
.zb-mc.zb-cols-m2{--zbp-cols:2}
.zb-sec-multicolumn .title{margin:0 0 30px}
.zb-mc .multicolumn-card{box-sizing:border-box;padding:25px;border-radius:16px;height:100%}
.zb-mc--bg .multicolumn-card{background:linear-gradient(rgba(20,32,26,.04),rgba(20,32,26,.04)),var(--zbp-bg,#fff)}
.zb-mc--center .multicolumn-card{text-align:center}
.zb-mc .multicolumn-card h3{line-height:1.45}
.zb-mc .multicolumn-card>*+*{margin-top:10px}
.zb-mc .multicolumn-card__image{margin:0 0 25px}
.zb-mc.zb-mc--img-third .multicolumn-card__image img{width:33%}
.zb-mc.zb-mc--img-half .multicolumn-card__image img{width:50%}
.zb-mc.zb-mc--img-full .multicolumn-card__image img{width:100%}
.zb-mc--center .multicolumn-card__image img{margin-left:auto;margin-right:auto}
.zb-mc .multicolumn-card .multicolumn-card__link{margin-top:15px}
.zb-mc .link{color:#1f6b17;text-decoration:none;font-size:inherit;display:inline-flex;align-items:center;gap:8px}
.zb-mc .link::after{content:"";width:14px;height:10px;background:currentColor;transition:transform .1s ease;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546'/%3E%3C/svg%3E") center/contain no-repeat}
.zb-mc .link:hover::after{transform:translateX(4px)}
@media (max-width:989px){
  .zb-section .wp-block-columns.zb-mc.zb-swipe{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--zbp-gutter);
    margin-left:calc(-1*var(--zbp-gutter));margin-right:calc(-1*var(--zbp-gutter));max-width:none;padding:0 var(--zbp-gutter) 8px;scrollbar-width:none}
  .zb-mc.zb-swipe::-webkit-scrollbar{display:none}
  .zb-mc.zb-swipe>.wp-block-column{flex:0 0 calc(100% - 34px)!important;scroll-snap-align:start}
  .zb-mc.zb-swipe.zb-cols-m2>.wp-block-column{flex-basis:calc(50% - 19px)!important}
}
@media (min-width:990px){
  .zb-section .wp-block-columns.zb-mc{gap:8px}
  .zb-mc.zb-cols-d2{--zbp-cols:2}.zb-mc.zb-cols-d3{--zbp-cols:3}.zb-mc.zb-cols-d4{--zbp-cols:4}.zb-mc.zb-cols-d5{--zbp-cols:5}.zb-mc.zb-cols-d6{--zbp-cols:6}
}

/* ---- FAQ sections (collapsible content, narrow column; rows are zb.css .zb-faq) ---- */
.zb-sec-faq .collapsible-content__heading{margin:0 0 20px}
.zb-sec-faq .caption-with-letter-spacing+.collapsible-content__heading{margin-top:10px}
.zb-faq__answer>:last-child{margin-bottom:0}
.zb-faq__answer ul,.zb-faq__answer ol,.zb-faq__answer table{margin:0 0 18px;color:#4d5b51}
.zb-faq__answer table{border-collapse:collapse;font-size:14px}
.zb-faq__answer th,.zb-faq__answer td{text-align:left;padding:4px 12px 4px 0;border-bottom:1px solid #dde5dd}
.zb-faq__heading{margin:0 0 20px}
@media (min-width:750px){.zb-sec-faq .collapsible-content__heading{margin-bottom:30px}}

/* ---- image banner (Dawn image-banner): image fills the band, text box on top; stacked on phones ---- */
body .wp-block-group.zb-section.zb-banner{position:relative;display:flex;flex-direction:column;padding-left:0;padding-right:0;isolation:isolate}
.zb-section.zb-banner>*{max-width:none;margin:0}
.zb-banner .zb-banner__media{position:relative;height:280px;overflow:hidden}
.zb-banner--medium .zb-banner__media{height:340px}
.zb-section.zb-banner figure.zb-banner__media img{width:100%;height:100%;object-fit:cover}
.zb-banner .zb-banner__box{position:relative;z-index:2;box-sizing:border-box;padding:40px 35px;text-align:center;background:var(--zbp-bg,#fff)}
.zb-banner--mobile-align-left .zb-banner__box{text-align:left}
.zb-banner__box>*+*{margin-top:10px}
.zb-banner__box>.banner__text{margin-top:15px}
.zb-banner__box>.wp-block-buttons{margin-top:20px;justify-content:center;max-width:450px;margin-left:auto;margin-right:auto}
.zb-banner__box .banner__buttons--multiple>.wp-block-button{flex-grow:1;min-width:220px}
@media (min-width:750px){
  body .wp-block-group.zb-section.zb-banner{flex-direction:row;min-height:420px}
  body .wp-block-group.zb-section.zb-banner--medium{min-height:560px}
  .zb-banner .zb-banner__media{position:absolute;inset:0;height:100%}
  .zb-banner .zb-banner__box{margin:50px;width:auto;min-width:450px;max-width:710px;border-radius:16px;align-self:center}
  .zb-banner__box>.banner__text{margin-top:20px}
  .zb-banner--pos-middle-left .zb-banner__box{margin-right:auto}
  .zb-banner--pos-middle-center .zb-banner__box{margin-left:auto;margin-right:auto}
  .zb-banner--pos-middle-right .zb-banner__box{margin-left:auto}
  .zb-banner--align-left .zb-banner__box{text-align:left}
  .zb-banner--align-left .zb-banner__box>.wp-block-buttons{justify-content:flex-start;margin-left:0}
  .zb-banner--transparent .zb-banner__box{background:transparent;padding:40px 0;max-width:680px;border-radius:0}
}
@media (min-width:1400px){.zb-banner .zb-banner__box{max-width:900px}}
/* Homepage sale banner, the live section's custom CSS: a rounded card from 990px, image right 56%, text left 44%. */
.zb-section.zb-banner--card-right figure.zb-banner__media img{object-position:right}
@media (max-width:989px){
  body .wp-block-group.zb-section.zb-banner--card-right{flex-direction:column;min-height:0}
  .zb-banner--card-right .zb-banner__media{position:relative;inset:auto;height:210px}
  .zb-banner--card-right .zb-banner__box{margin:0;width:100%;max-width:none;min-width:0;border-radius:0}
}
@media (min-width:990px){
  body .wp-block-group.zb-section.zb-banner--card-right{width:calc(100% - 100px);max-width:1100px;margin:0 auto;border-radius:16px;overflow:hidden}
  .zb-banner--card-right .zb-banner__media{left:44%;width:56%}
  .zb-banner--card-right .zb-banner__box{margin:0;padding:40px 35px;width:44%;min-width:0;max-width:none;align-self:stretch;border-radius:0;display:grid;align-content:center}
}

/* ---- product grid sections (head above [zb_products]) ---- */
.zb-section .zb-sec-head p{margin:8px 0 0;color:#4d5b51;max-width:58ch}
.zb-section .zb-sec-head p.zb-eyebrow{margin:0 0 10px;color:#1f6b17;max-width:none}
.zb-sec-head h1{margin:0}
.zb-section .zb-sec-head p.zb-sec-head__link{margin:0}
.zb-group{margin:0 0 16px}
.zb-section .zb-group h2{margin:0;font-size:22px}
.zb-section .zb-group p{margin:4px 0 0;color:#4d5b51}
.zb-sec-featured-collection .title,.zb-sec-featured-blog .blog__title{margin:0 0 30px}
.zb-sec-contact-form .title{margin:0 0 20px}

/* ---- latest posts (Dawn featured blog cards) ---- */
.zb-blog-grid{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.zb-blog-grid .article{margin:0;padding:0;display:flex}
.zb-blog .card-wrapper{position:relative;width:100%;height:100%}
.zb-blog .card__inner{position:relative;border-radius:16px;overflow:hidden;background:#eef4ef;aspect-ratio:1.66}
.zb-blog .card__inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zb-blog .card__information{padding:13px 20px}
.zb-blog .card__heading{margin:0 0 6px;font-family:var(--zb-font-heading,"Plus Jakarta Sans",sans-serif);font-weight:700;color:#14201a;line-height:1.273;letter-spacing:.66px;font-size:22px}
.zb-blog .card__heading a{color:inherit;text-decoration:none}
.zb-blog .card__heading a::after{content:"";position:absolute;inset:0;z-index:1}
.zb-blog .card-wrapper:hover .card__heading a{text-decoration:underline;text-underline-offset:.3rem}
.zb-blog .article-card__info{padding-top:4px;font-size:10px;letter-spacing:1.3px;line-height:1.2;text-transform:uppercase}
.zb-blog .circle-divider::after{content:"\2022";margin:0 13px 0 15px}
.zb-blog .circle-divider:last-of-type::after{display:none}
.zb-blog .article-card__excerpt{margin:12px 0 0;max-width:820px}
.zb-blog .blog__view-all{text-align:center}
.zb-blog .blog__button{margin-top:30px}
@media (max-width:989px){
  .zb-blog-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--zbp-gutter);margin:0 calc(-1*var(--zbp-gutter));padding:0 var(--zbp-gutter) 8px;scrollbar-width:none}
  .zb-blog-grid::-webkit-scrollbar{display:none}
  .zb-blog-grid .article{flex:0 0 calc(50% - 19px);scroll-snap-align:start}
}
@media (max-width:749px){.zb-blog-grid .article{flex-basis:calc(100% - 34px)}}
@media (min-width:750px){
  .zb-blog .card__information{padding:17px 20px}
  .zb-blog .card__heading{font-size:26.4px}
  .zb-blog .blog__button{margin-top:50px}
}
@media (min-width:990px){.zb-blog-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.zb-blog-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---- newsletter band (full width, centred) ---- */
body .wp-block-group.zb-section.zb-newsletter-band{text-align:center;padding-left:40px;padding-right:40px}
.zb-newsletter-band>*+*{margin-top:20px}
.zb-newsletter-band>.zb-newsletter{margin-top:30px}
.zb-newsletter-band .newsletter__subheading{max-width:700px}
@media (min-width:750px){body .wp-block-group.zb-section.zb-newsletter-band{padding-left:90px;padding-right:90px}}

/* ---- home guide, hero, collection-tools banner, store rating ---- */
.zb-home-guide .zb-prose h3{font-size:20px;color:#14201a;margin:26px 0 8px}
.zb-home-guide .zb-prose h3:first-child{margin-top:0}
.zb-home-guide .zb-prose ul{margin:0 0 14px;padding-left:20px}
.zb-home-guide .zb-prose table{width:100%;max-width:480px;border-collapse:collapse;margin:0 0 14px}
.zb-home-guide .zb-prose th,.zb-home-guide .zb-prose td{text-align:left;padding:6px 10px 6px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.zb-hero-section .zb-hero__h{margin:0;font-size:clamp(34px,4.4vw,56px);line-height:1.1}
.zb-hmc-wrap{padding-top:16px}
.zb-store-rating{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:16px 0;font-size:14px;color:#4d5b51}
.zb-stars{--zbp-pct:calc(var(--zb-rating,5)/5*100%);display:inline-block;font-size:16px;line-height:1;letter-spacing:2px;color:transparent;
  background:linear-gradient(90deg,#e0a62b var(--zbp-pct),#d6d9d6 var(--zbp-pct));-webkit-background-clip:text;background-clip:text}
.zb-stars::before{content:"\2605\2605\2605\2605\2605"}

/* ---- forms (Dawn floating-label fields, scoped to .zb-form) ---- */
.zb-form .zb-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.zb-form .visually-hidden{position:absolute!important;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);word-wrap:normal!important}
.zb-form .field{position:relative;width:100%;display:flex;flex-wrap:wrap}
.zb-form .field::after{content:"";position:absolute;inset:1px;border-radius:12px;box-shadow:0 0 0 1px rgba(20,32,26,.55);pointer-events:none;z-index:1;transition:box-shadow .1s ease}
.zb-form .field:hover::after{box-shadow:0 0 0 2px rgba(20,32,26,.55)}
.zb-form .field .field__input{-webkit-appearance:none;appearance:none;flex-grow:1;box-sizing:border-box;width:100%;height:45px;min-height:auto;margin:1px;padding:15px;border:0;border-radius:12px;
  background:var(--zbp-bg,#fff);color:#14201a;font-family:var(--zb-font-body,"DM Sans",sans-serif);font-size:16px;line-height:1.5;text-align:left;box-shadow:none;outline:0}
.zb-form .field .field__input:focus,.zb-form .field .field__input:focus-visible{box-shadow:0 0 0 2px #14201a}
.zb-form .field .field__input:focus,.zb-form .field .field__input:not(:placeholder-shown){padding:22px 15px 8px 20px}
.zb-form .field .field__input::placeholder{opacity:0}
.zb-form .field .text-area{height:auto;min-height:100px;resize:none}
.zb-form .field__label{position:absolute;left:21px;top:11px;margin:0;font-size:16px;line-height:1.5;letter-spacing:1px;color:rgba(20,32,26,.75);pointer-events:none;transition:top .1s ease,font-size .1s ease}
.zb-form .field__input:focus~.field__label,.zb-form .field__input:not(:placeholder-shown)~.field__label,.zb-form .field__input:-webkit-autofill~.field__label{font-size:10px;top:6px;letter-spacing:.4px}
.zb-form .field__button{position:absolute;right:1px;top:0;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:100%;padding:0;margin:0;border:0;background:transparent;color:currentColor;cursor:pointer;box-shadow:none;min-width:0;min-height:0}
.zb-form .field__button .icon{width:15px;height:auto}
.zb-form .form__message{display:flex;align-items:center;font-size:14px;line-height:1;margin-top:10px}
.zb-form .form__message .icon{flex-shrink:0;width:13px;height:13px;margin-right:5px}
.zb-contact .contact__fields{display:block}
.zb-contact .field{margin-bottom:15px}
.zb-contact .contact__field-error{width:100%}
.zb-contact .contact__button{margin-top:30px}
.zb-contact .form-status{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;font-size:16px;line-height:1.4;font-weight:400;font-family:var(--zb-font-body,"DM Sans",sans-serif);color:#14201a}
.zb-contact .form-status .icon{margin-top:4px}
.zb-contact .form-status-list{list-style:none;padding:0;margin:0 0 30px}
.zb-contact .form-status-list a{color:#1f6b17;text-underline-offset:.3em}
@media (min-width:750px){
  .zb-contact .contact__fields{display:grid;grid-template-columns:repeat(2,1fr);column-gap:20px}
  .zb-contact .field{margin-bottom:20px}
  .zb-contact .contact__button{margin-top:40px}
}
.zb-newsletter .newsletter-form{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:360px;margin:0 auto}
.zb-newsletter .newsletter-form__field-wrapper{width:100%}
.zb-newsletter .newsletter-form__field-wrapper .field__input{padding-right:50px}
.zb-newsletter .newsletter-form__message{justify-content:center;margin:15px 0 0}
.zb-newsletter .zb-turnstile{width:100%;display:flex;justify-content:center}
.zb-newsletter .zb-turnstile iframe{margin-top:10px}
.zb-newsletter .newsletter-form__message--success{margin-top:20px;font-family:var(--zb-font-body,"DM Sans",sans-serif);font-weight:400;color:#14201a}
@media (min-width:750px){
  .zb-newsletter .newsletter-form{align-items:flex-start}
  .zb-newsletter .newsletter-form__message{justify-content:flex-start}
}
.zb-newsletter--footer .footer-block__heading{margin:0 0 20px;font-size:17.6px}
.zb-newsletter--footer .newsletter-form{margin:0}
@media (min-width:990px){.zb-newsletter--footer .footer-block__heading{font-size:19.8px}}
