:root {
  color-scheme: light;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

body.modal-open {
  overflow: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
}

.skip-link {
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 1rem;
  transform: translateY(-180%);
  transition: transform 160ms ease;
  z-index: 1000;
}

.skip-link:focus {
  transform: translateY(0);
}

.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.interest-dialog {
  background: transparent;
  border: 0;
  color: #14150f;
  margin: auto;
  max-height: 100dvh;
  max-width: none;
  padding: 1rem;
  width: min(100%, 36rem);
}

.interest-dialog::backdrop {
  background: rgba(8, 10, 7, 0.76);
  backdrop-filter: blur(10px);
}

.interest-panel {
  background: #f6f4ec;
  border: 1px solid rgba(20, 21, 15, 0.18);
  border-radius: 1.35rem;
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.28);
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  padding: clamp(1.25rem, 4vw, 2.25rem);
  position: relative;
}

.interest-close {
  align-items: center;
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  font-size: 1.35rem;
  height: 2.75rem;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 2.75rem;
}

.interest-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 3.5rem 1rem 0;
  text-transform: uppercase;
}

.interest-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 8vw, 3.35rem);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.96;
  margin: 0;
}

.interest-copy {
  color: #55564e;
  line-height: 1.55;
  margin: 1rem 0 1.35rem;
}

.interest-selection {
  align-items: center;
  background: #e7eadc;
  border-radius: 0.85rem;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding: 0.9rem 1rem;
}

.interest-selection strong,
.interest-selection span {
  display: block;
}

.interest-selection span {
  color: #626458;
  font-size: 0.82rem;
  margin-top: 0.2rem;
}

.interest-selection b {
  font-size: 1.15rem;
}

.interest-quantity {
  align-items: center;
  border: 1px solid #c9ccbd;
  border-radius: 0.85rem;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding: 0.75rem 1rem;
}

.interest-quantity > span {
  font-size: 0.82rem;
  font-weight: 700;
}

.interest-stepper {
  align-items: center;
  display: flex;
  gap: 0.6rem;
}

.interest-stepper button {
  background: #19210f;
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 800;
  height: 2.4rem;
  line-height: 1;
  width: 2.4rem;
}

.interest-stepper button:disabled {
  cursor: default;
  opacity: 0.35;
}

.interest-stepper output {
  font-size: 1.25rem;
  font-weight: 800;
  min-width: 2ch;
  text-align: center;
}

.interest-form {
  display: grid;
  gap: 1rem;
}

.interest-field {
  display: grid;
  gap: 0.45rem;
}

.interest-field > span,
.interest-consent span {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.interest-field input,
.interest-field select {
  background: #fff;
  border: 1px solid #b9bcad;
  border-radius: 0.7rem;
  color: #14150f;
  min-height: 3.25rem;
  padding: 0.75rem 0.9rem;
  width: 100%;
}

.interest-field input:focus,
.interest-field select:focus {
  border-color: #273415;
  box-shadow: 0 0 0 3px rgba(78, 100, 43, 0.18);
  outline: none;
}

.interest-consent {
  align-items: flex-start;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: auto 1fr;
  line-height: 1.45;
}

.interest-consent input {
  height: 1.15rem;
  margin: 0.1rem 0 0;
  width: 1.15rem;
}

.interest-submit {
  background: #19210f;
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font-weight: 800;
  min-height: 3.4rem;
  padding: 0.9rem 1.2rem;
}

.interest-submit:disabled {
  cursor: wait;
  opacity: 0.65;
}

.interest-fineprint {
  color: #606259;
  font-size: 0.75rem;
  line-height: 1.45;
  margin: 0;
}

.interest-fineprint a { color: inherit; text-underline-offset: .2em; }
.footer-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }

.interest-status {
  border-radius: 0.65rem;
  font-size: 0.85rem;
  line-height: 1.45;
  margin: 0;
  padding: 0.75rem 0.9rem;
}

.interest-status:empty {
  display: none;
}

.interest-status[data-state="error"] {
  background: #fbe6df;
  color: #7d2411;
}

.interest-status[data-state="success"] {
  background: #e3edda;
  color: #29431b;
}

.interest-success {
  padding: 2rem 0 0.5rem;
  text-align: center;
}

.interest-success-mark {
  align-items: center;
  background: #dce7c9;
  border-radius: 50%;
  display: inline-flex;
  font-size: 1.6rem;
  height: 4rem;
  justify-content: center;
  margin-bottom: 1rem;
  width: 4rem;
}

.interest-success h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: -0.04em;
  margin: 0;
}

.interest-success p {
  color: #55564e;
  line-height: 1.55;
}

.preview-note {
  background: #15170f;
  bottom: 0.75rem;
  color: #f4f3e9;
  font: 600 0.72rem/1.35 Arial, sans-serif;
  left: 50%;
  letter-spacing: 0.02em;
  max-width: calc(100% - 1.5rem);
  padding: 0.65rem 1rem;
  position: fixed;
  text-align: center;
  transform: translateX(-50%);
  z-index: 50;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 560px) {
  .interest-dialog {
    padding: 0;
    width: 100%;
  }

  .interest-panel {
    border-radius: 1.25rem 1.25rem 0 0;
    bottom: 0;
    max-height: 92dvh;
    padding: 1.35rem;
    position: fixed;
    width: 100%;
  }
}

/* The experiment is optional. Both designs use the same unobtrusive consent control. */
.measurement-choice{position:fixed;right:20px;bottom:20px;z-index:45;width:min(400px,calc(100vw - 40px));background:#f6f2e8;color:#201d17;border:1px solid #d1c7b7;border-radius:4px;padding:20px;box-shadow:0 8px 36px #201d1729;font:400 13px/1.6 Arial,sans-serif}
.measurement-choice[hidden]{display:none!important}
.measurement-copy strong{font-size:14px;font-weight:600}.measurement-copy p{font-size:12px;color:#685e51;margin:8px 0 16px;line-height:1.6}
.measurement-actions{display:flex;gap:10px}.measurement-actions button{flex:1;min-height:44px;padding:10px 14px;border:1px solid #746759;background:#f6f2e8;color:#35100f;border-radius:0;font:500 12px/1.4 Arial,sans-serif;cursor:pointer}.measurement-actions button:hover{background:#ece7da}.measurement-actions button:focus-visible{outline:3px solid #a67c39;outline-offset:3px}.measurement-status{font-size:12px;margin:10px 0 0}.measurement-status:empty{display:none}
.club-footer .footer-links button{background:none;border:0;color:inherit;cursor:pointer;font:inherit;font-size:12px;min-height:44px;padding:0;text-decoration:underline;text-underline-offset:4px}
@media(max-width:640px){.measurement-choice{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:16px}.measurement-copy p{margin:6px 0 12px}}
@media(max-width:560px){.interest-dialog{margin:auto auto 0;max-height:92dvh}.interest-panel{position:relative;bottom:auto;max-height:92dvh;padding-bottom:max(22px,env(safe-area-inset-bottom))}}
.interest-close{position:sticky;float:right;right:auto;top:0;z-index:3;margin:0 0 -44px 12px;background:#f6f4ec}
