*, ::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: Hanken Grotesk, 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(248 246 240 / var(--tw-bg-opacity, 1));
  font-family: Hanken Grotesk, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(33 31 38 / 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-weight: 700; color: inherit;
}
  h1, h2 {
  font-family: Fraunces, ui-serif, Georgia, Cambria, Times New Roman, serif; font-weight: 600; letter-spacing: -0.01em;
}
  h3, h4 {
  font-family: Hanken Grotesk, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
}
  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 */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(198 161 91 / 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(26 24 28 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 10px 30px -10px rgba(198, 161, 91, 0.45), 0 4px 12px -4px rgba(198, 161, 91, 0.25);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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: #C6A15B;
  --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(169 133 63 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 24px 60px -12px rgba(198, 161, 91, 0.40), 0 8px 24px -8px rgba(198, 161, 91, 0.18);
  --tw-shadow-colored: 0 24px 60px -12px var(--tw-shadow-color), 0 8px 24px -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(198 161 91 / 0.3);
}
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  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(26 24 28 / 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: 0.5rem;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(198 161 91 / 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(198 161 91 / 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(198 161 91 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(26 24 28 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  --tw-shadow: 0 10px 30px -10px rgba(198, 161, 91, 0.45), 0 4px 12px -4px rgba(198, 161, 91, 0.25);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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: #C6A15B;
  --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(198 161 91 / 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(198 161 91 / 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: #5E4A20;
  }
/* 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 chip — a designed badge: tinted pill, ring, and a leading rule.
     Reads as a deliberate component on both light and dark surfaces. */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(250 246 236 / var(--tw-bg-opacity, 1));
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.875rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  --tw-text-opacity: 1;
  color: rgb(135 105 47 / var(--tw-text-opacity, 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);
  --tw-ring-color: rgb(232 214 172 / 0.7);
}
.eyebrow::before {
    content: '';
    display: block;
    height: 1px;
    width: 1.25rem;
    background-color: rgb(198 161 91 / 0.7);
  }
.eyebrow.eyebrow-on-dark {
  background-color: rgb(255 255 255 / 0.08);
  --tw-text-opacity: 1;
  color: rgb(243 234 211 / var(--tw-text-opacity, 1));
  --tw-ring-color: rgb(255 255 255 / 0.15);
  --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);
}
.eyebrow.eyebrow-on-dark::before {
  --tw-bg-opacity: 1;
  background-color: rgb(220 193 132 / var(--tw-bg-opacity, 1));
}
.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-family: Fraunces, ui-serif, Georgia, Cambria, Times New Roman, serif;
  font-weight: 600;
  line-height: 1.12;
  --tw-text-opacity: 1;
  color: rgb(26 24 28 / 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(26 24 28 / 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(198 161 91 / var(--tw-bg-opacity, 1));
}
/* Hero-specific background layers — layered depth: fine grid texture, a
     left-anchored light pool behind the headline, a warm primary glow on the
     image side, and an edge vignette so the field reads sculpted, not flat. */
.hero-ink {
  position: relative;
  overflow: hidden;
  background-image: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(198, 161, 91, 0.22) 0%, rgba(198, 161, 91, 0) 60%), linear-gradient(180deg, #1B1920 0%, #0E0D12 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:
      radial-gradient(58% 80% at 12% 18%, rgba(198, 161, 91, 0.26) 0%, rgba(198, 161, 91, 0) 62%),
      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.05' stroke-width='1'/></svg>");
    pointer-events: none;
  }
.hero-ink::after {
    content: '';
    position: absolute; inset: 0;
    background:
      radial-gradient(60% 65% at 88% 12%, rgba(198, 161, 91, 0.30) 0%, rgba(198, 161, 91, 0) 60%),
      radial-gradient(120% 120% at 50% 0%, rgba(0, 0, 0, 0) 55%, rgba(10, 9, 12, 0.45) 100%);
    pointer-events: none;
  }
/* ---- Sticky / overlay site header -------------------------------------
     Non-overlay pages: solid white sticky bar; a soft shadow appears on scroll.
     Overlay pages (page opens with a full-bleed cover hero): the nav floats
     transparent over the hero, then materialises into a solid white bar once
     the user scrolls past the hero top. */
.site-header[data-scrolled]:not([data-overlay]) {
  --tw-shadow: 0 6px 24px -12px rgba(18,17,20,0.28);
  --tw-shadow-colored: 0 6px 24px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* Overlay pages float the nav over the hero. A pre-existing
     [data-site-header]{position:sticky} rule would otherwise win on source
     order and drop the bar into flow (white band above the hero) — this higher
     specificity rule keeps it fixed and edge-to-edge. */
.site-header[data-overlay] {
    position: fixed;
    top: 0; left: 0; right: 0;
  }
/* Overlay, at the top of the hero — transparent, light-on-dark */
.site-header[data-overlay]:not([data-scrolled]) {
    background: transparent;
    color: #fff;
  }
.site-header[data-overlay]:not([data-scrolled]) .site-logo { filter: brightness(0) invert(1); }
.site-header[data-overlay]:not([data-scrolled]) .nav-primary-desktop .nav-link,
  .site-header[data-overlay]:not([data-scrolled]) [data-action="call-now"],
  .site-header[data-overlay]:not([data-scrolled]) [data-menu-toggle] { color: #fff; }
.site-header[data-overlay]:not([data-scrolled]) .nav-primary-desktop .nav-link::after { background-color: #fff; }
/* Overlay, scrolled — solidify into a bold white bar */
.site-header[data-overlay][data-scrolled] {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(228 221 204 / 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(26 24 28 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 6px 24px -12px rgba(18,17,20,0.28);
  --tw-shadow-colored: 0 6px 24px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
/* ---- Full-bleed cinematic cover hero ---------------------------------- */
.hero-cover {
    min-height: 100svh;
  }
.hero-cover__img {
    transform-origin: 65% 45%;
    animation: hero-kenburns 24s ease-in-out infinite alternate;
    will-change: transform;
  }
/* Deep-blue legibility scrim: strongest at the headline (left) + a floor
     gradient so white text and CTAs always clear AA over the photo. */
.hero-cover__scrim {
    background:
      linear-gradient(90deg, rgba(18,17,20,0.86) 0%, rgba(18,17,20,0.55) 42%, rgba(18,17,20,0.12) 78%, rgba(18,17,20,0) 100%),
      linear-gradient(0deg, rgba(10,9,12,0.62) 0%, rgba(10,9,12,0.10) 40%, rgba(10,9,12,0) 62%),
      radial-gradient(120% 90% at 20% 90%, rgba(18,17,20,0.35) 0%, rgba(18,17,20,0) 60%);
  }
/* Centered composition: darken top+bottom + a soft central vignette so the
     centered white headline/CTAs clear AA over any photo. Overrides the base
     left-weighted scrim (declared later → wins). */
.hero-cover__scrim--center {
    background:
      linear-gradient(180deg, rgba(10,9,12,0.58) 0%, rgba(10,9,12,0.24) 34%, rgba(10,9,12,0.42) 72%, rgba(10,9,12,0.72) 100%),
      radial-gradient(75% 68% at 50% 48%, rgba(18,17,20,0.52) 0%, rgba(18,17,20,0.12) 70%, rgba(18,17,20,0) 100%);
  }
.hero-cover__cue-dot { animation: hero-cue 1.8s ease-in-out infinite; }
@keyframes hero-kenburns {
    from { transform: scale(1.02) translate3d(0,0,0); }
    to   { transform: scale(1.12) translate3d(-1.5%, -1.5%, 0); }
  }
@keyframes hero-cue {
    0%,100% { transform: translateY(0); opacity: 0.9; }
    50%     { transform: translateY(6px); opacity: 0.35; }
  }
@media (prefers-reduced-motion: reduce) {
    .hero-cover__img { animation: none; transform: scale(1.04); }
    .hero-cover__cue-dot { animation: none; }
  }
/* Section with soft primary background wash */
.section-soft {
  position: relative;
  --tw-bg-opacity: 1;
  background-color: rgb(239 235 225 / var(--tw-bg-opacity, 1));
}
.section-soft::before {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(60% 60% at 10% 0%, rgba(198, 161, 91,0.06) 0%, rgba(198, 161, 91,0) 70%);
    pointer-events: none;
  }
.section-soft > * { position: relative; }
/* Card base styles */
.card-surface {
  border-radius: 1rem;
  border-width: 1px;
  border-color: rgb(214 205 182 / 0.7);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 6px 24px -6px rgba(59, 57, 55, 0.12), 0 2px 6px -2px rgba(59, 57, 55, 0.06);
  --tw-shadow-colored: 0 6px 24px -6px var(--tw-shadow-color), 0 2px 6px -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);
    /* Layered hairline: crisp top highlight + warm inset edge so the card
       reads as a distinct object on cream, not a pale ghost. */
    box-shadow:
      0 1px 0 0 rgba(255, 255, 255, 0.9) inset,
      0 1px 2px 0 rgba(59, 57, 55, 0.05),
      0 8px 22px -10px rgba(59, 57, 55, 0.16),
      0 18px 40px -22px rgba(0, 71, 113, 0.18);
}
.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.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));
  border-color: rgb(198 161 91 / 0.4);
    box-shadow:
      0 1px 0 0 rgba(255, 255, 255, 0.9) inset,
      0 2px 4px 0 rgba(59, 57, 55, 0.06),
      0 16px 34px -12px rgba(59, 57, 55, 0.22),
      0 28px 56px -20px rgba(0, 71, 113, 0.26);
}
/* ---------- 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: #3b3937;
    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(59, 57, 55, 0.18),
      6px 12px 30px rgba(59, 57, 55, 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(59, 57, 55, 0.22),
      14px 22px 44px rgba(59, 57, 55, 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, #3b3937 0%, #5A5550 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,
        #EEEADD 1px 2px
      );
    border-radius: 0 3px 3px 0;
    box-shadow: 1px 0 2px rgba(59, 57, 55, 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, #EEEADD 0%, #E2DCC9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #87692F;
    font-weight: 700;
    letter-spacing: 0.14em;
    font-size: 0.75rem;
    text-transform: uppercase;
    z-index: 1;
    box-shadow: inset 2px 0 4px rgba(59, 57, 55, 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, #D5CDB5 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);
  }
/* Line-icon draw-on animation (inc/icons.php → .wdc-icon). Paths use
     pathLength="1" so one dasharray value works for every shape. Icons draw in
     when their [data-reveal] badge enters view, and re-draw on card hover. */
.wdc-icon path, .wdc-icon circle, .wdc-icon rect,
  .wdc-icon line, .wdc-icon polyline, .wdc-icon polygon {
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
  }
[data-reveal]:not(.is-revealed) .wdc-icon--draw path,
  [data-reveal]:not(.is-revealed) .wdc-icon--draw circle,
  [data-reveal]:not(.is-revealed) .wdc-icon--draw rect,
  [data-reveal]:not(.is-revealed) .wdc-icon--draw line,
  [data-reveal]:not(.is-revealed) .wdc-icon--draw polyline,
  [data-reveal]:not(.is-revealed) .wdc-icon--draw polygon {
    stroke-dashoffset: 1;
  }
.wdc-icon--draw path, .wdc-icon--draw circle, .wdc-icon--draw rect,
  .wdc-icon--draw line, .wdc-icon--draw polyline, .wdc-icon--draw polygon {
    transition: stroke-dashoffset 900ms ease;
    transition-delay: var(--reveal-delay, 120ms);
  }
.group:hover .wdc-icon--draw path,
  .group:hover .wdc-icon--draw circle {
    animation: wdc-icon-draw 900ms ease;
  }
@keyframes wdc-icon-draw {
    from { stroke-dashoffset: 1; }
    to   { stroke-dashoffset: 0; }
  }
@media (prefers-reduced-motion: reduce) {
    .wdc-icon--draw path, .wdc-icon--draw circle, .wdc-icon--draw rect,
    .wdc-icon--draw line, .wdc-icon--draw polyline, .wdc-icon--draw polygon {
      stroke-dashoffset: 0 !important;
      animation: none !important;
    }
  }
/* Service slider (service-slider.php) — horizontal scroll-snap carousel. */
.wdc-slider-track {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.25rem 0.25rem 0.75rem;
    margin: -0.25rem -0.25rem 0;
  }
.wdc-slider-track::-webkit-scrollbar { display: none; }
.wdc-slide {
    scroll-snap-align: start;
    flex: 0 0 84%;
  }
@media (min-width: 640px)  { .wdc-slide { flex-basis: 46%; } }
@media (min-width: 1024px) { .wdc-slide { flex-basis: 31.5%; } }
.wdc-slider-dot {
    width: 8px; height: 8px; border-radius: 9999px;
    background: #DCD5C6; border: 0; cursor: pointer; padding: 0;
    transition: width .25s ease, background-color .25s ease;
  }
.wdc-slider-dot.is-active { width: 22px; background: #C6A15B; }
/* Location map (location-map.php) — warm, muted tone to fit the black&gold
     palette; reveals full colour on hover/focus. */
.wdc-map iframe {
    filter: grayscale(0.28) sepia(0.14) contrast(1.03) brightness(0.98) saturate(0.9);
    transition: filter 0.6s ease;
  }
.wdc-map:hover iframe,
  .wdc-map:focus-within iframe {
    filter: none;
  }
@media (prefers-reduced-motion: reduce) {
    .wdc-map iframe { transition: none; }
    .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: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(250 246 236 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(169 133 63 / var(--tw-text-opacity, 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);
  --tw-ring-color: rgb(232 214 172 / 0.6);
}
.icon-badge-lg {
  display: inline-flex;
  height: 3.5rem;
  width: 3.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(250 246 236 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(169 133 63 / var(--tw-text-opacity, 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);
  --tw-ring-color: rgb(232 214 172 / 0.6);
}
.icon-badge-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(198 161 91 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 10px 30px -10px rgba(198, 161, 91, 0.45), 0 4px 12px -4px rgba(198, 161, 91, 0.25);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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: #C6A15B;
  --tw-shadow: var(--tw-shadow-colored);
  --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(0px + 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);
}
/* 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(251 247 236 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(203 176 106 / 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: 1rem;
  background-image: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(198, 161, 91, 0.22) 0%, rgba(198, 161, 91, 0) 60%), linear-gradient(180deg, #1B1920 0%, #0E0D12 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 10px 30px -10px rgba(198, 161, 91, 0.45), 0 4px 12px -4px rgba(198, 161, 91, 0.25);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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: #C6A15B;
  --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-24 {
  bottom: -6rem;
}
.-bottom-3 {
  bottom: -0.75rem;
}
.-bottom-4 {
  bottom: -1rem;
}
.-bottom-5 {
  bottom: -1.25rem;
}
.-bottom-6 {
  bottom: -1.5rem;
}
.-left-24 {
  left: -6rem;
}
.-left-3 {
  left: -0.75rem;
}
.-left-4 {
  left: -1rem;
}
.-left-5 {
  left: -1.25rem;
}
.-right-16 {
  right: -4rem;
}
.-right-24 {
  right: -6rem;
}
.-right-3 {
  right: -0.75rem;
}
.-right-4 {
  right: -1rem;
}
.-right-5 {
  right: -1.25rem;
}
.-right-6 {
  right: -1.5rem;
}
.-top-16 {
  top: -4rem;
}
.-top-24 {
  top: -6rem;
}
.-top-3 {
  top: -0.75rem;
}
.-top-32 {
  top: -8rem;
}
.-top-4 {
  top: -1rem;
}
.-top-5 {
  top: -1.25rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-10 {
  bottom: 2.5rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-24 {
  bottom: 6rem;
}
.bottom-5 {
  bottom: 1.25rem;
}
.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-10 {
  right: 2.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-7 {
  right: 1.75rem;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-10 {
  top: 2.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-8 {
  top: 2rem;
}
.top-\[0\.06em\] {
  top: 0.06em;
}
.top-\[64px\] {
  top: 64px;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.z-10 {
  z-index: 10;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.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-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-0 {
  margin-bottom: 0px;
}
.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;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-\[0\.01em\] {
  margin-right: 0.01em;
}
.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-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-square {
  aspect-ratio: 1 / 1;
}
.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-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.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-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-\[36rem\] {
  height: 36rem;
}
.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-\[60vh\] {
  min-height: 60vh;
}
.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-28 {
  width: 7rem;
}
.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-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-\[36rem\] {
  width: 36rem;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[1\.4rem\] {
  min-width: 1.4rem;
}
.min-w-\[2rem\] {
  min-width: 2rem;
}
.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-\[10rem\] {
  max-width: 10rem;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.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-\[880px\] {
  max-width: 880px;
}
.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-none {
  flex: none;
}
.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));
}
.-translate-y-1\/2 {
  --tw-translate-y: -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));
}
.translate-x-full {
  --tw-translate-x: 100%;
  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;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize {
  resize: both;
}
.scroll-mt-24 {
  scroll-margin-top: 6rem;
}
.scroll-mt-32 {
  scroll-margin-top: 8rem;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.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-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.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-4 {
  row-gap: 1rem;
}
.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-muted-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(228 221 204 / var(--tw-divide-opacity, 1));
}
.divide-white\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.1);
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.break-words {
  overflow-wrap: break-word;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.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: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b-2xl {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.rounded-b-full {
  border-bottom-right-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.border {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.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(198 161 91 / var(--tw-border-opacity, 1));
}
.border-brand-ink\/20 {
  border-color: rgb(26 24 28 / 0.2);
}
.border-brand-muted {
  --tw-border-opacity: 1;
  border-color: rgb(239 235 225 / var(--tw-border-opacity, 1));
}
.border-brand-muted-200 {
  --tw-border-opacity: 1;
  border-color: rgb(228 221 204 / var(--tw-border-opacity, 1));
}
.border-brand-muted-300\/70 {
  border-color: rgb(214 205 182 / 0.7);
}
.border-brand-primary {
  --tw-border-opacity: 1;
  border-color: rgb(198 161 91 / var(--tw-border-opacity, 1));
}
.border-brand-primary\/20 {
  border-color: rgb(198 161 91 / 0.2);
}
.border-brand-primary\/25 {
  border-color: rgb(198 161 91 / 0.25);
}
.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\/40 {
  border-color: rgb(255 255 255 / 0.4);
}
.border-white\/70 {
  border-color: rgb(255 255 255 / 0.7);
}
.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(198 161 91 / var(--tw-bg-opacity, 1));
}
.bg-brand-accent-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 246 236 / var(--tw-bg-opacity, 1));
}
.bg-brand-accent\/15 {
  background-color: rgb(198 161 91 / 0.15);
}
.bg-brand-accent\/20 {
  background-color: rgb(198 161 91 / 0.2);
}
.bg-brand-bg {
  --tw-bg-opacity: 1;
  background-color: rgb(248 246 240 / var(--tw-bg-opacity, 1));
}
.bg-brand-highlight-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 247 236 / var(--tw-bg-opacity, 1));
}
.bg-brand-ink {
  --tw-bg-opacity: 1;
  background-color: rgb(26 24 28 / var(--tw-bg-opacity, 1));
}
.bg-brand-ink\/5 {
  background-color: rgb(26 24 28 / 0.05);
}
.bg-brand-ink\/50 {
  background-color: rgb(26 24 28 / 0.5);
}
.bg-brand-ink\/70 {
  background-color: rgb(26 24 28 / 0.7);
}
.bg-brand-muted {
  --tw-bg-opacity: 1;
  background-color: rgb(239 235 225 / var(--tw-bg-opacity, 1));
}
.bg-brand-muted-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(228 221 204 / var(--tw-bg-opacity, 1));
}
.bg-brand-muted-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(214 205 182 / var(--tw-bg-opacity, 1));
}
.bg-brand-muted\/40 {
  background-color: rgb(239 235 225 / 0.4);
}
.bg-brand-muted\/60 {
  background-color: rgb(239 235 225 / 0.6);
}
.bg-brand-muted\/70 {
  background-color: rgb(239 235 225 / 0.7);
}
.bg-brand-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(198 161 91 / var(--tw-bg-opacity, 1));
}
.bg-brand-primary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 246 236 / var(--tw-bg-opacity, 1));
}
.bg-brand-primary-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(94 74 32 / var(--tw-bg-opacity, 1));
}
.bg-brand-primary\/10 {
  background-color: rgb(198 161 91 / 0.1);
}
.bg-brand-primary\/15 {
  background-color: rgb(198 161 91 / 0.15);
}
.bg-brand-primary\/20 {
  background-color: rgb(198 161 91 / 0.2);
}
.bg-brand-primary\/25 {
  background-color: rgb(198 161 91 / 0.25);
}
.bg-brand-primary\/30 {
  background-color: rgb(198 161 91 / 0.3);
}
.bg-brand-primary\/35 {
  background-color: rgb(198 161 91 / 0.35);
}
.bg-brand-primary\/40 {
  background-color: rgb(198 161 91 / 0.4);
}
.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\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.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\.08\] {
  background-color: rgb(255 255 255 / 0.08);
}
.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.10'/></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-grid-soft {
  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='%233b3937' stroke-opacity='0.05' stroke-width='1'/></svg>");
}
.bg-hero-ink {
  background-image: radial-gradient(ellipse 90% 70% at 0% 0%, #2A2530 0%, #1A181C 55%, #0E0D12 100%);
}
.bg-hero-ink-soft {
  background-image: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(198, 161, 91, 0.22) 0%, rgba(198, 161, 91, 0) 60%), linear-gradient(180deg, #1B1920 0%, #0E0D12 100%);
}
.bg-primary-band {
  background-image: radial-gradient(ellipse 80% 70% at 100% 0%, rgba(198, 161, 91, 0.22) 0%, rgba(198, 161, 91, 0) 60%), linear-gradient(135deg, #211E27 0%, #17151B 55%, #0E0D12 100%);
}
.bg-primary-mesh {
  background-image: radial-gradient(60% 80% at 10% 0%, rgba(198, 161, 91, 0.10) 0%, rgba(198, 161, 91, 0) 70%), radial-gradient(40% 60% at 100% 100%, rgba(228, 206, 147, 0.07) 0%, rgba(228, 206, 147, 0) 70%);
}
.from-brand-bg {
  --tw-gradient-from: #F8F6F0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 246 240 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brand-ink\/85 {
  --tw-gradient-from: rgb(26 24 28 / 0.85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 24 28 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brand-primary-50 {
  --tw-gradient-from: #FAF6EC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 246 236 / 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(198 161 91 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(198 161 91 / 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\/70 {
  --tw-gradient-to: rgb(26 24 28 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(26 24 28 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-brand-muted {
  --tw-gradient-to: rgb(239 235 225 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #EFEBE1 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-brand-primary\/20 {
  --tw-gradient-to: rgb(198 161 91 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(198 161 91 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-brand-primary\/60 {
  --tw-gradient-to: rgb(198 161 91 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(198 161 91 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-brand-ink\/90 {
  --tw-gradient-to: rgb(26 24 28 / 0.9) var(--tw-gradient-to-position);
}
.to-brand-primary-50 {
  --tw-gradient-to: #FAF6EC var(--tw-gradient-to-position);
}
.to-brand-primary\/10 {
  --tw-gradient-to: rgb(198 161 91 / 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;
}
.object-top {
  -o-object-position: top;
     object-position: top;
}
.p-0 {
  padding: 0px;
}
.p-1\.5 {
  padding: 0.375rem;
}
.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-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.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;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.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-16 {
  padding-bottom: 4rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.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-3\.5 {
  padding-right: 0.875rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-32 {
  padding-top: 8rem;
}
.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;
}
.font-heading {
  font-family: Fraunces, ui-serif, Georgia, Cambria, Times New Roman, serif;
}
.font-sans {
  font-family: Hanken Grotesk, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
}
.font-script {
  font-family: Great Vibes, cursive;
}
.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\.55rem\] {
  font-size: 0.55rem;
}
.text-\[0\.5rem\] {
  font-size: 0.5rem;
}
.text-\[0\.75rem\] {
  font-size: 0.75rem;
}
.text-\[0\.7rem\] {
  font-size: 0.7rem;
}
.text-\[0\.8125rem\] {
  font-size: 0.8125rem;
}
.text-\[0\.95rem\] {
  font-size: 0.95rem;
}
.text-\[0\.975rem\] {
  font-size: 0.975rem;
}
.text-\[1\.55rem\] {
  font-size: 1.55rem;
}
.text-\[1\.65em\] {
  font-size: 1.65em;
}
.text-\[1\.6rem\] {
  font-size: 1.6rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.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-\[0\] {
  line-height: 0;
}
.leading-\[1\.04\] {
  line-height: 1.04;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.06\] {
  line-height: 1.06;
}
.leading-\[1\.12\] {
  line-height: 1.12;
}
.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\.01em\] {
  letter-spacing: -0.01em;
}
.tracking-\[0\.02em\] {
  letter-spacing: 0.02em;
}
.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-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  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(198 161 91 / var(--tw-text-opacity, 1));
}
.text-brand-accent-600 {
  --tw-text-opacity: 1;
  color: rgb(176 138 62 / var(--tw-text-opacity, 1));
}
.text-brand-highlight {
  --tw-text-opacity: 1;
  color: rgb(228 206 147 / var(--tw-text-opacity, 1));
}
.text-brand-ink {
  --tw-text-opacity: 1;
  color: rgb(26 24 28 / var(--tw-text-opacity, 1));
}
.text-brand-ink-500 {
  --tw-text-opacity: 1;
  color: rgb(60 56 66 / var(--tw-text-opacity, 1));
}
.text-brand-ink-600 {
  --tw-text-opacity: 1;
  color: rgb(42 39 46 / var(--tw-text-opacity, 1));
}
.text-brand-ink-soft {
  --tw-text-opacity: 1;
  color: rgb(33 31 38 / var(--tw-text-opacity, 1));
}
.text-brand-ink-soft\/70 {
  color: rgb(33 31 38 / 0.7);
}
.text-brand-ink-soft\/75 {
  color: rgb(33 31 38 / 0.75);
}
.text-brand-ink-soft\/80 {
  color: rgb(33 31 38 / 0.8);
}
.text-brand-ink-soft\/85 {
  color: rgb(33 31 38 / 0.85);
}
.text-brand-ink\/30 {
  color: rgb(26 24 28 / 0.3);
}
.text-brand-ink\/40 {
  color: rgb(26 24 28 / 0.4);
}
.text-brand-ink\/45 {
  color: rgb(26 24 28 / 0.45);
}
.text-brand-ink\/50 {
  color: rgb(26 24 28 / 0.5);
}
.text-brand-ink\/55 {
  color: rgb(26 24 28 / 0.55);
}
.text-brand-ink\/60 {
  color: rgb(26 24 28 / 0.6);
}
.text-brand-ink\/70 {
  color: rgb(26 24 28 / 0.7);
}
.text-brand-ink\/75 {
  color: rgb(26 24 28 / 0.75);
}
.text-brand-ink\/80 {
  color: rgb(26 24 28 / 0.8);
}
.text-brand-ink\/90 {
  color: rgb(26 24 28 / 0.9);
}
.text-brand-primary {
  --tw-text-opacity: 1;
  color: rgb(198 161 91 / var(--tw-text-opacity, 1));
}
.text-brand-primary-100 {
  --tw-text-opacity: 1;
  color: rgb(243 234 211 / var(--tw-text-opacity, 1));
}
.text-brand-primary-200 {
  --tw-text-opacity: 1;
  color: rgb(232 214 172 / var(--tw-text-opacity, 1));
}
.text-brand-primary-200\/80 {
  color: rgb(232 214 172 / 0.8);
}
.text-brand-primary-300 {
  --tw-text-opacity: 1;
  color: rgb(220 193 132 / var(--tw-text-opacity, 1));
}
.text-brand-primary-600 {
  --tw-text-opacity: 1;
  color: rgb(169 133 63 / var(--tw-text-opacity, 1));
}
.text-brand-primary-700 {
  --tw-text-opacity: 1;
  color: rgb(135 105 47 / var(--tw-text-opacity, 1));
}
.text-brand-primary\/70 {
  color: rgb(198 161 91 / 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\/45 {
  color: rgb(255 255 255 / 0.45);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.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);
}
.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-0 {
  opacity: 0;
}
.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-\[0_6px_24px_-12px_rgba\(18\2c 17\2c 20\2c 0\.28\)\] {
  --tw-shadow: 0 6px 24px -12px rgba(18,17,20,0.28);
  --tw-shadow-colored: 0 6px 24px -12px 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 6px 24px -6px rgba(59, 57, 55, 0.12), 0 2px 6px -2px rgba(59, 57, 55, 0.06);
  --tw-shadow-colored: 0 6px 24px -6px var(--tw-shadow-color), 0 2px 6px -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-accent {
  --tw-shadow: 0 10px 30px -10px rgba(198, 161, 91, 0.42), 0 4px 12px -4px rgba(198, 161, 91, 0.24);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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 20px 40px -12px rgba(59, 57, 55, 0.16), 0 8px 16px -8px rgba(59, 57, 55, 0.08);
  --tw-shadow-colored: 0 20px 40px -12px var(--tw-shadow-color), 0 8px 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-primary {
  --tw-shadow: 0 10px 30px -10px rgba(198, 161, 91, 0.45), 0 4px 12px -4px rgba(198, 161, 91, 0.25);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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 24px 60px -12px rgba(198, 161, 91, 0.40), 0 8px 24px -8px rgba(198, 161, 91, 0.18);
  --tw-shadow-colored: 0 24px 60px -12px var(--tw-shadow-color), 0 8px 24px -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 2px 8px -2px rgba(59, 57, 55, 0.07);
  --tw-shadow-colored: 0 2px 8px -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-xl {
  --tw-shadow: 0 32px 64px -12px rgba(59, 57, 55, 0.20), 0 12px 24px -8px rgba(59, 57, 55, 0.10);
  --tw-shadow-colored: 0 32px 64px -12px var(--tw-shadow-color), 0 12px 24px -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-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-accent {
  --tw-shadow-color: #C6A15B;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-brand-primary {
  --tw-shadow-color: #C6A15B;
  --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-0 {
  --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(0px + 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-ink\/10 {
  --tw-ring-color: rgb(26 24 28 / 0.1);
}
.ring-brand-ink\/5 {
  --tw-ring-color: rgb(26 24 28 / 0.05);
}
.ring-brand-muted-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(228 221 204 / var(--tw-ring-opacity, 1));
}
.ring-brand-primary-200\/70 {
  --tw-ring-color: rgb(232 214 172 / 0.7);
}
.ring-brand-primary\/20 {
  --tw-ring-color: rgb(198 161 91 / 0.2);
}
.ring-brand-primary\/30 {
  --tw-ring-color: rgb(198 161 91 / 0.3);
}
.ring-brand-primary\/40 {
  --tw-ring-color: rgb(198 161 91 / 0.4);
}
.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);
}
.drop-shadow-\[0_2px_24px_rgba\(0\2c 20\2c 35\2c 0\.35\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 24px rgba(0,20,35,0.35));
  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);
}
.sepia {
  --tw-sepia: sepia(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 {
  --tw-backdrop-blur: blur(8px);
  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-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-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;
}
.duration-700 {
  transition-duration: 700ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
/* Subtle animated dot highlight used on CTAs */
@keyframes wdc-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(198 161 91 / var(--tw-bg-opacity, 1));
    animation: wdc-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;
  }
.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

/* ---------- 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: #4A4744;
}
@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: #3b3937;
  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: #3b3937;
  margin-top: 1.6em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}
.article-prose h4 { font-size: 1.0625rem; font-weight: 700; color: #3b3937; margin-top: 1.4em; }
.article-prose strong { color: #3b3937; font-weight: 600; }
.article-prose a {
  color: #87692F;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 150ms ease;
}
.article-prose a:hover { color: #5E4A20; }
.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: #87692F;
}
.article-prose ol { list-style: decimal; }
.article-prose ol > li::marker { color: #87692F; 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 #87692F;
  background: #EEEADD;
  border-radius: 0 0.75rem 0.75rem 0;
  font-style: italic;
  color: #5E4A20;
}
.article-prose blockquote p { margin: 0.4em 0; }
.article-prose code {
  background: #EEEADD;
  color: #3b3937;
  padding: 0.1em 0.4em;
  border-radius: 0.3em;
  font-size: 0.92em;
}
.article-prose pre {
  background: #3b3937;
  color: #EEEADD;
  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(59, 57, 55, 0.18);
}
.article-prose hr {
  border: 0;
  border-top: 1px solid #E2DCC9;
  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 #E2DCC9;
}
.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: #4A4744;
  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: #87692F;
  border-left-color: #99C7E4;
}
.toc-sidebar .toc-list a.is-active {
  color: #87692F;
  border-left-color: #87692F;
  font-weight: 600;
}
.toc-sidebar .toc-num {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #6E6A66;
  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: #87692F; }

/* ---------- 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 #E2DCC9;
  background: #FFFFFF;
  color: #5E4A20;
  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: #87692F;
  color: #87692F;
  box-shadow: 0 6px 16px -8px rgba(198, 161, 91, 0.4);
}
.pagination .page-numbers.current {
  background: #87692F;
  border-color: #87692F;
  color: #FFFFFF;
  box-shadow: 0 6px 16px -8px rgba(198, 161, 91, 0.55);
}
.pagination .page-numbers.dots {
  border: none;
  background: transparent;
  color: #6E6A66;
  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. */
[data-site-header] {
  position: sticky;
  top: 0;
  z-index: 40;
  transition: box-shadow 200ms ease, background-color 200ms ease;
  will-change: box-shadow;
}
[data-site-header][data-scrolled] {
  box-shadow: 0 10px 28px -14px rgba(0, 0, 0, 0.55),
              0 1px 0 rgba(255, 255, 255, 0.06) inset;
}
.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: #3b3937;
  border-radius: 16px;
  box-shadow: 0 24px 60px -18px rgba(59, 57, 55, 0.35),
              0 8px 24px -12px rgba(59, 57, 55, 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: #5E4A20;
  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: #E6F1F8;
  color: #87692F;
  outline: none;
  box-shadow: none;
}

/* 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: #87692F;
  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: #E6F1F8;
  color: #5E4A20;
  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: #c1272d;
  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: #c1272d;
  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 #87692F;
  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: #3b3937;
  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;
}

/* ===== Light header nav overrides (header is bg-white) ===== */
.nav-primary-desktop .nav-link { color: #46423F; }
.nav-primary-desktop .nav-link:hover,
.nav-primary-desktop .nav-link:focus-visible { color: #C6A15B; }
.nav-primary-desktop .nav-link:focus-visible { box-shadow: 0 0 0 2px rgba(198, 161, 91, 0.35); }
.nav-primary-desktop .nav-link::after { background: #C6A15B; }
.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: #C6A15B; }

.nav-primary-mobile a { color: #46423F; }
.nav-primary-mobile a:hover { color: #C6A15B; }
.nav-primary-mobile a::after { color: rgba(59, 57, 55, 0.35); }
.nav-primary-mobile .current-menu-item > a { color: #C6A15B; }
.nav-primary-mobile .submenu-toggle { color: #46423F; }
.nav-primary-mobile .submenu-toggle:hover,
.nav-primary-mobile .submenu-toggle:focus-visible { color: #C6A15B; background: rgba(198, 161, 91, 0.06); }
.nav-primary-mobile .submenu-toggle svg { color: rgba(59, 57, 55, 0.55); }
.nav-primary-mobile .submenu-toggle[aria-expanded="true"] svg { color: #C6A15B; }
.nav-primary-mobile .submenu-list { border-left-color: rgba(59, 57, 55, 0.12); }
.nav-primary-mobile .submenu-list a { color: rgba(59, 57, 55, 0.78); }
.nav-primary-mobile .submenu-list a:hover { color: #C6A15B; }
.nav-primary-mobile .submenu-list .submenu-foot { border-top-color: rgba(59, 57, 55, 0.12); }
.nav-primary-mobile { border-color: rgba(59, 57, 55, 0.1) !important; }
.nav-primary-mobile > li { border-color: rgba(59, 57, 55, 0.08) !important; }

/* Dr. Hoff's headshot is a 1:1 square; in 4:3 blocks a centered crop clips the
   top of his head. Bias the crop to the top so his head is fully visible
   everywhere (home rich_text 4:3, About recognition, etc.). */
img[src*="dr-brian-hoff"] { -o-object-position: top; object-position: top; }

/* Mobile drawer: opening it locks page scroll on <html> (main.js), so the
   drawer itself must scroll. Cap it to the viewport below the sticky header --
   otherwise a long expanded submenu list runs past the screen and its bottom
   items become unreachable on phones. */
[data-mobile-menu] {
  max-height: calc(100vh - 4.5rem);
  max-height: calc(100dvh - 4.5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.group:hover .group-hover\:icon-badge-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(198 161 91 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 10px 30px -10px rgba(198, 161, 91, 0.45), 0 4px 12px -4px rgba(198, 161, 91, 0.25);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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: #C6A15B;
  --tw-shadow: var(--tw-shadow-colored);
  --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(0px + 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);
}
.placeholder\:text-brand-ink\/40::-moz-placeholder {
  color: rgb(26 24 28 / 0.4);
}
.placeholder\:text-brand-ink\/40::placeholder {
  color: rgb(26 24 28 / 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(198 161 91 / var(--tw-border-opacity, 1));
}
.hover\:border-brand-primary\/30:hover {
  border-color: rgb(198 161 91 / 0.3);
}
.hover\:border-brand-primary\/50:hover {
  border-color: rgb(198 161 91 / 0.5);
}
.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(176 138 62 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-highlight:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(228 206 147 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-muted:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 235 225 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(198 161 91 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-primary-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 246 236 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-primary-50\/40:hover {
  background-color: rgb(250 246 236 / 0.4);
}
.hover\:bg-brand-primary-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(169 133 63 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-primary-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(135 105 47 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:text-brand-accent:hover {
  --tw-text-opacity: 1;
  color: rgb(198 161 91 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-ink:hover {
  --tw-text-opacity: 1;
  color: rgb(26 24 28 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-primary:hover {
  --tw-text-opacity: 1;
  color: rgb(198 161 91 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-primary-600:hover {
  --tw-text-opacity: 1;
  color: rgb(169 133 63 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-primary-700:hover {
  --tw-text-opacity: 1;
  color: rgb(135 105 47 / var(--tw-text-opacity, 1));
}
.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / 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\:shadow-brand:hover {
  --tw-shadow: 0 6px 24px -6px rgba(59, 57, 55, 0.12), 0 2px 6px -2px rgba(59, 57, 55, 0.06);
  --tw-shadow-colored: 0 6px 24px -6px var(--tw-shadow-color), 0 2px 6px -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-lg:hover {
  --tw-shadow: 0 20px 40px -12px rgba(59, 57, 55, 0.16), 0 8px 16px -8px rgba(59, 57, 55, 0.08);
  --tw-shadow-colored: 0 20px 40px -12px var(--tw-shadow-color), 0 8px 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-primary:hover {
  --tw-shadow: 0 10px 30px -10px rgba(198, 161, 91, 0.45), 0 4px 12px -4px rgba(198, 161, 91, 0.25);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color), 0 4px 12px -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-lg:hover {
  --tw-shadow: 0 24px 60px -12px rgba(198, 161, 91, 0.40), 0 8px 24px -8px rgba(198, 161, 91, 0.18);
  --tw-shadow-colored: 0 24px 60px -12px var(--tw-shadow-color), 0 8px 24px -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-sm:hover {
  --tw-shadow: 0 2px 8px -2px rgba(59, 57, 55, 0.07);
  --tw-shadow-colored: 0 2px 8px -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-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: #C6A15B;
  --tw-shadow: var(--tw-shadow-colored);
}
.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(198 161 91 / var(--tw-border-opacity, 1));
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-1: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(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);
}
.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(198 161 91 / var(--tw-ring-opacity, 1));
}
.focus\:ring-brand-primary\/15:focus {
  --tw-ring-color: rgb(198 161 91 / 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-accent\/30:focus-visible {
  --tw-ring-color: rgb(198 161 91 / 0.3);
}
.focus-visible\:ring-brand-accent\/40:focus-visible {
  --tw-ring-color: rgb(198 161 91 / 0.4);
}
.focus-visible\:ring-brand-primary:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(198 161 91 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-brand-primary\/25:focus-visible {
  --tw-ring-color: rgb(198 161 91 / 0.25);
}
.focus-visible\:ring-brand-primary\/30:focus-visible {
  --tw-ring-color: rgb(198 161 91 / 0.3);
}
.focus-visible\:ring-brand-primary\/40:focus-visible {
  --tw-ring-color: rgb(198 161 91 / 0.4);
}
.focus-visible\:ring-white\/30:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.3);
}
.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.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(198 161 91 / 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\:w-16 {
  width: 4rem;
}
.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-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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\:bg-brand-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(198 161 91 / var(--tw-bg-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;
}
@supports (backdrop-filter: var(--tw)) {

  .supports-\[backdrop-filter\]\:bg-white\/70 {
    background-color: rgb(255 255 255 / 0.7);
  }
}
@media (min-width: 640px) {

  .sm\:block {
    display: block;
  }

  .sm\:flex {
    display: flex;
  }

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

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

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

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

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

  .sm\:gap-x-10 {
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  .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-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;
  }
}
@media (min-width: 768px) {

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

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, 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-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

  .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\:-ml-2 {
    margin-left: -0.5rem;
  }

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

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

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

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

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

  .lg\:mb-20 {
    margin-bottom: 5rem;
  }

  .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-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\.85fr_1\.15fr\] {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .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\:flex-row {
    flex-direction: row;
  }

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

  .lg\:gap-0 {
    gap: 0px;
  }

  .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\: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\:space-y-28 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(7rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(7rem * var(--tw-space-y-reverse));
  }

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

  .lg\:rounded-r-none {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
  }

  .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-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .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-32 {
    padding-bottom: 8rem;
  }

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

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

  .lg\:pl-6 {
    padding-left: 1.5rem;
  }

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

  .lg\:pr-6 {
    padding-right: 1.5rem;
  }

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

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

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

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

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

  .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-\[0\.56rem\] {
    font-size: 0.56rem;
  }

  .lg\:text-\[1\.35rem\] {
    font-size: 1.35rem;
  }

  .lg\:text-\[1\.8rem\] {
    font-size: 1.8rem;
  }

  .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));
  }
}
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}
.\[\&_a\]\:text-brand-primary a {
  --tw-text-opacity: 1;
  color: rgb(198 161 91 / 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-white a:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
