:root {
  color-scheme: dark;
  --ink: #11100f;
  --surface: #1b1917;
  --paper: #f8f3eb;
  --muted: #c5bdb4;
  --line: #413831;
  --orange: #ff8a43;
  --orange-soft: #ffd8ba;
  --measure: 82.5rem;
  --gutter: 20px;
  font-family: system-ui, "Segoe UI", sans-serif;
  color: var(--paper);
  background: var(--ink);
  line-height: 1.5;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-bottom: var(--cookie-clearance, 0px); }
body, h1, h2, h3, p, dl, dd { margin: 0; }
body { padding-bottom: var(--cookie-clearance, 0px); }
img, video { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button, summary { cursor: pointer; }
:focus-visible { outline: 3px solid #2385eb; outline-offset: 4px; }
[id] { scroll-margin-top: 1.5rem; }

.sr-only, .skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  z-index: 5;
  inset: 1rem auto auto 1rem;
  padding: .7rem 1rem;
  color: var(--ink);
  background: var(--paper);
}

.shell { width: min(var(--measure), calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--line); background: var(--ink); }
.header-inner { min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-block: .3rem; }
.brand { flex: none; display: inline-block; }
.brand img { width: min(144px, 33vw); height: auto; }
.site-header .brand { display: grid; min-height: 44px; align-items: center; }
.site-header .brand img { width: clamp(5rem, 27vw, 9rem); }

.hero {
  border-bottom: 1px solid var(--line);
  background: #171311;
}

.hero-inner {
  position: relative;
  isolation: isolate;
  padding-block: 12.125rem 1.2rem;
}
.hero-copy { position: relative; }
.hero-copy, .program-copy { min-width: 0; }
.hero-inner > noscript { color: var(--muted); font-size: .8rem; }
.eyebrow { font-size: .73rem; font-weight: 800; letter-spacing: .115em; line-height: 1.55; text-transform: uppercase; }
.hero-label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .55rem;
  color: var(--orange-soft);
}
.hero-label::before { content: ""; width: 1.3rem; height: 2px; background: var(--orange); }
.hero h1 {
  font-size: clamp(2.15rem, 8.2vw, 4.1rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.hero h1 span { display: block; color: var(--orange); }
.hero-intro { max-width: 48ch; margin-top: .45rem; color: var(--muted); font-size: clamp(.91rem, 1.6vw, 1.12rem); }
.hero-art {
  position: absolute;
  z-index: -1;
  inset: 0 calc(var(--gutter) * -1) auto;
  height: 12.65rem;
  overflow: hidden;
  pointer-events: none;
  background: radial-gradient(ellipse at 69% 25%, #a94223 0%, #482317 37%, transparent 72%);
}
.hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 93%, #171311);
}
.hero-lettering {
  position: absolute;
  inset: .45rem auto auto var(--gutter);
  color: transparent;
  font-size: clamp(3.15rem, 17vw, 7rem);
  font-weight: 950;
  line-height: .85;
  letter-spacing: -.075em;
  -webkit-text-stroke: 1px rgb(255 171 122 / 45%);
  user-select: none;
}
.hero-portrait {
  position: absolute;
  inset: .45rem auto auto 50%;
  width: 11.75rem;
  transform: translateX(-50%);
}
.hero-portrait img { width: 100%; height: auto; filter: drop-shadow(0 0 .9rem #ff69246b); }

.button {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  min-height: 2.85rem;
  padding: .65rem 1rem;
  border: 1px solid transparent;
  border-radius: .35rem;
  color: var(--ink);
  background: var(--orange);
  font-size: 1rem;
  font-weight: 800;
  text-decoration: none;
}
.button:hover { background: var(--orange-soft); }
.hero-button { width: 100%; min-height: 46px; margin-top: .85rem; }
.hero-button span { font-size: 1.05rem; line-height: 1; }

@media (prefers-reduced-motion: no-preference) {
  :is(.hero-button, .offer-primary, .booking > .button) {
    animation: button-rock 2.3s ease-in-out .35s infinite;
  }
}

@keyframes button-rock {
  0%, 48%, 100% { transform: translateX(0) rotate(0); }
  12% { transform: translateX(-2px) rotate(-1deg); }
  24% { transform: translateX(2px) rotate(1deg); }
  36% { transform: translateX(-1px) rotate(-.5deg); }
}

.campaign-clock {
  min-width: 0;
  display: grid;
  justify-items: end;
  gap: .12rem;
  text-align: right;
  line-height: 1.15;
}
.clock-status { color: var(--orange); font-size: .68rem; font-weight: 750; }
.clock-digits { display: flex; flex-wrap: wrap; justify-content: end; gap: .15rem .3rem; }
.clock-digits > div { display: inline-flex; flex-direction: column-reverse; align-items: center; gap: .12rem; }
.clock-digits dt { color: var(--muted); font-size: .67rem; }
.clock-digits dd { display: flex; gap: .1rem; color: var(--orange-soft); font-size: clamp(1.05rem, 4.3vw, 1.45rem); font-variant-numeric: tabular-nums; font-weight: 750; }
.clock-digit { position: relative; width: clamp(1rem, 5.3vw, 1.5rem); height: clamp(1.5rem, 7.6vw, 2rem); overflow: hidden; border-radius: .15rem; background: #15110e; }
.clock-digit::before, .clock-digit::after, .clock-flap {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.clock-digit::before, .clock-flap-out {
  clip-path: inset(0 0 calc(50% + .5px));
  background: linear-gradient(#503721, #3e2a1a);
}
.clock-digit::after, .clock-flap-in {
  clip-path: inset(calc(50% + .5px) 0 0);
  background: linear-gradient(#302116, #49321e);
}
.clock-digit::before { content: attr(data-digit-top); }
.clock-digit::after { content: attr(data-digit-bottom); }
.clock-flap { z-index: 1; }
.clock-flap-out { animation: clock-fold .13s ease-in both; }
.clock-flap-in { animation: clock-unfold .15s .13s ease-out both; }

@keyframes clock-fold {
  from { transform: perspective(4rem) rotateX(0); }
  to { transform: perspective(4rem) rotateX(-90deg); }
}

@keyframes clock-unfold {
  from { transform: perspective(4rem) rotateX(90deg); }
  to { transform: perspective(4rem) rotateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .clock-flap { animation-duration: 0s; animation-delay: 0s; }
}

.offers { padding-block: clamp(1.25rem, 4vw, 3.2rem); }
.section-heading { margin-bottom: .7rem; font-size: clamp(1.25rem, 3vw, 2.25rem); line-height: 1.15; letter-spacing: -.03em; }
.offers .section-heading { font-weight: 850; }
.mobile-offer-stage { display: none; }
.offer-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .45rem; }
.offer-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "title" "result" "schedule" "price" "actions";
  grid-template-rows: auto auto 1fr auto auto;
  align-items: center;
  gap: .25rem .55rem;
  min-width: 0;
  padding: .65rem .72rem;
  border: 1px solid var(--line);
  border-radius: .45rem;
  background: var(--surface);
}
.offer-card:focus-within { border-color: #ac744e; }
.offer-card h3 { grid-area: title; font-size: 1rem; font-weight: 850; line-height: 1.16; letter-spacing: -.015em; overflow-wrap: anywhere; }
.offer-result { grid-area: result; color: var(--paper); font-size: .84rem; line-height: 1.28; }
.offer-schedule { grid-area: schedule; align-self: start; display: grid; gap: .08rem; color: var(--muted); font-size: .75rem; line-height: 1.25; }
.offer-schedule strong { font-weight: 600; }
.card-price { grid-area: price; text-align: right; }
.card-price .price { color: var(--orange); font-size: 1.25rem; white-space: nowrap; }
.offer-quantity { display: block; color: var(--muted); font-size: .72rem; line-height: 1.2; }
.price { font-size: 1.64rem; font-weight: 850; letter-spacing: -.055em; line-height: 1.14; }
.price-note { margin-top: .22rem; font-size: .79rem; line-height: 1.38; }
.offer-actions { grid-area: actions; display: flex; flex-wrap: wrap; gap: .35rem; }
.offer-actions:has(.offer-primary:not([hidden])) { margin-block-start: .65rem; }
.offer-actions :is(.offer-primary, .offer-link) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-height: 44px;
  padding: .35rem .55rem;
  border-radius: .35rem;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
.offer-primary { flex: 2 1 8rem; }
:is(.offer-actions .offer-primary, .booking > .button) {
  position: relative;
  justify-content: center;
  text-align: center;
}
.button-offer-tag {
  position: absolute;
  inset: auto auto calc(100% - .35rem) -.35rem;
  padding: .18rem .45rem .18rem .95rem;
  isolation: isolate;
  color: var(--paper);
  background: var(--orange);
  clip-path: polygon(0 50%, .48rem 0, 100% 0, 100% calc(100% - .25rem), calc(100% - .25rem) 100%, .48rem 100%);
  mask-image: radial-gradient(circle at .49rem 50%, transparent 1.4px, #000 1.8px);
  font-size: .69rem;
  font-weight: 850;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
  transform: rotate(-14deg);
  transform-origin: .48rem 50%;
}
.button-offer-tag::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 1px;
  background: var(--ink);
  clip-path: polygon(.78rem 0, 100% 0, 100% calc(100% - .21rem), calc(100% - .21rem) 100%, .62rem 100%);
}
.offer-link { flex: 1 1 4.5rem; border: 1px solid #a38260; color: var(--orange-soft); }
.offer-link:hover, .offer-link:active { color: var(--ink); background: var(--orange-soft); border-color: var(--orange-soft); }

.programs { display: grid; gap: clamp(.9rem, 2vw, 1.5rem); padding-block: clamp(1rem, 2.5vw, 2rem) clamp(1.75rem, 4vw, 3rem); }
.program {
  min-width: 0;
  padding: clamp(.875rem, 2vw, 1.5rem);
  border: 1px solid var(--line);
  border-top-color: #b77c43;
  border-radius: .65rem;
  background: var(--surface);
}
.program-body { display: grid; gap: .85rem; margin-top: .85rem; }
.program-media { min-width: 0; }
.program-subtitle { color: var(--orange-soft); }
.program h2 { margin-top: .25rem; font-size: clamp(1.8rem, 4.2vw, 3.6rem); line-height: 1.04; letter-spacing: -.054em; text-wrap: balance; }
.program-outcome { margin-top: .55rem; color: var(--orange-soft); font-size: clamp(1.05rem, 2.15vw, 1.4rem); font-weight: 700; }
.program-label { margin-top: .65rem; font-size: .92rem; }
.program-copy > .program-label:first-child { margin-top: 0; }
.program-audience, .program-promise { max-width: 56ch; margin-top: .25rem; color: var(--muted); font-size: .93rem; }
.program-schedule { display: grid; gap: .1rem; margin-top: .65rem; padding-left: .7rem; border-left: 2px solid var(--orange); font-size: .88rem; }
.program-schedule span { color: var(--muted); }
.program-art { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: .45rem; background: #171511; }
.program-art-summit { background: radial-gradient(ellipse at center, #4b3017, #171511); }
.art-picture { display: block; }
.art-picture img { width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: cover; }
.program-video :is(.program-video-trigger, .program-video-player) { display: block; width: 100%; aspect-ratio: var(--program-video-ratio); background: #171511; }
.program-video-trigger { position: relative; padding: 0; border: 0; color: #171511; }
.program-video-trigger .art-picture { position: absolute; inset: 0; }
.program-video-trigger .art-picture img { height: 100%; aspect-ratio: auto; }
.program-video-trigger:focus-visible { outline-offset: -4px; }
.program-video-trigger .video-play {
  position: absolute;
  inset: auto auto .65rem .65rem;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .45rem .7rem;
  border-radius: .25rem;
  background: var(--orange-soft);
  font-size: .85rem;
  font-weight: 800;
}
.program-offer {
  display: grid;
  gap: .7rem;
  margin-top: .85rem;
  padding: .85rem clamp(.7rem, 2vw, 1.15rem);
  border: 1px solid #845a38;
  border-radius: .45rem;
  background: #261b14;
}
.program-purchase { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; border-top: 1px solid #684a33; padding-top: .65rem; }
.program-purchase .booking { max-width: 100%; margin-block-start: 1.8rem; }
.booking > .button { min-width: 8rem; }
.program-offer .price { margin-top: .35rem; color: var(--orange); font-size: clamp(1.85rem, 3vw, 2.5rem); }
.program-offer .price-note { color: var(--muted); }
.program-offer .program-label { margin-top: 0; }
.program-package { max-width: 50ch; margin-top: .35rem; color: var(--muted); font-size: .9rem; }
.booking:has([hidden]) { display: none; }
.signup-slot:has(.enrollment:not([hidden])) { margin-top: .8rem; }
.enrollment { padding: clamp(.85rem, 3vw, 1.55rem); border-radius: .45rem; color: var(--ink); background: var(--paper); color-scheme: light; }
.enrollment h3 { margin-bottom: .7rem; font-size: 1.12rem; }
.enrollment a { color: #603607; }
.shared-enrollment { max-width: 48rem; margin-bottom: 2rem; }
.shared-enrollment .signup-anchor { display: block; }
.shared-enrollment > .enrollment {
  border: 1px solid #845a38;
  border-top: 3px solid var(--orange);
  color: var(--paper);
  background: var(--surface);
  color-scheme: dark;
}
.shared-enrollment .section-heading { margin-bottom: .95rem; }
.enrollment-fields { display: grid; gap: .6rem .85rem; padding: 0; border: 0; margin: 0; min-width: 0; }
.enrollment-field { display: grid; gap: .24rem; min-width: 0; font-size: .88rem; font-weight: 650; }
.enrollment-field :is(input, select) { width: 100%; min-height: 2.75rem; min-width: 0; padding: .48rem .6rem; border: 1px solid #817562; border-radius: .24rem; color: var(--ink); background: #fff; }
.enrollment-program { max-width: 32rem; margin-bottom: .85rem; }
.enrollment-program select { font: inherit; }
.shared-enrollment .enrollment-field :is(input, select) {
  border-color: #85705b;
  color: var(--paper);
  background: var(--ink);
  font-size: 1rem;
}
.enrollment-consent { display: flex; align-items: flex-start; gap: .5rem; margin-block: .85rem; font-size: .87rem; }
.enrollment-consent input { flex: none; width: 1.15rem; height: 1.15rem; margin: .12rem 0 0; accent-color: #7d3e0c; }
.enrollment-submit { min-height: 44px; padding: .5rem .85rem; border: 1px solid transparent; border-radius: .25rem; color: var(--ink); background: var(--orange); font-size: .88rem; font-weight: 800; }
.enrollment-submit:enabled:hover { background: var(--orange-soft); }
.enrollment-submit:disabled { opacity: .6; cursor: not-allowed; }
.enrollment-status:not(:empty) { margin-top: .55rem; font-size: .88rem; }
.enrollment [data-heme-widget] { display: block; width: 100%; min-width: 0; }
.enrollment [data-heme-widget] .order-form { width: 100%; min-width: 0; }
.enrollment [data-heme-widget] img { height: auto; }
.program-more { margin-top: .65rem; }
.program-details + .program-details { margin-top: .4rem; }
.program-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  min-height: 44px;
  padding: .5rem .7rem;
  border: 1px solid var(--line);
  border-radius: .35rem;
  color: var(--orange-soft);
  background: #241c17;
  font-size: .9rem;
  font-weight: 700;
  list-style: none;
}
.program-details summary::-webkit-details-marker { display: none; }
.program-details summary::after { content: "+" / ""; font-size: 1.15rem; line-height: 1; }
.program-details[open] summary::after { content: "−" / ""; }
.program-details summary:hover { background: #3b2c1e; }
.program-details ul { margin: 0; padding: 0 .4rem .85rem 1.3rem; color: var(--muted); font-size: .9rem; }
.program-details[open] ul { padding-top: .65rem; }
.program-details li + li { margin-top: .32rem; }

.site-footer { border-top: 1px solid #845a38; background: #12100e; }
.footer-inner { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 1.2rem 3rem; padding-block: clamp(1.45rem, 3vw, 2.4rem); }
.footer-brand p { margin-top: .55rem; color: var(--muted); font-size: .82rem; }
.footer-inner nav { flex: 1 1 23rem; max-width: 45rem; display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; color: var(--muted); font-size: .86rem; }
.footer-inner nav :is(a, button) { display: inline-flex; min-height: 32px; align-items: center; text-underline-offset: .22em; }
.footer-inner nav button { padding: 0; border: 0; color: inherit; background: transparent; text-decoration: underline; }
.footer-inner nav :is(a, button):hover { color: var(--orange); }

.cookie-bar {
  position: fixed;
  z-index: 10;
  left: max(.45rem, env(safe-area-inset-left));
  right: max(.45rem, env(safe-area-inset-right));
  bottom: max(.45rem, env(safe-area-inset-bottom));
  max-width: 48rem;
  max-height: calc(100dvh - 1rem - env(safe-area-inset-bottom));
  overflow-y: auto;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .3rem .8rem;
  padding: .4rem .5rem;
  border: 1px solid #7ea3ac;
  border-radius: .35rem;
  color: var(--paper);
  background: rgb(19 37 46 / 90%);
  backdrop-filter: blur(12px);
  box-shadow: 0 .25rem 1rem #0007;
}
.cookie-copy { flex: 1 1 13rem; min-width: 0; }
.cookie-copy p { color: #d9e6e9; font-size: .78rem; line-height: 1.35; }
.cookie-copy a { color: #f2f8f9; text-underline-offset: .14em; }
.cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.cookie-actions button { min-height: 44px; padding: .25rem .4rem; border: 1px solid #90a9b2; border-radius: .25rem; color: #f2f8f9; background: transparent; font-size: .76rem; font-weight: 750; overflow-wrap: anywhere; }
.cookie-actions button:hover { color: #13252e; background: #d9e6e9; }
.cookie-actions [data-cookie-choice="marketing"] { color: #102719; border-color: #76da9c; background: #76da9c; }
.cookie-actions [data-cookie-choice="marketing"]:hover { border-color: #a2eabd; background: #a2eabd; }

@media (width < 768px) {
  .hero-inner { padding-block: 1.25rem 1.2rem; }
  .hero-art { display: none; }
  .mobile-offer-stage {
    --poster-width: min(calc(100% + 2 * var(--gutter)), 520px);
    position: relative;
    isolation: isolate;
    display: grid;
    width: var(--poster-width);
    aspect-ratio: 5 / 6;
    margin-inline: calc((100% - var(--poster-width)) / 2);
    margin-bottom: .65rem;
    overflow: hidden;
    background: #181410;
  }
  .mobile-stage-picture { position: absolute; inset: 0; mask-image: linear-gradient(#000 51%, transparent 67%); }
  .mobile-stage-picture img { width: 100%; height: auto; }
  .mobile-stage-packages {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(min-content, 1fr);
    gap: 2rem .65rem;
    margin-block-start: 64.8%;
    padding: 1.9rem .75rem .8rem;
  }
  .mobile-stage-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    min-width: 44px;
    min-height: 44px;
    padding: .4rem .35rem;
    border: 1px solid #a97750;
    border-radius: .35rem;
    background: linear-gradient(145deg, #302219, #211a16);
    text-align: center;
    text-decoration: none;
  }
  .mobile-stage-link > span:not(.button-offer-tag) {
    color: var(--paper);
    font-size: clamp(.85rem, 3.4vw, 1.125rem);
    font-weight: 800;
    line-height: 1.15;
    text-wrap: balance;
  }
  .mobile-stage-link .button-offer-tag {
    inset: auto .22rem calc(100% - .25rem) auto;
    transform: rotate(-8deg);
    transform-origin: center;
  }
  .mobile-stage-link::after { content: "↘" / ""; color: var(--orange); }
  .mobile-stage-link:is(:hover, :active, :focus-visible) { border-color: var(--orange); background: #38261c; }
}

@media (max-width: 479px) {
  .program-purchase .booking, .program-purchase .button { width: 100%; }
  .cookie-actions { width: 100%; }
  .enrollment:has([data-heme-widget]) { padding-inline: .55rem; }
  .enrollment [data-heme-widget] .order-form { padding-inline: .45rem; }
  .enrollment [data-heme-widget] .el-dialog { min-width: 0 !important; max-width: calc(100% - 1rem); }
  .enrollment [data-heme-widget] .el-button {
    max-width: 100%;
    padding-inline: .6rem;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .enrollment [data-heme-widget] .el-select { max-width: 100%; }
  .enrollment [data-heme-widget] .el-radio-group + .el-select { margin-block-start: .25rem; }
  .enrollment [data-heme-widget] .el-checkbox { max-width: 100%; margin-inline-end: 0 !important; }
  .enrollment [data-heme-widget] .el-checkbox__label { overflow-wrap: anywhere; white-space: normal; }
  .enrollment [data-heme-widget] :is(.vue-tel-input, .vti__input) { min-width: 0; }
}

@media (min-width: 480px) {
  :root { --gutter: 32px; }
  .enrollment-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
  :root { --gutter: 40px; }
  .header-inner { min-height: 4rem; }
  .hero-inner {
    display: grid;
    align-content: center;
    min-height: 18rem;
    padding-block: 1.5rem;
  }
  .hero-copy { max-width: 55%; }
  .hero h1 { font-size: clamp(2.4rem, 5.8vw, 3.7rem); }
  .hero-art { height: 100%; background-position: 6rem 0; }
  .hero-art::after { background: linear-gradient(90deg, #171311 23%, transparent 58%), linear-gradient(180deg, transparent 92%, #171311); }
  .hero-lettering { inset: .8rem auto auto 45%; font-size: clamp(4.5rem, 10vw, 6.75rem); }
  .hero-portrait { inset-inline: auto var(--gutter); width: 17rem; transform: none; }
  .hero-button { width: auto; gap: 2rem; }
  .clock-status { font-size: .75rem; }
  .offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .offer-card { gap: .35rem .6rem; padding: .82rem; }
  .offer-card h3 { font-size: 1.15rem; }
  .card-price .price { font-size: 1.38rem; }
  .art-picture img { aspect-ratio: 4 / 3; }
}

@media (min-width: 1024px) {
  :root { --gutter: 55px; }
  .campaign-clock { display: flex; align-items: center; gap: .85rem; }
  .clock-status { padding-bottom: .75rem; font-size: .8rem; }
  .clock-digits { gap: .45rem; }
  .clock-digits dd { font-size: clamp(1.6rem, 1.9vw, 1.9rem); }
  .clock-digit { width: clamp(1.7rem, 2.35vw, 2.2rem); height: clamp(2.2rem, 3vw, 2.65rem); }
  .campaign-overview {
    --stage-width: clamp(15.5rem, 30vw, 25rem);
    --stage-gap: clamp(.7rem, 1.5vw, 1.5rem);
    --duo-width: calc(var(--stage-width) - .5rem);
    display: grid;
    padding-block: clamp(1.25rem, 3.5vh, 2.5rem);
    padding-inline: max(var(--gutter), calc((100% - var(--measure)) / 2));
    border-bottom: 1px solid var(--line);
    background: radial-gradient(ellipse at 50% 12%, #251814, #141312 61%, var(--ink));
  }
  .campaign-overview .shell { width: 100%; }
  .campaign-overview > :is(.hero, .offers) { grid-area: 1 / 1; }
  .hero { z-index: 1; width: var(--stage-width); justify-self: center; border: 0; background: none; }
  .hero-inner { display: block; min-height: 0; padding-block: calc(var(--duo-width) + .9rem) .4rem; text-align: center; }
  .hero-copy { max-width: none; }
  .hero h1 { font-size: clamp(2.4rem, 3.7vw, 3.5rem); }
  .hero-intro { max-width: 32ch; margin-inline: auto; font-size: .95rem; }
  .hero-art {
    inset-inline: 0;
    height: calc(var(--duo-width) + .8rem);
    background: radial-gradient(ellipse at 50% 30%, #a94223 0%, #642e1d 30%, transparent 72%);
  }
  .hero-art::after { background: linear-gradient(180deg, transparent 93%, #1b1513); }
  .hero-lettering, .hero-portrait { inset-inline: 50% auto; transform: translateX(-50%); }
  .hero-lettering { top: 1.3rem; font-size: clamp(4.25rem, 7.1vw, 6.7rem); }
  .hero-portrait { top: .65rem; width: var(--duo-width); }
  .offers { display: flex; flex-direction: column; padding-block: 0; }
  .offers .section-heading { align-self: flex-start; max-width: calc((100% - var(--stage-width)) / 2 - var(--stage-gap)); font-size: 1.2rem; }
  .offer-grid {
    grid-template-columns: minmax(0, 1fr) var(--stage-width) minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(11rem, auto));
    align-content: start;
    gap: clamp(.65rem, calc(var(--duo-width) * .5 - 8rem), 4rem) var(--stage-gap);
  }
  .offer-card { gap: .22rem .55rem; padding: .65rem .75rem; }
  .offer-card:nth-child(odd) { grid-column: 1; }
  .offer-card:nth-child(even) { grid-column: 3; }
  .offer-card h3 { font-size: 1.07rem; }
  .program-body { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: start; gap: clamp(.9rem, 2vw, 1.75rem); }
  .art-picture img { aspect-ratio: 16 / 9; }
}

@media (min-width: 1024px) and (max-height: 800px) {
  .hero-label { margin-bottom: .35rem; }
  .hero h1 { font-size: clamp(1.6rem, 2.5vw, 2rem); }
  .hero h1 span { display: inline; }
  .hero-intro { font-size: .87rem; line-height: 1.35; }
  .hero-button { margin-top: .6rem; }
}

@media (min-width: 1024px) and (max-height: 680px) {
  .campaign-overview { padding-block: .75rem; }
  .hero-label { display: none; }
  .offers .section-heading { margin-bottom: .45rem; }
  .offer-card { gap: .18rem .5rem; padding-block: .5rem; }
}
