*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  html {
    scroll-behavior: smooth;
    /* Offset anchor jumps so the sticky header doesn't cover section titles. */
    scroll-padding-top: 5rem;
  }
  @media (min-width: 1024px) {
    html { scroll-padding-top: 6.5rem; }
  }
  body {
  --tw-bg-opacity: 1;
  background-color: rgb(245 241 232 / var(--tw-bg-opacity, 1));
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(74 74 69 / var(--tw-text-opacity, 1));
}
  /* Headings inherit color from their parent so the same H1 renders correctly
     on dark hero backgrounds (white) and light body sections (brand-ink-soft).
     Font-weight and font-family are set; color stays inherited. */
  h1, h2, h3, h4 {
  font-family: Fraunces, ui-serif, Georgia, Cambria, Times New Roman, serif;
  font-weight: 700; color: inherit;
}
  /* Parsley-style accent: wrap a word in <em> inside a heading for the warm
     Fraunces italic. */
  h1 em, h2 em, h3 em { font-style: italic; font-weight: 500; }
  h1 { letter-spacing: -0.022em; }
  h2 { letter-spacing: -0.018em; }
  h3 { letter-spacing: -0.012em; }

  /* Smooth tabular numerals for price rendering */
  .tabular-nums { font-variant-numeric: tabular-nums; }

  /* Body prose measure — readable line length (~65ch). Applies inside .prose blocks
     that do not opt out via .prose--wide. */
  .prose :where(p, ul, ol, blockquote):not(:where([class~="not-prose"] *)) {
    max-width: 65ch;
  }
  .prose.prose--wide :where(p, ul, ol, blockquote) { max-width: none; }

  /* Vertical rhythm: theme's .prose ships without @tailwindcss/typography, so
     paragraph and list margins need explicit rules — otherwise multi-paragraph
     rich_text bodies render as a single dense block. */
  .prose :where(p, ul, ol, blockquote):not(:where([class~="not-prose"] *)) {
    margin: 1em 0;
  }
  .prose > :where(p, ul, ol, blockquote, h2, h3, h4):first-child { margin-top: 0; }
  .prose > :where(p, ul, ol, blockquote):last-child { margin-bottom: 0; }
  .prose :where(ul, ol):not(:where([class~="not-prose"] *)) { padding-left: 1.5em; }
  .prose :where(ul):not(:where([class~="not-prose"] *)) { list-style: disc; }
  .prose :where(ol):not(:where([class~="not-prose"] *)) { list-style: decimal; }
  .prose :where(li):not(:where([class~="not-prose"] *)) { margin: 0.4em 0; }
  .prose :where(h2):not(:where([class~="not-prose"] *)) {
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
  }
  .prose :where(h3):not(:where([class~="not-prose"] *)) {
    margin-top: 1.4em;
    margin-bottom: 0.5em;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
  }
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 1200px) {

  .container {
    max-width: 1200px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
.container-wdc {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 1024px) {

  .container-wdc {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
/* Buttons */
/* PRIMARY action — her brand gold (warm golden-yellow) fill with a deep
     forest-green label. Yellow is the primary call-to-action color across the
     site; dark-green text keeps high contrast on the gold for AA legibility on
     both the green hero and the bone sections. */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  --tw-bg-opacity: 1;
  background-color: rgb(242 203 60 / var(--tw-bg-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 55 0 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 8px 24px -10px rgba(224, 181, 32, 0.40), 0 3px 8px -4px rgba(224, 181, 32, 0.22);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: #F2CB3C;
  --tw-shadow: var(--tw-shadow-colored);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.btn-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 181 32 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 18px 44px -14px rgba(224, 181, 32, 0.34), 0 6px 16px -8px rgba(224, 181, 32, 0.18);
  --tw-shadow-colored: 0 18px 44px -14px var(--tw-shadow-color), 0 6px 16px -8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.btn-primary:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.btn-primary:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(242 203 60 / 0.4);
}
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.7);
  background-color: rgb(255 255 255 / 0.05);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.btn-secondary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(43 43 40 / var(--tw-text-opacity, 1));
}
.btn-secondary:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.btn-secondary:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(255 255 255 / 0.3);
}
/* Outline CTA for light-background sections (rich_text callouts, etc.) */
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 14px;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(45 80 22 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
.btn-outline:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  --tw-shadow: 0 8px 24px -10px rgba(45, 80, 22, 0.35), 0 3px 8px -4px rgba(45, 80, 22, 0.20);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: #2D5016;
  --tw-shadow: var(--tw-shadow-colored);
}
.btn-outline:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.btn-outline:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(45 80 22 / 0.25);
}
.btn-outline .arrow {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
    display: inline-block;
}
.btn-outline:hover .arrow,
  .btn-outline:focus-visible .arrow {
    transform: translateX(4px);
  }
/* Inline prose links inside FAQ answers: readable without a persistent
     underline (which competes with the button-style CTA at the end of the
     answer), but with a clear hover affordance. */
.faq-answer.prose :where(a):not(:where(.btn-outline, [class~="not-prose"] *)) {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0% 1px;
    background-position: 0 100%;
    transition: background-size 250ms ease, color 150ms ease;
}
.faq-answer.prose :where(a):not(:where(.btn-outline, [class~="not-prose"] *)):hover,
  .faq-answer.prose :where(a):not(:where(.btn-outline, [class~="not-prose"] *)):focus-visible {
    background-size: 100% 1px;
    color: #13300A;
  }
/* Wrapper lifted out of a prose <p> so the outline CTA sits with clear
     vertical breathing room instead of hugging the paragraph above it. */
.cta-row {
  margin-top: 1.5rem;
}
@media (min-width: 1024px) {

  .cta-row {
    margin-top: 2rem;
  }
}
.cta-row + .cta-row {
  margin-top: 0.75rem;
}
/* Section rhythm */
.section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media (min-width: 640px) {

  .section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media (min-width: 1024px) {

  .section {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
}
.section-tight {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
@media (min-width: 640px) {

  .section-tight {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
@media (min-width: 1024px) {

  .section-tight {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
/* When two same-tone sections stack (e.g. multiple FAQ groups), collapse the
     inner gap so visitors don't feel the "hall of groups" effect. Apply via
     PHP on second-onward occurrences of the same block type. */
.section-stack { padding-top: 0 !important; }
.section-stack:has(+ .section-stack) { padding-bottom: 1.5rem !important; }
.section:has(+ .section-stack), .section-tight:has(+ .section-stack) { padding-bottom: 1.5rem !important; }
/* Real PNG logo has dark artwork on a transparent background. In the
     dark-teal site header we invert it to white via filter so we can reuse
     a single asset everywhere. Footer / light surfaces use it as-is. */
.logo-on-dark {
    filter: brightness(0) invert(1);
  }
/* Eyebrow tags */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.eyebrow::before {
    content: '';
    display: block;
    height: 1px;
    width: 1.5rem;
    background-color: rgb(45 80 22 / 0.6);
  }
.eyebrow.eyebrow-on-dark {
  --tw-text-opacity: 1;
  color: rgb(174 199 154 / var(--tw-text-opacity, 1));
}
.eyebrow.eyebrow-on-dark::before {
  background-color: rgb(130 167 102 / 0.7);
}
.eyebrow.eyebrow-plain::before { content: none; }
/* Section header (eyebrow + h2 + intro) */
.section-header {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.5rem;
  max-width: 42rem;
}
.section-header > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.section-header {
  text-align: center;
}
@media (min-width: 1024px) {

  .section-header {
    margin-bottom: 4rem;
  }
}
.section-header--left {
  margin-left: 0px;
  margin-right: 0px;
  text-align: left;
}
.section-title {
  font-weight: 700;
  line-height: 1.14;
  --tw-text-opacity: 1;
  color: rgb(43 43 40 / var(--tw-text-opacity, 1));
    /* Fluid scale: 1.875rem (30px) on small screens → 2.5rem (40px) on xl */
    font-size: clamp(1.875rem, 1.35rem + 1.8vw, 2.5rem);
}
.section-title--xl {
    /* Fluid scale: 2.25rem (36px) → 3rem (48px) */
    font-size: clamp(2.25rem, 1.6rem + 2.1vw, 3rem);
  }
.section-intro {
  line-height: 1.625;
  color: rgb(43 43 40 / 0.7);
    font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
}
/* Decorative accents */
.accent-bar {
  height: 0.25rem;
  width: 3rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
}
/* Hero-specific background layers */
.hero-ink {
  position: relative;
  overflow: hidden;
  background-image: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(45, 80, 22, 0.30) 0%, rgba(45, 80, 22, 0) 60%), linear-gradient(180deg, #13300A 0%, #003700 100%);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hero-ink::before {
    content: '';
    position: absolute; inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><path d='M40 0H0v40' fill='none' stroke='white' stroke-opacity='0.04' stroke-width='1'/></svg>");
    pointer-events: none;
  }
.hero-ink::after {
    content: '';
    position: absolute;
    right: -20%; bottom: -40%;
    width: 720px; height: 720px;
    border-radius: 9999px;
    background: radial-gradient(circle, rgba(45, 80, 22,0.28) 0%, rgba(45, 80, 22,0) 65%);
    pointer-events: none;
  }
/* Section with soft primary background wash */
.section-soft {
  position: relative;
  --tw-bg-opacity: 1;
  background-color: rgb(239 234 220 / var(--tw-bg-opacity, 1));
}
.section-soft::before {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(60% 60% at 10% 0%, rgba(45, 80, 22,0.06) 0%, rgba(45, 80, 22,0) 70%);
    pointer-events: none;
  }
.section-soft > * { position: relative; }
/* Card base styles */
.card-surface {
  border-radius: 22px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(228 220 203 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 4px -1px rgba(43, 43, 40, 0.06);
  --tw-shadow-colored: 0 1px 4px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.card-surface-hover {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.card-surface-hover:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-color: rgb(45 80 22 / 0.3);
  --tw-shadow: 0 12px 28px -12px rgba(43, 43, 40, 0.14), 0 4px 10px -6px rgba(43, 43, 40, 0.07);
  --tw-shadow-colored: 0 12px 28px -12px var(--tw-shadow-color), 0 4px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* ---------- Press-logo marquee (hero treatment on /press) ---------- */
/* Two duplicated tracks scroll in opposite directions for a gentle, living
     logo wall. The track is doubled in markup so the loop is seamless at -50%. */
.press-marquee {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  }
.press-marquee__track {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    width: -moz-max-content;
    width: max-content;
    animation: press-marquee-scroll 38s linear infinite;
  }
.press-marquee[data-direction="reverse"] .press-marquee__track {
    animation-direction: reverse;
    animation-duration: 46s;
  }
.press-marquee:hover .press-marquee__track { animation-play-state: paused; }
.press-marquee__logo {
    display: inline-flex;
    align-items: center;
    height: 1.75rem;
    flex: 0 0 auto;
    opacity: 0.85;
  }
.press-marquee__logo svg { height: 100%; width: auto; }
@keyframes press-marquee-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }
/* Hero variant: prominent full-width logo band. Larger, brighter, near-white
     logos with generous spacing and a slow, smooth scroll — the press logos are
     the hero visual here, not a cramped side-card. */
.press-marquee--hero {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
.press-marquee--hero .press-marquee__track {
    gap: 5rem;
    animation-duration: 60s;
  }
.press-marquee__logo--hero {
    height: 2.75rem;
    opacity: 0.95;
  }
@media (min-width: 1024px) {
    .press-marquee--hero .press-marquee__track { gap: 6.5rem; }
    .press-marquee__logo--hero { height: 3.25rem; }
  }
@media (prefers-reduced-motion: reduce) {
    .press-marquee__track { animation: none; }
    /* With motion disabled, let the wall wrap and sit still instead of clipping. */
    .press-marquee { -webkit-mask-image: none; mask-image: none; }
    .press-marquee__track { flex-wrap: wrap; width: 100%; justify-content: center; gap: 1.75rem 3rem; }
    .press-marquee--hero .press-marquee__track { gap: 2.5rem 4rem; }
    /* Static wall: hide the duplicated (aria-hidden) second copy so logos don't repeat. */
    .press-marquee--hero .press-marquee__logo[aria-hidden="true"] { display: none; }
  }
/* ---------- Resource "book" card ---------- */
/* A portrait book with spine, stacked pages, and a tilt-open 3D hover.
     Used via feature_grid with `variant: 'book'` on /resources-library. */
.book-card {
    perspective: 1600px;
    perspective-origin: 60% 40%;
    /* Keep the tilted cover from being clipped by the parent grid gap. */
    padding-bottom: 4px;
  }
.book {
    position: relative;
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
    aspect-ratio: 5 / 7;       /* Book cover proportions. */
    transform-style: preserve-3d;
    transition: transform 500ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }
.book-card:hover .book { transform: translateY(-4px); }
.book__cover {
    position: absolute;
    inset: 0;
    border-radius: 3px 12px 12px 3px;   /* Slightly rounded outer corner. */
    background: #003700;
    overflow: hidden;
    transform-origin: left center;
    transform: rotateY(-2deg);
    transition: transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 500ms ease;
    box-shadow:
      2px 4px 10px rgba(0, 55, 0, 0.18),
      6px 12px 30px rgba(0, 55, 0, 0.25),
      inset -1px 0 0 rgba(255, 255, 255, 0.05);
    z-index: 2;
  }
.book-card:hover .book__cover,
  .book-card:focus-visible .book__cover {
    transform: rotateY(-34deg);
    box-shadow:
      4px 8px 16px rgba(0, 55, 0, 0.22),
      14px 22px 44px rgba(0, 55, 0, 0.32),
      inset -1px 0 0 rgba(255, 255, 255, 0.06);
  }
.book__cover-img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
.book__cover-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%; height: 100%;
    padding: 1.25rem;
    text-align: center;
    color: #ffffff;
    font-weight: 700;
    font-size: 1rem;
    background: linear-gradient(145deg, #003700 0%, #578539 100%);
  }
/* Darker inner ridge along the spine (left edge) of the cover. */
.book__spine {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 10px;
    background:
      linear-gradient(to right,
        rgba(0, 0, 0, 0.35) 0%,
        rgba(0, 0, 0, 0.14) 45%,
        rgba(255, 255, 255, 0.05) 80%,
        rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
  }
/* Stacked page edges sticking out under/right of the cover. */
.book__pages {
    position: absolute;
    top: 4px; right: -5px; bottom: 4px;
    width: 6px;
    background:
      repeating-linear-gradient(
        to bottom,
        #ffffff 0 1px,
        #E4DCCB 1px 2px
      );
    border-radius: 0 3px 3px 0;
    box-shadow: 1px 0 2px rgba(0, 55, 0, 0.15);
    z-index: 1;
  }
/* Back page peeking from behind the cover when it tilts open. */
.book__back {
    position: absolute;
    inset: 0;
    border-radius: 3px 12px 12px 3px;
    background:
      linear-gradient(135deg, #EFEADC 0%, #E4DCCB 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2D5016;
    font-weight: 700;
    letter-spacing: 0.14em;
    font-size: 0.75rem;
    text-transform: uppercase;
    z-index: 1;
    box-shadow: inset 2px 0 4px rgba(0, 55, 0, 0.1);
  }
/* Compact book thumbnail used in the resource hero (dark background). */
.hero-book {
    width: 140px;
    aspect-ratio: 5 / 7;
    perspective: 1200px;
  }
.hero-book__cover {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 2px 10px 10px 2px;
    overflow: hidden;
    transform: rotateY(-8deg);
    transform-origin: left center;
    background: #ffffff;
    box-shadow:
      4px 8px 20px rgba(0, 0, 0, 0.25),
      12px 20px 40px rgba(0, 0, 0, 0.35),
      inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  }
.hero-book__cover-img {
    width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; display: block;
  }
.hero-book__spine {
    position: absolute; left: 0; top: 0; bottom: 0; width: 8px;
    background: linear-gradient(to right, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.14) 60%, rgba(0,0,0,0) 100%);
    pointer-events: none;
  }
.hero-book__pages {
    position: absolute; top: 3px; right: -4px; bottom: 3px; width: 5px;
    background: repeating-linear-gradient(to bottom, #ffffff 0 1px, #D4C9B2 1px 2px);
    border-radius: 0 2px 2px 0;
    box-shadow: 1px 0 2px rgba(0, 0, 0, 0.25);
  }
/* Scroll-reveal used by the book cards and other [data-reveal] elements. */
[data-reveal] {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 600ms ease, transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }
[data-reveal].is-revealed {
    opacity: 1;
    transform: translateY(0);
  }
@media (prefers-reduced-motion: reduce) {
    .book,
    .book__cover,
    [data-reveal] {
      transition: none !important;
    }
    .book-card:hover .book__cover,
    .book-card:focus-visible .book__cover {
      transform: rotateY(-2deg); /* stay at rest */
    }
    [data-reveal] { opacity: 1; transform: none; }
  }
/* Icon badges */
.icon-badge {
  display: inline-flex;
  height: 2.75rem;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  --tw-bg-opacity: 1;
  background-color: rgb(238 243 233 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.icon-badge-lg {
  display: inline-flex;
  height: 3.5rem;
  width: 3.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  --tw-bg-opacity: 1;
  background-color: rgb(238 243 233 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.icon-badge-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 8px 24px -10px rgba(45, 80, 22, 0.35), 0 3px 8px -4px rgba(45, 80, 22, 0.20);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: #2D5016;
  --tw-shadow: var(--tw-shadow-colored);
}
/* Check bullet */
.check-bullet {
  display: inline-flex;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 230 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(82 127 38 / var(--tw-text-opacity, 1));
}
.check-bullet svg { width: 12px; height: 12px; stroke-width: 3; }
/* Numbered marker for process steps */
.step-number {
  display: inline-flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  background-image: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(45, 80, 22, 0.30) 0%, rgba(45, 80, 22, 0) 60%), linear-gradient(180deg, #13300A 0%, #003700 100%);
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 8px 24px -10px rgba(45, 80, 22, 0.35), 0 3px 8px -4px rgba(45, 80, 22, 0.20);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: #2D5016;
  --tw-shadow: var(--tw-shadow-colored);
}
/* Divider wedge used between dark hero and light section */
.hero-wedge {
    position: relative;
  }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-3 {
  inset: -0.75rem;
}
.-inset-4 {
  inset: -1rem;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.-bottom-10 {
  bottom: -2.5rem;
}
.-bottom-24 {
  bottom: -6rem;
}
.-bottom-3 {
  bottom: -0.75rem;
}
.-bottom-4 {
  bottom: -1rem;
}
.-bottom-5 {
  bottom: -1.25rem;
}
.-left-10 {
  left: -2.5rem;
}
.-left-24 {
  left: -6rem;
}
.-left-4 {
  left: -1rem;
}
.-right-16 {
  right: -4rem;
}
.-right-24 {
  right: -6rem;
}
.-right-3 {
  right: -0.75rem;
}
.-right-4 {
  right: -1rem;
}
.-right-5 {
  right: -1.25rem;
}
.-top-16 {
  top: -4rem;
}
.-top-24 {
  top: -6rem;
}
.-top-3 {
  top: -0.75rem;
}
.-top-4 {
  top: -1rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-10 {
  bottom: 2.5rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-8 {
  bottom: 2rem;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-10 {
  left: 2.5rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-6 {
  left: 1.5rem;
}
.left-7 {
  left: 1.75rem;
}
.left-\[3\.25rem\] {
  left: 3.25rem;
}
.right-0 {
  right: 0px;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-7 {
  right: 1.75rem;
}
.top-0 {
  top: 0px;
}
.top-10 {
  top: 2.5rem;
}
.top-4 {
  top: 1rem;
}
.top-8 {
  top: 2rem;
}
.-z-10 {
  z-index: -10;
}
.z-10 {
  z-index: 10;
}
.order-first {
  order: -9999;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-span-8 {
  grid-column: span 8 / span 8;
}
.mx-0 {
  margin-left: 0px;
  margin-right: 0px;
}
.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-7 {
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
}
.\!mb-8 {
  margin-bottom: 2rem !important;
}
.-mt-10 {
  margin-top: -2.5rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-14 {
  margin-bottom: 3.5rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-7 {
  margin-bottom: 1.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.mb-9 {
  margin-bottom: 2.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-14 {
  margin-top: 3.5rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-9 {
  margin-top: 2.25rem;
}
.mt-auto {
  margin-top: auto;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.aspect-\[16\/10\] {
  aspect-ratio: 16/10;
}
.aspect-\[16\/9\] {
  aspect-ratio: 16/9;
}
.aspect-\[3\/4\] {
  aspect-ratio: 3/4;
}
.aspect-\[4\/3\] {
  aspect-ratio: 4/3;
}
.aspect-\[5\/3\] {
  aspect-ratio: 5/3;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-9 {
  height: 2.25rem;
}
.h-96 {
  height: 24rem;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-full {
  max-height: 100%;
}
.min-h-\[3rem\] {
  min-height: 3rem;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-96 {
  width: 24rem;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[150px\] {
  max-width: 150px;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[20ch\] {
  max-width: 20ch;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[620px\] {
  max-width: 620px;
}
.max-w-\[640px\] {
  max-width: 640px;
}
.max-w-\[68ch\] {
  max-width: 68ch;
}
.max-w-\[80\%\] {
  max-width: 80%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-wait {
  cursor: wait;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.scroll-mt-24 {
  scroll-margin-top: 6rem;
}
.scroll-mt-28 {
  scroll-margin-top: 7rem;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0 {
  gap: 0px;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-x-10 {
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-3\.5 {
  row-gap: 0.875rem;
}
.gap-y-8 {
  row-gap: 2rem;
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.space-y-16 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(4rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.875rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-px > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1px * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-brand-ink\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(43 43 40 / 0.1);
}
.divide-brand-muted-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(228 220 203 / var(--tw-divide-opacity, 1));
}
.divide-white\/20 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.2);
}
.overflow-hidden {
  overflow: hidden;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-balance {
  text-wrap: balance;
}
.break-words {
  overflow-wrap: break-word;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 22px;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[1\.5rem\] {
  border-radius: 1.5rem;
}
.rounded-\[1\.75rem\] {
  border-radius: 1.75rem;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 14px;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 18px;
}
.rounded-b-2xl {
  border-bottom-right-radius: 22px;
  border-bottom-left-radius: 22px;
}
.rounded-b-full {
  border-bottom-right-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-t {
  border-top-width: 1px;
}
.border-brand-accent {
  --tw-border-opacity: 1;
  border-color: rgb(103 160 48 / var(--tw-border-opacity, 1));
}
.border-brand-gold\/50 {
  border-color: rgb(242 203 60 / 0.5);
}
.border-brand-ink\/10 {
  border-color: rgb(43 43 40 / 0.1);
}
.border-brand-muted {
  --tw-border-opacity: 1;
  border-color: rgb(239 234 220 / var(--tw-border-opacity, 1));
}
.border-brand-muted-200 {
  --tw-border-opacity: 1;
  border-color: rgb(228 220 203 / var(--tw-border-opacity, 1));
}
.border-brand-primary {
  --tw-border-opacity: 1;
  border-color: rgb(45 80 22 / var(--tw-border-opacity, 1));
}
.border-brand-primary\/20 {
  border-color: rgb(45 80 22 / 0.2);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/70 {
  border-color: rgb(255 255 255 / 0.7);
}
.border-white\/80 {
  border-color: rgb(255 255 255 / 0.8);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-brand-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(103 160 48 / var(--tw-bg-opacity, 1));
}
.bg-brand-accent-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 230 / var(--tw-bg-opacity, 1));
}
.bg-brand-accent\/15 {
  background-color: rgb(103 160 48 / 0.15);
}
.bg-brand-accent\/20 {
  background-color: rgb(103 160 48 / 0.2);
}
.bg-brand-bg {
  --tw-bg-opacity: 1;
  background-color: rgb(245 241 232 / var(--tw-bg-opacity, 1));
}
.bg-brand-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(242 203 60 / var(--tw-bg-opacity, 1));
}
.bg-brand-gold\/20 {
  background-color: rgb(242 203 60 / 0.2);
}
.bg-brand-ink {
  --tw-bg-opacity: 1;
  background-color: rgb(43 43 40 / var(--tw-bg-opacity, 1));
}
.bg-brand-ink\/5 {
  background-color: rgb(43 43 40 / 0.05);
}
.bg-brand-ink\/70 {
  background-color: rgb(43 43 40 / 0.7);
}
.bg-brand-muted {
  --tw-bg-opacity: 1;
  background-color: rgb(239 234 220 / var(--tw-bg-opacity, 1));
}
.bg-brand-muted-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(212 201 178 / var(--tw-bg-opacity, 1));
}
.bg-brand-muted\/30 {
  background-color: rgb(239 234 220 / 0.3);
}
.bg-brand-muted\/40 {
  background-color: rgb(239 234 220 / 0.4);
}
.bg-brand-muted\/60 {
  background-color: rgb(239 234 220 / 0.6);
}
.bg-brand-muted\/70 {
  background-color: rgb(239 234 220 / 0.7);
}
.bg-brand-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
}
.bg-brand-primary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 243 233 / var(--tw-bg-opacity, 1));
}
.bg-brand-primary-50\/60 {
  background-color: rgb(238 243 233 / 0.6);
}
.bg-brand-primary-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(0 55 0 / var(--tw-bg-opacity, 1));
}
.bg-brand-primary\/0 {
  background-color: rgb(45 80 22 / 0);
}
.bg-brand-primary\/10 {
  background-color: rgb(45 80 22 / 0.1);
}
.bg-brand-primary\/15 {
  background-color: rgb(45 80 22 / 0.15);
}
.bg-brand-primary\/20 {
  background-color: rgb(45 80 22 / 0.2);
}
.bg-brand-primary\/25 {
  background-color: rgb(45 80 22 / 0.25);
}
.bg-brand-primary\/30 {
  background-color: rgb(45 80 22 / 0.3);
}
.bg-brand-sage-200\/50 {
  background-color: rgb(215 222 208 / 0.5);
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/25 {
  background-color: rgb(255 255 255 / 0.25);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-white\/\[0\.04\] {
  background-color: rgb(255 255 255 / 0.04);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.bg-dots-ink {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><circle cx='2' cy='2' r='1' fill='%23FFFFFF' fill-opacity='0.08'/></svg>");
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-hero-ink-soft {
  background-image: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(45, 80, 22, 0.30) 0%, rgba(45, 80, 22, 0) 60%), linear-gradient(180deg, #13300A 0%, #003700 100%);
}
.bg-primary-band {
  background-image: linear-gradient(135deg, #2D5016 0%, #234011 55%, #003700 100%);
}
.bg-primary-mesh {
  background-image: radial-gradient(60% 80% at 10% 0%, rgba(45, 80, 22, 0.10) 0%, rgba(45, 80, 22, 0) 70%), radial-gradient(40% 60% at 100% 100%, rgba(103, 160, 48, 0.08) 0%, rgba(103, 160, 48, 0) 70%);
}
.from-brand-ink\/55 {
  --tw-gradient-from: rgb(43 43 40 / 0.55) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(43 43 40 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brand-primary-50 {
  --tw-gradient-from: #EEF3E9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 243 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brand-primary\/40 {
  --tw-gradient-from: rgb(45 80 22 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(45 80 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-brand-ink\/10 {
  --tw-gradient-to: rgb(43 43 40 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(43 43 40 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-brand-primary\/20 {
  --tw-gradient-to: rgb(45 80 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(45 80 22 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-brand-primary\/60 {
  --tw-gradient-to: rgb(45 80 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(45 80 22 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-brand-ink\/40 {
  --tw-gradient-to: rgb(43 43 40 / 0.4) var(--tw-gradient-to-position);
}
.to-brand-primary\/10 {
  --tw-gradient-to: rgb(45 80 22 / 0.1) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0 {
  padding: 0px;
}
.p-10 {
  padding: 2.5rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-7 {
  padding: 1.75rem;
}
.p-8 {
  padding: 2rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-\[1\.1875rem\] {
  padding-left: 1.1875rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-14 {
  padding-top: 3.5rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.pt-9 {
  padding-top: 2.25rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.font-heading {
  font-family: Fraunces, ui-serif, Georgia, Cambria, Times New Roman, serif;
}
.font-sans {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
}
.font-serif {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-7xl {
  font-size: 4.5rem;
  line-height: 1;
}
.text-\[0\.65rem\] {
  font-size: 0.65rem;
}
.text-\[0\.6rem\] {
  font-size: 0.6rem;
}
.text-\[0\.75rem\] {
  font-size: 0.75rem;
}
.text-\[0\.7rem\] {
  font-size: 0.7rem;
}
.text-\[0\.8125rem\] {
  font-size: 0.8125rem;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[0\.95rem\] {
  font-size: 0.95rem;
}
.text-\[0\.975rem\] {
  font-size: 0.975rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12\.5px\] {
  font-size: 12.5px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[2rem\] {
  font-size: 2rem;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.06\] {
  line-height: 1.06;
}
.leading-\[1\.14\] {
  line-height: 1.14;
}
.leading-\[1\.15\] {
  line-height: 1.15;
}
.leading-\[1\.18\] {
  line-height: 1.18;
}
.leading-\[1\.1\] {
  line-height: 1.1;
}
.leading-\[1\.2\] {
  line-height: 1.2;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.02em\] {
  letter-spacing: 0.02em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-\[\#F2682C\] {
  --tw-text-opacity: 1;
  color: rgb(242 104 44 / var(--tw-text-opacity, 1));
}
.text-brand-accent {
  --tw-text-opacity: 1;
  color: rgb(103 160 48 / var(--tw-text-opacity, 1));
}
.text-brand-accent-600 {
  --tw-text-opacity: 1;
  color: rgb(82 127 38 / var(--tw-text-opacity, 1));
}
.text-brand-highlight {
  --tw-text-opacity: 1;
  color: rgb(192 133 82 / var(--tw-text-opacity, 1));
}
.text-brand-ink {
  --tw-text-opacity: 1;
  color: rgb(43 43 40 / var(--tw-text-opacity, 1));
}
.text-brand-ink-soft {
  --tw-text-opacity: 1;
  color: rgb(74 74 69 / var(--tw-text-opacity, 1));
}
.text-brand-ink-soft\/70 {
  color: rgb(74 74 69 / 0.7);
}
.text-brand-ink-soft\/75 {
  color: rgb(74 74 69 / 0.75);
}
.text-brand-ink-soft\/80 {
  color: rgb(74 74 69 / 0.8);
}
.text-brand-ink-soft\/85 {
  color: rgb(74 74 69 / 0.85);
}
.text-brand-ink-soft\/90 {
  color: rgb(74 74 69 / 0.9);
}
.text-brand-ink\/25 {
  color: rgb(43 43 40 / 0.25);
}
.text-brand-ink\/30 {
  color: rgb(43 43 40 / 0.3);
}
.text-brand-ink\/35 {
  color: rgb(43 43 40 / 0.35);
}
.text-brand-ink\/45 {
  color: rgb(43 43 40 / 0.45);
}
.text-brand-ink\/50 {
  color: rgb(43 43 40 / 0.5);
}
.text-brand-ink\/55 {
  color: rgb(43 43 40 / 0.55);
}
.text-brand-ink\/60 {
  color: rgb(43 43 40 / 0.6);
}
.text-brand-ink\/65 {
  color: rgb(43 43 40 / 0.65);
}
.text-brand-ink\/70 {
  color: rgb(43 43 40 / 0.7);
}
.text-brand-ink\/75 {
  color: rgb(43 43 40 / 0.75);
}
.text-brand-ink\/80 {
  color: rgb(43 43 40 / 0.8);
}
.text-brand-primary {
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.text-brand-primary-100 {
  --tw-text-opacity: 1;
  color: rgb(215 227 203 / var(--tw-text-opacity, 1));
}
.text-brand-primary-100\/75 {
  color: rgb(215 227 203 / 0.75);
}
.text-brand-primary-100\/80 {
  color: rgb(215 227 203 / 0.8);
}
.text-brand-primary-100\/85 {
  color: rgb(215 227 203 / 0.85);
}
.text-brand-primary-200 {
  --tw-text-opacity: 1;
  color: rgb(174 199 154 / var(--tw-text-opacity, 1));
}
.text-brand-primary-200\/80 {
  color: rgb(174 199 154 / 0.8);
}
.text-brand-primary-800 {
  --tw-text-opacity: 1;
  color: rgb(0 55 0 / var(--tw-text-opacity, 1));
}
.text-brand-primary\/70 {
  color: rgb(45 80 22 / 0.7);
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/30 {
  color: rgb(255 255 255 / 0.3);
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-white\/95 {
  color: rgb(255 255 255 / 0.95);
}
.underline {
  text-decoration-line: underline;
}
.no-underline {
  text-decoration-line: none;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand {
  --tw-shadow: 0 4px 16px -6px rgba(43, 43, 40, 0.10), 0 1px 4px -2px rgba(43, 43, 40, 0.05);
  --tw-shadow-colored: 0 4px 16px -6px var(--tw-shadow-color), 0 1px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand-gold {
  --tw-shadow: 0 8px 24px -10px rgba(224, 181, 32, 0.40), 0 3px 8px -4px rgba(224, 181, 32, 0.22);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand-lg {
  --tw-shadow: 0 12px 28px -12px rgba(43, 43, 40, 0.14), 0 4px 10px -6px rgba(43, 43, 40, 0.07);
  --tw-shadow-colored: 0 12px 28px -12px var(--tw-shadow-color), 0 4px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand-primary {
  --tw-shadow: 0 8px 24px -10px rgba(45, 80, 22, 0.35), 0 3px 8px -4px rgba(45, 80, 22, 0.20);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand-primary-lg {
  --tw-shadow: 0 18px 44px -14px rgba(45, 80, 22, 0.32), 0 6px 16px -8px rgba(45, 80, 22, 0.16);
  --tw-shadow-colored: 0 18px 44px -14px var(--tw-shadow-color), 0 6px 16px -8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand-sm {
  --tw-shadow: 0 1px 4px -1px rgba(43, 43, 40, 0.06);
  --tw-shadow-colored: 0 1px 4px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand-xl {
  --tw-shadow: 0 20px 44px -16px rgba(43, 43, 40, 0.16), 0 8px 16px -10px rgba(43, 43, 40, 0.08);
  --tw-shadow-colored: 0 20px 44px -16px var(--tw-shadow-color), 0 8px 16px -10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand-gold {
  --tw-shadow-color: #F2CB3C;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-brand-primary {
  --tw-shadow-color: #2D5016;
  --tw-shadow: var(--tw-shadow-colored);
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-black\/5 {
  --tw-ring-color: rgb(0 0 0 / 0.05);
}
.ring-brand-gold\/40 {
  --tw-ring-color: rgb(242 203 60 / 0.4);
}
.ring-brand-muted-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(228 220 203 / var(--tw-ring-opacity, 1));
}
.ring-brand-primary\/15 {
  --tw-ring-color: rgb(45 80 22 / 0.15);
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/10 {
  --tw-ring-color: rgb(255 255 255 / 0.1);
}
.ring-white\/15 {
  --tw-ring-color: rgb(255 255 255 / 0.15);
}
.ring-white\/20 {
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.ring-white\/25 {
  --tw-ring-color: rgb(255 255 255 / 0.25);
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl {
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-md {
  --tw-blur: blur(12px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-xl {
  --tw-blur: blur(24px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[filter\] {
  transition-property: filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
/* Subtle animated dot highlight used on CTAs */
@keyframes mw-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.6; }
  }
.dot-live {
  display: inline-block;
  height: 0.5rem;
  width: 0.5rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(103 160 48 / var(--tw-bg-opacity, 1));
    animation: mw-pulse 2.2s ease-in-out infinite;
}
/* Clamp card copy to 3 lines without needing the @tailwindcss/line-clamp
     plugin. Graceful fallback in browsers without line-clamp support. */
.line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }

/* ---------- Article prose (single blog posts) ------------------------------
   Explicit styling for `the_content()` output because we don't ship the
   @tailwindcss/typography plugin. Tuned for long-form reading at ~68ch. */
.article-prose {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #2B2B28;
}
@media (min-width: 1024px) {
  .article-prose { font-size: 1.125rem; }
}
.article-prose > * + * { margin-top: 1.25em; }
.article-prose p { margin: 1.1em 0; }
.article-prose h2 {
  font-size: clamp(1.5rem, 1.2rem + 0.9vw, 1.875rem);
  font-weight: 700;
  color: #003700;
  margin-top: 2em;
  margin-bottom: 0.6em;
  line-height: 1.25;
  letter-spacing: -0.018em;
  scroll-margin-top: 6rem;
}
.article-prose h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #003700;
  margin-top: 1.6em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}
.article-prose h4 { font-size: 1.0625rem; font-weight: 700; color: #003700; margin-top: 1.4em; }
.article-prose strong { color: #003700; font-weight: 600; }
.article-prose a {
  color: #2D5016;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 150ms ease;
}
.article-prose a:hover { color: #13300A; }
.article-prose ul, .article-prose ol {
  margin: 1.1em 0;
  padding-left: 1.4em;
}
.article-prose ul { list-style: none; padding-left: 0; }
.article-prose ul > li {
  position: relative;
  padding-left: 1.65em;
  margin: 0.45em 0;
}
.article-prose ul > li::before {
  content: '';
  position: absolute;
  left: 0.1em;
  top: 0.7em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 9999px;
  background: #2D5016;
}
.article-prose ol { list-style: decimal; }
.article-prose ol > li::marker { color: #2D5016; font-weight: 700; }
.article-prose ol > li { margin: 0.45em 0; padding-left: 0.4em; }
.article-prose blockquote {
  margin: 1.6em 0;
  padding: 0.6em 1.25em;
  border-left: 3px solid #2D5016;
  background: #EFEADC;
  border-radius: 0 0.75rem 0.75rem 0;
  font-style: italic;
  color: #234011;
}
.article-prose blockquote p { margin: 0.4em 0; }
.article-prose code {
  background: #EFEADC;
  color: #003700;
  padding: 0.1em 0.4em;
  border-radius: 0.3em;
  font-size: 0.92em;
}
.article-prose pre {
  background: #003700;
  color: #EFEADC;
  padding: 1em 1.25em;
  border-radius: 0.75rem;
  overflow-x: auto;
  font-size: 0.92em;
  line-height: 1.55;
}
.article-prose pre code { background: transparent; color: inherit; padding: 0; }
.article-prose img {
  border-radius: 0.75rem;
  margin: 1.6em auto;
  max-width: 100%;
  height: auto;
  box-shadow: 0 10px 30px -10px rgba(0, 55, 0, 0.18);
}
.article-prose hr {
  border: 0;
  border-top: 1px solid #E4DCCB;
  margin: 2.2em 0;
}
.article-prose > :first-child { margin-top: 0; }

/* ---------- TOC sidebar ---------------------------------------------------- */
.toc-sidebar .toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 2px solid #E4DCCB;
}
.toc-sidebar .toc-list li { display: block; }
.toc-sidebar .toc-list a {
  position: relative;
  display: flex;
  gap: 0.75rem;
  padding: 0.55rem 0 0.55rem 1rem;
  margin-left: -2px;
  border-left: 2px solid transparent;
  color: #2B2B28;
  font-size: 0.875rem;
  line-height: 1.45;
  transition: color 150ms ease, border-color 150ms ease, background 150ms ease;
}
.toc-sidebar .toc-list a:hover {
  color: #2D5016;
  border-left-color: #A7B89A;
}
.toc-sidebar .toc-list a.is-active {
  color: #2D5016;
  border-left-color: #2D5016;
  font-weight: 600;
}
.toc-sidebar .toc-num {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #5C5C56;
  padding-top: 0.1em;
  font-variant-numeric: tabular-nums;
}
.toc-sidebar .toc-list a:hover .toc-num,
.toc-sidebar .toc-list a.is-active .toc-num { color: #2D5016; }

/* ---------- Pagination (blog index + archive) ------------------------------ */
.pagination .nav-links,
nav.pagination .nav-links {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
  justify-content: center;
}
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border-radius: 0.625rem;
  border: 1px solid #E4DCCB;
  background: #FFFFFF;
  color: #234011;
  font-weight: 600;
  font-size: 0.9375rem;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}
.pagination .page-numbers:hover {
  border-color: #2D5016;
  color: #2D5016;
  box-shadow: 0 6px 16px -8px rgba(45, 80, 22, 0.4);
}
.pagination .page-numbers.current {
  background: #2D5016;
  border-color: #2D5016;
  color: #FFFFFF;
  box-shadow: 0 6px 16px -8px rgba(45, 80, 22, 0.55);
}
.pagination .page-numbers.dots {
  border: none;
  background: transparent;
  color: #5C5C56;
  cursor: default;
}
.pagination .page-numbers.dots:hover { box-shadow: none; }

/* Primary-nav styling (desktop + mobile) and current-page indicator. */
/* Mega panels anchor to the site header, not the individual trigger <li>,
   so the panel stays centered on the page regardless of where "Services"
   sits inside the nav and never drifts off-screen. */
:root { --mw-header-h: 4.5rem; }
@media (min-width: 1024px) {
  :root { --mw-header-h: 5.5rem; }
}
[data-site-header] {
  position: sticky;
  top: 0;
  z-index: 40;
  transition: box-shadow 200ms ease, background-color 300ms ease;
  will-change: box-shadow, background-color;
}
/* Transparent-at-top: let the green hero sit *underneath* the header by pulling
   the main content up the height of the header, then padding the first hero so
   its content clears the overlaid bar. The header still sticks + flips to white
   on scroll. */
[data-site-header] + main {
  margin-top: calc(-1 * var(--mw-header-h));
}
[data-site-header] + main > .hero-ink:first-child,
[data-site-header] + main > section:first-child {
  padding-top: var(--mw-header-h);
}
/* At top of page: header is transparent over the green hero (white text/logo).
   On scroll: it flips to a solid white bar with dark nav text + soft shadow. */
[data-site-header][data-scrolled] {
  background: #ffffff;
  box-shadow: 0 10px 28px -16px rgba(0, 55, 0, 0.28),
              0 1px 0 rgba(0, 0, 0, 0.04);
}
/* White-state child overrides */
[data-site-header][data-scrolled] .logo-on-dark { filter: none; }
[data-site-header][data-scrolled] .nav-primary-desktop .nav-link {
  color: #2B2B28; /* brand-ink */
}
[data-site-header][data-scrolled] .nav-primary-desktop .nav-link:hover,
[data-site-header][data-scrolled] .nav-primary-desktop .nav-link:focus-visible,
[data-site-header][data-scrolled] .nav-primary-desktop .current-menu-item > .nav-link,
[data-site-header][data-scrolled] .nav-primary-desktop .current-menu-ancestor > .nav-link,
[data-site-header][data-scrolled] .nav-primary-desktop .has-mega[data-open="true"] > .nav-link {
  color: #2D5016; /* brand-primary */
}
[data-site-header][data-scrolled] .nav-primary-desktop .nav-link::after {
  background: #2D5016; /* green underline in white state */
}
[data-site-header][data-scrolled] .nav-primary-desktop .nav-link:focus-visible {
  box-shadow: 0 0 0 2px rgba(45, 80, 22, 0.4);
}
/* Phone link + mobile burger flip to dark in the white state */
[data-site-header][data-scrolled] [data-action="call-now"] {
  color: rgba(43, 43, 40, 0.7);
}
[data-site-header][data-scrolled] [data-action="call-now"]:hover {
  color: #2B2B28;
}
[data-site-header][data-scrolled] [data-menu-toggle] {
  color: #2B2B28;
}
[data-site-header][data-scrolled] [data-menu-toggle]:hover {
  background: rgba(45, 80, 22, 0.08);
}

/* Member Login button — outline/secondary accent for EXISTING members,
   sitting next to "Book a visit". Must stay legible in BOTH header states:
   transparent over the green hero (white outline + white text) and the
   white scrolled bar (green outline + green text). */
[data-member-login] {
  border-color: rgba(255, 255, 255, 0.65);
  color: #ffffff;
}
[data-member-login]:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.9);
}
[data-member-login]:focus-visible {
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3);
}
[data-site-header][data-scrolled] [data-member-login] {
  border-color: #2D5016; /* brand-primary */
  color: #2D5016;
}
[data-site-header][data-scrolled] [data-member-login]:hover {
  background: rgba(45, 80, 22, 0.08);
  border-color: #2D5016;
}
[data-site-header][data-scrolled] [data-member-login]:focus-visible {
  box-shadow: 0 0 0 4px rgba(45, 80, 22, 0.3);
}

.nav-primary-desktop { position: static; }
.nav-primary-desktop > li { position: static; }
.nav-primary-desktop .nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: rgba(255, 255, 255, 0.82);
  transition: color 0.2s ease;
  /* Button reset — top-level mega triggers are <button> elements. */
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
}
.nav-primary-desktop button.nav-link { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.nav-primary-desktop .nav-link:hover,
.nav-primary-desktop .nav-link:focus-visible {
  color: #ffffff;
  outline: none;
}
.nav-primary-desktop .nav-link:focus-visible {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
  border-radius: 4px;
}
/* Active underline, animates in */
.nav-primary-desktop .nav-link::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 2px;
  background: #ffffff;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
}
.nav-primary-desktop .nav-link:hover::after,
.nav-primary-desktop .current-menu-item > .nav-link::after,
.nav-primary-desktop .current-menu-ancestor > .nav-link::after,
.nav-primary-desktop .has-mega[data-open="true"] > .nav-link::after {
  transform: scaleX(1);
}
.nav-primary-desktop .current-menu-item > .nav-link,
.nav-primary-desktop .current-menu-ancestor > .nav-link,
.nav-primary-desktop .has-mega[data-open="true"] > .nav-link { color: #ffffff; }

/* ---------- Mega dropdowns (desktop, click-to-open) ---------- */
.nav-primary-desktop .has-mega .mega-caret {
  opacity: 0.75;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.nav-primary-desktop .has-mega[data-open="true"] .mega-caret {
  transform: rotate(180deg);
  opacity: 1;
}

.nav-primary-desktop .mega-panel {
  position: absolute;
  top: 100%;
  left: 50%;
  /* Clamp the panel to the site container width (1200px max, 1rem gutter on each
     side), so its edges line up with other page content instead of floating
     at an arbitrary width under the trigger. */
  width: min(900px, calc(100vw - 2rem));
  max-width: 1136px;
  /* Panel sits flush against the nav row — no gap between the trigger and
     the dropdown. A tiny translateY is used purely for the fade-in animation. */
  transform: translateX(-50%) translateY(4px);
  background: #ffffff;
  color: #003700;
  border-radius: 16px;
  box-shadow: 0 24px 60px -18px rgba(0, 55, 0, 0.35),
              0 8px 24px -12px rgba(0, 55, 0, 0.18);
  padding: 0.75rem;
  margin-top: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 50;
}
.nav-primary-desktop .has-mega[data-open="true"] .mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.nav-primary-desktop .mega-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  /* Rows auto-size to the tallest cell, so wrapping labels don't break row
     rhythm between columns. Tight gap — the item padding + hover rect does
     the visual spacing work. */
  grid-auto-rows: minmax(44px, auto);
  gap: 2px;
}
.nav-primary-desktop .mega-grid > li { margin: 0; display: flex; }
.nav-primary-desktop .mega-grid a {
  position: static;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  width: 100%;
  padding: 0.625rem 0.875rem;
  border-radius: 10px;
  font-size: 0.875rem;
  line-height: 1.35;
  color: #234011;
  font-weight: 500;
  white-space: normal;
  transition: background 0.15s ease, color 0.15s ease;
}
.nav-primary-desktop .mega-grid a::after { content: none; }
.nav-primary-desktop .mega-grid a:hover,
.nav-primary-desktop .mega-grid a:focus-visible {
  background: #EEF3E9;
  color: #2D5016;
  outline: none;
  box-shadow: none;
}
.nav-primary-desktop .mega-grid a.is-current {
  background: #EEF3E9;
  color: #2D5016;
  font-weight: 600;
}

/* Dropdown footer — the one way into the parent landing page. */
.nav-primary-desktop .mega-foot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0.625rem 0.5rem 0.25rem;
  padding: 0.5rem 0.875rem;
  border-radius: 10px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #2D5016;
  text-decoration: none;
  transition: gap 0.2s ease, background 0.15s ease, color 0.15s ease;
}
.nav-primary-desktop .mega-foot:hover,
.nav-primary-desktop .mega-foot:focus-visible {
  background: #EEF3E9;
  color: #13300A;
  outline: none;
  gap: 10px;
}
.nav-primary-desktop .mega-foot::after { content: none; }

/* Mobile drawer */
.nav-primary-mobile a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0.25rem;
  color: rgba(255, 255, 255, 0.88);
  min-height: 48px; /* tap target */
}
.nav-primary-mobile a:hover { color: #ffffff; }
.nav-primary-mobile a::after {
  content: '›';
  color: rgba(255, 255, 255, 0.35);
  font-size: 1.25rem;
  line-height: 1;
  padding-left: 0.75rem;
}
.nav-primary-mobile .current-menu-item > a {
  color: #ffffff;
  font-weight: 600;
}
.nav-primary-mobile .current-menu-item > a::before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 18px;
  margin-right: 0.75rem;
  background: #67A030;
  border-radius: 2px;
}

/* Mobile: parent submenu trigger is a full-width button that toggles the list. */
.nav-primary-mobile .submenu-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  padding: 1rem 0.25rem;
  color: rgba(255, 255, 255, 0.88);
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 500;
  text-align: left;
  min-height: 48px;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s ease, color 0.15s ease;
}
.nav-primary-mobile .submenu-toggle:hover,
.nav-primary-mobile .submenu-toggle:focus-visible {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
  outline: none;
}
.nav-primary-mobile .submenu-toggle svg {
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.6);
  transition: transform 0.2s ease, color 0.15s ease;
}
.nav-primary-mobile .submenu-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
  color: #ffffff;
}
.nav-primary-mobile .submenu-list {
  list-style: none;
  margin: 0;
  padding: 0 0 0.5rem 0.75rem;
  border-left: 2px solid rgba(255, 255, 255, 0.08);
  margin-left: 0.25rem;
}
.nav-primary-mobile .submenu-list > li { border: none; }
.nav-primary-mobile .submenu-list a {
  padding: 0.625rem 0.5rem;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.78);
  min-height: 40px;
}
.nav-primary-mobile .submenu-list a::after { content: none; }
.nav-primary-mobile .submenu-list a:hover { color: #ffffff; }
.nav-primary-mobile .submenu-list .submenu-foot {
  margin-top: 0.25rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.nav-primary-mobile .submenu-list .submenu-foot a {
  color: #67A030;
  font-weight: 600;
}
.nav-primary-mobile .submenu-list .submenu-foot a:hover { color: #ffffff; }

/* Global: sharpen focus-visible across all links that don't opt out */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #2D5016;
  outline-offset: 2px;
  border-radius: 4px;
}
/* Skip elements that already style their own rings */
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
[data-menu-toggle]:focus-visible,
.nav-primary-desktop a:focus-visible {
  outline: none;
}

/* ---------- Gallery lightbox ---------- */
.lightbox-dialog {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
}
.lightbox-dialog::backdrop {
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(4px);
}
.lightbox-dialog[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox-figure {
  margin: 0;
  padding: 1.5rem;
  max-width: min(96vw, 1400px);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.lightbox-figure img {
  max-width: 100%;
  max-height: 78vh;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
  background: #1a1a1a;
}
.lightbox-figure figcaption {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.875rem;
  text-align: center;
  max-width: 56ch;
  line-height: 1.5;
}
.lightbox-figure figcaption[hidden] { display: none; }
.lightbox-close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.95);
  color: #003700;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  border: 0;
  cursor: pointer;
  transition: background 0.15s ease;
}
.lightbox-close:hover { background: #ffffff; }
.lightbox-close:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
.group:hover .group-hover\:icon-badge-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 8px 24px -10px rgba(45, 80, 22, 0.35), 0 3px 8px -4px rgba(45, 80, 22, 0.20);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: #2D5016;
  --tw-shadow: var(--tw-shadow-colored);
}
.placeholder\:text-brand-ink\/40::-moz-placeholder {
  color: rgb(43 43 40 / 0.4);
}
.placeholder\:text-brand-ink\/40::placeholder {
  color: rgb(43 43 40 / 0.4);
}
.first\:border-t-0:first-child {
  border-top-width: 0px;
}
.first\:pt-0:first-child {
  padding-top: 0px;
}
.hover\:h-2:hover {
  height: 0.5rem;
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.03\]:hover {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.06\]:hover {
  --tw-scale-x: 1.06;
  --tw-scale-y: 1.06;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:gap-2\.5:hover {
  gap: 0.625rem;
}
.hover\:border-brand-primary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(45 80 22 / var(--tw-border-opacity, 1));
}
.hover\:border-brand-primary\/30:hover {
  border-color: rgb(45 80 22 / 0.3);
}
.hover\:border-white:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.hover\:bg-brand-accent-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(82 127 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-gold-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 181 32 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-highlight:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(192 133 82 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-primary-50\/40:hover {
  background-color: rgb(238 243 233 / 0.4);
}
.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/15:hover {
  background-color: rgb(255 255 255 / 0.15);
}
.hover\:text-brand-accent:hover {
  --tw-text-opacity: 1;
  color: rgb(103 160 48 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-ink:hover {
  --tw-text-opacity: 1;
  color: rgb(43 43 40 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-primary:hover {
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-primary-600:hover {
  --tw-text-opacity: 1;
  color: rgb(35 64 17 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:no-underline:hover {
  text-decoration-line: none;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:shadow-brand:hover {
  --tw-shadow: 0 4px 16px -6px rgba(43, 43, 40, 0.10), 0 1px 4px -2px rgba(43, 43, 40, 0.05);
  --tw-shadow-colored: 0 4px 16px -6px var(--tw-shadow-color), 0 1px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-brand-gold-lg:hover {
  --tw-shadow: 0 18px 44px -14px rgba(224, 181, 32, 0.34), 0 6px 16px -8px rgba(224, 181, 32, 0.18);
  --tw-shadow-colored: 0 18px 44px -14px var(--tw-shadow-color), 0 6px 16px -8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-brand-lg:hover {
  --tw-shadow: 0 12px 28px -12px rgba(43, 43, 40, 0.14), 0 4px 10px -6px rgba(43, 43, 40, 0.07);
  --tw-shadow-colored: 0 12px 28px -12px var(--tw-shadow-color), 0 4px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-brand-primary:hover {
  --tw-shadow: 0 8px 24px -10px rgba(45, 80, 22, 0.35), 0 3px 8px -4px rgba(45, 80, 22, 0.20);
  --tw-shadow-colored: 0 8px 24px -10px var(--tw-shadow-color), 0 3px 8px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-brand-sm:hover {
  --tw-shadow: 0 1px 4px -1px rgba(43, 43, 40, 0.06);
  --tw-shadow-colored: 0 1px 4px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-brand-primary:hover {
  --tw-shadow-color: #2D5016;
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:ring-brand-primary-200\/60:hover {
  --tw-ring-color: rgb(174 199 154 / 0.6);
}
.hover\:ring-brand-primary\/40:hover {
  --tw-ring-color: rgb(45 80 22 / 0.4);
}
.focus\:not-sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.focus\:absolute:focus {
  position: absolute;
}
.focus\:left-2:focus {
  left: 0.5rem;
}
.focus\:top-2:focus {
  top: 0.5rem;
}
.focus\:border-brand-primary:focus {
  --tw-border-opacity: 1;
  border-color: rgb(45 80 22 / var(--tw-border-opacity, 1));
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-4:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-brand-primary:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(45 80 22 / var(--tw-ring-opacity, 1));
}
.focus\:ring-brand-primary\/15:focus {
  --tw-ring-color: rgb(45 80 22 / 0.15);
}
.focus\:ring-white\/70:focus {
  --tw-ring-color: rgb(255 255 255 / 0.7);
}
.focus\:ring-white\/80:focus {
  --tw-ring-color: rgb(255 255 255 / 0.8);
}
.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-4:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-brand-gold\/40:focus-visible {
  --tw-ring-color: rgb(242 203 60 / 0.4);
}
.focus-visible\:ring-brand-gold\/50:focus-visible {
  --tw-ring-color: rgb(242 203 60 / 0.5);
}
.focus-visible\:ring-brand-primary:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(45 80 22 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-brand-primary\/25:focus-visible {
  --tw-ring-color: rgb(45 80 22 / 0.25);
}
.focus-visible\:ring-white\/30:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.3);
}
.focus-visible\:ring-white\/40:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.4);
}
.focus-visible\:ring-white\/50:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.5);
}
.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}
.group[open] .group-open\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[open] .group-open\:bg-brand-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
}
.group[open] .group-open\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-\[1\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-\[1\.04\] {
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:gap-2\.5 {
  gap: 0.625rem;
}
.group:hover .group-hover\:gap-3 {
  gap: 0.75rem;
}
.group:hover .group-hover\:bg-brand-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(45 80 22 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:text-brand-primary {
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:opacity-40 {
  opacity: 0.4;
}
@media (min-width: 640px) {

  .sm\:mt-14 {
    margin-top: 3.5rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:h-8 {
    height: 2rem;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-5 {
    gap: 1.25rem;
  }

  .sm\:gap-x-12 {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }

  .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  .sm\:p-10 {
    padding: 2.5rem;
  }

  .sm\:p-7 {
    padding: 1.75rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sm\:pb-16 {
    padding-bottom: 4rem;
  }

  .sm\:pt-20 {
    padding-top: 5rem;
  }

  .sm\:text-right {
    text-align: right;
  }
}
@media (min-width: 768px) {

  .md\:block {
    display: block;
  }

  .md\:hidden {
    display: none;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {

  .lg\:sticky {
    position: sticky;
  }

  .lg\:left-8 {
    left: 2rem;
  }

  .lg\:right-8 {
    right: 2rem;
  }

  .lg\:top-24 {
    top: 6rem;
  }

  .lg\:order-last {
    order: 9999;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .lg\:col-span-5 {
    grid-column: span 5 / span 5;
  }

  .lg\:col-span-7 {
    grid-column: span 7 / span 7;
  }

  .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }

  .lg\:-my-4 {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }

  .lg\:\!mb-10 {
    margin-bottom: 2.5rem !important;
  }

  .lg\:-mt-16 {
    margin-top: -4rem;
  }

  .lg\:mb-10 {
    margin-bottom: 2.5rem;
  }

  .lg\:mb-11 {
    margin-bottom: 2.75rem;
  }

  .lg\:mb-12 {
    margin-bottom: 3rem;
  }

  .lg\:mb-14 {
    margin-bottom: 3.5rem;
  }

  .lg\:mb-16 {
    margin-bottom: 4rem;
  }

  .lg\:mt-16 {
    margin-top: 4rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:aspect-\[4\/3\] {
    aspect-ratio: 4/3;
  }

  .lg\:aspect-auto {
    aspect-ratio: auto;
  }

  .lg\:h-12 {
    height: 3rem;
  }

  .lg\:h-20 {
    height: 5rem;
  }

  .lg\:h-52 {
    height: 13rem;
  }

  .lg\:h-auto {
    height: auto;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:w-20 {
    width: 5rem;
  }

  .lg\:w-52 {
    width: 13rem;
  }

  .lg\:scale-\[1\.03\] {
    --tw-scale-x: 1.03;
    --tw-scale-y: 1.03;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[0\.95fr_1\.05fr\] {
    grid-template-columns: 0.95fr 1.05fr;
  }

  .lg\:grid-cols-\[1\.05fr_1fr\] {
    grid-template-columns: 1.05fr 1fr;
  }

  .lg\:grid-cols-\[1\.15fr_1fr\] {
    grid-template-columns: 1.15fr 1fr;
  }

  .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    grid-template-columns: 1.1fr 0.9fr;
  }

  .lg\:grid-cols-\[1\.4fr_1fr_1fr_1\.2fr\] {
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_260px\] {
    grid-template-columns: minmax(0,1fr) 260px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.2fr\)\] {
    grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:justify-end {
    justify-content: flex-end;
  }

  .lg\:gap-10 {
    gap: 2.5rem;
  }

  .lg\:gap-12 {
    gap: 3rem;
  }

  .lg\:gap-14 {
    gap: 3.5rem;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-6 {
    gap: 1.5rem;
  }

  .lg\:gap-x-16 {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }

  .lg\:space-y-14 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
  }

  .lg\:space-y-24 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(6rem * var(--tw-space-y-reverse));
  }

  .lg\:justify-self-end {
    justify-self: end;
  }

  .lg\:border-r {
    border-right-width: 1px;
  }

  .lg\:border-white\/15 {
    border-color: rgb(255 255 255 / 0.15);
  }

  .lg\:p-10 {
    padding: 2.5rem;
  }

  .lg\:p-12 {
    padding: 3rem;
  }

  .lg\:p-14 {
    padding: 3.5rem;
  }

  .lg\:p-7 {
    padding: 1.75rem;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .lg\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .lg\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .lg\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .lg\:py-28 {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .lg\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .lg\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .lg\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .lg\:pb-20 {
    padding-bottom: 5rem;
  }

  .lg\:pb-7 {
    padding-bottom: 1.75rem;
  }

  .lg\:pr-12 {
    padding-right: 3rem;
  }

  .lg\:pt-10 {
    padding-top: 2.5rem;
  }

  .lg\:pt-12 {
    padding-top: 3rem;
  }

  .lg\:pt-14 {
    padding-top: 3.5rem;
  }

  .lg\:pt-24 {
    padding-top: 6rem;
  }

  .lg\:pt-4 {
    padding-top: 1rem;
  }

  .lg\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }

  .lg\:text-\[2\.125rem\] {
    font-size: 2.125rem;
  }

  .lg\:text-\[2\.25rem\] {
    font-size: 2.25rem;
  }

  .lg\:text-\[2\.5rem\] {
    font-size: 2.5rem;
  }

  .lg\:text-\[2rem\] {
    font-size: 2rem;
  }

  .lg\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .lg\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 1280px) {

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.\[\&_a\:hover\]\:text-brand-primary a:hover {
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.\[\&_a\]\:text-brand-primary a {
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.\[\&_a\]\:underline a {
  text-decoration-line: underline;
}
.\[\&_a\]\:transition a {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.hover\:\[\&_a\]\:text-brand-primary a:hover {
  --tw-text-opacity: 1;
  color: rgb(45 80 22 / var(--tw-text-opacity, 1));
}
.\[\&_svg\]\:h-full svg {
  height: 100%;
}
.\[\&_svg\]\:w-auto svg {
  width: auto;
}
