:root {
  --main-padding: clamp(20px, calc(8vw - 28px), 6vw);
  --gh-brand-green: #284734;
  --gh-brand-green-hover: #1f392a;
  --gh-brand-warm-white: #fbfbfa;
  --gh-brand-sand: #ebe6d7;
  --gh-brand-charcoal: #2b2b2b;
  --gh-brand-brown: #746355;
  /* Map native theme controls to the GH palette. Local color schemes can still override these inherited defaults. */
  --color-accent: 40, 71, 52;
  --color-button: 40, 71, 52;
  --color-button-hover: 31, 57, 42;
  --color-button-text: 251, 251, 250;
  --color-button-secondary: 235, 230, 215;
  --color-button-secondary-text: 40, 71, 52;
  --color-button-tertiary-text: 40, 71, 52;
  --gh-font-heading: var(--font-heading-family, Trirong, Georgia, serif);
  --gh-font-body: var(--font-body-family, Archivo, sans-serif);
  --gh-radius-media: 3px;
  --gh-radius-control: 3px;
  --gh-motion-distance: 48px;
  --gh-motion-distance-mobile: 24px;
  --gh-motion-duration: 800ms;
  --gh-motion-ease: cubic-bezier(0.2, 0.75, 0.2, 1);
}

.section-gh-workshop-story,
.section-gh-panel-advisor,
.section-gh-about,
.section-gh-timeline,
.section-gh-paneel-hero,
.section-gh-paneel-product-grid,
.section-gh-paneel-learn-more,
.section-gh-paneel-guide,
.section-gh-paneel-gallery,
.section-gh-paneel-faq,
.section-gh-paneel-callout,
.section-gh-product-world-editorial,
.section-gh-product-cross-sell,
.section-gh-product-faq,
.section-gh-product-proof,
.section-gh-product-reviews-heading,
.section-gh-product-ritual,
.section-gh-product-workshop {
  overflow-x: hidden;
  overflow-x: clip;
}

[data-gh-reveal] {
  opacity: 1;
  transform: none;
}

html.gh-motion-ready [data-gh-reveal]:not(.is-gh-visible) {
  opacity: 0;
  transform: translateX(var(--gh-reveal-x, 0)) scale(var(--gh-reveal-scale, 1));
}

html.gh-motion-ready [data-gh-reveal] {
  transition:
    opacity var(--gh-motion-duration) var(--gh-motion-ease) var(--gh-reveal-delay, 0ms),
    transform var(--gh-motion-duration) var(--gh-motion-ease) var(--gh-reveal-delay, 0ms);
}

[data-gh-reveal='left'] { --gh-reveal-x: calc(var(--gh-motion-distance) * -1); }
[data-gh-reveal='right'] { --gh-reveal-x: var(--gh-motion-distance); }
[data-gh-reveal='fade'] { --gh-reveal-x: 0px; }
[data-gh-reveal='pop'] {
  --gh-reveal-x: 0px;
  --gh-reveal-scale: 0.97;
}

html.gh-motion-ready [data-gh-reveal].gh-reveal-media img {
  transform: scale(1.03);
  transition: transform var(--gh-motion-duration) var(--gh-motion-ease) var(--gh-reveal-delay, 0ms);
}

html.gh-motion-ready [data-gh-reveal].is-gh-visible,
html.gh-motion-ready [data-gh-reveal].is-gh-visible img {
  opacity: 1;
  transform: none;
}

html.gh-motion-ready [data-gh-reveal].is-gh-immediate,
html.gh-motion-ready [data-gh-reveal].is-gh-immediate img {
  transition: none;
}

