:root {
  --nw-brand: var(--wp--preset--color--brand, #10192a);
  --nw-brand-dark: var(--wp--preset--color--brand-dark, #0a1018);
  --nw-accent: var(--wp--preset--color--accent, #b7743f);
  --nw-accent-text: var(--wp--preset--color--accent-text, #8a5527);
  --nw-accent-dark: var(--wp--preset--color--accent-dark, #8f5a2f);
  --nw-verdigris: var(--wp--preset--color--verdigris, #5d8a7a);
  --nw-oyster: var(--wp--preset--color--oyster, #c9c2b4);
  --nw-ink: var(--wp--preset--color--ink, #141a24);
  --nw-ink-soft: var(--wp--preset--color--ink-soft, #3f4653);
  --nw-muted: var(--wp--preset--color--muted, #6f6a63);
  --nw-line: var(--wp--preset--color--line, #d6cfc1);
  --nw-line-strong: #7a7368;
  --nw-surface: var(--wp--preset--color--surface, #ebe5d8);
  --nw-surface-alt: var(--wp--preset--color--surface-alt, #e0d8c8);
  --nw-surface-deep: var(--wp--preset--color--surface-deep, #10192a);
  --nw-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  --nw-water:
    radial-gradient(120% 80% at 80% 0%, rgb(183 116 63 / 10%), transparent 55%),
    radial-gradient(90% 70% at 10% 100%, rgb(93 138 122 / 10%), transparent 60%),
    linear-gradient(180deg, #121c2f 0%, #0d1524 60%, #0a1018 100%);
  --nw-on-brand: var(--wp--preset--color--surface, #ebe5d8);
  --nw-on-accent: #ffffff;
  --nw-focus: var(--wp--preset--color--accent, #b7743f);

  --nw-font-heading: var(--wp--preset--font-family--heading, "Iowan Old Style", Georgia, serif);
  --nw-font-body: var(--wp--preset--font-family--body, ui-sans-serif, system-ui, sans-serif);

  --nw-step--1: var(--wp--preset--font-size--x-small, clamp(0.83rem, 0.8rem + 0.14vw, 0.92rem));
  --nw-step-0: var(--wp--preset--font-size--small, clamp(1rem, 0.96rem + 0.19vw, 1.13rem));
  --nw-step-1: var(--wp--preset--font-size--medium, clamp(1.2rem, 1.12rem + 0.36vw, 1.44rem));
  --nw-step-2: var(--wp--preset--font-size--large, clamp(1.5rem, 1.32rem + 0.8vw, 2.05rem));
  --nw-step-3: var(--wp--preset--font-size--x-large, clamp(1.9rem, 1.6rem + 1.4vw, 2.8rem));
  --nw-step-4: var(--wp--preset--font-size--xx-large, clamp(2.4rem, 1.9rem + 2.4vw, 4rem));
  --nw-step-5: var(--wp--preset--font-size--display, clamp(3.2rem, 2.2rem + 4.6vw, 6.6rem));

  --nw-space-2xs: var(--wp--preset--spacing--20, clamp(0.5rem, 0.48rem + 0.14vw, 0.63rem));
  --nw-space-xs: var(--wp--preset--spacing--20, clamp(0.5rem, 0.48rem + 0.14vw, 0.63rem));
  --nw-space-sm: var(--wp--preset--spacing--30, clamp(0.75rem, 0.71rem + 0.21vw, 0.94rem));
  --nw-space-md: var(--wp--preset--spacing--40, clamp(1rem, 0.95rem + 0.28vw, 1.25rem));
  --nw-space-lg: var(--wp--preset--spacing--50, clamp(1.5rem, 1.43rem + 0.42vw, 1.88rem));
  --nw-space-xl: var(--wp--preset--spacing--60, clamp(2rem, 1.81rem + 0.85vw, 2.75rem));
  --nw-space-2xl: var(--wp--preset--spacing--70, clamp(3rem, 2.62rem + 1.7vw, 4.5rem));
  --nw-space-3xl: var(--wp--preset--spacing--80, clamp(4.5rem, 3.4rem + 4.2vw, 8.5rem));

  --nw-radius: 2px;
  --nw-radius-lg: 6px;
  --nw-shadow: 0 1px 2px rgb(16 25 42 / 10%), 0 10px 30px rgb(16 25 42 / 10%);
  --nw-shadow-lg: 0 2px 6px rgb(16 25 42 / 10%), 0 24px 60px rgb(16 25 42 / 10%);

  --nw-measure: 62ch;
  --nw-container: var(--wp--style--global--wide-size, 1240px);
  --nw-container-wide: 1520px;

  --nw-ease: cubic-bezier(0.2, 0, 0, 1);
  --nw-ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --nw-ease-spring: cubic-bezier(0.34, 1.3, 0.64, 1);
  --nw-ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --nw-duration: 260ms;
}

.nw-tone--deep {
  background-color: var(--nw-surface-deep);
  background-image: var(--nw-water);
  color: var(--nw-ink);
  --nw-ink: var(--wp--preset--color--surface, #ebe5d8);
  --nw-ink-soft: rgb(235 229 216 / 74%);
  --nw-muted: rgb(235 229 216 / 54%);
  --nw-line: rgb(235 229 216 / 14%);
  --nw-line-strong: rgb(235 229 216 / 40%);
  --nw-surface: #17223a;
  --nw-surface-alt: #131c31;
  --nw-brand: var(--wp--preset--color--surface, #ebe5d8);
  --nw-on-brand: var(--nw-surface-deep);
  --nw-accent-text: #d39a66;
  --nw-focus: #d39a66;
  --nw-shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 10px 30px rgb(0 0 0 / 28%);
  --nw-shadow-lg: 0 2px 6px rgb(0 0 0 / 34%), 0 24px 60px rgb(0 0 0 / 44%);
}

.nw-section {
  padding-block: var(--nw-space-3xl);
  container-type: inline-size;
}

.nw-container {
  width: min(100% - (var(--nw-space-lg) * 2), var(--nw-container));
  margin-inline: auto;
}

.nw-container--wide {
  width: min(100% - (var(--nw-space-lg) * 2), var(--nw-container-wide));
}

.nw-eyebrow {
  margin: 0 0 var(--nw-space-sm);
  color: var(--nw-accent-text);
  font-family: var(--nw-font-heading);
  font-size: var(--nw-step-0);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.005em;
}

.nw-title {
  margin: 0;
  color: var(--nw-ink);
  font-family: var(--nw-font-heading);
  font-size: var(--nw-step-4);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.nw-title em,
.nw-title i {
  font-style: italic;
  font-weight: 300;
}

.nw-title--sm {
  font-size: var(--nw-step-3);
}

.nw-as-heading {
  display: block;
}

.nw-lede {
  max-inline-size: var(--nw-measure);
  margin: var(--nw-space-md) 0 0;
  color: var(--nw-ink-soft);
  font-family: var(--nw-font-heading);
  font-size: var(--nw-step-1);
  font-weight: 300;
  line-height: 1.5;
  text-wrap: pretty;
}

.nw-prose {
  max-inline-size: var(--nw-measure);
  color: var(--nw-ink-soft);
  font-size: var(--nw-step-0);
  line-height: 1.75;
}

.nw-prose > * + * {
  margin-block-start: var(--nw-space-md);
}

:is(.nw-prose, .nw-lede) a {
  color: var(--nw-accent-text);
  text-decoration-color: var(--nw-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

:is(.nw-prose, .nw-lede) a:hover {
  color: var(--nw-ink);
}

.nw-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65em;
  min-block-size: 52px;
  padding: 0 1.75rem;
  border: 1px solid currentcolor;
  border-radius: 999px;
  font-family: var(--nw-font-body);
  font-size: var(--nw-step--1);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  isolation: isolate;
  overflow: hidden;
  transition: background-color var(--nw-duration) var(--nw-ease),
    border-color var(--nw-duration) var(--nw-ease),
    color var(--nw-duration) var(--nw-ease),
    box-shadow calc(var(--nw-duration) * 1.4) var(--nw-ease),
    transform calc(var(--nw-duration) * 1.6) var(--nw-ease-out-expo);
}

.nw-btn__label {
  position: relative;
  z-index: 1;
}

.nw-btn__icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-inline-end: -0.35rem;
  transition: transform calc(var(--nw-duration) * 1.8) var(--nw-ease-out-expo);
}

.nw-btn__svg { display: block; }

.nw-btn:hover .nw-btn__icon { transform: translate3d(4px, 0, 0); }

.nw-btn:focus-visible {
  outline: 2px solid var(--nw-accent);
  outline-offset: 3px;
}

.nw-btn:active {
  transform: scale3d(0.97, 0.97, 1);
  transition-duration: 80ms;
}

.nw-btn--primary {
  border-color: var(--nw-accent);
  background-color: var(--nw-accent);
  background-image: linear-gradient(180deg, rgb(255 255 255 / 8%), rgb(255 255 255 / 0%) 55%);
  color: var(--nw-on-accent);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 10px 24px -14px rgb(10 16 24 / 10%);
}

.nw-btn--primary:hover {
  border-color: var(--nw-accent-dark);
  background-color: var(--nw-accent-dark);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 14%), 0 14px 28px -14px rgb(10 16 24 / 10%);
  transform: translate3d(0, -1px, 0);
}

.nw-btn--secondary {
  background: transparent;
  color: var(--nw-ink);
  border-color: rgb(16 25 42 / 40%);
}

.nw-btn--secondary::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--nw-ink);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform calc(var(--nw-duration) * 1.8) var(--nw-ease-out-expo);
}

.nw-btn--secondary:hover {
  color: var(--nw-on-brand);
  border-color: var(--nw-ink);
}

.nw-btn--secondary:hover::before { transform: scaleX(1); }

.nw-btn--on-dark.nw-btn--secondary {
  color: var(--nw-on-brand);
  border-color: rgb(235 229 216 / 42%);
}

.nw-btn--on-dark.nw-btn--secondary::before { background: var(--nw-on-brand); }

.nw-btn--on-dark.nw-btn--secondary:hover {
  color: var(--nw-ink);
  border-color: var(--nw-on-brand);
}

@media (prefers-reduced-motion: reduce) {
  .nw-btn, .nw-btn__icon, .nw-btn--secondary::before { transition: none; }
  .nw-btn:hover .nw-btn__icon { transform: none; }
}

.nw-link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4em;
  color: inherit;
  font-family: var(--nw-font-body);
  font-size: var(--nw-step--1);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  background: linear-gradient(currentcolor, currentcolor) no-repeat 0 100% / 100% 1px;
  transition: background-size calc(var(--nw-duration) * 1.6) var(--nw-ease-out-expo);
}

.nw-link:hover {
  background-size: 0% 1px;
  background-position: 100% 100%;
}

[class^='nw-']:focus:not(:focus-visible),
[class*=' nw-']:focus:not(:focus-visible) {
  outline: none;
}

[class^='nw-']:focus-visible,
[class*=' nw-']:focus-visible {
  outline: 3px solid var(--nw-focus);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --nw-duration: 0.01ms;
  }

  html {
    scroll-behavior: auto;
  }
}

::selection {
  background: var(--nw-accent);
  color: var(--nw-on-accent);
}

.nw-eyebrow::selection,
.nw-title::selection {
  background: var(--nw-ink);
  color: var(--nw-surface);
}

@supports (scrollbar-color: red blue) {
  html {
    scrollbar-color: var(--nw-muted) var(--nw-surface-alt);
    scrollbar-width: thin;
  }
}
