/* Generated from each original browser CSSOM; original cascade retained. */

/* style.css */
@layer gn-legacy {
  :root { --gn-ink: #202a27; --gn-green: #315a3c; --gn-lime: #d3dfb6; --gn-cream: #f3f5f3; --gn-paper: #fff; --gn-border: #dce2df; --gn-muted: #5c685e; --gn-space: clamp(18px,3vw,48px); }
  * { box-sizing: border-box; }
  body { margin: 0px; color: var(--gn-ink); background: var(--gn-paper); font: 18px / 1.65 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
  a { color: inherit; text-underline-offset: 4px; }
  img { max-width: 100%; height: auto; }
  button, input, select, textarea { font: inherit; }
  button, .button, input[type="submit"] { cursor: pointer; }
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: rgb(167, 91, 20) solid 3px; outline-offset: 4px; }
  h1, h2, h3, p { margin-top: 0px; }
  h1, h2 { font-family: inherit; font-weight: 700; line-height: 1.1; }
  h1 { font-size: clamp(36px, 4.5vw, 66px); letter-spacing: -1.5px; }
  h2 { font-size: clamp(29px, 3vw, 44px); letter-spacing: -0.7px; }
  h3 { font-size: 19px; line-height: 1.3; }
  .gn-wrap { width: min(1440px,calc(100% - 2*var(--gn-space))); margin-inline: auto; }
  .gn-skip { position: absolute; left: 18px; top: -90px; z-index: 999; background: white; padding: 12px; }
  .gn-skip:focus { top: 10px; }
  .gn-topbar { background: var(--gn-green); color: rgb(255, 255, 255); font-size: 16px; padding: 7px 0px; }
  .gn-topbar .gn-wrap { display: flex; justify-content: space-between; gap: 15px; }
  .gn-header { background: rgb(255, 255, 255); border-bottom: 1px solid var(--gn-border); }
  .gn-header-main { display: grid; grid-template-columns: 200px minmax(200px, 1fr) auto; align-items: center; gap: 38px; padding-block: 25px; }
  .gn-logo { display: block; }
  .gn-logo img { width: 175px; max-height: 70px; object-fit: contain; }
  .gn-search { display: flex; border: 1px solid var(--gn-border); background: rgb(250, 250, 246); border-radius: 4px; overflow: hidden; }
  .gn-search input { border: 0px; background: none; padding: 13px 16px; min-width: 0px; width: 100%; color: var(--gn-ink); }
  .gn-search button { border: 0px; background: var(--gn-green); color: white; padding: 10px 20px; }
  .gn-account-links { display: flex; gap: 20px; white-space: nowrap; font-size: 16px; }
  .gn-account-links a { text-decoration: none; }
  .gn-cart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; border-radius: 50%; background: var(--gn-cream); margin-left: 4px; }
  .gn-nav { display: flex; align-items: center; gap: 30px; min-height: 54px; border-top: 1px solid rgb(239, 239, 232); }
  .gn-nav a { text-decoration: none; font-size: 16px; font-weight: 600; padding: 12px 0px; }
  .gn-nav .gn-shop-link { background: var(--gn-green); color: white; padding: 15px 24px; }
  .gn-nav-spacer { margin-left: auto; color: var(--gn-muted); font-size: 16px; }
  .gn-menu-toggle { display: none; border: 1px solid var(--gn-border); background: white; padding: 9px 13px; }
  .gn-hero { background: var(--gn-cream); overflow: hidden; }
  .gn-hero-grid { display: grid; grid-template-columns: 1.06fr 1fr; min-height: 540px; align-items: center; gap: 6%; padding-block: 50px; }
  .gn-eyebrow { text-transform: uppercase; letter-spacing: 2px; font-size: 16px; font-weight: 700; color: var(--gn-green); margin-bottom: 21px; }
  .gn-hero p:not(.gn-eyebrow) { max-width: 490px; font-size: 17px; color: var(--gn-muted); }
  .gn-hero-image { height: 460px; position: relative; }
  .gn-hero-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 45% 45% 5px 5px; }
  .gn-hero-image .gn-photo-caption { position: absolute; bottom: 20px; left: 20px; right: 20px; background: rgb(255, 255, 255); padding: 14px 18px; font-size: 16px; }
  .gn-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 29px; }
  .gn-button, .button, button.button, input[type="submit"] { display: inline-block; background: var(--gn-green); border: 1px solid var(--gn-green); color: white; padding: 12px 23px; text-decoration: none; border-radius: 3px; font-weight: 600; font-size: 16px; line-height: 1.5; }
  .gn-button.secondary { background: transparent; color: var(--gn-ink); border-color: var(--gn-border); }
  .gn-value-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-block: 22px; border-bottom: 1px solid var(--gn-border); font-size: 16px; }
  .gn-value-row strong { display: block; font-weight: 600; }
  .gn-value-row span { color: var(--gn-muted); font-size: 16px; }
  .gn-section { padding-block: 68px; }
  .gn-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
  .gn-section-head h2 { margin: 0px; }
  .gn-section-head a { font-size: 16px; white-space: nowrap; }
  .gn-categories { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
  .gn-category { text-decoration: none; text-align: center; font-size: 16px; font-weight: 600; }
  .gn-category-media { aspect-ratio: 1 / 1; background: var(--gn-cream); border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; margin-bottom: 14px; }
  .gn-category img { width: 80%; height: 80%; object-fit: contain; mix-blend-mode: multiply; }
  .gn-story { background: rgb(238, 241, 231); }
  .gn-story-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8%; }
  .gn-story-image img { width: 100%; height: 430px; object-fit: cover; }
  .gn-story p { max-width: 530px; color: var(--gn-muted); }
  .gn-topics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 23px; }
  .gn-topic { background: var(--gn-cream); padding: 28px; border-top: 3px solid var(--gn-lime); }
  .gn-topic p { color: var(--gn-muted); font-size: 16px; }
  .gn-book { background: var(--gn-ink); color: white; }
  .gn-book h2 { color: white; }
  .gn-book .gn-eyebrow { color: var(--gn-lime); }
  .gn-book .gn-button { background: var(--gn-lime); color: var(--gn-ink); border-color: var(--gn-lime); }
  .gn-book .gn-story-grid { grid-template-columns: 0.65fr 1fr; }
  .gn-book-cover img { display: block; max-height: 345px; width: auto; margin: auto; }
  .gn-footer { background: var(--gn-cream); border-top: 1px solid var(--gn-border); padding: 55px 0px 22px; }
  .gn-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 35px; }
  .gn-footer h3 { font-size: 16px; }
  .gn-footer ul { list-style: none; padding: 0px; margin: 0px; }
  .gn-footer li { margin: 8px 0px; font-size: 16px; }
  .gn-footer p { font-size: 16px; color: var(--gn-muted); }
  .gn-footer a { text-decoration: none; }
  .gn-footer a:hover { text-decoration: underline; }
  .gn-footer-base { font-size: 16px; color: var(--gn-muted); margin-top: 35px; padding-top: 20px; border-top: 1px solid var(--gn-border); display: flex; justify-content: space-between; gap: 20px; }
  .gn-main { padding-block: 35px 65px; min-height: 50vh; }
  .gn-content { max-width: 850px; margin: auto; }
  .gn-content h1 { font-size: 42px; }
  .gn-content iframe { max-width: 100%; }
  .gn-content .elementor-section { max-width: 100%; }
  .gn-content img { height: auto; }
  .woocommerce-breadcrumb { font-size: 16px; color: var(--gn-muted); margin: 0px 0px 25px; }
  .woocommerce-products-header { padding: 25px 0px; }
  .woocommerce-products-header h1 { font-size: 45px; }
  .gn-catalogue-layout { display: grid; grid-template-columns: 210px minmax(0px, 1fr); gap: 35px; }
  .gn-sidebar h2 { font: 700 20px / 1.4 system-ui, sans-serif; }
  .gn-sidebar ul { list-style: none; padding: 0px; }
  .gn-sidebar li { margin: 10px 0px; font-size: 16px; }
  .gn-sidebar a { text-decoration: none; }
  .gn-sidebar details { border-bottom: 1px solid var(--gn-border); padding: 16px 0px; }
  .gn-sidebar summary { cursor: pointer; font-weight: 600; }
  .gn-sidebar select { max-width: 100%; padding: 10px; border: 1px solid var(--gn-border); }
  .woocommerce-result-count { float: left; font-size: 16px; color: var(--gn-muted); }
  .woocommerce-ordering { float: right; margin-bottom: 25px; }
  .woocommerce-ordering select { border: 1px solid var(--gn-border); padding: 10px; background: white; max-width: 100%; }
  ul.products { clear: both; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 23px; list-style: none; display: grid !important; margin: 0px !important; padding: 0px !important; }
  ul.products::before, ul.products::after { display: none !important; }
  ul.products li.product { padding: 0px 0px 19px; display: flex; flex-direction: column; position: relative; border-bottom: 1px solid var(--gn-border); width: 100% !important; float: none !important; margin: 0px !important; }
  ul.products li.product a { text-decoration: none; }
  ul.products li.product img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: rgb(250, 250, 247); margin-bottom: 16px; }
  ul.products h2.woocommerce-loop-product__title { font: 500 17px / 1.5 system-ui, sans-serif; letter-spacing: 0px; margin: 0px 0px 9px; min-height: 44px; }
  ul.products .price { display: block; font-size: 16px; font-weight: 600; margin: 0px 0px 14px; }
  ul.products .button { margin-top: auto; align-self: start; padding: 8px 15px; font-size: 16px; }
  ul.products .added_to_cart { margin-top: 8px; text-decoration: underline; font-size: 16px; }
  .gn-product-stock { font-size: 16px; color: var(--gn-muted); margin-bottom: 10px; }
  .onsale { position: absolute; left: 10px; top: 10px; z-index: 2; background: var(--gn-lime); padding: 3px 9px; font-size: 16px; }
  .woocommerce-pagination { margin-top: 35px; }
  .woocommerce-pagination ul { list-style: none; display: flex; gap: 8px; justify-content: center; padding: 0px; }
  .woocommerce-pagination a, .woocommerce-pagination span { display: block; padding: 8px 15px; border: 1px solid var(--gn-border); }
  .woocommerce-pagination .current { background: var(--gn-green); color: white; }
  .woocommerce-notices-wrapper:empty { display: none; }
  .woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 18px 22px; background: rgb(237, 242, 233); border-left: 3px solid var(--gn-green); margin-bottom: 24px; list-style: none; }
  .woocommerce-error { background: rgb(252, 240, 238); border-color: rgb(166, 59, 46); }
  .single-product div.product { display: flow-root; }
  .single-product div.product .woocommerce-product-gallery { width: 47%; float: left; }
  .single-product div.product .summary { width: 47%; float: right; }
  .woocommerce-product-gallery__wrapper { margin: 0px; }
  .woocommerce-product-gallery img { width: 100%; height: 480px; object-fit: contain; background: rgb(250, 250, 247); }
  .flex-control-thumbs { list-style: none; display: flex; gap: 12px; padding: 0px; }
  .flex-control-thumbs li { width: 75px; }
  .flex-control-thumbs img { height: 75px; }
  .product_title { font-size: 36px; letter-spacing: -0.6px; }
  .summary .price { font-size: 25px; font-weight: 600; }
  .summary .woocommerce-product-details__short-description { color: var(--gn-muted); }
  .summary form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 25px 0px; }
  .quantity .qty { width: 75px; padding: 12px; border: 1px solid var(--gn-border); }
  .summary .stock { font-size: 16px; }
  .out-of-stock { color: rgb(145, 66, 53); }
  .product_meta { font-size: 16px; color: var(--gn-muted); display: grid; gap: 8px; }
  .woocommerce-tabs { clear: both; padding-top: 50px; }
  .woocommerce-tabs .tabs { list-style: none; display: flex; gap: 25px; border-bottom: 1px solid var(--gn-border); padding: 0px 0px 15px; }
  .woocommerce-tabs .tabs a { text-decoration: none; }
  .woocommerce-tabs .active { font-weight: 700; }
  .woocommerce-Tabs-panel { max-width: 900px; }
  .related.products { clear: both; padding-top: 35px; }
  .related.products h2 { font-size: 32px; }
  .woocommerce-product-attributes { border-collapse: collapse; width: 100%; }
  .woocommerce-product-attributes td, .woocommerce-product-attributes th { padding: 12px; border-bottom: 1px solid var(--gn-border); text-align: left; }
  .woocommerce table.shop_table { border-collapse: collapse; width: 100%; margin: 0px 0px 25px; font-size: 16px; }
  .shop_table th, .shop_table td { padding: 15px 10px; border-bottom: 1px solid var(--gn-border); text-align: left; }
  .shop_table .product-thumbnail img { width: 75px; height: 75px; object-fit: contain; }
  .shop_table .remove { font-size: 25px; }
  .shop_table .coupon { display: flex; gap: 10px; float: left; }
  .shop_table .actions > .button { float: right; }
  .cart-collaterals { display: flow-root; }
  .cart_totals { width: 45%; float: right; background: var(--gn-cream); padding: 26px; }
  .cart_totals h2 { font-size: 30px; }
  .woocommerce form .form-row { margin: 0px 0px 16px; }
  .woocommerce form .form-row label { display: block; font-size: 16px; font-weight: 600; margin-bottom: 6px; }
  .woocommerce form input.input-text, .woocommerce form textarea, .woocommerce form select { padding: 12px; border: 1px solid rgb(187, 191, 181); border-radius: 2px; max-width: 100%; width: 100%; background: white; color: var(--gn-ink); }
  .woocommerce form .form-row-first { width: 48%; float: left; }
  .woocommerce form .form-row-last { width: 48%; float: right; }
  .woocommerce form .form-row-wide { clear: both; }
  .woocommerce-checkout #customer_details { float: left; width: 55%; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { float: right; width: 40%; }
  .woocommerce-checkout #order_review { background: var(--gn-cream); padding: 25px; }
  .woocommerce-checkout h3 { font: 700 26px / 1.3 system-ui, sans-serif; }
  .woocommerce-checkout form.checkout { display: flow-root; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: flow-root; }
  #payment ul { list-style: none; padding: 0px; }
  #payment li { margin: 15px 0px; }
  #payment .payment_box { font-size: 16px; }
  .woocommerce-checkout .payment_method_gn_local_test label { font-size: 16px; }
  .woocommerce-invalid input { border-color: rgb(166, 59, 46) !important; }
  .woocommerce .required { color: rgb(166, 59, 46); }
  .woocommerce-shipping-methods { list-style: none; padding: 0px; margin: 0px; }
  .woocommerce-MyAccount-navigation { float: left; width: 23%; }
  .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0px; }
  .woocommerce-MyAccount-navigation li { padding: 12px 0px; border-bottom: 1px solid var(--gn-border); }
  .woocommerce-MyAccount-content { float: right; width: 72%; }
  .woocommerce-account .woocommerce { display: flow-root; }
  .woocommerce-form-login, .woocommerce-form-register { max-width: 560px; }
  .woocommerce .col2-set { display: flex; gap: 35px; }
  .woocommerce .col2-set > .col-1, .woocommerce .col2-set > .col-2 { flex: 1 1 0%; min-width: 0px; }
  .gn-empty { padding: 35px; background: var(--gn-cream); }
  .gn-product-enquiry { display: inline-block; margin: 15px 0px; }
  .star-rating { font-size: 16px; }
  .screen-reader-text { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
  .select2-container .select2-selection--single { min-height: 47px; border: 1px solid rgb(187, 191, 181); padding-top: 8px; }
  .woocommerce .blockUI.blockOverlay { background: rgb(255, 255, 255) !important; }
  @media (max-width: 1100px) {
  .gn-header-main { grid-template-columns: 155px minmax(200px, 1fr) auto; gap: 20px; }
  .gn-nav { gap: 22px; }
  .gn-nav-spacer { display: none; }
  .gn-categories { grid-template-columns: repeat(3, 1fr); }
  ul.products { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .gn-hero-grid { gap: 5%; min-height: 470px; }
  .gn-hero-image { height: 390px; }
  .gn-catalogue-layout { grid-template-columns: 180px minmax(0px, 1fr); gap: 25px; }
}
  @media (max-width: 767px) {
  .gn-topbar { font-size: 16px; }
  .gn-topbar .gn-wrap span:last-child { display: none; }
  .gn-header-main { grid-template-columns: 1fr auto; gap: 16px; padding-block: 16px; }
  .gn-logo img { width: 135px; max-height: 55px; }
  .gn-account-links { gap: 13px; font-size: 16px; }
  .gn-search { grid-area: 2 / 1 / auto / -1; }
  .gn-search input { padding: 12px; }
  .gn-search button { padding: 10px 16px; }
  .gn-menu-toggle { display: block; margin: 0px 0px 12px; }
  .gn-nav { display: none; flex-direction: column; align-items: stretch; gap: 0px; padding-bottom: 14px; }
  .gn-nav.is-open { display: flex; }
  .gn-nav a { padding: 11px 5px; }
  .gn-nav .gn-shop-link { padding: 12px; }
  .gn-hero-grid { grid-template-columns: 1fr; padding-block: 35px; gap: 30px; }
  .gn-hero h1 { font-size: 43px; }
  .gn-hero p:not(.gn-eyebrow) { font-size: 16px; }
  .gn-hero-image { height: 320px; }
  .gn-hero-image img { border-radius: 100px 100px 4px 4px; }
  .gn-value-row { grid-template-columns: 1fr; gap: 14px; }
  .gn-value-row span { display: inline; }
  .gn-value-row strong { display: inline; margin-right: 8px; }
  .gn-section { padding-block: 42px; }
  .gn-section-head { align-items: start; }
  .gn-section-head h2 { font-size: 29px; }
  .gn-categories { gap: 20px 14px; }
  .gn-category { font-size: 16px; }
  .gn-story-grid, .gn-book .gn-story-grid { grid-template-columns: 1fr; gap: 28px; }
  .gn-story-image img { height: 330px; }
  .gn-topics { grid-template-columns: 1fr; }
  .gn-topic { padding: 24px; }
  .gn-book-cover img { max-height: 270px; }
  .gn-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 22px; }
  .gn-footer-base { display: block; }
  .gn-main { padding-block: 25px 40px; }
  .gn-catalogue-layout { grid-template-columns: 1fr; }
  .gn-sidebar { border: 1px solid var(--gn-border); padding: 15px; }
  .gn-sidebar > ul { display: none; }
  .gn-sidebar h2 { margin: 0px; }
  .gn-sidebar details { padding: 10px 0px; }
  .gn-products h1 { font-size: 34px; }
  ul.products { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 22px 16px; }
  ul.products h2.woocommerce-loop-product__title { font-size: 16px; }
  ul.products .price { font-size: 16px; }
  .woocommerce-result-count, .woocommerce-ordering { float: none; font-size: 16px; }
  .woocommerce-ordering { margin-bottom: 22px; }
  .woocommerce-ordering select { width: 100%; }
  .single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { float: none; width: 100%; }
  .woocommerce-product-gallery img { height: 330px; }
  .summary { margin-top: 25px; }
  .product_title { font-size: 29px; }
  .woocommerce-tabs .tabs { font-size: 16px; gap: 17px; flex-wrap: wrap; }
  .woocommerce-tabs .tabs li { max-width: 100%; }
  .shop_table .product-thumbnail { display: none; }
  .shop_table thead { display: none; }
  .shop_table tr { display: block; padding: 10px 0px; border-bottom: 1px solid var(--gn-border); }
  .shop_table td { display: block; text-align: right; border: 0px; padding: 8px 0px; }
  .shop_table td[data-title]::before { content: attr(data-title); float: left; font-weight: 600; }
  .shop_table .product-name { text-align: left; }
  .shop_table .coupon { float: none; display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 15px; }
  .shop_table .actions > .button { float: none; width: 100%; }
  .cart_totals { float: none; width: 100%; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { float: none; width: 100%; }
  .woocommerce-checkout #order_review { padding: 18px; }
  .woocommerce-checkout #order_review_heading { margin-top: 35px; }
  .woocommerce .col2-set { display: block; }
  .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
  .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-MyAccount-navigation { margin-bottom: 30px; }
  .gn-content h1 { font-size: 34px; }
  button, input, select, textarea { font-size: 16px; }
  .gn-actions .gn-button { flex: 1 1 0%; text-align: center; white-space: nowrap; }
}
  @media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important; }
}
  .gn-menu { display: flex; align-items: center; gap: 30px; list-style: none; margin: 0px; padding: 0px; }
  .gn-menu > li { position: relative; }
  .gn-menu a { display: block; }
  .gn-menu .gn-shop-link { padding: 0px; background: transparent; }
  .gn-menu .gn-shop-link > a { padding: 15px 24px; background: var(--gn-green); color: rgb(255, 255, 255); }
  .gn-menu .sub-menu { position: absolute; top: 100%; left: 0px; min-width: 220px; background: white; box-shadow: rgba(32, 61, 49, 0.125) 0px 8px 25px; z-index: 20; list-style: none; padding: 12px; display: none; }
  .gn-menu li:hover > .sub-menu, .gn-menu li:focus-within > .sub-menu { display: block; }
  .gn-menu .sub-menu a { padding: 10px; }
  .button:disabled, button:disabled { cursor: not-allowed; opacity: 0.5; }
  .woocommerce-product-gallery__trigger { position: absolute; right: 12px; top: 12px; z-index: 3; padding: 5px 12px; background: rgb(255, 255, 255); border: 1px solid var(--gn-border); font-size: 16px; }
  .woocommerce-product-gallery__trigger::before { content: "↗"; }
  .variations_form { display: block !important; }
  .variations_form .variations { width: 100%; margin-bottom: 18px; }
  .variations_form .variations th { text-align: left; padding-right: 20px; }
  .variations_form .single_variation_wrap .quantity { display: inline-block; margin-right: 12px; }
  .gn-hero-image img { object-fit: contain; background: white; }
  .gn-category img { pointer-events: none; }
  @media (max-width: 1100px) {
  .gn-menu { gap: 20px; }
  .gn-nav-spacer { display: none; }
}
  @media (max-width: 767px) {
  .gn-menu { display: block; width: 100%; }
  .gn-menu .sub-menu { position: static; display: block; box-shadow: none; padding: 0px 0px 10px 15px; }
  .gn-menu .gn-shop-link > a { padding: 12px; }
}
}

/* storefront.css */
@layer gn-legacy {
  .home ul.products { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
  .woocommerce-product-gallery__trigger { font-size: 0px !important; }
  .woocommerce-product-gallery__trigger::before { font-size: 20px; }
  @media (max-width: 767px) {
  .home ul.products { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
  :root { --gn-dark: #172e25; --gn-green: #35663e; --gn-font: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  h1, h2, h3 { font-family: var(--gn-font); font-weight: 700; line-height: 1.2; }
  h1 { font-size: clamp(34px, 3.3vw, 54px); }
  h2 { font-size: clamp(28px, 2.4vw, 36px); }
  h3 { font-size: 23px; }
  button, input, select, textarea { font-size: 18px; }
  .gn-utility { background: var(--gn-dark); color: white; }
  .gn-utility .gn-wrap { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
  .gn-utility-links { display: flex; gap: 28px; }
  .gn-utility a { font-size: 16px; text-decoration: none; }
  .gn-utility a:hover { text-decoration: underline; }
  .gn-header-main { grid-template-columns: 190px minmax(200px, 1fr) auto; padding-block: 22px; gap: 34px; }
  .gn-logo img { display: block; width: 180px; max-height: 70px; }
  .gn-search { background: white; border-color: rgb(186, 198, 191); border-radius: 6px; }
  .gn-search input { font-size: 18px; padding: 14px 18px; }
  .gn-search button { display: flex; align-items: center; gap: 10px; padding: 12px 23px; font-size: 17px; font-weight: 650; }
  .gn-icon { width: 24px; height: 24px; flex-shrink: 0; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
  .gn-account-links { gap: 27px; font-size: 16px; }
  .gn-account-links a { display: flex; align-items: center; gap: 9px; line-height: 1.3; }
  .gn-account-links small { display: block; font-size: 14px; color: var(--gn-muted); }
  .gn-cart-copy { font-weight: 700; }
  .gn-cart-count { font-size: 14px; background: var(--gn-lime); font-weight: 700; margin: 0px; }
  .gn-navigation-band { background: rgb(245, 247, 245); border-top: 1px solid var(--gn-border); }
  .gn-nav { border: 0px; min-height: 60px; align-items: stretch; gap: 24px; position: relative; }
  .gn-nav a { font-size: 17px; }
  .gn-department-list { display: flex; flex: 1 1 0%; align-items: center; justify-content: space-between; gap: 20px; list-style: none; margin: 0px; padding: 0px; }
  .gn-department-list a { display: block; padding: 16px 0px; line-height: 1.4; }
  .gn-department-list a:hover { text-decoration: underline; }
  .gn-all-categories { flex: 0 0 218px; position: relative; }
  .gn-all-categories > summary { list-style: none; display: flex; align-items: center; gap: 12px; height: 100%; padding: 14px 20px; background: var(--gn-green); color: rgb(255, 255, 255); font-weight: 650; font-size: 17px; cursor: pointer; }
  .gn-all-categories > summary::-webkit-details-marker { display: none; }
  .gn-all-categories > summary::after { content: "⌄"; margin-left: auto; }
  .gn-category-panel { position: absolute; z-index: 30; top: 100%; left: 0px; width: min(850px,calc(100vw - 2*var(--gn-space))); background: white; border: 1px solid var(--gn-border); padding: 24px; box-shadow: rgba(23, 46, 37, 0.14) 0px 18px 35px; border-radius: 0px 0px 10px 10px; }
  .gn-category-panel ul { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 5px 20px; list-style: none; padding: 0px; margin: 0px 0px 16px; }
  .gn-category-panel a { display: block; padding: 8px; border-radius: 4px; font-size: 16px; }
  .gn-category-panel a:hover { background: var(--gn-cream); }
  .gn-mobile-explore { display: none; }
  .gn-hero { background: white; padding-top: 28px; }
  .gn-hero-grid { min-height: 440px; padding: 46px clamp(26px, 5vw, 76px); background: rgb(237, 242, 237); border: 1px solid rgb(224, 231, 223); border-radius: 12px; grid-template-columns: 1.12fr 1fr; gap: 6%; }
  .gn-hero h1 { font-size: clamp(36px, 3.7vw, 56px); font-weight: 750; margin-bottom: 23px; }
  .gn-hero p:not(.gn-eyebrow) { font-size: 20px; max-width: 570px; line-height: 1.6; }
  .gn-eyebrow { font-size: 14px; letter-spacing: 1.8px; margin-bottom: 16px; }
  .gn-hero-image { height: 330px; }
  .gn-hero-image img { border-radius: 0px; object-fit: contain; mix-blend-mode: multiply; background: transparent; }
  .gn-photo-caption { display: none; }
  .gn-button, .button, button.button, input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 6px; font-size: 17px; padding: 12px 23px; line-height: 1.4; }
  .gn-button:hover, .button:hover { background: rgb(37, 75, 45); color: white; }
  .gn-button.secondary { background: white; border-color: rgb(173, 189, 177); }
  .gn-value-row { padding: 25px 28px; margin-top: 24px; border: 1px solid var(--gn-border); border-radius: 10px; font-size: 17px; }
  .gn-value-row > div { padding-inline: 18px; border-right: 1px solid var(--gn-border); }
  .gn-value-row > div:last-child { border: 0px; }
  .gn-value-row span { font-size: 16px; }
  .gn-section { padding-block: 50px; }
  .gn-section-head { align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--gn-border); }
  .gn-section-head a { font-weight: 600; }
  .gn-categories { grid-template-columns: repeat(6, minmax(0px, 1fr)); }
  .gn-category { font-size: 17px; line-height: 1.4; border: 1px solid var(--gn-border); border-radius: 10px; padding: 16px; background: white; }
  .gn-category:hover { border-color: var(--gn-green); box-shadow: rgba(23, 46, 37, 0.047) 0px 5px 18px; }
  .gn-category-media { aspect-ratio: auto; height: 130px; border-radius: 0px; background: white; margin-bottom: 16px; }
  .gn-category img { width: 100%; height: 100%; mix-blend-mode: normal; }
  .gn-story { background: var(--gn-cream); }
  .gn-story-image img { height: 390px; border-radius: 10px; }
  .gn-story p { max-width: 630px; }
  .gn-topic { background: white; border: 1px solid var(--gn-border); border-radius: 10px; }
  .gn-topic p { font-size: 17px; }
  .gn-topic .gn-eyebrow { font-size: 14px; }
  .gn-book { background: var(--gn-dark); }
  .gn-book .gn-button { background: rgb(228, 236, 215); color: var(--gn-dark); border-color: rgb(228, 236, 215); }
  ul.products { gap: 22px; }
  ul.products li.product { padding: 18px; border: 1px solid var(--gn-border); border-radius: 10px; background: white; min-width: 0px; box-shadow: rgba(23, 46, 37, 0.03) 0px 5px 18px; }
  ul.products li.product:hover { border-color: rgb(169, 185, 173); box-shadow: rgba(23, 46, 37, 0.07) 0px 8px 24px; }
  ul.products .woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 0%; min-width: 0px; }
  ul.products li.product img { order: 0; background: white; border-radius: 6px; margin-bottom: 20px; }
  ul.products h2.woocommerce-loop-product__title { order: 2; font: 500 17px/1.5 var(--gn-font); min-height: 52px; margin-bottom: 17px; overflow-wrap: anywhere; }
  ul.products .price { order: 1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; font-size: 23px; line-height: 1.3; font-weight: 750; margin-bottom: 10px; }
  .price ins { text-decoration: none; background: transparent; }
  .price del { font-size: 0.75em; color: var(--gn-muted); font-weight: 450; }
  ul.products .button { width: 100%; align-self: stretch; font-size: 16px; padding: 11px 12px; min-height: 46px; }
  .gn-product-stock { order: 3; font-size: 15px; line-height: 1.4; color: rgb(53, 99, 60); margin: 0px 0px 18px; padding-left: 9px; border-left: 3px solid rgb(86, 130, 77); }
  .outofstock .gn-product-stock { color: rgb(117, 74, 53); border-color: rgb(168, 115, 73); }
  .onsale { background: var(--gn-green); color: white; border-radius: 4px; font-size: 14px; }
  .gn-catalogue-layout { grid-template-columns: 235px minmax(0px, 1fr); gap: 32px; }
  .gn-sidebar { align-self: start; border: 1px solid var(--gn-border); border-radius: 10px; padding: 22px; }
  .gn-sidebar h2 { font: 700 20px/1.4 var(--gn-font); }
  .gn-sidebar summary { font-size: 17px; }
  .gn-sidebar select { margin: 15px 0px; }
  .gn-products ul.products { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .woocommerce-products-header { padding: 0px 0px 22px; }
  .woocommerce-products-header h1 { font-size: 40px; }
  .woocommerce-ordering select { border-radius: 6px; font-size: 17px; }
  .woocommerce-breadcrumb { font-size: 16px; }
  .woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 6px; font-size: 17px; }
  .single-product div.product .woocommerce-product-gallery { border: 1px solid var(--gn-border); border-radius: 12px; padding: 25px; position: relative; }
  .single-product div.product .summary { width: 48%; }
  .woocommerce-product-gallery img { height: 440px; background: white; }
  .flex-control-thumbs img { height: 75px; }
  .product_title { font-size: 36px; line-height: 1.25; }
  .summary .price { font-size: 32px; font-weight: 750; }
  .summary .stock { font-size: 17px; }
  .product_meta { font-size: 16px; padding-top: 20px; border-top: 1px solid var(--gn-border); }
  .quantity .qty { width: 80px; border-radius: 6px; font-size: 18px; min-height: 49px; }
  .woocommerce-product-gallery__trigger { border-radius: 5px; font-size: 18px; text-decoration: none; }
  body.woocommerce-checkout, body.woocommerce-cart { background: rgb(243, 245, 244); }
  .gn-checkout-heading { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 26px; }
  .gn-checkout-heading h1 { margin: 0px; font-size: 40px; }
  .gn-checkout-heading > a { font-size: 17px; }
  .gn-purchase-progress { display: flex; gap: 25px; list-style: none; padding: 0px; margin: 0px 0px 28px; color: var(--gn-muted); font-size: 16px; }
  .gn-purchase-progress li { display: flex; align-items: center; gap: 9px; }
  .gn-purchase-progress span { display: inline-grid; place-items: center; width: 28px; height: 28px; background: white; border: 1px solid rgb(200, 209, 203); border-radius: 50%; font-size: 15px; font-weight: 600; }
  .gn-purchase-progress [aria-current="step"] { color: var(--gn-green); font-weight: 700; }
  .gn-purchase-progress [aria-current="step"] span { background: var(--gn-green); color: white; border-color: var(--gn-green); }
  .woocommerce table.shop_table { font-size: 17px; }
  .shop_table th, .shop_table td { padding: 17px 10px; }
  .woocommerce-cart-form { background: white; padding: 26px; border: 1px solid var(--gn-border); border-radius: 10px; }
  .cart-collaterals { margin-top: 28px; }
  .cart_totals { background: white; border: 1px solid var(--gn-border); border-radius: 10px; padding: 28px; }
  .checkout-button { width: 100%; }
  .woocommerce form .form-row { margin-bottom: 21px; }
  .woocommerce form .form-row label { font-size: 17px; margin-bottom: 8px; line-height: 1.45; }
  .woocommerce form input.input-text, .woocommerce form textarea, .woocommerce form select { padding: 13px 15px; border-color: rgb(168, 181, 172); border-radius: 6px; font-size: 18px; min-height: 52px; }
  .woocommerce form textarea { min-height: 120px; }
  .woocommerce-checkout #customer_details { float: left; width: 56%; display: block; background: white; border: 1px solid var(--gn-border); border-radius: 12px; padding: 30px; }
  .woocommerce-checkout #order_review_heading { width: 40%; margin: 0px; padding: 24px 28px; background: var(--gn-dark); color: white; border-radius: 10px 10px 0px 0px; font-size: 25px; }
  .woocommerce-checkout #order_review { width: 40%; background: white; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 0px; border-radius: 0px 0px 10px 10px; padding: 26px; }
  .woocommerce-checkout h3 { font: 700 26px/1.3 var(--gn-font); }
  .woocommerce-checkout #customer_details > .col-1, .woocommerce-checkout #customer_details > .col-2 { width: 100%; float: none; }
  .woocommerce-checkout .woocommerce-additional-fields { margin-top: 24px; }
  .woocommerce-checkout-review-order-table .product-total { text-align: right; }
  .woocommerce-checkout-review-order-table .product-name { width: 62%; }
  .woocommerce-checkout-review-order-table .order-total { font-size: 23px; }
  .woocommerce-checkout-review-order-table small { font-size: 15px; font-weight: 400; display: block; }
  #payment { border-top: 1px solid var(--gn-border); padding-top: 8px; }
  #payment .payment_box { font-size: 17px; line-height: 1.6; background: rgb(242, 246, 239); padding: 16px; border-radius: 6px; }
  .woocommerce-checkout .payment_method_gn_local_test label { font-size: 17px; font-weight: 650; }
  #payment .place-order { margin-bottom: 0px; }
  #place_order { width: 100%; font-size: 19px; min-height: 54px; }
  .woocommerce-privacy-policy-text { font-size: 16px; color: var(--gn-muted); }
  input[type="radio"], input[type="checkbox"] { width: 19px; height: 19px; accent-color: var(--gn-green); vertical-align: middle; }
  .woocommerce form .form-row label.checkbox { display: inline; }
  .select2-container .select2-selection--single { min-height: 53px; border-color: rgb(168, 181, 172); border-radius: 6px; padding-top: 10px; font-size: 18px; }
  .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }
  .select2-container .select2-selection--single .select2-selection__rendered { padding-left: 15px; color: var(--gn-ink); }
  .gn-footer { background: rgb(246, 247, 245); }
  .gn-footer h3 { font-size: 19px; }
  .gn-footer li { margin: 11px 0px; font-size: 16px; }
  .gn-footer p { font-size: 17px; }
  .gn-footer a { overflow-wrap: anywhere; }
  .gn-footer-base { font-size: 15px; }
  @media (max-width: 1199px) {
  .gn-header-main { grid-template-columns: 165px minmax(180px, 1fr) auto; gap: 22px; }
  .gn-logo img { width: 155px; }
  .gn-account-links { gap: 18px; }
  .gn-account-links small { display: none; }
  .gn-all-categories { flex-basis: 190px; }
  .gn-nav { gap: 18px; }
  .gn-department-list { gap: 18px; flex-wrap: wrap; justify-content: flex-start; }
  .gn-department-list a { font-size: 16px; padding: 12px 0px; }
  .gn-categories { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .gn-category { display: flex; align-items: center; gap: 15px; text-align: left; }
  .gn-category-media { height: 80px; width: 85px; flex-shrink: 0; margin: 0px; }
  .gn-catalogue-layout { grid-template-columns: 200px minmax(0px, 1fr); gap: 24px; }
  .gn-products ul.products { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
  @media (max-width: 1023px) {
  .gn-utility-contact { display: none; }
  .gn-header-main { grid-template-columns: 155px minmax(180px, 1fr) auto; gap: 18px; }
  .gn-search button span { display: none; }
  .gn-account-links .gn-account-copy, .gn-account-links .gn-cart-copy { display: none; }
  .gn-hero-grid { gap: 4%; padding: 32px; min-height: 390px; }
  .gn-hero h1 { font-size: 40px; }
  .gn-hero-image { height: 280px; }
  .gn-hero p:not(.gn-eyebrow) { font-size: 18px; }
  .gn-value-row { padding: 20px 10px; gap: 10px; }
  .gn-value-row > div { padding-inline: 12px; }
  .woocommerce-checkout #customer_details { width: 53%; padding: 22px; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: 44%; padding: 22px; }
  .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
  .gn-footer-grid { grid-template-columns: 1fr 1fr; }
}
  @media (max-width: 767px) {
  .gn-utility { display: none; }
  .gn-header-main { grid-template-columns: 1fr auto; gap: 18px; padding-block: 17px; }
  .gn-logo img { width: 155px; max-height: 58px; }
  .gn-account-links { gap: 20px; }
  .gn-search input { padding: 13px 12px; font-size: 17px; }
  .gn-search button { padding: 11px 16px; }
  .gn-menu-toggle { display: flex; align-items: center; gap: 12px; background: none; border: 0px; padding: 13px 0px; min-height: 50px; margin: 0px; font-weight: 650; font-size: 17px; width: 100%; color: var(--gn-ink); }
  .gn-nav { display: none; flex-direction: column; gap: 0px; padding-bottom: 18px; }
  .gn-nav.is-open { display: flex; }
  .gn-all-categories { flex: 1 1 auto; }
  .gn-all-categories > summary { padding: 12px 15px; }
  .gn-category-panel { position: static; width: 100%; box-shadow: none; padding: 15px; }
  .gn-category-panel ul { grid-template-columns: 1fr; max-height: 50vh; overflow: auto; }
  .gn-department-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0px 16px; padding: 12px 0px; }
  .gn-department-list a { font-size: 17px; line-height: 1.5; padding: 10px 0px; }
  .gn-mobile-explore { display: block; border-top: 1px solid var(--gn-border); padding-top: 15px; }
  .gn-menu a { display: block; padding: 8px 0px; font-weight: 500; }
  .gn-hero { padding-top: 18px; }
  .gn-hero-grid { grid-template-columns: 1fr; gap: 18px; padding: 28px 23px; min-height: 0px; }
  .gn-hero h1 { font-size: 38px; letter-spacing: -1.2px; }
  .gn-hero p:not(.gn-eyebrow) { font-size: 18px; }
  .gn-hero-image { height: 240px; }
  .gn-actions .gn-button { width: 100%; }
  .gn-eyebrow { font-size: 14px; }
  .gn-value-row { grid-template-columns: 1fr; gap: 16px; padding: 22px; margin-top: 18px; }
  .gn-value-row > div { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--gn-border); padding: 0px 0px 15px; }
  .gn-value-row > div:last-child { padding: 0px; }
  .gn-value-row strong, .gn-value-row span { display: block; }
  .gn-section { padding-block: 36px; }
  .gn-section-head { align-items: start; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; padding-bottom: 16px; }
  .gn-section-head h2 { font-size: 28px; }
  .gn-categories { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
  .gn-category { display: block; text-align: center; padding: 15px 10px; font-size: 16px; }
  .gn-category-media { height: 100px; width: 100%; margin-bottom: 13px; }
  .gn-story-image img { height: 290px; }
  .gn-footer-grid { grid-template-columns: 1fr; gap: 27px; }
  .gn-footer-base span { display: block; margin-bottom: 12px; }
  .gn-catalogue-layout { grid-template-columns: 1fr; }
  .gn-sidebar { padding: 18px; }
  .gn-sidebar h2 { margin: 0px 0px 14px; }
  .gn-sidebar details { padding: 13px 0px; }
  .gn-products ul.products, ul.products { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px 12px; }
  ul.products li.product { padding: 12px; }
  ul.products h2.woocommerce-loop-product__title { font-size: 16px; line-height: 1.5; min-height: 48px; }
  ul.products .price { font-size: 21px; gap: 4px; }
  ul.products .button { font-size: 16px; padding: 11px 5px; }
  .gn-product-stock { font-size: 14px; padding-left: 7px; }
  .single-product div.product .summary { width: 100%; }
  .woocommerce-product-gallery img { height: 300px; }
  .flex-control-thumbs img { height: 75px; }
  .single-product div.product .woocommerce-product-gallery { padding: 15px; }
  .product_title { font-size: 30px; line-height: 1.3; }
  .summary .price { font-size: 30px; }
  .woocommerce-tabs .tabs { font-size: 17px; }
  .gn-checkout-heading { display: block; }
  .gn-checkout-heading h1 { font-size: 34px; margin-bottom: 12px; }
  .gn-purchase-progress { gap: 12px; justify-content: space-between; font-size: 14px; }
  .gn-purchase-progress li { gap: 6px; }
  .gn-purchase-progress span { width: 24px; height: 24px; font-size: 13px; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { float: none; width: 100%; padding: 22px 18px; }
  .woocommerce-checkout #order_review_heading { margin-top: 28px; font-size: 24px; }
  .woocommerce-checkout h3 { font-size: 25px; }
  .woocommerce-checkout .shop_table thead { display: table-header-group; }
  .woocommerce-checkout .shop_table tr { display: table-row; padding: 0px; }
  .woocommerce-checkout .shop_table th, .woocommerce-checkout .shop_table td { display: table-cell; padding: 16px 0px; text-align: left; border-bottom: 1px solid var(--gn-border); }
  .woocommerce-checkout .shop_table th + td, .woocommerce-checkout .shop_table td + td { padding-left: 12px; }
  .woocommerce-checkout .shop_table td::before { display: none; }
  .woocommerce-checkout .shop_table .product-total { text-align: right; }
  .woocommerce-cart-form { padding: 18px; }
  .shop_table .coupon { grid-template-columns: 1fr; gap: 12px; }
  .cart_totals { padding: 20px; }
  .woocommerce-ordering select { font-size: 17px; }
}
  .gn-logo img { object-fit: contain; width: 86px; height: 86px; max-height: 86px; }
  .woocommerce-product-gallery img { object-fit: contain !important; }
  @media (max-width: 767px) {
  .gn-logo img { width: 69px; height: 69px; max-height: 69px; }
}
}

/* base-design.css */
@layer base, layout, components, responsive;
@layer base {
  :root { --green: #294d36; --green-dark: #203f2d; --ink: #24382c; --muted: #647066; --cream: #f8f7f2; --sage: #e8ecdf; --line: #e2e5dc; --font: Arial,Helvetica,sans-serif; --serif: Georgia,'Times New Roman',serif; }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0px; color: var(--ink); background: rgb(255, 255, 255); font-family: var(--font); font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
  a { color: inherit; text-decoration: none; }
  button, input, select { font: inherit; }
  button, a, input, select, summary { -webkit-tap-highlight-color: transparent; }
  button { color: inherit; cursor: pointer; }
  button:disabled { cursor: not-allowed; opacity: 0.48; }
  button, input, select { border-radius: 0px; }
  button { background: none; border: 0px; }
  img { max-width: 100%; display: block; }
  h1, h2, h3, p { margin: 0px; }
  h1, h2, h3 { font-weight: 400; }
  h1, h2 { font-family: var(--serif); letter-spacing: -1.8px; line-height: 1.12; }
  h1 { font-size: clamp(42px, 4.6vw, 68px); }
  h2 { font-size: clamp(32px, 3vw, 43px); }
  h3 { line-height: 1.35; }
  p { color: var(--muted); }
  p + p { margin-top: 16px; }
  h1 + p, h2 + p { margin-top: 22px; }
  em { font-weight: 400; }
  ::selection { background: rgb(212, 224, 185); color: rgb(32, 63, 45); }
  :focus-visible { outline: rgb(139, 108, 39) solid 3px; outline-offset: 5px; }
  input:focus-visible, select:focus-visible { outline-offset: 2px; }
  input:not([type="checkbox"]):not([type="radio"]), select { min-height: 46px; border: 1px solid rgb(189, 200, 188); background: rgb(255, 255, 255); padding: 10px 13px; color: var(--ink); max-width: 100%; }
  input[type="checkbox"], input[type="radio"] { accent-color: var(--green); width: 18px; height: 18px; flex-shrink: 0; }
  input[aria-invalid="true"] { border-color: rgb(161, 57, 43); }
  fieldset { border: 0px; padding: 0px; margin: 0px 0px 38px; }
  legend { font-size: 21px; font-weight: 600; margin-bottom: 25px; }
  .icon { height: 22px; width: 22px; flex-shrink: 0; vertical-align: middle; }
  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
  [hidden] { display: none !important; }
  #main:focus { outline: none; }
  .skip-link { position: fixed; top: -70px; left: 20px; z-index: 100; background: var(--green); color: white; padding: 12px 20px; }
  .skip-link:focus { top: 15px; }
}
@layer layout {
  .shell { width: min(1320px, 100% - 96px); margin-inline: auto; }
  .section { padding-block: 72px; }
  .page-section { padding-top: 28px; padding-bottom: 90px; }
  .narrow { max-width: 830px; padding-top: 66px; min-height: 58vh; }
  .narrow h1 { margin: 15px 0px 30px; }
  .narrow h2 { font-size: 30px; margin-top: 35px; }
  .narrow p { font-size: 17px; }
  .narrow .button { margin-top: 28px; }
  .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 35px; }
  .section-heading h2 { margin-top: 12px; }
  .page-heading { margin: 36px 0px 43px; }
  .page-heading h1 { margin-top: 12px; }
  .page-heading > p:last-child { max-width: 650px; font-size: 17px; }
  .eyebrow { font-size: 10px; letter-spacing: 2px; font-weight: 600; text-transform: uppercase; color: var(--green); line-height: 1.5; }
  .text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; min-height: 44px; }
  .text-link .icon { width: 18px; transition: transform 0.2s; }
  .text-link:hover .icon { transform: translateX(4px); }
  .button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 51px; background: var(--green); color: rgb(255, 255, 255); padding: 14px 23px; font-size: 13px; font-weight: 600; border: 1px solid var(--green); transition: background 0.2s, transform 0.2s; }
  .button:hover { background: rgb(24, 56, 34); transform: translateY(-2px); }
  .button:disabled:hover { transform: none; }
  .button .icon { width: 18px; height: 18px; }
  .button-quiet { background: transparent; color: var(--green); border-color: transparent; padding-inline: 14px; }
  .button-quiet:hover { background: rgb(230, 234, 219); }
  .button-outline { background: transparent; color: var(--green); }
  .button-outline:hover { background: var(--sage); }
  .button-light { color: var(--green); background: rgb(250, 250, 244); border-color: rgb(250, 250, 244); }
  .button-light:hover { background: rgb(230, 235, 220); }
  .lead { font-size: 16px; line-height: 1.6; }
  .sample-note { font-size: 11px; line-height: 1.65; color: rgb(100, 110, 101); }
  .status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 100%; background: currentcolor; margin-right: 5px; }
}
@layer components {
  .preview-bar { min-height: 27px; display: flex; justify-content: center; align-items: center; gap: 22px; background: rgb(234, 240, 230); color: rgb(64, 90, 66); font-size: 9px; letter-spacing: 0.6px; }
  .preview-bar > span:first-child { font-weight: 700; }
  .announcement { text-align: center; background: var(--green); color: rgb(255, 255, 255); font-size: 11px; letter-spacing: 0.45px; padding: 9px 16px; }
  .announcement span { opacity: 0.7; margin-left: 6px; }
  .site-header { background: rgb(255, 255, 255); border-bottom: 1px solid var(--line); }
  .header-main { display: flex; align-items: center; justify-content: space-between; gap: 45px; padding-block: 23px; }
  .logo { width: 173px; flex-shrink: 0; }
  .logo img { width: 173px; height: 58px; object-fit: contain; }
  .search-form { display: flex; align-items: center; background: rgb(245, 246, 241); width: min(470px, 44%); border: 1px solid rgb(233, 236, 227); }
  .search-form input { min-width: 0px; flex: 1 1 0%; height: 45px; font-size: 12px; background: transparent !important; border: 0px !important; padding-left: 17px !important; }
  .search-form button { padding: 11px 17px; }
  .search-form .icon { width: 19px; }
  .header-actions { display: flex; gap: 24px; align-items: center; }
  .icon-link { display: flex; gap: 10px; align-items: center; font-size: 12px; min-height: 44px; }
  .bag-link { position: relative; padding-right: 18px; }
  .bag-count { position: absolute; top: 2px; right: 0px; background: var(--green); color: white; border-radius: 100%; width: 18px; height: 18px; display: grid; place-items: center; font-size: 9px; }
  .navigation { display: flex; justify-content: space-between; align-items: center; min-height: 55px; border-top: 1px solid var(--line); }
  .nav-links { display: flex; align-items: center; gap: 35px; }
  .nav-links a, .book-nav { font-size: 12px; padding: 16px 0px; position: relative; }
  .nav-links a[aria-current="page"]::after, .nav-links a:hover::after { content: ""; position: absolute; bottom: 9px; left: 0px; right: 0px; height: 1px; background: var(--green); }
  .book-nav { display: flex; gap: 10px; align-items: center; }
  .book-nav .icon { width: 17px; }
  .mobile-menu { display: none; }
  .hero { display: grid; grid-template-columns: 1.03fr 1fr; min-height: 546px; margin-top: 30px; margin-bottom: 30px; background: var(--cream); }
  .hero-copy { padding: 58px 20px 50px 52px; align-self: center; }
  .hero-copy .eyebrow { display: flex; align-items: center; gap: 8px; }
  .tiny-leaf .icon { width: 18px; height: 18px; }
  .hero h1 { font-size: clamp(46px, 4.65vw, 68px); line-height: 1.1; letter-spacing: -2.8px; margin-top: 24px; }
  .hero h1 em { color: rgb(98, 126, 76); }
  .hero-description { max-width: 360px; font-size: 14px; margin-top: 25px; line-height: 1.8; }
  .hero-actions { display: flex; gap: 10px; margin-top: 29px; align-items: center; }
  .hero-footnote { display: flex; gap: 12px; align-items: center; font-size: 10px; color: rgb(83, 97, 78); letter-spacing: 0.2px; margin-top: 37px; }
  .short-line { height: 1px; width: 24px; background: rgb(126, 140, 113); }
  .hero-display { position: relative; background: rgb(237, 240, 228); isolation: isolate; overflow: hidden; min-width: 0px; }
  .hero-circle { width: 470px; height: 470px; background: rgb(221, 229, 207); border-radius: 50%; position: absolute; top: 36px; left: 30px; z-index: -1; }
  .hero-caption { font-size: 9px; letter-spacing: 2px; position: absolute; top: 32px; left: 33px; color: rgb(90, 109, 78); }
  .hero-mill { position: absolute; object-fit: contain; height: 370px; width: 66%; left: 23%; top: 68px; mix-blend-mode: multiply; transform: rotate(-5deg); }
  .hero-book { position: absolute; height: 238px; width: 160px; object-fit: contain; left: 7%; bottom: 81px; mix-blend-mode: multiply; transform: rotate(-10deg); filter: drop-shadow(rgba(45, 58, 33, 0.125) 8px 12px 8px); }
  .hero-note { position: absolute; bottom: 28px; left: 32px; right: 42px; display: flex; align-items: center; font-size: 12px; line-height: 1.5; border-top: 1px solid rgb(198, 207, 186); padding-top: 16px; gap: 16px; }
  .hero-note .note-number { font-size: 11px; color: rgb(82, 100, 67); }
  .hero-note a { margin-left: auto; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgb(187, 201, 173); border-radius: 50%; }
  .hero-note .icon { width: 18px; }
  .vertical-note { position: absolute; right: 18px; top: 48%; writing-mode: vertical-rl; letter-spacing: 2.5px; font-size: 8px; color: rgb(82, 100, 67); }
  .promise-strip { border-block: 1px solid var(--line); }
  .promise-strip > .shell { display: flex; justify-content: space-between; gap: 16px; padding-block: 23px; font-size: 11px; }
  .promise-strip span, .promise-strip a { display: flex; align-items: center; gap: 10px; }
  .promise-strip .icon { color: rgb(119, 137, 91); width: 20px; }
  .category-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 24px; }
  .category-card > div { height: 204px; background: rgb(244, 244, 237); overflow: hidden; }
  .category-card img { width: 100%; height: 100%; object-fit: contain; padding: 20px; mix-blend-mode: multiply; transition: transform 0.35s; }
  .category-card:hover img { transform: scale(1.04); }
  .category-card:nth-child(2) > div { background: rgb(238, 240, 232); }
  .category-card:nth-child(3) > div { background: rgb(244, 238, 231); }
  .category-card:nth-child(4) > div { background: rgb(233, 238, 223); }
  .category-card h3 { font-size: 16px; font-weight: 500; display: flex; justify-content: space-between; align-items: center; margin-top: 17px; gap: 6px; }
  .category-card h3 .icon { width: 19px; }
  .category-card p { font-size: 11px; margin-top: 5px; }
  .featured-section { padding-top: 14px; }
  .product-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 25px; }
  .product-image { position: relative; background: rgb(247, 247, 243); aspect-ratio: 1 / 1.06; }
  .product-image > a { display: block; width: 100%; height: 100%; }
  .product-image img { width: 100%; height: 100%; object-fit: contain; padding: 28px; mix-blend-mode: multiply; transition: transform 0.3s; }
  .product-image a:hover img { transform: scale(1.04); }
  .save-button { position: absolute; right: 10px; top: 10px; width: 38px; height: 38px; border-radius: 100%; background: rgb(255, 255, 255); display: grid; place-items: center; }
  .save-button .icon { width: 17px; height: 17px; }
  .save-button.saved .icon { fill: rgb(217, 231, 213); }
  .product-meta { padding-top: 19px; }
  .product-meta .eyebrow { font-size: 8px; letter-spacing: 1.4px; color: rgb(111, 121, 95); }
  .product-meta h3 { font-size: 14px; line-height: 1.55; margin-top: 7px; min-height: 43px; }
  .price-row { display: flex; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 600; margin-top: 11px; }
  .add-button { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgb(216, 223, 210); }
  .add-button .icon { width: 17px; }
  .add-button:hover { background: var(--sage); }
  .stock-tag { position: absolute; bottom: 12px; left: 12px; background: rgb(255, 255, 255); padding: 4px 9px; font-size: 9px; color: rgb(108, 85, 75); }
  .story-section { display: grid; grid-template-columns: 1fr 1fr; margin-block: 20px 5px; background: var(--cream); }
  .story-image { position: relative; min-height: 440px; }
  .story-image img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
  .story-image > span { position: absolute; bottom: 25px; left: 25px; background: rgba(255, 255, 255, 0.94); padding: 10px 14px; font-size: 8px; letter-spacing: 1.8px; }
  .story-copy { padding: 55px 62px; align-self: center; }
  .story-copy h2 { margin-top: 15px; font-size: 42px; }
  .story-copy p:not(.eyebrow) { font-size: 13px; line-height: 1.9; margin-top: 22px; }
  .story-copy .button { margin-top: 27px; }
  .learning-grid { display: grid; grid-template-columns: 1.18fr 1fr; gap: 25px; }
  .learning-card { background: rgb(237, 240, 227); padding: 39px 40px; min-height: 294px; overflow: hidden; }
  .learning-card h3 { font: 34px/1.2 var(--serif); letter-spacing: -0.8px; margin-top: 18px; }
  .learning-card .text-link { margin-top: 28px; }
  .learning-book { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
  .learning-book img { width: 142px; height: 240px; object-fit: contain; mix-blend-mode: multiply; transform: rotate(6deg); }
  .learning-guide { background: rgb(244, 240, 232); }
  .learning-guide > p:not(.eyebrow) { font-size: 12px; margin-top: 15px; }
  .learning-guide .text-link { margin-top: 16px; }
  .visit-banner { background: var(--green); color: rgb(255, 255, 255); padding: 48px 0px; }
  .visit-banner > .shell { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
  .visit-banner .eyebrow { color: rgb(205, 218, 188); }
  .visit-banner h2 { margin-top: 10px; font-size: 38px; }
  .visit-banner p:not(.eyebrow) { color: rgb(208, 217, 202); margin-top: 13px; font-size: 12px; }
  footer { padding-top: 62px; background: rgb(250, 250, 246); }
  .footer-grid { display: grid; grid-template-columns: 1.5fr 0.8fr 1fr 1.2fr; gap: 65px; padding-bottom: 50px; }
  .footer-brand > img { width: 142px; height: 52px; object-fit: contain; mix-blend-mode: multiply; }
  .footer-brand p { margin-top: 20px; max-width: 270px; font-size: 12px; }
  .footer-grid h2 { font: 600 12px var(--font); letter-spacing: 0px; margin-bottom: 23px; }
  .footer-grid > div > a { display: block; font-size: 11px; margin-top: 11px; min-height: 24px; }
  .footer-grid > div > a.text-link { display: flex; font-size: 11px; margin-top: 15px; }
  .footer-grid p { font-size: 11px; line-height: 1.9; }
  .footer-bottom { border-top: 1px solid var(--line); padding-block: 20px; display: flex; justify-content: space-between; gap: 15px; font-size: 9px; color: rgb(101, 113, 95); }
  .breadcrumbs { display: flex; gap: 12px; font-size: 10px; color: rgb(113, 121, 109); flex-wrap: wrap; }
  .breadcrumbs > a:hover { text-decoration: underline; }
  .breadcrumbs > span:last-child { color: var(--green); }
  .catalogue-layout { display: grid; grid-template-columns: 200px minmax(0px, 1fr); gap: 38px; }
  .catalogue-sidebar { padding-right: 10px; }
  .catalogue-sidebar h2 { font: 600 13px var(--font); letter-spacing: 0px; margin-bottom: 22px; }
  .catalogue-sidebar > a { display: flex; align-items: center; justify-content: space-between; padding: 9px 0px; font-size: 11px; border-bottom: 1px solid rgb(239, 240, 234); gap: 8px; min-height: 37px; }
  .catalogue-sidebar > a.active { font-weight: bold; color: rgb(41, 77, 54); }
  .catalogue-sidebar > a .icon { width: 14px; height: 14px; }
  .catalogue-sidebar > .compare-link { margin-top: 25px; justify-content: flex-start; font-weight: 600; }
  .catalogue-main > .sample-note { padding: 12px 0px 22px; }
  .catalogue-main .product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); row-gap: 34px; }
  .filter-bar { display: flex; align-items: center; gap: 20px; border-block: 1px solid var(--line); padding-block: 11px; font-size: 11px; }
  .filter-bar > span { margin-right: auto; }
  .stock-filter { display: flex; align-items: center; gap: 7px; }
  .sort-label select { font-size: 11px; min-height: 38px; }
  .empty-state { text-align: center; background: var(--cream); padding: 65px 25px; }
  .empty-state > .icon { width: 35px; height: 35px; margin-bottom: 20px; }
  .empty-state h2 { font-size: 31px; }
  .empty-state p { font-size: 13px; margin-block: 15px 25px; }
  .product-detail { display: grid; grid-template-columns: 1.08fr 1fr; gap: 65px; margin-top: 32px; }
  .product-gallery { background: rgb(247, 247, 242); align-self: start; aspect-ratio: 1 / 1; }
  .product-gallery > img { height: 100%; width: 100%; padding: 60px; object-fit: contain; mix-blend-mode: multiply; }
  .product-detail-copy { padding: 8px 0px; }
  .product-detail h1 { font-size: 42px; margin-top: 16px; }
  .detail-price { font-size: 26px; color: var(--green); margin-top: 22px; }
  .availability { display: flex; align-items: center; font-size: 11px; color: rgb(77, 108, 56); margin-top: 9px; }
  .availability.unavailable { color: rgb(138, 79, 54); }
  .detail-description { font-size: 14px; line-height: 1.9; margin-top: 24px; }
  .add-to-cart-form { margin-top: 25px; }
  .add-to-cart-form > label { font-size: 12px; display: block; margin-bottom: 8px; }
  .purchase-row { display: flex; gap: 12px; }
  .purchase-row input { width: 76px; text-align: center; }
  .purchase-row .button { flex: 1 1 0%; }
  .product-tools { display: flex; gap: 23px; margin-top: 18px; }
  .product-tools button { display: flex; align-items: center; gap: 8px; font-size: 11px; min-height: 44px; padding: 0px; }
  .product-tools .icon { width: 17px; }
  .product-detail-copy > .sample-note { margin: 14px 0px 25px; }
  details { border-top: 1px solid var(--line); padding: 15px 0px; }
  summary { cursor: pointer; font-size: 12px; font-weight: 600; }
  details p { font-size: 12px; margin-top: 15px; }
  dl { margin: 15px 0px 0px; font-size: 12px; }
  dl > div { display: flex; justify-content: space-between; gap: 18px; padding: 7px 0px; }
  dt { color: var(--muted); }
  dd { margin: 0px; text-align: right; overflow-wrap: anywhere; }
  .related-heading { margin-top: 75px; }
  .cart-layout, .checkout-layout { display: grid; grid-template-columns: minmax(0px, 1.7fr) minmax(280px, 1fr); gap: 50px; }
  .cart-row { display: grid; grid-template-columns: 95px minmax(100px, 1fr) 66px 95px; gap: 22px; align-items: center; padding: 24px 0px; border-bottom: 1px solid var(--line); }
  .cart-row img { background: var(--cream); object-fit: contain; aspect-ratio: 1 / 1; padding: 10px; }
  .cart-row h2 { font: 500 14px/1.5 var(--font); letter-spacing: 0px; margin-top: 8px; }
  .cart-row .eyebrow { font-size: 8px; }
  .cart-row p, .cart-row strong { font-size: 12px; margin-top: 8px; }
  .cart-row input { width: 66px; padding-inline: 8px !important; }
  .remove-button { font-size: 10px; text-decoration: underline; padding: 6px 0px; color: var(--muted); min-height: 30px; }
  .cart-row strong { text-align: right; }
  .cart-disclaimer { margin-top: 25px; }
  .order-summary { background: var(--cream); padding: 29px; align-self: start; }
  .order-summary h2 { font-size: 30px; margin-top: 10px; }
  .summary-line { display: flex; justify-content: space-between; gap: 15px; font-size: 12px; margin-top: 23px; }
  .summary-line + .summary-line { margin-top: 15px; }
  .order-summary > .sample-note { margin-top: 25px; padding-top: 16px; border-top: 1px solid var(--line); }
  .order-summary .button { width: 100%; margin-top: 25px; font-size: 12px; padding-inline: 12px; }
  .continue-link { display: flex; justify-content: center; font-size: 11px; margin-top: 10px; }
  .summary-product { font-size: 11px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding: 19px 0px; }
  .summary-product strong { white-space: nowrap; }
  .summary-product small { white-space: nowrap; }
  .preview-notice { display: flex; gap: 15px; background: rgb(237, 242, 232); padding: 17px 22px; margin-bottom: 35px; }
  .preview-notice p { font-size: 12px; }
  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .form-grid label { font-size: 12px; display: flex; flex-direction: column; gap: 6px; }
  .form-grid label > span { font-size: 10px; color: var(--muted); }
  .form-grid .full { grid-column: 1 / -1; }
  .form-grid input { width: 100%; }
  .field-error { color: rgb(153, 51, 35); font-size: 11px; line-height: 1.4; }
  .field-error:empty { display: none; }
  .sample-fill { margin-top: 15px; font-size: 11px; padding: 0px; }
  legend > span { font: 12px var(--font); display: inline-grid; place-items: center; border: 1px solid rgb(188, 202, 179); border-radius: 50%; width: 28px; height: 28px; margin-right: 10px; }
  fieldset > p { font-size: 13px; margin-bottom: 20px; }
  .radio-card { display: flex; align-items: center; gap: 13px; border: 1px solid var(--line); padding: 17px; font-size: 11px; margin-bottom: 12px; cursor: pointer; }
  .radio-card:has(:checked) { border-color: var(--green); background: rgb(248, 250, 245); }
  .radio-card strong { display: block; font-size: 12px; font-weight: 500; }
  .radio-card small { display: block; margin-top: 4px; color: var(--muted); }
  .radio-card > span:last-child { margin-left: auto; font-size: 10px; }
  .radio-card input { margin: 0px; }
  #delivery-fields { margin-top: 24px; }
  #checkout-errors { color: rgb(153, 51, 35); font-size: 12px; margin-bottom: 15px; }
  .confirmation { padding: 60px 40px; text-align: center; background: var(--cream); max-width: 850px; margin: auto; }
  .confirmation-icon { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--sage); margin-bottom: 25px; }
  .confirmation h2 { margin: 15px 0px 25px; }
  .confirmation p { font-size: 14px; }
  .confirmation .button { margin-top: 28px; }
  .resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 24px; }
  .resource-card { background: var(--cream); padding: 34px; display: flex; flex-direction: column; align-items: start; }
  .resource-card > .icon { height: 30px; width: 30px; margin-bottom: 27px; }
  .resource-card h2 { font-size: 29px; letter-spacing: -0.7px; }
  .resource-card p { font-size: 13px; margin-block: 17px 20px; }
  .resource-card .text-link { margin-top: auto; }
  .editorial-split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-top: 45px; align-items: center; }
  .editorial-split h1 { font-size: 55px; margin-top: 20px; }
  .editorial-split p:not(.eyebrow) { font-size: 14px; margin-top: 22px; }
  .editorial-split .button { margin-top: 27px; }
  .editorial-photo { width: 100%; height: 470px; object-fit: cover; }
  .editorial-note { background: var(--cream); padding: 42px; margin-top: 50px; max-width: 850px; }
  .editorial-note h2 { font-size: 32px; }
  .editorial-note p { font-size: 14px; max-width: 690px; }
  .editorial-note .text-link, .editorial-note .button { margin-top: 22px; }
  .book-showcase { background: var(--sage); padding: 40px; display: flex; justify-content: center; }
  .book-showcase img { height: 480px; object-fit: contain; mix-blend-mode: multiply; transform: rotate(5deg); }
  .language-link { margin-top: 20px; display: flex; font-size: 11px; }
  .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
  .contact-card { padding: 45px; background: var(--cream); }
  .contact-card h2 { font-size: 35px; margin-top: 14px; }
  .contact-card h3 { margin-top: 32px; font-size: 16px; }
  .contact-card p { font-size: 14px; }
  .contact-card .sample-note { font-size: 11px; margin-top: 22px; }
  .green-card { color: white; background: var(--green); }
  .green-card .eyebrow, .green-card p { color: rgb(212, 223, 203); }
  .contact-action { font-size: 21px; border-bottom: 1px solid rgba(255, 255, 255, 0.25); padding: 22px 0px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
  .contact-action:first-of-type { margin-top: 20px; }
  .green-card > p:last-child { margin-top: 25px; font-size: 12px; }
  .compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 25px; }
  .compare-card { background: var(--cream); padding: 28px; }
  .compare-card > img { height: 240px; width: 100%; object-fit: contain; mix-blend-mode: multiply; }
  .compare-card h2 { font-size: 25px; letter-spacing: -0.6px; margin-top: 20px; }
  .compare-card .text-link { font-size: 11px; margin-top: 20px; }
  .account-links { display: flex; gap: 15px; margin-top: 25px; }
  #toast { position: fixed; z-index: 30; bottom: 24px; left: 50%; transform: translate(-50%, 30px); background: var(--green-dark); color: white; box-shadow: rgba(20, 36, 30, 0.19) 0px 6px 30px; font-size: 12px; max-width: min(520px, 100% - 32px); width: max-content; padding: 15px 23px; opacity: 0; pointer-events: none; transition: opacity 0.2s, transform 0.2s; }
  #toast.visible { opacity: 1; transform: translate(-50%, 0px); }
}
@layer responsive {
  @media (min-width: 1500px) {
  .hero { min-height: 570px; }
  .hero-copy { padding-left: 64px; }
  .hero-mill { height: 395px; }
  .hero-book { height: 255px; width: 173px; bottom: 85px; }
  .hero-circle { height: 520px; width: 520px; left: 40px; }
}
  @media (max-width: 1100px) {
  .shell { width: calc(100% - 60px); }
  .header-main { gap: 25px; }
  .header-actions { gap: 17px; }
  .nav-links { gap: 23px; }
  .book-nav { font-size: 10px; }
  .hero { min-height: 488px; }
  .hero-copy { padding: 35px 20px 35px 34px; }
  .hero h1 { font-size: 51px; }
  .hero-display { min-height: 488px; }
  .hero-circle { width: 360px; height: 360px; top: 65px; left: 5px; }
  .hero-mill { height: 320px; width: 73%; left: 20%; top: 85px; }
  .hero-book { height: 202px; width: 132px; left: 5%; bottom: 95px; }
  .hero-caption { font-size: 8px; letter-spacing: 1.5px; left: 25px; }
  .hero-note { left: 24px; right: 24px; }
  .hero-footnote { font-size: 9px; }
  .promise-strip > .shell { font-size: 9px; gap: 12px; }
  .category-grid, .product-grid { gap: 19px; }
  .category-card > div { height: 180px; }
  .story-copy { padding: 35px; }
  .story-copy h2 { font-size: 36px; }
  .learning-card { padding: 28px; }
  .learning-card h3 { font-size: 29px; }
  .learning-book img { width: 120px; height: 215px; }
  .footer-grid { gap: 30px; }
  .catalogue-layout { grid-template-columns: 160px minmax(0px, 1fr); gap: 25px; }
  .product-detail { gap: 40px; }
  .product-detail h1 { font-size: 36px; }
  .product-gallery > img { padding: 35px; }
  .cart-layout, .checkout-layout { gap: 25px; grid-template-columns: minmax(0px, 1.3fr) minmax(260px, 1fr); }
  .cart-row { grid-template-columns: 65px minmax(100px, 1fr) 54px; gap: 14px; }
  .cart-row > strong { grid-column: 2 / 4; text-align: right; margin-top: -8px; }
  .cart-row input { width: 54px; }
  .editorial-split { gap: 40px; }
  .editorial-split h1 { font-size: 45px; }
  .contact-card { padding: 30px; }
  .email-action { font-size: 17px; }
}
  @media (max-width: 800px) {
  .shell { width: calc(100% - 40px); }
  .header-main { flex-wrap: wrap; padding-block: 16px; gap: 14px; }
  .logo, .logo img { width: 144px; height: 51px; }
  .header-actions { margin-left: auto; }
  .account-link span { display: none; }
  .search-form { order: 3; width: 100%; max-width: none; }
  .navigation { gap: 15px; }
  .nav-links { gap: 24px; justify-content: space-between; width: 100%; flex-wrap: wrap; }
  .nav-links a { font-size: 11px; }
  .book-nav { display: none; }
  .hero { margin-top: 20px; grid-template-columns: 1fr 1fr; min-height: 445px; }
  .hero-copy { padding: 28px 18px 30px 24px; }
  .hero h1 { font-size: 43px; letter-spacing: -1.8px; }
  .hero-description { font-size: 12px; }
  .hero-copy .eyebrow { font-size: 8px; letter-spacing: 1.4px; }
  .hero-actions { gap: 0px; flex-wrap: wrap; margin-top: 19px; }
  .hero-actions .button { font-size: 11px; padding: 11px 16px; min-height: 46px; }
  .hero-footnote { margin-top: 22px; font-size: 8px; gap: 7px; }
  .hero-display { min-height: 445px; }
  .hero-mill { height: 282px; width: 85%; left: 12%; top: 95px; }
  .hero-book { height: 169px; left: 2%; width: 120px; bottom: 86px; }
  .hero-circle { height: 340px; width: 340px; left: 0px; top: 75px; }
  .hero-caption { font-size: 7px; letter-spacing: 1px; left: 17px; }
  .vertical-note { display: none; }
  .hero-note { left: 17px; right: 17px; font-size: 10px; gap: 10px; bottom: 21px; }
  .hero-note a { width: 27px; height: 27px; }
  .promise-strip > .shell { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 20px; padding-block: 20px; font-size: 10px; }
  .section { padding-block: 48px; }
  .section-heading { margin-bottom: 25px; gap: 20px; }
  .section-heading h2 { font-size: 33px; }
  .section-heading > .text-link { font-size: 10px; max-width: 160px; }
  .category-grid { gap: 15px; }
  .category-card > div { height: 145px; }
  .category-card h3 { font-size: 13px; }
  .category-card p { font-size: 10px; }
  .category-card img { padding: 15px; }
  .product-grid { gap: 17px; }
  .product-meta h3 { font-size: 12px; }
  .product-image img { padding: 20px; }
  .product-meta .eyebrow { font-size: 7px; }
  .price-row { font-size: 12px; }
  .save-button { width: 30px; height: 30px; right: 8px; top: 8px; }
  .featured-section { padding-top: 0px; }
  .story-section { width: 100%; margin-top: 15px; }
  .story-image { min-height: 405px; }
  .story-copy { padding: 32px; }
  .story-copy h2 { font-size: 31px; }
  .story-copy p:not(.eyebrow) { font-size: 12px; }
  .learning-card { padding: 25px; min-height: 255px; }
  .learning-card h3 { font-size: 28px; }
  .learning-book img { width: 105px; height: 188px; }
  .learning-card .eyebrow { font-size: 8px; }
  .learning-card .text-link { font-size: 10px; }
  .learning-grid { gap: 17px; }
  .visit-banner h2 { font-size: 32px; }
  .footer-grid { grid-template-columns: 1.2fr 1fr; gap: 32px 65px; }
  .footer-grid p, .footer-grid > div > a { font-size: 12px; }
  .footer-bottom { flex-wrap: wrap; font-size: 9px; }
  .page-section { padding-top: 23px; }
  .page-heading h1 { font-size: 45px; }
  .catalogue-layout { grid-template-columns: 1fr; }
  .catalogue-sidebar { padding: 0px 0px 9px; display: flex; gap: 7px; overflow: auto; margin-bottom: 0px; align-items: center; }
  .catalogue-sidebar h2 { display: none; }
  .catalogue-sidebar > a { flex-shrink: 0; border: 1px solid var(--line); padding: 7px 12px; font-size: 10px; gap: 8px; }
  .catalogue-sidebar > a.active { background: var(--sage); }
  .catalogue-sidebar > a > .icon { display: none; }
  .catalogue-sidebar > .compare-link { margin: 0px; }
  .catalogue-main .product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .product-detail { gap: 28px; }
  .product-detail h1 { font-size: 31px; }
  .detail-price { font-size: 23px; }
  .product-gallery > img { padding: 22px; }
  .product-tools { gap: 10px; }
  .product-tools button { font-size: 10px; }
  .purchase-row .button { font-size: 11px; padding: 12px; gap: 12px; }
  .product-detail-copy > p.detail-description { font-size: 12px; }
  .cart-layout, .checkout-layout { grid-template-columns: 1fr; }
  .cart-row { grid-template-columns: 85px minmax(100px, 1fr) 66px 90px; }
  .cart-row > strong { grid-column: auto; margin-top: 0px; }
  .order-summary { max-width: 100%; }
  .checkout-layout .order-summary { order: -1; }
  .summary-product { padding: 10px 0px; }
  .order-summary .sample-note { margin-top: 15px; }
  .resource-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .resource-card { padding: 27px; }
  .editorial-split { gap: 30px; }
  .editorial-split h1 { font-size: 37px; }
  .editorial-photo { height: 430px; }
  .contact-grid { gap: 18px; }
  .contact-card { padding: 28px; }
  .contact-card h2 { font-size: 29px; }
  .contact-action { font-size: 17px; }
  .email-action { font-size: 13px; }
  .contact-card p { font-size: 12px; }
  .compare-card { padding: 18px; }
  .compare-card > img { height: 160px; }
  .compare-card h2 { font-size: 21px; }
  .compare-card dl > div { flex-direction: column; gap: 2px; }
  .compare-card dd { text-align: left; }
  .compare-card .detail-price { font-size: 20px; }
}
  @media (max-width: 600px) {
  .shell { width: calc(100% - 36px); }
  .preview-bar { font-size: 7px; gap: 10px; min-height: 25px; letter-spacing: 0.1px; }
  .preview-bar > span:last-child { font-size: 7px; }
  .announcement { font-size: 9px; padding-block: 7px; }
  .announcement span { margin-left: 3px; }
  .header-main { gap: 9px; padding-block: 12px; }
  .logo, .logo img { width: 133px; height: 45px; }
  .header-actions { gap: 17px; }
  .header-actions .icon { width: 20px; height: 20px; }
  .saved-link { display: none; }
  .bag-link { padding-right: 14px; }
  .mobile-menu { display: grid; place-items: center; width: 27px; min-height: 44px; padding: 0px; }
  .search-form { margin-top: 7px; }
  .search-form input { font-size: 11px; height: 41px; min-height: 41px !important; }
  .search-form button { padding: 8px 14px; }
  .navigation { display: none; width: 100%; padding-inline: 20px; }
  .navigation.is-open { display: block; }
  .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0px 25px; padding-block: 6px; }
  .nav-links a { padding: 13px 0px; font-size: 12px; }
  .hero { grid-template-columns: 1fr; margin-block: 16px 20px; }
  .hero-copy { padding: 34px 25px 29px; }
  .hero-copy .eyebrow { font-size: 8px; letter-spacing: 1.7px; }
  .hero h1 { font-size: 48px; line-height: 1.06; margin-top: 21px; letter-spacing: -2px; }
  .hero-description { font-size: 13px; max-width: 320px; margin-top: 22px; }
  .hero-actions { margin-top: 22px; gap: 5px; }
  .hero-actions .button { padding: 12px 18px; min-height: 48px; font-size: 11px; }
  .hero-footnote { margin-top: 24px; font-size: 9px; }
  .hero-display { min-height: 340px; }
  .hero-circle { width: 320px; height: 320px; top: 16px; left: calc(50% - 160px); }
  .hero-caption { top: 21px; left: 22px; font-size: 7px; }
  .hero-mill { height: 255px; width: 60%; top: 29px; left: 33%; }
  .hero-book { height: 185px; width: 125px; left: 12%; bottom: 68px; }
  .hero-note { left: 22px; right: 22px; bottom: 17px; padding-top: 12px; font-size: 10px; }
  .hero-note .note-number { font-size: 9px; }
  .hero-note > span:nth-child(2) > br { display: none; }
  .promise-strip > .shell { font-size: 9px; gap: 15px 12px; }
  .promise-strip .icon { width: 17px; height: 17px; }
  .promise-strip span, .promise-strip a { gap: 7px; }
  .section { padding-block: 42px; }
  .section-heading { align-items: start; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
  .section-heading h2 { font-size: 32px; margin-top: 11px; }
  .eyebrow { font-size: 8px; letter-spacing: 1.8px; }
  .section-heading > .text-link { max-width: none; font-size: 11px; min-height: 33px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px 16px; }
  .category-card > div { height: 170px; }
  .category-card h3 { font-size: 13px; margin-top: 13px; }
  .category-card p { font-size: 10px; line-height: 1.5; max-width: 130px; }
  .category-card img { padding: 16px; }
  .category-card h3 > .icon { width: 16px; }
  .featured-section { padding-top: 0px; }
  .product-grid, .catalogue-main .product-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px 16px; }
  .product-image img { padding: 20px; }
  .product-meta { padding-top: 14px; }
  .product-meta .eyebrow { font-size: 7px; letter-spacing: 0.9px; }
  .product-meta h3 { font-size: 12px; line-height: 1.45; min-height: 48px; margin-top: 6px; }
  .price-row { margin-top: 7px; font-size: 12px; }
  .add-button { width: 33px; height: 33px; }
  .product-image { aspect-ratio: 1 / 1.15; }
  .stock-tag { font-size: 8px; left: 7px; bottom: 8px; }
  .story-section { grid-template-columns: 1fr; width: calc(100% - 36px); margin-block: 6px; }
  .story-image { min-height: 315px; }
  .story-image > span { left: 18px; bottom: 18px; font-size: 7px; padding: 9px 12px; }
  .story-copy { padding: 32px 26px 37px; }
  .story-copy h2 { font-size: 35px; }
  .story-copy p:not(.eyebrow) { font-size: 12px; }
  .story-copy .button { font-size: 11px; min-height: 46px; margin-top: 24px; }
  .learning-grid { grid-template-columns: 1fr; gap: 18px; }
  .learning-card { padding: 28px; min-height: 240px; }
  .learning-card h3 { font-size: 31px; }
  .learning-book img { height: 198px; width: 114px; }
  .learning-card .text-link { font-size: 11px; }
  .learning-guide { min-height: 251px; }
  .visit-banner { padding: 37px 0px; }
  .visit-banner > .shell { display: block; }
  .visit-banner h2 { font-size: 33px; }
  .visit-banner .button { margin-top: 25px; min-height: 46px; font-size: 11px; }
  .footer-grid { gap: 33px 26px; grid-template-columns: 1fr 1fr; padding-bottom: 32px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid .footer-brand p { max-width: 240px; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-grid h2 { font-size: 12px; margin-bottom: 14px; }
  .footer-grid p, .footer-grid > div > a { font-size: 11px; }
  .footer-grid .footer-brand > a { margin-top: 11px; }
  .footer-bottom { display: grid; gap: 8px; font-size: 8px; }
  footer { padding-top: 38px; }
  .page-section { padding-top: 20px; }
  .breadcrumbs { font-size: 9px; gap: 8px; line-height: 1.7; }
  .page-heading { margin: 29px 0px; }
  .page-heading h1 { font-size: 42px; letter-spacing: -1.5px; }
  .page-heading > p:last-child { font-size: 13px; margin-top: 18px; }
  .catalogue-layout { gap: 16px; }
  .catalogue-sidebar { margin-right: -18px; }
  .filter-bar { font-size: 10px; gap: 10px; }
  .stock-filter { font-size: 9px; gap: 4px; }
  .stock-filter input { width: 15px; height: 15px; }
  .sort-label select { font-size: 9px; padding-inline: 6px; max-width: 126px; }
  .catalogue-main > .sample-note { font-size: 10px; padding-block: 13px 22px; }
  .product-detail { grid-template-columns: 1fr; gap: 27px; margin-top: 24px; }
  .product-gallery { aspect-ratio: 1 / 1.03; }
  .product-gallery > img { padding: 40px; }
  .product-detail h1 { font-size: 36px; margin-top: 13px; }
  .product-detail-copy { padding: 0px; }
  .product-detail-copy > .eyebrow { font-size: 9px; }
  .detail-price { font-size: 25px; }
  .product-detail-copy > p.detail-description { font-size: 14px; }
  .purchase-row .button { font-size: 12px; min-height: 51px; }
  .product-tools { gap: 27px; }
  .product-tools button { font-size: 11px; }
  .related-heading { margin-top: 40px; }
  .cart-row { grid-template-columns: 65px minmax(80px, 1fr) 56px; gap: 12px; }
  .cart-row > strong { grid-column: 2 / 4; text-align: right; margin-top: -13px; }
  .cart-row h2 { font-size: 12px; }
  .cart-row p { font-size: 11px; }
  .cart-row input { font-size: 12px; width: 56px; }
  .cart-row .eyebrow { font-size: 7px; }
  .cart-row label { align-self: center; }
  .cart-layout, .checkout-layout { gap: 28px; }
  .order-summary { padding: 24px; }
  .preview-notice { padding: 16px; gap: 12px; }
  .preview-notice p { font-size: 11px; }
  .form-grid { gap: 16px; }
  .form-grid label { font-size: 11px; }
  .form-grid label > span { font-size: 9px; }
  .radio-card { padding: 14px; gap: 10px; }
  .radio-card > span:last-child { font-size: 8px; }
  .radio-card strong { font-size: 11px; }
  .radio-card small { font-size: 9px; }
  .confirmation { padding: 35px 20px; }
  .confirmation h2 { font-size: 30px; }
  .confirmation p { font-size: 12px; }
  .resource-grid { grid-template-columns: 1fr; gap: 17px; }
  .resource-card { padding: 28px; }
  .resource-card h2 { font-size: 29px; }
  .resource-card > .icon { margin-bottom: 20px; }
  .resource-card p { font-size: 13px; }
  .editorial-split { grid-template-columns: 1fr; margin-top: 28px; gap: 30px; }
  .editorial-split h1 { font-size: 43px; margin-top: 17px; }
  .editorial-split p:not(.eyebrow) { font-size: 14px; }
  .lead { font-size: 16px; }
  .editorial-photo { height: 340px; }
  .editorial-note { padding: 27px; margin-top: 32px; }
  .editorial-note h2 { font-size: 28px; }
  .editorial-note p { font-size: 13px; }
  .book-showcase img { height: 360px; }
  .book-feature .editorial-split { gap: 25px; }
  .contact-grid { grid-template-columns: 1fr; gap: 20px; }
  .contact-card { padding: 30px; }
  .contact-card h2 { font-size: 32px; }
  .contact-card p { font-size: 13px; }
  .contact-action { font-size: 21px; }
  .email-action { font-size: 17px; }
  .compare-grid { grid-template-columns: 1fr; }
  .compare-card { padding: 28px; }
  .compare-card > img { height: 240px; }
  .compare-card h2 { font-size: 27px; }
  .compare-card dl > div { flex-direction: row; gap: 15px; }
  .compare-card dd { text-align: right; }
  .account-links { flex-direction: column; gap: 12px; }
  .account-links .button { margin: 0px; }
  .narrow { padding-top: 38px; }
  .narrow h1 { font-size: 43px; }
  .narrow p { font-size: 14px; }
  .empty-state { padding: 45px 20px; }
  .empty-state h2 { font-size: 29px; }
}
  @media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important; }
}
}
@layer responsive {
  .logo { width: 110px; height: 86px; }
  .logo img { width: 86px; height: 86px; object-fit: contain; }
  .footer-brand > img { width: 80px; height: 80px; object-fit: contain; }
  @media (max-width: 600px) {
  .logo, .logo img { width: 70px; height: 70px; }
}
}

/* review-design.css */
.all-departments { padding: 0px !important; border: 0px !important; }
.all-departments summary { border: 0px !important; }
:root { --green: #245c43; --green-dark: #102d24; --ink: #21352b; --muted: #526459; --cream: #f5f8f6; --sage: #e8f0e8; --line: #dce5df; --font: Arial,Helvetica,sans-serif; --serif: var(--font); }
html { scroll-padding-top: 190px; }
body { font-size: 18px; line-height: 1.55; background: rgb(251, 252, 251); }
h1, h2, h3 { font-family: var(--font); font-weight: 700; letter-spacing: -0.035em; }
h1 { font-size: clamp(34px, 3.5vw, 56px); }
h2 { font-size: clamp(27px, 2.3vw, 36px); }
h3 { font-size: 19px; }
p { font-size: 18px; }
button, input, select { font-size: 17px; border-radius: 7px; }
button, a { touch-action: manipulation; }
a, button { transition: background 0.18s, color 0.18s, box-shadow 0.18s, transform 0.18s; }
button:disabled { opacity: 0.65; }
.shell { width: min(1600px, 100% - 64px); max-width: 1600px; }
.section { padding: 42px 0px; }
.eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; }
.text-link { font-size: 16px; }
.button { font-size: 17px; min-height: 50px; border-radius: 7px; padding: 13px 22px; gap: 12px; font-weight: 700; letter-spacing: 0px; }
.button:hover { transform: translateY(-2px); box-shadow: rgba(22, 62, 48, 0.125) 0px 8px 20px; }
.icon { width: 24px; height: 24px; }
.preview-bar { background: rgb(16, 45, 36); color: rgb(224, 238, 229); font-size: 13px; min-height: 31px; padding: 5px 24px; justify-content: space-between; }
.preview-bar > span { font-size: 13px; }
.service-bar { background: linear-gradient(100deg, rgb(24, 61, 48), rgb(16, 45, 36)); color: white; }
.service-bar > .shell { display: flex; align-items: center; justify-content: space-between; min-height: 50px; gap: 20px; }
.service-bar nav { display: flex; gap: 28px; align-items: center; }
.service-bar a { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; }
.service-bar .icon { width: 20px; height: 20px; opacity: 0.8; }
.site-header { position: sticky; top: 0px; z-index: 25; background: rgba(255, 255, 255, 0.78); backdrop-filter: blur(20px) saturate(1.8); box-shadow: rgba(23, 55, 43, 0.09) 0px 1px 0px, rgba(255, 255, 255, 0.533) 0px 1px 0px inset; border: 0px; }
.header-main { display: grid; grid-template-columns: 105px minmax(200px, 1fr) auto; min-height: 102px; gap: 26px; padding: 9px 0px; }
.logo, .logo img { width: 86px; height: 86px; object-fit: contain; }
.search-form { width: 100%; max-width: none; display: flex; height: 49px; border: 1px solid rgb(186, 202, 192); border-radius: 7px; background: rgb(255, 255, 255); margin: 0px; overflow: hidden; }
.search-form input { width: 100%; min-width: 0px; padding: 12px 17px; font-size: 17px; }
.search-form select { border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 1px solid var(--line); width: 185px; padding: 0px 12px; background: white; font-size: 16px; color: var(--ink); border-radius: 0px; }
.search-form button { width: 55px; flex-shrink: 0; border-radius: 0px; background: var(--green); color: white; }
.header-actions { gap: 20px; }
.header-actions .icon-link { width: auto; position: relative; gap: 10px; font-size: 16px; }
.header-actions .icon { width: 25px; height: 25px; }
.bag-count { top: -8px; left: 14px; right: auto; min-width: 20px; height: 20px; font-size: 12px; background: rgb(228, 239, 231); color: var(--green-dark); border: 1px solid white; }
.cart-label { font-size: 13px; line-height: 1.35; color: var(--muted); }
.cart-label strong { display: block; font-size: 17px; color: var(--ink); }
.navigation { width: 100%; max-width: none; min-height: 52px; padding: 0px; background: rgba(236, 244, 238, 0.85); border-top: 1px solid rgb(213, 225, 216); backdrop-filter: blur(18px) saturate(1.65); }
.nav-inner { display: flex; position: relative; align-items: stretch; }
.nav-links { display: flex; align-items: stretch; justify-content: space-between; gap: 12px; flex: 1 1 0%; }
.nav-links > a { font-size: 16px; display: flex; gap: 10px; align-items: center; padding: 14px 9px; font-weight: 600; }
.nav-links > a:hover { background: rgb(220, 234, 223); border-radius: 5px; }
.nav-links > a > span { font-size: 14px; opacity: 0.65; }
.all-departments { flex: 0 0 196px; margin-right: 16px; }
.all-departments summary { cursor: pointer; background: var(--green); color: white; display: flex; align-items: center; gap: 12px; padding: 14px 16px; font-size: 16px; font-weight: 700; list-style: none; height: 100%; }
.all-departments summary::-webkit-details-marker { display: none; }
.all-departments summary > span { margin-left: auto; }
.mega-menu { position: absolute; top: 100%; left: 0px; right: 0px; background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(18px); border: 1px solid var(--line); border-radius: 0px 0px 14px 14px; box-shadow: rgba(16, 45, 36, 0.19) 0px 18px 50px; padding: 25px; animation: 0.17s ease-out 0s 1 normal none running menu-in; }
.mega-heading { display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); font-size: 18px; }
.mega-heading > a { font-size: 16px; }
.mega-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px 22px; max-height: 55vh; overflow: auto; padding-top: 16px; }
.mega-links a { font-size: 16px; padding: 9px; border-radius: 5px; }
.mega-links a:hover { background: var(--sage); }
body.menu-open main { filter: blur(2px); }
.mobile-menu { display: none; }
.hero { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 470px; margin-top: 28px; margin-bottom: 25px; padding: 45px 7%; background: radial-gradient(at 88% 40%, rgb(73, 118, 90), rgb(20, 62, 46) 58%, rgb(11, 38, 30)); border-radius: 10px; overflow: hidden; gap: 30px; color: rgb(255, 255, 255); }
.hero-copy { padding: 0px; align-self: center; }
.hero-copy h1 { color: white; font-size: clamp(36px, 3.5vw, 56px); letter-spacing: -1.9px; line-height: 1.09; margin: 17px 0px 22px; }
.hero .eyebrow { color: rgb(211, 232, 186); }
.hero-description { max-width: 530px; color: rgb(222, 235, 226); font-size: 20px; line-height: 1.5; margin: 0px 0px 28px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 0px; }
.hero .button { background: rgb(201, 226, 149); color: rgb(23, 61, 41); border: 1px solid transparent; }
.hero .button-outline { background: rgba(255, 255, 255, 0.05); color: white; border: 1px solid rgba(255, 255, 255, 0.4); }
.hero-story-link { display: flex; align-items: center; gap: 10px; color: rgb(216, 233, 223); font-size: 16px; margin-top: 25px; }
.hero-display { position: relative; min-height: 370px; background: rgba(255, 255, 255, 0.95); border-radius: 16px; display: grid; place-items: center; overflow: hidden; padding: 35px 35px 62px; }
.hero-mill { position: static; transform: none; object-fit: contain; width: 100%; height: 285px; max-width: 390px; mix-blend-mode: multiply; filter: none; }
.hero-caption { position: absolute; top: 17px; left: 22px; font-size: 11px; color: var(--green); letter-spacing: 0.16em; }
.hero-note { position: absolute; bottom: 0px; left: 0px; right: 0px; width: auto; transform: none; display: flex; align-items: center; justify-content: space-between; background: rgb(232, 239, 231); padding: 12px 23px; box-shadow: none; color: var(--green-dark); font-size: 14px; border-radius: 0px; }
.hero-note > a { margin: 0px; }
.promise-strip { background: white; border: 1px solid var(--line); border-radius: 10px; margin-top: 0px; }
.promise-strip > div { display: grid; grid-template-columns: repeat(4, 1fr); padding: 22px 0px; gap: 0px; }
.promise-strip a { display: flex; gap: 16px; padding: 0px 22px; align-items: center; border-right: 1px solid var(--line); }
.promise-strip a:last-child { border: 0px; }
.promise-strip .icon { width: 31px; height: 31px; color: var(--green); }
.promise-strip strong { display: block; font-size: 16px; font-weight: 700; }
.promise-strip small { display: block; font-size: 14px; color: var(--muted); margin-top: 3px; }
.section-heading { align-items: center; gap: 18px; margin-bottom: 24px; border-bottom: 1px solid var(--line); padding-bottom: 16px; flex-wrap: wrap; }
.section-heading h2 { font-size: 29px; margin: 0px; }
.product-tabs { display: flex; gap: 8px; margin-left: auto; }
.product-tabs button { font-size: 15px; padding: 9px 13px; border: 1px solid transparent; }
.product-tabs [aria-pressed="true"] { background: rgb(230, 240, 232); border-color: rgb(191, 209, 195); color: rgb(24, 61, 43); }
.product-grid { display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 16px; }
.product-card { padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: rgb(255, 255, 255); overflow: hidden; display: flex; flex-direction: column; transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s; }
.product-card:hover { transform: translateY(-3px); box-shadow: rgba(20, 59, 43, 0.08) 0px 12px 26px; border-color: rgb(181, 204, 189); }
.product-image { height: 190px; aspect-ratio: auto; position: relative; background: white; padding: 12px; overflow: hidden; border-radius: 7px; }
.product-image > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.product-image img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center center; mix-blend-mode: normal; padding: 0px; transform: none !important; }
.save-button { top: 1px; right: 1px; width: 33px; height: 33px; background: rgba(255, 255, 255, 0.86); border: 1px solid rgb(231, 237, 233); backdrop-filter: blur(8px); border-radius: 50%; }
.save-button .icon { width: 18px; height: 18px; }
.product-meta { padding: 14px 0px 0px; display: flex; flex-direction: column; flex: 1 1 0%; }
.product-meta .eyebrow { font-size: 11px; line-height: 1.4; font-weight: 500; letter-spacing: 0.02em; }
.product-meta h3 { font-size: 16px; line-height: 1.45; font-weight: 600; letter-spacing: 0px; min-height: 0px; margin: 8px 0px 12px; overflow-wrap: anywhere; }
.card-price { font-size: 22px; line-height: 1.3; color: rgb(22, 60, 41); margin-top: auto; letter-spacing: -0.6px; }
.card-availability { font-size: 12px; margin: 9px 0px 12px; color: rgb(48, 97, 61); display: block; }
.card-availability.unavailable { color: rgb(128, 85, 72); }
.card-add { background: var(--green); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; min-height: 42px; width: 100%; padding: 10px 7px; border-radius: 6px; }
.card-add .icon { width: 18px; height: 18px; }
.card-add:disabled { background: rgb(232, 237, 233); color: rgb(82, 100, 89); }
.category-grid { grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 17px; }
.category-card { padding: 20px 13px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.category-card > div { height: 125px; background: white; padding: 8px; margin: 0px; }
.category-card img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: normal; transform: none !important; }
.category-card h3 { display: flex; align-items: center; justify-content: space-between; font-size: 16px; letter-spacing: 0px; margin-top: 20px; }
.category-card h3 .icon { width: 17px; height: 17px; }
.category-card:hover { box-shadow: rgba(23, 60, 43, 0.07) 0px 10px 25px; transform: translateY(-2px); }
.equipment-banner { display: grid; grid-template-columns: 1fr 1.3fr; gap: 50px; border-radius: 15px; background: rgb(234, 241, 233); padding: 45px; margin-block: 25px 55px; }
.equipment-banner h2 { margin: 15px 0px; }
.equipment-banner p { max-width: 450px; }
.equipment-banner .button { margin-top: 24px; }
.equipment-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.equipment-preview > a { background: white; border-radius: 12px; padding: 20px; font-size: 17px; }
.equipment-preview img { height: 235px; width: 100%; object-fit: contain; margin-bottom: 20px; }
.story-section { margin-bottom: 60px; background: white; border-radius: 15px; overflow: hidden; border: 1px solid var(--line); gap: 45px; }
.story-image { height: 360px; }
.story-image img { width: 100%; height: 100%; object-fit: contain; background: rgb(244, 246, 243); }
.story-copy { padding: 35px; }
.story-copy h2 { font-size: 34px; margin: 15px 0px 20px; }
.story-copy p { font-size: 18px; }
.story-copy .button { margin-top: 25px; }
.page-heading h1 { font-size: 42px; }
.page-heading > p:last-child { font-size: 18px; }
.breadcrumbs { font-size: 15px; line-height: 1.5; }
.catalogue-layout { grid-template-columns: 235px minmax(0px, 1fr); gap: 28px; }
.catalogue-sidebar { align-self: start; max-height: 70vh; overflow: auto; background: white; padding: 18px; border: 1px solid var(--line); border-radius: 10px; }
.catalogue-sidebar h2 { font-size: 21px; }
.catalogue-sidebar > a { font-size: 15px; padding: 10px 3px; min-height: 42px; line-height: 1.35; }
.catalogue-main .product-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
.catalogue-main .product-image { height: 210px; }
.filter-bar, .stock-filter, .sort-label select { font-size: 16px; }
.filter-bar { gap: 20px; }
.sort-label select { max-width: none; padding: 10px; }
.sample-note, .catalogue-main > .sample-note { font-size: 14px; line-height: 1.5; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 22px; padding: 30px 0px; font-size: 16px; }
.pagination a { border: 1px solid var(--line); padding: 10px 20px; background: white; border-radius: 6px; }
.product-detail { gap: 50px; }
.product-gallery { aspect-ratio: 1 / 1; background: white; border: 1px solid var(--line); border-radius: 14px; padding: 30px; }
.product-gallery > img { width: 100%; height: 100%; padding: 0px; object-fit: contain; mix-blend-mode: normal; transform: none; }
.product-detail h1 { font-size: 35px; line-height: 1.22; }
.detail-price { font-size: 31px; font-weight: 700; }
.product-detail-copy > .eyebrow { font-size: 13px; }
.product-detail-copy > p.detail-description { font-size: 18px; }
.availability, .product-tools button, details > p { font-size: 16px; }
.product-tools { gap: 25px; }
details > summary { font-size: 18px; }
dl { font-size: 16px; }
.purchase-row .button { font-size: 17px; }
.purchase-row input { font-size: 18px; }
.cart-row h2, .cart-row p { font-size: 17px; }
.cart-row .eyebrow { font-size: 12px; }
.cart-row input { font-size: 17px; }
.cart-row > img { object-fit: contain; background: white; }
.order-summary { padding: 26px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.order-summary h2 { font-size: 25px; }
.summary-line, .summary-product { font-size: 16px; }
.order-summary .sample-note { font-size: 14px; }
.checkout-layout { display: block; }
.checkout-grid-form { display: grid; grid-template-columns: minmax(260px, 0.82fr) minmax(340px, 1.08fr) minmax(270px, 0.9fr); gap: 22px; align-items: start; }
.checkout-details, .checkout-payment { padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.checkout-grid-form > .order-summary { position: sticky; top: 175px; }
.checkout-payment { position: sticky; top: 175px; }
.form-grid label { font-size: 16px; }
.form-grid label > span { font-size: 13px; }
.form-grid input { font-size: 17px; min-height: 47px; padding: 12px; }
.field-error { font-size: 14px; }
fieldset legend { font-size: 21px; font-weight: 700; }
fieldset > p { font-size: 16px; }
.radio-card { font-size: 15px; border-radius: 7px; }
.radio-card strong { font-size: 16px; }
.radio-card small, .radio-card > span:last-child { font-size: 13px; }
.preview-notice p { font-size: 15px; }
.sample-fill { font-size: 15px; }
.confirmation h2 { font-size: 33px; }
.confirmation p { font-size: 18px; }
.resource-card h2 { font-size: 29px; }
.resource-card p, .editorial-note p, .editorial-split p:not(.eyebrow), .contact-card p, .narrow p { font-size: 18px; }
.contact-card dl { font-size: 16px; }
.contact-card h3 { font-size: 21px; }
.footer-grid { gap: 40px; }
.footer-grid h2 { font-size: 18px; }
.footer-grid p, .footer-grid > div > a { font-size: 16px; }
.footer-brand > img { width: 100px; height: 100px; }
.footer-bottom { font-size: 13px; }
footer { background: rgb(240, 245, 241); padding-top: 45px; }
.empty-state h2 { font-size: 30px; }
.empty-state p { font-size: 18px; }
#toast { font-size: 16px; border-radius: 9px; z-index: 60; bottom: 20px; }
main { animation: 0.22s ease-out 0s 1 normal none running content-in; }
main[hidden], .checkout-layout[hidden] { display: none !important; }
@keyframes content-in { 
  0% { opacity: 0.5; transform: translateY(5px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes menu-in { 
  0% { opacity: 0; transform: translateY(-6px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@media (max-width: 1199px) {
  .shell { width: calc(100% - 40px); }
  .service-bar nav { gap: 18px; }
  .header-main { gap: 16px; grid-template-columns: 90px minmax(180px, 1fr) auto; }
  .header-actions { gap: 13px; }
  .cart-label { display: none; }
  .search-form select { width: 145px; }
  .nav-links > a { font-size: 14px; gap: 5px; padding-inline: 5px; }
  .all-departments { flex-basis: 175px; margin-right: 8px; }
  .product-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
  .featured-section .product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .catalogue-main .product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .category-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .promise-strip a { gap: 10px; padding: 0px 12px; }
  .promise-strip small { font-size: 12px; }
  .checkout-grid-form { grid-template-columns: 1fr; max-width: 780px; margin: auto; }
  .checkout-grid-form > .order-summary, .checkout-payment { position: static; }
  .hero { padding: 38px 40px; }
  .hero-copy h1 { font-size: 42px; }
  .hero-display { min-height: 340px; }
  .hero-mill { height: 260px; }
  .product-tabs { margin-left: 0px; }
  .service-bar nav > a:last-child { display: none; }
}
@media (max-width: 900px) {
  .service-bar nav > a:nth-child(n+4) { display: none; }
  .nav-links { flex-wrap: wrap; justify-content: flex-start; gap: 0px 16px; }
  .nav-links > a { min-height: 44px; }
  .hero { grid-template-columns: 1fr 1fr; gap: 22px; padding: 30px; }
  .hero-copy h1 { font-size: 34px; }
  .hero-description { font-size: 18px; }
  .hero-display { padding: 35px 16px 60px; min-height: 310px; }
  .hero-mill { height: 230px; }
  .hero-actions .button { font-size: 15px; min-height: 46px; padding: 10px 13px; }
  .promise-strip > div { grid-template-columns: 1fr 1fr; gap: 22px; }
  .promise-strip a:nth-child(2) { border: 0px; }
  .catalogue-layout { grid-template-columns: 1fr; }
  .catalogue-sidebar { max-height: 230px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px 14px; margin: 0px; }
  .catalogue-sidebar h2 { grid-column: 1 / -1; }
  .catalogue-main .product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .equipment-banner { gap: 25px; padding: 30px; }
  .equipment-preview { gap: 12px; }
  .equipment-preview img { height: 175px; }
  .story-section { gap: 15px; }
  .story-copy { padding: 20px; }
  .story-copy h2 { font-size: 28px; }
  .product-detail { gap: 25px; }
  .product-detail h1 { font-size: 29px; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 170px; }
  .shell { width: calc(100% - 28px); }
  .preview-bar { min-height: 28px; padding: 5px 14px; }
  .preview-bar > span { font-size: 11px; }
  .preview-bar > span:last-child { display: none; }
  .service-bar { display: none; }
  .header-main { grid-template-columns: 1fr auto; gap: 9px; padding: 7px 0px 12px; min-height: 0px; }
  .logo, .logo img { width: 69px; height: 69px; }
  .header-actions { gap: 18px; }
  .header-actions .icon-link { display: flex; }
  .header-actions > a:first-child, .account-link { display: none !important; }
  .header-actions .icon { width: 24px; height: 24px; }
  .search-form { grid-area: 2 / 1 / auto / -1; width: 100%; height: 45px; }
  .search-form input { font-size: 16px; padding: 10px 13px; }
  .search-form select { display: none; }
  .search-form button { width: 48px; }
  .mobile-menu { display: grid; width: 34px; height: 40px; place-items: center; }
  .navigation { display: none; max-height: 70vh; overflow: auto; }
  .navigation.is-open { display: block; }
  .nav-inner { display: flex; flex-direction: column; }
  .all-departments { flex: 1 1 auto; margin: 0px; }
  .all-departments summary { font-size: 16px; min-height: 48px; }
  .mega-menu { position: static; padding: 15px; border-radius: 0px; box-shadow: none; }
  .mega-links { grid-template-columns: 1fr 1fr; max-height: 40vh; }
  .mega-links a { font-size: 15px; }
  .mega-heading { display: block; font-size: 17px; }
  .mega-heading a { display: block; margin-top: 8px; }
  .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0px; }
  .nav-links > a { font-size: 16px; padding: 12px 7px; min-height: 48px; }
  .hero { grid-template-columns: 1fr; margin-top: 14px; padding: 28px 23px; gap: 25px; border-radius: 10px; min-height: 0px; }
  .hero-copy h1 { font-size: 36px; line-height: 1.1; letter-spacing: -1.2px; margin-top: 12px; }
  .hero-description { font-size: 18px; margin-bottom: 22px; }
  .hero-actions { gap: 10px; }
  .hero-actions .button { font-size: 16px; flex: 1 1 0%; min-width: 145px; min-height: 48px; }
  .hero-story-link { font-size: 15px; margin-top: 18px; }
  .hero-display { min-height: 255px; padding: 28px 20px 57px; }
  .hero-mill { height: 195px; max-width: 250px; }
  .hero-caption { font-size: 10px; top: 10px; }
  .hero-note { font-size: 13px; padding: 10px 18px; }
  .promise-strip > div { padding: 18px 0px; gap: 20px 0px; }
  .promise-strip a { padding: 0px 12px; align-items: start; gap: 9px; }
  .promise-strip .icon { width: 23px; height: 23px; }
  .promise-strip strong { font-size: 14px; }
  .promise-strip small { font-size: 12px; line-height: 1.35; }
  .section { padding: 29px 0px; }
  .section-heading { margin-bottom: 18px; padding-bottom: 13px; gap: 12px; }
  .section-heading h2 { font-size: 26px; }
  .product-tabs { order: 3; width: 100%; display: flex; gap: 4px; overflow-x: auto; }
  .product-tabs button { font-size: 14px; white-space: nowrap; padding: 9px; }
  .featured-section .product-grid, .product-grid, .catalogue-main .product-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
  .product-card { padding: 10px; border-radius: 9px; }
  .product-image, .catalogue-main .product-image { height: 160px; padding: 12px 6px 5px; }
  .product-meta { padding-top: 12px; }
  .product-meta .eyebrow { font-size: 11px; }
  .product-meta h3 { font-size: 16px; line-height: 1.4; margin: 7px 0px 12px; letter-spacing: 0px; }
  .card-price { font-size: 22px; }
  .card-availability { font-size: 12px; line-height: 1.4; }
  .card-add { font-size: 14px; min-height: 44px; gap: 6px; }
  .card-add .icon { width: 17px; height: 17px; }
  .save-button { width: 30px; height: 30px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
  .category-card { padding: 15px; }
  .category-card > div { height: 110px; }
  .category-card h3 { font-size: 16px; line-height: 1.4; margin-top: 15px; }
  .equipment-banner { grid-template-columns: 1fr; padding: 25px; gap: 25px; margin: 18px auto 30px; }
  .equipment-banner h2 { font-size: 32px; }
  .equipment-banner p { font-size: 17px; }
  .equipment-preview { gap: 12px; }
  .equipment-preview > a { padding: 12px; font-size: 14px; }
  .equipment-preview img { height: 145px; margin-bottom: 12px; }
  .story-section { grid-template-columns: 1fr; margin-bottom: 35px; gap: 0px; }
  .story-image { height: 280px; }
  .story-copy { padding: 25px; }
  .story-copy h2 { font-size: 31px; }
  .story-copy p { font-size: 17px; }
  .page-heading { margin: 24px 0px; }
  .page-heading h1 { font-size: 33px; letter-spacing: -1px; }
  .page-heading > p:last-child { font-size: 17px; }
  .breadcrumbs { font-size: 13px; gap: 8px; }
  .catalogue-sidebar { grid-template-columns: 1fr 1fr; padding: 14px; max-height: 210px; }
  .catalogue-sidebar > a { font-size: 14px; }
  .filter-bar { flex-wrap: wrap; font-size: 15px; gap: 12px; }
  .stock-filter, .sort-label select { font-size: 15px; }
  .sort-label select { max-width: 180px; }
  .catalogue-main > .sample-note { font-size: 13px; padding: 13px 0px 18px; }
  .product-detail { grid-template-columns: 1fr; gap: 24px; }
  .product-gallery { padding: 24px; aspect-ratio: 1 / 1; max-height: 420px; }
  .product-detail h1 { font-size: 30px; }
  .product-detail-copy > p.detail-description { font-size: 17px; }
  .product-detail-copy > .eyebrow { font-size: 13px; }
  .product-tools button { font-size: 15px; }
  .detail-price { font-size: 29px; }
  .purchase-row .button { font-size: 16px; min-height: 50px; }
  .product-detail-copy .sample-note { font-size: 14px; }
  .cart-row { grid-template-columns: 65px minmax(0px, 1fr) 55px; }
  .cart-row h2 { font-size: 16px; }
  .cart-row p, .cart-row input { font-size: 16px; }
  .cart-row .eyebrow { font-size: 11px; }
  .cart-row > strong { font-size: 17px; }
  .cart-layout { gap: 22px; }
  .order-summary, .checkout-details, .checkout-payment { padding: 20px; }
  .summary-product, .summary-line { font-size: 15px; }
  .checkout-grid-form { gap: 18px; }
  .checkout-details .form-grid { grid-template-columns: 1fr; }
  .form-grid label { font-size: 16px; }
  .form-grid label > span { font-size: 13px; }
  .form-grid input { font-size: 16px; }
  .radio-card { padding: 13px; gap: 10px; }
  .radio-card strong { font-size: 16px; }
  .radio-card small, .radio-card > span:last-child { font-size: 12px; }
  .preview-notice p { font-size: 14px; }
  .confirmation { padding: 28px 20px; }
  .confirmation h2 { font-size: 28px; }
  .confirmation p { font-size: 17px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 26px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid h2 { font-size: 17px; }
  .footer-grid p, .footer-grid > div > a { font-size: 15px; }
  .footer-bottom { font-size: 12px; }
  .editorial-split h1, .narrow h1 { font-size: 36px; }
  .resource-card h2 { font-size: 28px; }
  .resource-card p, .editorial-split p:not(.eyebrow), .editorial-note p, .contact-card p, .narrow p { font-size: 17px; }
  .resource-card { padding: 25px; }
  .contact-card { padding: 25px; }
  .contact-action { font-size: 21px; }
  .email-action { font-size: 17px; }
  .contact-card .sample-note { font-size: 13px; }
  .compare-card h2 { font-size: 24px; }
  .compare-card .text-link { font-size: 16px; }
  .pagination { font-size: 14px; gap: 12px; }
  .pagination a { padding: 10px 12px; }
  #toast { font-size: 15px; bottom: 12px; padding: 13px 17px; }
}
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; scroll-behavior: auto !important; }
}
.category-filter-toggle { display: none; }
@media (max-width: 600px) {
  .catalogue-sidebar { padding: 0px; max-height: 55px; display: block; overflow: hidden; }
  .catalogue-sidebar h2 { display: none; }
  .category-filter-toggle { display: block; min-height: 50px; padding: 12px 16px; width: 100%; text-align: left; font-size: 16px; font-weight: 600; }
  .category-filter-toggle::after { content: "+"; float: right; }
  .categories-expanded .category-filter-toggle::after { content: "â"; }
  .catalogue-sidebar:not(.categories-expanded) > a { display: none; }
  .catalogue-sidebar.categories-expanded { max-height: 330px; overflow: auto; display: grid; grid-template-columns: 1fr 1fr; padding: 0px 12px 12px; }
  .category-filter-toggle { grid-column: 1 / -1; }
  .catalogue-sidebar.categories-expanded > a { font-size: 15px; padding: 10px; }
}
.promise-strip a, .promise-strip a > span { min-width: 0px; white-space: normal; }
.promise-strip small { white-space: normal; }
@media (max-width: 900px) {
  .promise-strip > div { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .promise-strip a { min-width: 0px; }
  .promise-strip .icon { flex-shrink: 0; }
}
.tagline-pill { display: flex; align-items: center; background: rgb(255, 255, 255); border-radius: 6px; padding: 5px 12px; flex-shrink: 0; }
.tagline-pill img { width: 235px; height: auto; }
.mobile-brand-tagline { display: none; }
.footer-brand > .footer-tagline { width: 245px; height: auto; max-width: 100%; margin: 18px 0px; }
@media (max-width: 600px) {
  .mobile-brand-tagline { display: block; grid-area: 3 / 1 / auto / -1; width: 235px; height: auto; justify-self: center; margin: 3px 0px 2px; }
  .header-main { padding-bottom: 9px; }
  .header-actions { grid-area: 1 / 2; }
  .search-form { grid-row: 2; }
  .site-header { position: sticky; }
  .footer-brand > .footer-tagline { width: 245px; height: auto; }
}
@media (max-width: 600px) {
  .hero-copy h1 { font-size: 32px; line-height: 1.12; }
  .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hero-actions .button { width: 100%; min-width: 0px; min-height: 48px; justify-content: space-between; padding: 12px 16px; }
  .hero-description { font-size: 17px; }
  html { scroll-padding-top: 220px; }
}
.story-section { grid-template-columns: 304px minmax(0px, 1fr); max-width: 1080px; gap: 32px; padding: 28px; align-items: center; }
.story-image { height: auto; width: 100%; max-width: 304px; justify-self: center; background: transparent; }
.story-image img { display: block; width: 100%; height: auto; max-width: 304px; aspect-ratio: 304 / 252; object-fit: contain; border-radius: 10px; background: transparent; }
.story-copy { padding: 0px; min-width: 0px; }
.story-copy h2 { margin-top: 12px; }
.story-copy .button { margin-top: 12px; }
.editorial-photo { width: 100%; max-width: 304px; height: auto; object-fit: contain; place-self: center; }
.product-meta .card-add { margin-top: 14px; }
@media (max-width: 700px) {
  .story-section { grid-template-columns: 1fr; gap: 24px; padding: 22px; }
  .story-copy { padding: 0px; }
  .story-image { height: auto; }
  .story-copy h2 { font-size: 29px; }
}
.header-main { grid-template-columns: 125px minmax(200px, 1fr) auto; min-height: 118px; }
.logo, .logo img { width: 104px; height: 104px; }
@media (max-width: 700px) {
  .header-main { grid-template-columns: 90px minmax(0px, 1fr); min-height: 104px; }
  .logo, .logo img { width: 84px; height: 84px; }
}
.story-section { width: min(1040px, 100% - 64px); max-width: 1040px; grid-template-columns: 304px minmax(0px, 1fr); gap: 48px; padding: 36px; margin: 32px auto 56px; align-items: center; min-height: 0px; }
.story-image { position: static; min-height: 0px; height: auto; align-self: center; line-height: 0; }
.story-image img { position: static; inset: auto; display: block; width: 100%; height: auto; max-width: 304px; }
.story-copy { align-self: center; padding: 0px; max-width: 540px; }
.story-copy .eyebrow { margin: 0px 0px 12px; font-size: 13px; line-height: 1.5; }
.story-copy h2 { font-size: 32px; line-height: 1.16; margin: 0px 0px 18px; }
.story-copy p:not(.eyebrow) { font-size: 17px; line-height: 1.65; margin: 0px 0px 22px; }
.story-copy .button { margin: 0px; font-size: 16px; min-height: 48px; }
@media (max-width: 900px) and (min-width: 701px) {
  .story-section { grid-template-columns: 260px minmax(0px, 1fr); padding: 28px; gap: 28px; }
  .story-copy h2 { font-size: 28px; }
}
@media (max-width: 700px) {
  .story-section { width: calc(100% - 36px); grid-template-columns: 1fr; gap: 24px; padding: 24px; margin: 24px auto 36px; }
  .story-image { min-height: 0px; width: 100%; max-width: 304px; }
  .story-copy { max-width: 100%; }
  .story-copy h2 { font-size: 28px; }
  .story-copy p:not(.eyebrow) { font-size: 16px; }
  .story-copy .button { font-size: 16px; }
}
.compare-header { flex-direction: column; justify-content: center; gap: 3px !important; }
.compare-header > span { font-size: 12px; line-height: 1.2; }
.all-departments summary { gap: 12px; line-height: 1.25; min-height: 52px; align-items: center; }
.all-departments summary > span { font-size: 0px; display: flex; width: 16px; height: 16px; align-items: center; justify-content: center; flex-shrink: 0; margin-left: auto; }
.all-departments summary > span::after { content: ""; width: 7px; height: 7px; border-right: 2px solid; border-bottom: 2px solid; transform: translateY(-2px) rotate(45deg); }
.all-departments[open] summary > span::after { transform: translateY(2px) rotate(225deg); }
.product-image, .catalogue-main .product-image { height: auto; aspect-ratio: 1 / 1; padding: 16px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.product-image > a { width: 100%; height: 100%; min-width: 0px; min-height: 0px; }
.product-image img { width: 100%; height: 100%; object-fit: contain; object-position: center center; }
.category-card > div { height: auto; aspect-ratio: 1 / 1; padding: 14px; display: grid; place-items: center; }
.category-card img { width: 100%; height: 100%; object-fit: contain; object-position: center center; }
@media (max-width: 600px) {
  .product-image, .catalogue-main .product-image { height: auto; aspect-ratio: 1 / 1; padding: 12px; }
  .category-card > div { height: auto; aspect-ratio: 1 / 1; padding: 12px; }
}

/* local-design.css */
:root { --font: Arial,sans-serif; --green: #285d46; --green-dark: #163c2d; --ink: #22382d; --muted: #596c60; --line: #d7e2db; --sage: #edf4ee; --gn-font: Arial,sans-serif; }
body { font-family: Arial, sans-serif; color: var(--ink); font-size: 18px; background: rgb(251, 252, 251); }
.section-heading { display: flex; justify-content: space-between; }
.button { display: inline-flex; align-items: center; justify-content: center; background: var(--green); color: white; text-decoration: none; border: 1px solid var(--green); }
.button-outline { background: transparent; color: var(--green); }
.eyebrow { color: var(--green); }
.gn-wrap { width: min(1600px, 100% - 64px); max-width: 1600px; }
.gn-utility { background: linear-gradient(100deg, rgb(24, 61, 48), rgb(16, 45, 36)); padding: 0px; }
.gn-utility > .gn-wrap { min-height: 50px; align-items: center; }
.gn-utility-links a { font-size: 15px; }
.gn-header { position: sticky; top: 0px; background: rgba(255, 255, 255, 0.78); backdrop-filter: blur(20px) saturate(1.8); z-index: 100; box-shadow: rgba(23, 55, 43, 0.09) 0px 1px 0px; }
.gn-header-main { grid-template-columns: 125px minmax(200px, 1fr) auto; gap: 26px; min-height: 118px; padding: 7px 0px; }
.gn-logo, .gn-logo img { width: 104px; height: 104px; object-fit: contain; max-width: none; }
.gn-search { height: 49px; border: 1px solid rgb(186, 202, 192); border-radius: 7px; overflow: hidden; }
.gn-search input { font-size: 17px; background: white; }
.gn-search button { width: 55px; min-width: 55px; background: var(--green); color: white; }
.gn-search button span { display: none; }
.gn-account-links { gap: 22px; }
.gn-account-copy { font-size: 15px; }
.gn-navigation-band { background: rgba(236, 244, 238, 0.85); backdrop-filter: blur(18px); border-top: 1px solid rgb(213, 225, 216); }
.gn-nav { gap: 16px; }
.gn-all-categories { min-width: 196px; }
.gn-all-categories summary { display: flex; align-items: center; gap: 12px; min-height: 52px; font-size: 16px; line-height: 1.25; background: var(--green); padding: 14px 16px; color: white; list-style: none; }
.gn-all-categories summary::-webkit-details-marker { display: none; }
.gn-all-categories summary::after { display: none; }
.gn-chevron { margin-left: auto; width: 8px; height: 8px; border-right: 2px solid; border-bottom: 2px solid; transform: translateY(-2px) rotate(45deg); }
.gn-all-categories[open] .gn-chevron { transform: translateY(2px) rotate(225deg); }
.gn-department-list { flex: 1 1 0%; justify-content: space-between; }
.gn-department-list a { font-size: 16px; }
.gn-category-panel { background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(18px); border-radius: 0px 0px 14px 14px; box-shadow: rgba(16, 45, 36, 0.19) 0px 18px 50px; }
.gn-mobile-tagline { display: none; }
.gn-footer { background: rgb(237, 244, 239); color: var(--ink); }
.gn-footer-brand > img:first-child { width: 104px; height: 104px; object-fit: contain; }
.gn-footer-tagline { display: block; width: 245px; height: auto; margin: 18px 0px; }
.gn-footer p, .gn-footer a { font-size: 16px; }
.gn-footer-grid { gap: 40px; }
.gn-main { padding-top: 30px; }
.gn-icon { width: 24px; height: 24px; }
.gn-featured-group[hidden] { display: none !important; }
.category-card { text-decoration: none; color: var(--ink); }
.equipment-banner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; background: rgb(232, 240, 233); padding: 40px; border-radius: 14px; margin: 20px auto 48px; }
.equipment-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.equipment-preview > a { background: white; padding: 20px; border-radius: 10px; text-align: center; color: var(--ink); font-size: 16px; }
.equipment-preview img { height: 190px; width: 100%; object-fit: contain; margin-bottom: 16px; }
.category-grid { display: grid; }
.story-section { display: grid; }
.story-copy h2 { color: var(--ink); }
.gn-sidebar { background: white; border: 1px solid var(--line); border-radius: 10px; }
.woocommerce div.product div.images img { object-fit: contain; max-height: 530px; }
.woocommerce div.product .summary { font-size: 18px; }
.woocommerce div.product .product_title { font-size: 36px; }
.woocommerce input, .woocommerce select, .woocommerce textarea { font-size: 17px; }
.woocommerce-cart .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { border-color: var(--line); box-shadow: rgba(20, 59, 43, 0.03) 0px 8px 26px; }
@media (max-width: 1100px) {
  .gn-header-main { gap: 18px; }
  .gn-account-copy { display: none; }
  .gn-department-list a { font-size: 14px; }
  .gn-all-categories { min-width: 175px; }
  .gn-utility-links { gap: 18px; }
  .gn-utility-links a { font-size: 13px; }
  .tagline-pill img { width: 200px; }
}
@media (max-width: 700px) {
  .shell, .gn-wrap { width: calc(100% - 36px); }
  .gn-utility { display: none; }
  .gn-header-main { display: grid; grid-template-columns: 90px minmax(0px, 1fr); gap: 10px; padding: 8px 0px 12px; min-height: 0px; }
  .gn-logo, .gn-logo img { width: 84px; height: 84px; }
  .gn-account-links { grid-area: 1 / 2; justify-content: flex-end; gap: 18px; }
  .gn-search { grid-area: 2 / 1 / auto / -1; width: 100%; margin: 0px; }
  .gn-mobile-tagline { display: block; grid-area: 3 / 1 / auto / -1; width: 235px; height: auto; justify-self: center; margin: 3px 0px; }
  .gn-cart-copy, .gn-account-copy { display: none; }
  .gn-navigation-band .gn-wrap { width: 100%; }
  .gn-menu-toggle { width: 100%; justify-content: center; min-height: 46px; }
  .gn-nav { padding: 0px 18px; }
  .gn-nav:not(.is-open) { display: none; }
  .gn-department-list { display: flex; flex-direction: column; gap: 0px; }
  .gn-department-list a { font-size: 16px; padding: 12px; }
  .gn-all-categories { width: 100%; }
  .gn-category-panel { max-width: 100%; width: 100%; position: static; }
  .gn-category-panel ul { grid-template-columns: 1fr 1fr; }
  .section-heading { align-items: flex-start; }
  .equipment-banner { grid-template-columns: 1fr; padding: 25px; gap: 25px; }
  .equipment-preview { gap: 12px; }
  .equipment-preview > a { padding: 12px; font-size: 14px; }
  .equipment-preview img { height: 145px; }
  .gn-footer-grid { grid-template-columns: 1fr 1fr; gap: 26px 20px; }
  .gn-footer-brand { grid-column: 1 / -1; }
  .gn-footer p, .gn-footer a { font-size: 15px; }
  .gn-main { padding-top: 22px; }
  .woocommerce div.product .product_title { font-size: 30px; }
  .gn-catalogue-layout { display: block; }
  .gn-sidebar { margin-bottom: 20px; }
  .story-section { width: calc(100% - 36px); }
}
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important; }
}
.gn-saved-actions { display: flex; gap: 8px; margin-top: 10px; }
.gn-saved-actions button { font-size: 12px; padding: 7px; flex: 1 1 0%; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--green); }
.gn-saved-actions button[aria-pressed="true"] { background: rgb(230, 240, 232); }
.gn-selection-header { display: flex; flex-direction: column; gap: 3px; align-items: center; font-size: 12px !important; }
.gn-selection-header svg { width: 24px; height: 24px; fill: none; stroke: currentcolor; stroke-width: 1.6; }
.gn-selection-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 24px; }
.gn-selection-grid article { background: white; border: 1px solid var(--line); padding: 24px; border-radius: 12px; min-width: 0px; }
.gn-selection-grid img { width: 100%; height: 220px; object-fit: contain; }
.gn-selection-grid h2 { font-size: 22px; }
.gn-selection-grid dl { font-size: 16px; }
.gn-selection-grid dd { margin: 0px 0px 12px; overflow-wrap: anywhere; }
.gn-selection-grid dt { font-weight: 700; }
.gn-selection-status { font-size: 16px; }
.gn-selection-grid button { font-size: 16px; }
.gn-selection-grid .button { margin-top: 18px; }
@media (max-width: 700px) {
  .gn-selection-grid { grid-template-columns: 1fr; }
  .gn-account-links { gap: 12px; }
  .gn-selection-header { font-size: 10px !important; }
  .gn-selection-header svg { width: 21px; height: 21px; }
  .gn-account-links .gn-icon { width: 21px; height: 21px; }
}
.shell { margin-left: auto; margin-right: auto; }
.hero-mill { object-fit: contain; height: 285px !important; }
.gn-search input { min-width: 0px; flex: 1 1 0%; width: 0px; }
.gn-search button { flex-shrink: 0; }
.button, .gn-button, a.button, button.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .hero-actions .button { width: auto; min-width: 172px; max-width: calc(-44px + 100vw); padding-inline: 24px; white-space: nowrap; letter-spacing: 0px; }
.gn-search button, .card-add, ul.products li.product .button { min-width: 0px; max-width: none; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0px; margin: 0px 0px 18px; font-size: 15px; color: var(--muted); }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; color: var(--line); }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 22px; margin: 28px 0px; }
.contact-card, .resource-card, .editorial-note, .gn-editorial { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 28px; }
.resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px; margin: 24px 0px; }
.resource-card { text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 10px; }
.resource-card h2 { margin: 0px; font-size: 22px; }
.editorial-split { display: grid; grid-template-columns: minmax(0px, 1fr) 304px; gap: 32px; align-items: start; }
.gn-editorial :where(h2, h3, p, ul, ol) { overflow-wrap: anywhere; }
.gn-purchase-progress { display: flex; gap: 18px; list-style: none; padding: 0px; margin: 0px 0px 24px; }
.woocommerce-cart .cart_totals, .woocommerce-account .woocommerce { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 24px; }
@media (max-width: 900px) {
  .contact-grid, .resource-grid, .editorial-split { grid-template-columns: 1fr; }
  .editorial-split .story-image { max-width: 304px; }
}
@media (max-width: 600px) {
  .hero-mill { height: 195px !important; }
  .hero { padding: 25px 22px; grid-template-columns: 1fr; gap: 28px; }
  .hero-copy h1 { font-size: 32px; }
  .hero-display { min-height: 255px; }
  .gn-footer-grid { min-width: 0px; }
  .gn-footer-grid > div { min-width: 0px; }
  .gn-footer a { overflow-wrap: anywhere; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; min-width: 0px; justify-content: center; }
}
.gn-fulfilment-note { background: rgb(238, 245, 239); border: 1px solid var(--line); border-radius: 8px; padding: 12px 16px; font-size: 16px; margin: 12px 0px; }
.gn-compatibility { margin: 22px 0px 8px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: rgb(255, 255, 255); }
.gn-compatibility ul { margin: 12px 0px 0px; padding-left: 18px; }
.gn-compatibility a { overflow-wrap: anywhere; }
.product-card > *, .product-meta > * { order: 0; }
ul.products.product-grid { margin: 0px; padding: 0px; list-style: none; }
ul.products li.product.product-card { margin: 0px; width: auto; float: none; }
ul.products li.product::before, ul.products li.product::after { content: none; }
.product-image img.woocommerce-placeholder { opacity: 0.45; background: rgb(231, 238, 232); }
.product-meta h3 { max-height: 4.2em; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.product-meta h3 a { text-decoration: none; color: inherit; }
.gn-card-eyebrow { text-transform: uppercase; font-weight: 700; }
li.product.gn-card-part .gn-card-eyebrow { color: rgb(106, 74, 42); }
.product-meta .card-add { white-space: nowrap; }
.product-meta .gn-saved-actions { margin-top: 8px; }
.gn-part-flag { margin-bottom: 8px; }
.gn-video-embed { position: relative; aspect-ratio: 16 / 9; margin: 20px 0px; border-radius: 12px; overflow: hidden; background: rgb(13, 31, 24); max-width: 900px; }
.gn-video-embed iframe { position: absolute; inset: 0px; width: 100%; height: 100%; border: 0px; }
.gn-footer { background: rgb(16, 37, 29); color: rgb(232, 240, 234); padding: 48px 0px 24px; margin-top: 24px; }
.gn-footer h3 { color: rgb(255, 255, 255); font-size: 18px; margin: 0px 0px 14px; }
.gn-footer p, .gn-footer li, .gn-footer a, .gn-footer-base, .gn-footer .text-link { color: rgb(232, 240, 234); }
.gn-footer p { font-size: 16px; line-height: 1.55; font-weight: 500; margin: 0px 0px 14px; }
.gn-footer a { text-decoration: none; }
.gn-footer a:hover, .gn-footer .text-link { color: rgb(255, 255, 255); font-weight: 650; }
.gn-footer .gn-footer-logo, .gn-footer .footer-brand > img:first-child { width: 104px; height: 104px; object-fit: contain; mix-blend-mode: normal; filter: brightness(0) invert(1); }
.gn-footer p.gn-footer-tagline { filter: none; width: auto; max-width: 14em; height: auto; margin: 16px 0px 12px; color: rgb(255, 255, 255); font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-style: italic; font-weight: 500; letter-spacing: -0.02em; line-height: 1.25; }
.gn-footer-links { list-style: none; margin: 0px; padding: 0px; }
.gn-footer-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.gn-footer-links a::after { content: "→"; font-style: normal; transition: transform 0.18s; }
.gn-footer-links a:hover::after { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) {
  .gn-footer-links a::after { transition: none; }
}
.gn-footer-base { opacity: 0.85; border-top-color: rgb(42, 74, 60); color: rgb(213, 228, 218); }
.all-departments summary { white-space: nowrap; }
@media (min-width: 601px) {
  .all-departments { flex: 0 0 auto; }
}
main.gn-ed { padding: 0px; background: rgb(247, 244, 238); }
main.gn-ed + footer.gn-footer, main.gn-ed ~ .gn-footer { margin-top: 0px; }
.gn-ed figure { margin: 0px; }
.gn-ed img { display: block; width: 100%; height: auto; }
.gn-ed h1, .gn-ed h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 600; letter-spacing: -0.04em; line-height: 1.08; color: inherit; }
.gn-ed h1 { font-size: clamp(40px, 5.4vw, 72px); margin: 10px 0px 18px; }
.gn-ed h2 { font-size: clamp(30px, 3.4vw, 48px); margin: 10px 0px 16px; }
.gn-ed h1 span, .gn-ed h2 span { display: block; font-weight: 500; opacity: 0.78; }
.gn-ed .lead { max-width: 38rem; font-size: clamp(17px, 16px + 0.4vw, 20px); line-height: 1.55; margin: 0px 0px 8px; }
.gn-ed p { color: inherit; }
.gn-ed .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.gn-ed .hero-actions .button { min-height: 50px; min-width: 172px; max-width: calc(-44px + 100vw); padding-inline: 24px; white-space: nowrap; letter-spacing: 0px; }
.gn-ed-hero { position: relative; overflow: hidden; background: rgb(16, 37, 29); color: rgb(244, 247, 242); }
.gn-ed-hero-media { position: absolute; inset: 0px; }
.gn-ed-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 58%; }
.gn-ed-hero-media::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(16, 37, 29, 0.97) 0%, rgba(16, 37, 29, 0.86) 36%, rgba(16, 37, 29, 0.28) 68%, rgba(16, 37, 29, 0.08) 100%); }
.gn-ed-hero-inner { position: relative; z-index: 1; display: flex; align-items: flex-end; min-height: clamp(540px, 64vw, 740px); padding: 72px 0px 88px; }
.gn-ed-hero-copy { width: min(100%, 720px); }
.gn-ed-hero .eyebrow { color: rgb(201, 226, 149); }
.gn-ed-hero .lead { color: rgba(244, 247, 242, 0.82); }
.gn-ed-hero a.button:not(.button-outline), .gn-ed-close a.button:not(.button-outline) { background: rgb(201, 226, 149); color: rgb(22, 60, 45); border-color: rgb(201, 226, 149); }
.gn-ed-hero a.button.button-outline, .gn-ed-close a.button.button-outline { background: transparent; color: rgb(244, 247, 242); border: 1px solid rgba(244, 247, 242, 0.78); }
.gn-ed-hero a.button:not(.button-outline):hover, .gn-ed-close a.button:not(.button-outline):hover { background: rgb(216, 237, 176); border-color: rgb(216, 237, 176); color: rgb(16, 37, 29); }
.gn-ed-hero a.button.button-outline:hover, .gn-ed-close a.button.button-outline:hover { background: rgba(255, 255, 255, 0.12); color: rgb(255, 255, 255); border-color: rgb(255, 255, 255); }
.gn-ed-hero-split { background: rgb(16, 37, 29); }
.gn-ed-hero-grid { display: grid; grid-template-columns: minmax(0px, 0.92fr) minmax(320px, 1.08fr); min-height: clamp(560px, 62vw, 720px); align-items: stretch; gap: 0px; width: min(1600px, 100%); margin-left: auto; padding-left: max(32px, -800px + 50vw); }
.gn-ed-hero-copy-dark { display: flex; flex-direction: column; justify-content: center; padding: 64px 48px 64px 0px; color: rgb(244, 247, 242); }
.gn-ed-hero-panel { position: relative; min-height: 100%; background: rgb(22, 60, 45); }
.gn-ed-hero-panel img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; object-position: 50% 55%; }
.gn-ed-book-chip { position: absolute; left: 22px; right: 22px; bottom: 22px; background: rgba(16, 37, 29, 0.88); backdrop-filter: blur(18px); color: rgb(232, 240, 234); padding: 24px 24px 20px; border-radius: 16px; border: 1px solid rgba(201, 226, 149, 0.22); }
.gn-ed-book-chip .eyebrow { color: rgb(201, 226, 149); }
.gn-ed-book-chip strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 36px); letter-spacing: -0.03em; margin: 4px 0px 10px; color: rgb(255, 255, 255); }
.gn-ed-book-chip p { margin: 0px 0px 16px; font-size: 16px; line-height: 1.5; color: rgb(213, 228, 218); }
.gn-ed-book-chip .button { width: auto; min-width: 172px; background: rgb(201, 226, 149); color: rgb(22, 60, 45); border-color: rgb(201, 226, 149); }
.gn-ed-book-chip .consult-meta { margin: 14px 0px 0px; font-size: 15px; }
.gn-ed-book-chip .consult-meta a { color: rgb(255, 255, 255); }
.gn-ed-split { display: grid; grid-template-columns: minmax(0px, 1.1fr) minmax(280px, 0.9fr); gap: clamp(32px, 6vw, 80px); align-items: center; padding: 88px 0px; }
.gn-ed-split-copy .eyebrow { color: var(--green); }
.gn-ed-split-copy h2 { color: var(--ink); }
.gn-ed-split-copy .lead, .gn-ed-split-copy p { color: var(--muted); }
.gn-ed-split-copy .lead { color: var(--ink); }
.gn-ed-split-media { background: rgb(236, 230, 216); padding: 28px; min-height: 420px; display: grid; place-items: center; }
.gn-ed-split-media img { width: 100%; max-width: 460px; height: auto; object-fit: contain; }
.gn-ed-book { grid-template-columns: minmax(220px, 0.7fr) minmax(0px, 1.3fr); padding-top: 32px; }
.gn-ed-book-media { background: transparent; padding: 0px; min-height: 0px; }
.gn-ed-book-media img { max-width: 340px; margin-inline: auto; filter: drop-shadow(rgba(16, 37, 29, 0.157) 0px 18px 40px); }
.gn-ed-ledger { display: grid; grid-template-columns: minmax(0px, 0.78fr) minmax(0px, 1.22fr); gap: clamp(28px, 5vw, 72px); padding: 24px 0px 88px; }
.gn-ed-ledger-intro .eyebrow { color: var(--green); }
.gn-ed-ledger-intro h2 { color: var(--ink); }
.gn-ed-ledger-intro .lead { color: var(--muted); }
.gn-ed-ledger ol { list-style: none; margin: 0px; padding: 0px; border-top: 1px solid var(--line); }
.gn-ed-ledger li { display: grid; grid-template-columns: 52px minmax(0px, 1fr); gap: 18px; padding: 22px 0px; border-bottom: 1px solid var(--line); align-items: start; }
.gn-ed-ledger li > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: rgb(231, 240, 228); color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: 0.04em; }
.gn-ed-ledger h3 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2vw, 28px); font-weight: 600; letter-spacing: -0.03em; color: var(--ink); margin: 4px 0px 8px; }
.gn-ed-ledger p { margin: 0px; color: var(--muted); max-width: 42rem; }
.gn-ed-values { background: rgb(236, 230, 216); padding: 88px 0px; }
.gn-ed-values .eyebrow { color: var(--green); }
.gn-ed-values h2 { color: var(--ink); max-width: 22rem; }
.gn-ed-values ul { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 22px; list-style: none; margin: 36px 0px 0px; padding: 0px; }
.gn-ed-values li { background: rgb(247, 244, 238); padding: 24px 22px 22px; min-height: 0px; }
.gn-ed-values strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 10px; }
.gn-ed-values p { margin: 0px; color: var(--muted); font-size: 16px; line-height: 1.5; }
.gn-ed-values .sample-note { margin: 22px 0px 0px; color: var(--muted); font-size: 15px; }
.gn-ed-quote { padding: 32px 0px 88px; max-width: 46rem; }
.gn-ed-quote blockquote { margin: 0px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.35; letter-spacing: -0.03em; color: var(--ink); }
.gn-ed-quote cite { display: block; margin-top: 16px; color: var(--muted); font-size: 15px; font-style: normal; }
.gn-ed-close { background: rgb(16, 37, 29); color: rgb(244, 247, 242); padding: 88px 0px; }
.gn-ed-close .eyebrow { color: rgb(201, 226, 149); }
.gn-ed-close h2 { max-width: 22rem; }
.gn-ed-close p { color: rgba(244, 247, 242, 0.78); max-width: 38rem; margin: 0px; }
@media (max-width: 960px) {
  .gn-ed-hero-grid, .gn-ed-split, .gn-ed-book, .gn-ed-ledger { grid-template-columns: minmax(0px, 1fr); }
  .gn-ed-hero-grid { padding-left: 32px; width: 100%; }
  .gn-ed-hero-copy-dark { padding: 48px 0px 36px; }
  .gn-ed-hero-panel img { min-height: 420px; }
  .gn-ed-values ul { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .gn-ed-split-media { min-height: 0px; padding: 20px; }
  .gn-ed-book-media img { max-width: 260px; }
}
@media (max-width: 700px) {
  .gn-ed-values ul { grid-template-columns: minmax(0px, 1fr); }
}
@media (max-width: 600px) {
  .gn-ed-hero-grid { padding-left: 14px; padding-right: 14px; }
  .gn-ed h1 { font-size: 34px; }
  .gn-ed h2 { font-size: 28px; }
  .gn-ed-hero-inner { min-height: 560px; padding: 44px 0px 72px; align-items: flex-end; }
  .gn-ed-hero-media::after { background: linear-gradient(rgba(16, 37, 29, 0.55) 0%, rgba(16, 37, 29, 0.18) 38%, rgba(16, 37, 29, 0.92) 100%); }
  .gn-ed-hero-panel img { min-height: 360px; }
  .gn-ed-book-chip { left: 14px; right: 14px; bottom: 14px; padding: 20px; }
  .gn-ed-split, .gn-ed-ledger, .gn-ed-values, .gn-ed-close { padding-block: 56px; }
  .gn-ed-values ul { grid-template-columns: 1fr; }
  .gn-ed .hero-actions { display: grid; grid-template-columns: 1fr; }
  .gn-ed .hero-actions .button, .gn-ed-book-chip .button { width: 100%; min-width: 0px; justify-content: center; }
}
main.gn-ed .gn-ed-hero .hero-actions a.button.button-outline, main.gn-ed .gn-ed-close .hero-actions a.button.button-outline { background: rgba(255, 255, 255, 0.14) !important; color: rgb(255, 255, 255) !important; border: 1px solid rgba(255, 255, 255, 0.9) !important; }
@media (max-width: 700px) {
  main.gn-ed .gn-ed-values ul { grid-template-columns: 1fr !important; }
}
.gn-ed-hero-plain .gn-ed-hero-inner { align-items: center; min-height: clamp(420px, 48vw, 560px); padding: 64px 0px 72px; }
.gn-ed-contact { grid-template-columns: minmax(0px, 0.78fr) minmax(0px, 1.22fr); align-items: start; }
.gn-ed-hours { display: grid; grid-template-columns: minmax(0px, 0.78fr) minmax(0px, 1.22fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.gn-ed-hours .lead { color: var(--muted); }
.gn-ed-rows { display: grid; margin: 0px; border-top: 1px solid var(--line); }
.gn-ed-values .gn-ed-rows { border-top-color: rgb(216, 208, 194); }
.gn-ed-rows > div { display: grid; grid-template-columns: 132px minmax(0px, 1fr); gap: 22px; padding: 20px 0px; border-bottom: 1px solid var(--line); align-items: start; }
.gn-ed-values .gn-ed-rows > div { border-bottom-color: rgb(216, 208, 194); }
.gn-ed-rows dt { margin: 0px; padding-top: 8px; color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.gn-ed-rows dd { margin: 0px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2.1vw, 30px); font-weight: 600; letter-spacing: -0.03em; line-height: 1.25; color: var(--ink); }
.gn-ed-rows dd a { color: var(--ink); text-decoration: none; display: inline-block; min-height: 44px; }
.gn-ed-rows dd a:hover { color: var(--green); }
.gn-ed-rows small { display: block; margin-top: 6px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 400; letter-spacing: 0px; color: var(--muted); }
.gn-ed-learn { padding: 72px 0px 40px; }
.gn-ed-learn .eyebrow { color: var(--green); }
.gn-ed-learn h2 { color: var(--ink); margin-bottom: 28px; }
.gn-ed-link-list { list-style: none; margin: 0px; padding: 0px; border-top: 1px solid var(--line); }
.gn-ed-link-list a { display: grid; gap: 6px; padding: 22px 0px; border-bottom: 1px solid var(--line); text-decoration: none; min-height: 44px; color: inherit; }
.gn-ed-link-list strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2vw, 28px); font-weight: 600; letter-spacing: -0.03em; color: var(--ink); }
.gn-ed-link-list span { color: var(--muted); font-size: 17px; line-height: 1.5; max-width: 42rem; }
.gn-ed-link-list a:hover strong { color: var(--green); }
.green-card { background: rgb(22, 60, 45); color: rgb(232, 240, 234); border-color: rgb(22, 60, 45); }
.green-card p, .green-card a, .green-card .eyebrow, .green-card .sample-note, .green-card h2 { color: rgb(232, 240, 234); }
@media (max-width: 960px) {
  .gn-ed-contact, .gn-ed-hours { grid-template-columns: minmax(0px, 1fr); }
  .gn-ed-rows > div { grid-template-columns: 110px minmax(0px, 1fr); gap: 16px; }
}
@media (max-width: 600px) {
  .gn-ed-hero-plain .gn-ed-hero-inner { min-height: 0px; padding: 48px 0px 56px; }
  .gn-ed-rows > div { grid-template-columns: minmax(0px, 1fr); gap: 6px; }
  .gn-ed-rows dt { padding-top: 0px; }
}

/* floating-whatsapp.css */
.gn-social-rail { position: fixed; z-index: 24; right: env(safe-area-inset-right); top: 42%; display: flex; flex-direction: column; width: 52px; box-shadow: rgba(16, 45, 36, 0.2) 0px 5px 20px; border-radius: 12px 0px 0px 12px; overflow: hidden; }
.gn-social-toggle, .gn-social-link { display: flex; align-items: center; justify-content: center; width: 52px; min-height: 52px; border: 0px; border-radius: 0px; color: rgb(255, 255, 255); text-decoration: none; }
.gn-social-toggle { background: rgb(16, 45, 36); cursor: pointer; }
.gn-social-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentcolor; stroke-width: 2; transition: transform 0.18s; }
.gn-social-rail[data-collapsed="true"] .gn-social-toggle svg { transform: rotate(180deg); }
.gn-social-links { display: flex; flex-direction: column; }
.gn-social-rail[data-collapsed="true"] .gn-social-links { display: none; }
.gn-social-link svg { display: block; width: 21px; height: 21px; }
.gn-social-label { display: none; }
.gn-social-facebook { background: rgb(59, 89, 152); }
.gn-social-instagram { background: rgb(169, 50, 118); }
.gn-social-youtube { background: rgb(220, 48, 53); }
.gn-social-google { background: rgb(255, 255, 255); color: rgb(31, 31, 31); }
.gn-social-link img.gn-google-logo { display: block; width: 22px; height: 22px; object-fit: contain; }
.gn-social-whatsapp { background: rgb(35, 107, 68); }
.gn-social-link:hover, .gn-social-link:visited, .gn-social-link:focus-visible { color: rgb(255, 255, 255); }
.gn-social-link.gn-social-google:is(:hover, :visited, :focus-visible) { color: rgb(31, 31, 31); }
.gn-social-link:hover, .gn-social-toggle:hover { filter: brightness(0.88); }
.gn-social-toggle:focus-visible, .gn-social-link:focus-visible { outline: rgb(244, 209, 126) solid 3px; outline-offset: -4px; position: relative; z-index: 1; }
.gn-footer { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
@media (min-width: 1200px) {
  body .gn-footer { padding-right: 20px; }
  .gn-social-rail { overflow: visible; border-radius: 0px; box-shadow: none; }
  .gn-social-toggle { border-radius: 12px 0px 0px; box-shadow: rgba(16, 45, 36, 0.2) 0px 5px 20px; }
  .gn-social-links { width: 52px; }
  .gn-social-link { position: relative; justify-content: flex-end; padding-right: 16px; box-sizing: border-box; box-shadow: rgba(16, 45, 36, 0.15) 0px 5px 20px; transition: width 0.2s, margin-left 0.2s; }
  .gn-social-link:last-child { border-radius: 0px 0px 0px 12px; }
  .gn-social-label { display: block; position: absolute; left: 16px; white-space: nowrap; font-size: 14px; font-weight: 600; opacity: 0; visibility: hidden; }
  .gn-social-link:hover, .gn-social-link:focus-visible { width: 190px; margin-left: -138px; border-radius: 10px 0px 0px 10px; z-index: 2; }
  .gn-social-link:hover .gn-social-label, .gn-social-link:focus-visible .gn-social-label { opacity: 1; visibility: visible; }
}
@media (min-width: 601px) and (max-width: 1199px) {
}
.gn-editorial [id="joy"], .gn-editorial [id="juig"], .gn-editorial [id="natural-medicine"], .gn-editorial [id="leef"], .gn-editorial [id="radio"] { scroll-margin-top: 190px; }
@media (max-width: 1199px) {
  .gn-social-rail { top: auto; bottom: calc(82px + env(safe-area-inset-bottom)); flex-direction: column-reverse; width: 28px; }
  .gn-social-rail[data-mobile-open="true"] { width: 48px; }
  .gn-social-toggle { width: 28px; min-height: 48px; }
  .gn-social-rail[data-mobile-open="true"] .gn-social-toggle, .gn-social-link { width: 48px; min-height: 48px; }
  .gn-social-toggle svg { transform: rotate(90deg); }
  .gn-social-rail[data-mobile-open="true"] .gn-social-toggle svg { transform: rotate(-90deg); }
  .gn-social-links, .gn-social-rail[data-collapsed="true"] .gn-social-links { display: none; }
  .gn-social-rail[data-mobile-open="true"] .gn-social-links { display: flex; }
}
@media (max-width: 600px) {
}
@media (prefers-reduced-motion: reduce) {
  .gn-social-toggle svg, .gn-social-link { transition: none; }
}
@media print {
  .gn-social-rail { display: none; }
}
.gn-social-whatsapp-quick { display: none; }
@media (max-width: 1199px) {
  .gn-social-rail, .gn-social-toggle { width: 48px; }
  .gn-social-whatsapp-quick { display: flex; width: 48px; min-height: 48px; background: rgb(35, 107, 68); color: rgb(255, 255, 255); align-items: center; justify-content: center; }
  .gn-social-whatsapp-quick svg { width: 24px; height: 24px; }
  .gn-social-rail[data-mobile-open="true"] .gn-social-whatsapp-quick { display: none; }
  .gn-social-whatsapp-quick:focus-visible { outline: rgb(244, 209, 126) solid 3px; outline-offset: -4px; }
}
@media (max-width: 1199px) {
  html body .gn-social-rail[data-gn-social-rail] { position: static; inset: auto; flex-flow: wrap; justify-content: center; width: 100%; max-width: 100%; box-sizing: border-box; margin: 0px; padding: 16px; gap: 8px; border-radius: 0px; box-shadow: none; background: rgb(243, 246, 239); display: flex !important; }
  html body .gn-social-rail[data-gn-social-rail][data-mobile-open="true"] { width: 100%; }
  .gn-social-rail .gn-social-toggle { display: none; }
  .gn-social-rail .gn-social-whatsapp-quick { display: none; }
  html body .gn-social-rail[data-gn-social-rail] .gn-social-links { display: flex; width: auto; flex-flow: wrap; justify-content: center; gap: 8px; }
  html body .gn-social-rail[data-gn-social-rail] .gn-social-link { flex: 0 0 48px; border-radius: 8px; }
}
@media print {
  body .gn-social-rail[data-gn-social-rail] { display: none !important; }
}

/* refinements.css */
:root { --gn-body-size: 18px; --gn-prose-width: 92ch; --gn-site-width: 1600px; }
body { font-size: var(--gn-body-size); line-height: 1.6; }
.header-main { padding-top: 14px; }
@media (min-width: 601px) {
  .admin-bar .site-header { top: var(--wp-admin--admin-bar--height,32px); }
}
.gn-mobile-services { display: none; }
[data-gn-menu-icon][hidden], [data-gn-hero-slide][hidden], [data-gn-hero-controls][hidden] { display: none !important; }
.woocommerce nav.woocommerce-pagination ul, .navigation.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 100%; }
.woocommerce nav.woocommerce-pagination ul li { float: none; margin: 0px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span, .navigation.pagination .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; box-sizing: border-box; }
.button, .gn-button, a.button, button.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .hero-actions .button, .gn-ed .hero-actions .button { white-space: normal; overflow-wrap: anywhere; min-width: 0px; text-align: center; line-height: 1.4; }
.gn-ed h1 { font-size: clamp(32px, 4vw, 56px); line-height: 1.12; }
.gn-ed h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.2; }
.gn-ed p, .gn-ed .lead { font-size: 18px; line-height: 1.6; }
.gn-ed-rows dd { font-family: Arial, Helvetica, sans-serif; font-size: 22px; line-height: 1.5; letter-spacing: 0px; overflow-wrap: anywhere; }
.gn-editorial { max-width: 100%; line-height: 1.65; }
.gn-editorial :where(p, ul, ol, blockquote, h2, h3, h4) { max-width: var(--gn-prose-width); }
.gn-editorial h2, .gn-editorial h3, .gn-editorial h4 { margin-top: 1.8em; margin-bottom: 0.65em; line-height: 1.25; }
.gn-editorial > h2:first-child { margin-top: 0px; }
.gn-editorial a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
.gn-editorial :where(img, iframe, video) { max-width: 100%; }
.gn-editorial table { display: block; max-width: 100%; overflow-x: auto; }
.gn-content-toc { background: rgb(237, 243, 235); border: 1px solid rgb(197, 212, 199); border-radius: 8px; padding: 20px; max-width: 100%; margin-block: 24px; }
.gn-content-toc a { display: inline-block; padding-block: 5px; }
.gn-recipe-download { display: inline-block; min-height: 44px; padding-block: 8px; }
.gn-event-groups { display: grid; gap: 32px; }
.gn-event-card { padding-block: 24px; border-top: 1px solid var(--line); }
.gn-event-card img { max-height: 540px; width: auto; object-fit: contain; }
.gn-editorial .gn-media-page { max-width: var(--gn-site-width); margin-inline: auto; }
.gn-editorial .gn-media-intro { max-width: none; margin: 0px 0px 28px; color: rgb(82, 100, 90); font-size: 17px; }
.gn-media-section { border-top: 1px solid rgb(217, 227, 217); }
.gn-media-section:last-child { border-bottom: 1px solid rgb(217, 227, 217); }
.gn-media-section summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 80px; padding: 19px 6px; cursor: pointer; list-style: none; color: rgb(24, 62, 48); font-size: clamp(21px, 2vw, 28px); font-weight: 700; }
.gn-media-section summary::-webkit-details-marker { display: none; }
.gn-media-section summary:focus-visible { outline: rgb(35, 95, 72) solid 3px; outline-offset: 3px; border-radius: 4px; }
.gn-media-section summary::after { content: "+"; font-size: 28px; font-weight: 400; line-height: 1; }
.gn-media-section details[open] summary::after { content: "−"; }
.gn-media-section summary small { margin-left: auto; color: rgb(104, 122, 112); font-size: 13px; font-weight: 500; white-space: nowrap; }
.gn-media-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 14px; padding: 3px 0px 28px; }
.gn-media-card { display: flex; flex-direction: column; gap: 18px; min-width: 0px; padding: 20px; border: 1px solid rgb(223, 232, 222); border-radius: 8px; background: rgb(247, 250, 246); }
.gn-editorial .gn-media-card h3 { max-width: none; margin: 0px; font-size: 17px; line-height: 1.4; }
.gn-media-card a { align-self: flex-start; margin-top: auto; font-size: 13px; font-weight: 700; color: rgb(36, 87, 65); }
.gn-media-card audio { display: block; width: 100%; max-width: 100%; margin-top: auto; }
@media (max-width: 900px) {
  .gn-media-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 600px) {
  .gn-media-grid { grid-template-columns: 1fr; }
  .gn-media-section summary { min-height: 68px; font-size: 20px; }
  .gn-media-section summary small { font-size: 11px; }
  .gn-media-card { padding: 17px; }
}
.gn-contact-intro { padding: 40px 0px; background: rgb(237, 243, 235); }
.gn-contact-intro .gn-ed-hero-inner { min-height: 0px; padding: 0px; }
.gn-contact-intro .gn-ed-hero-copy { width: 100%; max-width: 900px; }
.gn-contact-intro .lead { max-width: 70ch; color: var(--ink); }
.gn-contact-intro h1 { color: var(--ink); }
.gn-equipment-ranges > li { display: flex; justify-content: space-between; gap: 24px; padding-block: 24px; border-bottom: 1px solid var(--line); }
.gn-equipment-range-copy { display: grid; gap: 8px; max-width: 60ch; }
.gn-equipment-range-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.gn-ed-link-list .gn-equipment-range-actions a { display: inline-flex; align-items: center; padding: 10px 16px; min-height: 44px; border: 1px solid var(--green); border-radius: 6px; font-size: 16px; font-weight: 600; white-space: normal; }
.gn-consultation-scope { max-width: 65ch; margin-top: 20px; font-size: 16px !important; }
.gn-search-context, .gn-shopping-help, .gn-payment-guidance { font-size: 16px; margin-block: 16px; }
.gn-search-context a, .gn-shopping-help a { text-decoration: underline; text-underline-offset: 3px; }
.gn-payment-guidance { padding: 14px; background: rgb(237, 243, 235); border-radius: 6px; }
.gn-image-unavailable { display: grid; place-items: center; width: 100%; height: 100%; min-height: 100px; background: rgb(241, 244, 239); border-radius: 8px; color: rgb(76, 97, 83); font-size: 15px; text-align: center; padding: 12px; }
.category-card.gn-category-text { display: flex; align-items: center; min-height: 90px; }
.category-card.gn-category-text h3 { margin: 0px; }
.woocommerce ul.products li.product .product-meta h3 { display: block; max-height: none; -webkit-line-clamp: unset; overflow: visible; line-height: 1.45; }
.gn-saved-actions button { font-size: 14px; min-height: 44px; }
.gn-selection-feedback { position: fixed; z-index: 80; bottom: 92px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 32px); padding: 14px 20px; border: 1px solid rgb(210, 223, 211); border-radius: 8px; background: rgb(16, 45, 36); color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 18px; font-size: 16px; line-height: 1.5; }
.gn-selection-feedback:empty { display: none; }
.gn-selection-feedback a { color: rgb(255, 255, 255); text-decoration: underline; }
.gn-selection-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.gn-selection-actions button { min-height: 44px; padding: 10px 16px; }
.gn-selection-grid.gn-compare-grid { display: block; min-width: 0px; }
.gn-comparison-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; }
.gn-editorial .gn-comparison-table { display: table; width: 100%; border-collapse: collapse; table-layout: fixed; min-width: 650px; background: rgb(255, 255, 255); }
.gn-comparison-table th, .gn-comparison-table td { padding: 16px; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; text-align: left; font-size: 16px; }
.gn-comparison-table caption { text-align: left; font-size: 18px; font-weight: 700; padding: 16px; }
.gn-comparison-table th { background: rgb(241, 245, 239); }
.gn-comparison-table img { height: 150px; width: 100%; object-fit: contain; }
.gn-comparison-table h2 { font-size: 19px; line-height: 1.4; }
.gn-comparison-table .button { margin-top: 0px; font-size: 15px; padding: 10px; }
.hero-display.gn-hero-products { display: flex; flex-direction: column; justify-content: space-between; gap: 12px; padding: 22px; min-height: 400px; }
.gn-hero-products-kicker { color: var(--green); font-size: 12px; letter-spacing: 0.1em; align-self: flex-start; }
.gn-hero-product-slides { width: 100%; flex: 1 1 0%; }
.gn-hero-product-link { display: block; color: var(--ink); }
.gn-hero-product-image { width: 100%; height: 240px; object-fit: contain; }
.gn-hero-product-name { display: block; font-size: 19px; font-weight: 700; line-height: 1.35; margin-top: 12px; }
.gn-hero-product-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; color: var(--green-dark); }
.gn-hero-product-price { font-size: 21px; font-weight: 700; }
.gn-hero-product-details { font-size: 15px; text-decoration: underline; }
.gn-hero-product-controls { display: flex; justify-content: center; align-items: center; gap: 16px; color: var(--green-dark); }
.gn-hero-product-controls button { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid rgb(182, 200, 185); background: rgb(237, 243, 235); color: var(--green-dark); border-radius: 50%; font-size: 22px; }
.gn-hero-product-count { font-size: 14px; }
@media (max-width: 1199px) {
  .service-bar nav { display: none !important; }
  .service-bar > .shell { justify-content: center; }
  .navigation .nav-inner { flex-wrap: wrap; }
  .gn-mobile-services { display: flex; flex-wrap: wrap; gap: 4px 20px; width: 100%; flex-basis: 100%; padding: 10px 0px; border-bottom: 1px solid var(--line); order: -1; }
  .gn-mobile-services a { display: flex; align-items: center; min-height: 44px; font-size: 16px; font-weight: 600; }
}
@media (max-width: 800px) {
  .gn-equipment-ranges > li { flex-direction: column; }
  .gn-equipment-range-actions { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .gn-ed h1 { font-size: 34px; }
  .gn-ed h2 { font-size: 28px; }
  .gn-mobile-services { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
  .gn-mobile-services a { padding: 7px 0px; }
  .gn-contact-intro { padding: 28px 0px; }
  .gn-ed .hero-actions .button { max-width: 100%; width: 100%; }
  .gn-editorial { padding: 18px; }
  .gn-comparison-table { min-width: 620px; }
  .hero-display.gn-hero-products { min-height: 350px; padding: 18px; }
  .gn-hero-product-image { height: 190px; }
  .gn-hero-product-name { font-size: 17px; }
  .gn-hero-product-meta { flex-wrap: wrap; }
}
.gn-shopping-help-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.gn-promotion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gn-promo { display: grid; grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 0.85fr); align-items: center; gap: 24px; padding: 32px; border-radius: 12px; overflow: hidden; background: rgb(21, 60, 43); color: rgb(255, 255, 255); }
.gn-promo-book { background: rgb(238, 232, 217); color: rgb(24, 61, 44); }
.gn-promo h3 { font-size: clamp(26px, 2.4vw, 36px); line-height: 1.15; color: inherit; margin: 12px 0px 18px; }
.gn-promo p { font-size: 17px; line-height: 1.5; color: inherit; }
.gn-promo .eyebrow { font-size: 12px; letter-spacing: 0.1em; color: inherit; }
.gn-promo .gn-promo-product { font-size: 15px; margin-top: 20px; }
.gn-promo .gn-promo-price { font-size: 28px; font-weight: 700; margin: 10px 0px 20px; }
.gn-promo-copy { min-width: 0px; }
.gn-promo-image { padding: 0px; background: transparent; border-radius: 0px; min-width: 0px; display: flex; align-items: center; justify-content: center; }
.gn-promo-image img { display: block; width: 100%; height: 240px; object-fit: contain; object-position: center center; border-radius: 0px; }
.gn-promo-mill .button { background: rgb(201, 226, 149); color: rgb(20, 60, 41); }
@media (max-width: 1000px) {
  .gn-promotion-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .gn-shopping-help-grid { grid-template-columns: 1fr; }
  .gn-promo { grid-template-columns: 1fr; padding: 24px; }
  .gn-promo-image { grid-row: 1; max-width: 260px; width: 100%; margin: auto; }
  .gn-promo-image img { height: 210px; }
}
main.gn-ed .gn-contact-intro .eyebrow { color: rgb(40, 91, 67); }
main.gn-ed .gn-contact-intro .hero-actions a.button.button-outline { color: rgb(22, 60, 45) !important; border-color: rgb(40, 91, 67) !important; background: transparent !important; }
main.gn-ed .gn-contact-intro .hero-actions a.button.button-outline:hover { background: rgb(220, 233, 220) !important; }
.gn-purchase-progress { flex-wrap: wrap; row-gap: 12px; }
.product-image img, .category-card img, .equipment-preview img { object-fit: contain; object-position: center center; max-width: 100%; }
.gn-footer .gn-footer-links a { display: flex; align-items: flex-start; justify-content: flex-start; gap: 10px; width: 100%; min-height: 44px; padding: 9px 0px; }
.gn-footer .gn-footer-links a::after { content: none; display: none; }
.gn-footer-links a > span:last-child { min-width: 0px; }
.gn-footer-link-arrow { flex: 0 0 16px; width: 16px; text-align: left; line-height: inherit; }
.gn-footer-contact-list { list-style: none; margin: 0px; padding: 0px; }
.gn-footer .gn-footer-contact-row { display: flex; align-items: flex-start; gap: 12px; margin: 0px; padding: 9px 0px; min-height: 44px; line-height: 1.5; }
.gn-footer-contact-row > span { min-width: 0px; overflow-wrap: anywhere; }
.gn-footer-contact-row > svg { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; }
.gn-footer-visit > p.gn-footer-contact-row { margin-bottom: 4px; }
.search-form { position: relative; overflow: visible; }
.gn-search-suggestions { position: absolute; top: calc(100% + 8px); left: 0px; right: 0px; z-index: 1100; background: rgb(255, 255, 255); color: rgb(25, 59, 45); border: 1px solid rgb(203, 220, 210); border-radius: 12px; box-shadow: rgba(16, 41, 28, 0.15) 0px 14px 35px; padding: 8px; max-height: min(520px, 65vh); overflow-y: auto; text-align: left; }
.gn-search-suggestions[hidden] { display: none; }
.gn-search-status { font-size: 13px; padding: 8px 12px; color: rgb(82, 105, 93); }
.gn-search-option { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: inherit; min-height: 72px; }
.gn-search-option img { width: 52px; height: 52px; object-fit: contain; flex-shrink: 0; }
.gn-search-option > span { min-width: 0px; display: grid; gap: 4px; }
.gn-search-option strong { font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.gn-search-option span span { font-size: 14px; }
.gn-search-option:hover, .gn-search-option[aria-selected="true"] { background: rgb(237, 244, 238); }
.gn-search-all { display: block; padding: 14px 12px; border-top: 1px solid rgb(225, 233, 227); font-weight: 700; color: rgb(40, 91, 67); }
.gn-search-all:focus-visible { outline: rgb(40, 91, 67) solid 2px; outline-offset: -2px; }
.woocommerce-Tabs-panel--description { font-family: Arial, sans-serif; font-size: 18px; line-height: 1.75; overflow-wrap: anywhere; }
.woocommerce-Tabs-panel--description > p, .woocommerce-Tabs-panel--description > div:not(.gn-book-description), .woocommerce-Tabs-panel--description > ul, .woocommerce-Tabs-panel--description > ol { max-width: 96ch; margin: 0px 0px 1.25em; }
.woocommerce-Tabs-panel--description h2, .woocommerce-Tabs-panel--description h3, .woocommerce-Tabs-panel--description h4 { max-width: 96ch; line-height: 1.25; margin: 1.8em 0px 0.65em; }
.woocommerce-Tabs-panel--description ul, .woocommerce-Tabs-panel--description ol { padding-left: 1.4em; }
.woocommerce-Tabs-panel--description li { margin: 0.5em 0px; padding-left: 0.25em; }
.gn-book-description { max-width: 70ch; padding: 12px 0px 28px; }
.gn-book-description p { margin: 0px 0px 1.35em; }
.gn-book-description .gn-book-intro { border-bottom: 1px solid rgb(206, 219, 210); padding: 0px 0px 24px; margin-bottom: 28px; }
.gn-book-description .gn-book-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(73, 102, 87); margin: 0px 0px 12px; }
.gn-book-description .gn-book-intro h2 { font-family: Georgia, serif; font-size: clamp(30px, 3vw, 42px); font-weight: 400; margin: 0px 0px 8px; }
.gn-book-description .gn-book-subtitle { font-size: 22px; line-height: 1.4; margin: 0px; color: rgb(73, 102, 87); }
.gn-book-description h3 { font-size: 25px; margin: 42px 0px 18px; }
@media (max-width: 600px) {
  .woocommerce-Tabs-panel--description { font-size: 17px; line-height: 1.7; }
  .gn-book-description h3 { font-size: 23px; margin-top: 32px; }
  .gn-book-description .gn-book-subtitle { font-size: 20px; }
}
.woocommerce-Tabs-panel--description > .gn-book-description { margin-inline: auto; }
.hero-display.gn-hero-products.gn-hero-campaigns { padding: 0px; min-height: 0px; gap: 0px; align-self: center; background: rgb(18, 59, 41); overflow: hidden; container-type: inline-size; }
.gn-hero-campaign-slide { position: relative; isolation: isolate; }
.gn-carousel-ready .gn-hero-product-slides { display: grid; }
.gn-carousel-ready .gn-hero-campaign-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 2000ms ease-in-out; }
.gn-carousel-ready .gn-hero-campaign-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
.gn-carousel-ready .gn-hero-campaign-slide.is-leaving { visibility: visible; z-index: 0; }
.gn-hero-campaign-image { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: contain; }
.gn-hero-campaign-slide::after { content: ""; position: absolute; inset: 0px; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(8, 43, 27, 0.88), rgba(8, 43, 27, 0.58) 42%, transparent 68%); }
.gn-hero-campaign-copy { position: absolute; z-index: 1; inset: 0px auto 0px 0px; width: 50%; padding: clamp(20px, 4.5cqw, 30px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 15px; color: rgb(255, 248, 232); }
.gn-hero-campaigns .gn-hero-campaign-eyebrow { font: 600 clamp(10px, 1.8cqw, 12px) / 1.5 Arial, sans-serif; letter-spacing: 0.14em; text-transform: uppercase; margin: 0px; color: rgb(255, 248, 232); }
.gn-hero-campaigns .gn-hero-campaign-heading { font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 6.1cqw, 40px); font-weight: 700; line-height: 1.06; letter-spacing: -0.025em; color: rgb(255, 248, 232); margin: 0px; }
.gn-hero-campaigns .gn-hero-campaign-support { font: 400 clamp(14px, 2.6cqw, 17px) / 1.45 Arial, sans-serif; color: rgb(255, 248, 232); margin: 0px; }
.gn-hero-campaign-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 10px 15px; border: 1px solid rgb(255, 244, 215); border-radius: 6px; background: rgb(255, 244, 215); color: rgb(18, 59, 41); font: 700 clamp(13px, 2.3cqw, 15px) / 1.3 Arial, sans-serif; text-decoration: none; max-width: 100%; box-sizing: border-box; transition: background 0.15s, color 0.15s; }
.gn-hero-campaign-cta:hover { background: rgb(255, 255, 255); color: rgb(18, 59, 41); }
.gn-hero-campaign-cta:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: 4px; }
.gn-hero-campaign-cta > span:last-child { font-size: 20px; flex-shrink: 0; }
.gn-hero-campaigns .gn-hero-product-controls { position: absolute; z-index: 3; inset: 0px; display: block; min-height: 0px; padding: 0px; border: 0px; background: transparent; pointer-events: none; }
.gn-hero-campaigns .gn-hero-product-controls[hidden] { display: none; }
.gn-hero-campaigns .gn-hero-product-controls button { position: absolute; top: 12px; transform: none; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 48px; height: 48px; min-width: 48px; min-height: 48px; margin: 0px; padding: 0px; border: 1px solid rgb(153, 108, 40); border-radius: 50%; background: rgb(23, 59, 44); color: rgb(255, 255, 255); cursor: pointer; pointer-events: auto; }
.gn-hero-campaigns [data-gn-hero-direction="previous"] { left: 12px; }
.gn-hero-campaigns [data-gn-hero-direction="next"] { right: 12px; }
.gn-hero-campaigns .gn-hero-product-controls button:hover { background: rgb(46, 93, 73); }
.gn-hero-campaigns .gn-hero-product-controls button:focus-visible { outline: rgb(153, 108, 40) solid 3px; outline-offset: 3px; }
.gn-hero-campaigns .gn-hero-product-controls svg { width: 24px; height: 24px; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gn-hero-campaigns .gn-hero-product-count { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@container (min-width: 461px) {
  .hero .gn-hero-campaign-slide--bundle .gn-hero-campaign-copy { padding-left: 76px; }
}
@media (max-width: 700px) {
  .gn-hero-campaigns [data-gn-hero-direction="next"] { right: 12px; }
}
.gn-carousel-ready.gn-hero-settling .gn-hero-campaign-slide { transition: none; }
@media (prefers-reduced-motion: reduce) {
  .gn-hero-campaigns .gn-hero-product-controls, .gn-hero-campaign-cta, .gn-carousel-ready .gn-hero-campaign-slide { transition: none; }
}
@container (max-width: 460px) {
  .gn-hero-campaign-slide::after { display: none; }
  .gn-hero-campaign-copy { position: relative; inset: auto; width: 100%; padding: 24px; gap: 12px; background: rgb(18, 59, 41); }
  .gn-hero-campaigns .gn-hero-campaign-heading { font-size: 30px; max-width: 16ch; }
  .gn-hero-campaigns .gn-hero-campaign-eyebrow { font-size: 11px; }
  .gn-hero-campaigns .gn-hero-campaign-support { font-size: 16px; }
  .gn-hero-campaign-cta { font-size: 15px; }
}
@media (max-width: 600px) {
  .hero-display.gn-hero-products.gn-hero-campaigns { width: 100%; border-radius: 12px; }
}
.nav-links > a { display: flex; align-items: center; gap: 9px; }
.nav-links > a > .icon { width: 22px; height: 22px; flex: 0 0 22px; }
.nav-links > a > span { min-width: 0px; }
.gn-sidebar { padding: 18px; }
.gn-sidebar h2 { font: 700 22px / 1.25 Arial, sans-serif; letter-spacing: -0.3px; margin: 0px 0px 8px; }
.gn-sidebar summary { font: 600 15px / 1.4 Arial, sans-serif; min-height: 44px; align-content: center; }
.gn-sidebar details { padding: 5px 0px; }
.gn-sidebar li, .gn-sidebar select, .gn-sidebar .button { font-size: 15px; }
.gn-carousel-ready .gn-hero-product-slides { display: block; position: relative; }
.gn-carousel-ready .gn-hero-campaign-slide { position: absolute; inset: 0px auto auto 0px; width: 100%; }
.gn-carousel-ready .gn-hero-campaign-slide.is-active { position: relative; inset: auto; }

/* header-refinements.css */
.service-bar { background: rgb(22, 61, 45); }
.service-bar > .shell { min-height: 42px; }
.service-bar nav { gap: 24px; }
.service-bar a { font-size: 14px; font-weight: 500; }
.service-bar .icon { width: 17px; height: 17px; opacity: 1; }
.site-header { background: rgb(255, 255, 255); backdrop-filter: none; box-shadow: rgb(217, 227, 220) 0px 1px 0px; }
.site-header .header-main { grid-template-columns: 390px minmax(0px, 1fr) auto; align-items: center; gap: 24px; min-height: 0px; padding: 14px 0px 16px; }
.site-header .brand-lockup { display: flex; align-items: center; gap: 10px; min-width: 0px; }
.site-header .brand-tagline { display: block; width: 248px; max-width: calc(100% - 130px); height: auto; object-fit: contain; }
.site-header .logo, .site-header .logo img { display: block; width: 120px; height: 120px; object-fit: contain; }
.site-header .search-form { height: 48px; min-width: 0px; max-width: 620px; justify-self: center; align-items: stretch; border: 1px solid rgb(169, 189, 176); border-radius: 5px; background: rgb(255, 255, 255); }
.site-header .search-form input { height: 46px; font-size: 16px; border-radius: 5px 0px 0px 5px; min-height: 0px !important; padding: 11px 15px !important; }
.site-header .search-form select { width: 166px; min-width: 0px; padding: 0px 38px 0px 14px; font-size: 15px; appearance: none; background-color: rgb(255, 255, 255); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%232b503b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px 8px; }
.site-header .search-form select:focus-visible { outline: rgb(40, 91, 67) solid 2px; outline-offset: -2px; }
.site-header .search-form.gn-category-enhanced select { display: none; }
.site-header .search-form .gn-search-category { position: relative; display: block; flex: 0 0 166px; width: 166px; min-width: 0px; z-index: 1201; }
.site-header .search-form .gn-search-category-trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-width: 0px; height: 46px; min-height: 46px; padding: 0px 16px 0px 14px; border-width: 0px 0px 0px 1px; border-style: none none none solid; border-color: currentcolor currentcolor currentcolor rgb(210, 221, 212); border-image: none; border-radius: 0px; background: linear-gradient(rgb(255, 255, 255), rgb(247, 251, 247)); color: rgb(36, 70, 54); font-size: 15px; font-weight: 500; text-align: left; cursor: pointer; box-shadow: rgb(255, 255, 255) 0px 1px inset; }
.site-header .search-form .gn-search-category-trigger::after { content: ""; width: 8px; height: 8px; flex: 0 0 auto; border-right: 2px solid; border-bottom: 2px solid; transform: translateY(-2px) rotate(45deg); transition: transform 0.18s; }
.site-header .search-form .gn-search-category.is-open .gn-search-category-trigger::after { transform: translateY(2px) rotate(225deg); }
.site-header .search-form .gn-search-category-trigger:hover, .site-header .search-form .gn-search-category-trigger:focus-visible, .site-header .search-form .gn-search-category.is-open .gn-search-category-trigger { background: linear-gradient(115deg, rgb(255, 255, 255) 0%, rgb(238, 246, 238) 75%, rgb(226, 239, 227)); color: rgb(21, 63, 43); }
.site-header .search-form .gn-search-category-trigger:focus-visible { outline: rgb(40, 91, 67) solid 2px; outline-offset: -3px; }
.gn-search-category-label { min-width: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-header .gn-search-category-options { position: absolute; top: calc(100% + 5px); left: 0px; z-index: 1202; width: min(310px, -24px + 100vw); max-height: min(510px, 65vh); overflow: auto; overscroll-behavior: contain; padding: 8px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(237, 246, 238, 0.96)); border-width: 1px; border-style: solid; border-color: rgb(255, 255, 255) rgb(183, 206, 189) rgb(183, 206, 189); border-image: none; border-radius: 9px; box-shadow: rgba(16, 45, 36, 0.19) 0px 18px 36px, rgba(16, 45, 36, 0.09) 0px 5px 12px, rgb(255, 255, 255) 0px 1px inset; backdrop-filter: blur(16px) saturate(135%); scrollbar-width: thin; scrollbar-color: rgb(138, 169, 149) rgb(237, 245, 238); }
.site-header .gn-search-category-options[hidden] { display: none; }
.site-header .gn-search-category-options[data-align="right"] { left: auto; right: 0px; }
.site-header .gn-search-category-option { display: flex; align-items: center; min-height: 44px; padding: 9px 12px; border: 0px; border-radius: 6px; color: rgb(36, 70, 54); font-size: 15px; line-height: 1.35; cursor: pointer; overflow-wrap: anywhere; transition: color 0.18s, background 0.18s, box-shadow 0.18s, transform 0.18s; }
.site-header .gn-search-category-option:hover, .site-header .gn-search-category-option:focus-visible { background: linear-gradient(115deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0) 65%), linear-gradient(rgb(239, 247, 237), rgb(220, 235, 220)); color: rgb(21, 63, 43); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(23, 63, 51, 0.1) 0px 3px 10px; transform: translateX(2px); outline: 0px; }
.site-header .gn-search-category-option:focus-visible { outline: rgb(40, 91, 67) solid 2px; outline-offset: -2px; }
.site-header .gn-search-category-option[aria-selected="true"] { background: linear-gradient(115deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 60%), linear-gradient(rgb(52, 112, 79), rgb(33, 87, 60)); color: rgb(255, 255, 255); font-weight: 700; box-shadow: rgba(255, 255, 255, 0.44) 0px 1px inset, rgba(23, 63, 51, 0.133) 0px 3px 8px; }
.site-header .gn-search-category-option[aria-selected="true"]:focus-visible { outline: rgb(213, 164, 93) solid 2px; outline-offset: -3px; }
.site-header .search-form > button[type="submit"] { display: flex; align-items: center; justify-content: center; width: 50px; min-width: 50px; padding: 0px; border-radius: 0px 4px 4px 0px; }
.site-header .search-form button .icon { width: 21px; height: 21px; }
.site-header .search-form:focus-within { outline: rgb(40, 91, 67) solid 2px; outline-offset: 2px; }
.site-header .header-actions { display: flex; align-items: center; gap: 20px; margin: 0px; }
.site-header .header-actions > .icon-link { display: flex; min-width: 44px; min-height: 48px; align-items: center; justify-content: center; color: rgb(32, 61, 47); text-decoration: none; border-radius: 4px; }
.site-header .header-actions > .saved-link, .site-header .header-actions > .account-link { flex-direction: column; gap: 3px; }
.site-header .header-actions > .icon-link:hover { background: rgb(241, 245, 242); }
.site-header .header-actions .icon { width: 24px; height: 24px; stroke-width: 1.8; flex: 0 0 auto; }
.site-header .header-action-label { font-size: 13px; font-weight: 500; line-height: 1.2; }
.site-header .header-actions > .bag-link { gap: 12px; padding: 0px 3px 0px 0px; }
.site-header .cart-label { display: block; font-size: 12px; font-weight: 500; line-height: 1.35; color: rgb(82, 104, 92); white-space: nowrap; }
.site-header .cart-label strong { font-size: 17px; font-weight: 700; color: rgb(23, 61, 43); letter-spacing: 0px; }
.site-header .bag-count { top: 0px; left: 15px; min-width: 17px; height: 17px; padding: 0px 3px; font-size: 10px; line-height: 15px; border: 1px solid rgb(255, 255, 255); background: rgb(232, 240, 233); }
.site-header .navigation { background: rgb(240, 245, 241); backdrop-filter: none; min-height: 50px; }
.site-header .header-actions > .mobile-menu { display: none; }
.site-header .gn-mobile-services { display: none; }
@media (max-width: 1199px) {
  .service-bar { display: none; }
  .site-header .header-main { grid-template-columns: 1fr auto; gap: 12px 18px; padding: 14px 0px 12px; }
  .site-header .brand-tagline { width: 222px; max-width: calc(100% - 114px); }
  .site-header .logo, .site-header .logo img { width: 104px; height: 104px; }
  .site-header .header-actions { grid-area: 1 / 2; gap: 8px; }
  .site-header .header-actions > .saved-link, .site-header .header-actions > .account-link { display: flex !important; }
  .site-header .header-actions > .mobile-menu { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; background: transparent; border: 0px; padding: 8px; color: rgb(32, 61, 47); }
  .site-header .header-action-label { display: none; }
  .site-header .header-actions > .icon-link { width: 44px; min-height: 44px; }
  .site-header .header-actions > .bag-link { padding: 0px; gap: 0px; }
  .site-header .cart-label { display: none; }
  .site-header .bag-count { top: 0px; left: 24px; }
  .site-header .search-form { grid-area: 2 / 1 / auto / -1; width: 100%; max-width: 540px; justify-self: center; margin: 0px; }
  .site-header .navigation { display: none; max-height: 60vh; overflow: auto; }
  .site-header .navigation.is-open { display: block; }
  .site-header .nav-inner { display: flex; flex-direction: column; align-items: stretch; }
  .site-header .all-departments { flex: 1 1 auto; margin: 0px; }
  .site-header .all-departments summary { min-height: 48px; font-size: 16px; }
  .site-header .mega-menu { position: static; padding: 16px; box-shadow: none; border-radius: 0px; }
  .site-header .mega-links { grid-template-columns: 1fr 1fr; max-height: 35vh; gap: 4px 12px; }
  .site-header .mega-links a { font-size: 15px; padding: 8px 4px; }
  .site-header .mega-heading { display: block; font-size: 17px; }
  .site-header .mega-heading > a { display: block; margin-top: 8px; }
  .site-header .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0px; }
  .site-header .nav-links > a { padding: 12px 8px; min-height: 48px; }
  .site-header .gn-mobile-services { display: block; padding: 0px; border-bottom: 1px solid rgb(213, 225, 216); }
}
@media (max-width: 600px) {
  .site-header .header-main { gap: 10px 12px; }
  .site-header .header-actions { gap: 2px; }
  .site-header .search-form select, .site-header .search-form .gn-search-category { display: none; }
  .site-header .brand-tagline { width: 200px; }
}
@media (max-width: 430px) {
  .site-header .brand-lockup { width: 195px; flex-direction: column; align-items: flex-start; gap: 0px; }
  .site-header .brand-tagline { width: 195px; max-width: 100%; }
}
@media (max-width: 359px) {
  .site-header .brand-lockup { width: 146px; }
  .site-header .brand-tagline { width: 146px; }
  .site-header .logo, .site-header .logo img { width: 80px; height: 80px; }
  .site-header .header-actions { gap: 0px; }
}
@media (min-width: 1200px) {
  .site-header .header-main { grid-template-columns: 495px minmax(0px, 1fr) auto; }
  .site-header .brand-tagline { width: 350px; }
}
@media (min-width: 601px) and (max-width: 1199px) {
  .site-header .brand-tagline { width: 285px; }
}
@media (max-width: 600px) {
  .site-header .header-main .brand-lockup { grid-area: 1 / 1 / auto / -1; width: 100%; flex-direction: column; align-items: flex-start; gap: 0px; }
  .site-header .brand-lockup .brand-tagline { width: clamp(220px, 48vw, 270px); max-width: 100%; }
  .site-header .header-actions { align-self: start; margin-top: 10px; position: relative; z-index: 1; }
}
.service-bar > .shell { min-height: 50px; }
.service-bar nav { width: 100%; display: block; }
.gn-site-menu { list-style: none; margin: 0px; padding: 0px; }
.service-bar .gn-site-menu { display: flex; align-items: stretch; justify-content: center; gap: 20px; }
.gn-site-menu-item { position: relative; min-width: 0px; }
.gn-site-menu-head { display: flex; align-items: center; min-height: 50px; }
.service-bar .gn-site-menu-head > a { display: flex; align-items: center; min-height: 50px; padding: 0px 3px; color: rgb(255, 255, 255); text-decoration: none; text-transform: none; font-family: var(--gn-font); font-size: var(--gn-type-navigation); font-weight: var(--gn-weight-navigation); letter-spacing: 0px; white-space: nowrap; }
.service-bar .gn-site-menu-head > a:hover, .service-bar .gn-site-menu-head > a:focus-visible { color: rgb(215, 232, 207); }
.gn-site-menu a:focus-visible { outline: rgb(234, 203, 112) solid 2px; outline-offset: -2px; }
@media (max-width: 1199px) {
  .site-header .gn-mobile-services > .gn-site-menu { display: block; }
  .site-header .gn-mobile-services .gn-site-menu-head { min-height: 48px; border-bottom: 1px solid rgb(226, 234, 228); }
  .site-header .gn-mobile-services .gn-site-menu-head > a { display: flex; align-items: center; flex: 1 1 0%; min-height: 48px; padding: 8px 12px; color: rgb(33, 71, 53); font-size: var(--gn-type-navigation); font-weight: var(--gn-weight-navigation); text-decoration: none; text-transform: none; }
}
.gn-main-page-guide { max-width: 100%; margin: 0px auto 40px; padding: 30px clamp(22px, 4vw, 48px); background: rgb(241, 246, 239); }
.gn-main-page-guide-heading { max-width: 72ch; margin: 0px 0px 23px; }
.gn-editorial .gn-main-page-guide-heading h2 { margin: 0px 0px 8px; color: rgb(29, 73, 52); font-size: clamp(23px, 2.5vw, 31px); font-weight: 600; line-height: 1.2; }
.gn-main-page-guide-heading p { margin: 0px; color: rgb(75, 98, 87); font-size: 16px; line-height: 1.55; }
.gn-main-page-guide-links { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; width: 100%; max-width: none !important; list-style: none !important; margin: 0px !important; padding: 0px !important; }
.gn-main-page-guide--english-book .gn-main-page-guide-links { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.gn-main-page-guide-links li { min-width: 0px; margin: 0px !important; padding: 0px !important; list-style: none !important; }
.gn-main-page-guide-links a { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 18px; min-height: 176px; height: 100%; padding: 21px; border-radius: 8px; background: rgb(230, 240, 231); color: rgb(35, 73, 56); box-shadow: rgb(210, 227, 213) 0px 0px 0px 1px inset; transition: background 0.18s, box-shadow 0.18s, transform 0.18s; text-decoration: none !important; }
.gn-main-page-guide-links li:nth-child(3n+2) a { background: rgb(244, 234, 219); box-shadow: rgb(234, 217, 191) 0px 0px 0px 1px inset; }
.gn-main-page-guide-links li:nth-child(3n) a { background: rgb(229, 239, 237); box-shadow: rgb(208, 224, 220) 0px 0px 0px 1px inset; }
.gn-main-page-guide-links a:hover { background: rgb(220, 235, 221); box-shadow: rgb(167, 200, 174) 0px 0px 0px 1px inset, rgba(23, 61, 43, 0.08) 0px 7px 18px; transform: translateY(-2px); }
.gn-main-page-guide-links a:focus-visible { outline: rgb(169, 107, 43) solid 3px; outline-offset: 3px; }
.gn-main-page-guide-copy { display: grid; gap: 6px; min-width: 0px; }
.gn-main-page-guide-links strong { font-size: 17px; font-weight: 600; line-height: 1.35; }
.gn-main-page-guide-links small { color: rgb(82, 105, 93); font-size: 14px; line-height: 1.4; }
.gn-main-page-guide-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 44px; padding: 10px 15px; border-radius: 4px; background: rgb(40, 92, 70); color: rgb(255, 255, 255); font-size: 15px; font-weight: 600; line-height: 1.25; }
.gn-main-page-guide-links a:hover .gn-main-page-guide-action { background: rgb(25, 71, 50); }
@media (max-width: 900px) {
  .gn-main-page-guide--english-book .gn-main-page-guide-links { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 700px) {
  .gn-main-page-guide { margin-bottom: 30px; padding: 23px 19px; }
  .gn-main-page-guide-links, .gn-main-page-guide--english-book .gn-main-page-guide-links { grid-template-columns: 1fr; gap: 12px; }
  .gn-main-page-guide-links a { min-height: 145px; padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .gn-main-page-guide-links a { transition: none; }
  .gn-main-page-guide-links a:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .gn-search-category-option, .site-header .gn-search-category-trigger::after { transition: none; }
  .site-header .gn-search-category-option:hover, .site-header .gn-search-category-option:focus-visible { transform: none; }
}
.site-header .header-actions > .icon-link { position: relative; isolation: isolate; border: 1px solid transparent; transition: background 0.18s, border-color 0.18s, box-shadow 0.18s, transform 0.18s; }
.site-header .header-actions > .icon-link:hover { border-color: rgb(186, 210, 192); background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(231, 242, 232) 58%, rgb(213, 233, 216) 100%); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(23, 65, 45, 0.1) 0px 4px 11px; transform: translateY(-1px); }
.site-header .header-actions > .icon-link:focus-visible { outline: rgb(32, 90, 59) solid 2px; outline-offset: 2px; border-color: rgb(169, 201, 175); background: linear-gradient(135deg, rgb(255, 255, 255), rgb(226, 240, 229)); box-shadow: rgba(23, 65, 45, 0.1) 0px 3px 10px; }
.site-header .header-actions > .bag-link:hover .cart-label, .site-header .header-actions > .bag-link:focus-visible .cart-label { color: rgb(33, 77, 53); }
.site-header .header-actions > .bag-link:hover .bag-count, .site-header .header-actions > .bag-link:focus-visible .bag-count { background: rgb(217, 235, 217); border-color: rgb(255, 255, 255); }
@media (min-width: 1200px) {
  .site-header .header-actions { gap: 10px; padding: 7px; border: 1px solid rgb(203, 222, 208); border-radius: 12px; background: linear-gradient(145deg, rgb(255, 255, 255) 0%, rgb(242, 248, 242) 42%, rgb(231, 242, 232) 100%); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(23, 61, 43, 0.07) 0px 5px 17px; }
  .site-header .header-actions > .icon-link { min-height: 64px; border-radius: 8px; }
  .site-header .header-actions > .bag-link { gap: 14px; padding: 8px 16px; }
  .site-header .header-actions > .account-link { width: 90px; padding: 8px 12px; }
  .site-header .header-actions > .account-link::before { display: none; }
  .site-header .header-actions > .bag-link .bag-count { top: 7px; left: 31px; }
}
@media (min-width: 1360px) {
  .site-header .header-actions { gap: 14px; padding: 9px; }
  .site-header .header-actions > .icon-link { min-height: 68px; }
  .site-header .header-actions > .bag-link { padding: 10px 20px; }
  .site-header .header-actions > .account-link { width: 100px; }
  .site-header .header-actions > .bag-link .bag-count { top: 9px; left: 35px; }
}
@media (max-width: 1199px) {
  .site-header .header-actions > .icon-link, .site-header .header-actions > .mobile-menu { border: 1px solid rgb(211, 226, 213); border-radius: 9px; background: linear-gradient(145deg, rgb(255, 255, 255), rgb(234, 244, 235)); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(23, 61, 43, 0.05) 0px 2px 6px; }
  .site-header .header-actions > .mobile-menu:hover { background: linear-gradient(135deg, rgb(255, 255, 255), rgb(222, 238, 223)); border-color: rgb(186, 210, 192); }
  .site-header .header-actions > .mobile-menu:focus-visible { outline: rgb(32, 90, 59) solid 2px; outline-offset: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .header-actions > .icon-link { transition: none; }
  .site-header .header-actions > .icon-link:hover { transform: none; }
}
@media (max-width: 600px) {
  .site-header .header-actions { gap: 6px; }
}
@media (min-width: 1200px) and (max-width: 1359px) {
  .site-header .header-main { grid-template-columns: 430px minmax(0px, 1fr) auto; }
  .site-header .brand-tagline { width: 300px; }
}
@media (min-width: 1200px) {
  .site-header .header-main { grid-template-columns: minmax(0px, 495px) minmax(0px, 1fr) auto; grid-template-rows: auto; gap: 0px 24px; padding: 12px 0px; }
  .site-header .brand-lockup { grid-area: 1 / 1; }
  .site-header .search-form { grid-area: 1 / 2; width: 100%; max-width: 720px; height: 52px; justify-self: center; margin: 0px; }
  .site-header .header-actions { grid-area: 1 / 3; justify-self: end; }
  .site-header .search-form input { height: 50px; font-size: 16px; }
  .site-header .search-form select, .site-header .search-form .gn-search-category { width: 176px; flex-basis: 176px; }
  .site-header .search-form .gn-search-category-trigger { height: 50px; min-height: 50px; font-size: 15px; }
  .site-header .search-form > button[type="submit"] { width: 52px; min-width: 52px; }
  .site-header .search-form button .icon { width: 21px; height: 21px; }
}
@media (min-width: 1200px) and (max-width: 1359px) {
  .site-header .header-main { grid-template-columns: minmax(0px, 430px) minmax(0px, 1fr) auto; }
  .site-header .search-form select, .site-header .search-form .gn-search-category { width: 150px; flex-basis: 150px; }
}
@media (min-width: 601px) and (max-width: 1199px) {
  .site-header .search-form { width: 100%; max-width: 680px; height: 50px; }
  .site-header .search-form input { height: 48px; }
  .site-header .search-form .gn-search-category-trigger { height: 48px; min-height: 48px; }
  .site-header .search-form > button[type="submit"] { width: 50px; min-width: 50px; }
}
@media (max-width: 600px) {
  .site-header .search-form { width: 100%; height: 52px; }
  .site-header .search-form input { height: 50px; }
  .site-header .search-form > button[type="submit"] { width: 52px; min-width: 52px; }
}
.service-bar { position: relative; z-index: 65; overflow: visible; }
.service-bar .gn-site-menu { gap: clamp(8px, 1vw, 18px); }
.gn-submenu-toggle { display: grid; place-items: center; flex: 0 0 36px; min-width: 36px; min-height: 44px; margin: 0px; padding: 0px; border: 0px; background: transparent; color: inherit; cursor: pointer; font-size: 18px; }
.service-bar .gn-submenu-toggle { color: rgb(255, 255, 255); }
.gn-submenu-toggle .gn-submenu-chevron { display: block; flex: 0 0 auto; width: 12px; height: 12px; }
.gn-site-submenu[hidden] { display: none; }
.gn-site-submenu { list-style: none; margin: 0px; padding: 10px; min-width: 260px; max-height: calc(100dvh - 90px); overflow-y: auto; background: rgb(255, 255, 255); color: rgb(33, 71, 53); border: 1px solid rgb(208, 221, 210); border-radius: 0px 0px 6px 6px; box-shadow: rgba(18, 58, 37, 0.16) 0px 14px 28px; }
.service-bar .gn-site-submenu { position: absolute; top: 100%; left: 0px; z-index: 70; width: max-content; max-width: 360px; }
.service-bar .gn-site-menu-item:last-child .gn-site-submenu { left: auto; right: 0px; }
.gn-site-submenu a { display: block; min-height: 44px; padding: 11px 13px; color: rgb(33, 71, 53); text-decoration: none; font-size: 14px; line-height: 1.5; white-space: normal; }
.service-bar .gn-site-submenu a { color: rgb(33, 71, 53); font-weight: 600; white-space: normal; }
.gn-site-submenu a:hover, .gn-site-submenu a:focus-visible, .service-bar .gn-site-submenu a:hover, .service-bar .gn-site-submenu a:focus-visible { background: rgb(22, 61, 45); color: rgb(255, 255, 255); }
.gn-submenu-toggle:focus-visible, .gn-site-submenu a:focus-visible { outline: rgb(179, 129, 53) solid 3px; outline-offset: -3px; }
@media (max-width: 1199px) {
  .gn-submenu-toggle { flex-basis: 48px; min-height: 48px; }
  .gn-site-submenu { min-width: 0px; width: 100%; max-height: none; box-shadow: none; border: 0px; border-radius: 0px; padding: 4px 12px 12px; background: rgb(242, 247, 239); }
  .gn-site-submenu a { padding-left: 20px; }
}
.site-header .header-actions > .bag-link .bag-count.gn-cart-count, .site-header .header-actions > .bag-link:is(:hover, :focus-visible) .bag-count.gn-cart-count { background: rgb(23, 59, 44); color: rgb(255, 255, 255); }

/* typography.css */
@font-face { font-family: "TeX Gyre Chorus"; font-style: italic; font-weight: 400; font-display: swap; src: url("assets/fonts/tex-gyre-chorus-mediumitalic.woff2") format("woff2"); }
#main .hero .hero-copy .gn-prevention-tagline { margin: 0px 0px 12px; color: rgb(33, 71, 25); font-family: "TeX Gyre Chorus", Georgia, serif; font-style: italic; font-weight: 400; line-height: 1.3; letter-spacing: 0px; font-size: clamp(28px, 2.5vw, 36px) !important; }
.hero .hero-copy .gn-prevention-tagline + h1 { margin-top: 0px; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("assets/fonts/source-sans-3-latin-variable.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Libre Baskerville"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("assets/fonts/libre-baskerville-latin-variable.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root { --gn-font: "Source Sans 3", "Segoe UI", Arial, sans-serif; --gn-font-editorial: "Libre Baskerville", Georgia, serif; --gn-type-body: 16px; --gn-type-support: 15px; --gn-type-navigation: 16px; --gn-weight-navigation: 600; --gn-ink: #173b2c; --gn-muted-ink: #526157; --gn-link-ink: #285c46; --font: var(--gn-font); --serif: var(--gn-font-editorial); }
body, button, input, select, textarea { font-family: var(--gn-font); }
h1, h2, h3, h4, h5, h6, ul.products h2.woocommerce-loop-product__title, .gn-sidebar h2, .gn-sidebar summary, .woocommerce-checkout h3, .gn-ed-rows dd, .woocommerce-Tabs-panel--description, .gn-hero-campaigns .gn-hero-campaign-eyebrow, .gn-hero-campaigns .gn-hero-campaign-support, .gn-hero-campaign-cta, .gn-hero-campaigns .gn-hero-product-controls .gn-hero-autoplay-toggle { font-family: var(--gn-font); }
.hero .hero-copy h1, .story-copy h2, .equipment-banner h2, .learning-card h3, .gn-promo .gn-promo-copy h3, .gn-ed h1, .gn-ed h2, .gn-book-description .gn-book-intro h2, .gn-hero-campaigns .gn-hero-campaign-heading { font-family: var(--gn-font-editorial); letter-spacing: -0.035em; line-height: 1.18; }
.hero .hero-copy h1 { font-size: clamp(34px, 3.1vw, 52px); font-weight: 700; }
.gn-hero-campaigns .gn-hero-campaign-heading { font-size: clamp(24px, 5.6cqw, 37px); line-height: 1.13; letter-spacing: -0.04em; }
.gn-footer .gn-footer-tagline { font-family: var(--gn-font-editorial); line-height: 1.5; letter-spacing: -0.025em; }
.woocommerce-Tabs-panel--description { line-height: 1.75; }
ul.products h2.woocommerce-loop-product__title { font-weight: 600; line-height: 1.45; letter-spacing: 0px; }
.gn-sidebar h2 { font-size: 22px; line-height: 1.25; letter-spacing: -0.015em; }
.gn-sidebar summary { font-size: 16px; line-height: 1.4; }
@container (max-width: 460px) {
  .gn-hero-campaigns .gn-hero-campaign-heading { font-size: clamp(25px, 7.2cqw, 30px); max-width: 18ch; }
}
@media (max-width: 600px) {
  .hero .hero-copy h1 { font-size: clamp(31px, 8.5vw, 40px); line-height: 1.2; }
}

/* navigation-refinements.css */
.site-header .nav-inner { align-items: stretch; }
.site-header .nav-links { gap: 8px; align-items: stretch; }
.site-header .nav-links > a { position: relative; min-height: 52px; padding: 12px 10px; gap: 9px; border-radius: 0px; background: transparent; color: rgb(37, 70, 56); text-decoration: none; isolation: isolate; }
.site-header .nav-links > a > span { font-size: var(--gn-type-navigation); font-weight: var(--gn-weight-navigation); line-height: 1.25; opacity: 1; }
.site-header .nav-links > a > .icon { width: 25px; height: 25px; flex: 0 0 25px; stroke-width: 2; opacity: 1; color: rgb(169, 107, 43); }
.site-header .nav-links > a:hover, .site-header .nav-links > a:focus-visible { background: rgb(250, 242, 230); border-radius: 4px; color: rgb(11, 74, 46); }
.site-header .nav-links > a:hover > .icon, .site-header .nav-links > a:focus-visible > .icon { color: rgb(137, 80, 28); }
.site-header .nav-links > a::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 2px; background: rgb(169, 107, 43); transform: scaleX(0); transform-origin: center center; transition: transform 0.22s ease-out; }
.site-header .nav-links > a:hover::after, .site-header .nav-links > a:focus-visible::after, .site-header .nav-links > a[aria-current="page"]::after { transform: scaleX(1); }
.site-header .nav-links > a:focus-visible { outline: rgb(57, 103, 73) solid 2px; outline-offset: -4px; }
.site-header .mega-menu { background: rgb(255, 255, 255); backdrop-filter: none; border-radius: 0px 0px 5px 5px; padding: 22px 26px; box-shadow: rgba(16, 45, 36, 0.1) 0px 14px 32px; }
.site-header .mega-heading { padding-bottom: 15px; gap: 24px; align-items: center; }
.site-header .mega-heading strong { font-size: 20px; font-weight: 650; }
.site-header .mega-heading > a { font-size: 15px; font-weight: 600; }
.gn-category-groups { display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 12px; max-height: calc(100dvh - 342px); overflow: hidden auto; overscroll-behavior: contain; padding: 18px 4px 6px; scrollbar-width: none; }
.gn-category-groups::-webkit-scrollbar { display: none; }
.gn-category-group { min-width: 0px; padding: 17px 12px 22px; border-radius: 6px; background: rgb(237, 244, 233); }
.gn-category-group:nth-child(2) { background: rgb(246, 239, 227); }
.gn-category-group:nth-child(3) { background: rgb(231, 241, 239); }
.gn-category-group:nth-child(4) { background: rgb(245, 237, 232); }
.gn-category-group:nth-child(5) { background: rgb(239, 241, 228); }
.gn-category-group:nth-child(6) { background: rgb(237, 240, 245); }
.gn-category-group h2 { font: 700 15px/1.4 var(--gn-font); letter-spacing: 0px; margin: 0px 0px 12px; padding: 0px 10px; border-bottom: 0px; color: rgb(33, 71, 53); }
.gn-category-group ul { list-style: none; padding: 0px; margin: 0px; }
.gn-category-group li { margin: 0px; padding: 0px; }
.gn-category-group a { display: block; min-height: 35px; padding: 7px 10px; border-radius: 6px; font-size: 15px; line-height: 1.4; color: rgb(59, 81, 68); text-decoration: none; overflow-wrap: anywhere; transition: background 0.16s, color 0.16s; }
.site-header .gn-category-group a:hover, .site-header .gn-category-group a:focus-visible { background: rgb(32, 84, 59); color: rgb(255, 255, 255); text-decoration: none; }
.site-header .gn-category-group a:focus-visible { outline: rgb(169, 107, 43) solid 2px; outline-offset: -3px; }
.gn-category-group .gn-category-children { padding-left: 12px; margin: 2px 0px 10px; border-left: 0px; }
.gn-category-group .gn-category-children a { font-size: 14px; min-height: 32px; padding-block: 6px; }
@media (min-width: 1024px) and (max-width: 1199px) {
  .site-header .all-departments { flex-basis: 165px; margin-right: 8px; }
  .site-header .all-departments summary { padding-inline: 12px; font-size: 15px; gap: 8px; }
  .site-header .nav-links { gap: 2px; }
  .site-header .nav-links > a { padding-inline: 6px; gap: 6px; }
  .site-header .nav-links > a > span { font-size: 14px; }
  .site-header .nav-links > a > .icon { width: 22px; height: 22px; flex-basis: 22px; }
  .gn-category-groups { gap: 12px; grid-template-columns: repeat(4, minmax(0px, 1fr)); }
}
@media (max-width: 1199px) {
  .site-header .navigation { scrollbar-width: none; }
  .site-header .navigation::-webkit-scrollbar { display: none; }
  .site-header .mega-menu { padding: 16px 10px; box-shadow: none; }
  .site-header .mega-heading { display: block; }
  .site-header .nav-links { gap: 0px; }
  .site-header .nav-links > a { min-height: 52px; padding: 12px 8px; }
  .gn-category-groups { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; max-height: none; overflow: visible; }
  .gn-category-group a, .gn-category-group .gn-category-children a { min-height: 44px; padding-block: 11px; }
}
@media (max-width: 380px) {
  .gn-category-groups { grid-template-columns: 1fr; }
  .site-header .nav-links > a { gap: 7px; }
  .site-header .nav-links > a > span { font-size: 14px; }
  .site-header .nav-links > a > .icon { width: 22px; height: 22px; flex-basis: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .nav-links > a::after, .gn-category-group a { transition: none; }
}

/* footer-refinements.css */
.gn-newsletter-form form { margin: 0px; max-width: 100%; }
.gn-newsletter-form .mc4wp-form-fields { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.gn-newsletter-form .mc4wp-form-fields > div { flex: 1 1 100%; width: 100%; min-width: 0px; max-width: 540px; }
.gn-newsletter-form .mc4wp-form-fields p { flex: 1 1 200px; min-width: 0px; margin: 0px; }
.gn-newsletter-form .mc4wp-form-fields > div > p { display: flex; flex-direction: column; gap: 12px; }
.gn-newsletter-form .mc4wp-form-fields p:has(input[type="submit"]) { flex: 0 1 auto; }
.gn-newsletter-form label { display: block; font-size: 16px; font-weight: 600; margin-bottom: 5px; }
.gn-newsletter-form input[type="email"], .gn-newsletter-form input[type="text"], .gn-newsletter-form input[type="tel"] { display: block; width: 100%; max-width: 100%; min-width: 0px; min-height: 48px; padding: 10px 12px; border: 1px solid rgb(135, 157, 142); border-radius: 3px; background: rgb(255, 255, 255); color: rgb(24, 61, 43); font-size: 16px; }
.gn-newsletter-form input[type="submit"] { min-height: 48px; }
.gn-newsletter-form .mc4wp-response p { margin: 12px 0px 0px; overflow-wrap: anywhere; }
.gn-footer-v2 .gn-footer-newsletter { display: grid; grid-template-columns: 1fr minmax(0px, 1.4fr); align-items: center; gap: 20px 40px; padding: 22px 0px; border-top: 1px solid rgb(56, 80, 69); }
.gn-footer-v2 .gn-footer-newsletter h2 { color: rgb(245, 247, 243); font-size: 22px; margin: 0px 0px 6px; letter-spacing: 0px; }
.gn-footer-v2 .gn-footer-newsletter p { color: rgb(214, 225, 217); margin: 0px; }
.gn-footer-v2 .gn-footer-newsletter .mc4wp-response p { margin-top: 12px; }
.gn-footer-v2 .gn-newsletter-form input[type="submit"] { background: rgb(229, 236, 207); border-color: rgb(229, 236, 207); color: rgb(23, 59, 43); }
@media (max-width: 760px) {
  .gn-footer-v2 .gn-footer-newsletter { grid-template-columns: 1fr; }
}
.gn-footer.gn-footer-v2 { padding: 40px 0px 20px; background: rgb(16, 43, 33); color: rgb(237, 244, 239); border-top: 0px; }
.gn-footer-v2 .gn-footer-sections { display: grid; grid-template-columns: 1.15fr repeat(3, minmax(0px, 1fr)) 1.1fr; gap: 32px clamp(24px, 2.4vw, 42px); align-items: start; padding-bottom: 28px; }
.gn-footer-v2 .gn-footer-identity, .gn-footer-v2 .gn-footer-section { min-width: 0px; }
.gn-footer-v2 .gn-footer-home { display: inline-flex; width: 140px; height: 140px; }
.gn-footer-v2 .gn-footer-logo { width: 140px; height: 140px; object-fit: contain; filter: brightness(0) invert(1); }
.gn-footer-v2 .gn-footer-tagline { width: auto; height: auto; color: rgb(243, 245, 239); font-size: 18px; font-style: normal; font-weight: 400; line-height: 1.5; margin: 14px 0px 10px; }
.gn-footer-v2 .gn-footer-intro { max-width: 28ch; font-size: 15px; line-height: 1.6; color: rgb(195, 208, 199); margin: 0px; }
.gn-footer-v2 .gn-footer-section h2 { color: rgb(245, 247, 243); font-family: var(--gn-font); font-size: 15px; font-weight: 700; line-height: 1.4; letter-spacing: 0.035em; text-transform: uppercase; margin: 0px 0px 12px; }
.gn-footer-v2 .gn-footer-menu { list-style: none; padding: 0px; margin: 0px; }
.gn-footer-v2 .gn-footer-menu li { padding: 0px; margin: 0px; }
.gn-footer-v2 .gn-footer-menu a { display: flex; align-items: flex-start; gap: 8px; min-height: 35px; padding: 6px 0px; font-size: 15px; line-height: 1.5; color: rgb(214, 225, 217); text-decoration: none; overflow-wrap: anywhere; }
.gn-footer-v2 .gn-footer-icon { width: 20px; height: 20px; flex: 0 0 20px; vertical-align: middle; }
.gn-footer-v2 .gn-footer-menu .gn-footer-icon { width: 16px; height: 16px; flex-basis: 16px; margin-top: 3px; color: rgb(179, 199, 186); }
.gn-footer-v2 .gn-footer-menu a:hover span, .gn-footer-v2 .gn-footer-contact-item:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.gn-footer-v2 .gn-footer-contact-strip { display: grid; grid-template-columns: 0.8fr 1fr 1.4fr; align-items: start; gap: 24px 40px; border-block: 1px solid rgb(56, 80, 69); padding: 22px 0px; }
.gn-footer-v2 .gn-footer-contact-item { display: flex; align-items: flex-start; gap: 14px; min-width: 0px; min-height: 50px; color: rgb(238, 244, 239); text-decoration: none; }
.gn-footer-v2 .gn-footer-contact-item > .gn-footer-icon { display: block; box-sizing: border-box; width: 50px; height: 50px; flex: 0 0 50px; padding: 11px; border: 1px solid rgb(82, 109, 93); border-radius: 50%; background: rgb(36, 71, 53); color: rgb(239, 246, 237); }
.gn-footer-v2 .gn-footer-contact-item > span { min-width: 0px; padding-top: 2px; }
.gn-footer-v2 .gn-footer-label { display: block; font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: 0.065em; text-transform: uppercase; color: rgb(184, 202, 191); }
.gn-footer-v2 .gn-footer-contact-item strong { display: block; margin-top: 4px; font-size: 15px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.gn-footer-v2 .gn-footer-bottom-row { display: flex; align-items: center; justify-content: center; padding: 14px 0px; }
.gn-footer-v2 .gn-footer-socials { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 22px; }
.gn-footer-v2 .gn-footer-policies { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 22px; }
.gn-footer-v2 .gn-footer-socials a, .gn-footer-v2 .gn-footer-policies a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; line-height: 1.5; color: rgb(225, 233, 227); text-decoration: none; }
.gn-footer-v2 .gn-footer-socials a:hover, .gn-footer-v2 .gn-footer-policies a:hover { text-decoration: underline; text-underline-offset: 4px; }
.gn-footer-v2 .gn-footer-copyright { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 24px; font-size: 13px; line-height: 1.5; color: rgb(175, 194, 182); border-top: 1px solid rgb(56, 80, 69); padding-top: 12px; }
.gn-footer-v2 .gn-footer-copyright .gn-footer-policies a { min-height: 36px; font-size: 13px; }
.gn-footer-v2 a:focus-visible { outline: rgb(212, 231, 177) solid 2px; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 1100px) {
  .gn-footer-v2 .gn-footer-sections { gap: 30px 24px; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .gn-footer-v2 .gn-footer-identity { grid-column: 1 / -1; }
  .gn-footer-v2 .gn-footer-explore { grid-column: auto; }
  .gn-footer-v2 .gn-footer-explore .gn-footer-menu { display: block; }
}
@media (max-width: 760px) {
  .gn-footer.gn-footer-v2 { padding-top: 28px; }
  .gn-footer-v2 .gn-footer-home, .gn-footer-v2 .gn-footer-logo { width: 120px; height: 120px; }
  .gn-footer-v2 .gn-footer-sections { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px 20px; }
  .gn-footer-v2 .gn-footer-menu a { min-height: 44px; padding-block: 10px; }
  .gn-footer-v2 .gn-footer-contact-strip { grid-template-columns: 1fr 1fr; gap: 20px; }
  .gn-footer-v2 .gn-footer-contact-item:last-child { grid-column: 1 / -1; }
  .gn-footer-v2 .gn-footer-socials { gap: 4px 16px; }
  .gn-footer-v2 .gn-footer-socials > .gn-footer-label { width: 100%; text-align: center; }
}
@media (max-width: 400px) {
  .gn-footer-v2 .gn-footer-contact-strip { grid-template-columns: 1fr; }
  .gn-footer-v2 .gn-footer-sections { column-gap: 14px; }
  .gn-footer-v2 .gn-footer-tagline { font-size: 16px; }
  .gn-footer-v2 .gn-footer-socials { column-gap: 12px; }
}
@media (max-width: 520px) {
  .gn-footer-v2 .gn-footer-sections { grid-template-columns: 1fr; row-gap: 30px; }
  .gn-footer-v2 .gn-footer-explore { grid-column: auto; }
  .gn-footer-v2 .gn-footer-explore .gn-footer-menu { display: block; }
}
.gn-footer-v2 .gn-footer-copyright { display: grid; grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr); align-items: center; gap: 12px 24px; }
.gn-footer-v2 .gn-footer-copyright > .gn-footer-policies { justify-content: center; justify-self: center; }
.gn-footer-v2 .gn-footer-credit { justify-self: end; text-align: right; line-height: 1.6; color: rgb(225, 233, 227); max-width: 100%; }
.gn-footer-v2 .gn-footer-credit a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: rgb(255, 255, 255); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .gn-footer-v2 .gn-footer-copyright { grid-template-columns: 1fr; gap: 8px; }
  .gn-footer-v2 .gn-footer-credit { justify-self: end; text-align: right; }
  .gn-footer-v2 .gn-footer-copyright > .gn-footer-policies { justify-self: center; }
}

/* commerce-presentation.css */
.woocommerce .card-add.product_type_simple.add_to_cart_button, .woocommerce .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; }
.woocommerce .card-add.product_type_simple.add_to_cart_button::before, .woocommerce .single_add_to_cart_button::before { content: ""; display: inline-block; width: 19px; height: 19px; flex: 0 0 19px; background: currentcolor; mask: url("assets/cart-icon.svg") center center / contain no-repeat; }
body.woocommerce-cart, body.woocommerce-checkout { background: rgb(245, 247, 245); }
body.woocommerce-cart .gn-main, body.woocommerce-checkout .gn-main { padding-top: 24px; padding-bottom: 48px; }
body.woocommerce-cart #main.gn-main, body.woocommerce-checkout #main.gn-main { width: calc(100% - 48px); max-width: 1120px; margin-inline: auto; }
.gn-commerce-section { width: 100%; max-width: none; padding: 0px; margin: 0px; }
.gn-commerce-section > h1, .gn-commerce-section .gn-checkout-heading h1 { font: 700 30px/1.25 var(--gn-font); letter-spacing: -0.02em; margin: 0px; }
.gn-checkout-heading { margin: 0px 0px 16px; gap: 20px; }
.gn-checkout-heading > a { font-size: 15px; }
.gn-purchase-progress { margin: 0px 0px 20px; font-size: 14px; gap: 18px; }
.gn-commerce-section .woocommerce-info, .gn-commerce-section .woocommerce-message, .gn-commerce-section .woocommerce-error { font-size: 15px; padding: 14px 18px; margin-bottom: 20px; }
body.woocommerce-cart .gn-commerce-section > h1 { margin-bottom: 20px; }
body.woocommerce-cart .gn-commerce-section > .woocommerce { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(340px, 0.34fr); gap: 24px; align-items: start; }
body.woocommerce-cart .woocommerce-notices-wrapper, body.woocommerce-cart .cart-empty, body.woocommerce-cart .return-to-shop { grid-column: 1 / -1; }
body.woocommerce-cart .gn-payment-guidance { grid-column: 1 / -1; }
body.woocommerce-cart .woocommerce-notices-wrapper:empty { display: none; }
body.woocommerce-cart .woocommerce-cart-form { min-width: 0px; margin: 0px; padding: 24px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 227, 220); border-radius: 5px; box-shadow: none; }
body.woocommerce-cart .cart-collaterals { width: auto; float: none; min-width: 0px; margin: 0px; padding: 0px; }
body.woocommerce-cart .cart_totals { width: 100%; float: none; margin: 0px; padding: 24px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 227, 220); border-radius: 5px; box-shadow: none; }
body.woocommerce-cart .cart_totals h2 { font: 650 24px/1.3 var(--gn-font); letter-spacing: -0.02em; margin: 0px 0px 18px; padding-bottom: 14px; border-bottom: 1px solid rgb(217, 227, 220); }
body.woocommerce-cart table.shop_table { width: 100%; margin: 0px; border: 0px; border-collapse: collapse; font-size: 15px; }
body.woocommerce-cart table.shop_table th, body.woocommerce-cart table.shop_table td { padding: 16px 8px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(226, 232, 227); border-image: none; vertical-align: middle; text-align: left; font-size: 15px; line-height: 1.5; }
body.woocommerce-cart table.shop_table th { font-weight: 600; color: rgb(82, 102, 90); }
body.woocommerce-cart .product-remove { width: 28px; }
body.woocommerce-cart .product-thumbnail { width: 90px; }
body.woocommerce-cart .product-thumbnail img { width: 72px; height: 90px; object-fit: contain; }
body.woocommerce-cart .product-name { min-width: 130px; }
body.woocommerce-cart .product-price, body.woocommerce-cart .product-subtotal { width: 100px; white-space: nowrap; }
body.woocommerce-cart .product-quantity { width: 140px; }
body.woocommerce-cart .quantity input.qty { min-width: 0px; text-align: center; border-radius: 0px; margin: 0px; font-size: 16px; width: 48px !important; height: 44px !important; min-height: 44px !important; padding: 5px !important; }
.gn-quantity-stepper { display: inline-flex; align-items: center; gap: 0px; max-width: 100%; border: 1px solid rgb(199, 213, 203); border-radius: 5px; overflow: hidden; }
body.woocommerce-cart .gn-quantity-stepper input.qty { border: 0px !important; border-inline: 1px solid rgb(217, 227, 220) !important; }
.gn-quantity-stepper input::-webkit-inner-spin-button, .gn-quantity-stepper input::-webkit-outer-spin-button { appearance: none; margin: 0px; }
.gn-quantity-step { display: grid; place-items: center; width: 40px; min-width: 40px; height: 44px; padding: 0px; border: 0px; border-radius: 0px; background: rgb(243, 246, 243); color: rgb(37, 76, 54); font: 600 20px/1 var(--gn-font); }
.gn-quantity-step:hover { background: rgb(230, 238, 231); }
body.woocommerce-cart .shop_table td.actions { padding-top: 18px; border-bottom: 0px; }
body.woocommerce-cart .actions > .button { float: right; font-size: 15px; min-height: 46px; padding: 10px 18px; margin: 0px; }
.gn-cart-coupon { float: left; width: min(100%, 480px); border: 1px solid rgb(217, 227, 220); border-radius: 5px; background: rgb(246, 249, 246); padding: 0px !important; margin: 0px !important; }
.gn-cart-coupon summary { cursor: pointer; padding: 12px 14px; min-height: 46px; font-size: 15px; font-weight: 600; line-height: 1.4; }
body.woocommerce-cart .gn-cart-coupon .coupon { display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: start; float: none; gap: 12px; padding: 0px 14px 14px; width: 100%; margin: 0px; }
body.woocommerce-cart .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.woocommerce-cart .coupon input.input-text { min-width: 0px; height: 46px; min-height: 46px; float: none; font-size: 15px; line-height: 1.4; box-sizing: border-box; width: 100% !important; margin: 0px !important; padding: 10px 12px !important; }
body.woocommerce-cart .coupon .button { float: none; min-height: 46px; align-self: start; font-size: 14px; padding: 10px 16px; line-height: 1.4; white-space: nowrap; margin: 0px !important; }
body.woocommerce-cart .gn-cart-coupon .coupon-error-notice { grid-column: 1 / -1; margin: 0px; padding: 0px; text-align: left; line-height: 1.5; overflow-wrap: anywhere; }
body.woocommerce-cart .cart_totals th, body.woocommerce-cart .cart_totals td { padding: 12px 0px !important; font-size: 15px !important; }
body.woocommerce-cart .cart_totals td { text-align: right !important; }
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th, body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td { display: block; width: 100%; border: 0px; text-align: left !important; }
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th { padding-bottom: 0px !important; }
body.woocommerce-cart .cart_totals .order-total th, body.woocommerce-cart .cart_totals .order-total td { border-top: 1px solid rgb(199, 213, 203); font-size: 20px !important; }
.cart_totals .includes_tax { display: block; font-size: 12px; line-height: 1.5; font-weight: 400; }
body.woocommerce-cart .wc-proceed-to-checkout { padding: 20px 0px 0px; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: flex; justify-content: center; min-height: 48px; font-size: 16px; margin: 0px; border-radius: 5px; padding: 13px 16px; }
.woocommerce ul#shipping_method { list-style: none; margin: 0px; padding: 0px; }
.woocommerce ul#shipping_method li { margin: 0px 0px 10px; line-height: 1.5; }
.woocommerce ul#shipping_method input { margin: 3px 8px 0px 0px; vertical-align: top; accent-color: rgb(40, 91, 67); width: 17px !important; min-height: 17px !important; height: 17px !important; padding: 0px !important; }
.woocommerce ul#shipping_method label { font-size: 15px; font-weight: 400; display: inline; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: 14px; line-height: 1.5; margin: 12px 0px 0px; }
form.checkout.gn-commerce-checkout { display: block !important; }
form.gn-commerce-checkout #order_review { grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 1fr); gap: 24px; align-items: start; width: 100%; float: none; margin: 0px; padding: 0px; border: 0px; background: none; box-shadow: none; display: grid !important; }
form.gn-commerce-checkout .gn-checkout-summary { display: grid; gap: 24px; min-width: 0px; align-content: start; }
form.gn-commerce-checkout .gn-checkout-panel { position: relative; min-width: 0px; padding: 24px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 227, 220); border-radius: 5px; box-shadow: none; }
form.gn-commerce-checkout .gn-checkout-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
form.gn-commerce-checkout .gn-checkout-card-heading #order_review_heading { margin: 0px; }
form.gn-commerce-checkout .gn-checkout-card-heading .gn-checkout-edit { margin: 0px; white-space: nowrap; font-size: 13px; }
form.gn-commerce-checkout .gn-checkout-details .woocommerce-billing-fields { display: grid; gap: 20px; }
form.gn-commerce-checkout .gn-checkout-delivery-panel > h3 { margin: 0px 0px 18px; font: 650 20px/1.3 var(--gn-font); letter-spacing: -0.02em; }
form.gn-commerce-checkout #customer_details { width: 100%; float: none; margin: 0px; padding: 0px; border: 0px; border-radius: 0px; background: transparent; box-shadow: none; grid-area: auto; }
form.gn-commerce-checkout #customer_details .col-1, form.gn-commerce-checkout #customer_details .col-2 { width: 100%; float: none; padding: 0px; margin: 0px; }
form.gn-commerce-checkout #order_review_heading, form.gn-commerce-checkout .gn-checkout-contact-panel > h3, form.gn-commerce-checkout #gn-payment-heading { position: static; clip-path: none; overflow: visible; width: auto; height: auto; display: flex; align-items: center; gap: 10px; margin: 0px 0px 22px; padding: 0px; font: 650 21px/1.3 var(--gn-font); letter-spacing: -0.02em; border: 0px; background: none; float: none; }
form.gn-commerce-checkout #order_review_heading::before, form.gn-commerce-checkout .gn-checkout-contact-panel > h3::before, form.gn-commerce-checkout #gn-payment-heading::before { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 3px; background: rgb(40, 91, 67); color: rgb(255, 255, 255); font: 700 15px/1 var(--gn-font); }
form.gn-commerce-checkout #order_review_heading::before { content: "2"; }
form.gn-commerce-checkout .gn-checkout-contact-panel > h3::before { content: "1"; }
form.gn-commerce-checkout #gn-payment-heading::before { content: "3"; }
.gn-checkout-edit { display: inline-block; font-size: 14px; font-weight: 600; margin: -10px 0px 16px; text-decoration: underline; text-underline-offset: 3px; }
form.gn-commerce-checkout #order_review_heading { color: rgb(32, 61, 47); }
form.gn-commerce-checkout table.shop_table { display: table; table-layout: fixed; width: 100%; margin: 0px; border: 0px; border-collapse: collapse; border-radius: 0px; background: rgb(255, 255, 255); font-size: 15px; }
form.gn-commerce-checkout table.shop_table th, form.gn-commerce-checkout table.shop_table td { display: table-cell; vertical-align: top; padding: 15px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(226, 232, 227); border-image: none; text-align: left; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
form.gn-commerce-checkout table.shop_table th:first-child, form.gn-commerce-checkout table.shop_table td:first-child { width: 62%; padding-right: 14px; }
form.gn-commerce-checkout table.shop_table th:last-child, form.gn-commerce-checkout table.shop_table td:last-child { text-align: right; }
form.gn-commerce-checkout table.shop_table tr { display: table-row; padding: 0px; }
form.gn-commerce-checkout table.shop_table td::before { display: none; }
form.gn-commerce-checkout table.shop_table thead { display: table-header-group; }
form.gn-commerce-checkout table.shop_table .order-total th, form.gn-commerce-checkout table.shop_table .order-total td { font-size: 20px; border-bottom: 0px; padding-top: 20px; }
form.gn-commerce-checkout .includes_tax { display: block; font-size: 12px; font-weight: 400; }
form.gn-commerce-checkout .woocommerce-billing-fields__field-wrapper, form.gn-commerce-checkout .woocommerce-shipping-fields__field-wrapper, .gn-checkout-contact { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; }
form.gn-commerce-checkout .form-row { min-width: 0px; float: none !important; width: 100% !important; margin: 0px !important; padding: 0px !important; }
form.gn-commerce-checkout .form-row-wide { grid-column: 1 / -1; }
form.gn-commerce-checkout .gn-checkout-contact > .form-row { grid-column: auto; }
form.gn-commerce-checkout .form-row label { display: block; font: 600 14px/1.5 var(--gn-font); margin: 0px 0px 6px; }
form.gn-commerce-checkout input.input-text, form.gn-commerce-checkout select, form.gn-commerce-checkout textarea { width: 100%; border: 1px solid rgb(199, 213, 203); border-radius: 4px; background: rgb(255, 255, 255); font: 400 16px/1.4 var(--gn-font); box-sizing: border-box; min-height: 46px !important; padding: 10px 12px !important; }
form.gn-commerce-checkout textarea { min-height: 90px !important; }
form.gn-commerce-checkout .select2-container .select2-selection--single { height: 46px; border: 1px solid rgb(199, 213, 203); border-radius: 4px; }
form.gn-commerce-checkout .select2-selection__rendered { line-height: 44px; padding-left: 12px; font-size: 16px; }
form.gn-commerce-checkout .select2-selection__arrow { height: 44px; }
form.gn-commerce-checkout .woocommerce-shipping-fields, form.gn-commerce-checkout .woocommerce-additional-fields { margin-top: 22px; }
form.gn-commerce-checkout #ship-to-different-address { font: 600 16px/1.5 var(--gn-font); margin: 0px 0px 16px; }
form.gn-commerce-checkout input[type="checkbox"], form.gn-commerce-checkout input[type="radio"] { accent-color: rgb(40, 91, 67); width: 17px !important; height: 17px !important; min-height: 17px !important; padding: 0px !important; }
.gn-checkout-delivery { margin: 0px 0px 20px; padding: 0px; border: 0px; }
.gn-checkout-delivery[hidden] { display: none; }
form.gn-commerce-checkout .gn-checkout-delivery h3 { font: 600 18px/1.4 var(--gn-font); letter-spacing: 0px; margin: 0px 0px 14px; }
form.gn-commerce-checkout .gn-checkout-delivery table { width: 100%; border: 0px; margin: 0px; }
form.gn-commerce-checkout .gn-checkout-delivery th { display: none; }
form.gn-commerce-checkout .gn-checkout-delivery td { display: block; width: 100%; border: 0px; padding: 0px; }
form.gn-commerce-checkout .gn-checkout-delivery #shipping_method li { position: relative; padding: 0px; border: 1px solid rgb(217, 227, 220); border-radius: 4px; margin-bottom: 10px; }
form.gn-commerce-checkout .gn-checkout-delivery #shipping_method li:has(input:checked) { border-color: rgb(40, 91, 67); background: rgb(241, 246, 242); box-shadow: rgb(40, 91, 67) 0px 0px 0px 1px inset; }
form.gn-commerce-checkout .gn-checkout-delivery #shipping_method input { position: absolute; left: 14px; top: 15px; margin: 0px; }
form.gn-commerce-checkout .gn-checkout-delivery #shipping_method label { display: block; min-height: 48px; padding: 12px 14px 12px 42px; line-height: 1.5; margin: 0px; cursor: pointer; }
form.gn-commerce-checkout .gn-checkout-delivery #shipping_method li:has(input[type="hidden"]) label { padding-left: 14px; }
form.gn-commerce-checkout #payment { grid-area: auto; padding: 0px; margin: 0px; background: transparent; border: 0px; border-radius: 0px; box-shadow: none; }
form.gn-commerce-checkout #payment ul.payment_methods { list-style: none; padding: 0px; margin: 0px; border: 0px; }
form.gn-commerce-checkout #payment li.wc_payment_method { margin: 0px 0px 12px; padding: 14px; border: 1px solid rgb(217, 227, 220); border-radius: 4px; font-size: 15px; line-height: 1.5; }
form.gn-commerce-checkout #payment li.wc_payment_method:has(> input:checked) { border-color: rgb(40, 91, 67); box-shadow: rgb(40, 91, 67) 0px 0px 0px 1px inset; }
form.gn-commerce-checkout #payment li.wc_payment_method { position: relative; padding: 0px; overflow: hidden; }
form.gn-commerce-checkout #payment li.wc_payment_method > input { position: absolute; left: 14px; top: 17px; margin: 0px !important; }
form.gn-commerce-checkout #payment li > label { display: block; min-height: 50px; padding: 14px 14px 14px 42px; font-weight: 600; font-size: 15px; line-height: 1.5; cursor: pointer; }
form.gn-commerce-checkout #payment li > label img { max-width: 90px; max-height: 28px; object-fit: contain; }
form.gn-commerce-checkout #payment .payment_box { padding: 14px; margin: 0px; background: rgb(243, 246, 243); border-width: 1px 0px 0px; border-style: solid none none; border-color: rgb(217, 227, 220) currentcolor currentcolor; border-image: none; font-size: 14px; border-radius: 0px; line-height: 1.5; }
form.gn-commerce-checkout #payment .payment_box::before { display: none; }
form.gn-commerce-checkout #payment .payment_box p { font-size: 14px; line-height: 1.5; margin: 0px 0px 10px; }
form.gn-commerce-checkout #payment .place-order { padding: 12px 0px 0px; margin: 0px; }
body.single-product .payflex-text-title, body.single-product .payflex-font-bold { color: rgb(104, 51, 163) !important; }
form.gn-commerce-checkout .woocommerce-privacy-policy-text p { font-size: 13px; line-height: 1.6; margin: 0px 0px 16px; color: rgb(83, 103, 90); }
form.gn-commerce-checkout #place_order { width: 100%; min-height: 48px; font-size: 16px; padding: 12px 18px; margin: 0px; border-radius: 5px; }
form.gn-commerce-checkout #order_review > .gn-shopping-help { grid-column: 1 / -1; margin: 0px; font-size: 14px; }
@media (max-width: 1199px) {
  body.woocommerce-cart .gn-commerce-section > .woocommerce { grid-template-columns: minmax(0px, 1fr) 320px; gap: 20px; }
  body.woocommerce-cart .woocommerce-cart-form, body.woocommerce-cart .cart_totals { padding: 18px; }
  body.woocommerce-cart .product-thumbnail { width: 64px; }
  body.woocommerce-cart .product-thumbnail img { width: 54px; height: 72px; }
}
@media (max-width: 1023px) {
  body.woocommerce-cart .gn-commerce-section > .woocommerce { grid-template-columns: 1fr; }
  form.gn-commerce-checkout #order_review { grid-template-columns: 1fr; }
  form.gn-commerce-checkout .gn-checkout-details, form.gn-commerce-checkout .gn-checkout-payment { grid-area: auto; }
  body.woocommerce-checkout .gn-checkout-heading h1, body.woocommerce-cart .gn-commerce-section > h1 { font-size: 28px; }
  form.gn-commerce-checkout .gn-checkout-panel { padding: 22px; }
}
@media (max-width: 600px) {
  body.woocommerce-cart #main.gn-main, body.woocommerce-checkout #main.gn-main { width: calc(100% - 32px); }
  body.woocommerce-cart .gn-main, body.woocommerce-checkout .gn-main { padding-top: 20px; }
  .gn-checkout-heading { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 14px; }
  .gn-purchase-progress { font-size: 13px; gap: 10px; flex-wrap: wrap; }
  form.gn-commerce-checkout .gn-checkout-panel { padding: 18px; }
  form.gn-commerce-checkout .gn-checkout-contact { grid-template-columns: 1fr; }
  body.woocommerce-cart .shop_table.cart thead { display: none; }
  body.woocommerce-cart .shop_table.cart tr.cart_item { display: grid; grid-template-columns: 76px minmax(0px, 1fr); gap: 10px 12px; padding: 12px 0px 20px; position: relative; border-bottom: 1px solid rgb(226, 232, 227); }
  body.woocommerce-cart .shop_table.cart tr.cart_item td { display: block; width: auto; border: 0px; min-width: 0px; padding: 0px !important; text-align: left !important; }
  body.woocommerce-cart .shop_table.cart .product-thumbnail { grid-area: 1 / 1 / span 3; display: block !important; }
  body.woocommerce-cart .shop_table.cart .product-thumbnail img { width: 76px; height: 90px; }
  body.woocommerce-cart .shop_table.cart .product-name { grid-area: 1 / 2; padding-right: 0px !important; }
  body.woocommerce-cart .shop_table.cart .product-price { grid-area: 2 / 2; }
  body.woocommerce-cart .shop_table.cart .product-quantity { grid-area: 3 / 2; }
  body.woocommerce-cart .shop_table.cart .product-subtotal { grid-area: 4 / 2; }
  body.woocommerce-cart .shop_table.cart .product-remove { position: static; grid-area: 5 / 2; justify-self: start; }
  body.woocommerce-cart .shop_table.cart .product-remove a { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 76px; min-height: 44px; }
  body.woocommerce-cart .shop_table.cart td::before { display: none; }
  body.woocommerce-cart .shop_table.cart .product-subtotal::before { display: inline; content: "Subtotal: "; font-weight: 600; }
  body.woocommerce-cart .shop_table.cart td.actions { display: flex; flex-direction: column; gap: 14px; padding: 18px 0px 0px !important; }
  .gn-cart-coupon { float: none; width: 100%; }
  body.woocommerce-cart .actions > .button { float: none; width: 100%; }
  body.woocommerce-cart .coupon .button { padding-inline: 8px; font-size: 13px; }
  body.woocommerce-cart .cart_totals .shop_table tr { display: table-row; padding: 0px; }
  body.woocommerce-cart .cart_totals .shop_table th, body.woocommerce-cart .cart_totals .shop_table td { display: table-cell; }
  body.woocommerce-cart .cart_totals .shop_table td::before { display: none; }
  body.woocommerce-cart .cart_totals .shop_table tr.woocommerce-shipping-totals th, body.woocommerce-cart .cart_totals .shop_table tr.woocommerce-shipping-totals td { display: block; }
}
@media (max-width: 360px) {
  form.gn-commerce-checkout .woocommerce-billing-fields__field-wrapper, form.gn-commerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  body.woocommerce-cart .gn-cart-coupon .coupon { grid-template-columns: 1fr; }
  body.woocommerce-cart .coupon .button { width: 100%; }
}
form.gn-commerce-checkout .gn-checkout-basket, form.gn-commerce-checkout .gn-checkout-payment { position: static; top: auto; }
.gn-commerce-actions, .gn-commerce-feedback { grid-column: 1 / -1; min-width: 0px; }
.gn-commerce-actions { margin-bottom: 12px; font-size: 15px; font-weight: 600; }
.gn-commerce-feedback { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 0px 0px 16px; }
.gn-cart-update-status { font-size: 14px; line-height: 1.5; margin: 0px; color: rgb(40, 81, 58); }
.gn-cart-update-status:empty { display: none; }
.gn-commerce-retry { min-height: 44px; padding: 8px 16px; background: rgb(255, 255, 255); border: 1px solid rgb(40, 91, 67); border-radius: 4px; color: rgb(40, 91, 67); font-size: 14px; }
.gn-commerce-retry[hidden], .gn-commerce-feedback:has(.gn-cart-update-status:empty) { display: none; }
.gn-checkout-item-controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
form.gn-commerce-checkout .gn-checkout-item-controls .quantity input.qty { width: 48px; min-width: 48px; height: 44px; border: 0px; border-inline: 1px solid rgb(199, 213, 203); border-radius: 0px; text-align: center; min-height: 44px !important; padding: 4px !important; }
.gn-quantity-step { width: 44px; min-width: 44px; min-height: 44px; }
.gn-quantity-step:disabled { opacity: 0.45; cursor: default; }
.gn-checkout-remove { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; min-height: 44px; padding: 8px 10px; font-size: 14px; background: rgb(255, 255, 255); border: 1px solid rgb(189, 207, 194); color: rgb(37, 76, 54); border-radius: 4px; }
.gn-fixed-quantity { font-size: 14px; line-height: 1.5; }
.gn-checkout-payment-guidance:empty { display: none; }
.gn-checkout-payment-guidance .gn-payment-guidance { font-size: 14px; line-height: 1.5; margin: 0px 0px 16px; }
.wc-proceed-to-checkout a[aria-disabled="true"] { opacity: 0.55; cursor: wait; }
body.woocommerce-cart .woocommerce a.remove.gn-cart-remove { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 76px; min-height: 44px; padding: 8px 10px; border: 1px solid rgb(189, 207, 194); border-radius: 4px; font: 400 14px/1.4 var(--gn-font); background: rgb(255, 255, 255); text-decoration: underline; color: rgb(37, 76, 54) !important; }
body.woocommerce-cart .woocommerce a.remove.gn-cart-remove:hover { background: rgb(40, 91, 67); color: rgb(255, 255, 255) !important; }
@media (min-width: 601px) {
  body.woocommerce-cart .shop_table.cart thead { position: absolute; width: 1px; height: 1px; padding: 0px; overflow: hidden; clip-path: inset(50%); }
  body.woocommerce-cart .shop_table.cart tbody { display: block; width: 100%; }
  body.woocommerce-cart .shop_table.cart tr.cart_item { display: grid; grid-template-columns: 64px minmax(0px, 1fr) auto; gap: 10px 14px; padding: 16px 0px; border-bottom: 1px solid rgb(226, 232, 227); }
  body.woocommerce-cart .shop_table.cart tr.cart_item td { display: block; min-width: 0px; width: auto; padding: 0px; border: 0px; text-align: left !important; }
  body.woocommerce-cart .shop_table.cart .product-thumbnail { grid-area: 1 / 1 / span 3; }
  body.woocommerce-cart .shop_table.cart .product-thumbnail img { width: 64px; height: 84px; }
  body.woocommerce-cart .shop_table.cart .product-name { grid-area: 1 / 2 / auto / span 2; }
  body.woocommerce-cart .shop_table.cart .product-price { grid-area: 2 / 2; }
  body.woocommerce-cart .shop_table.cart .product-quantity { grid-area: 3 / 2; }
  body.woocommerce-cart .shop_table.cart .product-subtotal { grid-area: 3 / 3; align-self: center; }
  body.woocommerce-cart .shop_table.cart .product-remove { grid-area: 2 / 3; }
  body.woocommerce-cart .shop_table.cart .product-price::before { content: "Price: "; font-weight: 600; }
  body.woocommerce-cart .shop_table.cart .product-subtotal::before { content: "Subtotal: "; font-weight: 600; }
  body.woocommerce-cart .shop_table.cart tr:last-child:not(.cart_item), body.woocommerce-cart .shop_table.cart td.actions { display: block; width: 100%; }
  body.woocommerce-cart .shop_table.cart td.actions { display: flex; flex-wrap: wrap; gap: 14px; }
  body.woocommerce-cart .gn-cart-coupon { width: 100%; }
}
form.checkout.woocommerce-checkout:not(.gn-commerce-checkout) { display: grid; grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 1fr); gap: 24px; align-items: start; }
form.checkout:not(.gn-commerce-checkout) #customer_details { grid-area: 1 / 1; float: none; width: 100%; min-width: 0px; margin: 0px; padding: 24px; box-sizing: border-box; border-radius: 5px; }
form.checkout:not(.gn-commerce-checkout) #order_review { display: block; grid-area: 1 / 2; float: none; width: 100%; min-width: 0px; margin: 0px; padding: 24px; box-sizing: border-box; border: 1px solid rgb(217, 227, 220); border-radius: 5px; background: rgb(255, 255, 255); }
form.checkout:not(.gn-commerce-checkout) #order_review_heading { position: absolute; width: 1px; height: 1px; padding: 0px; overflow: hidden; clip-path: inset(50%); }
form.checkout:not(.gn-commerce-checkout) .woocommerce-billing-fields__field-wrapper, form.checkout:not(.gn-commerce-checkout) .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; }
form.checkout:not(.gn-commerce-checkout) .form-row { float: none; width: 100%; min-width: 0px; margin: 0px; padding: 0px; box-sizing: border-box; }
form.checkout:not(.gn-commerce-checkout) .form-row-wide { grid-column: 1 / -1; }
form.checkout:not(.gn-commerce-checkout) input.input-text, form.checkout:not(.gn-commerce-checkout) select, form.checkout:not(.gn-commerce-checkout) textarea { width: 100%; min-height: 46px; box-sizing: border-box; font-size: 16px; }
form.checkout:not(.gn-commerce-checkout) .woocommerce-checkout-review-order-table { display: table; width: 100%; table-layout: fixed; grid-area: auto; border: 0px; margin: 0px 0px 24px; background: rgb(255, 255, 255); }
form.checkout:not(.gn-commerce-checkout) .woocommerce-checkout-review-order-table th, form.checkout:not(.gn-commerce-checkout) .woocommerce-checkout-review-order-table td { padding: 12px 6px; overflow-wrap: anywhere; vertical-align: top; }
form.checkout:not(.gn-commerce-checkout) .woocommerce-checkout-review-order-table th:first-child, form.checkout:not(.gn-commerce-checkout) .woocommerce-checkout-review-order-table td:first-child { width: 55%; }
form.checkout:not(.gn-commerce-checkout) #payment { grid-area: auto; float: none; width: 100%; margin: 0px; padding: 0px; border: 0px; border-radius: 0px; background: rgb(255, 255, 255); }
form.checkout:not(.gn-commerce-checkout) #payment .place-order { padding: 0px; }
form.checkout:not(.gn-commerce-checkout) #place_order { width: 100%; min-height: 48px; }
form.checkout:not(.gn-commerce-checkout) .woocommerce-NoticeGroup { grid-column: 1 / -1; }
@media (max-width: 1023px) {
  form.checkout.woocommerce-checkout:not(.gn-commerce-checkout) { grid-template-columns: 1fr; }
  form.checkout:not(.gn-commerce-checkout) #customer_details, form.checkout:not(.gn-commerce-checkout) #order_review { grid-area: auto / 1; }
}
@media (max-width: 600px) {
  form.checkout:not(.gn-commerce-checkout) #customer_details, form.checkout:not(.gn-commerce-checkout) #order_review { padding: 18px; }
  form.checkout:not(.gn-commerce-checkout) .woocommerce-billing-fields__field-wrapper, form.checkout:not(.gn-commerce-checkout) .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
}
.gn-product-enquiry, .gn-shopping-help a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: 10px 12px; box-sizing: border-box; line-height: 1.4; overflow-wrap: anywhere; }
.gn-product-enquiry, .gn-whatsapp-help { color: rgb(35, 83, 60); border: 1px solid rgb(169, 194, 178); border-radius: 5px; background: rgb(243, 248, 243); text-decoration: underline; text-underline-offset: 3px; }
.gn-shopping-help { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.gn-product-enquiry:focus-visible, .gn-shopping-help a:focus-visible { outline: rgb(153, 108, 40) solid 3px; outline-offset: 3px; }
.woocommerce .showcoupon { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 4px; box-sizing: border-box; }
body.single-product .woocommerce-Tabs-panel :is(iframe, video, embed, object) { max-width: 100%; box-sizing: border-box; }
body.single-product .woocommerce-Tabs-panel iframe:is([src*="youtube.com/embed/"], [src*="youtube-nocookie.com/embed/"], [src*="player.vimeo.com/"]) { display: block; width: 100%; max-width: 800px; aspect-ratio: 16 / 9; height: auto; margin-block: 20px; }
.gn-product-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; margin-block: 20px; padding-bottom: 6px; }
.gn-product-table-scroll > table { margin: 0px; }
.gn-product-table-scroll:focus-visible { outline: rgb(153, 108, 40) solid 3px; outline-offset: 3px; }
body.single-product .woocommerce-breadcrumb { overflow-wrap: anywhere; }
body.single-product .summary .product_title { overflow-wrap: anywhere; }
body.single-product :is(.woocommerce-Tabs-panel, .woocommerce-product-details__short-description) pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }

/* storefront-polish.css */
.single-product div.product .woocommerce-product-gallery { padding: 0px; border: 0px; border-radius: 8px; overflow: hidden; background: rgb(245, 247, 243); }
.single-product .woocommerce-product-gallery__image img { display: block; width: 100%; height: clamp(320px, 37vw, 520px); object-fit: contain; background: transparent; }
.single-product .woocommerce-product-gallery__trigger { display: inline-flex; align-items: center; gap: 8px; top: 12px; right: 12px; width: auto; height: auto; min-height: 44px; padding: 10px 13px; border: 0px; border-radius: 5px; background: rgba(255, 255, 255, 0.94); color: rgb(23, 59, 44); box-shadow: rgba(23, 59, 44, 0.11) 0px 2px 12px; line-height: 1; text-decoration: none; font-size: 0px !important; }
.single-product .woocommerce-product-gallery__trigger::before { content: ""; display: block; flex: 0 0 17px; width: 17px; height: 17px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173b2c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.8'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E") center center / contain no-repeat; font-size: 0px; }
.single-product .woocommerce-product-gallery__trigger::after { content: "View larger image"; display: block; font: 600 13px/1.2 var(--gn-font); }
.single-product .woocommerce-product-gallery__trigger:hover { background: rgb(255, 255, 255); box-shadow: rgba(23, 59, 44, 0.14) 0px 4px 16px; }
.single-product .woocommerce-product-gallery__trigger:focus-visible { outline: rgb(169, 107, 43) solid 3px; outline-offset: 3px; }
body { background: rgb(255, 255, 255); }
.site-header, .gn-header { background: rgb(255, 255, 255); backdrop-filter: none; box-shadow: none; }
.service-bar, .gn-utility { background: rgb(23, 63, 51); }
.navigation, .gn-navigation-band { background: rgb(242, 245, 241); backdrop-filter: none; }
.button, .card-add, .search-form, .gn-search { border-radius: 3px; }
.button:hover, .product-card:hover, .category-card:hover { transform: none; box-shadow: none; }
.hero.shell { grid-template-columns: minmax(0px, 2fr) minmax(0px, 3fr); gap: 32px; min-height: 0px; padding: 26px 0px; margin-top: 0px; margin-bottom: 0px; background: none; border-radius: 0px; color: rgb(36, 56, 46); overflow: visible; }
.hero .hero-copy h1 { font-family: var(--gn-font); font-size: clamp(32px, 3vw, 46px); line-height: 1.13; letter-spacing: -0.025em; color: rgb(36, 56, 46); margin: 14px 0px 20px; max-width: 610px; }
.hero .eyebrow { color: rgb(91, 106, 96); font-size: 12px; letter-spacing: 0.1em; }
.hero .hero-description { color: rgb(82, 97, 87); font-size: 18px; line-height: 1.55; max-width: 440px; margin-bottom: 24px; }
.hero .hero-actions { display: flex; align-items: center; gap: 24px; }
.hero .hero-actions .button { background: rgb(40, 92, 70); color: rgb(255, 255, 255); border-color: rgb(40, 92, 70); min-height: 46px; font-size: 16px; }
.hero .hero-actions .text-link { color: rgb(40, 92, 70); font-size: 16px; text-decoration: underline; text-underline-offset: 5px; }
.hero .hero-actions .gn-equipment-action { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 5px 10px 5px 5px; border-radius: 5px; background: rgb(243, 234, 219); color: rgb(104, 69, 29); text-decoration: none; font-weight: 600; }
.hero .hero-actions .gn-equipment-action:hover { background: rgb(233, 216, 188); color: rgb(87, 54, 15); text-decoration: none; }
.hero .hero-actions .gn-equipment-action:focus-visible { outline: rgb(141, 90, 33) solid 3px; outline-offset: 3px; text-decoration: none; }
.gn-equipment-action-icon { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 4px; background: rgb(228, 200, 160); color: rgb(104, 69, 29); }
.gn-equipment-action-icon .icon { width: 23px; height: 23px; }
.hero .hero-display.gn-hero-products.gn-hero-campaigns { border-radius: 0px; box-shadow: none; width: 100%; min-height: 0px; }
@media (min-width: 1101px) {
  .hero .gn-hero-campaign-image { aspect-ratio: 3 / 2; object-fit: cover; }
  .hero .gn-hero-campaign-heading { font-size: clamp(36px, 6cqw, 52px); }
}
.promise-strip { background: none; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(221, 227, 222); border-image: none; border-radius: 0px; }
.promise-strip > div { padding: 17px 0px; }
.promise-strip a { padding: 0px 24px; }
.promise-strip a:first-child { padding-left: 0px; }
@media (max-width: 500px) {
  .promise-strip a > span { display: block; }
  .promise-strip a strong, .promise-strip a small { display: block; }
  .promise-strip a small { margin-top: 5px; }
}
.section { padding-block: 32px; }
.section-heading { padding-bottom: 12px; margin-bottom: 20px; }
.section-heading h2 { font-size: 27px; letter-spacing: -0.02em; }
.product-tabs button { background: none; border-width: 0px 0px 2px; border-style: none none solid; border-color: currentcolor currentcolor transparent; border-image: none; border-radius: 0px; padding: 10px 12px; }
.product-tabs button[aria-pressed="true"] { background: none; border-color: rgb(40, 92, 70); color: rgb(33, 75, 57); }
ul.products li.product.product-card, .product-card { border: 0px; border-radius: 0px; box-shadow: none; padding: 0px 0px 12px; background: rgb(255, 255, 255); transform: none; }
ul.products li.product.product-card:hover { box-shadow: none; transform: none; }
.product-image, .catalogue-main .product-image { border-radius: 0px; padding: 12px; aspect-ratio: 1.14 / 1; min-height: 0px; overflow: hidden; background: rgb(255, 255, 255); }
.product-image > a { display: block; width: 100%; height: 100%; }
.product-image img, .woocommerce ul.products li.product.product-card .product-image a img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; padding: 0px; aspect-ratio: auto; object-fit: contain; object-position: center center; margin: 0px !important; }
.product-image .gn-image-unavailable { height: 100%; min-height: 0px; }
.product-meta { padding: 12px 0px 0px; }
.product-meta h3 { margin: 6px 0px 10px; font-size: 16px; line-height: 1.4; }
.product-meta .eyebrow { font-size: 10px; color: rgb(106, 117, 109); letter-spacing: 0.05em; }
.card-price { font-size: 21px; letter-spacing: 0px; }
.card-add { margin-top: 12px; min-height: 44px; }
ul.products li.product.product-card .product-meta { position: relative; padding-bottom: 40px; }
ul.products li.product.product-card .product-meta > .added_to_cart { position: absolute; left: 0px; bottom: 0px; display: inline-flex; align-items: center; min-height: 36px; margin: 0px; }
.gn-card-quantity[hidden] { display: none; }
.gn-card-purchase { position: relative; }
.gn-card-purchase.is-enhanced { display: grid; grid-template-columns: 72px minmax(0px, 1fr); align-items: stretch; gap: 0px; min-height: 54px; border-radius: 3px; background: rgb(40, 92, 70); }
.gn-card-quantity { display: flex; align-items: center; justify-content: center; min-width: 0px; padding: 2px 3px; border-radius: 3px 0px 0px 3px; background: rgb(35, 83, 62); }
.gn-card-quantity input { width: 40px; min-width: 0px; height: 50px; margin: 0px; padding: 2px 1px; border-width: 1px 0px 1px 1px; border-style: solid none solid solid; border-color: rgb(216, 229, 220) currentcolor rgb(216, 229, 220) rgb(216, 229, 220); border-image: none; border-radius: 2px 0px 0px 2px; background: rgb(255, 255, 255); color: rgb(25, 59, 45); font: 600 14px/1 var(--gn-font); text-align: center; }
.gn-card-quantity input::-webkit-inner-spin-button, .gn-card-quantity input::-webkit-outer-spin-button { appearance: none; margin: 0px; }
.gn-card-quantity-steps { display: flex; flex: 0 0 26px; flex-direction: column; height: 50px; }
.gn-card-quantity-step { display: grid; place-items: center; width: 26px; height: 25px; min-height: 25px; margin: 0px; padding: 0px; border: 1px solid rgb(191, 210, 196); background: rgb(243, 248, 243); color: rgb(23, 59, 43); font: 700 11px / 1 Arial, sans-serif; cursor: pointer; }
.gn-card-quantity-step:first-child { border-radius: 0px 2px 0px 0px; }
.gn-card-quantity-step:last-child { border-top: 0px; border-radius: 0px 0px 2px; }
.gn-card-quantity-step:hover:not(:disabled) { background: rgb(219, 234, 223); }
.gn-card-quantity-step:disabled { background: rgb(237, 243, 238); color: rgb(100, 126, 110); cursor: default; }
.gn-card-quantity-step:focus-visible { position: relative; z-index: 1; outline: rgb(189, 132, 46) solid 2px; outline-offset: -2px; }
.gn-card-purchase.is-enhanced .card-add { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-width: 0px; height: 54px; min-height: 54px; margin: 0px; padding: 0px 3px; border-radius: 0px 3px 3px 0px; white-space: nowrap; line-height: 1.2; }
.gn-card-purchase .added_to_cart { position: absolute; left: 0px; top: calc(100% + 4px); display: inline-flex; align-items: center; min-height: 36px; margin: 0px; }
@media (max-width: 600px) {
  ul.products li.product.product-card .gn-card-purchase .card-add { padding-inline: 4px; gap: 0px; white-space: nowrap; font-size: 12px; }
}
.category-card { border: 0px; border-radius: 0px; box-shadow: none; background: none; padding: 0px; }
.category-card > div { padding: 0px; aspect-ratio: 1.3 / 1; border-radius: 0px; background: rgb(246, 246, 242); overflow: hidden; }
.category-card img { object-fit: contain; mix-blend-mode: multiply; }
.category-grains-legumes img, .category-nuts img { object-fit: cover; mix-blend-mode: normal; }
.category-card h3 { font-size: 16px; margin: 12px 0px 0px; }
.gn-promo { border-radius: 0px; background: rgb(243, 244, 239); color: rgb(36, 56, 46); padding: 28px; gap: 20px; }
.gn-promo-book { background: rgb(246, 243, 237); }
.gn-promo .gn-promo-copy h3 { font-family: var(--gn-font); font-size: 27px; letter-spacing: -0.02em; line-height: 1.2; }
.gn-promo p { font-size: 16px; }
.gn-promo .gn-promo-price { font-size: 23px; margin: 10px 0px 16px; }
.gn-promo .button, .gn-promo-mill .button { background: rgb(40, 92, 70); color: rgb(255, 255, 255); min-height: 44px; font-size: 15px; }
.story-section.shell { width: min(1600px, 100% - 64px); max-width: 1600px; background: none; border-radius: 0px; border-top: 1px solid rgb(221, 227, 222); padding: 36px 0px; margin: 16px auto 36px; grid-template-columns: 240px minmax(0px, 640px); justify-content: center; gap: 48px; }
.story-image, .story-image img { border-radius: 0px; }
.story-copy h2 { font-family: var(--gn-font); font-size: 30px; letter-spacing: -0.02em; }
.story-copy { padding: 0px; }
.gn-sidebar { border-radius: 0px; box-shadow: none; border-width: 0px 1px 0px 0px; border-style: none solid none none; border-color: currentcolor rgb(221, 227, 222) currentcolor currentcolor; border-image: none; padding-left: 0px; }
.gn-sidebar .gn-category-filter ul { margin: 8px 0px 0px; padding: 0px; }
.gn-sidebar .gn-category-filter li { margin: 2px 0px; }
.gn-sidebar .gn-category-filter a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border-left: 3px solid transparent; border-radius: 6px; color: rgb(36, 70, 54); text-decoration: none; overflow-wrap: anywhere; transition: color 0.18s, box-shadow 0.18s, transform 0.18s; }
@media (hover: hover) {
  .gn-sidebar .gn-category-filter a:hover { border-left-color: rgb(173, 113, 48); background: linear-gradient(115deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0) 65%), linear-gradient(rgb(239, 247, 237), rgb(220, 235, 220)); color: rgb(21, 63, 43); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(23, 63, 51, 0.1) 0px 3px 10px; transform: translateX(2px); }
}
.gn-sidebar .gn-category-filter a:focus-visible { border-left-color: rgb(173, 113, 48); background: linear-gradient(115deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0) 65%), linear-gradient(rgb(239, 247, 237), rgb(220, 235, 220)); color: rgb(21, 63, 43); box-shadow: rgb(255, 255, 255) 0px 1px inset, rgba(23, 63, 51, 0.1) 0px 3px 10px; outline: rgb(40, 91, 67) solid 2px; outline-offset: 2px; }
.gn-sidebar .gn-category-filter .current-cat > a { border-left-color: rgb(173, 113, 48); background: linear-gradient(115deg, rgba(255, 255, 255, 0.682) 0%, rgba(255, 255, 255, 0) 65%), linear-gradient(rgb(231, 242, 229), rgb(216, 233, 216)); color: rgb(21, 63, 43); font-weight: 700; }
@media (prefers-reduced-motion: reduce) {
  .gn-sidebar .gn-category-filter a { transition: none; }
  .gn-sidebar .gn-category-filter a:hover { transform: none; }
}
.woocommerce-info, .woocommerce-message, .woocommerce-error { border: 0px; border-radius: 0px; box-shadow: none; background: rgb(241, 244, 239); }
.woocommerce-error { background: rgb(252, 240, 238); color: rgb(93, 36, 28); }
.gn-product-stock, ul.products li.product .gn-product-stock { display: block; margin: 0px 0px 12px; padding: 0px; border: 0px; border-radius: 0px; box-shadow: none; background: transparent; color: rgb(40, 91, 67); font-size: 14px; font-weight: 600; line-height: 1.4; }
.gn-product-stock.gn-stock-outofstock, .gn-product-stock.gn-stock-onbackorder { color: rgb(128, 82, 55); }
.single-product .summary .stock { margin: 14px 0px; padding: 0px; border: 0px; border-radius: 0px; box-shadow: none; background: transparent; color: rgb(40, 91, 67); font-size: 16px; font-weight: 600; }
.single-product .summary .stock.out-of-stock, .single-product .summary .stock.available-on-backorder { color: rgb(128, 82, 55); }
.woocommerce-cart .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { box-shadow: none; }
@media (max-width: 1100px) {
  .hero.shell { grid-template-columns: 1fr 1fr; gap: 32px; }
  .hero .hero-copy h1 { font-size: 34px; }
  .hero .hero-description { font-size: 16px; }
  .hero .hero-actions { gap: 16px; flex-wrap: wrap; }
  .hero .hero-actions .button { font-size: 15px; }
}
@media (max-width: 700px) {
  .hero.shell { grid-template-columns: 1fr; gap: 22px; padding: 22px 0px; }
  .hero .hero-copy h1 { font-size: 32px; margin: 10px 0px 14px; }
  .hero .hero-description { font-size: 16px; margin-bottom: 18px; }
  .hero .hero-actions { display: flex; gap: 18px; }
  .hero .hero-actions .button { width: auto; flex: 0 0 auto; min-width: 0px; }
  .hero .gn-hero-campaigns { max-width: 480px; justify-self: center; }
  .promise-strip > div { grid-template-columns: 1fr 1fr; gap: 16px; padding: 16px 0px; }
  .promise-strip a { padding: 0px 12px; border: 0px; }
  .promise-strip a:nth-child(2n+1) { padding-left: 0px; }
  .section { padding-block: 24px; }
  .section-heading h2 { font-size: 23px; }
  .product-tabs { margin-left: 0px; }
  .product-tabs button { font-size: 13px; padding-inline: 8px; }
  .product-image, .catalogue-main .product-image { padding: 0px; aspect-ratio: 1.05 / 1; }
  .product-meta h3 { font-size: 15px; }
  .card-price { font-size: 19px; }
  .card-add { font-size: 13px; }
  .gn-promo { padding: 20px; grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 0.8fr); gap: 15px; }
  .gn-promo .gn-promo-copy h3 { font-size: 23px; }
  .gn-promo-image { grid-row: auto; }
  .gn-promo-image img { height: 180px; }
  .gn-promo .gn-promo-product { font-size: 14px; }
  .story-section.shell { width: calc(100% - 36px); grid-template-columns: 1fr; gap: 22px; padding: 24px 0px; margin-bottom: 24px; }
  .story-image { max-width: 240px; }
  .story-copy h2 { font-size: 26px; }
  .gn-sidebar { border-right: 0px; border-bottom: 1px solid rgb(221, 227, 222); }
}
@media (max-width: 380px) {
  .gn-promo { grid-template-columns: 1fr; }
  .gn-promo-image { grid-row: 1; max-width: 180px; }
  .hero .hero-actions { gap: 14px; }
  .hero .hero-actions .text-link { font-size: 14px; }
}
.hero .hero-actions .button, .hero .hero-actions .gn-equipment-action { box-sizing: border-box; flex: 0 0 auto; width: 224px; max-width: 100%; min-height: 52px; font-size: 16px; line-height: 1.25; }
.hero .hero-actions .button { justify-content: space-between; padding: 9px 18px; }
.hero .hero-actions .gn-equipment-action { justify-content: space-between; padding: 6px 12px 6px 6px; }
@media (max-width: 480px) {
  .hero .hero-actions .button, .hero .hero-actions .gn-equipment-action { width: 100%; min-width: 0px; }
}
@media (min-width: 701px) {
  .hero.shell { width: min(var(--gn-site-width),calc(100% - 64px)); max-width: var(--gn-site-width); margin-inline: auto; padding-top: 0px; padding-bottom: 0px; }
}
@media (min-width: 701px) and (max-width: 1199px) {
  .hero.shell { width: calc(100% - 40px); }
}
@media (max-width: 700px) {
  .hero.shell { width: auto; max-width: none; margin: 0px; padding: 22px 0px 0px; }
  .hero .hero-copy { padding-inline: 18px; }
  .hero .gn-hero-campaigns { max-width: none; }
}
@media (max-width: 700px) {
  .product-image, .catalogue-main .product-image { padding: 8px; aspect-ratio: 1.14 / 1; }
}
body main ul.products li.product.product-card .gn-card-purchase.is-enhanced .card-add { white-space: normal; font-size: 14px; line-height: 1.25; padding: 6px 8px; text-align: center; overflow-wrap: normal; word-break: normal; }
body main ul.products li.product.product-card .gn-card-purchase.is-enhanced .card-add { gap: 6px; }
body main ul.products li.product.product-card .card-add.product_type_simple.add_to_cart_button { gap: 6px; }
body main ul.products li.product.product-card .card-add.product_type_simple.add_to_cart_button::before { content: ""; display: block; width: 18px; height: 18px; flex: 0 0 18px; background: currentcolor; mask: url("assets/cart-icon.svg") center center / contain no-repeat; }
body main ul.products li.product.product-card { container: gn-product / inline-size; }
@container gn-product (max-width: 220px) {
  .gn-card-purchase.is-enhanced { grid-template-columns: 64px minmax(0px, 1fr); }
  .gn-card-quantity input { width: 32px; }
  body main ul.products li.product.product-card .gn-card-purchase.is-enhanced .card-add { font-size: 13px; padding-inline: 5px; }
}
@container gn-product (max-width: 150px) {
  .gn-card-purchase.is-enhanced { grid-template-columns: 1fr; gap: 0px; background: none; }
  .gn-card-quantity { justify-content: flex-start; border-radius: 3px 3px 0px 0px; }
  .gn-card-purchase.is-enhanced .card-add { border-radius: 0px 0px 3px 3px !important; }
}
@media (max-width: 600px) {
  .gn-card-purchase.is-enhanced { grid-template-columns: minmax(0px, 1fr); }
  .gn-card-quantity { display: grid; grid-template-columns: 44px minmax(44px, 1fr) 44px; padding: 3px; border-radius: 3px 3px 0px 0px; }
  .gn-card-quantity input { grid-area: 1 / 2; order: 2; width: 100%; height: 44px; border: 1px solid rgb(191, 210, 196); border-radius: 0px; }
  .gn-card-quantity-steps { display: contents; }
  .gn-card-quantity-step { width: 44px; height: 44px; min-height: 44px; font-size: 14px; }
  .gn-card-quantity-step[data-gn-step="-1"] { grid-area: 1 / 1; border-radius: 2px 0px 0px 2px; border: 1px solid rgb(191, 210, 196); }
  .gn-card-quantity-step[data-gn-step="1"] { grid-area: 1 / 3; border-radius: 0px 2px 2px 0px; }
  .gn-card-purchase.is-enhanced .card-add { border-radius: 0px 0px 3px 3px; min-height: 44px; height: 44px; }
}

/* ux-conversion.css */
.gn-guide-grid, .gn-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 22px; margin: 24px 0px 36px; }
.gn-guide-card { display: flex; flex-direction: column; gap: 12px; padding: 16px; background: rgb(244, 246, 240); border: 1px solid rgb(220, 231, 219); border-radius: 8px; text-decoration: none; font-weight: 700; text-align: center; }
.gn-guide-card img { width: 100%; max-height: 190px; object-fit: contain; }
.gn-guide-card:hover, .gn-guide-card:focus-visible { border-color: rgb(32, 86, 60); }
.gn-video-card { padding: 16px; background: rgb(244, 246, 240); border: 1px solid rgb(220, 231, 219); border-radius: 8px; }
.gn-video-card h2 { font-size: 20px; line-height: 1.3; margin: 16px 0px 8px; }
.gn-pdf-download { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 8px 0px; }
.gn-pdf-download img { width: 42px; height: 42px; object-fit: contain; flex: 0 0 auto; }
.gn-pdf-label { overflow-wrap: anywhere; font-weight: 600; }
.gn-video-preview { aspect-ratio: 16 / 9; display: grid; place-items: center; background: rgb(23, 61, 43); color: rgb(255, 255, 255); border-radius: 5px; overflow: hidden; }
.gn-video-preview iframe { display: block; width: 100%; height: 100%; border: 0px; }
.gn-video-play { background: rgb(255, 255, 255); color: rgb(23, 61, 43); border: 0px; border-radius: 5px; padding: 12px 18px; min-height: 48px; font-weight: 700; }
.gn-book-summary { display: grid; grid-template-columns: minmax(130px, 210px) minmax(0px, 1fr); align-items: center; gap: 25px; max-width: 880px; padding: 22px; background: rgb(238, 243, 235); border: 1px solid rgb(214, 226, 213); border-radius: 8px; margin: 0px 0px 28px; }
.gn-book-summary img { display: block; max-height: 280px; width: auto; margin: auto; object-fit: contain; }
.gn-book-summary h2 { font-size: clamp(25px, 3vw, 38px); }
.gn-book-price { font-size: 22px; font-weight: 700; }
.gn-context-action { max-width: 880px; margin: 35px 0px; padding: 24px; background: rgb(238, 243, 235); }
.gn-context-action h2 { font-size: 26px; margin-bottom: 10px; }
.gn-context-action a:not(.button) { display: inline-block; margin: 12px; }
.gn-blog-index { padding-block: 42px 70px; }
.gn-blog-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.story-copy .gn-story-consultation { margin: 14px 0px 0px; }
.gn-event-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0px; }
.gn-enquiry-section { padding-block: 36px; }
.gn-enquiry { max-width: 760px; margin: auto; padding: clamp(22px, 4vw, 40px); background: rgb(242, 245, 238); border: 1px solid rgb(216, 227, 214); border-radius: 8px; }
.gn-enquiry h2 { font-size: clamp(26px, 3vw, 38px); }
.gn-enquiry form { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.gn-enquiry-field { min-width: 0px; }
.gn-enquiry-field:last-of-type { grid-column: 1 / -1; }
.gn-enquiry-field label { display: block; font-size: 15px; font-weight: 650; margin-bottom: 6px; }
.gn-enquiry-field input, .gn-enquiry-field textarea { display: block; width: 100%; padding: 11px 13px; border: 1px solid rgb(131, 150, 136); background: rgb(255, 255, 255); border-radius: 4px; color: rgb(24, 61, 45); }
.gn-enquiry-field [aria-invalid="true"] { border-color: rgb(170, 50, 45); }
.gn-field-error, .gn-enquiry-error { color: rgb(154, 44, 38); font-size: 14px; margin: 6px 0px; }
.gn-enquiry-success { padding: 16px; background: rgb(224, 241, 223); }
.gn-optional { font-weight: 400; color: rgb(83, 104, 91); }
.gn-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.gn-enquiry form > .button { justify-self: start; grid-column: 1 / -1; }
.gn-filter-toggle { display: none; }
.gn-shop-title { margin: 0px 0px 16px; }
.gn-consult-hero-price { font-weight: 700; color: rgb(226, 240, 221); font-size: 16px; line-height: 1.45; margin: 12px 0px 0px; }
.gn-filter-chip { display: inline-flex; align-items: center; padding: 7px 11px; margin: 0px 6px 12px 0px; background: rgb(229, 238, 228); border-radius: 24px; font-size: 14px; text-decoration: none; }
.gn-sidebar input[type="number"] { width: 100%; max-width: 130px; padding: 8px; border: 1px solid rgb(131, 150, 136); }
.gn-price-fields { display: flex; gap: 10px; flex-wrap: wrap; margin: 10px 0px; }
.gn-price-fields label { display: block; font-size: 14px; }
@media (max-width: 1199px) {
  .site-header .header-actions > a.bag-link { position: relative; display: flex !important; }
}
@media (max-width: 767px) {
  .gn-guide-grid, .gn-video-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .gn-filter-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-bottom: 12px; }
  .gn-js .gn-sidebar:not(.is-open) { display: none; }
  .gn-catalogue-layout { display: block; }
  .gn-products { min-width: 0px; }
}
@media (max-width: 600px) {
  .gn-social-rail { display: none !important; }
  .gn-guide-grid, .gn-video-grid { grid-template-columns: 1fr; }
  .gn-book-summary { grid-template-columns: 110px minmax(0px, 1fr); gap: 15px; padding: 16px; }
  .gn-book-summary img { max-height: 180px; }
  .gn-enquiry form { grid-template-columns: 1fr; }
  .gn-enquiry-field:last-of-type { grid-column: auto; }
  .gn-ed-hero-panel .gn-ed-book-chip { display: none; }
  .site-header .header-main { padding: 8px 0px; }
  .site-header .brand-lockup { width: 140px; }
  .site-header .brand-tagline { width: 140px; }
  .site-header .logo, .site-header .logo img { width: 80px; height: 80px; }
}
@media (max-width: 359px) {
  .site-header .brand-lockup, .site-header .brand-tagline { width: 105px; }
  .site-header .logo, .site-header .logo img { width: 68px; height: 68px; }
  .site-header .header-actions > .icon-link { width: 40px; min-width: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .gn-guide-card, .gn-video-play { transition: none; }
}
.gn-catalogue-layout .gn-sidebar { padding: 0px 16px 0px 0px; border: 0px; border-radius: 0px; background: transparent; box-shadow: none; }
.gn-catalogue-layout .gn-sidebar h2 { margin: 0px 0px 8px; }
.gn-catalogue-layout .gn-sidebar > details { margin: 0px; padding: 12px 0px; border: 0px; }
.gn-catalogue-layout .gn-sidebar > details > summary { min-height: 44px; display: flex; align-items: center; }
.gn-catalogue-layout .gn-sidebar details > summary { list-style: none; cursor: pointer; }
.gn-catalogue-layout .gn-sidebar details > summary::-webkit-details-marker { display: none; }
.gn-catalogue-layout .gn-sidebar details > summary::after { content: ""; display: inline-block; flex: 0 0 7px; width: 7px; height: 7px; margin-left: 10px; border-right: 2px solid; border-bottom: 2px solid; transform: rotate(-45deg); transition: transform 0.18s; }
.gn-catalogue-layout .gn-sidebar details[open] > summary::after { transform: rotate(45deg); }
.gn-catalogue-layout .gn-sidebar details > summary:focus-visible { outline: rgb(169, 107, 43) solid 2px; outline-offset: 3px; border-radius: 3px; }
@media (prefers-reduced-motion: reduce) {
  .gn-catalogue-layout .gn-sidebar details > summary::after { transition: none; }
}
.gn-catalogue-layout .gn-sidebar .gn-category-filter a { border-left: 0px; border-radius: 4px; }
@media (hover: hover) {
  .gn-catalogue-layout .gn-sidebar .gn-category-filter a:hover { border-left: 0px; box-shadow: none; transform: none; }
}
.gn-catalogue-layout .gn-sidebar .gn-category-filter a:focus-visible, .gn-catalogue-layout .gn-sidebar .gn-category-filter .current-cat > a { border-left: 0px; box-shadow: none; }
.gn-catalogue-layout .gn-sidebar select { width: 100%; margin: 8px 0px 12px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(148, 170, 154); border-image: none; border-radius: 0px; background-color: rgb(255, 255, 255); }
.gn-price-filter form { min-width: 0px; }
.gn-price-slider { display: none; position: relative; height: 48px; margin: 10px 12px 0px; }
.gn-price-slider.is-ready { display: block; }
.gn-price-track { position: absolute; top: 20px; left: 0px; right: 0px; height: 7px; border-radius: 99px; background: rgb(215, 229, 216); }
.gn-price-fill { position: absolute; top: 0px; bottom: 0px; left: var(--gn-price-start,0%); width: var(--gn-price-width,100%); border-radius: 99px; background: rgb(40, 96, 68); }
.gn-price-slider input[type="range"] { position: absolute; inset: 0px; width: 100%; height: 48px; margin: 0px; padding: 0px; border: 0px; appearance: none; background: transparent; pointer-events: none; cursor: grab; }
.gn-price-slider input[type="range"]:active { cursor: grabbing; }
.gn-price-slider input[type="range"]::-webkit-slider-runnable-track { height: 7px; background: transparent; }
.gn-price-slider input[type="range"]::-webkit-slider-thumb { width: 28px; height: 28px; margin-top: -11px; border: 3px solid rgb(255, 255, 255); border-radius: 50%; appearance: none; background: rgb(36, 91, 62); box-shadow: rgb(36, 91, 62) 0px 0px 0px 1px, rgba(23, 59, 44, 0.21) 0px 2px 6px; pointer-events: auto; }
.gn-price-slider input[type="range"]:focus-visible { outline: 0px; }
.gn-price-slider input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: rgb(217, 164, 81) 0px 0px 0px 3px, rgb(33, 79, 55) 0px 0px 0px 6px; }
.gn-price-values { display: flex; justify-content: space-between; gap: 8px; margin: 0px 0px 10px; color: rgb(35, 71, 53); font-size: 15px; font-weight: 700; }
.gn-catalogue-layout .gn-sidebar .gn-price-exact { margin: 0px 0px 14px; padding: 0px; border: 0px; }
.gn-price-exact > summary { display: inline-flex; align-items: center; min-height: 44px; color: rgb(72, 107, 84); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.gn-price-filter .gn-price-fields { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; margin: 4px 0px 14px; }
.gn-price-filter .gn-price-fields label { min-width: 0px; font-size: 14px; }
.gn-price-filter .gn-price-fields input[type="number"] { display: block; width: 100%; max-width: none; min-height: 42px; margin-top: 4px; padding: 7px 2px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(148, 170, 154); border-image: none; border-radius: 0px; background: rgb(255, 255, 255); color: rgb(23, 59, 44); }
.gn-price-filter .gn-price-fields input[type="number"]:focus-visible, .gn-catalogue-layout .gn-sidebar select:focus-visible { outline: rgb(36, 91, 62) solid 2px; outline-offset: 2px; }
.gn-price-filter form > .button { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; padding: 9px 20px; }
@media (max-width: 767px) {
  .gn-catalogue-layout .gn-sidebar { padding: 0px 0px 18px; }
  .gn-catalogue-layout .gn-sidebar > details { padding: 8px 0px; }
}
.hero-copy > h1:first-child { margin-top: 0px; }

/* readability.css */
:root { --gn-body-size: var(--gn-type-body); }
body { font-size: var(--gn-type-body); line-height: 1.6; }
body :is(input, select, textarea) { font-size: var(--gn-type-body); }
body main p:not(.price):not(.gn-promo-price):not(.gn-book-price):not(.gn-consult-hero-price), body main :is(li, dd, td, th, figcaption, blockquote) { font-size: var(--gn-type-body) !important; }
body main dt, body main small { font-size: var(--gn-type-support) !important; }
body :is(sub, sup) { font-size: var(--gn-type-support) !important; }
body main :is(a, button, label) { font-size: max(var(--gn-type-body),1em) !important; }
body main .lead { font-size: var(--gn-type-body) !important; }
body main :is(.eyebrow, .gn-card-eyebrow, .gn-hero-campaign-eyebrow, .gn-field-error, .gn-enquiry-error, .gn-search-status) { font-size: var(--gn-type-support) !important; }
body main .gn-ed-ledger li > span { font-size: 15px !important; }
body main .gn-quantity-step { font-size: 20px !important; }
body main .promise-strip strong { font-size: 16px !important; }
.site-header :is(.header-action-label, .cart-label) { font-size: var(--gn-type-support) !important; }
.site-header .bag-count { min-width: 20px; height: 20px; line-height: 18px; font-size: var(--gn-type-support) !important; }
.gn-social-label { font-size: var(--gn-type-support) !important; }
.gn-footer-v2 :is(.gn-footer-intro, .gn-footer-menu a, .gn-footer-explore a, .gn-footer-contact-item strong, .gn-footer-socials a, .gn-footer-policies a) { font-size: var(--gn-type-body) !important; }
.gn-footer-v2 :is(.gn-footer-label, .gn-footer-section h2, .gn-footer-explore h2, .gn-footer-copyright) { font-size: var(--gn-type-support) !important; }
.service-bar .gn-site-menu { gap: 14px; }
.service-bar .gn-site-menu-head > a, .site-header .gn-mobile-services .gn-site-menu-head > a, .site-header .nav-links > a > span, .site-header .all-departments summary, .site-header .mega-heading > a, .site-header .mega-links a, .site-header .gn-category-group a { font-size: var(--gn-type-navigation) !important; }
.service-bar .gn-site-menu-head > a, .site-header .gn-mobile-services .gn-site-menu-head > a, .site-header .nav-links > a > span, .site-header .all-departments summary { font-weight: var(--gn-weight-navigation); }
.site-header .gn-category-group h2 { font-size: 16px; }
.hero .hero-copy h1 { font-family: var(--gn-font); font-size: clamp(42px, 3.85vw, 58px); font-weight: 750; line-height: 1.08; letter-spacing: -0.025em; color: rgb(23, 59, 44); background: linear-gradient(rgb(23, 59, 44) 0%, rgb(49, 92, 60) 54%, rgb(128, 85, 38) 100%) text; -webkit-text-fill-color: transparent; }
@media (max-width: 1199px) {
  .hero .hero-copy h1 { font-size: clamp(38px, 3.7vw, 44px); }
}
@media (max-width: 700px) {
  .hero .hero-copy h1 { font-size: clamp(36px, 9vw, 42px); }
}
@media (forced-colors: active) {
  .hero .hero-copy h1 { background: none; color: canvastext; -webkit-text-fill-color: canvastext; }
}

/* editorial-refresh.css */
body.gn-editorial-refresh { --gn-er-ink: #173b2c; --gn-er-muted: #4e6256; --gn-er-paper: #faf8f1; --gn-er-sage: #eef3eb; --gn-er-ochre: #a96b2b; --gn-er-line: #d8e2d7; }
body.gn-editorial-refresh .page-section { width: min(var(--gn-site-width),calc(100% - 64px)); padding-top: 28px; padding-bottom: 88px; }
body.gn-editorial-refresh .page-heading { margin: 34px 0px 28px; }
body.gn-editorial-refresh .page-heading h1 { max-width: 22ch; margin: 0px; color: var(--gn-er-ink); font-size: clamp(34px, 4vw, 56px); line-height: 1.12; letter-spacing: -0.035em; text-transform: none; }
body.gn-editorial-refresh .gn-editorial { max-width: none; padding: 0px; border: 0px; box-shadow: none; background: transparent; line-height: 1.7; }
body.gn-editorial-refresh .gn-editorial :where(p, ul, ol, blockquote) { max-width: var(--gn-prose-width); color: var(--gn-er-muted); }
body.gn-editorial-refresh .gn-editorial :is(.gn-content-toc, .gn-er-guide-toc) :where(ul, ol) { max-width: none; }
body.gn-editorial-refresh .gn-editorial :where(h2, h3, h4) { color: var(--gn-er-ink); letter-spacing: -0.025em; text-transform: none; line-height: 1.25; }
body.gn-editorial-refresh .gn-editorial h2 { font-size: clamp(26px, 2.4vw, 36px); }
body.gn-editorial-refresh .gn-editorial h3 { font-size: clamp(22px, 2vw, 28px); }
body.gn-editorial-refresh .gn-editorial h4 { font-size: 20px; }
body.gn-editorial-refresh .gn-editorial :where(a, button, summary):focus-visible { outline: 3px solid var(--gn-er-ochre); outline-offset: 4px; }
body.gn-editorial-refresh .gn-editorial :where(a, button) { min-height: 44px; }
body.gn-editorial-refresh .gn-editorial img { height: auto; max-width: 100%; }
body.gn-editorial-refresh .gn-editorial :where(iframe, video) { max-width: 100%; }
.gn-ed-contact .gn-ed-rows > div { grid-template-columns: 180px minmax(0px, 1fr); align-items: center; }
.gn-ed-contact .gn-ed-rows dt { display: flex; align-items: center; gap: 12px; padding-top: 0px; line-height: 1.25; }
.gn-contact-row-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(145deg, rgb(237, 245, 233), rgb(220, 235, 221)); color: rgb(40, 91, 67); }
.gn-contact-row-icon .icon { width: 21px; height: 21px; stroke-width: 1.8; }
.gn-ed-contact .gn-contact-inline-form { margin-top: 30px; }
.gn-ed-contact .gn-enquiry { max-width: none; margin: 0px; padding: clamp(20px, 2.3vw, 30px); border: 0px; border-radius: 8px; background: rgb(237, 243, 236); }
.gn-ed-contact .gn-enquiry h2 { font-size: clamp(24px, 2.1vw, 29px); line-height: 1.2; margin: 0px 0px 10px; }
.gn-ed-contact .gn-enquiry > p { margin: 0px 0px 20px; }
.gn-ed-contact .gn-enquiry form { gap: 12px; }
.gn-ed-contact .gn-enquiry-field:has(textarea) { grid-column: 1 / -1; }
.gn-ed-contact .gn-enquiry-field textarea { min-height: 105px; }
.gn-ed-hours .gn-ed-rows { width: min(100%, 440px); justify-self: start; }
.gn-ed-hours .gn-ed-rows > div { grid-template-columns: 170px minmax(0px, 1fr); gap: 18px; align-items: center; padding: 14px 0px; }
.gn-ed-hours .gn-ed-rows dt { padding: 0px; white-space: nowrap; }
.gn-ed-hours .gn-ed-rows dd { white-space: nowrap; text-align: left; justify-self: start; }
@media (min-width: 601px) and (max-width: 1199px) {
  .gn-ed-contact { grid-template-columns: 1fr; gap: 38px; }
  .gn-ed-contact .gn-contact-inline-form { max-width: 760px; }
}
@media (max-width: 600px) {
  .gn-ed-contact .gn-ed-rows > div { grid-template-columns: 1fr; gap: 7px; }
  .gn-ed-contact .gn-ed-rows dd { text-align: left; padding-left: 50px; }
  .gn-ed-contact .gn-contact-inline-form { margin-top: 24px; }
  .gn-ed-hours .gn-ed-rows > div { grid-template-columns: 158px max-content; justify-content: start; gap: 12px; padding: 12px 0px; }
}
body.gn-page-english-book .gn-er-book-feature, body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature { position: relative; isolation: isolate; overflow: hidden; width: 100%; max-width: none; min-height: 470px; margin: 0px 0px 38px; padding: clamp(28px, 5vw, 68px); border: 0px; border-radius: 12px; background: url("assets/editorial-kitchen-20261005.jpg") center center / cover no-repeat rgb(25, 58, 43); color: rgb(255, 255, 255); }
body.gn-page-english-book .gn-er-book-feature::before, body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature::before { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(90deg, rgba(12, 42, 30, 0.86), rgba(12, 42, 30, 0.54) 62%, rgba(12, 42, 30, 0.16)); }
body.gn-page-english-book .gn-er-book-feature { display: grid; grid-template-columns: minmax(210px, 300px) minmax(0px, 620px); align-items: center; justify-content: center; gap: clamp(32px, 5vw, 80px); }
body.gn-page-english-book .gn-er-book-cover { display: grid; place-items: center; min-width: 0px; }
body.gn-page-english-book .gn-er-book-cover img { display: block; width: min(100%, 280px); max-height: 420px; object-fit: contain; box-shadow: rgba(6, 20, 13, 0.5) 0px 24px 48px; }
body.gn-page-english-book .gn-er-book-copy { max-width: 620px; }
body.gn-page-english-book .gn-er-book-copy :where(h2, p), body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature :where(h2, p) { max-width: 58ch; color: rgb(255, 255, 255); }
body.gn-page-english-book .gn-er-book-copy h2, body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature h2 { margin: 10px 0px 18px; color: rgb(255, 255, 255); font-family: Georgia, serif; font-size: clamp(34px, 3.8vw, 56px); font-weight: 400; line-height: 1.12; }
body.gn-page-english-book .gn-er-book-copy .eyebrow, body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature .eyebrow { color: rgb(232, 204, 152); }
body.gn-page-english-book .gn-book-price { margin: 22px 0px 0px; color: rgb(255, 255, 255); font-size: clamp(24px, 2.5vw, 32px); font-weight: 750; }
.gn-er-book-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; margin-top: 24px; }
.gn-er-book-actions > a:not(.button) { color: rgb(255, 255, 255); text-decoration: underline; text-underline-offset: 5px; }
body.gn-page-english-book .gn-er-book-feature .button, body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature .button { background: rgb(233, 213, 169); border-color: rgb(233, 213, 169); color: rgb(23, 59, 44); font-weight: 750; }
body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature { display: flex; align-items: center; }
body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature > div { max-width: 620px; }
body.gn-page-english-book .gn-er-book-story, body.gn-page-afrikaanse-boek .gn-er-book-story { max-width: 70ch; margin: 0px auto; }
body.gn-page-english-book .gn-er-book-story img, body.gn-page-afrikaanse-boek .gn-er-book-story img { display: block; width: auto; max-height: 380px; object-fit: contain; margin: 24px auto; }
body.gn-page-english-book .gn-er-book-story :where(h2, h3), body.gn-page-afrikaanse-boek .gn-er-book-story :where(h2, h3) { margin-top: 42px; }
body.gn-page-english-book .gn-er-book-story :where(p, li), body.gn-page-afrikaanse-boek .gn-er-book-story :where(p, li) { line-height: 1.75; }
body.gn-page-english-book .gn-er-book-story { max-width: 1040px; }
body.gn-page-english-book .gn-er-book-intro { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(220px, 280px); gap: clamp(24px, 5vw, 72px); align-items: center; margin: 0px 0px 72px; padding: clamp(28px, 4vw, 54px); border-radius: 10px; background: rgb(238, 243, 236); }
body.gn-page-english-book .gn-er-book-intro h2 { margin: 6px 0px 18px; font-size: clamp(28px, 3.1vw, 42px); }
body.gn-page-english-book .gn-er-book-intro p { margin: 0px 0px 14px; }
body.gn-page-english-book .gn-er-book-kicker { font-size: 13px; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(114, 81, 31) !important; }
body.gn-page-english-book .gn-er-book-intro-note { font-weight: 650; }
body.gn-page-english-book .gn-er-book-intro-links { display: grid; gap: 10px; padding: 24px 0px 24px 28px; border-left: 2px solid rgb(195, 210, 195); }
body.gn-page-english-book .gn-er-book-intro-links > span { font-size: 13px; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(82, 103, 90); }
body.gn-page-english-book .gn-er-book-intro-links a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 0px; color: rgb(23, 59, 44); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
body.gn-page-english-book .gn-er-book-chapters { max-width: 880px; margin: 0px auto; }
body.gn-page-english-book .gn-er-book-chapters > h2 { margin: 0px 0px 8px; font-size: clamp(28px, 3vw, 40px); }
body.gn-page-english-book .gn-er-book-chapters > p { margin: 0px 0px 24px; }
body.gn-page-english-book .gn-er-book-chapter { border-top: 1px solid rgb(203, 216, 206); }
body.gn-page-english-book .gn-er-book-chapter:last-child { border-bottom: 1px solid rgb(203, 216, 206); }
body.gn-page-english-book .gn-er-book-chapter > summary { display: grid; grid-template-columns: 44px minmax(0px, 1fr) 32px; gap: 16px; align-items: center; min-height: 108px; padding: 18px 16px 18px 8px; list-style: none; cursor: pointer; transition: background-color 0.2s, padding-left 0.2s; }
body.gn-page-english-book .gn-er-book-chapter > summary::-webkit-details-marker { display: none; }
body.gn-page-english-book .gn-er-book-chapter > summary:hover { background: rgb(242, 246, 239); padding-left: 18px; }
body.gn-page-english-book .gn-er-book-chapter[open] > summary { background: rgb(242, 246, 239); }
body.gn-page-english-book .gn-er-book-chapter-number { color: rgb(134, 86, 32); font-size: 14px; font-weight: 750; }
body.gn-page-english-book .gn-er-book-chapter-label { display: grid; gap: 4px; }
body.gn-page-english-book .gn-er-book-chapter-label strong { color: rgb(23, 59, 44); font-size: clamp(19px, 2vw, 25px); line-height: 1.25; }
body.gn-page-english-book .gn-er-book-chapter-label small { color: rgb(78, 98, 86); font-size: 15px; line-height: 1.45; }
body.gn-page-english-book .gn-er-book-chapter-arrow { justify-self: end; color: rgb(36, 88, 62); font-size: 29px; font-weight: 300; line-height: 1; }
body.gn-page-english-book .gn-er-book-chapter[open] .gn-er-book-chapter-arrow { transform: rotate(45deg); }
body.gn-page-english-book .gn-er-book-chapter-body { max-width: 72ch; padding: 8px clamp(18px, 5vw, 62px) 34px; }
body.gn-page-english-book .gn-er-book-chapter-body p { margin: 0px 0px 20px; }
body.gn-page-english-book .gn-er-book-chapter-body a { color: rgb(27, 91, 59); text-decoration: underline; text-underline-offset: 3px; }
body.gn-page-english-book .gn-er-book-closing-quote { padding: 20px 28px; border-left: 3px solid rgb(169, 107, 43); font-family: Georgia, serif; font-size: clamp(21px, 2.2vw, 29px); font-style: italic; max-width: 880px !important; margin: 62px auto 0px !important; color: rgb(36, 68, 52) !important; line-height: 1.45 !important; }
@media (max-width: 700px) {
  body.gn-page-english-book .gn-er-book-intro { grid-template-columns: 1fr; gap: 8px; margin-bottom: 50px; padding: 28px 22px; }
  body.gn-page-english-book .gn-er-book-intro-links { padding: 14px 0px 0px; border-left: 0px; border-top: 2px solid rgb(195, 210, 195); }
  body.gn-page-english-book .gn-er-book-chapter > summary { grid-template-columns: 28px minmax(0px, 1fr) 24px; gap: 10px; min-height: 100px; padding: 16px 6px; }
  body.gn-page-english-book .gn-er-book-chapter > summary:hover { padding-left: 6px; }
  body.gn-page-english-book .gn-er-book-chapter-body { padding: 8px 10px 24px; }
  body.gn-page-english-book .gn-er-book-closing-quote { padding: 12px 18px; margin-top: 42px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.gn-page-english-book .gn-er-book-chapter > summary { transition: none; }
}
body.gn-page-consultations .gn-ed-hero-grid { min-height: 570px; }
body.gn-page-consultations .gn-ed-hero-panel { overflow: hidden; }
body.gn-page-consultations .gn-ed-hero-panel img { display: block; height: 100%; min-height: 570px; object-fit: cover; object-position: center 52%; }
body.gn-page-consultations .gn-consult-booking-band { padding: 24px 0px 36px; background: rgb(16, 37, 29); }
body.gn-page-consultations .gn-consult-booking-card { position: static; display: grid; grid-template-columns: minmax(170px, 0.32fr) minmax(0px, 1fr) auto; align-items: center; gap: 8px 28px; max-width: 1320px; margin: auto; padding: 22px 28px; border: 1px solid rgba(155, 181, 138, 0.4); border-radius: 10px; background: rgb(36, 68, 52); backdrop-filter: none; }
body.gn-page-consultations .gn-consult-booking-card .eyebrow { grid-column: 1; margin: 0px; }
body.gn-page-consultations .gn-consult-booking-card strong { grid-area: 2 / 1; margin: 0px; font-size: 30px; }
body.gn-page-consultations .gn-consult-booking-card p:not(.eyebrow):not(.consult-meta) { grid-column: 2; margin: 0px; }
body.gn-page-consultations .gn-consult-booking-card .button { grid-area: 1 / 3 / 3; }
body.gn-page-consultations .gn-consult-booking-card .consult-meta { grid-column: 2 / 4; margin: 0px; }
body.gn-page-consultations .gn-consult-booking-card p.gn-consultation-scope { margin: 0px; }
body.gn-page-about-us .gn-ed :where(h2, h3) { line-height: 1.18; }
body.gn-page-product-info .page-section { width: min(var(--gn-site-width),calc(100% - 64px)); }
body.gn-page-product-info .gn-guide-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px; max-width: none; margin-top: 28px; }
body.gn-page-product-info .gn-guide-card { position: relative; display: grid; grid-template-columns: 130px minmax(0px, 1fr); align-items: center; gap: 20px; min-height: 185px; padding: 20px; border: 1px solid var(--gn-er-line); border-radius: 10px; background: var(--gn-er-sage); color: var(--gn-er-ink); text-align: left; text-decoration: none; box-shadow: none; transition: background 0.18s, border-color 0.18s, transform 0.18s; }
body.gn-page-product-info .gn-guide-card:nth-child(3n+2) { background: rgb(247, 241, 230); }
body.gn-page-product-info .gn-guide-card:nth-child(3n) { background: rgb(236, 243, 239); }
body.gn-page-product-info .gn-guide-card:hover { background: rgb(227, 239, 223); border-color: rgb(80, 131, 102); transform: translateY(-2px); }
body.gn-page-product-info .gn-guide-card img { display: block; box-sizing: border-box; width: 130px; height: 130px; max-height: none; padding: 8px; object-fit: contain; background: rgb(255, 255, 255); border-radius: 8px; }
body.gn-page-product-info .gn-guide-card-copy { display: grid; gap: 9px; min-width: 0px; }
body.gn-page-product-info .gn-guide-card-copy strong { font-size: 20px; line-height: 1.25; text-decoration: underline; text-underline-offset: 3px; }
body.gn-page-product-info .gn-guide-card-copy strong::after { content: " ↗"; white-space: nowrap; color: var(--gn-er-ochre); }
body.gn-page-product-info .gn-guide-card-copy small { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--gn-er-muted); font-size: 15px; font-weight: 400; line-height: 1.4; }
body.gn-guide-page .gn-editorial { max-width: var(--gn-site-width); margin-inline: auto; }
.gn-er-guide-layout { display: flex; flex-direction: column; min-width: 0px; }
.gn-er-guide-content { display: flow-root; min-width: 0px; }
.gn-er-guide-layout .gn-er-guide-toc { order: -1; margin: 0px 0px 25px; border-top: 3px solid var(--gn-er-ochre); }
.gn-er-guide-layout .gn-er-guide-toc ul { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.gn-er-guide-content > h3 { margin: 30px 0px 12px; padding-left: 16px; border-left: 3px solid var(--gn-er-ochre); }
@media (min-width: 1100px) {
  .gn-er-guide-layout { display: grid; grid-template-columns: minmax(0px, 1fr) 270px; gap: 34px; align-items: start; }
  .gn-er-guide-content { grid-area: 1 / 1; }
  .gn-er-guide-layout .gn-er-guide-toc { position: sticky; top: 215px; grid-area: 1 / 2; margin: 0px; }
  .gn-er-guide-layout .gn-er-guide-toc ul { grid-template-columns: 1fr; }
}
.gn-er-guide-intro { display: grid; grid-template-columns: auto minmax(0px, 1fr) auto; align-items: center; gap: 8px 24px; padding: 22px 28px; margin-bottom: 26px; border-left: 5px solid var(--gn-er-ochre); border-radius: 0px 8px 8px 0px; background: var(--gn-er-sage); }
.gn-er-guide-intro span { color: var(--gn-er-ink); font-weight: 750; }
.gn-er-guide-intro p { margin: 0px; max-width: none !important; }
.gn-er-guide-intro a { display: inline-flex; align-items: center; color: var(--gn-er-ink); font-weight: 650; }
.gn-er-guide-toc { max-width: 100%; margin: 20px 0px 30px; padding: 20px 24px; background: rgb(247, 241, 230); border-radius: 9px; }
.gn-er-guide-toc strong { display: block; margin-bottom: 8px; color: var(--gn-er-ink); }
.gn-er-guide-toc ul { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 3px 20px; margin: 0px; padding-left: 20px; }
.gn-er-guide-toc a { display: inline-flex; align-items: center; }
.gn-er-anchor, body.gn-guide-page .gn-editorial [id^="gn-guide-section"], body.gn-guide-page #gn-guide-related { scroll-margin-top: 180px; }
body.gn-guide-page .gn-er-guide-image { display: block; width: auto; max-width: min(100%, 240px); max-height: 240px; object-fit: contain; margin: 8px 0px 26px; background: rgb(247, 248, 244); }
body.gn-guide-page .gn-editorial > p:has(.gn-er-guide-image), body.gn-guide-page .gn-er-guide-content > p:has(.gn-er-guide-image) { float: right; width: 260px; max-width: 38%; margin: 0px 0px 24px 34px; padding: 14px; border-radius: 8px; background: rgb(247, 241, 230); color: rgb(128, 90, 39); font-size: 15px; text-align: center; }
body.gn-guide-page .gn-editorial p:has(.gn-er-guide-image) img { margin: 0px auto 10px; background: rgb(255, 255, 255); border-radius: 5px; }
body.gn-guide-page .gn-editorial p:has(.gn-er-guide-image) a { display: block; }
body.gn-guide-page .gn-editorial > h2:first-of-type { margin-top: 24px; }
body.gn-guide-page .gn-context-action { max-width: 100%; margin-top: 44px; border-radius: 0px 8px 8px 0px; }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px 20px; max-width: none; margin: 18px 0px 34px; }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature { min-width: 0px; padding: 23px 26px; border: 1px solid var(--gn-er-line); border-radius: 9px; background: rgb(243, 247, 241); }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature:nth-child(2) { background: rgb(247, 241, 231); }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature:nth-child(3) { grid-column: 1 / -1; background: rgb(236, 243, 239); }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature-copy { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: 36px; }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature h3 { max-width: none; margin: 0px 0px 14px; font-size: clamp(21px, 2vw, 25px); }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature p { max-width: none; margin: 0px 0px 13px; }
body.gn-page-go-natural-water-distillers .gn-er-guide-feature p:last-child { margin-bottom: 0px; }
body.gn-page-go-natural-water-distillers .gn-er-water-benefits-title + ul, body.gn-page-go-natural-water-distillers .gn-er-water-specs-title + p + ul { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 9px 28px; max-width: none; margin: 16px 0px 25px; padding: 22px 26px 22px 44px; border-radius: 9px; background: rgb(246, 247, 242); }
.gn-er-archive { max-width: var(--gn-site-width); margin-inline: auto; }
.gn-er-archive-intro { margin: 0px 0px 24px; }
.gn-er-archive-index { display: flex; flex-wrap: wrap; gap: 8px; margin: 0px 0px 28px; }
.gn-er-archive-index a { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 8px 12px; border-radius: 7px; background: var(--gn-er-sage); color: var(--gn-er-ink); font-weight: 700; text-decoration: none !important; }
.gn-er-archive-index a:hover { background: rgb(212, 232, 210); }
.gn-er-archive-group { scroll-margin-top: 190px; margin: 0px 0px 34px; }
.gn-er-archive-group h2 { margin: 0px 0px 14px; padding: 0px 0px 10px; border-bottom: 2px solid var(--gn-er-ochre); }
.gn-er-archive-group ul, .gn-er-newsletter-year ul { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; margin: 0px; padding: 0px; list-style: none; max-width: none !important; }
.gn-er-archive-group li, .gn-er-newsletter-year li { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; min-width: 0px; padding: 18px 20px; border: 1px solid var(--gn-er-line); border-radius: 8px; background: rgb(255, 255, 255); }
.gn-er-archive-topic { font-size: 15px; color: rgb(122, 90, 46); font-weight: 700; letter-spacing: 0.02em; }
.gn-er-archive-group li strong, .gn-er-newsletter-year li strong { color: var(--gn-er-ink); font-size: 18px; line-height: 1.35; }
.gn-er-archive-group li a, .gn-er-newsletter-year li a { display: inline-flex; align-items: center; margin-top: auto; color: var(--gn-er-ink); font-weight: 700; }
.gn-er-newsletter-year { max-width: 100%; margin-bottom: 12px; border: 1px solid var(--gn-er-line); border-radius: 8px; background: rgb(255, 255, 255); }
@media (min-width: 1200px) {
  .gn-er-archive-group ul, .gn-er-newsletter-year ul { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
.gn-er-newsletter-year summary { display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 15px 22px; color: var(--gn-er-ink); font-size: 25px; font-weight: 750; cursor: pointer; }
.gn-er-newsletter-year summary span { color: var(--gn-er-muted); font-size: 15px; font-weight: 500; }
.gn-er-newsletter-year ul { padding: 0px 18px 18px; }
.gn-er-unavailable { color: rgb(120, 90, 53); font-size: 15px; }
.gn-er-archive-extra { max-width: 70ch; margin: 36px auto 0px; }
.gn-er-feedback { max-width: 970px; margin-inline: auto; }
.gn-er-feedback-intro { margin: 0px 0px 24px; color: var(--gn-er-muted); }
.gn-er-feedback-preface { padding: 0px 0px 16px; color: var(--gn-er-muted); }
.gn-er-feedback-preface p { margin: 0px 0px 8px; padding: 8px 0px 8px 16px; border-left: 3px solid var(--gn-er-ochre); font-style: italic; max-width: none !important; text-align: left !important; }
.gn-er-feedback-grid { display: grid; gap: 14px; }
.gn-er-feedback-card { border: 1px solid var(--gn-er-line); border-radius: 9px; background: rgb(255, 255, 255); overflow: hidden; }
.gn-er-feedback-card:nth-child(2n) { background: rgb(246, 248, 243); }
.gn-er-feedback-card summary { display: grid; gap: 7px; padding: 22px 26px; cursor: pointer; list-style: none; }
.gn-er-feedback-card summary::-webkit-details-marker { display: none; }
.gn-er-feedback-kicker { color: rgb(123, 93, 49); font-size: 15px; font-weight: 700; letter-spacing: 0.02em; }
.gn-er-feedback-card summary strong { max-width: 32ch; color: var(--gn-er-ink); font-size: clamp(20px, 2vw, 27px); line-height: 1.28; }
.gn-er-feedback-preview { max-width: 72ch; color: var(--gn-er-muted); line-height: 1.55; }
.gn-er-feedback-open { color: var(--gn-er-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.gn-er-feedback-card[open] .gn-er-feedback-open { font-size: 0px; }
.gn-er-feedback-card[open] .gn-er-feedback-open::after { content: "Close story"; font-size: 16px; }
.gn-er-feedback-body { padding: 5px 26px 30px; border-top: 1px solid var(--gn-er-line); }
.gn-er-feedback-body :where(p, blockquote) { max-width: 70ch; line-height: 1.75; }
.gn-er-feedback-body blockquote { margin: 20px 0px; padding-left: 20px; border-left: 3px solid var(--gn-er-ochre); }
.gn-er-feedback-body a:has(img[src*="pdf-icon"]) { display: inline-flex; align-items: center; gap: 10px; }
.gn-er-feedback-body img[src*="pdf-icon"] { width: 36px; height: 36px; }
body.gn-page-reader-feedback .gn-context-action, body.gn-page-client-feedback .gn-context-action, body.gn-page-testimonies .gn-context-action { max-width: 970px; margin-inline: auto; }
body.gn-page-calendar-bookings .gn-event-groups { max-width: var(--gn-site-width); margin: auto; gap: 38px; }
body.gn-page-calendar-bookings .gn-editorial > h2:first-child { margin: 0px 0px 28px; color: rgb(128, 90, 39); font-size: 16px; letter-spacing: 0.1em; }
body.gn-page-calendar-bookings .gn-event-groups > section > h2 { margin: 0px 0px 20px; }
body.gn-page-calendar-bookings .gn-event-card { display: grid; grid-template-columns: minmax(180px, 245px) minmax(0px, 1fr); align-items: start; column-gap: 28px; margin-bottom: 16px; padding: 24px; border: 1px solid var(--gn-er-line); border-radius: 10px; background: rgb(248, 250, 246); }
body.gn-page-calendar-bookings .gn-event-card > p:has(> img) { grid-area: 1 / 1 / span 6; align-self: start; max-width: none; margin: 0px; }
body.gn-page-calendar-bookings .gn-event-card > p > img { display: block; width: 100%; max-height: 340px; object-fit: contain; background: rgb(255, 255, 255); border-radius: 7px; }
body.gn-page-calendar-bookings .gn-event-card > :not(p:has(> img)) { grid-column: 2; min-width: 0px; margin: 0px 0px 12px; }
body.gn-page-calendar-bookings .gn-event-card h3 { font-size: clamp(22px, 2.4vw, 29px); margin: 0px 0px 12px; }
body.gn-page-calendar-bookings .gn-event-card time { color: rgb(123, 93, 49); font-weight: 750; }
body.gn-page-calendar-bookings .gn-event-actions { display: flex; flex-wrap: wrap; gap: 10px; }
body.gn-page-calendar-bookings .gn-event-actions .button { min-height: 46px; }
body.gn-page-seminars-and-workshops .gn-editorial, body.gn-page-diet-selection .gn-editorial, body.gn-page-go-naturals-10-step-nutritional-program .gn-editorial, body.gn-page-recipes .gn-editorial { max-width: var(--gn-site-width); margin-inline: auto; }
body.gn-page-seminars-and-workshops .gn-editorial > p:first-of-type:has(img) { float: left; width: 205px; max-width: 35%; margin: 0px 34px 22px 0px; color: rgb(128, 90, 39); font-size: 15px; }
body.gn-page-seminars-and-workshops .gn-editorial > p:first-of-type img { display: block; width: 190px; max-height: 260px; object-fit: cover; object-position: center top; border-radius: 7px; }
body.gn-page-seminars-and-workshops .gn-editorial > h2:first-of-type { font-size: clamp(25px, 2.5vw, 34px); }
.gn-er-section-intro { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin: 0px 0px 26px; padding: 22px 26px; border-radius: 8px; background: var(--gn-er-sage); }
.gn-er-section-intro p { margin: 0px; }
.gn-er-section-intro a { font-weight: 700; }
body.gn-page-book-trailer .gn-editorial { max-width: 940px; margin-inline: auto; }
body.gn-page-book-trailer .gn-editorial > h2:first-of-type { display: none; }
.gn-er-video { position: relative; display: grid; place-items: center; min-height: clamp(260px, 42vw, 480px); overflow: hidden; border-radius: 10px; background: rgb(25, 58, 43); color: rgb(255, 255, 255); }
.gn-er-video-book-trailer { background: url("assets/editorial-kitchen-20261005.jpg") center center / cover no-repeat rgb(25, 58, 43); }
.gn-er-video-diet-selection { background: url("assets/diet-kitchen-20261006.jpg") center center / cover no-repeat rgb(25, 58, 43); }
.gn-er-video-seminars-and-workshops { background: url("assets/workshop-kitchen-20261006.jpg") center center / cover no-repeat rgb(25, 58, 43); }
.gn-er-video-go-naturals-10-step-nutritional-program { background: url("assets/diet-kitchen-20261006.jpg") center center / cover no-repeat rgb(25, 58, 43); }
.gn-er-video-book-trailer::before { content: ""; position: absolute; inset: 0px; background: rgba(9, 46, 27, 0.48); }
.gn-er-video img { position: absolute; left: clamp(16px, 6vw, 80px); bottom: 0px; width: auto; max-width: 190px; max-height: 85%; object-fit: contain; box-shadow: rgba(0, 0, 0, 0.333) 0px 12px 30px; }
.gn-er-video button { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 12px; min-height: 54px; padding: 12px 22px; border: 0px; border-radius: 7px; background: rgb(247, 239, 217); color: var(--gn-er-ink); font-weight: 750; cursor: pointer; }
.gn-er-video iframe { position: absolute; inset: 0px; width: 100%; height: 100%; border: 0px; }
.gn-er-video-fallback { margin: 10px 0px 28px; }
body.gn-page-recipes .gn-content-toc ul { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 6px 18px; padding-left: 20px; }
body.gn-page-go-naturals-10-step-nutritional-program .gn-content-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 4px 22px; }
body.gn-page-media-articles .gn-media-section summary { font-size: clamp(20px, 2vw, 26px); }
body.gn-page-media-articles .gn-media-grid { align-items: start; gap: 16px; }
body.gn-page-media-articles .gn-media-card { align-self: start; gap: 12px; padding: 20px 22px 18px; border: 0px; border-radius: 7px; background: linear-gradient(145deg, rgb(237, 244, 233), rgb(229, 239, 232)); box-shadow: rgba(23, 59, 44, 0.043) 0px 4px 18px; transition: transform 0.18s, box-shadow 0.18s; }
body.gn-page-media-articles .gn-media-card:nth-child(4n+2) { background: linear-gradient(145deg, rgb(250, 242, 229), rgb(242, 233, 218)); }
body.gn-page-media-articles .gn-media-card:nth-child(4n+3) { background: linear-gradient(145deg, rgb(237, 244, 243), rgb(227, 239, 237)); }
body.gn-page-media-articles .gn-media-card:nth-child(4n+4) { background: linear-gradient(145deg, rgb(247, 237, 231), rgb(240, 231, 225)); }
body.gn-page-media-articles .gn-editorial .gn-media-card h3 { margin: 0px; color: rgb(36, 70, 55); font-size: clamp(17px, 1.25vw, 19px); font-weight: 550; line-height: 1.36; letter-spacing: -0.012em; }
body.gn-page-media-articles .gn-media-card a { align-self: flex-start; margin-top: 4px; color: rgb(40, 92, 69); font-size: 14px; font-weight: 600; text-decoration: underline rgb(154, 183, 163); text-underline-offset: 4px; }
body.gn-page-media-articles .gn-media-card:hover, body.gn-page-media-articles .gn-media-card:focus-within { transform: translateY(-2px); box-shadow: rgba(23, 59, 44, 0.11) 0px 10px 24px; }
@media (prefers-reduced-motion: reduce) {
  body.gn-page-media-articles .gn-media-card { transition: none; }
  body.gn-page-media-articles .gn-media-card:hover, body.gn-page-media-articles .gn-media-card:focus-within { transform: none; }
}
body.gn-page-videos .gn-video-grid { gap: 18px; }
body.gn-page-videos .gn-video-card { border-radius: 9px; }
@media (max-width: 1100px) {
  body.gn-page-product-info .gn-guide-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  body.gn-page-consultations .gn-consult-booking-card { grid-template-columns: minmax(160px, 0.35fr) minmax(0px, 1fr); }
  body.gn-page-consultations .gn-consult-booking-card .button { grid-area: auto / 2; justify-self: start; }
  body.gn-page-consultations .gn-consult-booking-card .consult-meta { grid-column: 2; }
}
@media (max-width: 959px) {
  body.gn-page-product-info .gn-guide-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body.gn-page-go-natural-water-distillers .gn-er-guide-feature-grid, body.gn-page-go-natural-water-distillers .gn-er-water-benefits-title + ul, body.gn-page-go-natural-water-distillers .gn-er-water-specs-title + p + ul { grid-template-columns: 1fr; }
  body.gn-page-go-natural-water-distillers .gn-er-guide-feature:nth-child(3) { grid-area: auto; }
  body.gn-page-go-natural-water-distillers .gn-er-guide-feature-copy { grid-template-columns: 1fr; }
  body.gn-page-go-natural-water-distillers .gn-er-guide-feature { padding: 20px; }
  .gn-er-guide-intro { grid-template-columns: 1fr; gap: 8px; padding: 20px; }
  body.gn-editorial-refresh .page-section { width: min(100% - 36px, 680px); padding-top: 18px; padding-bottom: 56px; }
  body.gn-editorial-refresh .page-heading { margin: 24px 0px 20px; }
  body.gn-page-english-book .gn-er-book-feature { grid-template-columns: 1fr; gap: 18px; padding: 26px 20px; min-height: 0px; }
  body.gn-page-english-book .gn-er-book-cover img { max-width: 170px; max-height: 240px; }
  body.gn-page-english-book .gn-er-book-feature { gap: 12px; }
  body.gn-page-afrikaanse-boek .gn-er-afrikaans-feature { min-height: 0px; padding: 38px 24px; }
  body.gn-page-about-us .gn-ed-hero { display: flex; flex-direction: column; background: rgb(16, 37, 29); }
  body.gn-page-about-us .gn-ed-hero-inner { order: 1; min-height: 0px; padding: 42px 18px 36px; }
  body.gn-page-about-us .gn-ed-hero-media { position: relative; inset: auto; order: 2; margin: 0px; }
  body.gn-page-about-us .gn-ed-hero-media::after { display: none; }
  body.gn-page-about-us .gn-ed-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
  body.gn-page-consultations .gn-ed-hero-grid { min-height: 0px; }
  body.gn-page-consultations .gn-ed-hero-panel img { min-height: 0px; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
  body.gn-page-consultations .gn-consult-booking-card { display: block; padding: 22px; }
  body.gn-page-consultations .gn-consult-booking-card :where(strong, p, a) { margin-bottom: 10px; }
  body.gn-page-product-info .gn-guide-grid { grid-template-columns: 1fr; }
  body.gn-page-product-info .gn-guide-card { grid-template-columns: 110px minmax(0px, 1fr); min-height: 0px; padding: 15px; }
  body.gn-page-product-info .gn-guide-card img { width: 110px; height: 110px; }
  body.gn-page-product-info .gn-guide-card-copy strong { font-size: 19px; }
  body.gn-guide-page .gn-editorial p:has(.gn-er-guide-image) { float: none; max-width: none; width: 210px; margin: 0px 0px 20px; }
  body.gn-page-seminars-and-workshops .gn-editorial > p:first-of-type:has(img) { float: none; max-width: none; width: 170px; margin: 0px 0px 20px; }
  body.gn-page-seminars-and-workshops .gn-editorial > p:first-of-type img { width: 160px; max-height: 220px; }
  .gn-er-guide-toc ul, .gn-er-archive-group ul, .gn-er-newsletter-year ul, body.gn-page-recipes .gn-content-toc ul, body.gn-page-go-naturals-10-step-nutritional-program .gn-content-toc ol { grid-template-columns: 1fr; }
  body.gn-page-calendar-bookings .gn-event-card { display: block; padding: 18px; }
  body.gn-page-calendar-bookings .gn-event-card > p:has(> img) { margin: 16px 0px; }
  body.gn-page-calendar-bookings .gn-event-card > p > img { max-width: 260px; max-height: 310px; }
  .gn-er-video img { max-width: 120px; max-height: 70%; }
}
@media (max-width: 390px) {
  body.gn-page-product-info .gn-guide-card { grid-template-columns: 90px minmax(0px, 1fr); }
  body.gn-page-product-info .gn-guide-card img { width: 90px; height: 90px; }
  body.gn-page-product-info .gn-guide-card-copy strong { font-size: 17px; }
  body.gn-page-product-info .gn-guide-card-copy small { font-size: 14px; }
  .gn-er-feedback-card summary { padding: 18px; }
  .gn-er-feedback-body { padding: 5px 18px 24px; }
}
@media (max-width: 350px) {
  body.gn-page-product-info .gn-guide-card { grid-template-columns: 1fr; gap: 12px; }
  body.gn-page-product-info .gn-guide-card img { width: 90px; height: 90px; }
  body.gn-page-product-info .gn-guide-card-copy { gap: 7px; }
}
@media (min-width: 768px) and (max-width: 900px) {
  body.gn-page-about-us .gn-ed-hero { display: flex; flex-direction: column; background: rgb(16, 37, 29); }
  body.gn-page-about-us .gn-ed-hero-inner { order: 1; min-height: 0px; padding: 50px 28px 42px; }
  body.gn-page-about-us .gn-ed-hero-media { position: relative; inset: auto; order: 2; margin: 0px; }
  body.gn-page-about-us .gn-ed-hero-media::after { display: none; }
  body.gn-page-about-us .gn-ed-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
}
@media (max-width: 600px) {
  body.gn-editorial-refresh .gn-social-rail { width: 44px; bottom: calc(82px + env(safe-area-inset-bottom)); border-radius: 8px 0px 0px 8px; display: flex !important; }
  body.gn-editorial-refresh .gn-social-toggle { width: 44px; min-height: 48px; }
  body.gn-editorial-refresh .gn-social-rail[data-mobile-open="true"] { width: 48px; }
  body.gn-editorial-refresh .gn-er-feedback-card { width: calc(100% - 52px); margin-inline: auto; }
  body.gn-page-consultations .hero-actions { max-width: calc(100% - 52px); }
}
.gn-er-story-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0px 0px 30px; }
.gn-er-story-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 999px; background: rgb(230, 239, 229); color: rgb(23, 59, 44); font-weight: 700; text-decoration: none; line-height: 1.3; }
.gn-er-story-nav a:hover { background: rgb(213, 229, 209); }
.gn-er-story-nav a:focus-visible, .gn-er-story-details summary:focus-visible { outline: rgb(173, 112, 46) solid 3px; outline-offset: 3px; }
.gn-er-story-section { clear: both; margin: 0px 0px 30px; padding: clamp(24px, 3vw, 38px); border-radius: 14px; background: rgb(244, 247, 241); scroll-margin-top: 170px; }
.gn-er-story-section:nth-of-type(2n) { background: rgb(250, 246, 237); }
.gn-er-story-split { display: grid; grid-template-columns: minmax(0px, 1.08fr) minmax(280px, 0.92fr); align-items: start; gap: clamp(22px, 3.5vw, 46px); }
.gn-er-story-reverse .gn-er-story-copy { grid-area: 1 / 2; }
.gn-er-story-reverse .gn-er-article-photo { grid-area: 1 / 1; }
.gn-er-story-copy { min-width: 0px; }
.gn-er-story-kicker { display: block; margin: 0px 0px 12px; color: rgb(108, 84, 46); font-size: 13px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.gn-er-story-section h2, .gn-er-story-video h2 { max-width: 27ch; margin: 0px 0px 18px; color: rgb(23, 59, 44); font-size: clamp(25px, 2.6vw, 34px); line-height: 1.2; letter-spacing: -0.025em; }
.gn-er-story-section p, .gn-er-story-section li { line-height: 1.68; }
.gn-er-story-section p:last-child { margin-bottom: 0px; }
.gn-er-article-photo { margin: 0px; }
.gn-er-article-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; }
.gn-er-article-photo figcaption { margin: 7px 0px 0px; color: rgb(101, 115, 106); font-size: 12px; }
.gn-er-story-teaser { margin: 0px 0px 18px; }
.gn-er-story-details { max-width: 100%; margin: 16px 0px 0px; }
.gn-er-story-details summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; padding: 10px 17px; border-radius: 8px; background: rgb(223, 234, 217); color: rgb(23, 59, 44); font-weight: 750; cursor: pointer; list-style: none; }
.gn-er-story-details summary::-webkit-details-marker { display: none; }
.gn-er-story-details summary::after { content: "+"; font-size: 26px; font-weight: 400; line-height: 1; }
.gn-er-story-details[open] summary::after { content: "−"; }
.gn-er-story-details-body { padding: 20px 2px 4px; max-width: 72ch; }
.gn-er-story-details-body :first-child { margin-top: 0px; }
.gn-er-story-details-body :last-child { margin-bottom: 0px; }
.gn-er-story-video { margin: 4px 0px 30px; }
.gn-er-story-video .gn-video-embed { max-width: 780px; margin: 0px auto; }
.gn-er-story-quote { padding: 18px 24px; border-radius: 8px; background: rgb(232, 238, 227); font-family: Georgia, serif; font-size: clamp(18px, 2vw, 23px); text-align: center; max-width: none !important; margin: 22px auto 32px !important; color: rgb(23, 59, 44) !important; }
.gn-er-seminar-topics ol { columns: 2; column-gap: 34px; padding-left: 25px; max-width: none !important; }
.gn-er-seminar-topics li { break-inside: avoid; margin-bottom: 10px; }
.gn-er-seminar-consult p:last-child a { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 18px; border-radius: 6px; background: rgb(39, 92, 70); color: rgb(255, 255, 255); text-decoration: none; font-weight: 750; }
.gn-er-seminar-consult p:last-child a:hover { background: rgb(25, 69, 51); }
body.gn-guide-page .gn-er-guide-photo { float: right; width: 42%; max-width: 400px; margin: 0px 0px 26px 30px; }
body.gn-guide-page .gn-er-guide-photo img { aspect-ratio: 3 / 2; }
body.gn-guide-page .gn-er-guide-content > .gn-er-guide-photo { float: none; width: 100%; max-width: none; margin: 0px 0px 26px; }
body.gn-guide-page .gn-er-guide-content > .gn-er-guide-photo img { aspect-ratio: 21 / 9; }
body.gn-guide-page .gn-editorial > h2, body.gn-guide-page .gn-er-guide-content > h2 { clear: both; margin-top: 42px; }
body.gn-guide-page .gn-editorial > h2[id^="gn-guide-section"] { scroll-margin-top: 170px; }
.gn-er-ten-heading { margin: 32px 0px 18px; }
.gn-er-ten-heading h2 { margin: 0px 0px 7px; color: rgb(23, 59, 44); font-size: clamp(27px, 3vw, 38px); }
.gn-er-ten-heading p { margin: 0px; }
.gn-er-step-list { display: grid; gap: 10px; }
.gn-er-step { max-width: none; border-radius: 9px; background: rgb(237, 243, 233); scroll-margin-top: 170px; }
.gn-er-step:nth-child(2n) { background: rgb(248, 242, 232); }
.gn-er-step summary { display: grid; grid-template-columns: 48px minmax(0px, 1fr) 26px; align-items: center; gap: 12px; min-height: 72px; padding: 14px 22px; color: rgb(23, 59, 44); cursor: pointer; list-style: none; }
.gn-er-step summary::-webkit-details-marker { display: none; }
.gn-er-step summary:focus-visible { outline: rgb(173, 112, 46) solid 3px; outline-offset: 3px; }
.gn-er-step-number { font-size: 14px; font-weight: 800; letter-spacing: 0.08em; color: rgb(121, 92, 46); }
.gn-er-step summary strong { font-size: clamp(18px, 2vw, 24px); line-height: 1.25; }
.gn-er-step-indicator { font-size: 26px; font-weight: 400; line-height: 1; text-align: center; }
.gn-er-step[open] .gn-er-step-indicator { font-size: 0px; }
.gn-er-step[open] .gn-er-step-indicator::after { content: "−"; font-size: 26px; }
.gn-er-step-body { display: flow-root; padding: 4px clamp(22px, 4vw, 42px) 30px; }
.gn-er-step-body :first-child { margin-top: 0px; }
.gn-er-step-body > figure { float: right; max-width: 38%; margin: 0px 0px 22px 28px; }
.gn-er-step-body > figure img { display: block; width: 100%; height: auto; max-height: 300px; object-fit: contain; background: rgb(255, 255, 255); }
.gn-er-step-body :where(p, ul, ol) { max-width: 72ch; }
@media (max-width: 767px) {
  .gn-er-guide-layout .gn-er-guide-toc ul { grid-template-columns: 1fr; }
  .gn-er-story-nav { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 7px; }
  .gn-er-story-nav a { font-size: 13px; padding: 8px 10px; }
  .gn-er-story-split { grid-template-columns: 1fr; }
  .gn-er-story-reverse .gn-er-story-copy, .gn-er-story-reverse .gn-er-article-photo { grid-area: auto / 1; }
  .gn-er-story-section { padding: 22px 18px; margin-bottom: 22px; }
  .gn-er-article-photo img { aspect-ratio: 3 / 2; }
  .gn-er-seminar-topics ol { columns: 1; }
  body.gn-guide-page .gn-er-guide-photo { float: none; width: 100%; max-width: none; margin: 0px 0px 22px; }
  .gn-er-step summary { grid-template-columns: 32px minmax(0px, 1fr) 22px; min-height: 64px; padding: 13px 15px; gap: 8px; }
  .gn-er-step-body { padding: 5px 17px 22px; }
  .gn-er-step-body > figure { float: none; max-width: 100%; margin: 16px 0px; }
}
@media (prefers-reduced-motion: reduce) {
  body.gn-page-product-info .gn-guide-card { transition: none; }
  body.gn-page-product-info .gn-guide-card:hover { transform: none; }
}
body.gn-page-reader-feedback .page-section { width: min(var(--gn-site-width),calc(100% - 64px)); }
body.gn-page-reader-feedback .page-heading { margin: 28px 0px 16px; padding-bottom: 18px; border-bottom: 1px solid var(--gn-er-line); }
body.gn-page-reader-feedback .page-heading h1 { max-width: none; }
body.gn-page-reader-feedback .gn-er-feedback, body.gn-page-reader-feedback .gn-context-action { width: 100%; max-width: none; margin-inline: 0px; }
body.gn-page-reader-feedback .gn-er-feedback-intro { max-width: 68ch; margin: 0px 0px 28px; font-size: 18px; line-height: 1.6; }
body.gn-page-reader-feedback .gn-er-feedback-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 18px; align-items: stretch; }
body.gn-page-reader-feedback .gn-er-feedback-card { min-width: 0px; border-top: 3px solid rgb(183, 131, 69); background: linear-gradient(150deg, rgb(255, 255, 255) 0%, rgb(249, 251, 247) 72%, rgb(237, 245, 237)); box-shadow: rgba(23, 59, 44, 0.043) 0px 7px 20px; transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s; }
body.gn-page-reader-feedback .gn-er-feedback-card:nth-child(2n) { background: linear-gradient(150deg, rgb(255, 255, 255) 0%, rgb(247, 250, 245) 65%, rgb(232, 241, 231)); }
body.gn-page-reader-feedback .gn-er-feedback-card:hover { border-color: rgb(166, 199, 173); box-shadow: rgba(23, 59, 44, 0.098) 0px 12px 26px; transform: translateY(-2px); }
body.gn-page-reader-feedback .gn-er-feedback-card summary { grid-template-rows: auto auto 1fr auto; align-content: start; gap: 10px; min-height: 255px; height: 100%; padding: 24px 27px; }
body.gn-page-reader-feedback .gn-er-feedback-card summary strong { max-width: none; font-size: clamp(20px, 1.6vw, 24px); }
body.gn-page-reader-feedback .gn-er-feedback-preview { max-width: 52ch; }
body.gn-page-reader-feedback .gn-er-feedback-open { place-self: end start; margin-top: 6px; padding: 7px 13px; border-radius: 5px; background: rgb(228, 239, 228); text-decoration: none; }
body.gn-page-reader-feedback .gn-er-feedback-card[open] { grid-column: 1 / -1; background: rgb(255, 255, 255); border-color: rgb(166, 199, 173); transform: none; }
body.gn-page-reader-feedback .gn-er-feedback-card[open] summary { min-height: 0px; height: auto; }
body.gn-page-reader-feedback .gn-er-feedback-card[open] .gn-er-feedback-preview { display: none; }
body.gn-page-reader-feedback .gn-er-feedback-body { padding: 22px 27px 30px; }
@media (max-width: 767px) {
  body.gn-page-reader-feedback .page-section { width: min(680px, 100% - 36px); }
  body.gn-page-reader-feedback .page-heading { margin: 23px 0px 13px; padding-bottom: 14px; }
  body.gn-page-reader-feedback .gn-er-feedback-grid { grid-template-columns: 1fr; gap: 14px; }
  body.gn-page-reader-feedback .gn-er-feedback-card { width: 100%; margin: 0px; }
  body.gn-page-reader-feedback .gn-er-feedback-card summary { min-height: 0px; padding: 20px; }
  body.gn-page-reader-feedback .gn-er-feedback-body { padding: 18px 20px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  body.gn-page-reader-feedback .gn-er-feedback-card { transition: none; }
  body.gn-page-reader-feedback .gn-er-feedback-card:hover { transform: none; }
}

/* original-wording.css */
.gn-media-source-label { display: flex; align-items: center; gap: 14px; min-width: 0px; }
.gn-media-source-image { display: block; flex: 0 0 56px; width: 56px; height: 64px; object-fit: contain; }
.story-section.gn-home-about.shell { display: grid; width: min(1120px, 100% - 64px); max-width: 1120px; grid-template-columns: minmax(0px, 304px) minmax(0px, 1fr); align-items: center; gap: 48px; margin: 32px auto 40px; padding: 32px; background: rgb(244, 245, 237); border: 0px; border-radius: 4px; min-height: 0px; }
.gn-home-about .story-image { width: 100%; max-width: none; margin: 0px; align-self: center; }
.gn-home-about .story-image img { display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; aspect-ratio: auto; border-radius: 2px; }
.gn-home-about .story-copy { padding: 0px; min-width: 0px; }
.gn-home-about .story-copy h2 { margin: 0px 0px 14px; color: rgb(23, 59, 44); font-family: var(--gn-font-editorial); font-size: clamp(28px, 3vw, 38px); font-weight: 400; line-height: 1.2; letter-spacing: -0.02em; }
.gn-home-about .story-copy .gn-home-about-excerpt { max-width: 52ch; margin: 0px 0px 22px; line-height: 1.65; color: rgb(82, 97, 87); }
.gn-home-about .story-copy .button { display: inline-flex; align-items: center; gap: 20px; min-height: 48px; padding: 12px 22px; border-radius: 3px; }
.gn-original-about-introduction { margin-bottom: 32px; }
.gn-original-about-introduction h2 { margin-top: 0px; }
.gn-relocated-home-resources { margin-top: 32px; padding: 18px; border: 1px solid rgb(196, 209, 196); border-radius: 4px; }
.gn-relocated-home-resources summary { cursor: pointer; font-weight: 700; }
@media (max-width: 800px) {
  .story-section.gn-home-about.shell { grid-template-columns: minmax(0px, 240px) minmax(0px, 1fr); gap: 28px; padding: 28px; }
}
@media (max-width: 700px) {
  .story-section.gn-home-about.shell { width: calc(100% - 36px); grid-template-columns: 1fr; gap: 24px; padding: 24px; margin-block: 24px; }
  .gn-home-about .story-image { max-width: 224px; justify-self: center; }
  .gn-home-about .story-copy h2 { font-size: 30px; }
}
.gn-original-wording { max-width: 100%; overflow-wrap: anywhere; }
.gn-original-wording img, .gn-original-wording iframe { max-width: 100%; }
.gn-original-wording iframe { border: 0px; }
.gn-original-wording .gn-video-embed { max-width: var(--gn-prose-width,780px); }
.gn-original-wording > a:has(img) { display: inline-block; max-width: 100%; }
.gn-original-wording .gn-guide-grid > h2, .gn-original-wording .gn-guide-grid > p { grid-column: 1 / -1; }
.gn-original-home > p { max-width: var(--gn-prose-width,780px); }
.gn-original-home details { margin-top: 24px; padding: 18px; border: 1px solid rgb(196, 209, 196); border-radius: 8px; }
.gn-original-home summary { cursor: pointer; font-weight: 700; }
.gn-original-resources { padding-top: 20px; line-height: 1.65; }
.gn-original-resources img { max-width: 100%; height: auto; }
.gn-original-wording h2, .gn-original-wording h3 { scroll-margin-top: 180px; }
@media (max-width: 760px) {
  .gn-original-wording iframe { width: 100%; }
  .gn-original-resources { font-size: 16px; }
}
.gn-contact-layout { display: grid; grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.gn-contact-layout > * { min-width: 0px; }
.gn-contact-details > :first-child { margin-top: 0px; }
.gn-contact-info-group { display: grid; gap: 8px; margin: 0px 0px 24px; max-width: 100%; }
.gn-contact-info-row { display: grid; grid-template-columns: 20px minmax(0px, 1fr); column-gap: 12px; align-items: start; min-width: 0px; line-height: 1.65; }
.gn-contact-info-row > .icon { grid-column: 1; width: 20px; height: 20px; margin-top: 3px; flex: 0 0 auto; color: rgb(165, 103, 46); stroke-width: 1.6; }
.gn-contact-info-copy { grid-column: 2; min-width: 0px; overflow-wrap: anywhere; }
.gn-contact-details .gn-contact-info-note { padding-left: 32px; margin-top: 0px; }
.gn-contact-layout .gn-enquiry-section { margin: 0px; padding: 0px; max-width: none; }
.gn-contact-layout .gn-enquiry { width: 100%; max-width: none; margin: 0px; padding: 0px; border: 0px; background: transparent; box-sizing: border-box; }
body.gn-page-contact-us .gn-contact-layout .gn-enquiry h2, body.gn-page-contact-us .gn-contact-details > h2 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.25; margin: 0px 0px 24px; }
.gn-contact-layout .gn-enquiry form { padding: clamp(20px, 2.5vw, 32px); border: 1px solid rgb(216, 227, 214); border-radius: 8px; background: rgb(242, 245, 238); gap: 16px; min-width: 0px; }
.gn-contact-layout .gn-enquiry-field { min-width: 0px; }
body.single-post .comment-form textarea { width: 100%; max-width: 100%; min-width: 0px; box-sizing: border-box; }
.gn-contact-layout .gn-enquiry-field:has(textarea) { grid-column: 1 / -1; }
.gn-contact-map { margin-top: 36px; width: 100%; padding: 0px; max-width: none !important; }
.gn-contact-map > p { width: 100%; max-width: none !important; }
.gn-contact-map > p:has(iframe) { margin: 0px; }
.gn-contact-map iframe { display: block; width: 100%; max-width: 100%; height: 420px; }
@media (max-width: 959px) {
  .gn-contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .gn-contact-map iframe { height: 340px; }
}
.gn-review-form { max-width: 920px; }
.gn-google-reviews { margin: 0px 0px 32px; min-width: 0px; }
.gn-google-reviews h2 { margin: 0px 0px 16px; font-size: 28px; }
.gn-google-reviews .ti-widget { max-width: 100%; min-width: 0px; }
.gn-google-reviews .ti-widget [role="button"]:focus-visible { outline-offset: 3px; outline: rgb(153, 108, 40) solid 3px !important; }
@media (max-width: 700px) {
  .gn-google-reviews .ti-widget .ti-controls { display: block !important; }
  .gn-google-reviews .ti-widget .ti-next, .gn-google-reviews .ti-widget .ti-prev { min-width: 44px; min-height: 44px; }
}
.gn-updates-signup { padding: 28px; margin: 32px 0px; background: rgb(237, 243, 233); border: 1px solid rgb(206, 221, 204); border-radius: 8px; }
.gn-updates-signup h2 { font-size: 30px; margin: 0px 0px 24px; }
.gn-updates-options { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gn-updates-options > div { padding: 24px; background: rgb(246, 238, 225); border: 1px solid rgb(225, 210, 185); border-radius: 6px; min-width: 0px; }
.gn-updates-options > div + div { background: rgb(234, 241, 239); border-color: rgb(200, 218, 212); }
.gn-updates-options h3 { font-size: 22px; margin: 0px 0px 16px; }
.gn-updates-options p { margin: 0px; }
.gn-updates-options .gn-signup-icon { display: block; height: 64px; width: 64px; max-width: 100%; object-fit: contain; object-position: left center; margin: 0px 0px 20px; }
.gn-updates-options .gn-signup-icon--newsletter { width: 220px; }
@media (max-width: 700px) {
  .gn-updates-signup { padding: 20px; }
  .gn-updates-options { grid-template-columns: 1fr; gap: 16px; }
  .gn-updates-options > div { padding: 20px; }
}
.gn-review-form select { width: 100%; min-height: 48px; padding: 10px; border: 1px solid rgb(135, 157, 142); border-radius: 3px; background: rgb(255, 255, 255); color: rgb(24, 61, 43); }
.gn-review-rating, .gn-review-message, .gn-review-consent, .gn-review-privacy { grid-column: 1 / -1; }
.gn-review-rating { padding: 14px; border: 1px solid rgb(187, 202, 190); border-radius: 4px; display: flex; flex-wrap: wrap; gap: 12px; }
.gn-review-rating legend { font-weight: 700; }
.gn-review-rating label { display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 5px 9px; }
.gn-review-rating input, .gn-review-consent input { width: 20px; height: 20px; flex: 0 0 20px; }
.gn-review-form-simple { padding: clamp(20px, 2.5vw, 28px); }
.gn-review-form-simple h2 { margin: 0px 0px 10px; font-size: clamp(26px, 2.3vw, 34px); }
.gn-review-form-simple > p { margin: 0px 0px 18px; font-size: 16px; line-height: 1.5; }
.gn-review-form-simple form { gap: 12px; }
.gn-review-form-simple .gn-review-privacy { margin: 0px; }
.gn-review-form-simple .gn-review-rating { border: 0px; padding: 0px; margin: 0px; gap: 8px; }
.gn-review-form-simple .gn-review-rating legend { margin-bottom: 6px; }
.gn-review-form-simple .gn-review-rating label { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0px; cursor: pointer; border-radius: 4px; }
.gn-review-form-simple .gn-review-rating input { position: absolute; inset: 0px; opacity: 0; width: 44px; height: 44px; margin: 0px; }
.gn-review-form-simple .gn-review-star { font-size: 32px; line-height: 1; color: rgb(165, 103, 46); pointer-events: none; }
.gn-review-form-simple .gn-review-star-filled { display: none; }
.gn-review-form-simple .gn-review-rating label:has(input:checked) .gn-review-star-filled, .gn-review-form-simple .gn-review-rating label:has(~ label input:checked) .gn-review-star-filled { display: inline; }
.gn-review-form-simple .gn-review-rating label:has(input:checked) .gn-review-star-empty, .gn-review-form-simple .gn-review-rating label:has(~ label input:checked) .gn-review-star-empty { display: none; }
.gn-review-form-simple .gn-review-rating label:hover { background: rgb(228, 236, 223); }
.gn-review-form-simple .gn-review-rating label:has(input:focus-visible) { outline: rgb(165, 103, 46) solid 3px; outline-offset: 2px; }
.gn-review-form-simple .gn-review-message textarea { min-height: 100px; }
@media (max-width: 360px) {
  .gn-review-form-simple .gn-review-rating { gap: 0px; }
}
.gn-review-consent label { display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; }
.gn-approved-reviews { max-width: 920px; margin-top: 40px; }
.gn-approved-reviews article { padding: 22px 0px; border-bottom: 1px solid rgb(214, 224, 211); overflow-wrap: anywhere; }

/* document-links.css */
.gn-document-card-wrap { margin: 22px 0px 28px !important; }
.gn-document-card { display: flex; align-items: center; gap: 18px; width: min(100%, 620px); min-height: 108px; padding: 18px 22px; border: 1px solid rgb(200, 217, 204); border-radius: 10px; background: linear-gradient(120deg, rgb(237, 244, 236), rgb(248, 248, 241)); box-shadow: rgba(25, 60, 44, 0.04) 0px 5px 18px; transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s; color: rgb(23, 59, 44) !important; text-decoration: none !important; }
.gn-document-card:hover { transform: translateY(-2px); border-color: rgb(128, 164, 141); box-shadow: rgba(25, 60, 44, 0.11) 0px 10px 24px; }
.gn-document-card:focus-visible, .gn-document-link:focus-visible { outline: rgb(163, 106, 42) solid 3px; outline-offset: 3px; }
.gn-document-badge { display: grid; place-items: center; flex: 0 0 auto; width: 58px; height: 67px; clip-path: polygon(0px 0px, 75% 0px, 100% 25%, 100% 100%, 0px 100%); background: rgb(154, 103, 48); color: rgb(255, 255, 255); font-size: 14px; font-weight: 750; letter-spacing: 0.04em; }
.gn-document-copy { display: grid; gap: 5px; min-width: 0px; line-height: 1.35; }
.gn-document-copy strong { font-size: clamp(16px, 1.45vw, 19px); font-weight: 650; overflow-wrap: anywhere; }
.gn-document-copy small { font-size: 14px; font-weight: 600; color: rgb(53, 103, 77); }
.gn-editorial a.gn-document-link:not(.gn-pdf-download) { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgb(200, 217, 204); border-radius: 5px; background: rgb(238, 244, 236); color: rgb(37, 89, 64); text-decoration: none; line-height: 1.55; }
.gn-editorial a.gn-document-link:not(.gn-pdf-download)::before { content: "PDF"; flex: 0 0 auto; align-self: flex-start; white-space: nowrap; color: rgb(138, 91, 38); font-size: 11px; font-weight: 750; letter-spacing: 0.04em; line-height: 1.55; padding: 3px 5px; border: 1px solid rgb(220, 200, 173); border-radius: 3px; background: rgb(255, 255, 255); }
.gn-editorial a.gn-document-link:not(.gn-pdf-download) > br { display: none; }
.gn-editorial a.gn-document-link:not(.gn-pdf-download):has(> img) { display: grid; grid-template-columns: minmax(0px, 1fr); justify-items: start; gap: 12px; }
.gn-editorial a.gn-document-link:not(.gn-pdf-download):hover { background: rgb(226, 238, 227); }
@media (max-width: 480px) {
  .gn-document-card { gap: 13px; padding: 14px; }
  .gn-document-badge { width: 48px; height: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .gn-document-card { transition: none; }
  .gn-document-card:hover { transform: none; }
}

/* original-layout.css */
:root { --gn-site-width: 1500px; }
body .shell, body .gn-wrap { width: min(var(--gn-site-width),calc(100% - 64px)); max-width: var(--gn-site-width); }
body .gn-footer .gn-wrap { width: min(var(--gn-site-width),calc(100% - 64px)); max-width: var(--gn-site-width); }
body #main .story-section.gn-home-about.shell { width: min(var(--gn-site-width),calc(100% - 64px)); max-width: var(--gn-site-width); grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); }
body #main .gn-review-form { width: 100%; max-width: 760px; }
body #main .gn-approved-reviews { width: 100%; max-width: none; }
body #main .gn-home-product-section.shell { width: min(var(--gn-site-width),calc(100% - 128px)); max-width: var(--gn-site-width); }
@media (max-width: 700px) {
  body .shell, body .gn-wrap, body .gn-footer .gn-wrap { width: calc(100% - 36px); }
  body #main .story-section.gn-home-about.shell { width: calc(100% - 36px); grid-template-columns: 1fr; }
}
body.gn-layout-page .page-section { width: min(var(--gn-site-width,1600px),calc(100% - 64px)); padding: 28px 0px 64px; margin-inline: auto; }
body.gn-layout-page .page-heading { margin: 24px 0px 32px; }
body #main .page-section > nav[aria-label="Breadcrumb"]:not(:has(a[href])) { display: none; }
body.gn-layout-page .page-heading h1 { max-width: none; font-family: var(--gn-font-editorial,Georgia,serif); font-size: clamp(32px, 3.4vw, 46px); font-weight: 400; line-height: 1.16; letter-spacing: -0.025em; }
body.gn-layout-page .gn-editorial { max-width: var(--gn-site-width,1600px); margin-inline: auto; padding: 0px; background: transparent; border: 0px; box-shadow: none; }
.gn-layout-content { min-width: 0px; max-width: none; width: 100%; margin-inline: auto; overflow-wrap: anywhere; }
.gn-layout-reading-columns { column-count: 2; column-gap: 40px; column-fill: balance; }
.gn-layout-content .gn-layout-reading-columns .gn-layout-section { margin: 0px 0px 24px; padding: 24px; border: 1px solid rgb(219, 226, 217); border-radius: 4px; background: rgb(250, 251, 247); break-inside: auto; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.gn-layout-content .gn-layout-reading-columns > .gn-layout-section:nth-of-type(3n+1) { background: rgb(237, 243, 233); }
.gn-layout-content .gn-layout-reading-columns > .gn-layout-section:nth-of-type(3n+2) { background: rgb(246, 238, 225); }
.gn-layout-content .gn-layout-reading-columns > .gn-layout-section:nth-of-type(3n) { background: rgb(234, 241, 239); }
.gn-layout-content.gn-layout-content--about-us .gn-layout-reading-columns .gn-layout-section--my-story { background: rgb(245, 234, 219); border-color: rgb(223, 206, 183); }
.gn-layout-reading-columns .gn-layout-section--short { break-inside: avoid-column !important; }
.gn-layout-reading-columns > .gn-layout-section:only-child { break-inside: auto !important; }
.gn-layout-reading-columns .gn-layout-section > :is(p, ul, ol, blockquote, h2, h3, h4, h5, div, a) { margin-inline: 0px; max-width: 100% !important; }
.gn-layout-reading-columns :is(p, li, figure, .gn-video-embed) { break-inside: avoid-column; }
.gn-layout-reading-columns :is(h2, h3, h4) { break-after: avoid-column; }
.gn-layout-repeated-title, .gn-layout-empty, .gn-layout-section--empty { display: none !important; }
.gn-layout-content .gn-layout-section { min-width: 0px; margin: 0px; padding: 30px 0px; border-top: 1px solid rgb(219, 226, 217); }
.gn-layout-content .gn-layout-section:first-child { border-top: 0px; padding-top: 0px; }
.gn-layout-content .gn-layout-reading-columns > .gn-layout-section:first-child { padding-top: 24px; border-top: 1px solid rgb(219, 226, 217); }
.gn-layout-content .gn-layout-section > :is(p, ul, ol, blockquote, h2, h3, h4, h5, div:not(.gn-layout-video-grid), a:not(.gn-guide-card)) { max-width: 780px; margin-inline: auto; }
.gn-layout-content .gn-layout-section > :is(h2, h3, h4) { margin-top: 0px; margin-bottom: 18px; scroll-margin-top: 240px; }
.gn-layout-content :is(h2, h3) { font-family: var(--gn-font-editorial,Georgia,serif); font-weight: 400; letter-spacing: -0.015em; line-height: 1.25; }
.gn-layout-content h2 { font-size: clamp(25px, 2.5vw, 32px); }
.gn-layout-content h3 { font-size: clamp(23px, 2vw, 28px); }
.gn-layout-content p { line-height: 1.7; margin-block: 0px 20px; }
.gn-layout-content :is(ol, ul) { padding-left: 24px; margin-block: 0px 22px; }
.gn-layout-content li { margin-block: 8px; }
.gn-layout-content :is(ol, ul) > li:first-child { margin-top: 0px; }
.gn-layout-content :is(ol, ul) > li:last-child { margin-bottom: 0px; }
.gn-layout-content .gn-layout-reading-columns p.gn-layout-resource-group { display: grid; grid-template-columns: minmax(0px, 1fr); gap: 24px; margin-block: 24px 0px; break-inside: auto; }
.gn-layout-resource-group > br { display: none; }
.gn-layout-resource-group > a, .gn-layout-resource-group > img { min-width: 0px; max-width: 100%; margin: 0px; }
.gn-layout-resource-group > a { display: block; line-height: 1.65; }
.gn-layout-content .gn-layout-resource-group img { max-width: 100%; height: auto; margin: 0px; }
.gn-layout-content .gn-layout-source-image { display: block; max-width: 100%; height: auto; contain: initial; contain-intrinsic-size: none; border-radius: 3px; }
.gn-layout-content .gn-layout-section > img { display: block; max-width: min(100%, 620px); height: auto; margin: 22px auto; }
.gn-layout-content .gn-layout-section > p:has(> img:only-child) { text-align: center; }
.gn-layout-content .gn-layout-section > p > img:only-child { margin-inline: auto; max-width: min(100%, 620px); }
.gn-layout-content .gn-layout-feature { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); align-items: center; gap: 48px; margin: 0px 0px 34px; padding: 32px; background: rgb(244, 245, 237); border-radius: 4px; min-width: 0px; }
.gn-layout-content .gn-layout-feature--right { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); }
.gn-layout-feature--right > .gn-layout-photo { grid-area: 1 / 2; }
.gn-layout-feature--right > .gn-layout-feature-copy { grid-area: 1 / 1; }
.gn-layout-photo { min-width: 0px; width: 100%; margin: 0px; align-self: center; line-height: 0; }
.gn-layout-photo > a { display: block; min-height: 0px !important; }
.gn-layout-content .gn-layout-photo img { display: block; width: auto; max-width: 100%; max-height: 440px; height: auto; margin: auto; object-fit: contain; }
.gn-layout-content--about-us .gn-layout-feature--right .gn-layout-photo img { width: min(100%, 520px); }
.gn-layout-feature-copy, .gn-layout-event-copy { min-width: 0px; }
.gn-layout-content .gn-layout-feature-copy > :is(p, ul, ol, h2, h3, blockquote) { max-width: none; }
.gn-layout-content .gn-layout-feature-copy > :last-child { margin-bottom: 0px; }
.gn-layout-content .gn-layout-feature-copy h2 { margin: 0px 0px 20px; }
.gn-layout-content .gn-layout-quote { text-align: center; font-family: var(--gn-font-editorial,Georgia,serif); font-style: italic; color: rgb(37, 77, 54); max-width: 680px !important; margin: 28px auto !important; }
.gn-layout-content .gn-layout-reading-columns .gn-layout-section:has(> .gn-layout-quote:only-child) { display: grid; place-items: center; min-height: 108px; padding: 24px; break-inside: avoid-column; }
.gn-layout-content .gn-layout-section > .gn-layout-quote:only-child { margin: 0px !important; max-width: 100% !important; }
body.gn-page-media-articles #main .gn-editorial > p:last-child { width: 100%; padding: 24px 28px; border: 1px solid rgb(219, 226, 217); border-radius: 4px; background: rgb(237, 243, 233); text-align: center; font-family: var(--gn-font-editorial,Georgia,serif); font-style: italic; line-height: 1.5; color: rgb(37, 77, 54); max-width: none !important; margin: 24px 0px 0px !important; font-size: clamp(18px, 1.6vw, 22px) !important; }
body.gn-page-media-articles .page-section { padding-bottom: 40px; }
.gn-layout-content .gn-layout-gallery { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); align-items: center; gap: 24px; max-width: 960px !important; margin: 28px auto !important; }
.gn-layout-content .gn-layout-gallery img { width: 100%; height: auto; margin: 0px; max-height: 300px; object-fit: contain; }
.gn-layout-content .gn-layout-gallery br { display: none; }
.gn-layout-content .gn-video-embed { width: min(100%, 840px); max-width: 840px; margin: 28px auto; border-radius: 4px; overflow: hidden; }
.gn-layout-content .gn-video-embed iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0px; }
.gn-layout-content .gn-layout-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px; width: 100%; max-width: none; margin: 0px; }
.gn-layout-video-grid .gn-video-embed { width: 100%; margin: 0px; }
.gn-layout-content .gn-layout-contents { margin: 0px 0px 28px; padding: 14px 20px; border: 1px solid rgb(203, 215, 203); border-radius: 4px; background: rgb(255, 255, 255); }
.gn-layout-contents summary { min-height: 44px; cursor: pointer; color: rgb(33, 71, 49); font-weight: 650; align-content: center; }
.gn-layout-contents nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.gn-layout-contents nav a { display: flex; align-items: center; min-height: 44px; max-width: 100%; padding: 8px 14px; border: 1px solid rgb(203, 215, 203); border-radius: 3px; background: rgb(244, 245, 237); color: rgb(33, 71, 49); text-decoration: none; line-height: 1.4; }
.gn-layout-content a.gn-layout-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; margin: 6px 8px 6px 0px; padding: 10px 20px; border-radius: 3px; text-decoration: none; font-weight: 650; line-height: 1.4; background: rgb(40, 91, 67) !important; color: rgb(255, 255, 255) !important; font-family: var(--gn-font,Arial,sans-serif) !important; }
.gn-layout-content a.gn-layout-action br { display: none; }
.gn-layout-content a.gn-layout-action:hover { background: rgb(23, 59, 44) !important; }
.gn-layout-content :is(a, button, summary):focus-visible { outline: rgb(154, 103, 48) solid 3px; outline-offset: 4px; }
.gn-layout-content .gn-main-page-guide { margin: 0px 0px 28px; }
.gn-layout-content .gn-guide-grid { display: block; margin: 0px; max-width: none; }
body.gn-page-product-info #main .gn-layout-content .gn-guide-grid { width: 100%; max-width: none; margin-inline: 0px; }
.gn-layout-content .gn-guide-grid > h2 { margin: 0px 0px 24px; }
.gn-layout-content .gn-layout-guide-cards { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 18px; }
body.gn-page-product-info .gn-layout-guide-cards .gn-guide-card { grid-template-columns: 92px minmax(0px, 1fr); min-height: 0px; height: auto; padding: 18px; gap: 16px; border-radius: 4px; }
body.gn-page-product-info .gn-layout-guide-cards .gn-guide-card img { width: 92px; height: 92px; padding: 4px; border-radius: 3px; object-fit: contain; }
body.gn-page-product-info .gn-layout-guide-cards .gn-guide-card strong { font-size: 18px; line-height: 1.35; }
.gn-layout-content--recipes, .gn-layout-content--testimonies { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; align-items: start; }
.gn-layout-content--recipes > .gn-layout-section, .gn-layout-content--testimonies > .gn-layout-section { padding: 24px; border: 1px solid rgb(219, 226, 217); border-radius: 4px; background: rgb(248, 249, 243); }
.gn-layout-content--testimonies > .gn-layout-section:nth-of-type(3n+1) { background: rgb(237, 243, 233); border-color: rgb(206, 221, 204); }
.gn-layout-content--testimonies > .gn-layout-section:nth-of-type(3n+2) { background: rgb(246, 238, 225); border-color: rgb(225, 210, 185); }
.gn-layout-content--testimonies > .gn-layout-section:nth-of-type(3n) { background: rgb(234, 241, 239); border-color: rgb(200, 218, 212); }
.gn-layout-content--recipes > :is(.gn-main-page-guide, .gn-layout-contents), .gn-layout-content--testimonies > :is(.gn-main-page-guide, .gn-layout-contents) { grid-column: 1 / -1; }
.gn-layout-content--recipes .gn-layout-section > p:has(a.gn-document-link) { display: flex; flex-wrap: wrap; gap: 10px; }
.gn-layout-content--recipes .gn-layout-section a.gn-document-link { min-height: 44px; padding: 8px 12px; }
.gn-layout-content--testimonies .gn-document-card { width: 100%; min-height: 0px; padding: 14px; gap: 12px; border-radius: 3px; box-shadow: none; }
.gn-layout-content--testimonies .gn-document-badge { width: 42px; height: 50px; }
.gn-layout-content--testimonies .gn-document-copy strong { font-size: 16px; }
.gn-layout-content--reader-feedback > .gn-layout-section { max-width: none; margin: 0px auto 24px; padding: 28px; border: 1px solid rgb(219, 226, 217); border-radius: 4px; background: rgb(248, 249, 243); }
.gn-layout-content--privacy-policy { max-width: none; margin-inline: auto; }
.gn-layout-content #gn-event-20261107.gn-layout-feature { padding: 32px; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); background: rgb(244, 245, 237); }
.gn-layout-content .gn-layout-event-copy > * { max-width: none !important; margin-left: 0px !important; }
.gn-layout-content .gn-layout-event-copy h2 { margin: 0px 0px 18px; }
.gn-layout-content .gn-layout-event-copy img { max-height: 440px; }
.gn-layout-content .gn-relocated-home-resources { width: 100%; max-width: none; margin: 24px 0px; }
.gn-relocated-home-resources .gn-original-resources { column-count: 2; column-gap: 40px; }
.gn-relocated-home-resources .gn-original-resources > :is(p, h2, h3, h4, a) { break-inside: avoid-column; }
.gn-relocated-home-resources .gn-original-resources > :is(h2, h3, h4) { break-after: avoid-column; }
body.gn-layout-page .gn-ed-hero-plain { min-height: 0px; padding: 32px 0px; margin: 0px; background: rgb(244, 245, 237); color: rgb(23, 59, 44); }
body.gn-layout-page .gn-ed-hero-plain::before, body.gn-layout-page .gn-ed-hero-plain::after { display: none; }
body.gn-layout-page .gn-ed-hero-plain .gn-ed-hero-inner { display: flex; align-items: center; width: min(var(--gn-site-width,1600px),calc(100% - 64px)); min-height: 0px; max-width: var(--gn-site-width,1600px); padding: 0px; margin-inline: auto; }
body.gn-layout-page .gn-ed-hero-plain .gn-ed-hero-copy { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; max-width: none; padding: 0px; }
body.gn-layout-page .gn-ed-hero-plain h1 { margin: 0px; color: rgb(23, 59, 44); font-family: var(--gn-font-editorial,Georgia,serif); font-size: clamp(32px, 3.4vw, 44px); line-height: 1.15; font-weight: 400; }
body.gn-layout-page .gn-ed-hero-plain .hero-actions { margin: 0px; }
body.gn-layout-page .gn-ed-hero-plain .button { background: rgb(40, 91, 67); color: rgb(255, 255, 255); border-color: rgb(40, 91, 67); }
body.gn-layout-page .gn-ed-hero-plain .button-outline { background: transparent; color: rgb(40, 91, 67); border-color: rgb(40, 91, 67); }
body.gn-layout-page #main .gn-ed-hero-plain .hero-actions .button.button-outline { background: transparent !important; color: rgb(40, 91, 67) !important; border-color: rgb(40, 91, 67) !important; }
body.gn-layout-page #main .gn-ed-hero-plain .hero-actions .button.button-outline:hover { background: rgb(234, 240, 231) !important; color: rgb(23, 59, 44) !important; }
body.gn-layout-page .gn-ed-learn { width: min(var(--gn-site-width,1600px),calc(100% - 64px)); max-width: var(--gn-site-width,1600px); margin: 32px auto 56px; }
body.gn-layout-page .gn-ed-link-list { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px; }
body.gn-layout-page .gn-ed-link-list > li { margin: 0px; padding: 20px; border: 1px solid rgb(219, 226, 217); border-radius: 4px; background: rgb(248, 249, 243); }
@media (max-width: 1000px) {
  .gn-layout-content .gn-layout-feature, .gn-layout-content .gn-layout-feature--right { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 28px; padding: 26px; }
  .gn-layout-content .gn-layout-guide-cards { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  body.gn-layout-page .gn-ed-hero-plain .gn-ed-hero-copy { display: block; }
  body.gn-layout-page .gn-ed-hero-plain .hero-actions { margin-top: 18px; }
}
@media (max-width: 700px) {
  body.gn-layout-page .page-section { width: calc(100% - 36px); padding: 20px 0px 40px; }
  body.gn-layout-page .page-heading { margin: 18px 0px 24px; }
  .gn-layout-reading-columns { column-count: 1; column-gap: 0px; }
  .gn-relocated-home-resources .gn-original-resources { column-count: 1; column-gap: 0px; }
  .gn-layout-content .gn-layout-reading-columns .gn-layout-section { padding: 20px; }
  .gn-layout-content .gn-layout-feature, .gn-layout-content .gn-layout-feature--right, .gn-layout-content #gn-event-20261107.gn-layout-feature { grid-template-columns: 1fr; gap: 24px; padding: 22px; margin-bottom: 26px; }
  .gn-layout-feature--right > .gn-layout-photo, .gn-layout-feature--right > .gn-layout-feature-copy { grid-area: auto; }
  .gn-layout-photo { max-width: 300px; justify-self: center; }
  .gn-layout-content .gn-layout-photo img { max-height: 320px; }
  .gn-layout-content .gn-layout-section { padding-block: 24px; }
  .gn-layout-content .gn-layout-gallery { grid-template-columns: 1fr; gap: 20px; max-width: 320px !important; }
  .gn-layout-content .gn-layout-video-grid, .gn-layout-content--recipes, .gn-layout-content--testimonies { grid-template-columns: 1fr; }
  .gn-layout-content .gn-layout-guide-cards { grid-template-columns: 1fr; }
  .gn-layout-content .gn-video-embed { margin-block: 22px; }
  .gn-layout-content--recipes > .gn-layout-section, .gn-layout-content--testimonies > .gn-layout-section, .gn-layout-content--reader-feedback > .gn-layout-section { padding: 20px; }
  .gn-layout-content .gn-layout-contents { padding: 12px 16px; }
  .gn-layout-contents nav { display: grid; grid-template-columns: 1fr; }
  .gn-layout-content :is(h2, h3, h4) { scroll-margin-top: 190px; }
  body.gn-layout-page .gn-ed-hero-plain .gn-ed-hero-inner, body.gn-layout-page .gn-ed-learn { width: calc(100% - 36px); }
  body.gn-layout-page .gn-ed-hero-plain { padding: 26px 0px; }
  body.gn-layout-page .gn-ed-link-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .gn-layout-content * { scroll-behavior: auto !important; }
}

/* product-reviews.css */
.gn-card-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; min-height: 44px; margin: 0px 0px 8px; color: rgb(40, 91, 67); font-size: 13px; line-height: 1.4; text-decoration: none; max-width: 100%; width: fit-content; }
.gn-card-rating-empty { font: 21px / 1.3 Arial, sans-serif; letter-spacing: 0.08em; color: rgb(152, 101, 33); white-space: nowrap; }
.gn-card-rating .gn-card-rating-label { text-decoration: underline; text-underline-offset: 3px; }
.gn-card-rating:hover .gn-card-rating-label { color: rgb(23, 59, 44); }
.gn-card-rating:focus-visible { outline: rgb(152, 101, 33) solid 3px; outline-offset: 3px; }
.gn-card-rating .star-rating { font-size: 18px; }
.gn-card-rating-score { font-weight: 650; white-space: nowrap; }
.single-product .summary .gn-card-rating { margin: 8px 0px 16px; }
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel { width: 100%; max-width: none; margin-inline: 0px; }
.woocommerce .star-rating { display: inline-block; position: relative; float: none; width: 5.5em; height: 1.3em; overflow: hidden; font: 20px / 1.3 Arial, sans-serif; letter-spacing: 0.1em; color: rgb(121, 134, 123); vertical-align: middle; text-align: left; }
.woocommerce .star-rating::before { content: "★★★★★"; position: absolute; inset: 0px; }
.woocommerce .star-rating > span { position: absolute; left: 0px; top: 0px; height: 100%; overflow: hidden; white-space: nowrap; text-indent: -9999px; }
.woocommerce .star-rating > span::before { content: "★★★★★"; position: absolute; left: 0px; top: 0px; text-indent: 0px; color: rgb(152, 101, 33); }
body.single-product #reviews { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); align-items: start; gap: 32px; width: 100%; max-width: none; margin: 0px; padding: 12px 0px 28px; }
body.single-product #reviews #comments { min-width: 0px; width: 100%; float: none; }
body.single-product #reviews .woocommerce-Reviews-title { margin: 0px 0px 24px; font-size: 28px; line-height: 1.4; }
.gn-product-rating-summary { display: flex; align-items: center; gap: 16px; margin-bottom: 10px; }
.gn-product-rating-summary > strong { font-size: 40px; line-height: 1.2; }
.gn-product-review-count { display: block; font-size: 16px; font-weight: 400; letter-spacing: 0px; }
body.single-product #reviews .woocommerce-noreviews { padding: 24px; border: 1px solid rgb(219, 226, 217); border-radius: 4px; background: rgb(248, 249, 243); margin: 0px; }
body.single-product #reviews #review_form_wrapper { width: 100%; min-width: 0px; padding: 26px; background: rgb(244, 245, 237); border: 1px solid rgb(219, 226, 217); border-radius: 4px; }
body.single-product #reviews #respond { margin: 0px; padding: 0px; }
body.single-product #reviews .comment-reply-title { display: block; font-size: 20px; font-weight: 650; line-height: 1.4; margin: 0px 0px 22px; }
body.single-product #reviews .comment-form { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 18px; width: 100%; }
body.single-product #reviews .comment-form > p, body.single-product #reviews .comment-form > div { margin: 0px; min-width: 0px; }
body.single-product #reviews .comment-form > :not(.comment-form-author):not(.comment-form-email) { grid-column: 1 / -1; }
body.single-product #reviews label { display: block; font-size: 15px; line-height: 1.5; margin: 0px 0px 6px; }
body.single-product #reviews input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]), body.single-product #reviews textarea { width: 100%; max-width: 100%; border: 1px solid rgb(170, 189, 173); border-radius: 3px; background: rgb(255, 255, 255); padding: 11px 12px; font-size: 16px; color: rgb(33, 53, 43); }
body.single-product #reviews input:not([type="checkbox"]):not([type="hidden"]) { min-height: 46px; }
body.single-product #reviews textarea { height: 150px; min-height: 110px; resize: vertical; }
body.single-product #reviews .comment-form-cookies-consent { display: flex; align-items: start; gap: 10px; }
body.single-product #reviews .comment-form-cookies-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0px; }
body.single-product #reviews .comment-form-cookies-consent label { font-size: 14px; margin: 0px; }
body.single-product #reviews input[type="submit"] { min-height: 46px; background: rgb(40, 91, 67); color: rgb(255, 255, 255); border: 0px; border-radius: 3px; padding: 12px 24px; font-weight: 650; cursor: pointer; }
body.single-product #reviews p.stars { margin: 4px 0px 0px; line-height: 1; }
body.single-product #reviews p.stars > span { display: flex; gap: 4px; max-width: 100%; }
body.single-product #reviews p.stars a { display: block; position: relative; flex: 0 0 44px; width: 44px; height: 44px; text-indent: -9999px; overflow: hidden; border: 1px solid rgb(196, 210, 196); border-radius: 3px; background: rgb(255, 255, 255); text-decoration: none; }
body.single-product #reviews p.stars a::before { content: "☆"; position: absolute; inset: 0px; text-indent: 0px; text-align: center; font: 30px / 42px Arial, sans-serif; color: rgb(152, 101, 33); }
body.single-product #reviews p.stars.selected a::before, body.single-product #reviews p.stars > span:hover a::before { content: "★"; }
body.single-product #reviews p.stars.selected a.active ~ a::before, body.single-product #reviews p.stars > span a:hover ~ a::before { content: "☆"; }
body.single-product #reviews p.stars a.active { border-color: rgb(152, 101, 33); }
body.single-product #reviews :is(a, input, textarea, select):focus-visible { outline: rgb(152, 101, 33) solid 3px; outline-offset: 3px; }
body.single-product #reviews .commentlist { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 18px; }
body.single-product #reviews .commentlist > li { margin: 0px; padding: 22px; border: 1px solid rgb(219, 226, 217); border-radius: 4px; background: rgb(250, 251, 247); }
body.single-product #reviews .comment_container { min-width: 0px; }
body.single-product #reviews .comment-text { margin: 0px; border: 0px; padding: 0px; overflow-wrap: anywhere; }
body.single-product #reviews .comment-text .meta { font-size: 14px; margin: 12px 0px; }
body.single-product #reviews .comment-text .description p { font-size: 16px; line-height: 1.65; margin: 0px 0px 12px; }
body.single-product #reviews .avatar { display: none; }
body.single-product #reviews > .clear { display: none; }
@media (max-width: 700px) {
  body.single-product #reviews { grid-template-columns: 1fr; gap: 24px; }
  body.single-product #reviews #review_form_wrapper { padding: 20px; }
  body.single-product #reviews .comment-form { grid-template-columns: 1fr; }
  body.single-product #reviews .comment-form-author, body.single-product #reviews .comment-form-email { grid-column: 1 / -1; }
}

/* book-trailer-modal.css */
.gn-book-trailer-dialog { width: min(960px, 100% - 32px); max-width: none; max-height: calc(100dvh - 32px); padding: 0px; overflow: auto; border: 0px; border-radius: 12px; background: rgb(247, 248, 243); color: rgb(25, 60, 44); box-shadow: rgba(10, 32, 27, 0.8) 0px 22px 80px; }
.gn-book-trailer-dialog::backdrop { background: rgba(9, 38, 29, 0.85); }
.gn-book-trailer-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; background: rgb(24, 61, 45); color: rgb(255, 255, 255); }
.gn-book-trailer-top h2 { margin: 0px; color: inherit; font-size: clamp(20px, 2.4vw, 26px); font-weight: 600; line-height: 1.25; }
.gn-book-trailer-close { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; padding: 0px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; background: transparent; color: rgb(255, 255, 255); font-size: 30px; line-height: 1; cursor: pointer; }
.gn-book-trailer-close:hover { background: rgba(255, 255, 255, 0.14); }
.gn-book-trailer-close:focus-visible, .gn-book-trailer-fallback a:focus-visible { outline: rgb(184, 134, 58) solid 3px; outline-offset: 3px; }
.gn-book-trailer-frame { aspect-ratio: 16 / 9; background: rgb(17, 42, 32); }
.gn-book-trailer-frame iframe { display: block; width: 100%; height: 100%; border: 0px; }
.gn-book-trailer-fallback { margin: 0px; padding: 12px 18px; text-align: right; }
.gn-book-trailer-fallback a { color: rgb(40, 93, 69); font-weight: 600; }
@media (max-width: 600px) {
  .gn-book-trailer-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
  .gn-book-trailer-top { padding: 10px 12px; }
  .gn-book-trailer-fallback { padding: 12px; }
}
