:root {
  /* Colors */
  --color-brand: #000;
  --color-accent-primary: #c00;
  --color-cream: #f5edde;
  --color-neutral-100: #fff;
  --color-neutral-125: #f5f5f5;
  --color-neutral-150: #f9f9f9;
  --color-neutral-200: #abb4bb;
  /* Global */
  --base-font-family: 'utile', sans-serif;
  --heading-font-family: artifex-hand-cf, serif;
  --legal-font-size: 1rem;
  --standard-border-radius: 0;
  --standard-border-width: 1px;
  --standard-font-size: 1.125rem;
  --standard-font-weight-bold: 600;
  --standard-letter-spacing: .25em;
  --standard-line-height: 1.5;
  --standard-link-color: var(--color-neutral-100);
  --standard-text-color: var(--color-neutral-100);
  /* Backgrounds */
  --body-bg-color: var(--color-brand);
  --form-container-bg-color: var(--color-accent-primary);
  /* Focus */
  --focus-bg-color: var(--color-neutral-150);
  --focus-border-color: var(--color-brand);
  --focus-text-color: var(--color-brand);
  /* Alerts */
  --alert-bg-color: var(--color-brand);
  --alert-text-color: var(--color-neutral-100);
  /* Errors */
  --error-color: var(--color-brand);
  --error-border-color: var(--error-color);
  /* Labels */
  --label-text-color: var(--color-neutral-100);
  /* Inputs */
  --input-bg-color: var(--color-cream);
  --input-border-color: var(--color-cream);
  --input-border-radius: var(--standard-border-radius);
  --input-border-width: var(--standard-border-width);
  --input-font-weight: 400;
  --input-height: 3.5rem;
  --input-padding: .75rem 1.5rem;
  --input-placeholder-color: var(--color-brand);
  --input-text-color: var(--color-brand);
  /* Checkbox */
  --checkbox-bg-color: var(--color-cream);
  --checkbox-border-color: var(--color-cream);
  --checkbox-checkmark-color: var(--color-cream);
  --checkbox-fill-color: var(--color-brand);
  /* Radio Button */
  --radio-button-bg-color: var(--color-cream);
  --radio-button-border-color: var(--color-brand);
  --radio-button-fill-color: var(--color-accent-primary);
  --radio-button-text-color: var(--color-neutral-125);
  --radio-button-hover-text-color: var(--color-neutral-100);
  /* Button */
  --btn-bg-color: var(--color-neutral-100);
  --btn-border-color: var(--color-neutral-100);
  --btn-border-radius: var(--standard-border-radius);
  --btn-border-width: var(--standard-border-width);
  --btn-font-size: var(--standard-font-size);
  --btn-hover-bg-color: var(--color-cream);
  --btn-hover-text-color: var(--color-brand);
  --btn-text-color: var(--color-brand);
}
* { box-sizing: border-box; }
body { margin: 0; padding: 0; font-family: var(--base-font-family); font-size: var(--standard-font-size); line-height: var(--standard-line-height); text-wrap: pretty; color: var(--standard-text-color); background: var(--body-bg-color); }
a { text-decoration: underline; color: var(--standard-link-color); }
a:hover { opacity: 0.8; }
a:focus-visible { outline: 2px solid var(--focus-border-color); outline-offset: 2px; }
h1,
h2,
h3 { font-family: var(--heading-font-family); font-weight: var(--standard-font-weight-bold); color: var(--standard-text-color); }
img { display: block; max-width: 100%; height: auto; }
.wrapper { min-height: 100vh; }
.form-container { display: none; margin-inline: auto; text-align: center; background: var(--form-container-bg-color); }
.form-container.age-verified { display: block; }
@media (width >=500px) {
  .form-container { margin: 0 auto 2.5rem; }
}
.section-copy { background-color: var(--color-brand); }
.section-copy>div { max-width: 1200px; margin: 0 auto; }
.section-form { padding: 0 1.5rem 2rem; }
@media (width >=500px) {
  .section-form { padding: 2.5rem 2.5rem 5rem; }
}
.section-footer { padding: 2rem 2rem 0; background-color: var(--color-brand); }
@media (width >=500px) {
  .section-footer { padding: 5rem 0 0; }
}
.layout-enhanced-hero { text-align: center; }
.layout-enhanced-hero h1 { margin: 0; }
.layout-enhanced-hero img { width: 100%; max-width: 1200px; margin: 0 auto; }
@media (width >=500px) {
  .layout-enhanced-hero img { border-radius: var(--standard-border-radius); }
}
.layout-enhanced-feature { display: grid; grid-template-columns: 1fr; align-items: center; justify-content: center; max-width: 1200px; margin: 0 auto; }
@media (width >=500px) {
  .layout-enhanced-feature { grid-template-columns: repeat(3, 1fr); }
}
.layout-enhanced-feature .feature-item { aspect-ratio: 1/1; overflow: hidden; }
.layout-enhanced-feature .feature-item img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.img-desktop { display: none; }
@media (width >=500px) {
  .img-desktop { display: block; }
}
.img-mobile { display: block; }
@media (width >=500px) {
  .img-mobile { display: none; }
}
.body-copy,
.offer-message { line-height: var(--standard-line-height); color: var(--standard-text-color); background-color: var(--color-brand); }
.body-copy .intro-heading { margin: 0 auto 0.625em; font-size: 2rem; }
@media (width >=500px) {
  .body-copy .intro-heading { font-size: 2.25em; }
}
.body-copy .intro-copy { padding: 2rem 1.25rem 0; font-size: 1.5rem; color: var(--color-cream); }
@media (width >=500px) {
  .body-copy .intro-copy { padding: 5rem 0 0; font-size: 1.75em; }
}
.body-copy .intro-message { margin: 0 auto 2em; }
.body-copy .list-header { margin-bottom: 0.25rem; font-family: var(--heading-font-family); font-size: 1.25rem; letter-spacing: var(--standard-letter-spacing); text-transform: uppercase; color: var(--color-neutral-100); }
@media (width >=500px) {
  .body-copy .list-header { font-size: 1.5rem; }
}
.body-copy .intro-list { margin: 0 0 2.5em; padding: 0; list-style: none; font-size: 1.125rem; font-weight: var(--standard-font-weight-bold); letter-spacing: var(--standard-letter-spacing); text-transform: uppercase; color: var(--color-neutral-100); }
@media (width >=500px) {
  .body-copy .intro-list { font-size: 1.375rem; }
}
.offer-copy { margin: 0; padding-bottom: 2rem; font-size: 1.25rem; font-weight: var(--standard-font-weight-bold); color: var(--color-neutral-100); }
@media (width >=500px) {
  .offer-copy { padding-bottom: 5rem; font-size: 1.375rem; }
}
.sf-dynamic-form { display: grid; grid-template-columns: 100%; gap: 1.25rem; max-width: 1200px; margin: 0 auto; padding-top: 2rem; line-height: var(--standard-line-height); text-align: left; color: var(--standard-text-color); grid-auto-rows: min-content; }
@media (width >=500px) {
  .sf-dynamic-form { grid-template-columns: 1fr 1fr; gap: 1.75rem 2rem; padding-top: 2.375rem; }
}
.sf-form-label { display: block; margin-bottom: 0.375rem; font-family: var(--base-font-family); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--label-text-color); }
.sf-form-input { width: 100%; max-width: 100%; height: var(--input-height); padding: var(--input-padding); font-family: var(--heading-font-family); font-size: 1rem; font-weight: var(--input-font-weight); line-height: var(--standard-line-height); letter-spacing: var(--standard-letter-spacing); text-transform: uppercase; color: var(--input-text-color); background-color: var(--input-bg-color); border: var(--input-border-width, 1px) solid var(--input-border-color); border-radius: var(--input-border-radius); transition: background-color 0.5s ease-in-out, border-color 0.5s ease-in-out, color 0.5s ease-in-out; }
@media (width >=500px) {
  .sf-form-input { min-height: 44px; font-size: var(--standard-font-size); }
}
.sf-form-input:focus-visible { background-color: var(--focus-bg-color); outline: 2px solid var(--focus-border-color); outline-offset: 2px; }
.sf-form-input::placeholder { line-height: 1; color: var(--input-placeholder-color); opacity: 1; }
.sf-form-input[type=date] { min-width: 0; appearance: none; }
.sf-form-input[type=date]::-webkit-calendar-picker-indicator { cursor: pointer; }
.sf-form-input[type=date].has-value,
.sf-form-input[type=date]:focus-visible { color: var(--focus-text-color); }
.sf-form-input[type=date]:invalid { color: var(--input-placeholder-color); }
.column:has(div[id$=-error]) .sf-form-input { outline: 2px solid var(--focus-border-color); outline-offset: 2px; }
.sf-select-container { display: grid; grid-template-areas: "select"; align-items: center; }
.sf-select-container select { width: 100%; margin: 0; line-height: normal; color: var(--input-text-color); background-color: var(--input-bg-color); outline: none; appearance: none; }
.sf-select-container select:invalid { color: var(--input-placeholder-color); }
.sf-select-container::after { justify-self: end; width: 0.8rem; height: 0.5rem; margin-right: 1.8rem; background-color: var(--input-text-color); content: ""; clip-path: polygon(50% 48%, 84% 14%, 100% 30%, 50% 80%, 0 30%, 16% 14%); }
.sf-select-container select,
.sf-select-container::after { grid-area: select; }
.radio { padding: 0.5rem 0; }
@media (width >=500px) {
  .radio { grid-column: 1/span 2; padding: 1rem 0; }
}
.sf-radio-select-container { width: 100%; place-self: center; text-align: center; }
@media (width >=500px) {
  .sf-radio-select-container { padding: 0 2.5rem; }
}
.sf-radio-select-label { margin-bottom: 0.375rem; font-weight: var(--standard-font-weight-bold); line-height: var(--standard-line-height); color: var(--label-text-color); }
.sf-radio-select { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; justify-content: center; }
.sf-radio-select .option { position: relative; width: 100%; }
@media (width >=500px) {
  .sf-radio-select .option { width: calc(50% - 0.5625rem); }
}
@media (width >=768px) {
  .sf-radio-select .option { width: calc(25% - 0.5625rem); }
}
.sf-radio-select .option-label { display: flex; align-items: center; justify-content: center; min-height: 3.125rem; padding: 0.5rem; font-size: var(--standard-font-size); text-align: center; text-wrap: balance; color: var(--input-text-color); background-color: var(--radio-button-bg-color); border: var(--standard-border-width) solid var(--radio-button-border-color); border-radius: var(--standard-border-radius); outline: none; cursor: pointer; transition: background-color 0.5s ease-in-out, border-color 0.5s ease-in-out, color 0.5s ease-in-out; }
.sf-radio-select .option-label:hover { color: var(--btn-text-color); background-color: var(--radio-button-fill-color); border-color: var(--color-accent-primary); }
@media (width >=500px) {
  .sf-radio-select .option-label { min-height: 5rem; }
}
.sf-radio-select input[type=radio] { appearance: none; position: absolute; width: 1px; height: 1px; outline-color: var(--focus-border-color); opacity: 0.01; pointer-events: none; }
.sf-radio-select input[type=radio]:focus-visible { outline: none; }
.sf-radio-select input[type=radio]:focus-visible+.option-label { background-color: var(--focus-bg-color); outline: 2px solid var(--focus-border-color); outline-offset: 2px; }
.sf-radio-select input[type=radio]:checked+.option-label { color: var(--radio-button-text-color); background-color: var(--radio-button-fill-color); }
/** Checkbox styles */
.acknowledge { display: grid; gap: 2rem; justify-items: center; max-width: 580px; margin: 0 auto; padding: 0 0.5rem; font-size: var(--legal-font-size); text-align: left; }
@media (width >=500px) {
  .acknowledge { grid-column: 1/span 2; padding: 0; }
}
.acknowledge label { display: grid; grid-template-columns: 1em auto; gap: 0.65em; text-align: left; }
.sf-form-checkbox { display: grid; width: 1.2em; height: 1.2em; margin: 0.25rem 0 0; background-color: var(--checkbox-bg-color); border: min(var(--input-border-width), 0.15rem) solid var(--checkbox-border-color); border-radius: min(var(--input-border-radius), 10%); transform: translateY(-0.075em); place-content: center; appearance: none; }
.sf-form-checkbox::before { width: 0.6em; height: 0.6em; background-color: var(--checkbox-checkmark-color); transition: 120ms transform ease-in-out; transform: scale(0); content: ""; clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); transform-origin: bottom left; }
.sf-form-checkbox:checked { background-color: var(--checkbox-fill-color); border-color: var(--checkbox-fill-color); }
.sf-form-checkbox:checked::before { transform: scale(1); }
body:not([data-widget=focusHighlighter]) .sf-form-checkbox:is([type=checkbox]):focus-visible { border-radius: var(--input-border-radius); outline: 2px solid var(--focus-border-color); outline-offset: max(var(--input-border-width), 0.12rem); }
.sf-submit-btn { display: flex; align-items: center; justify-content: center; height: 2.5rem; margin: 0 auto; padding-inline: 1.5rem; font-family: var(--heading-font-family); font-size: var(--btn-font-size); font-weight: var(--standard-font-weight-bold); line-height: 1; letter-spacing: var(--standard-letter-spacing); text-transform: uppercase; color: var(--btn-text-color); background: var(--btn-bg-color); border: var(--btn-border-width) solid var(--btn-border-color); border-radius: var(--btn-border-radius); cursor: pointer; transition: all 0.5s ease-in-out; }
.sf-submit-btn:hover { color: var(--btn-hover-text-color); background: var(--btn-hover-bg-color); }
.sf-submit-btn:active { border: var(--btn-border-width) solid var(--btn-border-color); outline: none; -webkit-tap-highlight-color: transparent; }
.sf-submit-btn:focus-visible { outline: 2px solid var(--focus-border-color); outline-offset: 2px; }
@media (width >=500px) {
  .sf-submit-btn { grid-column: 1/span 2; font-size: calc(var(--btn-font-size) + 0.125rem); }
}
.abbreviated-rules { max-width: 1200px; margin: 0 auto; padding: 2.5rem 0; font-size: 1rem; text-align: center; color: var(--color-neutral-100); }
@media (width >=500px) {
  .abbreviated-rules { padding: 5rem 2.5rem 0; font-size: var(--standard-font-size); border-radius: var(--standard-border-radius); }
}
.abbreviated-rules a { word-break: break-all; color: var(--color-neutral-100); }
.abbreviated-rules p { overflow-wrap: break-word; margin: 0; font-weight: 300; }
.abbreviated-rules .rules-emphasis { font-size: var(--legal-font-size); font-weight: var(--standard-font-weight-bold); text-transform: uppercase; }
.sf-alert { position: relative; max-width: 87%; margin: 2rem auto 0; padding: 1.5rem; line-height: 1.2; text-align: center; color: var(--alert-text-color); background: var(--alert-bg-color); border-radius: var(--standard-border-radius); }
@media (width >=500px) {
  .sf-alert { max-width: 1200px; margin-top: 2.5rem; }
}
.sf-alert a { text-decoration: underline; color: var(--alert-text-color); }
.sf-alert a:hover { color: var(--alert-text-color); opacity: 0.8; }
.sf-alert.sweeps-not-active { width: 100%; margin: 1.25rem auto; padding: 1.75em 1em; font-size: clamp(1rem, 4vw, 1.25rem); font-weight: var(--standard-font-weight-bold); }
@media (width >=500px) {
  .sf-alert.sweeps-not-active { font-size: 1.5rem; }
}
.sf-closebtn { position: absolute; top: 0.625rem; right: 0.625rem; display: flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; font-size: 1rem; font-weight: var(--standard-font-weight-bold); line-height: 1; color: var(--alert-text-color); background: rgba(0, 0, 0, 0.2); border-radius: 50%; cursor: pointer; }
.sf-closebtn:hover { background: rgba(0, 0, 0, 0.4); opacity: 0.7; }
.sf-field-error { border-color: var(--error-border-color); }
.sf-error-message { margin-top: 0.3125rem; margin-bottom: 0.625rem; font-size: var(--legal-font-size); color: var(--error-color); }
.age-gate-modal-container { position: fixed; top: 0; left: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 1.25rem; background: rgba(0, 0, 0, 0.8); }
@media (width >=500px) {
  .age-gate-modal-container { padding: 0; }
}
.age-gate-modal { max-width: 550px; padding: 1.875rem; text-align: center; text-wrap: balance; background: var(--color-brand); border-radius: var(--standard-border-radius); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25); }
.age-gate-modal h2 { margin: 0 0 1.5rem; font-family: var(--heading-font-family); font-size: 2rem; letter-spacing: var(--standard-letter-spacing); text-transform: uppercase; }
.age-gate-modal p { margin: 0 0 1.5rem; color: var(--color-cream); }
.age-gate-modal .age-gate-birthday-label { max-width: 350px; margin: 0 auto 0.25rem; text-align: left; }
.age-gate-modal .age-gate-birthday-input { max-width: 350px; margin: 0 auto; color: var(--color-neutral-100); background-color: var(--color-brand); border: 2px solid var(--color-accent-primary); }
.age-gate-modal .age-gate-birthday-input::placeholder { color: var(--color-neutral-100); }
.age-gate-modal .age-gate-birthday-input[type=date] { color-scheme: dark; color: var(--color-neutral-100); }
.age-gate-modal .age-gate-birthday-input[type=date]:invalid { color: var(--color-cream); }
.age-gate-modal .age-gate-submit { margin-top: 1.625rem; color: var(--color-cream); background: var(--color-accent-primary); border-color: var(--color-accent-primary); }
.age-gate-modal .age-gate-submit:hover { color: var(--color-accent-primary); background: var(--color-brand); }
.age-gate-modal .age-gate-submit:focus-visible { outline: 2px solid var(--color-cream); }
.sf-spinner-container { position: fixed; z-index: 9050; display: none; background-color: rgba(255, 255, 255, 0.75); inset: 0; }
.sf-spinner { position: absolute; top: 50%; left: 50%; width: 3rem; height: 3rem; border: 4px solid var(--input-border-color); border-radius: 50%; animation: sf-spin 1s linear infinite; transform: translate(-50%, -50%); border-top: 4px solid var(--standard-text-color); }
@keyframes sf-spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}
