/* The Human Remedy - site chrome.
   Lives here rather than the Elementor kit because the kit stylesheet is only
   enqueued on Elementor-built pages, so Cart, Checkout and My Account never got it. */
/* HR-CHROME-START  header + footer chrome */
/* Astra option keys would not apply on this build; nav sat at 1.55:1. */
.ast-primary-header-bar,#ast-desktop-header .ast-primary-header-bar{background-color:#0e2619}
.ast-primary-header-bar .main-header-menu>li>a,.ast-primary-header-bar #ast-hf-menu-1>li>a{color:#f4efe3}
.ast-primary-header-bar .main-header-menu>li>a:hover,.ast-primary-header-bar #ast-hf-menu-1>li>a:hover,
.ast-primary-header-bar .current-menu-item>a,.ast-primary-header-bar .current-menu-ancestor>a{color:#e8a33d}
.ast-primary-header-bar .site-title a{color:#f4efe3}.ast-primary-header-bar .site-title a:hover{color:#e8a33d}
.ast-primary-header-bar .sub-menu,#ast-hf-menu-1 .sub-menu,.main-header-menu .sub-menu{background-color:#102b1b;border:0;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.ast-primary-header-bar .sub-menu li>a,#ast-hf-menu-1 .sub-menu li>a{color:#f4efe3;background-color:transparent}
.ast-primary-header-bar .sub-menu li>a:hover,#ast-hf-menu-1 .sub-menu li>a:hover{color:#e8a33d;background-color:#173a25}
.ast-primary-header-bar .sub-menu .current-menu-item>a{color:#e8a33d}
.hr-nav-cta>a{background-color:#a8410a!important;color:#ffffff!important;border-radius:999px;
 padding:9px 18px!important;margin-left:10px;font-weight:700;line-height:1.2;
 transition:transform .2s ease,background-color .2s ease;display:inline-block}
.hr-nav-cta>a:hover{background-color:#a53f06!important;color:#ffffff!important;transform:translateY(-2px)}
.hr-nav-cta>a:active{transform:translateY(1px)}
.hr-nav-cta .sub-arrow{display:none}
#ast-mobile-header .ast-mobile-header-wrap,#ast-mobile-header .main-header-bar{background-color:#0e2619}
#ast-mobile-header .menu-item>a,.ast-mobile-popup-drawer .menu-item>a{color:#f4efe3}
.ast-mobile-popup-drawer .ast-mobile-popup-inner{background-color:#0e2619}
.ast-mobile-menu-trigger-fill,.ast-mobile-menu-trigger-minimal,.ast-button-wrap .menu-toggle{color:#f4efe3;background-color:transparent}
.site-footer,.ast-small-footer,.site-below-footer-wrap,.site-primary-footer-wrap{background-color:#0b2115;color:#f4efe3}
.site-footer a,.ast-small-footer a,.site-below-footer-wrap a{color:#9db396}
.site-footer a:hover,.ast-small-footer a:hover,.site-below-footer-wrap a:hover{color:#e8a33d}
.site-below-footer-wrap{background-color:#081a10;border-top:1px solid #17311f}
.site-footer .widget-title,.site-footer h2,.site-footer h3{color:#f4efe3}
/* HR-CHROME-END */
/* HR-MOBNAV-START  mobile menu + every submenu level */
#ast-hf-mobile-menu,#ast-hf-mobile-menu .sub-menu,
.ast-mobile-header-content,.ast-mobile-header-content .main-header-menu,
.ast-mobile-header-content .sub-menu,.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-popup-content,.ast-mobile-popup-content .main-header-menu,
.ast-mobile-popup-content .sub-menu,#ast-mobile-header .main-header-menu,
#ast-mobile-header .sub-menu{background-color:#0e2619!important}
#ast-hf-mobile-menu .sub-menu,.ast-mobile-header-content .sub-menu,
.ast-mobile-popup-content .sub-menu,#ast-mobile-header .sub-menu{background-color:#102b1b!important}
#ast-hf-mobile-menu li>a,.ast-mobile-header-content li>a,.ast-mobile-popup-content li>a,
#ast-mobile-header li>a{color:#f4efe3!important;border-color:#1d3f2b}
#ast-hf-mobile-menu li>a:hover,.ast-mobile-header-content li>a:hover,
.ast-mobile-popup-content li>a:hover,#ast-mobile-header li>a:hover{color:#e8a33d!important}
#ast-hf-mobile-menu .ast-menu-toggle,.ast-mobile-header-content .ast-menu-toggle{color:#f4efe3!important}
.ast-mobile-popup-drawer .ast-mobile-popup-header{background-color:#0e2619}
.ast-mobile-popup-drawer .menu-toggle-close{color:#f4efe3}
.hr-nav-cta>a{color:#ffffff!important}
/* HR-MOBNAV-END */
/* HR-MOBNAV2-START */
#ast-hf-mobile-menu .menu-link,.ast-mobile-header-content .menu-link,
.ast-mobile-popup-content .menu-link,#ast-mobile-header .menu-link{background-color:transparent!important;color:#f4efe3!important}
#ast-hf-mobile-menu .menu-link:hover,.ast-mobile-header-content .menu-link:hover,
.ast-mobile-popup-content .menu-link:hover{color:#e8a33d!important}
#ast-hf-mobile-menu .sub-menu .menu-link{background-color:transparent!important}
/* HR-MOBNAV2-END */

/* woo page grounds */
.woocommerce-cart,.woocommerce-checkout,.woocommerce-account{background-color:#f4efe3}
.woocommerce-cart #content,.woocommerce-checkout #content,.woocommerce-account #content,
.woocommerce-cart .site-content,.woocommerce-checkout .site-content,.woocommerce-account .site-content,
.woocommerce-cart .ast-container,.woocommerce-checkout .ast-container,.woocommerce-account .ast-container{background-color:#f4efe3}
/* HR-GROUND-START */
html body{background-color:#0b2115!important}
/* HR-GROUND-END */

/* HR-STICKY-START  solid chrome: the bar was 86% opaque over a 14px backdrop
   blur, so page content showed through it as you scrolled. Solid now, and the
   blur goes with it — there is nothing behind a solid bar to blur. */
.ast-primary-header-bar,#ast-mobile-header .ast-mobile-header-wrap{
 background-color:#0b2115!important;
 border-bottom:1px solid rgba(148,175,150,.30);box-shadow:none}
.ast-sticky-active .ast-primary-header-bar{border-bottom-color:rgba(148,175,150,.42)}
/* HR-STICKY-END */
/* HR-COMMERCE-START  cart / checkout / account
   One border per component, one padding scale, one vertical rhythm. */

/* 1. ground */
html body.woocommerce-cart,html body.woocommerce-checkout,html body.woocommerce-account{background-color:#0e2619!important}
.woocommerce-cart #content,.woocommerce-checkout #content,.woocommerce-account #content{background-color:#0e2619}
.woocommerce-page .entry-content,.woocommerce-page article,.woocommerce-page .ast-article-single,
.woocommerce-page .woocommerce,.woocommerce-page .ast-container,.woocommerce-page #primary,
form.checkout,form.woocommerce-checkout,form.woocommerce-cart-form,.woocommerce-cart form{background-color:transparent!important;border:0!important}

/* 2. reset every border Woo and the theme draw, then add them back deliberately */
.woocommerce-page table.shop_table,.woocommerce-page table.shop_table *,
.woocommerce-checkout-review-order-table,.woocommerce-checkout-review-order-table *{border:0!important}

/* 3. one surface, one border, one radius per component */
.woocommerce table.shop_table,.woocommerce-checkout-review-order-table,
.woocommerce .cart_totals,.woocommerce-checkout #order_review,.woocommerce-billing-fields,
.woocommerce-additional-fields,.woocommerce-shipping-fields,.woocommerce-form-login,
.woocommerce-form-coupon,.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation,
.woocommerce-order,.woocommerce-customer-details,.woocommerce-checkout #payment{
 background-color:#102B1B!important;color:#f4efe3!important;
 border:1px solid #2A4433!important;border-radius:16px!important;
 overflow:hidden;box-shadow:none!important;margin-bottom:20px}
.woocommerce table.shop_table,.woocommerce-checkout-review-order-table{border-collapse:separate!important;border-spacing:0}
.woocommerce .cart_totals,.woocommerce-checkout #order_review,.woocommerce-billing-fields,
.woocommerce-additional-fields,.woocommerce-shipping-fields,.woocommerce-form-login,
.woocommerce-form-coupon,.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation{padding:22px}

/* 4. separators live on cells only, never on the row and the table as well */
.woocommerce table.shop_table th,.woocommerce-checkout-review-order-table th{
 background-color:#356b45!important;color:#f4efe3!important;padding:14px 16px!important}
.woocommerce table.shop_table td,.woocommerce-checkout-review-order-table td{
 padding:14px 16px!important;color:#f4efe3!important;
 border-bottom:1px solid rgba(148,175,150,.16)!important}
.woocommerce table.shop_table tr:last-child td,
.woocommerce-checkout-review-order-table tr:last-child td{border-bottom:0!important}
.woocommerce .order-total td,.woocommerce .order-total th{background-color:#356b45!important;font-weight:700}

/* 5. headings sit on the surface, never on the theme's near-white block */
.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3,.woocommerce-page h4,
.woocommerce-page .entry-title,#order_review_heading,#ship-to-different-address{
 background:transparent!important;color:#f4efe3!important;border:0!important;
 padding-left:0;padding-right:0;margin:0 0 14px}
.woocommerce-page a{color:#e8a33d}
.woocommerce-page,.woocommerce-page p,.woocommerce-page label,.woocommerce-page li{color:#f4efe3}

/* 6. fields: one height, one radius, one focus ring */
.woocommerce-page input[type=text],.woocommerce-page input[type=email],.woocommerce-page input[type=tel],
.woocommerce-page input[type=password],.woocommerce-page input[type=number],.woocommerce-page textarea,
.woocommerce-page select,.woocommerce input#coupon_code,.woocommerce .quantity input.qty,
.select2-container--default .select2-selection--single{
 background-color:#f4efe3!important;color:#12251a!important;
 border:1px solid #2A4433!important;border-radius:10px!important;
 padding:12px 14px!important;min-height:48px!important;font-size:16px!important;box-shadow:none!important}
.woocommerce-page input:focus,.woocommerce-page textarea:focus,.woocommerce-page select:focus,
.select2-container--default.select2-container--focus .select2-selection--single{
 outline:none!important;border-color:#e8a33d!important;box-shadow:0 0 0 3px rgba(232,163,61,.28)!important}
.woocommerce-page ::placeholder{color:#6b7a6f;opacity:1}
.woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:6px;font-weight:600}
.woocommerce .required,.woocommerce abbr.required{color:#e8a33d;border:0;text-decoration:none}
.select2-dropdown{background-color:#f4efe3;color:#12251a;border-color:rgba(148,175,150,.28)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#356b45;color:#f4efe3}
.woocommerce-page input[type=checkbox],.woocommerce-page input[type=radio]{accent-color:#a8410a;width:18px;height:18px;min-height:0!important}

/* 7. buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #place_order,.wc-proceed-to-checkout a.checkout-button{
 background-color:#a8410a!important;color:#fff5ea!important;border:0!important;border-radius:999px!important;
 font-weight:700;padding:14px 26px!important;line-height:1.2;transition:transform .2s ease,background-color .2s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #place_order:hover,
.wc-proceed-to-checkout a.checkout-button:hover{background-color:#a53f06!important;transform:translateY(-2px)}
.woocommerce a.button:active,.woocommerce button.button:active{transform:translateY(1px)}
.woocommerce button.button[name=update_cart],.woocommerce a.button.wc-backward{background-color:#356b45!important}

/* 8. vertical rhythm */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
 background-color:#356b45!important;color:#f4efe3!important;border-top:0!important;
 border-radius:12px!important;margin-bottom:20px;padding:16px 20px 16px 48px}
.woocommerce-message{border-left:4px solid #7fc79a!important}
.woocommerce-info{border-left:4px solid #e8a33d!important}
.woocommerce-error{border-left:4px solid #e88fa0!important}
.woocommerce .cart-collaterals,.woocommerce-cart .cart-collaterals{margin-top:8px}
.wc-proceed-to-checkout{padding:0!important;margin-top:16px}
.woocommerce-cart .coupon{display:flex;gap:10px;flex-wrap:wrap;padding:16px 0 0}

/* 9. mobile: each stacked row becomes its own card */
@media (max-width:767px){
 .woocommerce .cart_totals,.woocommerce-checkout #order_review,.woocommerce-billing-fields,
 .woocommerce-additional-fields,.woocommerce-shipping-fields,.woocommerce-MyAccount-content{padding:16px}
 .woocommerce table.shop_table{background-color:transparent!important;border:0!important;overflow:visible}
 .woocommerce table.shop_table_responsive tr{
  display:block;background-color:#102B1B!important;border:1px solid #2A4433!important;
  border-radius:14px!important;margin-bottom:14px;overflow:hidden}
 .woocommerce table.shop_table_responsive tr td{display:flex;justify-content:space-between;align-items:center;
  gap:12px;padding:12px 14px!important;border-bottom:1px solid rgba(148,175,150,.16)!important}
 .woocommerce table.shop_table_responsive tr td:last-child{border-bottom:0!important}
 .woocommerce table.shop_table_responsive tr td::before{font-weight:700;color:#f4efe3!important}
 .woocommerce table.shop_table_responsive thead{display:none}
 .woocommerce a.button,.woocommerce button.button,.woocommerce #place_order,
 .wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center}
 .woocommerce-cart .coupon{flex-direction:column}
 .woocommerce-cart .coupon input#coupon_code,.woocommerce-cart .coupon button{width:100%}
}
/* HR-COMMERCE-END */
/* HR-COMTIDY-START  mobile cart refinements */
@media (max-width:767px){
 /* coupon: Woo ships a fixed-width input that squashes on narrow screens */
 .woocommerce-cart .coupon{flex-direction:column;align-items:stretch;gap:10px}
 .woocommerce-cart .coupon input#coupon_code,.woocommerce .coupon input.input-text{
  width:100%!important;max-width:none!important;flex:1 1 100%!important;margin:0!important;float:none!important}
 .woocommerce-cart .coupon button,.woocommerce-cart .coupon .button{width:100%!important;margin:0!important;float:none!important}

 /* the remove and thumbnail cells carry no label, so drop the empty label column */
 .woocommerce table.shop_table_responsive tr td.product-remove,
 .woocommerce table.shop_table_responsive tr td.product-thumbnail{justify-content:center;padding:10px 14px!important}
 .woocommerce table.shop_table_responsive tr td.product-remove::before,
 .woocommerce table.shop_table_responsive tr td.product-thumbnail::before{content:none!important;display:none!important}
 /* pull them into one tidy header strip on the card */
 .woocommerce table.shop_table_responsive tr td.product-thumbnail img{width:74px;height:74px;object-fit:cover;border-radius:10px}
 .woocommerce table.shop_table_responsive tr td.product-remove{border-bottom:0!important;padding-bottom:0!important;justify-content:flex-end}
 .woocommerce table.shop_table_responsive tr td.product-thumbnail{border-bottom:1px solid rgba(148,175,150,.16)!important;padding-top:0!important}
 .woocommerce table.shop_table_responsive tr td.product-remove a.remove{font-size:22px;line-height:1}

 /* long product names should wrap left-aligned, not ragged right */
 .woocommerce table.shop_table_responsive tr td.product-name{align-items:flex-start}
 .woocommerce table.shop_table_responsive tr td.product-name a{text-align:right}
 .woocommerce table.shop_table_responsive tr td::before{flex:0 0 auto;margin-right:12px}
}
/* HR-COMTIDY-END */
/* HR-ACTIONS-START */
@media (max-width:767px){
 /* the actions cell holds the coupon + update button; it must not be a flex row */
 .woocommerce table.shop_table_responsive tr td.actions{
  display:block!important;width:100%!important;padding:14px!important}
 .woocommerce table.shop_table_responsive tr td.actions::before{content:none!important;display:none!important}
 .woocommerce-cart .coupon{width:100%!important;display:flex;flex-direction:column;gap:10px;padding:0!important}
 .woocommerce-cart .coupon input#coupon_code{width:100%!important;flex:1 1 auto!important}
 .woocommerce-cart .coupon button{width:100%!important}
 .woocommerce table.shop_table_responsive tr td.actions button[name=update_cart]{width:100%;margin-top:10px}
}
/* HR-ACTIONS-END */
/* HR-CHECKOUT-START  checkout streamlining */

/* 1. drop the fields that add friction. Both are optional in Woo, so hiding
      them submits empty and breaks no validation. */
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #shipping_company_field,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{display:none!important}

/* 2. Square hosted card field was locked to 250px and cropping the inputs */
.sq-card-wrapper,.sq-card-iframe-container,#wc-square-credit-card-hosted-fields,
.wc-square-credit-card-hosted-field,div[id^=single-card-wrapper]{
 width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}
.sq-card-wrapper iframe,.sq-card-iframe-container iframe,#payment iframe{
 width:100%!important;min-width:0!important;display:block}
.woocommerce-checkout #payment div.payment_box{padding:18px!important;overflow:visible!important}
.woocommerce-checkout #payment div.payment_box .form-row{max-width:none!important;width:100%!important}

/* 3. Your order: one clean vertical column, no duplicated money rows */
.woocommerce-checkout-review-order-table{width:100%!important}
.woocommerce-checkout-review-order-table tr.cart-subtotal{display:none!important}
.woocommerce-checkout-review-order-table tr.recurring-totals th{
 font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#f4efe3;
 background-color:transparent!important;padding:16px 16px 6px!important}
.woocommerce-checkout-review-order-table tr.order-total td,
.woocommerce-checkout-review-order-table tr.order-total th{
 background-color:#356b45!important;font-size:17px;font-weight:700}
.woocommerce-checkout-review-order-table tfoot tr th{width:52%}
.woocommerce-checkout-review-order-table td{text-align:right}
.woocommerce-checkout-review-order-table th{text-align:left}
.woocommerce-checkout-review-order-table .product-name{text-align:left}
.woocommerce-checkout-review-order-table .product-quantity{color:#e8a33d;font-weight:700}

/* stack the order table on narrow screens instead of squeezing two columns */
@media (max-width:767px){
 .woocommerce-checkout-review-order-table thead{display:none}
 .woocommerce-checkout-review-order-table tbody tr,
 .woocommerce-checkout-review-order-table tfoot tr{display:flex;justify-content:space-between;
  align-items:baseline;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(148,175,150,.16)}
 .woocommerce-checkout-review-order-table tbody td,
 .woocommerce-checkout-review-order-table tfoot td,
 .woocommerce-checkout-review-order-table tfoot th{padding:0!important;border:0!important;background:transparent!important}
 .woocommerce-checkout-review-order-table tfoot tr.order-total{background-color:#356b45!important;border-radius:10px;margin-top:6px}
 .woocommerce-checkout-review-order-table tfoot tr th{width:auto}
}
/* HR-CHECKOUT-END */
/* HR-CARDFIX-START  Square wraps its card field in a fieldset with 30px padding,
   which narrowed the hosted input and made it look cropped. */
.woocommerce-checkout #payment fieldset,
fieldset[class*=wc-square-credit-card]{padding:0!important;margin:0!important;border:0!important}
.wc-square-credit-card-container,div[class*=wc-square-credit-card-new-payment-method]{
 width:100%!important;max-width:100%!important}
.sq-card-wrapper,div[id^=single-card-wrapper]{width:100%!important;max-width:100%!important;min-width:0!important}
.sq-card-wrapper iframe,#payment iframe{width:100%!important;min-width:0!important;display:block}
/* give the field a little breathing room of its own */
.woocommerce-checkout #payment div.payment_box{padding:18px!important}
/* HR-CARDFIX-END */
/* HR-STICKYHDR-START  pin the header to the top of the viewport */
/* overflow-x:hidden on html/body silently kills position:sticky.
   clip prevents the same sideways scroll without creating a scroll container. */
html,body{overflow-x:clip}

/* NOTE: sticky must live on #masthead. The inner wrap, #ast-desktop-header
   and #masthead are all exactly the header height, so a sticky inner wrap
   has zero travel and simply scrolls away. #page is the tall ancestor. */
#masthead{position:-webkit-sticky;position:sticky;top:0;z-index:999}
/* solid, not 86% over a blur: page content was visible through the bar */
.ast-primary-header-bar,#ast-mobile-header .ast-mobile-header-wrap{
 background-color:#0b2115!important;
 border-bottom:1px solid rgba(148,175,150,.30);box-shadow:none}
@supports not (backdrop-filter: blur(1px)){
 .ast-primary-header-bar,#ast-mobile-header .ast-mobile-header-wrap{background-color:#0e2619!important}
}
/* the header must sit above Elementor sections that create their own stacking */
#masthead.site-header{z-index:999}
/* keep anchor links clear of the pinned bar */
html{scroll-padding-top:96px}
@media (max-width:767px){html{scroll-padding-top:76px}}
/* popups and their overlays must still cover it */
.dialog-widget,.dialog-lightbox-widget,[id^=elementor-popup-modal-]{z-index:9999!important}
/* HR-STICKYHDR-END */
/* HRWALLETSTART  Square Apple Pay and Google Pay on cart and checkout.
   Square renders the container hidden and reveals it in JS only when a
   wallet is genuinely available, so we never force it visible. */
#wc-square-digital-wallet{width:100%;box-sizing:border-box;margin:0 0 18px;padding:0;
 background-color:transparent;border:0;border-radius:0}
#wc-square-digital-wallet>div{width:100%!important;box-sizing:border-box}
#wc-square-digital-wallet .apple-pay-button,#wc-square-digital-wallet #wc-square-google-pay{
 width:100%!important;min-height:56px;height:56px!important;border-radius:999px!important;
 overflow:hidden;margin:0 0 10px!important;box-sizing:border-box}
#wc-square-digital-wallet .apple-pay-button{
 -apple-pay-button-style:white;-apple-pay-button-type:buy;
 -webkit-appearance:-apple-pay-button;appearance:-apple-pay-button;cursor:pointer;height:52px}
#wc-square-google-pay button,#wc-square-google-pay .gpay-card-info-container{
 width:100%!important;min-height:56px;height:56px!important;border-radius:999px!important}
#wc-square-wallet-divider{text-align:center;color:#c9d6c2;font-size:12px;
 letter-spacing:1.5px;text-transform:uppercase;margin:6px 0 0;padding:0}
/* cart: sit the wallets directly above Proceed to checkout */
.woocommerce-cart .wc-proceed-to-checkout #wc-square-digital-wallet{margin-bottom:14px}
/* checkout: sit them above the billing form as express pay */
.woocommerce-checkout #wc-square-digital-wallet{margin-bottom:22px}
@media (max-width:767px){
 #wc-square-digital-wallet{padding:14px;margin-bottom:16px}
 #wc-square-digital-wallet .apple-pay-button,#wc-square-digital-wallet #wc-square-google-pay{min-height:50px!important}
}
/* HRWALLETEND */
/* HRSTRIPESTART  Stripe Express Checkout (Apple Pay / Google Pay).
   Stripe hides these until the browser can actually offer a wallet, so we
   only style the shown state and never force visibility. */
#wc-stripe-payment-request-wrapper,.wc-stripe-payment-request-wrapper,
#wc-stripe-express-checkout-element,.wc-stripe-express-checkout-wrapper{
 width:100%;box-sizing:border-box;margin:0 0 18px;padding:0;
 background-color:transparent;border:0;border-radius:0}
#wc-stripe-payment-request-button,#wc-stripe-express-checkout-element>div{
 width:100%!important;min-height:56px;height:56px!important;border-radius:999px!important;overflow:hidden}
#wc-stripe-payment-request-button-separator,.wc-stripe-payment-request-button-separator,
.wc-stripe-express-checkout-divider{
 text-align:center;color:#c9d6c2!important;font-size:12px;letter-spacing:1.5px;
 text-transform:uppercase;margin:10px 0 0!important;padding:0}
/* the popup one tap block uses the same panel treatment */
.qs-wallets{box-sizing:border-box}
@media (max-width:767px){
 #wc-stripe-payment-request-wrapper,.wc-stripe-express-checkout-wrapper{padding:14px;margin-bottom:16px}
}
/* HRSTRIPEEND */
/*  */
/* HREXPRESSSTART  Apple Pay / Google Pay / Amazon Pay above every checkout action.
   Stripe renders into #wc-stripe-express-checkout-element with no wrapper class,
   so target the id directly. */

/* CART - above Proceed to checkout */
.woocommerce-cart .wc-proceed-to-checkout{display:flex;flex-direction:column;gap:12px}
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element,
.woocommerce-cart .wc-proceed-to-checkout .wc-stripe-express-checkout-wrapper,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-payment-request-wrapper{order:-3}
.woocommerce-cart .wc-proceed-to-checkout .wc-stripe-express-checkout-divider,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-payment-request-button-separator,
.woocommerce-cart .wc-proceed-to-checkout .wc-stripe-express-checkout-button-separator{order:-2}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{order:0;margin:0}

/* PRODUCT - above Add to basket */
.single-product form.cart{display:flex;flex-direction:column;gap:12px}
.single-product form.cart #wc-stripe-express-checkout-element,
.single-product form.cart .wc-stripe-express-checkout-wrapper{order:-3}
.single-product form.cart .wc-stripe-express-checkout-divider{order:-2}
.single-product form.cart .quantity{order:0}
.single-product form.cart button.single_add_to_cart_button{order:1;width:100%}

/* CHECKOUT - top of the form */
.woocommerce-checkout #wc-stripe-express-checkout-element{order:-3;margin-bottom:20px}

/* shared panel treatment */
.wc-stripe-express-checkout-wrapper,#wc-stripe-payment-request-wrapper,#wc-stripe-express-checkout-element{width:100%;box-sizing:border-box;margin:0;padding:0;
 background-color:transparent;border:0;border-radius:0}
#wc-stripe-express-checkout-element{display:flex;flex-direction:column;gap:10px}
#wc-stripe-express-checkout-element>div,#wc-stripe-payment-request-button{width:100%!important;min-height:56px;height:56px!important;border-radius:999px!important;overflow:hidden}
#wc-stripe-express-checkout-element-applePay,#wc-stripe-express-checkout-element-googlePay,
#wc-stripe-express-checkout-element-amazonPay,#wc-stripe-express-checkout-element-link{
 width:100%!important;min-height:56px;height:56px!important;border-radius:999px!important;overflow:hidden}
.wc-stripe-express-checkout-divider,#wc-stripe-payment-request-button-separator,
.wc-stripe-express-checkout-button-separator{text-align:center;color:#c9d6c2!important;
 font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin:0!important;padding:0}
@media (max-width:767px){.wc-stripe-express-checkout-wrapper,#wc-stripe-payment-request-wrapper,#wc-stripe-express-checkout-element{padding:0}}
/* HREXPRESSEND */
/* HRPRODEXPSTART  product page: Stripe drops the express element into
   .summary as a sibling of form.cart, so order it there, not inside the form. */
.single-product .summary.entry-summary{display:flex;flex-direction:column}
.single-product .summary.entry-summary>#wc-stripe-express-checkout-element{order:-2;margin-bottom:14px}
.single-product .summary.entry-summary>.wc-stripe-express-checkout-divider,
.single-product .summary.entry-summary>.wc-stripe-express-checkout-button-separator{order:-1;margin-bottom:10px}
.single-product .summary.entry-summary>form.cart{order:0}
.single-product .summary.entry-summary>.product_title{order:-6}
.single-product .summary.entry-summary>.price{order:-5}
.single-product .summary.entry-summary>.woocommerce-product-details__short-description{order:-4}
.single-product .summary.entry-summary>.product_meta{order:2}
/* HRPRODEXPEND */
/*  */
/* HRQSORDERSTART  bundle popup: quantity, then wallets, then Add to basket.
   WooCommerce sets form.cart{display:flex} so contents needs !important. */
[id^=elementor-popup-modal-] .qs-block{display:flex;flex-direction:column;gap:10px}
[id^=elementor-popup-modal-] [class*=elementor-add-to-cart]{display:contents!important}
[id^=elementor-popup-modal-] form.cart,[id^=elementor-popup-modal-] form.cart.cart{display:contents!important}
[id^=elementor-popup-modal-] form.cart .quantity{order:-4;width:100%!important;max-width:none!important;
 display:flex!important;align-items:center;gap:12px;margin:0!important}
[id^=elementor-popup-modal-] form.cart .quantity input.qty{width:100%!important;max-width:none!important;
 min-height:56px;height:56px!important;text-align:center;font-size:16px}
[id^=elementor-popup-modal-] .qs-wallets{order:-3;width:100%}
[id^=elementor-popup-modal-] form.cart button.single_add_to_cart_button{order:-2;width:100%!important;
 display:flex!important;align-items:center;justify-content:center;min-height:56px;height:56px;margin:0!important}
[id^=elementor-popup-modal-] .qs-or{order:-1}
[id^=elementor-popup-modal-] .qs-wallet-note{order:0}
/* HRQSORDEREND */
/*  */
/*  */
/* HRQTYSTART  quantity steppers, tap friendly on desktop and mobile */
.hr-qty{display:flex!important;flex-wrap:nowrap!important;align-items:stretch;
 gap:0;width:100%;max-width:200px;box-sizing:border-box}
.hr-qty>input.qty,.hr-qty>input[type=number]{
 -moz-appearance:textfield;appearance:textfield;text-align:center;
 border-radius:0!important;border-left:0!important;border-right:0!important;
 min-height:56px;height:56px!important;flex:1 1 0!important;width:auto!important;min-width:0!important;
 max-width:none!important;margin:0!important;box-sizing:border-box}
.hr-qty input::-webkit-outer-spin-button,.hr-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.hr-qty>.hr-qty-btn{flex:0 0 52px!important;width:52px!important;min-width:52px;min-height:56px;height:56px;
 background:#f4efe3;color:#12251a;border:1px solid rgba(148,175,150,.35);box-sizing:border-box;
 font-size:22px;line-height:1;font-weight:700;cursor:pointer;padding:0;margin:0;
 display:flex;align-items:center;justify-content:center;-webkit-appearance:none;appearance:none;
 transition:background-color .15s ease,color .15s ease}
.hr-qty>.hr-qty-btn:first-child{border-radius:10px 0 0 10px}
.hr-qty>.hr-qty-btn:last-child{border-radius:0 10px 10px 0}
.hr-qty>.hr-qty-btn:hover{background:#0e2619;color:#f4efe3}
.hr-qty>.hr-qty-btn:active{transform:translateY(1px)}
.hr-qty>.hr-qty-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(232,163,61,.45);position:relative;z-index:2}
[id^=elementor-popup-modal-] .hr-qty{max-width:none}
.woocommerce table.shop_table .hr-qty{max-width:180px;margin-left:auto}
@media (max-width:767px){
 .hr-qty{max-width:none}
 .woocommerce table.shop_table .hr-qty{max-width:210px}
 .hr-qty>.hr-qty-btn{flex:0 0 56px!important;width:56px!important;min-height:56px;font-size:24px}
 .hr-qty>input.qty{min-height:56px!important}
}
/* HRQTYEND */
/* HRNAVCTASTART  header buy CTA, desktop and mobile */
.hr-nav-cta>a{background-color:#a8410a!important;color:#ffffff!important;
 border-radius:999px!important;padding:11px 22px!important;margin-left:12px;
 font-weight:700;font-size:14px;line-height:1.2;letter-spacing:.2px;white-space:nowrap;
 display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
 box-shadow:0 2px 0 #8f3605;
 transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.hr-nav-cta>a:hover{background-color:#a53f06!important;color:#ffffff!important;
 transform:translateY(-2px);box-shadow:0 4px 0 #7f3005}
.hr-nav-cta>a:active{transform:translateY(1px);box-shadow:0 1px 0 #7f3005}
.hr-nav-cta>a:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(232,163,61,.5)}
.hr-nav-cta .sub-arrow,.hr-nav-cta .ast-icon{display:none!important}

/* mirrored button in the mobile bar */
.hr-mobile-cta{display:none}
@media (max-width:921px){
 .hr-mobile-cta{display:inline-flex!important;align-items:center;justify-content:center;
  background-color:#a8410a;color:#ffffff!important;border-radius:999px;
  padding:10px 16px;margin-right:10px;font-weight:700;font-size:13px;line-height:1.2;
  white-space:nowrap;text-decoration:none;min-height:42px;box-shadow:0 2px 0 #8f3605;
  transition:transform .18s ease,background-color .18s ease}
 .hr-mobile-cta:hover,.hr-mobile-cta:focus{background-color:#a53f06;color:#ffffff!important}
 .hr-mobile-cta:active{transform:translateY(1px)}
 #ast-mobile-header .ast-mobile-header-wrap .site-header-primary-section-right{
  display:flex;align-items:center;gap:4px}
}
@media (max-width:400px){
 .hr-mobile-cta{padding:9px 13px;font-size:12.5px}
}

/* stepper: let the field take the space between the two buttons */
form.cart .quantity.hr-qty,.woocommerce div.product form.cart .quantity.hr-qty{
 width:100%!important;max-width:220px}
@media (max-width:767px){
 form.cart .quantity.hr-qty{max-width:none}
}
/* HRNAVCTAEND */
/*  */
/* HRMOBBARSTART */
@media (max-width:921px){
 .hr-mobile-bar{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
 .hr-mobile-bar .ast-button-wrap{margin:0}
 .hr-mobile-cta{flex:0 0 auto;margin:0!important}
}
@media (max-width:600px){
 #ast-mobile-header .site-title{font-size:19px!important;line-height:1.15;white-space:nowrap}
 #ast-mobile-header .site-title a{white-space:nowrap}
 .hr-mobile-cta{padding:9px 14px;font-size:12.5px}
}
@media (max-width:380px){
 #ast-mobile-header .site-title{font-size:17px!important}
 .hr-mobile-cta{padding:8px 11px;font-size:12px}
}
/* HRMOBBAREND */
/* HRCTAHIDESTART  the desktop menu CTA must not leak onto mobile;
   the mirrored .hr-mobile-cta covers that breakpoint instead. */
@media (max-width:921px){
 .hr-nav-cta,.hr-nav-cta>a{display:none!important}
}
@media (min-width:922px){
 .hr-mobile-cta{display:none!important}
}
/* HRCTAHIDEEND */
/* HRCTAFITSTART */
@media (min-width:922px){
 .main-header-menu > li.hr-nav-cta{margin-left:10px;display:flex;align-items:center}
 .main-header-menu > li.hr-nav-cta > a.menu-link,
 .ast-nav-menu > li.hr-nav-cta > a.menu-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;flex:0 0 auto!important;align-self:center!important;
  height:auto!important;min-height:0!important;line-height:1.2!important;
  padding:10px 18px!important;white-space:nowrap!important}
}
/* Keep the bar on ONE row. The 8 nav items alone fill the menu box, so trim
   their padding; below 1150px also shrink the wordmark to widen the menu. */
@media (min-width:922px){
 .main-header-menu > li:not(.hr-nav-cta) > a.menu-link{
  padding-left:12px!important;padding-right:12px!important}
}
@media (min-width:922px) and (max-width:1150px){
 .main-header-menu > li:not(.hr-nav-cta) > a.menu-link{
  padding-left:8px!important;padding-right:8px!important;font-size:13px!important}
 .main-header-menu > li.hr-nav-cta > a.menu-link{padding:9px 14px!important;font-size:13px!important}
 .site-title{font-size:21px!important;line-height:1.2!important}
 .site-title a{white-space:nowrap}
}
@media (min-width:922px) and (max-width:1023px){
 .main-header-menu > li:not(.hr-nav-cta) > a.menu-link{
  padding-left:6px!important;padding-right:6px!important;font-size:12.5px!important}
 .main-header-menu > li.hr-nav-cta > a.menu-link{padding:8px 12px!important;font-size:12.5px!important}
 .site-title{font-size:18px!important}
}
/* HRCTAFITEND */

/* HRNAVCOLSTART */
/* Learn = purple, Shop = yellow. Tints chosen to stay legible on the dark
   green header; the mobile drawer needs the higher-specificity selectors
   because Astra's own mobile menu rules outrank a plain class selector. */
.main-header-menu > li.hr-nav-learn > a.menu-link,
.ast-nav-menu > li.hr-nav-learn > a.menu-link,
#ast-mobile-header li.hr-nav-learn > a.menu-link,
#ast-mobile-popup li.hr-nav-learn > a.menu-link,
.ast-mobile-header-wrap li.hr-nav-learn > a.menu-link,
.ast-mobile-popup-drawer li.hr-nav-learn > a.menu-link,
li.hr-nav-learn > a{color:#c6a6f5!important}
.main-header-menu > li.hr-nav-learn > a.menu-link:hover,
#ast-mobile-header li.hr-nav-learn > a.menu-link:hover,
li.hr-nav-learn > a:hover{color:#ddc9ff!important}
.main-header-menu > li.hr-nav-shop > a.menu-link,
.ast-nav-menu > li.hr-nav-shop > a.menu-link,
#ast-mobile-header li.hr-nav-shop > a.menu-link,
#ast-mobile-popup li.hr-nav-shop > a.menu-link,
.ast-mobile-header-wrap li.hr-nav-shop > a.menu-link,
.ast-mobile-popup-drawer li.hr-nav-shop > a.menu-link,
li.hr-nav-shop > a{color:#f5c542!important}
.main-header-menu > li.hr-nav-shop > a.menu-link:hover,
#ast-mobile-header li.hr-nav-shop > a.menu-link:hover,
li.hr-nav-shop > a:hover{color:#ffdb7a!important}
/* HRNAVCOLEND */

/* HRPOPORDERSTART */
/* Bundle popup action stack: quantity, then the price beside it, then the
   real Stripe wallet buttons, then the basket button. The old .qs-wallets
   placeholders are gone, so the live ECE container needs its own order. */
[id^=elementor-popup-modal-] form.cart .quantity{order:-4!important}
[id^=elementor-popup-modal-] .hr-total-row{width:100%;
 display:flex;align-items:baseline;justify-content:space-between;gap:10px;
 margin:2px 0 10px}
[id^=elementor-popup-modal-] #wc-stripe-express-checkout-element{
 order:-2!important;width:100%;margin:0 0 12px!important}
[id^=elementor-popup-modal-] form.cart button.single_add_to_cart_button{order:-1!important}
[id^=elementor-popup-modal-] .wc-stripe-express-checkout-button-separator{order:0!important}
/* HRPOPORDEREND */
/* HROPTSTART */
/* Bundle popup plan cards: selectable, not links. Both cards reserve room on
   the inline-end edge so the selected tick can never sit over the price. */
.hr-opt{cursor:pointer;position:relative;border:2px solid rgba(244,239,227,.22);
 border-radius:14px;padding-inline-end:46px!important;
 transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.hr-opt:hover{border-color:rgba(244,239,227,.45)}
.hr-opt:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(232,163,61,.55)}
.hr-opt.hr-opt-selected{border-color:#e8a33d;background-color:rgba(232,163,61,.10);
 box-shadow:inset 0 0 0 1px rgba(232,163,61,.35)}
.hr-opt.hr-opt-selected::after{content:"\2713";position:absolute;
 inset-block-start:50%;transform:translateY(-50%);inset-inline-end:14px;
 width:24px;height:24px;border-radius:999px;background:#e8a33d;color:#0e2619;
 font-size:14px;font-weight:800;line-height:24px;text-align:center;pointer-events:none}
.hr-total-value{font-variant-numeric:tabular-nums}
/* HROPTEND */
/* HROPTROWSTART */
/* Plan card header: name on the left, price on the right, on one line. The
   subscribe card wrapped because its price sits in a block that grew to the
   full row width. */
.hr-opt > *:first-child{display:flex!important;flex-direction:row!important;
 flex-wrap:nowrap!important;align-items:baseline!important;
 justify-content:space-between!important;gap:10px;width:100%}
.hr-opt > *:first-child > *{width:auto!important;min-width:0}
.hr-opt > *:first-child > .qs-plan-name{flex:1 1 auto!important}
.hr-opt > *:first-child > *:not(.qs-plan-name){flex:0 0 auto!important;
 display:flex;align-items:baseline;gap:8px;justify-content:flex-end;
 white-space:nowrap;text-align:end}
/* HROPTROWEND */
/* HRADDONSTART */
/* Membership tick box: white, on the inline-end side. Elementor's atomic
   containers already define .e-con::before with inset:0, so inline-start must
   be reset to auto or left:0 wins and the box jumps to the left edge. */
.hr-addon{position:relative;cursor:pointer;
 padding-inline-start:16px!important;padding-inline-end:60px!important;
 border:2px solid rgba(14,38,25,.22);border-radius:14px;
 transition:border-color .18s ease,background-color .18s ease}
.hr-addon:hover{border-color:rgba(14,38,25,.42)}
.hr-addon:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(232,163,61,.55)}
.hr-addon::before,.hr-addon::after{
 inset-inline-start:auto!important;left:auto!important;
 inset-block-start:50%!important;bottom:auto!important;
 inset-inline-end:16px!important;right:16px!important;
 transform:translateY(-50%)!important}
.hr-addon::before{content:""!important;position:absolute;
 width:26px!important;height:26px!important;border-radius:7px;
 background:#ffffff!important;border:2px solid #0e2619;box-sizing:border-box;
 box-shadow:0 1px 2px rgba(0,0,0,.12);
 transition:background-color .18s ease,border-color .18s ease}
.hr-addon.hr-addon-on{border-color:#e8a33d;background-color:rgba(232,163,61,.10)}
.hr-addon.hr-addon-on::before{background:#e8a33d!important;border-color:#0e2619}
.hr-addon.hr-addon-on::after{content:"✓"!important;position:absolute;
 width:26px!important;height:26px!important;line-height:26px!important;
 text-align:center;color:#0e2619;font-size:16px;font-weight:800;
 pointer-events:none}
/* HRADDONEND */
/* HRHDRREVEALSTART */
/* Sticky header slides away going down and returns on any upward scroll. */
#masthead{transition:transform .26s cubic-bezier(.4,0,.2,1)}
#masthead.hr-hdr-hidden{transform:translateY(-100%)!important}
body.ast-popup-nav-open #masthead,
.ast-mobile-popup-drawer.active #masthead{transform:none!important}
@media (prefers-reduced-motion: reduce){#masthead{transition:none}}
/* HRHDRREVEALEND */
/* HRQTYBIGSTART */
/* Bigger +/- controls. The row is locked to nowrap and the number field is
   allowed to shrink, so the arrows can never wrap above or below the field. */
.hr-qty{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important}
.hr-qty>.hr-qty-btn{flex:0 0 60px!important;width:60px!important;min-width:60px!important;
 min-height:60px!important;height:auto!important;font-size:26px!important;line-height:1!important;
 padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.hr-qty>input.qty,.hr-qty>input[type=number]{
 flex:1 1 0%!important;min-width:0!important;width:auto!important;
 height:60px!important;min-height:60px!important}
@media (max-width:600px){
 .hr-qty>.hr-qty-btn{flex:0 0 64px!important;width:64px!important;min-width:64px!important;
  min-height:64px!important;font-size:28px!important}
 .hr-qty>input.qty,.hr-qty>input[type=number]{height:64px!important;min-height:64px!important}
}
/* very narrow screens: keep them large but guarantee they still fit one row */
@media (max-width:360px){
 .hr-qty>.hr-qty-btn{flex:0 0 56px!important;width:56px!important;min-width:56px!important;
  min-height:56px!important}
}
/* HRQTYBIGEND */
/* HRWNOTESTART */
/* The wallet explainer is only useful when no wallet buttons appear. */
.elementor-popup-modal.hr-wallets-live .qs-wallet-note,
.elementor-popup-modal.hr-wallets-live .e-gc-47d1a61{display:none!important}
/* HRWNOTEEND */
/* HRFIX3START */
/* 1. Inside the cream popup the wallet block must not wear the green card
      treatment it uses on product pages - the buttons sit on the cream. */
.elementor-popup-modal #wc-stripe-express-checkout-element{
 background:transparent!important;background-color:transparent!important;
 border:0!important;padding:0!important;border-radius:0!important;
 margin:0 0 12px!important;gap:8px}
/* hold the space while Stripe mounts so the layout does not jump */
.elementor-popup-modal.hr-ece-pending #wc-stripe-express-checkout-element{min-height:112px}

/* 2. Astra's scroll-to-top button still had its default blue. */
#ast-scroll-top{
 background-color:#2f3330!important;color:#ffffff!important;
 width:46px!important;height:46px!important;line-height:46px!important;
 border-radius:999px!important;border:0!important;
 box-shadow:0 6px 18px rgba(0,0,0,.28)!important;
 display:flex!important;align-items:center;justify-content:center;
 font-size:17px!important;padding:0!important;
 inset-block-end:26px;inset-inline-end:26px;
 transition:transform .18s ease,background-color .18s ease,opacity .18s ease}
#ast-scroll-top:hover{background-color:#1c1f1d!important;transform:translateY(-2px)}
#ast-scroll-top:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(232,163,61,.6)!important}
#ast-scroll-top .ast-icon,#ast-scroll-top svg{fill:currentColor!important;color:#ffffff!important;
 width:15px;height:15px}
@media (max-width:600px){
 #ast-scroll-top{width:42px!important;height:42px!important;line-height:42px!important;
  inset-block-end:18px;inset-inline-end:18px}
}
/* HRFIX3END */
/* HRMISCSTART */
/* 1. Mobile header sat 4px off the right edge. */
@media (max-width:921px){
 #ast-mobile-header .site-header-primary-section-right{padding-inline-end:16px!important}
 #ast-mobile-header .ast-button-wrap{margin-inline-end:0!important}
}
/* 2. Centre the back-to-top glyph: the icon span inherits a 42px line-height
      which pushes the inline svg off centre. */
#ast-scroll-top .ast-icon{display:flex!important;align-items:center;justify-content:center;
 line-height:1!important;width:auto!important;height:auto!important;margin:0!important}
#ast-scroll-top svg{display:block!important;margin:0!important;width:15px;height:15px}
/* 3. Bigger nudge arrows either side of the bundle button. */
.buy-arrow-img{width:34px!important;height:34px!important;max-width:34px!important}
@media (max-width:600px){
 .buy-arrow-img{width:28px!important;height:28px!important;max-width:28px!important}
}
/* HRMISCEND */
/* HRMISC2START */
/* The mobile header bar was 387px wide inside a 375px viewport, so the
   toggle sat hard against the edge no matter what padding we added. */
@media (max-width:921px){
 #ast-mobile-header,#ast-mobile-header .ast-mobile-header-wrap,
 #ast-mobile-header .site-header-primary-section-right,
 #ast-mobile-header .ast-container,#ast-mobile-header .ast-container-fluid{
  max-width:100%!important;box-sizing:border-box!important;overflow-x:clip}
 #ast-mobile-header .ast-container,#ast-mobile-header .ast-container-fluid{
  padding-inline-start:16px!important;padding-inline-end:16px!important;margin:0!important}
 #ast-mobile-header .site-header-primary-section-right{padding-inline-end:14px!important}
}
/* Back-to-top glyph sat 3px high: kill the inherited line-height entirely. */
#ast-scroll-top{line-height:1!important}
#ast-scroll-top .ast-icon svg{vertical-align:middle!important}
/* Popup total: ride along the bottom of the scroll area, then settle into
   its own place once it is reached. */
[id^=elementor-popup-modal-] .hr-total-row{
 position:-webkit-sticky;position:sticky;inset-block-end:0;z-index:5;
 background:#ece1cc;
 box-shadow:0 -8px 14px -10px rgba(14,38,25,.35);
 padding-block:10px!important;margin-block-end:0!important}
/* HRMISC2END */
/* HRARROWFIXSTART */
/* The nudge arrows sit in a flex row and were shrinking below the width we
   set (28px asked, 22px rendered), so pin their flex basis. */
.buy-arrow-img{flex:0 0 34px!important;width:34px!important;height:34px!important;
 max-width:34px!important;min-width:34px!important}
@media (max-width:600px){
 .buy-arrow-img{flex:0 0 28px!important;width:28px!important;height:28px!important;
  max-width:28px!important;min-width:28px!important}
}
/* HRARROWFIXEND */
/* HRTOGGAPSTART */
/* The mobile builder grid row ran to 399px inside a 375px viewport, so the
   toggle only ever looked 4px from the edge. Constrain the row, then set a
   single clean gap. */
@media (max-width:921px){
 #ast-mobile-header .ast-builder-grid-row,
 #ast-mobile-header .ast-builder-grid-row-has-sides{
  max-width:100%!important;width:100%!important;margin-inline:0!important;
  box-sizing:border-box!important}
 #ast-mobile-header .site-header-primary-section-right{padding-inline-end:0!important}
 /* the header bar already carries 20px padding; extra margin here only
    stole width from the wordmark and truncated it */
 #ast-mobile-header .ast-button-wrap{margin-inline-end:0!important}
}
/* HRTOGGAPEND */
/* HRHEROSTART */
/* Hero headline: full caps via CSS so the underlying text stays readable to
   screen readers. Caps need tighter leading and a touch more letter-spacing
   than sentence case, or the lines drift apart and the words run together. */
.h1,.h1-strong,.h1-accent{
 text-transform:uppercase!important;
 line-height:.96!important;letter-spacing:-.005em!important}
.h1,.h1-strong{margin-block-end:0!important}
/* The two headline lines are separate elements in a flex column with a
   12px gap, so the spacing between SAME YOU. and FRESH START! was 57.6px of
   leading plus 14px of gap -- far looser than the 0.96 set on the type.
   Cancel the gap so the pair reads as one block at its own leading. */
.h1-accent{margin-block-start:-12px!important;margin-block-end:0!important}
@media (max-width:600px){
 .h1,.h1-strong{font-size:44px!important;line-height:.95!important}
 .h1-accent{font-size:44px!important;line-height:.95!important}
 .hero-rule{width:52px!important;height:3px!important;
  margin-block:14px 0!important;border-radius:2px}
 .elementor-179 [class*=e-con]:has(> img.hr-hero-shot){margin-block-start:-16px!important}
 img.hr-hero-shot{margin-block-start:0!important}
}
@media (max-width:380px){
 .h1,.h1-strong,.h1-accent{font-size:38px!important;line-height:.96!important}
 .hero-rule{width:46px!important;margin-block:12px 0!important}
}
/* HRHEROEND */
/* HRGRIDFIXSTART */
/* The mobile header grid could not shrink: the wordmark held its full width,
   pushing the row to 387px inside a 375px viewport. Let the columns shrink. */
@media (max-width:921px){
 #ast-mobile-header .ast-builder-grid-row{
  grid-template-columns:minmax(0,1fr) auto!important;column-gap:8px!important}
 #ast-mobile-header .ast-builder-grid-row > *{min-width:0!important}
 #ast-mobile-header .site-header-primary-section-left{min-width:0!important;overflow:hidden}
 #ast-mobile-header .site-header-primary-section-right{flex:0 0 auto!important}
 #ast-mobile-header .site-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* HRGRIDFIXEND */
/* HRSTARSTART */
/* Fully saturated gold so the review stars carry off the page. */
.star,.stars .star,.stars > *{
 color:#ffc400!important;
 filter:saturate(1.35) contrast(1.05);
 text-shadow:0 0 10px rgba(255,196,0,.42),0 1px 0 rgba(120,72,0,.30)}
/* HRSTAREND */
/* HRCTAGLOWSTART */
/* Shorter header button, a little air before the toggle, and a soft glow
   pulse on load to draw the eye. */
@keyframes hr-cta-glow{
 0%  {box-shadow:0 2px 0 #8f3605,0 0 0 0 rgba(232,163,61,.70)}
 60% {box-shadow:0 2px 0 #8f3605,0 0 0 13px rgba(232,163,61,0)}
 100%{box-shadow:0 2px 0 #8f3605,0 0 0 0 rgba(232,163,61,0)}
}
.hr-mobile-cta{
 min-height:34px!important;padding:7px 15px!important;
 margin-inline-end:10px!important;line-height:1.15!important}
.main-header-menu > li.hr-nav-cta > a.menu-link,
.ast-nav-menu > li.hr-nav-cta > a.menu-link{
 padding-block:7px!important;min-height:34px!important;line-height:1.15!important}
@media (prefers-reduced-motion: no-preference){
 .hr-mobile-cta,
 .main-header-menu > li.hr-nav-cta > a.menu-link{
  animation:hr-cta-glow 2.1s ease-out .7s 3 both}
}
/* HRCTAGLOWEND */
/* HRFOOTMOBSTART */
/* Legal now sits as its own column beside Pages, so it stacks like Pages. */
.ft-legal-col .ft-legal,.ft-legal-stack{
 display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
 align-items:flex-start!important;gap:2px!important}
.ft-legal-col .ft-legal-link{width:auto!important;flex:0 0 auto!important;
 margin:0!important;padding:3px 0!important;text-align:start!important}
/* Keep the wordmark whole and clear of the button. */
@media (max-width:400px){
 .hr-mobile-cta{padding:7px 12px!important;font-size:12px!important;
  margin-inline-start:10px!important}
 /* the name fit its box to the exact pixel, so overflow:hidden shaved the
    last glyph. 16px leaves real slack. */
 #ast-mobile-header .site-title{font-size:16px!important;padding-inline-end:0!important;
  overflow:visible!important}
}
/* HRFOOTMOBEND */
/* HRBREATHESTART */
/* Slow breathing ring around the 1-2-3 step numbers. Runs on a pseudo
   element so the existing scroll-in pop on .easy-num is untouched. */
@keyframes hr-breathe{
 0%,100%{transform:scale(1);opacity:.55}
 50%    {transform:scale(1.14);opacity:.12}
}
@keyframes hr-breathe-core{
 0%,100%{transform:scale(1)}
 50%    {transform:scale(1.035)}
}
.easy-num,.pg-num{position:relative}
.easy-num::after,.pg-num::after{
 content:"";position:absolute;inset:-7px;border-radius:50%;
 border:2px solid rgba(232,163,61,.60);pointer-events:none;
 transform-origin:50% 50%}
@media (prefers-reduced-motion: no-preference){
 .easy-num::after,.pg-num::after{animation:hr-breathe 3.2s ease-in-out infinite}
 .easy-step:nth-child(2) .easy-num::after,
 .pg-step:nth-child(2) .pg-num::after{animation-delay:.5s}
 .easy-step:nth-child(3) .easy-num::after,
 .pg-step:nth-child(3) .pg-num::after{animation-delay:1s}
 .easy-step:nth-child(4) .easy-num::after,
 .pg-step:nth-child(4) .pg-num::after{animation-delay:1.5s}
}
/* HRBREATHEEND */
/* HRCARDGLOWSTART */
/* Outer shadow glow rather than a painted layer behind the card, so nothing
   bleeds inside. Two tiers: the offer cards carry a strong pulse, the content
   cards a quiet one, staggered so they do not throb in unison. */
@keyframes hr-glow-strong{
 0%,100%{box-shadow:0 14px 34px -20px rgba(0,0,0,.55),0 0 16px -2px rgba(232,163,61,.20)}
 50%    {box-shadow:0 14px 34px -20px rgba(0,0,0,.55),0 0 46px 6px rgba(232,163,61,.58)}
}
@keyframes hr-glow-soft{
 0%,100%{box-shadow:0 10px 26px -18px rgba(0,0,0,.45),0 0 10px -3px rgba(232,163,61,.12)}
 50%    {box-shadow:0 10px 26px -18px rgba(0,0,0,.45),0 0 26px 2px rgba(232,163,61,.34)}
}
/* the old inner layer is gone */
.hr-glow::before{content:none!important}
.hr-glow{position:relative;isolation:auto}
@media (prefers-reduced-motion: no-preference){
 .hr-glow{animation:hr-glow-strong 3.6s ease-in-out infinite}
 .membership-card.hr-glow{animation-delay:.8s}
 .card,.card-service,.gold-rim-card:not(.hr-glow),.qs-plan,.mb-item{
  animation:hr-glow-soft 4.4s ease-in-out infinite}
 .card:nth-child(2),.card-service:nth-child(2),.gold-rim-card:nth-child(2){animation-delay:.9s}
 .card:nth-child(3),.card-service:nth-child(3),.gold-rim-card:nth-child(3){animation-delay:1.8s}
 .card:nth-child(4),.card-service:nth-child(4),.gold-rim-card:nth-child(4){animation-delay:2.7s}
}
/* HRCARDGLOWEND */
/* HRFTCOLSTART */
@media (max-width:768px){
 .ft-outer > *:first-child{display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:12px!important;row-gap:22px!important;align-items:start!important}
 .ft-outer > *:first-child > *{min-width:0!important;width:auto!important}
 .ft-outer > *:first-child > *:first-child{grid-column:1 / -1!important}
 .ft-outer > *:first-child > *:not(:first-child) p,
 .ft-outer > *:first-child > *:not(:first-child) span{
  font-size:12.5px!important;line-height:1.45!important;overflow-wrap:anywhere}
 .ft-legal-col .ft-legal,.ft-legal-stack{gap:1px!important}
}
@media (max-width:400px){
 .ft-outer > *:first-child{column-gap:8px!important}
 .ft-outer > *:first-child > *:not(:first-child) p,
 .ft-outer > *:first-child > *:not(:first-child) span{font-size:11.5px!important}
}
/* HRFTCOLEND */
/* HRTOTALLIFTSTART */
/* The pinned total sat flush on the very bottom edge, which reads as cut off
   on phones. Lift it clear and give it a floating bar treatment. */
[id^=elementor-popup-modal-] .hr-total-row{
 inset-block-end:18px!important;
 padding:10px 14px!important;border-radius:12px!important;
 border:1px solid rgba(14,38,25,.14)!important;
 box-shadow:0 8px 20px -10px rgba(14,38,25,.45)!important}
@media (max-width:600px){
 [id^=elementor-popup-modal-] .hr-total-row{inset-block-end:22px!important}
}
/* HRTOTALLIFTEND */
/* HRADDONFILLSTART */
/* Longhand background-color, stated last, so the checked fill actually wins. */
.hr-addon.hr-addon-on::before{background-color:#e8a33d!important;
 border-color:#0e2619!important}
/* HRADDONFILLEND */
/* HRWASSTART */
/* The was-prices were struck through, but at 13.7px with auto thickness in a
   low contrast colour the line was near invisible. Make it read clearly. */
.promo-was,.price-was,.qs-plan-was{
 text-decoration-line:line-through!important;
 text-decoration-thickness:2px!important;
 text-decoration-color:currentColor!important;
 text-decoration-skip-ink:none!important;
 font-size:15px!important;opacity:1!important}
/* HRWASEND */
/* HRBTNGLOWSTART */
/* Same pulse as the header Buy button, on the two in-page bundle CTAs. */
@keyframes hr-btn-pulse{
 0%  {box-shadow:0 2px 0 #8f3605,0 0 0 0 rgba(232,163,61,.70)}
 60% {box-shadow:0 2px 0 #8f3605,0 0 0 14px rgba(232,163,61,0)}
 100%{box-shadow:0 2px 0 #8f3605,0 0 0 0 rgba(232,163,61,0)}
}
@media (prefers-reduced-motion: no-preference){
 .hr-btn-glow{animation:hr-btn-pulse 2.1s ease-out infinite}
}
/* HRBTNGLOWEND */
/* HRTICKSTART */
/* Membership popup: stagger the benefit list in so it reads as a list of wins. */
@keyframes hr-tick-in{
 0%  {opacity:0;transform:translateX(-10px)}
 100%{opacity:1;transform:none}
}
@keyframes hr-tick-pop2{
 0%  {transform:scale(.4);opacity:0}
 70% {transform:scale(1.25);opacity:1}
 100%{transform:scale(1);opacity:1}
}
@media (prefers-reduced-motion: no-preference){
 .elementor-popup-modal .hr-tick-row{animation:hr-tick-in .42s ease-out both}
 .elementor-popup-modal .hr-tick-row > *:first-child{
  animation:hr-tick-pop2 .42s cubic-bezier(.34,1.56,.64,1) both;
  color:#e8a33d!important;font-weight:800}
 .elementor-popup-modal .hr-tick-row:nth-child(1){animation-delay:.10s}
 .elementor-popup-modal .hr-tick-row:nth-child(1) > *:first-child{animation-delay:.16s}
 .elementor-popup-modal .hr-tick-row:nth-child(2){animation-delay:.17s}
 .elementor-popup-modal .hr-tick-row:nth-child(2) > *:first-child{animation-delay:.23s}
 .elementor-popup-modal .hr-tick-row:nth-child(3){animation-delay:.24s}
 .elementor-popup-modal .hr-tick-row:nth-child(3) > *:first-child{animation-delay:.30s}
 .elementor-popup-modal .hr-tick-row:nth-child(4){animation-delay:.31s}
 .elementor-popup-modal .hr-tick-row:nth-child(4) > *:first-child{animation-delay:.37s}
 .elementor-popup-modal .hr-tick-row:nth-child(5){animation-delay:.38s}
 .elementor-popup-modal .hr-tick-row:nth-child(5) > *:first-child{animation-delay:.44s}
 .elementor-popup-modal .hr-tick-row:nth-child(6){animation-delay:.45s}
 .elementor-popup-modal .hr-tick-row:nth-child(6) > *:first-child{animation-delay:.51s}
 .elementor-popup-modal .hr-tick-row:nth-child(7){animation-delay:.52s}
 .elementor-popup-modal .hr-tick-row:nth-child(7) > *:first-child{animation-delay:.58s}
 .elementor-popup-modal .hr-tick-row:nth-child(8){animation-delay:.59s}
 .elementor-popup-modal .hr-tick-row:nth-child(8) > *:first-child{animation-delay:.65s}
 .elementor-popup-modal .hr-tick-row:nth-child(9){animation-delay:.66s}
 .elementor-popup-modal .hr-tick-row:nth-child(9) > *:first-child{animation-delay:.72s}
}
/* HRTICKEND */
/* HRFLSTART */
/* Food list: make it obvious the category tabs are clickable.
   Tabs render as <button class="e-tab-base">, not inside an .e-tabs wrapper. */
.e-tab-base{cursor:pointer!important;position:relative;
 transition:background-color .18s ease,color .18s ease,transform .18s ease}
.e-tab-base:hover{background-color:rgba(232,163,61,.16)!important;transform:translateY(-1px)}
.e-tab-base::after{content:"›";margin-inline-start:8px;font-weight:700;opacity:.6;
 display:inline-block;transition:transform .18s ease,opacity .18s ease}
.e-tab-base:hover::after{transform:translateX(3px);opacity:1}
.e-tab-base.e--selected{background-color:#cfa94a!important;border-color:#cfa94a!important;color:#0b2115!important;font-weight:700}
.e-tab-base.e--selected::after{opacity:1}
.e-tab-base:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(232,163,61,.5)}
/* a hint above the tab row */
.fl-tabs-hint{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
 opacity:.75;margin:0 0 10px}
/* the bundle shot beside the buy button (class sits on the img itself) */
img.hr-bundle-shot{max-width:190px;width:100%;height:auto;display:block;
 margin:0 auto 14px;border-radius:14px;
 box-shadow:0 10px 26px -14px rgba(0,0,0,.5)}
@media (max-width:600px){ img.hr-bundle-shot{max-width:150px} }
/* HRFLEND */
/* HRICONSTART */
/* About page: an icon badge on each fact box. */
.hr-fact{position:relative;padding-block-start:56px!important}
.hr-fact::before{
 position:absolute;inset-block-start:18px;inset-inline-start:18px;
 width:38px;height:38px;border-radius:999px;
 display:flex;align-items:center;justify-content:center;
 background:rgba(232,163,61,.16);border:1px solid rgba(232,163,61,.45);
 font-size:19px;line-height:1}
.hr-ic-london::before{content:"\1F3E0"}
.hr-ic-herb::before{content:"\1F33F"}
.hr-ic-ph::before{content:"\1F9EA"}
.hr-ic-ship::before{content:"\1F4E6"}
.hr-ic-source::before{content:"\1F30D"}
.hr-ic-member::before{content:"\2726";color:#e8a33d;font-weight:800}
@media (max-width:600px){
 .hr-fact{padding-block-start:52px!important}
 .hr-fact::before{width:34px;height:34px;font-size:17px;inset-block-start:14px;inset-inline-start:14px}
}
/* HRICONEND */
/* HRLEARNMEMSTART */
/* Learn page membership section. */
.hr-learn-ticks{display:flex;flex-direction:column;gap:10px;margin:18px 0 22px}
.hr-learn-tick{display:flex;align-items:flex-start;gap:12px}
.hr-learn-tick > *:first-child{
 flex:0 0 24px;width:24px;height:24px;border-radius:999px;
 background:rgba(232,163,61,.18);border:1px solid rgba(232,163,61,.5);
 color:#e8a33d!important;font-weight:800;font-size:13px;line-height:22px;
 text-align:center;margin:0!important}
.hr-learn-tick > *:last-child{margin:0!important;line-height:1.5}
/* the section CTA collapsed because the shared button classes expect their
   own layout context; give it explicit pill styling. */
a.hr-membership-cta{display:inline-flex!important;align-items:center;justify-content:center;
 width:auto!important;min-height:46px;padding:12px 22px!important;
 background-color:#a8410a!important;color:#ffffff!important;
 border-radius:999px!important;text-decoration:none!important;
 font-weight:700;font-size:15px;box-shadow:0 2px 0 #8f3605;cursor:pointer}
a.hr-membership-cta > *{margin:0!important;color:inherit!important;
 white-space:nowrap!important;display:block!important;width:auto!important}
a.hr-membership-cta{white-space:nowrap!important;flex:0 0 auto!important;
 align-self:flex-start!important;max-width:max-content!important}
a.hr-membership-cta:hover{background-color:#a53f06!important;transform:translateY(-2px)}
/* HRLEARNMEMEND */
/* HRSUBHEADSTART */
/* Hero subheading: three questions, each on its own line. */
.hr-subhead{display:flex!important;flex-direction:column!important;
 align-items:flex-start;gap:2px;margin:16px 0 0;max-width:none}
.hr-subhead > *{display:block!important;margin:0!important;
 font-family:"Jost",system-ui,sans-serif!important;
 font-size:27px!important;font-weight:500!important;line-height:1.22!important;
 letter-spacing:-.2px!important;white-space:normal!important}
/* The two setup lines were 500 against the 700 of the payoff line, which left
   them reading as caption rather than question. Bolder, and at full opacity. */
.hr-subhead .hr-subhead-lead{color:#f0ecdf!important;opacity:1;font-weight:700!important}
.hr-subhead .hr-subhead-accent{color:#ff8a3d!important;font-weight:600!important;
 margin-block-start:6px!important}
@media (max-width:900px){ .hr-subhead > *{font-size:21px!important} }
@media (max-width:600px){
 .hr-subhead{margin-block-start:12px!important;gap:1px}
 .hr-subhead > *{font-size:19px!important;line-height:1.24!important}
}
/* HRSUBHEADEND */
/* HRFFSTART */
/* Fluent Forms styled to the site: default labels render dark on the dark
   green card and are effectively invisible. */
.fluentform .ff-el-input--label label,
.fluentform .ff-el-input--label label span{color:#f4efe3!important;font-weight:600!important;
 font-size:13.5px!important;letter-spacing:.01em}
.fluentform .ff-el-form-check-label,
.fluentform .ff-el-form-check-label span{color:#c3d4bd!important;font-size:14px!important;line-height:1.5}
.fluentform .ff-el-input--content input[type=text],
.fluentform .ff-el-input--content input[type=email],
.fluentform .ff-el-input--content select,
.fluentform .ff-el-input--content textarea{
 background:#f4efe3!important;color:#12251a!important;
 border:1px solid rgba(148,175,150,.4)!important;border-radius:10px!important;
 padding:12px 14px!important;font-size:15px!important;min-height:46px}
.fluentform textarea{min-height:120px!important}
.fluentform ::placeholder{color:#6d7a68!important;opacity:1}
.fluentform .ff-el-input--content input:focus,
.fluentform .ff-el-input--content select:focus,
.fluentform .ff-el-input--content textarea:focus{
 outline:none!important;border-color:#e8a33d!important;
 box-shadow:0 0 0 3px rgba(232,163,61,.35)!important}
.fluentform .ff-btn-submit{
 background:#a8410a!important;color:#ffffff!important;border:0!important;
 border-radius:999px!important;padding:14px 26px!important;
 font-weight:700!important;font-size:15px!important;cursor:pointer;
 box-shadow:0 2px 0 #8f3605;transition:transform .18s ease,background-color .18s ease}
.fluentform .ff-btn-submit:hover{background:#a53f06!important;transform:translateY(-2px)}
.fluentform .ff-el-is-error .text-danger,.fluentform .error{color:#ffb4a2!important}
.fluentform .ff-message-success{color:#f4efe3!important;
 background:rgba(143,199,154,.14)!important;border:1px solid rgba(143,199,154,.4)!important;
 border-radius:12px;padding:14px 16px}
/* HRFFEND */
/* HRHEROSHOTSTART */
/* Hero photograph. The source is square (1439x1439) but was being forced to
   5/4 with a 560px cap, so it cropped short and sat stranded beside a much
   taller copy column. Square keeps all three jars in frame and gives it the
   height to hold its own. */
@media (min-width:1025px){
 /* the copy column is far taller than the photo, so centring stranded it
    low on the page; anchor it to the top instead. */
 /* the grid item is the wrapper div, not the img itself */
 .elementor-179 [class*=e-con]:has(> img.hr-hero-shot){align-self:start!important}
 img.hr-hero-shot{
  aspect-ratio:1/1!important;
  max-height:none!important;height:auto!important;width:100%!important;
  object-fit:cover!important;border-radius:22px!important;
  box-shadow:0 26px 60px -28px rgba(0,0,0,.62),0 0 0 1px rgba(244,239,227,.10)!important;
  transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s ease}
 img.hr-hero-shot:hover{transform:translateY(-4px);
  box-shadow:0 34px 70px -28px rgba(0,0,0,.68),0 0 0 1px rgba(232,163,61,.22)!important}
}
@media (min-width:768px) and (max-width:1024px){
 img.hr-hero-shot{aspect-ratio:1/1!important;max-height:none!important;
  height:auto!important;object-fit:cover!important;border-radius:20px!important;
  box-shadow:0 20px 46px -24px rgba(0,0,0,.55)!important}
}
/* HRHEROSHOTEND */

/* HRHEROCTRSTART */
.elementor-179 .elementor-element-e27fde7{text-align:center!important;align-items:center!important}
.elementor-179 .elementor-element-e27fde7 > *{margin-inline:auto!important}
.elementor-179 .elementor-element-e27fde7 .hr-subhead{align-items:center!important}
.elementor-179 .elementor-element-e27fde7 .hr-subhead > *{text-align:center!important}
/* HRHEROCTREND */

/* HRONELINESTART */
@media (max-width:600px){
 .elementor-179 .elementor-element-311bb8a > .buy-arrow-img{display:none!important}
 .elementor-179 .elementor-element-39201a0{white-space:nowrap!important;flex:1 1 auto!important;justify-content:center!important}
}
/* HRONELINEEND */

/* HRANCHORSTART */
#how-to-take{scroll-margin-top:104px}
/* HRANCHOREND */

/* HRCOLLISTSTART */
.hr-list-rest{max-height:0;overflow:hidden;transition:max-height .4s ease}
.hr-list-rest-inner{display:flex;flex-direction:column;gap:16px;padding-block-start:16px}
.hr-list-toggle{display:inline-flex;align-items:center;gap:8px;margin-block-start:14px;
 background:none;border:0;padding:6px 0;cursor:pointer;font:inherit;font-size:15px;
 font-weight:600;color:#ff8a3d;letter-spacing:.01em}
.hr-list-toggle:hover .hr-list-toggle-txt{text-decoration:underline}
.hr-list-toggle:focus-visible{outline:2px solid #ff8a3d;outline-offset:3px;border-radius:4px}
.hr-list-chev{display:inline-block;font-size:13px;line-height:1;transition:transform .3s ease}
.hr-collapse-list.is-open .hr-list-chev{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){
 .hr-list-rest,.hr-list-chev{transition:none}
}
/* HRCOLLISTEND */



/* HRHEROORDERSTART */
/* Mobile hero: photograph first, then the headline, then the CTAs.
   The image sits inside the right-hand column, which order alone cannot
   escape, so that column is flattened with display:contents and its two
   children are ordered against the copy column directly. Its only styling
   is a 24px gap, which moves up to the parent. Desktop is untouched. */
@media (max-width:1024px){
 .elementor-179 .elementor-element-81b0496{
  display:flex!important;flex-direction:column!important;gap:24px!important}
 .elementor-179 .elementor-element-a793e2f{display:contents!important}
 .elementor-179 .elementor-element-56b87bb{
  order:1!important;margin-block-start:0!important}
 .elementor-179 .elementor-element-e27fde7{
  order:2!important;margin-block-end:0!important}
 .elementor-179 .elementor-element-799d9da{order:3!important}
 /* the photo now leads, so it rises in first */
 html.hr-anim .elementor-179 [class*=e-con]:has(> img.hr-hero-shot){
  animation-delay:.02s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(1){animation-delay:.17s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(2){animation-delay:.32s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(3){animation-delay:.47s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(4){animation-delay:.62s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(5){animation-delay:.77s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(6){animation-delay:.92s}
}
/* HRHEROORDEREND */

/* HRROUTINESTART */
/* The highlighted fragments in the friction list carry the point of each
   line, so lift them a touch above the body copy around them. */
.elementor-179 .elementor-element-1cd1a0f .frag.em-orange{
 font-size:1.1em!important;letter-spacing:-.005em}
/* HRROUTINEEND */

/* HRHEROANIMSTART */
/* Hero motion. Three layers, all opt-out under reduced motion:
   1. staggered rise-in on load
   2. a slow breath on the jars
   4. a glow behind the photograph

   The rise-in is gated on html.hr-anim, which JS adds on load and removes
   1.4s later, so nothing can ever be left stranded at opacity 0. */
/* Movement only, no fade. An element at opacity 0 is not counted as
   painted, so fading the headline in pushed Largest Contentful Paint out to
   the end of the sequence and left the text invisible to anything that
   screenshots the page early. Sliding alone keeps every word legible from
   the first frame. */
@keyframes hr-rise-in{
 from{transform:translateY(18px)}
 to  {transform:none}
}
/* A breath, not a pan: it eases out to the top of the inhale, holds there,
   then settles back. scale is animated as the independent property rather
   than inside transform, so it composes with the :hover lift. */
@keyframes hr-hero-breathe{
 0%,100%{scale:1}
 45%,55%{scale:1.035}
}
/* lower amplitude than the card glow (.34 peak against the cards' .58) */
@keyframes hr-hero-glow{
 0%,100%{box-shadow:0 0 22px 0 rgba(232,163,61,.10)}
 50%    {box-shadow:0 0 60px 10px rgba(232,163,61,.32)}
}
@media (prefers-reduced-motion: no-preference){
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *{
  animation:hr-rise-in 1.35s cubic-bezier(.16,1,.3,1) both;
  will-change:transform}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(1){animation-delay:.02s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(2){animation-delay:.17s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(3){animation-delay:.32s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(4){animation-delay:.47s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(5){animation-delay:.62s}
 html.hr-anim .elementor-179 .elementor-element-e27fde7 > *:nth-child(6){animation-delay:.77s}
 html.hr-anim .elementor-179 [class*=e-con]:has(> img.hr-hero-shot){
  animation:hr-rise-in 1.35s cubic-bezier(.16,1,.3,1) .30s both;
  will-change:transform}
 .elementor-179 [class*=e-con]:has(> img.hr-hero-shot){
  border-radius:22px;
  animation:hr-hero-glow 3.4s .8s ease-in-out infinite}
 .elementor-179 img.hr-hero-shot{
  animation:hr-hero-breathe 9s ease-in-out infinite}
}
@media (max-width:600px){
 .elementor-179 [class*=e-con]:has(> img.hr-hero-shot){border-radius:18px}
}
/* HRHEROANIMEND */

/* HRHEROFULLSTART */
/* Mobile: the hero photograph runs edge to edge. It has to break out of the
   20px inline padding on the hero wrapper, so pull it back by that much on
   each side. Square corners and no halo -- the glow was drawn for a floating
   card, and a full-bleed image has no edges to glow around. */
@media (max-width:1024px){
 .elementor-179 .elementor-element-56b87bb{
  margin-inline:-20px!important;
  width:calc(100% + 40px)!important;max-width:none!important;
  border-radius:0!important;animation:none!important}
 .elementor-179 .elementor-element-56b87bb img.hr-hero-shot{
  width:100%!important;border-radius:0!important;
  box-shadow:none!important}
}
/* HRHEROFULLEND */





/* HRHEROSTARSSTART */
/* Five stars sit between the headline and the subtitle. Same .star treatment
   as the review section, set a little larger and tracked out so they read as
   a rating rather than a row of glyphs. */
.elementor-179 [data-id="hrherostars"]{
 font-size:24px!important;letter-spacing:.14em!important;line-height:1!important;
 margin-block:2px 4px!important}
@media (max-width:600px){
 .elementor-179 [data-id="hrherostars"]{font-size:21px!important;letter-spacing:.12em!important}
}
/* HRHEROSTARSEND */

/* HRFULLBLEEDSTART */
/* Mobile photographs, all cropped to the hero's 5:4.

   Two treatments, decided by what the photo actually sits in:
   - section-level photos bleed the full viewport width;
   - photos inside a card stop at the card's own width, because a 100vw image
     inside a 253px rounded card just overhangs it.
   Icons, ticks and nudge arrows are untouched: they are 26-60px marks. */
@media (max-width:1024px){

 /* ---- shared crop ---- */
 .elementor-179 img.hr-hero-shot,
 .elementor-179 img.routine-img,
 .elementor-179 img.close-jars-img,
 .elementor-179 img.why-img,
 .elementor-179 img.promo-img,
 .elementor-179 .elementor-element-026578a img,
 .elementor-179 .elementor-element-f9a5ac2 img{
  display:block;aspect-ratio:5/4!important;height:auto!important;
  max-height:none!important;object-fit:cover!important}

 /* ---- section-level: edge to edge ---- */
 .elementor-179 img.routine-img,
 .elementor-179 img.close-jars-img{
  width:100vw!important;max-width:100vw!important;
  margin-inline:calc(50% - 50vw)!important;
  border-radius:0!important;box-shadow:none!important}
 .elementor-179 .elementor-element-d638a94 img.jar-arrow-img{display:none!important}

 /* ---- inside a card: card width, card corners ---- */
 /* These two photos sat inside their card's padding, so they stopped short of
    the card edges. Break each wrapper out by exactly the padding it sits in,
    and round only the corners that now meet the card's own. The cleanse photo
    leads its card (18px/16px padding); the guided month photo closes its card
    (40px padding). */
 .elementor-179 .elementor-element-026578a{
  margin:-18px -16px 0!important;width:calc(100% + 32px)!important}
 .elementor-179 .elementor-element-026578a img{
  width:100%!important;max-width:100%!important;
  border-radius:20px 20px 0 0!important;box-shadow:none!important}
 .elementor-179 .elementor-element-f9a5ac2{
  margin:0 -40px -40px!important;width:calc(100% + 80px)!important;
  height:auto!important;min-height:0!important;aspect-ratio:auto!important;
  overflow:hidden!important;line-height:0!important}
 .elementor-179 .elementor-element-f9a5ac2 img{
  width:100%!important;max-width:100%!important;
  border-radius:0 0 20px 20px!important;box-shadow:none!important}
 /* this card carries 32px of padding and the photo leads it, so break out
    sideways and upwards and round only the top corners */
 .elementor-179 .elementor-element-078d8ed,
.elementor-179 .elementor-element-eecf52c{
  margin:-32px -32px 0!important;width:calc(100% + 64px)!important}
 .elementor-179 img.promo-img{
  width:100%!important;max-width:100%!important;
  border-radius:20px 20px 0 0!important;box-shadow:none!important}

 /* ---- flush where a photo starts or ends its section ---- */
 /* hero: the photo is the first thing in the section */
 /* hero: the photo leads the section, so the top padding goes -- but the
    bottom padding stays, or the 30 day guarantee line butts straight into
    the full-bleed photo of the section below it */
 .elementor-179 .elementor-element-a7e6ed7{padding-block-start:0!important}
 /* "everything else asks you to do more": on mobile the photo is ordered
    to the top of the section, so it is the top padding that has to go */
 .elementor-179 .elementor-element-1cd1a0f{padding-block-start:0!important}
 .elementor-179 .elementor-element-e2264ea{margin-block-start:0!important}
 /* the hero photo carried a -16px lift from when it sat below the copy;
    now that it leads, that pulls it up under the sticky header */
 .elementor-179 [class*=e-con]:has(> img.hr-hero-shot){margin-block-start:0!important}
 /* a min-height was holding this one off the 5:4 crop */
 .elementor-179 img.why-img{min-height:0!important;border-radius:0!important}
 .elementor-179 .elementor-element-eecf52c{border-radius:0!important;overflow:visible!important}
}
/* HRFULLBLEEDEND */

/* HRSUBLINE3START */
/* "You haven't tried this!" is the turn in the subtitle, so it carries more
   weight than the two questions above it. #fb5f1c is hotter and darker than
   the old #ff8a3d while still clearing WCAG AA for large text against the
   hero green (3.89:1 against 4.46:1 -- a deeper orange than this drops under
   the 3:1 floor). Atomic widgets render without an elementor-element-<id>
   class, so target the styling class. */
.elementor-179 .hr-subhead .hr-subhead-accent{
 font-size:38px!important;line-height:1.12!important;
 color:#fb5f1c!important;font-weight:700!important}
@media (max-width:900px){.elementor-179 .hr-subhead .hr-subhead-accent{font-size:30px!important}}
@media (max-width:600px){.elementor-179 .hr-subhead .hr-subhead-accent{font-size:27px!important}}
/* HRSUBLINE3END */

/* HRWASINLINESTART */
/* Struck-through old price sitting inside a heading, so it scales with the
   heading rather than taking the fixed 15px of the small was-prices. */
.hr-was-inline{
 text-decoration-line:line-through!important;
 text-decoration-thickness:2px!important;
 text-decoration-color:currentColor!important;
 text-decoration-skip-ink:none!important;
 font-size:.78em;opacity:.7;margin-inline-start:.1em}
/* HRWASINLINEEND */

/* HRACCENTGROWSTART */
/* "You haven't tried this!" is the payoff line, so once it has finished
   rising in it grows a little and settles. One pass, not a loop -- it should
   land the point, not keep asking for attention next to the breathing photo.
   The subtitle's rise-in ends at .57s + .9s, so this picks up just after.
   scale is the independent property, so it composes with anything else. */
@keyframes hr-accent-grow{
 0%  {scale:1}
 55% {scale:1.07}
 100%{scale:1}
}
@media (prefers-reduced-motion: no-preference){
 .elementor-179 .hr-subhead .hr-subhead-accent{
  display:inline-block;
  transform-origin:50% 50%;
  animation:hr-accent-grow 1.15s 2.2s cubic-bezier(.33,0,.2,1) both}
}
/* HRACCENTGROWEND */

/* HRCARDCLIPSTART */
/* Both product cards carry a 1px gold border, so their inner radius is 19px,
   not 20px. A photo rounded to 20px left a hairline crescent of card
   background showing at the corners. Let the card clip the photo instead --
   overflow clips to the padding box, which is exactly the inner edge of that
   border, so the corners match whatever the border does. */
@media (max-width:1024px){
 .elementor-179 .elementor-element-dd1f680,
 .elementor-179 .elementor-element-bf4393e{overflow:hidden!important}
 .elementor-179 .elementor-element-026578a img,
 .elementor-179 .elementor-element-f9a5ac2 img{border-radius:0!important}
}
/* HRCARDCLIPEND */

/* HRWHYFITSTART */
/* The "made in small batches" photo bleeds edge to edge only while the hero
   block is a single column. From 768px up it sits in a two-column row, and a
   100vw bleed centred on a half-width parent hangs off the left of the page,
   so there it just fills its own column. */
@media (max-width:767px){
 .elementor-179 img.why-img{
  width:100vw!important;max-width:100vw!important;
  margin-inline:calc(50% - 50vw)!important;
  border-radius:0!important;box-shadow:none!important}
}
@media (min-width:768px) and (max-width:1024px){
 .elementor-179 img.why-img{
  width:100%!important;max-width:100%!important;margin-inline:0!important;
  border-radius:20px!important}
}
/* the hero photo bled by assuming a 20px gutter; match the others and bleed
   against the viewport, so it is exact at every width */
@media (max-width:1024px){
 .elementor-179 .elementor-element-56b87bb{
  width:100vw!important;max-width:100vw!important;
  margin-inline:calc(50% - 50vw)!important}
}
/* HRWHYFITEND */



/* HRNOTIFYSTART */
/* Purchase notification toast. Bottom-left so it never sits under the
   sticky header or over the mobile CTA. */
.hr-notify{
 position:fixed;left:16px;bottom:16px;z-index:9998;
 display:flex;align-items:flex-start;gap:10px;
 max-width:min(340px,calc(100vw - 32px));
 background:#173c28;color:#f4efe3;
 border:1px solid rgba(207,169,74,.4);border-radius:12px;
 padding:13px 14px 13px 16px;
 box-shadow:0 10px 30px -12px rgba(0,0,0,.55);
 opacity:0;transform:translateY(10px);
 transition:opacity .38s ease,transform .38s cubic-bezier(.2,.7,.3,1)}
.hr-notify.is-in{opacity:1;transform:none}
.hr-notify-body{flex:1 1 auto;min-width:0}
.hr-notify-line{margin:0 0 2px;font-size:14.5px;line-height:1.35;font-weight:600}
.hr-notify-meta{margin:0;font-size:12.5px;line-height:1.3;color:#b9c9bd}
.hr-notify-demo{display:inline-block;margin-left:6px;padding:1px 6px;
 border-radius:3px;background:rgba(207,169,74,.22);color:#e8c87a;
 font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.hr-notify-close{flex:0 0 auto;background:none;border:0;cursor:pointer;
 color:#9db3a4;font-size:20px;line-height:1;padding:0 2px;margin:-2px -2px 0 0}
.hr-notify-close:hover{color:#f4efe3}
.hr-notify-close:focus-visible{outline:2px solid #cfa94a;outline-offset:2px;border-radius:3px}
@media (max-width:600px){
 .hr-notify{left:10px;right:10px;bottom:10px;max-width:none}
}
@media (prefers-reduced-motion:reduce){
 .hr-notify{transition:none}
}
/* HRNOTIFYEND */

/* HRIMGFADESTART */
/* Lazily-loaded images fade in rather than snapping into place mid-scroll.
   The .hr-fade class is applied by JS, never by the markup, so a script
   failure can never leave an image hidden. */
img.hr-fade{opacity:0;transition:opacity .4s ease}
img.hr-fade.is-loaded{opacity:1}
@media (prefers-reduced-motion:reduce){
 img.hr-fade{opacity:1;transition:none}
}
/* HRIMGFADEEND */

/* HRQUIZFLOWSTART */
/* Quiz: options styled as buttons in the site palette, questions revealed one
   at a time (see the HRQUIZFLOW block in hr-frontend.js). */

.fluentform .hr-quiz-progress{
 font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
 color:#cfa94a;margin:0 0 18px}

/* one question at a time */
.fluentform .hr-q.hr-step-hidden{display:none!important}

/* question label */
.fluentform .hr-q .ff-el-input--label label{
 font-size:20px!important;line-height:1.3;font-weight:700;
 color:#f4efe3;margin-bottom:4px}
.fluentform .hr-q .ff-el-input--label .ff-el-help-message,
.fluentform .hr-q .ff-el-help-message{
 font-size:14px;color:#b9c9bd;margin:0 0 12px}

/* options as buttons */
/* Fluent Forms lays these out inline, so six long options ran across the
   page in a cramped row. Stack them. */
.fluentform .hr-q.ff_list_buttons .ff-el-input--content{display:flex;flex-direction:column;gap:10px}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check{display:block!important;width:100%;margin:0;padding:0}
/* Fluent Forms also stamps .ff_item_selected on the wrapper, which is more
   dependable than :has() on older browsers - style both. */
.fluentform .hr-q.ff_list_buttons .ff_item_selected .ff-el-form-check-label{
 background:#a8410a;border-color:#a8410a;color:#fff5ea;font-weight:600}
.fluentform .hr-q.ff_list_buttons .ff_item_selected .ff-el-form-check-label::before{
 border-color:#fff5ea;background:rgba(255,245,234,.18)}
.fluentform .hr-q.ff_list_buttons .ff_item_selected .ff-el-form-check-label::after{
 opacity:1;transform:translateY(-50%) scale(1)}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label{
 display:block;position:relative;cursor:pointer;
 background:rgba(244,239,227,.05);
 border:1px solid rgba(207,169,74,.30);
 border-radius:12px;
 padding:15px 18px 15px 50px;
 font-size:16px;line-height:1.4;color:#f0ecdf;
 transition:background .18s ease,border-color .18s ease,transform .18s ease}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label:hover{
 background:rgba(244,239,227,.09);border-color:rgba(207,169,74,.55);transform:translateY(-1px)}

/* hide the native control, draw our own dot */
.fluentform .hr-q.ff_list_buttons input[type=radio]{
 position:absolute;opacity:0;width:1px;height:1px;margin:0}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label::before{
 content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);
 width:18px;height:18px;border-radius:50%;
 border:2px solid rgba(207,169,74,.65);background:transparent;
 transition:border-color .18s ease,background .18s ease}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label::after{
 content:"";position:absolute;left:24px;top:50%;transform:translateY(-50%) scale(.4);
 width:6px;height:6px;border-radius:50%;background:#fff5ea;opacity:0;
 transition:opacity .18s ease,transform .18s ease}

/* selected */
.fluentform .hr-q.ff_list_buttons input[type=radio]:checked + span,
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label:has(input:checked){
 color:#fff5ea}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label:has(input:checked){
 background:#a8410a;border-color:#a8410a;font-weight:600}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label:has(input:checked)::before{
 border-color:#fff5ea;background:rgba(255,245,234,.18)}
.fluentform .hr-q.ff_list_buttons .ff-el-form-check-label:has(input:checked)::after{
 opacity:1;transform:translateY(-50%) scale(1)}

/* keyboard focus has to stay visible now the input is hidden */
.fluentform .hr-q.ff_list_buttons input[type=radio]:focus-visible + span{
 outline:2px solid #cfa94a;outline-offset:4px;border-radius:4px}

/* email + consent, once the result is showing */
.fluentform .hr-q input[type=email]{
 background:#f4efe3;border:1px solid rgba(207,169,74,.4);border-radius:10px;
 padding:13px 15px;font-size:16px;color:#14261c}
.fluentform .ff_submit_btn_wrapper button{
 border-radius:999px!important;padding:14px 26px!important;
 font-weight:700!important;letter-spacing:.01em}

@media (max-width:600px){
 .fluentform .hr-q .ff-el-input--label label{font-size:18px!important}
 .fluentform .hr-q.ff_list_buttons .ff-el-form-check-label{font-size:15px;padding:14px 16px 14px 46px}
}
@media (prefers-reduced-motion:reduce){
 .fluentform .hr-q.ff_list_buttons .ff-el-form-check-label{transition:none}
}
/* HRQUIZFLOWEND */

/* HRCARDCROPSTART */
/* The 5:4 crop applied only below 1024px, so on desktop the guided month and
   cleanse photos kept their native 16:9-ish shape while every other image on
   the page was 5:4. Crop them at all widths; the negative-margin breakout to
   the card edges stays a small-screen treatment, since the desktop card is a
   two-column row where breaking out would pull the photo off its own axis. */
.elementor-179 .elementor-element-026578a img,
.elementor-179 .elementor-element-f9a5ac2 img,
.elementor-179 img.promo-img,
.elementor-179 img.why-img{
 aspect-ratio:5/4!important;height:auto!important;max-height:none!important;
 object-fit:cover!important;width:100%!important;min-height:0!important}
@media (min-width:1025px){
 .elementor-179 .elementor-element-026578a img,
 .elementor-179 .elementor-element-f9a5ac2 img{border-radius:16px!important}
 .elementor-179 .elementor-element-026578a,
 .elementor-179 .elementor-element-f9a5ac2{overflow:hidden!important;line-height:0!important}
}
/* HRCARDCROPEND */



/* HRCARDWRAPSTART */
/* Cropping these photos to 5:4 made them taller than the wrappers they sit
   in, and the wrappers clip, so the bottom ~27px was being cut off. Let the
   wrapper take its height from the photo. */
.elementor-179 .elementor-element-026578a,
.elementor-179 .elementor-element-f9a5ac2,
.elementor-179 .elementor-element-078d8ed,
.elementor-179 .elementor-element-eecf52c{
 height:auto!important;min-height:0!important;max-height:none!important;
 aspect-ratio:auto!important;line-height:0!important;align-self:start!important}
/* HRCARDWRAPEND */

/* HRQUIZSPANSTART */
/* Fluent Forms paints a white pill with its own border behind each option's
   text via `.ff-el-group.ff_list_buttons .ff-el-form-check label > span`,
   which outranks a selector written against the label class alone. Match
   their structure so this actually wins, and let our card do the styling. */
.fluentform .ff-el-group.ff_list_buttons.hr-q .ff-el-form-check label > span,
.fluentform .ff-el-group.ff_list_buttons.hr-q .ff-el-form-check.ff_item_selected label > span{
 appearance:none!important;background:none!important;background-color:transparent!important;
 border:0!important;border-width:0!important;border-radius:0!important;
 box-shadow:none!important;padding:0!important;margin:0!important;
 color:inherit!important;font:inherit!important;line-height:1.4!important;
 display:inline!important;width:auto!important;min-width:0!important;
 white-space:normal!important;text-align:left!important}
/* their first/last-child rules add side borders and corner radii too */
.fluentform .ff-el-group.ff_list_buttons.hr-q .ff-el-form-check:first-child label > span,
.fluentform .ff-el-group.ff_list_buttons.hr-q .ff-el-form-check:last-child label > span{
 border:0!important;border-radius:0!important;box-shadow:none!important}
@media (max-width:600px){
 .fluentform .hr-q.ff_list_buttons .ff-el-form-check-label{
  padding:13px 14px 13px 42px!important;font-size:15px!important;align-items:flex-start!important}
 .fluentform .hr-q.ff_list_buttons .ff-el-form-check-label::before{left:14px;top:19px;transform:none}
 .fluentform .hr-q.ff_list_buttons .ff-el-form-check-label::after{left:20px;top:25px;transform:scale(1)}
}
/* HRQUIZSPANEND */

/* HRQUIZRESSTART */
/* Fluent Forms sets a dark slate colour on text inside the form, which on
   the dark green section left the result almost unreadable (heading was
   rgb(30,41,59)). Set the result's own colours explicitly. */
.fluentform .hr-quiz-result{
 display:grid;gap:0;overflow:hidden;
 background:rgba(232,163,61,.10)!important;
 border:1px solid rgba(207,169,74,.45)!important;
 border-radius:16px!important;padding:0 24px 24px!important}
/* One gutter, on the container. A child that uses the margin shorthand can
   otherwise cancel its own inline margin and sit proud of everything else. */
.fluentform .hr-quiz-result > *:not(.hr-quiz-img){margin-inline:0}
.fluentform .hr-quiz-img{
 width:calc(100% + 48px)!important;max-width:none!important;margin-inline:-24px!important;height:auto!important;
 aspect-ratio:5/4;object-fit:cover;display:block;
 border-radius:0!important;margin:0 -24px 20px!important}
.fluentform .hr-quiz-result h3{
 color:#f4efe3!important;font-size:26px!important;line-height:1.15!important;
 margin:0 0 12px!important;font-weight:700}
.fluentform .hr-quiz-result p,
.fluentform .hr-quiz-result li{
 color:#dfe6db!important;font-size:16px!important;line-height:1.55!important}
.fluentform .hr-quiz-result strong{color:#f4efe3!important}
.fluentform .hr-quiz-result ul{margin:0 0 14px!important;padding-left:20px}
.fluentform .hr-quiz-result .hr-quiz-eyebrow{
 color:#cfa94a!important;font-size:12px!important;letter-spacing:.14em;
 text-transform:uppercase;font-weight:700!important;margin:0 0 6px!important}
.fluentform .hr-quiz-result .hr-quiz-cta{
 display:inline-block;padding:14px 24px;border-radius:999px;
 font-weight:700!important;line-height:1.25;text-align:center;
 color:#fff5ea!important;background:#a8410a!important;text-decoration:none!important}
.fluentform .hr-quiz-result .hr-quiz-cta:hover{background:#a53f05!important}
.fluentform .hr-quiz-result .hr-quiz-note{color:#b9c9bd!important;font-size:14px!important}
.fluentform .hr-quiz-ask h4{color:#f4efe3!important}
.fluentform .hr-quiz-ask p{color:#b9c9bd!important}
/* HRQUIZRESEND */

/* HRQUIZJARSTART */
/* jar links and the secondary CTA inside a quiz result */
.fluentform .hr-quiz-jars a{color:#ffb066!important;text-decoration:underline;text-underline-offset:3px}
.fluentform .hr-quiz-jars a:hover{color:#ffd0a8!important}
.fluentform .hr-quiz-cta.hr-quiz-secondary{
 background:transparent!important;color:#f4efe3!important;
 border:1px solid rgba(207,169,74,.55);font-weight:600!important}
.fluentform .hr-quiz-cta.hr-quiz-secondary:hover{background:rgba(244,239,227,.08)!important}
/* HRQUIZJAREND */

/* HRSUPPSTART */
/* Statutory supplement information on product pages (mu-plugin
   hr-supplement-info.php). Deliberately plain and legible rather than styled
   like marketing - it is a legal declaration. */
.hr-supp-info{
 margin:40px 0 0;padding:28px 30px;
 background:rgba(244,239,227,.04);
 border:1px solid rgba(207,169,74,.30);border-radius:14px;
 color:#dfe6db;max-width:760px}
.hr-supp-info h2{font-size:22px;margin:0 0 4px;color:#f4efe3}
.hr-supp-info h3{font-size:15px;letter-spacing:.08em;text-transform:uppercase;
 color:#cfa94a;margin:26px 0 8px;font-weight:700}
.hr-supp-lede{margin:0 0 18px;color:#b9c9bd;font-size:15px}
.hr-supp-table{width:100%;border-collapse:collapse;font-size:15px;margin:0}
.hr-supp-table caption{text-align:left;font-size:13px;color:#b9c9bd;padding:0 0 8px}
.hr-supp-table th{text-align:left;font-size:12px;letter-spacing:.06em;
 text-transform:uppercase;color:#b9c9bd;font-weight:600;
 padding:8px 10px;border-bottom:1px solid rgba(207,169,74,.28)}
.hr-supp-table td{padding:9px 10px;border-bottom:1px solid rgba(244,239,227,.08);
 font-variant-numeric:tabular-nums}
.hr-supp-table th:not(:first-child),.hr-supp-table td:not(:first-child){text-align:right;white-space:nowrap}
.hr-supp-total td{border-bottom:0;color:#f4efe3}
.hr-supp-info p{font-size:15px;line-height:1.55;margin:0 0 10px}
.hr-supp-warnings{margin:0;padding-left:20px}
.hr-supp-warnings li{font-size:15px;line-height:1.5;margin-bottom:7px}
.hr-supp-warnings strong{color:#f4efe3}
.hr-supp-note{font-size:13px;color:#b9c9bd;margin-top:22px;
 padding-top:16px;border-top:1px solid rgba(244,239,227,.10)}
.hr-supp-note a{color:#ffb066}
@media (max-width:600px){
 .hr-supp-info{padding:20px 18px;border-radius:12px}
 .hr-supp-table{font-size:14px}
 .hr-supp-table th,.hr-supp-table td{padding:7px 6px}
}
/* HRSUPPEND */

/* HRQUIZICONSTART */
.fluentform .hr-q.hr-q-icons.ff_list_buttons .ff-el-form-check-label{
 padding-left:86px!important;min-height:56px;
 background-repeat:no-repeat!important;background-position:18px 50%!important;background-size:24px 24px!important}
.fluentform .hr-q-icons .ff-el-form-check-label::before{left:54px!important}
.fluentform .hr-q-icons .ff-el-form-check-label::after{left:60px!important}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="routine"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-timing-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="mornings"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-morning-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="eating"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-herb-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="minerals"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-mineral-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="learning"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-ph-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="unsure"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-jar-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="food"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-mineral-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="capsules"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-jar-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="swaps"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-herb-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="guided"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-timing-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="reading"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-ph-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="full"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-morning-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="single"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-jar-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="plan"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-timing-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="restart"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-evening-white.png)}
@media (max-width:600px){
 .fluentform .hr-q.hr-q-icons.ff_list_buttons .ff-el-form-check-label{padding-left:78px!important;background-repeat:no-repeat!important;background-position:14px 50%!important;background-size:22px 22px!important}
 .fluentform .hr-q-icons .ff-el-form-check-label::before{left:46px!important;top:20px}
 .fluentform .hr-q-icons .ff-el-form-check-label::after{left:52px!important;top:26px}
}
/* HRQUIZICONEND */

/* HRQUIZFRAMESTART */
/* The questions sit in a fixed-height frame so revealing the next one does not
   move the page. Height is set to the tallest question (six options) plus its
   label, so nothing jumps between stages either. */
.fluentform .ff-el-group.hr-q:not(.hr-res-ask){min-height:0}
.fluentform form:has(.hr-q) .hr-quiz-stage-frame{position:relative}
.fluentform .hr-q.hr-step-hidden{display:none!important}

.fluentform .hr-quiz-progress{
 font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
 color:#cfa94a;margin:0 0 16px}

.fluentform .hr-quiz-back{
 background:none;border:0;padding:8px 0;margin:6px 0 0;cursor:pointer;
 font:inherit;font-size:14px;font-weight:600;color:#b9c9bd;letter-spacing:.01em}
.fluentform .hr-quiz-back:hover{color:#f4efe3;text-decoration:underline}
.fluentform .hr-quiz-back:focus-visible{outline:2px solid #cfa94a;outline-offset:3px;border-radius:4px}

/* results driven by data-hr-result (HRQUIZPOP in hr-frontend.js) */
form[data-hr-result] .hr-res-bundle,
form[data-hr-result] .hr-res-single,
form[data-hr-result] .hr-res-guided,
form[data-hr-result] .hr-res-ask{display:none!important}
form[data-hr-result="bundle"] .hr-res-bundle,
form[data-hr-result="single"] .hr-res-single,
form[data-hr-result="guided"] .hr-res-guided,
form[data-hr-result="bundle"] .hr-res-ask,
form[data-hr-result="single"] .hr-res-ask,
form[data-hr-result="guided"] .hr-res-ask{display:block!important}

/* HRQUIZRESULTLAYOUT */
/* The result opened with a near-square full-bleed photograph, so on a laptop
   the answer itself sat below the fold. Give it two columns once there is
   room, and a shallower crop when there is not. */
.fluentform .hr-jar-line{color:#f4efe3!important;font-size:18px!important;line-height:1.5!important;
  margin:0 0 14px!important;padding:12px 14px!important;background:rgba(207,169,74,.12);
  border-left:3px solid #cfa94a;border-radius:0 8px 8px 0}
.fluentform .hr-jar-line strong{color:#e8a33d!important;letter-spacing:.01em}
@media (max-width:859px){
  .fluentform .hr-quiz-img{aspect-ratio:16/10!important}
}
@media (min-width:860px){
  .fluentform .hr-quiz-result{grid-template-columns:minmax(0,300px) minmax(0,1fr);
    column-gap:26px;align-content:start;align-items:start;grid-auto-rows:min-content;padding:24px!important}
  .fluentform .hr-quiz-img{grid-column:1;grid-row:1 / span 12;align-self:start;
    width:100%!important;max-width:100%!important;margin:0!important;
    aspect-ratio:1/1;border-radius:12px!important}
  .fluentform .hr-quiz-result > *:not(.hr-quiz-img){grid-column:2}
}

/* icons for the returning "what have you tried" answers */
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="sleep"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-evening-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="supplements"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-jar-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="exercise"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-energy-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="everything"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-mineral-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="nothing"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-ph-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="stopped"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-evening-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="nothing_changed"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-ph-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="faded"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-timing-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="worked"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-energy-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="na"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-herb-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="minimal"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-morning-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="more"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-energy-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="least"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-timing-white.png)}
/* HRQUIZFRAMEEND */

/* HRFOODJOINSTART */
/* Membership prompt placed straight after the food lists. The existing one
   sits 57% down a 17,000px page, well past the point of interest.
   Atomic widgets render with data-id rather than elementor-element-<id>. */
[data-id="hrfoodjoin"]{
 background:linear-gradient(180deg, rgba(232,163,61,.12), rgba(232,163,61,.04))!important;
 border-block:1px solid rgba(207,169,74,.35)!important;
 padding:46px 20px!important;margin-block:8px!important;display:block!important}
[data-id="hrfoodjoinin"]{max-width:640px;margin-inline:auto!important;text-align:center!important;display:block!important}
[data-id="hrfjeyebrow"]{display:block!important;font-size:13px!important;letter-spacing:.14em!important;
 text-transform:uppercase!important;font-weight:700!important;color:#cfa94a!important;margin:0 0 10px!important}
[data-id="hrfjbody"]{display:block!important;font-size:19px!important;line-height:1.45!important;
 color:#f0ecdf!important;margin:0 0 22px!important}
[data-id="hrfjbtn"]{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 background:#a8410a!important;background-image:none!important;color:#fff5ea!important;
 font-weight:700!important;font-size:16px!important;line-height:1.2!important;
 padding:15px 28px!important;border-radius:999px!important;border:0!important;
 text-decoration:none!important;margin:0 0 14px!important;cursor:pointer;
 transition:background .18s ease,transform .18s ease}
[data-id="hrfjbtn"] *{color:#fff5ea!important;font:inherit!important;background:none!important}
[data-id="hrfjbtn"]:hover{background:#a03f06!important;transform:translateY(-1px)}
[data-id="hrfjnote"]{display:block!important;font-size:14px!important;color:#b9c9bd!important;margin:0!important}
@media (max-width:600px){
 [data-id="hrfoodjoin"]{padding:32px 16px!important}
 [data-id="hrfjbody"]{font-size:17px!important}
 [data-id="hrfjbtn"]{font-size:15px!important;padding:14px 22px!important}
}
@media (prefers-reduced-motion:reduce){[data-id="hrfjbtn"]{transition:none}}
/* HRFOODJOINEND */

/* HRQ5ICONSTART */
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="some"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-timing-white.png)}
.fluentform .hr-q-icons .ff-el-form-check:has(input[value="plenty"]) .ff-el-form-check-label{background-image:url(/wp-content/uploads/2026/09/hr-icon-morning-white.png)}
/* HRQ5ICONEND */

/* HRMOBLOGOSTART no icon on mobile at all; the wordmark carries the header */
.ast-header-break-point #ast-mobile-header .site-logo-img,
.ast-header-break-point #ast-mobile-header .custom-logo-link{display:none!important}
.ast-header-break-point #ast-mobile-header .site-title{margin-left:0!important}
/* HRMOBLOGOEND */
/* HRFOOTSEALSTART the pH seal replaces the old text badge in the footer */
img[data-id="e61046a"]{width:104px!important;height:auto!important;display:block;margin:14px 0 0}
@media(max-width:921px){img[data-id="e61046a"]{width:88px!important;margin:12px 0 0}}
/* HRFOOTSEALEND */

/* HRFOODCUESTART */
/* The category row is what the page is for, so it now says so out loud. */
[data-id="hrfoodcue"]{display:flex;align-items:center;gap:10px;margin:26px 0 10px;letter-spacing:.14em}
[data-id="hrfoodcue"]::after{content:"";flex:0 0 34px;height:1px;background:currentColor;opacity:.45}
.fl-tabmenu{gap:10px;flex-wrap:wrap}
.fl-tab{cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.fl-tab:hover{background:rgba(207,169,74,.16);border-color:rgba(207,169,74,.75);transform:translateY(-1px)}
.fl-tab.e--selected .e-paragraph-base,.fl-tab.e--selected span{color:#0b2115}
@media (prefers-reduced-motion:reduce){.fl-tab,.fl-tab:hover{transition:none;transform:none}}
/* HRFOODCUEEND */

/* HRDIAGSTART */
/* Shared sizing for the inline diagrams (jar reframe, routine, what arrives).
   The month strip no longer uses these — it is built from type now. */
.hr-diagram{display:block!important;width:100%!important;height:auto!important;margin:26px 0 12px}
.hr-diagram svg{display:block;width:100%;height:auto}
.hr-diagram-fig{margin:26px 0 22px;max-width:100%}
.hr-diagram-fig .hr-diagram{margin:0}
.hr-diagram-cap{margin:10px 0 0;font-size:14px;line-height:1.5;color:#b9c9bd;max-width:62ch}
@media (max-width:820px){
 .hr-diagram{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .hr-diagram svg{width:780px!important;max-width:none!important;flex:0 0 auto}
}
img[data-id="hraboutimg"]{display:block;width:100%;height:auto;max-width:100%;border-radius:16px;margin:26px 0 34px}
/* HRDIAGEND */

/* HRQUIZENDSTART */
/* Finishing the quiz is a small moment worth marking, and worth being able
   to undo: the confetti is decorative, the restart is the useful half. */
.hr-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:99999}
.fluentform .hr-quiz-endbar{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:6px 0 0}
.fluentform .hr-quiz-restart{background:none;border:0;padding:8px 0;margin:0;cursor:pointer;
 font:inherit;font-size:14px;font-weight:600;color:#b9c9bd;letter-spacing:.01em}
.fluentform .hr-quiz-restart:hover{color:#f4efe3;text-decoration:underline}
.fluentform .hr-quiz-restart:focus-visible{outline:2px solid #cfa94a;outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){.hr-confetti{display:none}}
/* HRQUIZENDEND */

/* HRPRODREASSTART */
/* The blocks under a product: both ways to buy, the missed day, the limits.
   Every colour is scoped through .hr-pr, because the theme colours every p and
   li inside a WooCommerce page and would otherwise win on specificity. */
.hr-pr{margin:44px 0 8px}
.hr-pr .hr-pr-h{color:#f4efe3;font-size:24px;line-height:1.2;margin:34px 0 10px;font-weight:700}
.hr-pr .hr-pr-h:first-child{margin-top:0}
.hr-pr .hr-pr-lede{color:#c3d4bd;font-size:16px;line-height:1.6;margin:0 0 14px;max-width:62ch}
.hr-pr .hr-pr-plans{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));margin:18px 0 6px}
.hr-pr .hr-pr-plan{border:1px solid rgba(207,169,74,.32);border-radius:16px;padding:22px;background:rgba(244,239,227,.04);display:flex;flex-direction:column}
.hr-pr .hr-pr-plan.is-current{border-color:rgba(207,169,74,.75);background:rgba(232,163,61,.09)}
.hr-pr .hr-pr-flag{color:#0b2115;background:#cfa94a;margin:0 0 12px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border-radius:999px;padding:6px 14px;align-self:flex-start}
.hr-pr .hr-pr-label{color:#cfa94a;margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.hr-pr .hr-pr-price{color:#f4efe3;margin:4px 0 14px;font-size:34px;line-height:1;font-weight:700}
.hr-pr .hr-pr-price .woocommerce-Price-amount,.hr-pr .hr-pr-price bdi{color:inherit;font-size:inherit;font-weight:inherit}
.hr-pr .hr-pr-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px}
.hr-pr .hr-pr-list li{color:#c3d4bd;position:relative;padding-left:24px;font-size:15px;line-height:1.45;margin:0}
.hr-pr .hr-pr-list li::before{content:"";position:absolute;left:0;top:.4em;width:11px;height:6px;border-left:2px solid #8fc79a;border-bottom:2px solid #8fc79a;transform:rotate(-45deg)}
.hr-pr .hr-pr-here{color:#8fc79a;margin:auto 0 0;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.hr-pr .hr-pr-plan > p:last-child{margin:auto 0 0}
.hr-pr .hr-pr-swap{color:#ffb066;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hr-pr .hr-pr-swap:hover{color:#ffd0a8}
.hr-pr .hr-diagram-cap{color:#b9c9bd}
/* HRPRODREASEND */

/* HROCSTART */
.hr-oc{margin:0 0 34px}
.hr-oc .hr-oc-h{color:#f4efe3;font-size:26px;line-height:1.2;margin:0 0 6px;font-weight:700}
.hr-oc .hr-diagram-fig{margin:18px 0 16px;max-width:700px}
.hr-oc .hr-oc-note{color:#c3d4bd;font-size:15px;line-height:1.55;margin:0;max-width:62ch}
/* HROCEND */

/* HRQUIZORDERSTART */
/* The email ask sits above the result rather than under it, so it is read
   rather than scrolled past. Ordering the groups visually keeps Fluent Forms'
   own field order — and so the saved entries — exactly as they were. */
.fluentform_wrapper_4 form > fieldset{display:flex;flex-direction:column}
.fluentform_wrapper_4 .hr-quiz-progress{order:-1}
.fluentform_wrapper_4 .hr-q{order:0}
.fluentform_wrapper_4 .hr-res-ask{order:1}
.fluentform_wrapper_4 .hr-result:not(.hr-res-ask){order:2}
/* starting over is offered after the result, not before anyone has read it */
.fluentform_wrapper_4 .hr-quiz-endbar{order:3}
.fluentform_wrapper_4 .hr-quiz-ask{margin:0 0 4px}
/* HRQUIZORDEREND */

/* HRINHERITSTART */
/* Astra's palette still carries the theme default slate (#334155), and every
   section that does not state a colour of its own inherits it — which on this
   dark green is all but invisible. One inherited default, set where the page
   content starts, so anything with its own colour still wins. */
.elementor{color:#c3d4bd}
.elementor input,.elementor textarea,.elementor select{color:#12261a}
/* HRINHERITEND */

/* HRNOCARDSTART */
/* About and Contact: the facts were boxed, each with a platform emoji in a
   circle. Boxes around a sentence add weight without adding meaning, so the
   rows now read as a set of short columns under one hairline, with the drawn
   icon set carrying the mark. */
.hr-fact{background:transparent!important;border:0!important;border-top:1px solid rgba(207,169,74,.26)!important;border-radius:0!important;box-shadow:none!important;padding:22px 0 4px!important;position:relative}
.hr-fact::before{content:"";position:static;display:block;width:34px;height:34px;margin:0 0 14px;border:0;border-radius:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain}
.hr-ic-london::before{background-image:url(/wp-content/uploads/hr-icons/hr-ic-london.png)}
.hr-ic-herb::before{background-image:url(/wp-content/uploads/hr-icons/hr-ic-herbs.png)}
.hr-ic-ph::before{background-image:url(/wp-content/uploads/hr-icons/hr-ic-ph.png)}
.hr-ic-ship::before{background-image:url(/wp-content/uploads/hr-icons/hr-ic-posted.png)}
.hr-ic-source::before{background-image:url(/wp-content/uploads/hr-icons/hr-ic-hand.png)}
.hr-ic-member::before{background-image:url(/wp-content/uploads/hr-icons/hr-ic-month.png)}
.hr-fact .h3,.hr-fact h3{margin:0 0 8px!important;font-size:19px!important;line-height:1.25!important}
.hr-fact .body-text{margin:0!important;max-width:38ch}
[data-id="0715b3a"],[data-id="ab96c1c"],[data-id="b6f6ea8"]{background:transparent!important;border:0!important;border-top:1px solid rgba(207,169,74,.26)!important;border-radius:0!important;box-shadow:none!important;padding:22px 0 6px!important}
[data-id="0715b3a"] .fl-cat-title,[data-id="ab96c1c"] .fl-cat-title,[data-id="b6f6ea8"] .fl-cat-title{margin:0 0 8px!important;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700!important;color:#cfa94a!important}
[data-id="0715b3a"] .sh-text,[data-id="ab96c1c"] .sh-text,[data-id="b6f6ea8"] .sh-text{margin:0 0 6px!important;font-size:17px!important;line-height:1.45!important;color:#f0ecdf!important}
[data-id="0715b3a"] .small,[data-id="ab96c1c"] .small{margin:0!important;color:#9db3a4!important}
[data-id="a089c8d"] a{color:#ffb066;text-decoration:underline;text-underline-offset:3px}
[data-id="a089c8d"] a:hover{color:#ffd0a8}
/* HRNOCARDEND */

/* HRSPLITSTART */
/* .split was a flex row with one 64px gap doing double duty: fine between
   columns, far too much between rows once it wraps on a phone. */
.split{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(238px,1fr))!important;gap:30px 48px!important;align-items:start}
.sh-plan-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(238px,1fr))!important;gap:26px 40px!important;align-items:start}
img[data-id="hraboutimg"]{display:block;width:100%;height:auto;max-width:100%;border-radius:16px;margin:26px 0 34px}
/* HRSPLITEND */

/* HRNAVCURSTART */
/* The current page in the nav was still Astra's default lavender. Gold, like
   every other active state — except the two links that are colour-coded on
   purpose (Learn, Shop), which keep their own colour. */
.main-header-menu .current-menu-item:not(.hr-nav-learn):not(.hr-nav-shop) > .menu-link,.main-header-menu .current_page_item:not(.hr-nav-learn):not(.hr-nav-shop) > .menu-link,#ast-mobile-header .current-menu-item:not(.hr-nav-learn):not(.hr-nav-shop) > .menu-link,#ast-mobile-popup .current-menu-item:not(.hr-nav-learn):not(.hr-nav-shop) > .menu-link{color:#cfa94a!important}
/* HRNAVCUREND */

/* HRSTEPSSTART */
/* One step component, used by the three-month strip, the daily routine and the
   order confirmation. A row of columns on a desktop; on a phone the row becomes
   a single spine with each icon as a stop on it, which is both shorter and
   easier to read than four stacked blocks. */
.hr-months,.hr-steps{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:34px 40px;margin:34px 0 0}
.hr-months .hr-month,.hr-steps .hr-step{position:relative;border-top:1px solid rgba(207,169,74,.28);padding:74px 0 0;background-repeat:no-repeat;background-position:0 28px;background-size:30px 30px}
.hr-months .hr-month::before,.hr-steps .hr-step::before{content:"";position:absolute;inset-block-start:-6px;inset-inline-start:0;width:11px;height:11px;border-radius:999px;background:#0b2115;border:2px solid rgba(207,169,74,.7)}
.hr-months .hr-month .h3,.hr-months .hr-month h3,.hr-steps .hr-step .h3,.hr-steps .hr-step h3{margin:0 0 8px!important;font-size:19px!important;line-height:1.25!important;color:#f4efe3!important}
.hr-months .hr-month .body-text,.hr-steps .hr-step .body-text,.hr-steps .hr-step p{margin:0!important;color:#c3d4bd!important;font-size:15.5px!important;line-height:1.6!important}
.hr-mi-capsule{background-image:url(/wp-content/uploads/hr-icons/hr-ic-capsule.png)}
.hr-mi-ph{background-image:url(/wp-content/uploads/hr-icons/hr-ic-ph.png)}
.hr-mi-london{background-image:url(/wp-content/uploads/hr-icons/hr-ic-london.png)}
.hr-mi-herbs{background-image:url(/wp-content/uploads/hr-icons/hr-ic-herbs.png)}
.hr-mi-jar{background-image:url(/wp-content/uploads/hr-icons/hr-ic-jar.png)}
.hr-mi-month{background-image:url(/wp-content/uploads/hr-icons/hr-ic-month.png)}
.hr-mi-reply{background-image:url(/wp-content/uploads/hr-icons/hr-ic-reply.png)}
.hr-mi-posted{background-image:url(/wp-content/uploads/hr-icons/hr-ic-posted.png)}
.hr-mi-hand{background-image:url(/wp-content/uploads/hr-icons/hr-ic-hand.png)}
.hr-mi-mineral{background-image:url(/wp-content/uploads/hr-icons/hr-ic-mineral.png)}
.hr-mi-morning{background-image:url(/wp-content/uploads/hr-icons/hr-ic-morning.png)}
.hr-mi-evening{background-image:url(/wp-content/uploads/hr-icons/hr-ic-evening.png)}
.hr-mi-timing{background-image:url(/wp-content/uploads/hr-icons/hr-ic-timing.png)}
.hr-mi-energy{background-image:url(/wp-content/uploads/hr-icons/hr-ic-energy.png)}
.hr-mi-mucus{background-image:url(/wp-content/uploads/hr-icons/hr-ic-mucus.png)}
.hr-mi-digestion{background-image:url(/wp-content/uploads/hr-icons/hr-ic-digestion.png)}
/* The step that matters most is weighted with a heavier rule and a filled
   marker rather than a box. */
.hr-months .hr-month.is-dip,.hr-steps .hr-step.is-dip{border-top-color:#cfa94a;border-top-width:2px}
.hr-months .hr-month.is-dip::before,.hr-steps .hr-step.is-dip::before{background:#cfa94a;border-color:#cfa94a}
.hr-months .hr-month.is-dip .h3,.hr-months .hr-month.is-dip h3,.hr-steps .hr-step.is-dip .h3,.hr-steps .hr-step.is-dip h3{color:#cfa94a!important}
@media (max-width:719px){
 .hr-months,.hr-steps{display:block!important;margin:28px 0 0}
 .hr-months .hr-month,.hr-steps .hr-step{border-top:0;padding:0 0 26px 52px;background-position:0 1px;background-size:26px 26px;min-height:40px}
 .hr-months .hr-month::before,.hr-steps .hr-step::before{inset-block-start:34px;inset-block-end:4px;inset-inline-start:12px;width:2px;height:auto;border:0;border-radius:0;background:rgba(207,169,74,.3)}
 .hr-months .hr-month:last-child,.hr-steps .hr-step:last-child{padding-bottom:0}
 .hr-months .hr-month:last-child::before,.hr-steps .hr-step:last-child::before{content:none}
 .hr-months .hr-month .h3,.hr-months .hr-month h3,.hr-steps .hr-step .h3,.hr-steps .hr-step h3{font-size:18px!important;margin:1px 0 6px!important}
 .hr-months .hr-month .body-text,.hr-steps .hr-step .body-text,.hr-steps .hr-step p{font-size:15px!important;line-height:1.55!important}
 .hr-months .hr-month.is-dip::before,.hr-steps .hr-step.is-dip::before{background:rgba(207,169,74,.75)}
 .hr-months-photo{aspect-ratio:4/3;max-height:none;object-position:center 22%;margin:24px 0 4px;border-radius:14px}
}
.hr-months-photo{display:block;width:100%;height:auto;max-width:100%;border-radius:16px;margin:28px 0 8px;aspect-ratio:3/1.7;max-height:400px;object-fit:cover;object-position:center 30%}
/* HRSTEPSEND */


/* HRJRSTART */
/* The jar reframe, drawn in CSS rather than as a fixed-width SVG so the marks
   simply wrap on a narrow screen instead of scrolling sideways. One mark is one
   morning; an outlined mark is a morning missed; a tall mark is four taken. */
.hr-jr{margin:26px 0 24px}
.hr-jr-row{border-top:1px solid rgba(207,169,74,.24);padding:16px 0 0;margin:0 0 22px}
.hr-jr-row:last-of-type{margin-bottom:14px}
.hr-jr-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px}
.hr-jr-label{margin:0!important;font-size:11.5px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700!important;color:#cfa94a!important}
.hr-jr-out{margin:0!important;font-size:17px!important;font-weight:700!important;color:#f4efe3!important;font-variant-numeric:tabular-nums}
.hr-jr-marks{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 5px;margin:14px 0 0;min-height:56px}
.hr-jr-marks i{display:block;width:11px;height:26px;border-radius:999px;background:#cfa94a;flex:0 0 auto}
.hr-jr-marks i.m{background:transparent;border:1.5px solid rgba(207,169,74,.55)}
.hr-jr-marks i.d{height:52px;background:transparent;position:relative}.hr-jr-marks i.d::before,.hr-jr-marks i.d::after{content:"";position:absolute;left:0;right:0;height:24px;border-radius:999px;background:#e8c87a}.hr-jr-marks i.d::before{top:0}.hr-jr-marks i.d::after{bottom:0}
.hr-jr-key{margin:0!important;font-size:13px!important;line-height:1.5!important;color:#9db3a4!important}
.hr-jr-note{margin:14px 0 0!important;font-size:15.5px!important;line-height:1.6!important;color:#c3d4bd!important;max-width:62ch}
@media (max-width:719px){
 /* Thirty marks wrapping freely split 25 and 5, which reads as a mistake.
    A fifteen column grid gives two even rows of a fortnight each. */
 .hr-jr-marks{display:grid;grid-template-columns:repeat(15,1fr);gap:12px 4px;justify-items:center;min-height:0}
 .hr-jr-marks i{width:9px;height:22px}
 .hr-jr-marks i.d{height:44px}.hr-jr-marks i.d::before,.hr-jr-marks i.d::after{height:20px}
}
/* A line that has to land needs weight without becoming another box. */
.hr-callout{border-inline-start:3px solid #cfa94a;padding:2px 0 2px 20px;margin:24px 0}
.hr-callout p{margin:0!important;font-size:17px!important;line-height:1.55!important;color:#f0ecdf!important;max-width:58ch}
.hr-callout p + p{margin-top:8px!important;font-size:15.5px!important;color:#c3d4bd!important}
/* HRJREND */

/* HRARRIVESSTART */
/* What turns up: the real product photograph beside the list, rather than a
   drawing of a box. It is the actual thing, so it should be the actual photo. */
.hr-pr .hr-arrives{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px 40px;align-items:center;margin:20px 0 14px}
.hr-pr .hr-arrives img{display:block;width:100%;height:auto;max-width:100%;border-radius:14px}
.hr-pr .hr-arrives .hr-pr-list{margin:0}
/* HRARRIVESEND */



/* HRGMCROPSTART */
/* Guided Month card, phone and tablet. The photo ran full bleed to the card
   edges; it now stops 9px short on the left, right and bottom so there is an
   even gap between it and the gold rule. The breakout margin was -40px (the
   card's padding), so -31px leaves exactly that 9px. Bottom corners follow
   the card's inner curve; the top stays square where it meets the copy. */
@media (max-width:1024px){
 .elementor-179 .elementor-element-f9a5ac2{margin:0 -31px -31px!important;width:calc(100% + 62px)!important}
 .elementor-179 .elementor-element-f9a5ac2,
 .elementor-179 .elementor-element-f9a5ac2 img{
  border-start-start-radius:0!important;border-start-end-radius:0!important;
  border-end-start-radius:19px!important;border-end-end-radius:19px!important}
}
/* HRGMCROPEND */

/* HRCLEANSEPADSTART */
/* The Cleanse Package card takes its padding from .gold-rim-card, which is
   shared with the four small 152px fact tiles — 16px is right for those and far
   too tight on a 335px card, where the copy and the button ran almost to the
   gold rule. Scoped to this card so the tiles keep theirs, and matched to the
   Guided Month card below it. The photo's breakout margin follows the padding
   so it stays full bleed. */
@media (max-width:1024px){
 .elementor-179 .elementor-element-dd1f680{padding-block:40px!important;padding-inline:40px!important}
 .elementor-179 .elementor-element-026578a{margin:-40px -40px 0!important;width:calc(100% + 80px)!important}
}
/* HRCLEANSEPADEND */

/* HRTLSTART */
/* The three months as one strip: an icon, a stop on a continuous rail, a short
   label. One row at every width — the point of the section is that it can be
   taken in at a glance, so it never stacks. The only stop that needs a sentence
   gets it once, beneath the strip. */
.hr-timeline{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0 10px;margin:26px 0 0}
.hr-timeline .hr-month{position:relative;padding:46px 4px 0 0;border:0;min-width:0;background-repeat:no-repeat;background-position:0 0;background-size:24px 24px}
.hr-timeline .hr-month::before{content:"";position:absolute;inset-inline-start:0;inset-inline-end:-10px;inset-block-start:31px;width:auto;height:2px;border:0;border-radius:0;background:rgba(207,169,74,.32)}
.hr-timeline .hr-month:last-child::before{inset-inline-end:0;background:linear-gradient(90deg,rgba(207,169,74,.32) 60%,rgba(207,169,74,0))}
.hr-timeline .hr-month::after{content:"";position:absolute;inset-inline-start:0;inset-block-start:26px;width:12px;height:12px;border-radius:999px;background:#0b2115;border:2px solid rgba(207,169,74,.75)}
.hr-timeline .hr-month h3,.hr-timeline .hr-month .h3{margin:0!important;font-size:15px!important;line-height:1.2!important;color:#f4efe3!important;white-space:nowrap}
.hr-timeline .hr-month p,.hr-timeline .hr-month .body-text{display:none!important}
.hr-mi-capsule{background-image:url(/wp-content/uploads/hr-icons/hr-ic-capsule.png)}
.hr-mi-month{background-image:url(/wp-content/uploads/hr-icons/hr-ic-month.png)}
.hr-mi-jar{background-image:url(/wp-content/uploads/hr-icons/hr-ic-jar.png)}
.hr-mi-posted{background-image:url(/wp-content/uploads/hr-icons/hr-ic-posted.png)}
.hr-timeline .hr-month.is-dip::after{background:#cfa94a;border-color:#cfa94a}
.hr-timeline .hr-month.is-dip h3,.hr-timeline .hr-month.is-dip .h3{color:#cfa94a!important}
[data-id="hrmsNote"]{margin:22px 0 0!important;font-size:16px!important;line-height:1.55!important;max-width:56ch}
[data-id="hrmsNote"] strong{color:#cfa94a;font-weight:700}
@media (max-width:600px){
 .hr-timeline{gap:0 6px;margin-top:20px}
 .hr-timeline .hr-month{padding-top:40px;background-size:20px 20px}
 .hr-timeline .hr-month::before{inset-block-start:28px;inset-inline-end:-6px}
 .hr-timeline .hr-month::after{inset-block-start:23px;width:11px;height:11px}
 .hr-timeline .hr-month h3,.hr-timeline .hr-month .h3{font-size:12.5px!important}
 [data-id="hrmsNote"]{font-size:15px!important;margin-top:18px!important}
}
/* HRTLEND */

/* HRFIXDIMSTART */
/* .ig-head is a dark-on-light token from the ingredient cards, reused on the
   shop page's dark green panel where it measured 1.62:1. Scoped to that page
   so the light cards keep the colour they were designed with. */
.elementor-8 .ig-head{color:#9db396!important;font-size:13px!important}
/* HRFIXDIMEND */

/* HRNORMSTART */
/* One h3. It was rendering at 16, 18, 19, 20 and 22px in two weights, with the
   shop page using two of them at once. The Food List keeps its own larger
   category titles, which are a different job. */
/* not scoped to .elementor: the WooCommerce blocks render outside that wrapper */
.h3,h3.e-heading-base,.hr-pr h3,.hr-steps .hr-step h3{font-size:19px!important;font-weight:700!important;line-height:1.25!important}
.elementor .fl-cat-title,.elementor .fl-detail-name,.elementor .ig-name,.elementor .qs-name,.elementor .mb-title{font-size:inherit}
/* Section rhythm: the blanket rule that used to sit here forced every .section
   onto 56px and flattened the hero and the routine band, which are deliberately
   flush at the top so their photographs meet the section above. The two real
   outliers are handled on their own below. */
/* The WooCommerce product title was 18px while the section headings below it
   were 24px — the name of the thing being sold was the smallest heading. */
.woocommerce div.product .product_title{font-size:30px!important;line-height:1.14!important;font-weight:700!important;color:#f0ecdf!important}
.hr-pr .hr-pr-h{font-size:22px!important}
/* HRNORMEND */

/* HRHOME3START */
.hr-x{color:#9db396!important}
.hr-xlist{margin-bottom:26px}
.hr-howto{margin-top:44px}
.hr-qmerge{margin-bottom:40px}
.elementor .hr-disc{margin-top:28px!important}
.elementor-2592 [data-id="d638a94"]{margin-top:44px!important}
.elementor-2592 [data-id="hr3close"]{margin-inline:auto!important;text-align:center}
.elementor-2579 [data-id="hrmsH"],.elementor-2590 [data-id="hrmsH"],.elementor-2592 [data-id="hrmsH"],.elementor-2597 [data-id="hrmsH"]{margin-top:44px!important}
/* HRHOME3END */

/* HRPORTALSTART */
/* Everything not built in Elementor falls back to Astra, whose text colour is dark
   slate and unreadable on this ground. This themes all of it in one place: 404,
   search, archives, single posts, the member pages, the affiliate portal, cart,
   checkout and My Account. */
body:not(.elementor-page) .entry-title,body:not(.elementor-page) .page-title,body:not(.elementor-page) .ast-archive-title,body:not(.elementor-page) .entry-content h1,body:not(.elementor-page) .entry-content h2,body:not(.elementor-page) .entry-content h3,body:not(.elementor-page) .entry-content h4,body:not(.elementor-page) .woocommerce h1,body:not(.elementor-page) .woocommerce h2,body:not(.elementor-page) .woocommerce h3,body:not(.elementor-page) legend,body:not(.elementor-page) .affwp-form legend{color:#F0ECDF!important}
body:not(.elementor-page) .entry-content,body:not(.elementor-page) .site-main,body:not(.elementor-page) .ast-archive-description,body:not(.elementor-page) .entry-content p,body:not(.elementor-page) .entry-content li,body:not(.elementor-page) .woocommerce p,body:not(.elementor-page) label,body:not(.elementor-page) th,body:not(.elementor-page) td{color:#C3D4BD!important}
body:not(.elementor-page) .entry-content a:not(.button):not(.btn),body:not(.elementor-page) .woocommerce a:not(.button){color:#CFA94A!important;text-decoration:underline}
/* form controls */
body:not(.elementor-page) input[type=text],body:not(.elementor-page) input[type=email],body:not(.elementor-page) input[type=password],body:not(.elementor-page) input[type=url],body:not(.elementor-page) input[type=tel],body:not(.elementor-page) input[type=number],body:not(.elementor-page) input[type=search],body:not(.elementor-page) textarea,body:not(.elementor-page) select{background:#fff!important;color:#14261B!important;border:1px solid rgba(207,169,74,.35)!important;border-radius:8px!important;padding:11px 13px!important}
body:not(.elementor-page) input[type=submit],body:not(.elementor-page) button[type=submit],body:not(.elementor-page) .button,body:not(.elementor-page) .woocommerce .button,body:not(.elementor-page) .wp-block-search__button{background:#A8410A!important;color:#FFF5EA!important;border:0!important;border-radius:10px!important;padding:13px 26px!important;font-weight:700!important}
body:not(.elementor-page) input[type=submit]:hover,body:not(.elementor-page) .button:hover,body:not(.elementor-page) .woocommerce .button:hover{background:#933806!important}
/* Woo + membership notices keep their light panel, so force dark text inside them */
.woocommerce-info,.woocommerce-message,.woocommerce-error,.wc-memberships-restriction-message,.affwp-notice{background:rgba(255,255,255,.05)!important;border-left:3px solid #CFA94A!important;color:#F0ECDF!important;border-radius:10px}
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a,.wc-memberships-restriction-message a,.affwp-notice a{color:#CFA94A!important;text-decoration:underline!important;font-weight:700}
/* affiliate portal tabs */
.affwp-tab-nav li a{color:#C3D4BD!important}.affwp-tab-nav li.active a{color:#CFA94A!important}
#affwp-affiliate-dashboard th{color:#F0ECDF!important}
/* 404 and search */
.error404 .entry-content,.search-no-results .entry-content{max-width:60ch}
.error404 .ast-404-layout-1 .page-sub-title,.error404 .page-sub-title{color:#C3D4BD!important}
.error404 .page-title{font-size:clamp(34px,6vw,58px)!important;line-height:1.1}
/* No white panels: Astra's boxed content areas on 404, search, archives and
   the member and affiliate pages sit white on a dark site. */
.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single,.ast-separate-container .ast-archive-description,.ast-separate-container .comments-area .comment-respond,.ast-separate-container .comments-area .ast-comment-list li,.ast-separate-container .error-404,.ast-separate-container #primary,.ast-plain-container #primary,body:not(.elementor-page) .site-content>.ast-container,body:not(.elementor-page) .ast-article-single,body:not(.elementor-page) .ast-article-post,body:not(.elementor-page) .entry-content .wp-block-group,body:not(.elementor-page) .woocommerce-page .ast-woocommerce-container{background-color:transparent!important;box-shadow:none!important}
body:not(.elementor-page) .site-content,body:not(.elementor-page) #content,body:not(.elementor-page) #primary{background-color:transparent!important}
.error-404 .ast-404-layout-1,.search .ast-archive-description{background:transparent!important}
/* search and archive result cards */
body:not(.elementor-page) .ast-article-inner,body:not(.elementor-page) .ast-article-post,body:not(.elementor-page) article.post,body:not(.elementor-page) .ast-grid-common-col .ast-article-inner,.search .ast-article-inner,.archive .ast-article-inner{background:rgba(255,255,255,.04)!important;border:1px solid rgba(207,169,74,.22)!important;border-radius:14px!important;box-shadow:none!important;overflow:hidden}
body:not(.elementor-page) .ast-article-inner .entry-title a,.search .entry-title a{color:#F0ECDF!important;text-decoration:none!important}
body:not(.elementor-page) .ast-article-inner .entry-title a:hover{color:#CFA94A!important}
body:not(.elementor-page) .entry-meta,body:not(.elementor-page) .entry-meta *,body:not(.elementor-page) .posted-on,body:not(.elementor-page) .post-author{color:#9DB396!important}
body:not(.elementor-page) .ast-excerpt-container,body:not(.elementor-page) .entry-summary{color:#C3D4BD!important}
body:not(.elementor-page) .ast-article-inner .wp-post-image{border-radius:0!important}
body:not(.elementor-page) .read-more a,body:not(.elementor-page) .ast-button{color:#CFA94A!important}
/* pagination */
body:not(.elementor-page) .ast-pagination a,body:not(.elementor-page) .page-numbers{color:#C3D4BD!important}
body:not(.elementor-page) .page-numbers.current{color:#CFA94A!important;font-weight:700}
/* Astra's search submit is a blue icon button by default */
.search-form .search-submit,.ast-search-submit,button.search-submit,.wp-block-search__button,body:not(.elementor-page) .search-submit,.hr-404 .search-submit{background:#A8410A!important;background-color:#A8410A!important;color:#FFF5EA!important;border:0!important;border-radius:10px!important;padding:12px 20px!important;font-weight:700!important;box-shadow:none!important}
.search-form .search-submit:hover,button.search-submit:hover,.wp-block-search__button:hover{background:#933806!important}
.search-form .search-submit .ast-icon,.search-submit svg,.search-submit i{fill:#FFF5EA!important;color:#FFF5EA!important}
.hr-404 .search-form{align-items:stretch}
.hr-404 .search-form .search-field,.hr-404 input[type=search]{flex:1}
/* HRPORTALEND */