@media (max-width: 749px) {
  [data-gh-reveal='left'] { --gh-reveal-x: calc(var(--gh-motion-distance-mobile) * -1); }
  [data-gh-reveal='right'] { --gh-reveal-x: var(--gh-motion-distance-mobile); }

  html.gh-motion-ready body.body-template-index [data-gh-reveal] {
    --gh-motion-duration: 1200ms;
    --gh-motion-ease: cubic-bezier(0.4, 0, 0.6, 1);
    --gh-reveal-x: 0px;
    --gh-reveal-scale: 1;
  }

  html.gh-motion-ready body.body-template-index [data-gh-reveal].gh-reveal-media img {
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 899px) {
  [data-gh-pair] > [data-gh-reveal='left'],
  [data-gh-pair] > [data-gh-reveal='right'] {
    --gh-reveal-x: 0px;
    --gh-reveal-scale: 0.97;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-gh-reveal],
  [data-gh-reveal] img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

.shopify-section.shopify-section-header {
  --gh-glass-side-inset: max(var(--main-padding), calc((100% - var(--container-width)) / 2 + var(--main-padding)));
}

.gh-product-stages__list {
  width: 100%;
  max-width: var(--container-width);
  margin-inline: auto;
  padding-inline: var(--main-padding);
}

.footer .footer__content-top > .container {
  padding-inline: var(--main-padding);
}

.footer .footer__blocks-wrapper > .footer-block:first-of-type {
  padding-inline-start: 0;
}

.footer .footer__blocks-wrapper > .footer-block:last-of-type {
  padding-inline-end: 0;
}


:root {
  --gh-button-height: 50px;
  --gh-button-size: 12px;
  --gh-button-padding: 28px;
  --gh-button-radius: 3px;
  --gh-button-primary: #284734;
  --gh-button-secondary: #284734;
  --gh-button-duration: 180ms;
}
:is(.button:not(.button--simple):not(.button--tertiary):not(.shopify-payment-button__button),
  .gh-home-hero__button,
  .gh-paneel-hero__button,
  .gh-paneel-callout__button,
  .gh-about__button,
  .gh-about-tree-hero__button,
  .gh-story-intro__button,
  .gh-story-cta__button,
  .gh-story-block__button,
  .gh-story-block__form button[type="submit"],
  .gh-product-stage__button,
  .gh-product-world-editorial__button,
  .gh-product-cross-sell__button,
  .gh-panel-advisor__form-button,
  .gh-panel-advisor__submit,
  .gh-newsletter__button,
  .gh-paneel-card__quick-button) {
  --gh-button-bg: var(--gh-button-primary);
  --gh-button-border: var(--gh-button-primary);
  --gh-button-hover-bg: #fbfbfa;
  --gh-button-hover-ink: var(--gh-button-primary);
  --gh-button-ink: #ffffff;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: var(--gh-button-height) !important;
  min-width: 0 !important;
  max-width: 100%;
  height: auto !important;
  padding: 12px var(--gh-button-padding) !important;
  border: 1px solid var(--gh-button-border) !important;
  border-radius: var(--gh-button-radius) !important;
  background: var(--gh-button-bg) !important;
  color: var(--gh-button-ink) !important;
  font-family: var(--gh-font-body) !important;
  font-size: var(--gh-button-size) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-align: center;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  transform: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transition: color var(--gh-button-duration), background-color var(--gh-button-duration), border-color var(--gh-button-duration) !important;
  cursor: pointer;

  &:is(.button--secondary:not(.product-form__submit), .gh-home-hero__button:not(.gh-home-hero__button--primary), .gh-paneel-hero__button--secondary, .gh-paneel-callout__button--secondary, .gh-about__button--secondary, .gh-story-cta__button--secondary, .gh-story-block__button--secondary) {
    --gh-button-bg: var(--gh-brand-sand, #ebe6d7);
    --gh-button-border: var(--gh-brand-sand, #ebe6d7);
    --gh-button-ink: var(--gh-button-secondary);
    --gh-button-hover-bg: #e2ddd0;
    --gh-button-hover-ink: var(--gh-button-secondary);
  }

  &.gh-paneel-callout__button:not(.gh-paneel-callout__button--secondary) {
    --gh-button-bg: var(--gh-callout-primary-background, #fbfbfa);
    --gh-button-ink: var(--gh-callout-primary-text, #284734);
    --gh-button-border: var(--gh-callout-primary-background, #fbfbfa);
    --gh-button-hover-bg: color-mix(in srgb, var(--gh-button-bg), #000 12%);
    --gh-button-hover-ink: var(--gh-button-ink);
  }

  &.gh-paneel-callout__button {
    text-transform: none !important;
    letter-spacing: 0.04em !important;
  }

  @media (hover: hover) {
    &:hover:not(:disabled, [aria-disabled="true"], [aria-busy="true"], .disabled, .loading) {
      background: var(--gh-button-hover-bg) !important;
      color: var(--gh-button-hover-ink) !important;
    }
  }

  &:active:not(:disabled, [aria-disabled="true"], [aria-busy="true"], .disabled, .loading) {
    background: var(--gh-button-hover-bg) !important;
    color: var(--gh-button-hover-ink) !important;
    transition-duration: 0s !important;
  }

  &:is(:disabled, [aria-disabled="true"], .disabled):not(.loading, [aria-busy="true"]) {
    background: #e2ddd0 !important;
    border-color: #e2ddd0 !important;
    color: #6b6b6b !important;
    cursor: not-allowed;
  }

  &:is(.loading, [aria-busy="true"]) { cursor: progress; }
  & .button-icon, & .button-items { transform: none !important; transition: none !important; }
  &.loading .spinner { position: absolute; margin: 0; }
  &.loading > span { opacity: 0 !important; }
  &:focus-visible { outline: 2px solid #284734 !important; outline-offset: 3px !important; box-shadow: 0 0 0 3px #fbfbfa !important; }

  @media (max-width: 899px) { width: 100% !important; }
  @media (prefers-reduced-motion: reduce) { transition: none !important; & .spinner { animation: none !important; } }
}

:is(.gh-home-hero__actions, .gh-paneel-hero__actions, .gh-paneel-callout__actions,
  .gh-about__actions, .gh-story-cta__actions, .gh-story-block__actions,
  .gh-story-block__commerce, .gh-story-block__form, .gh-newsletter__action) {
  @media (max-width: 899px) {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

:is(.gh-marquee__control, .gh-panel-advisor__dialog-close, .header__icon,
  .quantity__button, .modal-close-button, .product-media-modal__toggle) {
  min-width: 44px !important;
  min-height: 44px !important;
  transform: none !important;
  opacity: 1 !important;
  transition: background-color 180ms, color 180ms !important;
  @media (hover: hover) {
    &:hover:not(:disabled, [aria-disabled="true"]) { background-color: #ebe6d7 !important; color: #284734 !important; }
  }
  &:active:not(:disabled, [aria-disabled="true"]) { background-color: #e2ddd0 !important; }
  @media (prefers-reduced-motion: reduce) { transition: none !important; }
}
.quantity { min-height: 50px !important; height: auto !important; min-width: 134px !important; }
.quantity__button { flex: 0 0 44px !important; width: 44px !important; }
:is(.modal-close-button .icon-close, .quantity__button svg) { opacity: 1 !important; transform: none !important; transition: none !important; }

:is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #284734 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fbfbfa !important;
}
:is(.button--simple, .button--tertiary):hover { opacity: 1 !important; text-decoration: underline; }
