/* Campaign-only styles. Header, footer typography and global button visuals stay shared. */
body.single-haptelle_campaign { overflow-x: clip; }

.hc-campaign {
  --hc-nav-offset: 120px;
  --hc-brown: #493326;
  --hc-content-max: 1280px;
  --hc-page-gutter: 40px;
  background: var(--hc-page-bg, #f6f0e7);
  color: var(--hc-brown);
  isolation: isolate;
}
.hc-campaign.hc-page-width-wide { --hc-content-max: 1440px; }
.hc-campaign * { box-sizing: border-box; }
.hc-campaign [hidden] { display: none !important; }
.hc-campaign .hc-module {
  position: relative;
  margin: 0;
  overflow: clip;
  background: transparent;
  scroll-margin-top: var(--hc-nav-offset);
}
.hc-campaign .hc-background-layer {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--hc-bg);
  pointer-events: none;
}
/* Legacy module width: standard limits only the background range; full spans the viewport. */
.hc-campaign .hc-background-contained > .hc-background-layer,
.hc-campaign .hc-width-standard > .hc-background-layer {
  inset-inline: max(var(--hc-page-gutter), calc((100% - var(--hc-content-max)) / 2));
}
/* Banner artwork and overlays always span the viewport; width controls only copy inside. */
.hc-campaign .hc-banner > .hc-background-layer { inset-inline: 0; }
.hc-campaign .hc-inner {
  position: relative;
  z-index: 2;
  width: calc(100% - var(--hc-page-gutter) - var(--hc-page-gutter));
  max-width: var(--hc-content-max);
  margin-inline: auto;
  padding: 0;
}
.hc-campaign .hc-top-none { padding-top: 0; }
.hc-campaign .hc-top-small { padding-top: 28px; }
.hc-campaign .hc-top-medium { padding-top: 64px; }
.hc-campaign .hc-top-large { padding-top: 108px; }
.hc-campaign .hc-bottom-none { padding-bottom: 0; }
.hc-campaign .hc-bottom-small { padding-bottom: 28px; }
.hc-campaign .hc-bottom-medium { padding-bottom: 64px; }
.hc-campaign .hc-bottom-large { padding-bottom: 108px; }
.hc-campaign .hc-tone-dark { color: #493326; }
.hc-campaign .hc-tone-light { color: #fff4e2; }
.hc-campaign .hc-align-left { text-align: left; }
.hc-campaign .hc-align-center { text-align: center; }
.hc-campaign .hc-align-right { text-align: right; }
.hc-campaign .hc-copy { width: 100%; max-width: 820px; min-width: 0; }
.hc-campaign .hc-title .hc-copy { max-width: 900px; }
.hc-campaign .hc-align-center .hc-copy { margin-inline: auto; }
.hc-campaign .hc-align-right .hc-copy { margin-left: auto; }
.hc-campaign .hc-heading {
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.1;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.hc-campaign .hc-eyebrow {
  margin: 0 0 22px;
  color: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .23em;
  line-height: 1.7;
  text-transform: uppercase;
}
.hc-campaign .hc-subtitle {
  margin: 16px 0 0;
  color: inherit;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.75;
  opacity: .86;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.hc-campaign .hc-title .hc-subtitle { margin-top: 12px; }
.hc-campaign .hc-decoration {
  display: block;
  width: 52px;
  height: 1px;
  margin: 28px 0 0;
  background: currentColor;
  opacity: .5;
}
.hc-campaign .hc-align-center .hc-decoration { margin-inline: auto; }
.hc-campaign .hc-text-link {
  display: inline-block;
  margin-top: 24px;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
  color: inherit;
  font-size: 14px;
  font-weight: 500;
}
.hc-campaign a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }

/* Banner media and copy have separate layers; its inner container uses the shared width. */
.hc-campaign .hc-banner { display: flex; align-items: center; }
.hc-campaign .hc-height-small { min-height: 340px; }
.hc-campaign .hc-height-medium { min-height: 500px; }
.hc-campaign .hc-height-large { min-height: 680px; }
.hc-campaign .hc-height-full { min-height: calc(100svh - 100px); }
.hc-campaign .hc-banner-media,
.hc-campaign .hc-banner-overlay { position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.hc-campaign .hc-banner-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hc-focus, 50% 50%);
}
.hc-campaign .hc-banner-overlay { z-index: 1; background: var(--hc-overlay); opacity: var(--hc-opacity); }
.hc-campaign .hc-banner .hc-copy { position: relative; z-index: 2; }
.hc-campaign .hc-content-narrow .hc-copy { max-width: 520px; }
.hc-campaign .hc-content-medium .hc-copy { max-width: 760px; }
.hc-campaign .hc-content-wide .hc-copy { max-width: 1050px; }
.hc-campaign .hc-banner.hc-variant-hero.hc-height-large { min-height: 560px; }
.hc-campaign .hc-banner.hc-variant-hero .hc-copy { max-width: 920px; }
.hc-campaign .hc-banner.hc-variant-hero .hc-eyebrow {
  display: inline-block;
  padding: 8px 34px;
  margin-bottom: 22px;
  background: #5b3928;
  color: #fff3df;
  letter-spacing: .2em;
  clip-path: polygon(7% 0, 93% 0, 100% 50%, 93% 100%, 7% 100%, 0 50%);
  box-shadow: 0 5px 16px rgba(55, 34, 23, .14);
}
.hc-campaign .hc-banner.hc-variant-hero .hc-heading { letter-spacing: -.025em; }
.hc-campaign .hc-banner.hc-variant-hero .hc-subtitle { max-width: 720px; margin: 12px auto 0; }
.hc-campaign .hc-banner.hc-variant-hero .hc-clock { margin-top: 22px; }
.hc-campaign .hc-banner.hc-variant-hero .hc-clock > [data-timer],
.hc-campaign .hc-banner.hc-variant-hero .hc-clock > [data-ended] {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  text-align: center;
}
.hc-campaign .hc-banner.hc-variant-hero .hc-clock-label {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 12px;
  padding: 3px 12px;
  border: 1px solid rgba(238, 192, 127, .65);
  border-radius: 999px;
  background: rgba(39, 22, 13, .88);
  color: #fff4e2;
  font-size: clamp(13px, 1.15vw, 15px);
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.45;
  text-shadow: 0 1px 2px rgba(28, 15, 7, .65);
}
.hc-campaign .hc-banner.hc-variant-hero .hc-clock-units {
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  justify-content: center;
}
.hc-campaign .hc-banner.hc-variant-hero .hc-clock-units { gap: 14px; }
.hc-campaign .hc-banner.hc-variant-hero .hc-clock-units > span {
  min-width: 76px;
  align-items: center;
  justify-content: center;
  padding: 10px 13px;
  border: 1px solid rgba(94, 61, 43, .12);
  border-radius: 7px;
  background: rgba(255, 248, 237, .76);
  box-shadow: 0 4px 14px rgba(71, 48, 34, .06);
}
.hc-campaign .hc-banner.hc-variant-hero .hc-clock-units > span + span::before { top: 9px; left: -12px; font-size: 20px; opacity: .55; }
.hc-campaign .hc-banner.hc-variant-hero .hc-clock-units b { font-size: 28px; }
.hc-campaign .hc-banner.hc-variant-hero .hc-clock-units small { font-size: 9px; letter-spacing: .04em; }
.hc-campaign .hc-position-left .hc-copy { margin-left: 0; margin-right: auto; }
.hc-campaign .hc-position-center .hc-copy { margin-inline: auto; }
.hc-campaign .hc-position-right .hc-copy { margin-left: auto; margin-right: 0; }

/* CTA arrangement only. tf-btn classes own their colors, border, type, radius and interaction. */
.hc-campaign .hc-buttons {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}
.hc-campaign .hc-align-center .hc-buttons { justify-content: center; }
.hc-campaign .hc-align-right .hc-buttons { justify-content: flex-end; }
.hc-campaign a.hc-button {
  max-width: 100%;
  min-height: 44px;
  height: auto;
  white-space: normal;
  text-align: center;
  text-decoration: none;
}
.hc-campaign .hc-button > span { min-width: 0; overflow-wrap: anywhere; }
.hc-campaign .hc-clock { margin-top: 30px; color: inherit; }
.hc-campaign .hc-clock-label { margin: 0 0 14px; font-size: 11px; letter-spacing: .2em; line-height: 1.5; text-transform: uppercase; }
.hc-campaign .hc-clock-units { display: flex; justify-content: flex-start; gap: clamp(14px, 3vw, 36px); }
.hc-campaign .hc-align-center .hc-clock-units { justify-content: center; }
.hc-campaign .hc-align-right .hc-clock-units { justify-content: flex-end; }
.hc-campaign .hc-clock-units > span { display: flex; position: relative; min-width: 46px; flex-direction: column; gap: 7px; }
.hc-campaign .hc-clock-units > span + span::before { position: absolute; top: 0; left: clamp(-24px, -1.6vw, -10px); content: ':'; font-size: 24px; font-weight: 300; opacity: .4; }
.hc-campaign .hc-clock-units b { font-size: 36px; font-variant-numeric: tabular-nums; font-weight: 400; letter-spacing: .03em; line-height: 1.05; }
.hc-campaign .hc-clock-units small { font-size: 9px; letter-spacing: .1em; opacity: .75; text-transform: uppercase; }
.hc-campaign [data-ended] { margin: 0; font-size: 16px; line-height: 1.6; }
.hc-campaign .hc-preview-badge { position: relative; z-index: 3; padding: 12px 20px; background: #fff3cb; color: #543d22; font-size: 13px; text-align: center; }

/* M03: image side and column ratio are independent of the selected image aspect ratio. */
.hc-campaign .hc-split-layout { display: grid; min-width: 0; align-items: center; gap: clamp(28px, 5vw, 76px); }
.hc-campaign .hc-split-image { grid-area: image; min-width: 0; margin: 0; }
.hc-campaign .hc-split-image picture { display: block; }
.hc-campaign .hc-split-image img {
  display: block;
  width: 100%;
  height: auto;
  object-position: var(--hc-focus, 50% 50%);
  border-radius: 2px;
}
.hc-campaign .hc-image-fit-cover .hc-split-image img { object-fit: cover; }
.hc-campaign .hc-image-fit-contain .hc-split-image img { object-fit: contain; background: rgba(255, 255, 255, .18); }
.hc-campaign .hc-image-aspect-square .hc-split-image img { aspect-ratio: 1 / 1; }
.hc-campaign .hc-image-aspect-landscape-4-3 .hc-split-image img { aspect-ratio: 4 / 3; }
.hc-campaign .hc-image-aspect-portrait-3-4 .hc-split-image img { aspect-ratio: 3 / 4; }
.hc-campaign .hc-split-layout > .hc-copy { grid-area: copy; min-width: 0; }
.hc-campaign .hc-image-side-left .hc-split-layout { grid-template-areas: "image copy"; }
.hc-campaign .hc-image-side-right .hc-split-layout { grid-template-areas: "copy image"; }
.hc-campaign .hc-image-column-ratio-equal .hc-split-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hc-campaign .hc-image-side-left.hc-image-column-ratio-image-wide .hc-split-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.hc-campaign .hc-image-side-right.hc-image-column-ratio-image-wide .hc-split-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.hc-campaign .hc-image-side-left.hc-image-column-ratio-text-wide .hc-split-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.hc-campaign .hc-image-side-right.hc-image-column-ratio-text-wide .hc-split-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.hc-campaign .hc-split-layout.hc-no-image { display: block; }
.hc-campaign .hc-split-layout.hc-no-image .hc-copy { max-width: 940px; }
.hc-campaign .hc-body { margin: 22px 0 0; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.hc-campaign .hc-detail-list { display: grid; gap: 16px; margin: 30px 0 0; padding: 0; list-style: none; }
.hc-campaign .hc-detail-item { display: grid; min-width: 0; grid-template-columns: 38px minmax(0, 1fr); align-items: start; gap: 14px; }
.hc-campaign .hc-icon { display: inline-flex; flex: 0 0 auto; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid currentColor; border-radius: 50%; font-size: 19px; line-height: 1; opacity: .86; }
.hc-campaign .hc-detail-item h3 { margin: 1px 0 0; color: inherit; font-size: 15px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.hc-campaign .hc-detail-item p { margin: 4px 0 0; color: inherit; font-size: 14px; line-height: 1.7; opacity: .82; overflow-wrap: anywhere; }
.hc-campaign .hc-image-copy .hc-buttons { margin-top: 28px; }

/* M04 */
.hc-campaign .hc-perks-heading { max-width: 900px; margin: 0 auto 32px; text-align: center; }
.hc-campaign .hc-perks-heading .hc-subtitle { margin-top: 14px; }
.hc-campaign .hc-perks-grid { display: grid; min-width: 0; grid-template-columns: repeat(var(--hc-perk-columns, 4), minmax(0, 1fr)); gap: 16px; }
.hc-campaign .hc-perks-cols-2 { --hc-perk-columns: 2; }
.hc-campaign .hc-perks-cols-3 { --hc-perk-columns: 3; }
.hc-campaign .hc-perks-cols-4 { --hc-perk-columns: 4; }
.hc-campaign .hc-perk { min-width: 0; height: 100%; padding: clamp(16px, 2vw, 26px); border: 1px solid transparent; border-radius: 3px; background: rgba(255, 255, 255, .34); }
.hc-campaign .hc-perks-card-bordered .hc-perk { border-color: rgba(73, 51, 38, .22); background: transparent; }
.hc-campaign .hc-tone-light.hc-perks-card-bordered .hc-perk { border-color: rgba(255, 255, 255, .35); }
.hc-campaign .hc-perk-content,
.hc-campaign .hc-perk-link { display: flex; min-width: 0; height: 100%; align-items: flex-start; gap: 14px; color: inherit; text-decoration: none; }
.hc-campaign .hc-perks-grid .hc-icon { width: 42px; height: 42px; font-size: 20px; }
.hc-campaign .hc-perk-image { display: block; width: 56px; height: 56px; flex: 0 0 56px; border-radius: 2px; object-fit: cover; }
.hc-campaign .hc-perk-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 7px; }
.hc-campaign .hc-perk-title { margin: 0; color: inherit; font-size: 16px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.hc-campaign .hc-perk-description { color: inherit; font-size: 13px; line-height: 1.65; opacity: .82; overflow-wrap: anywhere; }
.hc-campaign .hc-perk-link-label { display: inline-flex; margin-top: 3px; align-items: center; gap: 7px; border-bottom: 1px solid currentColor; font-size: 12px; line-height: 1.6; }
.hc-campaign .hc-perk-link:hover .hc-perk-link-label { text-decoration: none; opacity: .7; }
.hc-campaign .hc-perk-link .hc-perk-title,
.hc-campaign .hc-perk-emphasized .hc-perk-title { text-decoration-line: underline; text-decoration-color: #8a6243; text-decoration-thickness: 2px; text-underline-offset: 4px; text-decoration-skip-ink: auto; }
.hc-campaign .hc-perk-emphasized .hc-perk-title { text-decoration-thickness: 2.5px; }
.hc-campaign .hc-perk-link:hover .hc-perk-title { text-decoration-thickness: 2.5px; }
.hc-campaign .hc-perks-style-compact .hc-perk { padding: 16px; background: rgba(255, 255, 255, .22); }
.hc-campaign .hc-perks-style-compact .hc-perk-content,
.hc-campaign .hc-perks-style-compact .hc-perk-link { align-items: center; gap: 12px; }
.hc-campaign .hc-perks-style-compact .hc-perk-image { width: 44px; height: 44px; flex-basis: 44px; }
.hc-campaign .hc-perks-style-compact .hc-perk-title { font-size: 14px; }
.hc-campaign .hc-perks-style-compact .hc-perk-description { font-size: 12px; }

/* M05 remains a detail-only catalog presentation. */
.hc-campaign .hc-product-heading { display: grid; margin-bottom: 32px; align-items: center; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); column-gap: 20px; }
.hc-campaign .hc-product-heading-copy { min-width: 0; grid-column: 2; text-align: center; }
.hc-campaign .hc-product-heading:empty { display: none; }
.hc-campaign .hc-product-heading .hc-text-link { display: inline-flex; max-width: 100%; margin: 0; align-items: center; justify-self: end; grid-column: 3; grid-row: 1; gap: 8px; text-align: right; overflow-wrap: anywhere; }
.hc-campaign .hc-product-grid { display: grid; grid-template-columns: repeat(var(--hc-product-cols, 3), minmax(0, 1fr)); align-items: stretch; gap: 32px 24px; }
.hc-campaign .hc-product-card { display: flex; min-width: 0; flex-direction: column; gap: 12px; }
.hc-campaign .hc-product-image { position: relative; display: block; aspect-ratio: 3 / 4; overflow: visible; border-radius: 10px; background: #eee7df; }
.hc-campaign .hc-product-image > img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.hc-campaign .hc-product-sticker { position: absolute; z-index: 2; top: 12px; left: 12px; display: block; max-width: calc(100% - 24px); pointer-events: none; }
.hc-campaign .hc-product-sticker-right-top { right: 12px; left: auto; }
.hc-campaign .hc-product-sticker-size-small { width: 64px; height: 88px; }
.hc-campaign .hc-product-sticker-size-medium { width: 96px; height: 132px; }
.hc-campaign .hc-product-sticker-size-large { width: 128px; height: 176px; }
.hc-campaign .hc-product-sticker-image { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: top center; }
.hc-campaign .hc-product-mode-slider .hc-product-grid { display: flex; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.hc-campaign .hc-product-mode-slider .hc-product-card { flex: 0 0 calc((100% - 24px) / 2); scroll-snap-align: start; scroll-snap-stop: always; }
.hc-campaign .hc-product-mode-slider.hc-product-columns-3 .hc-product-card { flex-basis: calc((100% - 48px) / 3); }
.hc-campaign .hc-product-mode-slider.hc-product-columns-4 .hc-product-card { flex-basis: calc((100% - 72px) / 4); }
.hc-campaign .hc-product-slider { position: relative; min-width: 0; }
.hc-campaign .hc-product-slider-track::-webkit-scrollbar { display: none; }
.hc-campaign .hc-product-slider-controls { position: absolute; z-index: 3; top: var(--hc-slider-arrow-top, 0); left: -18px; right: -18px; display: flex; justify-content: space-between; margin: 0; pointer-events: none; transform: translateY(-50%); }
.hc-campaign .hc-product-slider-button { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid currentColor; border-radius: 50%; background: var(--hc-page-bg, #f6f0e7); color: inherit; pointer-events: auto; font-size: 21px; line-height: 1; cursor: pointer; }
.hc-campaign .hc-product-slider-button:hover:not(:disabled) { background: #eee4d6; }
.hc-campaign .hc-product-slider-button:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.hc-campaign .hc-product-slider-button:disabled { opacity: .38; cursor: not-allowed; }
.hc-campaign .hc-product-slider-button[hidden],
.hc-campaign .hc-product-slider-controls[hidden] { display: none !important; }
.hc-campaign .hc-product-slider-track.is-dragging { cursor: grabbing; user-select: none; }
.hc-campaign .hc-product-slider-track.is-dragging a { cursor: grabbing; }
.hc-campaign .hc-product-slider-track { scroll-behavior: smooth; }
.hc-campaign .hc-product-name { margin: 0; font-size: 19px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.hc-campaign .hc-product-name a { color: inherit; text-decoration: none; }
.hc-campaign .hc-product-price { font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.hc-campaign .hc-product-price del { margin-right: 5px; opacity: .6; }
.hc-campaign .hc-product-price ins { font-weight: 600; text-decoration: none; }

@media (min-width: 1200px) {
  .hc-campaign a.hc-button { min-height: 58px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.single-haptelle_campaign .tf-footer .footer-wrap-2 { max-width: 100%; }
  body.single-haptelle_campaign .tf-footer .footer-menu-list a { overflow-wrap: anywhere; }
  .hc-campaign { --hc-page-gutter: 32px; }
  .hc-campaign .hc-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-campaign .hc-product-mode-slider .hc-product-grid { gap: 20px; }
  .hc-campaign .hc-product-mode-slider .hc-product-card,
  .hc-campaign .hc-product-mode-slider.hc-product-columns-3 .hc-product-card,
  .hc-campaign .hc-product-mode-slider.hc-product-columns-4 .hc-product-card { flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 767px) {
  .hc-campaign { --hc-page-gutter: 20px; --hc-nav-offset: 96px; }
  .hc-campaign .hc-top-small { padding-top: 22px; }
  .hc-campaign .hc-top-medium { padding-top: 44px; }
  .hc-campaign .hc-top-large { padding-top: 68px; }
  .hc-campaign .hc-bottom-small { padding-bottom: 22px; }
  .hc-campaign .hc-bottom-medium { padding-bottom: 44px; }
  .hc-campaign .hc-bottom-large { padding-bottom: 68px; }
  .hc-campaign .hc-mobile-height-small { min-height: 300px; }
  .hc-campaign .hc-mobile-height-medium { min-height: 500px; }
  .hc-campaign .hc-mobile-height-large { min-height: 640px; }
  .hc-campaign .hc-mobile-height-full { min-height: calc(100svh - 80px); }
  .hc-campaign .hc-heading { letter-spacing: -.03em; }
  .hc-campaign .hc-eyebrow { margin-bottom: 18px; font-size: 10px; letter-spacing: .18em; }
  .hc-campaign .hc-subtitle { margin-top: 14px; font-size: 15px; line-height: 1.7; }
  .hc-campaign .hc-banner-media img { object-position: var(--hc-mobile-focus, 50% 50%); }
  /* Dedicated mobile artwork: let the banner follow the artwork ratio on phones so cover
     does not crop the mobile composition. Desktop keeps the configured desktop heights. */
  .hc-campaign .hc-banner.hc-banner-mobile-art { min-height: 0; aspect-ratio: var(--hc-mobile-image-ratio, auto); }
  .hc-campaign .hc-height-small { min-height: 300px; }
  .hc-campaign .hc-height-medium { min-height: 440px; }
  .hc-campaign .hc-height-large { min-height: 560px; }
  .hc-campaign .hc-buttons { gap: 12px; margin-top: 28px; }
  .hc-campaign .hc-clock { margin-top: 26px; }
  .hc-campaign .hc-clock-units { gap: 24px; }
  .hc-campaign .hc-clock-units b { font-size: 30px; }
  .hc-campaign .hc-clock-units > span + span::before { left: -14px; font-size: 22px; }
  .hc-campaign .hc-split-layout { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .hc-campaign .hc-image-copy.hc-mobile-order-text-first .hc-split-layout > .hc-copy { order: 0; }
  .hc-campaign .hc-image-copy.hc-mobile-order-text-first .hc-split-image { order: 1; }
  .hc-campaign .hc-split-layout.hc-no-image { display: block; }
  .hc-campaign .hc-body { font-size: 15px; line-height: 1.75; }
  .hc-campaign .hc-detail-list { margin-top: 24px; gap: 14px; }
  .hc-campaign .hc-perks-heading { margin-bottom: 24px; }
  .hc-campaign .hc-perks-grid { gap: 10px; }
  .hc-campaign .hc-perks-grid .hc-perk { padding: 14px; }
  .hc-campaign .hc-perks-style-compact .hc-perks-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-campaign .hc-perks-grid .hc-perk-content,
  .hc-campaign .hc-perks-grid .hc-perk-link { flex-direction: column; align-items: flex-start; gap: 10px; }
  .hc-campaign .hc-perks-grid .hc-perk-image { width: 44px; height: 44px; flex-basis: 44px; }
  .hc-campaign .hc-product-grid { grid-template-columns: repeat(var(--hc-product-mobile-cols, 2), minmax(0, 1fr)); gap: 28px 14px; }
  .hc-campaign .hc-product-heading { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .hc-campaign .hc-product-heading-copy { grid-column: 1; grid-row: 1; }
  .hc-campaign .hc-product-heading .hc-text-link { max-width: 100%; margin-top: 10px; justify-self: center; grid-column: 1; grid-row: 2; text-align: center; }
  .hc-campaign .hc-product-mode-slider .hc-product-grid { gap: 14px; }
  .hc-campaign .hc-product-mode-slider .hc-product-card,
  .hc-campaign .hc-product-mode-slider.hc-product-mobile-columns-2 .hc-product-card { flex-basis: calc((100% - 14px) / 2); }
  .hc-campaign .hc-product-mode-slider.hc-product-mobile-columns-1 .hc-product-card { flex-basis: 100%; }
  .hc-campaign .hc-product-sticker { top: 8px; left: 8px; max-width: calc(100% - 16px); }
  .hc-campaign .hc-product-sticker-right-top { right: 8px; left: auto; }
  .hc-campaign .hc-product-sticker-size-small { width: 50px; height: 72px; }
  .hc-campaign .hc-product-sticker-size-medium { width: 68px; height: 96px; }
  .hc-campaign .hc-product-sticker-size-large { width: 88px; height: 124px; }
  .hc-campaign .hc-product-slider-controls { left: -17px; right: -17px; }
  .hc-campaign .hc-module[data-module-id="m-5b247d0d9c583a6e"] .hc-product-slider-controls { display: none; }
  .hc-campaign .hc-module[data-module-id="m-5b247d0d9c583a6e"] .hc-product-swipe-progress { display: block; width: min(100%, 220px); height: 4px; margin: 18px auto 0; overflow: hidden; border-radius: 999px; background: rgba(76,53,40,.18); }
  .hc-campaign .hc-module[data-module-id="m-5b247d0d9c583a6e"] .hc-product-swipe-progress[hidden] { display: none !important; }
  .hc-campaign .hc-module[data-module-id="m-5b247d0d9c583a6e"] .hc-product-swipe-progress-thumb { display: block; height: 100%; border-radius: inherit; background: currentColor; transition: transform .16s linear, width .16s ease; }
  .hc-campaign .hc-product-slider-button { width: 38px; height: 38px; }
  .hc-campaign .hc-product-name { font-size: 16px; }
  .hc-campaign .hc-product-price { font-size: 15px; }
  .hc-campaign .hc-product-heading { margin-bottom: 24px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-eyebrow { padding: 7px 27px; margin-bottom: 18px; font-size: 9px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-subtitle { margin-top: 14px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-clock { margin-top: 20px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units { gap: 10px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units > span { min-width: 60px; padding: 8px 10px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units > span + span::before { top: 8px; left: -9px; font-size: 17px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units b { font-size: 24px; }
  .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units small { font-size: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .hc-campaign .hc-product-slider-track { scroll-behavior: auto; }
  .hc-campaign .hc-product-swipe-progress-thumb { transition: none; }
}

/* M07: manually maintained early-bird display; no commerce or signup state. */
.hc-campaign .hc-early-bird {
  display: flex;
  min-height: clamp(660px, 54vw, 860px);
  align-items: center;
  background: transparent;
}
.hc-campaign .hc-early-bird-media,
.hc-campaign .hc-early-bird-scrim {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.hc-campaign .hc-early-bird.hc-background-contained > .hc-early-bird-media,
.hc-campaign .hc-early-bird.hc-background-contained > .hc-early-bird-scrim {
  inset-inline: max(var(--hc-page-gutter), calc((100% - var(--hc-content-max)) / 2));
  width: auto;
}
.hc-campaign .hc-early-bird.hc-background-contained .hc-early-bird-layout { padding-inline: clamp(20px, 3vw, 48px); }
.hc-campaign .hc-early-bird-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--hc-focus, 50% 50%); }
.hc-campaign .hc-early-bird-scrim { z-index: 1; background: var(--hc-overlay, #160b05); opacity: var(--hc-opacity, .35); }
.hc-campaign .hc-early-bird-layout {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
  gap: clamp(34px, 5.5vw, 84px);
  padding-block: 56px;
  color: #fff4df;
}
.hc-campaign .hc-early-bird-copy,
.hc-campaign .hc-early-bird-card { position: relative; z-index: 2; min-width: 0; }
.hc-campaign .hc-early-bird-heading {
  max-width: 680px;
  margin: 0;
  background: linear-gradient(105deg, #fff0cc 4%, #d79a52 48%, #fff0c9 78%, #c8873d 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  filter: drop-shadow(0 2px 10px rgba(238, 173, 89, .2));
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .98;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.hc-campaign .hc-early-bird-description {
  max-width: 680px;
  margin: 14px 0 22px;
  color: rgba(255, 249, 239, .93);
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 400;
  line-height: 1.48;
  overflow-wrap: anywhere;
}
.hc-campaign .hc-early-bird-benefits { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hc-campaign .hc-early-bird-benefit { display: grid; min-width: 0; grid-template-columns: 62px minmax(0, 1fr); align-items: center; gap: 22px; }
.hc-campaign .hc-early-bird-benefit-copy { display: flex; min-width: 0; min-height: 72px; align-items: center; flex-wrap: wrap; column-gap: 7px; row-gap: 2px; padding: 12px 0; color: #fff7e9; font-size: clamp(16px, 1.55vw, 22px); line-height: 1.48; overflow-wrap: anywhere; text-shadow: 0 1px 2px rgba(0, 0, 0, .9), 0 3px 7px rgba(0, 0, 0, .55); }
.hc-campaign .hc-early-bird-benefit + .hc-early-bird-benefit .hc-early-bird-benefit-copy { border-top: 1px solid rgba(208, 153, 86, .38); }
.hc-campaign .hc-early-bird-benefit-copy strong { color: #f2d19a; font-weight: 700; }
.hc-campaign .hc-early-bird-gift { display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid rgba(220, 169, 103, .82); border-radius: 50%; background: rgba(28, 17, 10, .8); box-shadow: inset 0 0 16px rgba(233, 178, 99, .08), 0 0 12px rgba(220, 151, 67, .13); }
.hc-campaign .hc-early-bird-gift svg { display: block; width: 36px; height: 36px; fill: none; stroke: #e9c27f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.hc-campaign .hc-early-bird-card {
  padding: clamp(26px, 3.3vw, 48px);
  border: 1px solid rgba(240, 190, 113, .9);
  border-radius: 19px;
  background: rgba(19, 12, 8, .78);
  box-shadow: inset 0 0 34px rgba(196, 127, 53, .09), 0 0 26px rgba(226, 155, 68, .18), 0 22px 50px rgba(0, 0, 0, .18);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.hc-campaign .hc-early-bird-progress-heading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 20px; }
.hc-campaign .hc-early-bird-progress-heading h3 { min-width: 0; margin: 0; color: #fff7eb; font-size: clamp(17px, 1.75vw, 25px); font-weight: 400; line-height: 1.35; overflow-wrap: anywhere; }
.hc-campaign .hc-early-bird-progress-heading > p { display: flex; flex: 0 0 auto; gap: 7px; margin: 0; color: #fff0d2; font-variant-numeric: tabular-nums; font-size: clamp(31px, 3.25vw, 47px); font-weight: 750; line-height: 1.05; white-space: nowrap; }
.hc-campaign .hc-early-bird-progress { position: relative; height: 18px; margin: 30px 0 36px; overflow: hidden; border: 1px solid rgba(197, 144, 85, .6); border-radius: 999px; background: rgba(97, 67, 42, .45); box-shadow: inset 0 2px 5px rgba(0, 0, 0, .4); }
.hc-campaign .hc-early-bird-progress > span { position: relative; display: block; height: 100%; min-width: 0; border-radius: inherit; background: linear-gradient(180deg, #ffe3ab 0%, #efba70 24%, #c77c32 76%, #f2c47e 100%); box-shadow: inset 0 1px 2px rgba(255, 255, 255, .68), 0 0 12px rgba(224, 155, 70, .16); }
.hc-campaign .hc-early-bird-progress > span::after { position: absolute; inset: 2px 8px auto; height: 2px; border-radius: 999px; background: rgba(255, 248, 225, .4); content: ""; }
.hc-campaign .hc-early-bird-rewards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.hc-campaign .hc-early-bird-reward { display: grid; min-width: 0; grid-template-columns: 14px minmax(0, 1fr); align-content: start; align-items: start; gap: 12px; padding: 2px 16px 0 0; text-align: center; }
.hc-campaign .hc-early-bird-reward:nth-child(even) { padding: 2px 0 0 22px; border-left: 1px solid rgba(218, 174, 118, .46); }
.hc-campaign .hc-early-bird-dot { width: 14px; height: 14px; margin-top: 12px; border: 1px solid rgba(255, 227, 178, .7); border-radius: 50%; background: radial-gradient(circle at 32% 28%, #fff0be 0, #f3c577 29%, #bd742d 75%, #8d4f20 100%); box-shadow: 0 0 8px rgba(236, 173, 87, .3); }
.hc-campaign .hc-early-bird-reward > div { min-width: 0; }
.hc-campaign .hc-early-bird-pill { display: inline-flex; max-width: 100%; min-height: 40px; align-items: center; justify-content: center; padding: 5px 20px; border: 1px solid rgba(255, 228, 183, .55); border-radius: 999px; background: linear-gradient(180deg, #ffe1ac 0%, #efbd7a 45%, #ca8842 100%); box-shadow: inset 0 1px 2px rgba(255, 255, 255, .68), 0 2px 7px rgba(0, 0, 0, .18); color: #2f1a0c; font-size: clamp(15px, 1.55vw, 21px); font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.hc-campaign .hc-early-bird-reward p { margin: 11px 0 0; color: rgba(255, 247, 235, .93); font-size: clamp(14px, 1.4vw, 20px); line-height: 1.48; overflow-wrap: anywhere; }
.hc-campaign .hc-early-bird-hit-area { position: absolute; z-index: 3; inset: 0; display: block; color: transparent; text-decoration: none; }
.hc-campaign .hc-early-bird-hit-area:focus-visible { outline: 3px solid #ffe3ac; outline-offset: -6px; box-shadow: inset 0 0 0 7px rgba(35, 19, 9, .8); }
@media (min-width: 768px) and (max-width: 1023px) {
  .hc-campaign .hc-early-bird { min-height: 660px; }
  .hc-campaign .hc-early-bird-layout { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 28px; }
  .hc-campaign .hc-early-bird-benefit { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; }
  .hc-campaign .hc-early-bird-gift { width: 52px; height: 52px; }
  .hc-campaign .hc-early-bird-gift svg { width: 30px; height: 30px; }
  .hc-campaign .hc-early-bird-card { padding: 24px; }
  .hc-campaign .hc-early-bird-reward { grid-template-columns: 12px minmax(0, 1fr); gap: 8px; padding-right: 10px; }
  .hc-campaign .hc-early-bird-reward:nth-child(even) { padding-left: 12px; }
  .hc-campaign .hc-early-bird-pill { padding-inline: 12px; }
}
@media (max-width: 767px) {
  .hc-campaign .hc-early-bird { min-height: 0; align-items: stretch; }
  /* Mobile artwork reaches the viewport edges; copy retains its safe inset. */
  .hc-campaign .hc-early-bird.hc-background-contained > :is(.hc-background-layer, .hc-early-bird-media, .hc-early-bird-scrim) { inset-inline: 0; width: 100%; }
  .hc-campaign .hc-early-bird-media img { object-position: var(--hc-mobile-focus, 30% 50%); }
  .hc-campaign .hc-early-bird-scrim { opacity: max(var(--hc-opacity, .35), .62); }
  .hc-campaign .hc-early-bird-layout { grid-template-columns: minmax(0, 1fr); gap: 27px; padding-block: 38px; }
  .hc-campaign .hc-early-bird-heading { max-width: 560px; }
  .hc-campaign .hc-early-bird-description { margin: 16px 0 20px; font-size: 18px; }
  .hc-campaign .hc-early-bird-benefits { gap: 2px; }
  .hc-campaign .hc-early-bird-benefit { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
  .hc-campaign .hc-early-bird-benefit-copy { min-height: 64px; padding-block: 10px; font-size: 16px; }
  .hc-campaign .hc-early-bird-gift { width: 48px; height: 48px; }
  .hc-campaign .hc-early-bird-gift svg { width: 29px; height: 29px; }
  .hc-campaign .hc-early-bird-card { padding: 24px 20px; border-radius: 16px; }
  .hc-campaign .hc-early-bird-progress-heading { align-items: flex-start; gap: 10px; }
  .hc-campaign .hc-early-bird-progress-heading h3 { font-size: 17px; }
  .hc-campaign .hc-early-bird-progress-heading > p { gap: 4px; font-size: clamp(31px, 9vw, 40px); }
  .hc-campaign .hc-early-bird-progress { height: 16px; margin: 23px 0 26px; }
  .hc-campaign .hc-early-bird-rewards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .hc-campaign .hc-early-bird-reward,
  .hc-campaign .hc-early-bird-reward:nth-child(even) { grid-template-columns: 13px minmax(0, 1fr); gap: 12px; padding: 0; border: 0; text-align: left; }
  .hc-campaign .hc-early-bird-dot { width: 13px; height: 13px; margin-top: 11px; }
  .hc-campaign .hc-early-bird-pill { min-height: 36px; padding-inline: 17px; font-size: 16px; }
  .hc-campaign .hc-early-bird-reward p { margin-top: 8px; font-size: 15px; }
}

/* M06: live HTML signup form. The section background remains replaceable in the editor. */
.hc-campaign .hc-newsletter {
  min-height: 640px;
  background: var(--hc-bg, #160f0b);
  color: #fff3df;
}
.hc-campaign .hc-newsletter > .hc-background-layer { background: var(--hc-bg, #160f0b); }
.hc-campaign .hc-newsletter-media {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
}
.hc-campaign .hc-newsletter-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hc-focus, 50% 50%);
}
.hc-campaign .hc-newsletter-scrim {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--hc-overlay, #100905) 22%, transparent) 38%, color-mix(in srgb, var(--hc-overlay, #100905) 88%, transparent) 58%, var(--hc-overlay, #100905) 100%);
  opacity: var(--hc-opacity, .48);
  pointer-events: none;
}
.hc-campaign .hc-newsletter > .hc-inner {
  display: grid;
  min-height: 640px;
  align-items: center;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
}
.hc-campaign .hc-newsletter-layout { grid-column: 1 / -1; display: grid; min-width: 0; align-items: center; grid-template-columns: inherit; gap: clamp(24px, 4vw, 64px); }
.hc-campaign .hc-newsletter-visual-space { min-height: 390px; }
.hc-campaign .hc-newsletter-copy { min-width: 0; padding: clamp(24px, 3vw, 42px) 0; color: #fff3df; }
.hc-campaign .hc-newsletter-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  margin: 0 0 22px;
  padding: 9px 18px;
  border: 1px solid rgba(220, 170, 107, .78);
  border-radius: 999px;
  color: #f2d4a8;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .15em;
  line-height: 1.4;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.hc-campaign .hc-newsletter-label > span { font-size: 18px; line-height: 1; }
.hc-campaign .hc-newsletter-heading {
  display: grid;
  gap: 0;
  max-width: 780px;
  margin: 0;
  color: #f5d6ad;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: .99;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.hc-campaign .hc-newsletter-heading > span + span { color: #fffaf1; }
.hc-campaign .hc-newsletter-note {
  max-width: 720px;
  margin-top: 18px;
  padding: 18px 24px;
  background: rgba(35, 24, 17, .78);
  color: #ffe8b4;
  font-size: clamp(17px, 2vw, 26px);
  line-height: 1.48;
  overflow-wrap: anywhere;
}
.hc-campaign .hc-newsletter-form {
  display: grid;
  min-width: 0;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 235px);
  gap: 12px;
  margin-top: 14px;
}
.hc-campaign .hc-newsletter-field { display: flex; min-width: 0; min-height: 68px; align-items: center; gap: 13px; padding: 0 19px; border: 1px solid rgba(233, 187, 127, .75); border-radius: 15px; background: rgba(17, 14, 12, .78); }
.hc-campaign .hc-mail-icon { flex: 0 0 auto; color: #f2e9dd; font-size: 25px; line-height: 1; }
.hc-campaign .hc-newsletter-field input { width: 100%; min-width: 0; height: 54px; padding: 0; border: 0; outline: 0; background: transparent; box-shadow: none; color: #fff8ee; font-size: 16px; }
.hc-campaign .hc-newsletter-field input::placeholder { color: rgba(255, 248, 238, .64); }
.hc-campaign .hc-newsletter-field:focus-within { outline: 3px solid rgba(240, 190, 125, .55); outline-offset: 3px; }
.hc-campaign .hc-newsletter-submit.tf-btn {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 68px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid #f6d6ae;
  border-radius: 999px;
  background: linear-gradient(180deg, #d79b62 0%, #b56e37 100%);
  color: #fffaf4;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
.hc-campaign .hc-newsletter-submit.tf-btn:hover { border-color: #fff0d9; background: linear-gradient(180deg, #e6ad76 0%, #c77d43 100%); color: #fff; }
.hc-campaign .hc-newsletter-submit.tf-btn:focus-visible { outline: 3px solid #fff1d5; outline-offset: 4px; }
.hc-campaign .hc-newsletter-submit.tf-btn[disabled] { cursor: wait; opacity: .72; }
.hc-campaign .hc-newsletter-privacy { grid-column: 1 / -1; color: rgba(255, 244, 224, .78); font-size: 12px; line-height: 1.6; }
.hc-campaign .hc-newsletter-privacy a { color: #f2d4a8; text-decoration: underline; text-underline-offset: 3px; }
.hc-campaign .hc-form-feedback { grid-column: 1 / -1; min-height: 0; color: inherit; font-size: 14px; line-height: 1.5; }
.hc-campaign .hc-form-feedback:empty { display: none; }
.hc-campaign .hc-form-feedback[data-state="error"] { color: #ffd1c6; }
.hc-campaign .hc-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
.hc-campaign .hc-form-unavailable { margin: 18px 0 0; color: #ffe8b4; font-size: 14px; }

/* M08 is a separate campaign-only record flow and never adds the visitor to marketing. */
.hc-campaign .hc-inquiry-layout { display: grid; align-items: start; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 6vw, 88px); }
.hc-campaign .hc-inquiry-copy { min-width: 0; }
.hc-campaign .hc-inquiry-form { display: grid; min-width: 0; gap: 10px; }
.hc-campaign .hc-inquiry-field > label { margin-top: 5px; color: inherit; font-size: 14px; font-weight: 600; }
.hc-campaign .hc-inquiry-field > input,
.hc-campaign .hc-inquiry-field > textarea { width: 100%; min-width: 0; padding: 13px 15px; border: 1px solid rgba(73, 51, 38, .28); border-radius: 8px; background: rgba(255, 255, 255, .78); color: #302017; font: inherit; line-height: 1.5; }
.hc-campaign .hc-inquiry-field > input:focus-visible,
.hc-campaign .hc-inquiry-field > textarea:focus-visible { outline: 3px solid rgba(166, 116, 77, .42); outline-offset: 2px; }
.hc-campaign .hc-inquiry-field > textarea { min-height: 132px; resize: vertical; }
.hc-campaign .hc-inquiry-submit { justify-self: start; max-width: 100%; margin-top: 8px; }
.hc-campaign .hc-inquiry-privacy { margin: 2px 0 0; color: rgba(73, 51, 38, .78); font-size: 12px; line-height: 1.6; }
.hc-campaign .hc-inquiry-privacy a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 920px) {
  .hc-campaign .hc-newsletter > .hc-inner { min-height: 570px; grid-template-columns: minmax(0, .55fr) minmax(0, 1fr); }
  .hc-campaign .hc-newsletter-layout { grid-template-columns: inherit; gap: 22px; }
  .hc-campaign .hc-newsletter-visual-space { min-height: 300px; }
  .hc-campaign .hc-newsletter-note { font-size: 18px; }
  .hc-campaign .hc-newsletter-form { grid-template-columns: minmax(0, 1fr); }
  .hc-campaign .hc-newsletter-submit.tf-btn { min-height: 58px; }
  .hc-campaign .hc-inquiry-layout { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 28px; }
}
@media (max-width: 480px) {
  .hc-campaign .hc-perks:not(.hc-perks-style-compact) .hc-perks-grid { grid-template-columns: 1fr; }
  .hc-campaign .hc-perks-style-compact .hc-perk { padding: 12px 10px; }
  .hc-campaign .hc-perks-style-compact .hc-perk .hc-icon { width: 34px; height: 34px; font-size: 17px; }
  .hc-campaign .hc-perks-style-compact .hc-perk-title { font-size: 13px; }
  .hc-campaign .hc-perks-style-compact .hc-perk-description { font-size: 11px; }
}
@media (max-width: 767px) {
  .hc-campaign .hc-newsletter { min-height: 0; }
  .hc-campaign .hc-newsletter > .hc-inner { display: block; min-height: 0; }
  .hc-campaign .hc-newsletter-layout { display: block; }
  .hc-campaign .hc-newsletter-visual-space { display: none; }
  .hc-campaign .hc-newsletter-media { height: 300px; }
  .hc-campaign .hc-newsletter-media img { object-position: var(--hc-mobile-focus, 50% 50%); }
  .hc-campaign .hc-newsletter-scrim { background: linear-gradient(180deg, transparent 0%, rgba(16, 9, 5, .22) 34%, rgba(16, 9, 5, .96) 70%, #100905 100%); }
  .hc-campaign .hc-newsletter-copy { padding: 318px 0 32px; }
  .hc-campaign .hc-newsletter-label { margin-bottom: 17px; padding: 8px 13px; font-size: 10px; letter-spacing: .11em; }
  .hc-campaign .hc-newsletter-note { margin-top: 14px; padding: 15px 16px; font-size: 16px; line-height: 1.55; }
  .hc-campaign .hc-newsletter-form { margin-top: 12px; gap: 10px; }
  .hc-campaign .hc-newsletter-field { min-height: 58px; padding-inline: 14px; }
  .hc-campaign .hc-newsletter-field input { height: 48px; font-size: 15px; }
  .hc-campaign .hc-newsletter-submit.tf-btn { min-height: 56px; }
  .hc-campaign .hc-inquiry-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .hc-campaign .hc-inquiry-submit { width: 100%; justify-self: stretch; text-align: center; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .hc-campaign .tf-btn { transition: none; }
  .hc-campaign .tf-btn.animate-btn::after { animation: none !important; }
}

/* Reusable M03 presentation: editable upgrade card. The shared M03 classes still
   control image side, column split, mobile order, image aspect and object fit. */
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-split-layout {
  align-items: stretch;
  gap: clamp(10px, 1.15vw, 16px);
  border-radius: 14px;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-split-image {
  width: 100%;
  aspect-ratio: var(--hc-source-image-ratio, 2 / 3);
  overflow: hidden;
  border-radius: 11px;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-image-aspect-square .hc-split-image { aspect-ratio: 1 / 1; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-image-aspect-landscape-4-3 .hc-split-image { aspect-ratio: 4 / 3; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-image-aspect-portrait-3-4 .hc-split-image { aspect-ratio: 3 / 4; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-split-image picture,
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-split-image img {
  display: block;
  width: 100%;
  height: 100%;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-split-image img {
  object-position: var(--hc-focus, 50% 50%);
  border-radius: inherit;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-tone-dark .hc-copy {
  display: flex;
  max-width: none;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 52px);
  border-radius: 11px;
  background: linear-gradient(145deg, #fff4e8 0%, #f9e9d8 100%);
  text-align: left;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-tone-dark .hc-eyebrow {
  margin-bottom: 18px;
  color: #805a40;
  font-size: clamp(12px, 1.2vw, 16px);
  letter-spacing: .2em;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-tone-dark .hc-heading {
  color: #512b1c;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .99;
  text-wrap: initial;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-tone-light .hc-copy {
  display: flex;
  max-width: none;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 52px);
  border-radius: 11px;
  background: linear-gradient(145deg, #543a2c 0%, #39251d 100%);
  color: #fff4e2;
  text-align: left;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-tone-light .hc-heading { color: inherit; font-family: Georgia, "Times New Roman", serif; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-list {
  display: grid;
  gap: 0;
  margin: clamp(22px, 2.5vw, 34px) 0 0;
  padding: clamp(16px, 2.1vw, 26px);
  background: rgba(255, 255, 255, .34);
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item { min-width: 0; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="note"] {
  width: max-content;
  max-width: 100%;
  grid-template-columns: 30px minmax(0, auto);
  align-items: center;
  gap: 10px;
  margin: 0 auto 15px;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="note"] .hc-icon {
  width: 30px;
  height: 30px;
  border: 0;
  font-size: 23px;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="note"] h3 {
  color: inherit;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 500;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="highlight"] {
  display: block;
  padding: 0 0 16px;
  border-bottom: 1px solid rgba(106, 70, 47, .16);
  text-align: center;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="highlight"] .hc-icon { display: none; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="highlight"] > div { display: grid; gap: 4px; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="highlight"] h3 {
  color: #512b1c;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.15;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-tone-light .hc-detail-item[data-role="highlight"] h3 { color: inherit; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="highlight"] p {
  margin: 0;
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 1.35vw, 20px);
  font-weight: 700;
  opacity: .86;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] {
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
  padding-top: 13px;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] .hc-icon {
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 0;
  font-size: 23px;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] > div {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 5px;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] h3 {
  font-size: clamp(14px, 1.15vw, 16px);
  font-weight: 500;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] p {
  margin: 0;
  font-size: clamp(13px, 1vw, 15px);
  opacity: .72;
}
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-buttons { margin-top: 24px; }
.hc-campaign .hc-image-copy.hc-presentation-upgrade-card a.hc-button { width: 100%; text-align: center; }
@media (max-width: 767px) {
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-image-aspect-original .hc-split-image {
    aspect-ratio: var(--hc-mobile-image-ratio, var(--hc-source-image-ratio, 2 / 3));
  }
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-copy { padding: clamp(24px, 5vw, 42px); }
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card.hc-tone-dark .hc-eyebrow { margin-bottom: 13px; font-size: 11px; }
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-list { margin-top: 21px; padding: 16px 13px; }
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] { padding-top: 11px; }
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] h3 { font-size: 14px; }
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] p { font-size: 13px; }
  .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-buttons { margin-top: 21px; }
}

/* Keep campaign page and section titles aligned with the homepage visual scale. */
.hc-campaign .hc-module .hc-section-heading { font-size: clamp(25px, 3.8vw, 40px); }
.hc-campaign .hc-image-copy.hc-heading-scale-emphasis .hc-section-heading { font-size: clamp(40px, 6vw, 88px); line-height: 1.05; }
.hc-campaign .hc-image-copy.hc-heading-scale-emphasis .hc-detail-item[data-role="benefit"] h3 { font-size: clamp(16px, 1.5vw, 22px); }
.hc-campaign .hc-image-copy.hc-heading-scale-emphasis .hc-button > span { font-size: clamp(16px, 1.5vw, 22px); }

/* M06 image above: retain the shared form behavior and the site's input/button styles. */
.hc-campaign .hc-newsletter.hc-newsletter-image-above { min-height: 0; background: transparent; color: #493326; }
.hc-campaign .hc-newsletter.hc-newsletter-image-above > .hc-background-layer { background: var(--hc-page-bg, #f6f0e7); }
.hc-campaign .hc-newsletter-image-above > .hc-inner {
  display: block;
  min-height: 0;
  width: calc(100% - var(--hc-page-gutter) - var(--hc-page-gutter));
  max-width: var(--hc-content-max);
  margin-inline: auto;
}
.hc-campaign .hc-newsletter-above-art { display: block; width: 100%; }
.hc-campaign .hc-newsletter-above-art img { display: block; width: 100%; height: auto; }
.hc-campaign .hc-newsletter-above-panel { padding: clamp(24px, 3vw, 40px); background: #faf6f1; color: #493326; font-family: inherit; text-align: center; }
.hc-campaign .hc-newsletter-above-heading { margin: 0 0 16px; color: inherit; font: inherit; line-height: 1.1; overflow-wrap: anywhere; }
.hc-campaign .hc-newsletter-above-body { max-width: 800px; margin: 0 auto; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.hc-campaign .hc-newsletter-above-emphasis { max-width: 800px; margin: 8px auto 0; color: #805a40; font-size: 16px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.hc-campaign .hc-newsletter-above-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; max-width: 760px; margin: 20px auto 0; align-items: stretch; }
.hc-campaign .hc-newsletter-above-form > input[type="email"] { min-width: 0; min-height: 56px; font: inherit; }
.hc-campaign .hc-newsletter-above-submit.tf-btn { min-width: 150px; min-height: 56px; height: auto; font-family: inherit; white-space: normal; }
.hc-campaign .hc-newsletter-above-privacy, .hc-campaign .hc-newsletter-above-preview { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.6; }
.hc-campaign .hc-newsletter-above-privacy a { color: inherit; text-decoration: underline; }
.hc-campaign .hc-newsletter-above-form .hc-form-feedback[data-state="error"] { color: #922d22; }
.hc-campaign .hc-newsletter-image-above .hc-form-unavailable { color: inherit; }
@media (max-width: 767px) {
  .hc-campaign .hc-newsletter-image-above > .hc-inner { width: 100%; max-width: none; }
  .hc-campaign .hc-newsletter-above-form { grid-template-columns: minmax(0, 1fr); }
  .hc-campaign .hc-newsletter-above-submit.tf-btn { width: 100%; }
}

/* M04 strip: the heading and each editable benefit share one horizontal bar. */
.hc-campaign .hc-perks-style-strip > .hc-inner { display: flex; align-items: center; gap: 24px; }
.hc-campaign .hc-perks-style-strip .hc-perks-heading { flex: 0 0 280px; max-width: 280px; margin: 0; text-align: left; }
.hc-campaign .hc-perks-style-strip .hc-perks-heading .hc-heading { font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.hc-campaign .hc-perks-style-strip .hc-perks-heading .hc-subtitle { margin-top: 6px; font-size: 16px; line-height: 1.45; }
.hc-campaign .hc-perks-style-strip .hc-perks-grid { flex: 1 1 auto; width: 100%; gap: 0; }
.hc-campaign .hc-perks-style-strip .hc-perk { min-height: 76px; padding: 8px 14px; border: 0; border-left: 1px solid rgba(106, 70, 47, .22); border-radius: 0; background: transparent; }
.hc-campaign .hc-tone-light.hc-perks-style-strip .hc-perk { border-left-color: rgba(255, 255, 255, .3); }
.hc-campaign .hc-perks-style-strip .hc-perk-content,
.hc-campaign .hc-perks-style-strip .hc-perk-link { flex-direction: row; align-items: center; gap: 12px; }
.hc-campaign .hc-perks-style-strip .hc-icon { width: 44px; height: 44px; border: 0; border-radius: 0; font-size: 28px; }
.hc-campaign .hc-perks-grid .hc-icon svg { display: block; width: 100%; height: 100%; }
.hc-campaign .hc-perks-style-strip .hc-perk-image { width: 38px; height: 38px; flex-basis: 38px; object-fit: contain; }
.hc-campaign .hc-perks-style-strip .hc-perk-copy { gap: 4px; text-align: left; }
.hc-campaign .hc-perks-style-strip .hc-perk-title { font-size: clamp(15px, 1.1vw, 17px); }
.hc-campaign .hc-perks-style-strip .hc-perk-description { font-size: clamp(13px, 1vw, 15px); line-height: 1.5; }
@media (max-width: 1023px) {
  .hc-campaign .hc-perks-style-strip > .hc-inner { display: block; }
  .hc-campaign .hc-perks-style-strip .hc-perks-heading { max-width: none; margin-bottom: 24px; }
  .hc-campaign .hc-perks-style-strip .hc-perks-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; }
}
@media (max-width: 600px) {
  .hc-campaign .hc-perks-style-strip .hc-perks-grid { grid-template-columns: 1fr; gap: 12px; }
  .hc-campaign .hc-perks-style-strip .hc-perk { min-height: 0; }
}
.hc-campaign > .hc-page-heading.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* M08 optional split contact panel. Subscription and inquiry handling stay shared. */
.hc-campaign .hc-inquiry-field { position: relative; display: grid; min-width: 0; gap: 10px; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; background: #fffaf4; }
.hc-campaign .hc-inquiry-image-side.hc-inquiry-with-image .hc-inquiry-layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
.hc-campaign .hc-inquiry-panel { min-width: 0; align-self: center; padding: clamp(24px, 3vw, 44px); }
.hc-campaign .hc-inquiry-image-side .hc-eyebrow { display: flex; align-items: center; gap: 16px; margin: 0 0 12px; color: #a87857; letter-spacing: .14em; }
.hc-campaign .hc-inquiry-image-side .hc-eyebrow::after { content: ""; width: 72px; height: 1px; background: #c7a88f; }
.hc-campaign .hc-inquiry-image-side .hc-subtitle { margin: 16px 0 26px; font-size: 16px; font-weight: 400; line-height: 1.65; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-field-message,
.hc-campaign .hc-inquiry-image-side .hc-inquiry-submit,
.hc-campaign .hc-inquiry-image-side .hc-form-feedback,
.hc-campaign .hc-inquiry-image-side .hc-inquiry-privacy { grid-column: 1 / -1; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-field { gap: 0; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-field > input,
.hc-campaign .hc-inquiry-image-side .hc-inquiry-field > textarea { padding: 13px 14px 13px 44px; border-color: #cbb09a; border-radius: 5px; background: #fff; font: inherit; font-size: 15px; font-weight: 400; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-field > input { min-height: 52px; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-field > textarea { min-height: 112px; }
.hc-campaign .hc-inquiry-field-icon { position: absolute; top: 15px; left: 14px; width: 23px; height: 23px; color: #b18460; pointer-events: none; }
.hc-campaign .hc-inquiry-field-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hc-campaign .hc-inquiry-image-side .hc-inquiry-submit { width: 100%; justify-self: stretch; justify-content: center; margin-top: 4px; min-height: 52px; white-space: normal; }
.hc-campaign .hc-inquiry-image-side .hc-form-feedback:empty { display: none; }
.hc-campaign .hc-inquiry-media { position: relative; margin: 0; min-width: 0; min-height: 540px; }
.hc-campaign .hc-inquiry-media picture { position: absolute; inset: 0; display: block; }
.hc-campaign .hc-inquiry-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
@media (max-width: 767px) {
 .hc-campaign .hc-inquiry-image-side.hc-inquiry-with-image .hc-inquiry-layout { grid-template-columns: minmax(0, 1fr); }
 .hc-campaign .hc-inquiry-panel { padding: 26px 20px; }
 .hc-campaign .hc-inquiry-image-side .hc-inquiry-form { grid-template-columns: minmax(0, 1fr); }
 .hc-campaign .hc-inquiry-media { min-height: 0; }
 .hc-campaign .hc-inquiry-media picture { position: static; }
 .hc-campaign .hc-inquiry-media img { height: auto; }
}

/* M03 optional explanation list: shared image layout settings remain effective. */
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-split-layout { gap: 0; background: var(--hc-bg); }
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-copy { padding: clamp(24px, 3vw, 44px); }
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-heading { display: flex; align-items: flex-start; gap: 16px; }
.hc-campaign .hc-checklist-title-icon { display: inline-flex; flex: 0 0 1.1em; width: 1.1em; height: 1.1em; color: #8e6849; }
.hc-campaign .hc-checklist-title-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-detail-list { gap: 18px; margin-top: 28px; }
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-detail-item { grid-template-columns: 28px minmax(0, 1fr); gap: 15px; align-items: start; }
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-detail-item .hc-icon { width: 28px; height: 28px; border: 0; border-radius: 0; opacity: 1; }
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hc-campaign .hc-image-copy.hc-presentation-checklist .hc-detail-item h3 { margin: 0; font-size: clamp(16px, 1.4vw, 20px); font-weight: 400; line-height: 1.55; }
@media (max-width: 767px) {
 .hc-campaign .hc-image-copy.hc-presentation-checklist .hc-copy { padding: 26px 20px; }
 .hc-campaign .hc-image-copy.hc-presentation-checklist .hc-heading { gap: 12px; }
 .hc-campaign .hc-image-copy.hc-presentation-checklist .hc-detail-list { gap: 16px; margin-top: 22px; }
}

/* Banner artwork + actual navigation links. Colors are fixed for this variant only. */
.hc-campaign .hc-banner.hc-banner-image-actions { display: block; min-height: 0; }
.hc-campaign .hc-banner-image-actions > .hc-background-layer { background: var(--hc-page-bg, #f6f0e7); }
.hc-campaign .hc-artwork-banner { position: relative; min-width: 0; background: #24150c; }
.hc-campaign .hc-artwork-media, .hc-campaign .hc-artwork-media img { display: block; width: 100%; height: auto; }
.hc-campaign .hc-artwork-actions { position: absolute; left: 45%; right: 3%; bottom: 9%; display: flex; align-items: stretch; gap: 16px; }
.hc-campaign .hc-banner-image-actions a.hc-artwork-button { display: flex; flex: 1 1 0; min-width: 0; max-width: 100%; min-height: 56px; height: auto; align-items: center; justify-content: center; gap: 12px; padding: 12px 20px; border: 1px solid transparent; border-radius: 999px; font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.4; white-space: normal; text-align: center; text-decoration: none; transition: filter .18s ease; }
.hc-campaign .hc-banner-image-actions .hc-artwork-button-1 { background: linear-gradient(115deg, #f4c99b, #d29b6b); color: #24150c; }
.hc-campaign .hc-banner-image-actions a.hc-artwork-button-2 { border-color: #f3ddc4; background: transparent; color: #f3ddc4; }
.hc-campaign .hc-artwork-button > span { min-width: 0; overflow-wrap: anywhere; }
.hc-campaign .hc-artwork-button svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.hc-campaign .hc-banner-image-actions .hc-artwork-button:hover { filter: brightness(1.08); transform: none; }
.hc-campaign .hc-banner-image-actions .hc-artwork-button:focus-visible { outline: 3px solid #fff2db; outline-offset: 4px; }
.hc-campaign .hc-artwork-no-image .hc-artwork-actions { position: static; padding: 24px; }
@media (max-width: 1023px) {
 .hc-campaign .hc-artwork-actions { position: static; padding: 24px 28px; }
}
@media (max-width: 767px) {
 .hc-campaign .hc-artwork-actions { flex-direction: column; padding: 22px 20px; }
 .hc-campaign .hc-banner-image-actions a.hc-artwork-button { flex-basis: auto; width: 100%; min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
 .hc-campaign .hc-banner-image-actions .hc-artwork-button { transition: none; }
}

@media (min-width: 1024px) {
 .hc-campaign .hc-banner-image-actions a.hc-artwork-button:only-child { flex-grow: 0; flex-basis: calc((100% - 16px) / 2); }
}

/* Center the mobile promotional card heading and its icon/text group as a unit. */
@media (max-width: 767px) {
 .hc-campaign .hc-image-copy.hc-presentation-upgrade-card :is(.hc-eyebrow, .hc-heading) { text-align: center; }
 .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-list {
  grid-template-columns: minmax(0, 1fr) minmax(0, max-content) minmax(0, 1fr);
 }
 .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-heading.hc-section-heading { line-height: 1.2; }
 .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item { grid-column: 2; }
 .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item[data-role="benefit"] > div { display: grid; gap: 4px; }
 .hc-campaign .hc-image-copy.hc-presentation-upgrade-card .hc-detail-item:is([data-role="note"], [data-role="highlight"]) { grid-column: 1 / -1; }
 .hc-campaign .hc-perks-style-strip .hc-perks-heading { text-align: center; }
}

/* Optional M05 centered carousel; product text remains below linked artwork. */
.hc-campaign .hc-product-playback { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; }
.hc-campaign .hc-product-dots { display: flex; flex-wrap: wrap; justify-content: center; }
.hc-campaign .hc-product-dot { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: inherit; }
.hc-campaign .hc-product-dot::after { content: ''; width: 26px; height: 4px; border-radius: 4px; background: currentColor; opacity: .25; }
.hc-campaign .hc-product-dot[aria-current="true"]::after { opacity: 1; }
.hc-campaign .hc-product-play-toggle { min-height: 44px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 6px; color: inherit; background: transparent; font: inherit; font-size: 13px; }
.hc-campaign :is(.hc-product-dot,.hc-product-play-toggle):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 767px) {
 .hc-campaign .hc-product-centered .hc-product-slider-controls { display: none; }
 .hc-campaign .hc-product-centered .hc-product-grid { gap: 14px; padding-inline: 8%; scroll-padding-inline: 8%; }
 .hc-campaign .hc-product-centered.hc-product-mode-slider .hc-product-card { flex-basis: 100%; scroll-snap-align: center; }
 .hc-campaign .hc-product-centered .hc-product-image { aspect-ratio: 2 / 3; }
 .hc-campaign .hc-product-centered .hc-product-name { font-size: 17px; }
}

/* Centered carousel is mobile-only; wider screens retain the original grid. */
@media (min-width: 768px) {
 .hc-campaign .hc-product-centered.hc-product-mode-slider .hc-product-grid { display: grid; gap: 32px 24px; overflow: visible; }
 .hc-campaign .hc-product-centered .hc-product-slider-controls,
 .hc-campaign .hc-product-centered .hc-product-playback { display: none; }
}
.hc-campaign .hc-perks-terms{color:#4f463e;font-weight:400;font-size:16px;line-height:1.55;margin:18px 0 0;flex:0 0 100%;width:100%;order:3;box-sizing:border-box}
.hc-campaign .hc-perks-terms-label{color:#5b3a22;font-family:Georgia,"Times New Roman",serif;font-weight:700}
.hc-campaign .hc-perks-terms-text{color:#4f463e;font-weight:400}
.hc-campaign .hc-perks-style-strip > .hc-inner{flex-wrap:wrap}
.hc-campaign .hc-perks-style-strip .hc-perks-terms{margin-top:0}
@media (max-width: 1023px){.hc-campaign .hc-perks-style-strip .hc-perks-terms{margin-top:18px}}
@media (max-width: 767px){.hc-campaign .hc-perks-terms{font-size:14px;line-height:1.5}}

/* Hero banner countdown over the artwork's lower breathing room. */
.hc-campaign .hc-banner.hc-banner-content-bottom { align-items: flex-end; padding-bottom: clamp(28px, 4vw, 56px); }
.hc-campaign .hc-banner.hc-banner-content-bottom > .hc-inner { display: flex; align-items: flex-end; justify-content: center; }
.hc-campaign .hc-banner.hc-banner-content-bottom .hc-copy { width: 100%; }

@media (min-width: 1024px) {
 .hc-campaign .hc-banner.hc-variant-hero.hc-banner-content-bottom .hc-clock { transform: translate(clamp(40px, calc(16vw - 120px), 110px), clamp(-120px, -8vw, -82px)); }
}

/* Keep Hero countdown unit labels readable without wrapping. */
@media (min-width: 768px) {
 .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units > span { min-width: 86px; padding-inline: 7px; }
 .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units small { font-size: 12px; letter-spacing: .02em; line-height: 1.15; white-space: nowrap; }
}
@media (max-width: 767px) {
 .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units { gap: 8px; }
 .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units > span { min-width: clamp(60px, 18vw, 68px); padding-inline: 4px; }
 .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units small { font-size: 10px; letter-spacing: .02em; line-height: 1.15; white-space: nowrap; }
}
@media (max-width: 340px) {
 .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units > span { min-width: 60px; }
 .hc-campaign .hc-banner.hc-variant-hero .hc-clock-units small { font-size: 9px; }
}

/* Mobile artwork banners carry their headline and subtitle inside the image; on phones park the
   countdown just below that baked-in copy instead of at the bottom of the photo. */
@media (max-width: 767px) {
  .hc-campaign .hc-banner.hc-banner-mobile-art{position:relative}
  .hc-campaign .hc-banner.hc-banner-mobile-art .hc-inner{display:contents}
  .hc-campaign .hc-banner.hc-banner-mobile-art .hc-copy{position:absolute;left:0;right:0;top:28.5%;width:auto;margin:0;padding:0 20px;box-sizing:border-box;pointer-events:auto}
  .hc-campaign .hc-banner.hc-banner-mobile-art .hc-clock-label{font-size:11px;padding:2px 10px;margin:0 auto 8px;letter-spacing:.14em}
  .hc-campaign .hc-banner.hc-banner-mobile-art .hc-clock-units{gap:10px}
  .hc-campaign .hc-banner.hc-banner-mobile-art .hc-clock-units>span{min-width:60px;padding:6px 9px}
  .hc-campaign .hc-banner.hc-banner-mobile-art .hc-clock-units b{font-size:22px}
  .hc-campaign .hc-banner.hc-banner-mobile-art .hc-clock-units small{font-size:8px}
}
