:root {
  --ink: #0b0b0c;
  --ink-soft: #151416;
  --ink-warm: #120f10;
  --ink-wine: #170c11;
  --ivory: #f5f1e8;
  --ivory-deep: #e9e2d5;
  --carmine: #d01d3f;
  --carmine-dark: #ad1532;
  --carmine-soft: #e8536d;
  --gold-quiet: #c8a468;
  --text-on-dark: rgba(245, 241, 232, 0.82);
  --text-on-dark-muted: rgba(245, 241, 232, 0.64);
  --line-dark: rgba(245, 241, 232, 0.17);
  --line-dark-soft: rgba(245, 241, 232, 0.1);
  --line-light: rgba(11, 11, 12, 0.17);
  --measure-body: 64ch;
  --type-display-hero: clamp(3.35rem, 4.9vw, 5.4rem);
  --type-display-section: clamp(3.55rem, 5.8vw, 6.35rem);
  --type-display-section-compact: clamp(3.1rem, 5vw, 5.45rem);
  --type-heading-card: clamp(1.16rem, 1.45vw, 1.42rem);
  --type-body: clamp(1rem, 0.22vw + 0.95rem, 1.075rem);
  --leading-display: 0.92;
  --leading-body: 1.68;
  --tracking-display: -0.045em;
  --shell: min(100% - 64px, 1440px);
  --eventbar-height: 46px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  margin: 0;
  background: var(--ink);
  color: var(--ivory);
  font-family: var(--font-interface), Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.modal-open {
  overflow: hidden;
}

button,
input {
  font: inherit;
}

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

button {
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

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

::selection {
  color: var(--ivory);
  background: var(--carmine);
}

:focus-visible {
  outline: 2px solid var(--carmine);
  outline-offset: 4px;
}

.shell {
  width: var(--shell);
  margin-inline: auto;
}

.visually-hidden {
  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;
  white-space: nowrap !important;
  border: 0 !important;
}

.light-section {
  color: var(--ink);
  background: var(--ivory);
}

.dark-section {
  color: var(--ivory);
  background: var(--ink);
}

.section-number,
.eyebrow {
  margin-block: 0;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.section-number {
  opacity: 0.55;
}

.hero {
  position: relative;
  min-height: calc(100svh - var(--eventbar-height));
  overflow: hidden;
  isolation: isolate;
  background: #090909;
}

.hero-media,
.hero-media img,
.hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-media {
  z-index: -3;
}

.hero-media img {
  object-fit: cover;
  object-position: center;
}

.hero-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(5, 5, 6, 0.97) 0%, rgba(5, 5, 6, 0.86) 30%, rgba(5, 5, 6, 0.38) 56%, rgba(5, 5, 6, 0.04) 74%),
    linear-gradient(180deg, rgba(5, 5, 6, 0.55) 0%, transparent 26%, transparent 70%, rgba(5, 5, 6, 0.68) 100%);
}

.hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  pointer-events: none;
  opacity: 0.2;
  background-image:
    radial-gradient(circle at 12% 24%, rgba(255, 255, 255, 0.13) 0 0.5px, transparent 0.8px),
    radial-gradient(circle at 76% 62%, rgba(255, 255, 255, 0.1) 0 0.6px, transparent 0.9px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
}

.announcement {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: calc(var(--eventbar-height) + env(safe-area-inset-top));
  color: var(--ivory);
  background: var(--carmine);
}

.announcement-inner {
  display: grid;
  min-height: calc(var(--eventbar-height) + env(safe-area-inset-top));
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding-top: env(safe-area-inset-top);
}

.event-countdown {
  display: flex;
  min-height: 34px;
  align-items: center;
  gap: 12px;
  padding: 0 14px;
  border: 1px solid rgba(245, 241, 232, 0.18);
  border-radius: 4px;
  background: rgba(72, 0, 15, 0.2);
  box-shadow:
    inset 0 0 0 1px rgba(245, 241, 232, 0.035),
    0 8px 22px rgba(67, 0, 13, 0.1);
  white-space: nowrap;
}

.countdown-kicker {
  color: rgba(245, 241, 232, 0.66);
  font-size: 0.48rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.countdown-digits {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  font-variant-numeric: tabular-nums;
}

.countdown-digits > i {
  color: rgba(245, 241, 232, 0.34);
  font-size: 0.52rem;
  font-style: normal;
}

.countdown-unit {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
}

.countdown-unit strong {
  display: inline-block;
  width: 2ch;
  color: var(--ivory);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.035em;
  line-height: 1;
  text-align: center;
}

.countdown-unit small {
  color: #f2d59d;
  font-size: 0.4rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.event-countdown--hero {
  display: none;
}

.announcement-static {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 18px;
  overflow: hidden;
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.announcement-static > i {
  width: 1px;
  height: 13px;
  flex: 0 0 auto;
  background: rgba(245, 241, 232, 0.32);
}

.as-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.as-item svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  opacity: 0.85;
}

.as-item small {
  font-size: 0.8em;
  opacity: 0.72;
}

.as-highlight {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 3px;
  background: var(--ivory);
  color: var(--carmine-dark);
  font-weight: 900;
  letter-spacing: 0.08em;
}

.as-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
  padding: 6px 12px;
  border: 0;
  border-radius: 4px;
  background: var(--ivory);
  color: var(--carmine-dark);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.as-badge svg {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}

[data-wow-cta] {
  --cta-pointer-x: 50%;
  --cta-pointer-y: 50%;
  --cta-magnetic-x: 0px;
  --cta-magnetic-y: 0px;
  --cta-sheen: rgba(255, 255, 255, 0.3);
  --cta-glint: rgba(255, 255, 255, 0.42);
  --cta-ripple: rgba(255, 255, 255, 0.72);
  --cta-attention-color: rgba(245, 241, 232, 0.2);
  --cta-rest-shadow: 0 0 0 0 rgba(245, 241, 232, 0);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  scale: 1;
  translate: var(--cta-magnetic-x) var(--cta-magnetic-y);
  will-change: translate;
  transition: translate 150ms ease-out, scale 150ms ease-out;
}

[data-wow-cta] > span {
  position: relative;
  z-index: 2;
}

[data-wow-cta]::before,
[data-wow-cta]::after {
  position: absolute;
  z-index: 1;
  content: "";
  pointer-events: none;
}

[data-wow-cta]::before {
  inset: 0;
  background:
    radial-gradient(
      170px circle at var(--cta-pointer-x) var(--cta-pointer-y),
      var(--cta-sheen),
      transparent 68%
    ),
    linear-gradient(
      108deg,
      transparent 28%,
      var(--cta-glint) 48%,
      transparent 68%
    );
  background-position: center, 170% center;
  background-repeat: no-repeat;
  background-size: auto, 48% 100%;
  opacity: 0;
  transform: scale(0.82);
  transition: opacity 240ms ease, transform 360ms var(--ease-out);
}

[data-wow-cta]:hover::before,
[data-wow-cta][data-cta-active="true"]::before {
  opacity: 1;
  transform: scale(1);
}

[data-wow-cta]::after {
  top: var(--cta-pointer-y);
  left: var(--cta-pointer-x);
  width: 12px;
  height: 12px;
  border: 1px solid var(--cta-ripple);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
}

[data-wow-cta].is-cta-pressed::after {
  animation: cta-tailored-ripple 660ms var(--ease-out);
}

[data-wow-cta][data-cta-touching="true"] {
  scale: 0.985;
}

[data-wow-cta][data-cta-pulse="true"]:not([data-cta-interacting="true"]):not(:hover):not(:focus-visible):not(:active):not(:disabled) {
  animation: cta-double-pulse 2.3s ease-in-out infinite;
}

[data-wow-cta][data-cta-pulse="true"]:not([data-cta-interacting="true"]):not(:hover):not(:focus-visible):not(:active):not(:disabled)::before {
  animation: cta-idle-glint 2.3s var(--ease-out) infinite;
}

.announcement [data-wow-cta] {
  --cta-sheen: rgba(208, 29, 63, 0.16);
  --cta-ripple: rgba(208, 29, 63, 0.5);
}

.text-cta[data-wow-cta] {
  --cta-sheen: rgba(208, 29, 63, 0.13);
  --cta-ripple: rgba(208, 29, 63, 0.52);
}

@keyframes cta-tailored-ripple {
  0% {
    opacity: 0.72;
    transform: translate(-50%, -50%) scale(0.3);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(22);
  }
}

@keyframes cta-double-pulse {
  0%, 100% {
    scale: 1;
    box-shadow: var(--cta-rest-shadow);
  }

  12% {
    scale: 0.99;
    box-shadow: var(--cta-rest-shadow);
  }

  50% {
    scale: 1.04;
    box-shadow:
      var(--cta-rest-shadow),
      0 0 0 8px var(--cta-attention-color),
      0 0 32px var(--cta-attention-color);
  }

  78% {
    scale: 1.006;
    box-shadow: var(--cta-rest-shadow), 0 0 0 3px var(--cta-attention-color);
  }

  92% {
    scale: 1;
    box-shadow: var(--cta-rest-shadow);
  }
}

@keyframes cta-idle-glint {
  0%, 100% {
    background-position: center, 145% center;
    opacity: 0;
    transform: scale(0.98);
  }

  18% {
    background-position: center, 125% center;
    opacity: 0.08;
  }

  42% {
    background-position: center, 64% center;
    opacity: 0.28;
  }

  58% {
    background-position: center, -18% center;
    opacity: 0.68;
    transform: scale(1);
  }

  76% {
    background-position: center, -92% center;
    opacity: 0;
    transform: scale(1);
  }

  90% {
    background-position: center, -110% center;
    opacity: 0;
    transform: scale(0.99);
  }
}

.announcement button {
  --cta-attention-color: rgba(208, 29, 63, 0.2);
  --cta-glint: rgba(208, 29, 63, 0.25);
  --cta-rest-shadow:
    0 10px 24px rgba(51, 0, 10, 0.2),
    0 0 0 1px rgba(245, 241, 232, 0.16),
    inset 0 0 0 1px rgba(208, 29, 63, 0.08);
  display: inline-flex;
  min-height: 38px;
  grid-column: 3;
  align-items: center;
  justify-content: center;
  justify-self: end;
  padding: 0 18px;
  border: 1px solid rgba(245, 241, 232, 0.72);
  border-radius: 6px;
  color: var(--carmine-dark);
  background: var(--ivory);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: var(--cta-rest-shadow);
  transition: translate 150ms ease-out, scale 150ms ease-out, color 180ms ease, background 180ms ease, transform 180ms ease;
}

.announcement button:hover {
  color: var(--carmine-dark);
  background: #fffdf8;
  transform: scale(1.025);
  box-shadow:
    0 14px 32px rgba(51, 0, 10, 0.26),
    0 0 20px rgba(245, 241, 232, 0.22),
    inset 0 0 0 1px rgba(208, 29, 63, 0.12);
  animation-play-state: paused;
}

.announcement button:active {
  scale: 0.985;
}

.announcement button[data-quiet="true"] {
  color: var(--ivory);
  border-color: rgba(245, 241, 232, 0.42);
  background: transparent;
  box-shadow: none;
}

.announcement button[data-quiet="true"]:hover,
.announcement button[data-quiet="true"]:focus-visible {
  color: var(--carmine-dark);
  border-color: rgba(245, 241, 232, 0.85);
  background: var(--ivory);
}

.nav {
  position: absolute;
  inset: 0 0 auto;
  z-index: 4;
  display: flex;
  min-height: 86px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line-dark);
}

.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
}

.wordmark span {
  font-family: var(--font-editorial), Georgia, serif;
  font-size: 1.18rem;
  font-weight: 600;
  letter-spacing: 0.07em;
}

.wordmark small {
  display: grid;
  width: 29px;
  height: 29px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 0.47rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.hero-content {
  display: flex;
  min-height: calc(100svh - var(--eventbar-height));
  flex-direction: column;
  justify-content: center;
  padding-top: 118px;
  padding-bottom: 42px;
}

.hero-intro {
  display: grid;
  margin-bottom: 30px;
}

.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
}

.hero-eyebrow span:first-child,
.hero-eyebrow span:nth-child(2) {
  color: var(--carmine-soft);
}

.hero-eyebrow .hero-eyebrow-byline {
  color: rgba(245, 241, 232, 0.6);
}

.hero-preheadline {
  position: relative;
  margin: 13px 0 0;
  padding-bottom: 17px;
  color: var(--ivory);
  font-size: clamp(0.98rem, 1.3vw, 1.26rem);
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero-preheadline::after {
  position: absolute;
  bottom: 0;
  left: 2px;
  width: 78px;
  height: 2px;
  content: "";
  background: var(--carmine);
}

.hero h1,
.authority h2,
.identity h2,
.audience h2,
.founder h2,
.testimonials h2,
.faq h2,
.final-cta h2 {
  margin: 0;
  font-family: var(--font-editorial), Georgia, serif;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

h3 {
  text-wrap: balance;
}

p,
li {
  text-wrap: pretty;
}

.hero h1 {
  max-width: 900px;
  font-size: var(--type-display-hero);
  line-height: 0.96;
  text-wrap: balance;
}

h1 em,
h2 em {
  color: var(--carmine);
  font-weight: 500;
}

.hero-copy {
  max-width: 610px;
  margin: 24px 0 0;
  color: rgba(245, 241, 232, 0.82);
  font-size: clamp(0.96rem, 1.08vw, 1.08rem);
  line-height: 1.62;
}

.hero-conversion {
  width: min(700px, 100%);
  margin-top: 26px;
}

.primary-cta {
  --cta-rest-shadow:
    0 22px 52px -18px rgba(208, 29, 63, 0.72),
    0 0 34px -14px rgba(255, 50, 87, 0.62),
    inset 0 0 0 1px rgba(245, 241, 232, 0.19),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  --cta-attention-color: rgba(208, 29, 63, 0.24);
  --cta-glint: rgba(255, 255, 255, 0.5);
  display: inline-flex;
  min-width: 326px;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  padding: 0 34px;
  border: 1px solid rgba(245, 241, 232, 0.34);
  border-radius: 6px;
  color: var(--ivory);
  background: linear-gradient(105deg, #b81233 0%, var(--carmine) 48%, #ae102f 100%);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: var(--cta-rest-shadow);
  transition: translate 150ms ease-out, scale 150ms ease-out, background 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 240ms ease;
}

.primary-cta:hover {
  border-color: rgba(245, 241, 232, 0.5);
  background: linear-gradient(105deg, #a20e2b 0%, var(--carmine-dark) 52%, #910b25 100%);
  transform: translateY(-2px) scale(1.01);
  box-shadow:
    0 28px 62px -20px rgba(208, 29, 63, 0.82),
    0 0 42px -14px rgba(255, 50, 87, 0.72),
    inset 0 0 0 1px rgba(245, 241, 232, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.primary-cta:disabled {
  cursor: wait;
  opacity: 0.72;
}

.primary-cta:focus-visible {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 3px var(--ink),
    0 0 0 5px var(--ivory),
    0 24px 56px -18px rgba(208, 29, 63, 0.72);
}

.primary-cta:active {
  transform: translateY(0) scale(0.992);
}

.primary-cta:disabled:hover,
.primary-cta:disabled:active {
  border-color: rgba(245, 241, 232, 0.34);
  background: linear-gradient(105deg, #b81233 0%, var(--carmine) 48%, #ae102f 100%);
  box-shadow: var(--cta-rest-shadow);
  transform: none;
}

.cta-arrow-inline {
  margin-left: 13px;
  font-size: 1.08em;
  line-height: 1;
  transition: transform 240ms var(--ease-out);
}

.primary-cta:hover .cta-arrow-inline,
.primary-cta:focus-visible .cta-arrow-inline {
  transform: translateX(4px);
}

.hero-event-details {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 18px 0 0;
  color: rgba(245, 241, 232, 0.8);
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.hero-event-details span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hero-event-details svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  opacity: 0.75;
}

.hero-event-details strong {
  font-weight: 800;
}

.hero-event-details span:not(:last-child)::after {
  width: 1px;
  height: 13px;
  margin: 0 15px;
  content: "";
  background: rgba(245, 241, 232, 0.26);
}

.hero-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 13px 0 0;
  color: rgba(245, 241, 232, 0.62);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.hero-note--sub {
  margin-top: 13px;
  color: rgba(245, 241, 232, 0.45);
  font-size: 0.6rem;
  letter-spacing: 0.04em;
}

.hero-index,
.scroll-cue {
  position: absolute;
  bottom: 25px;
  z-index: 3;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-index {
  right: 32px;
  opacity: 0.52;
}

.scroll-cue {
  left: 50%;
  display: flex;
  align-items: center;
  gap: 12px;
  transform: translateX(-50%);
  opacity: 0.68;
}

.scroll-cue span {
  color: var(--carmine);
}

.problem {
  position: relative;
  overflow: hidden;
  padding: 126px 0 122px;
  color: var(--ivory);
  background-color: #100609;
  background-image:
    radial-gradient(76% 84% at 12% 14%, rgba(107, 25, 44, 0.16), transparent 54%),
    radial-gradient(60% 70% at 94% 88%, rgba(107, 25, 44, 0.1), transparent 52%),
    linear-gradient(rgba(14, 6, 9, 0.8), rgba(14, 6, 9, 0.8)),
    image-set(
      url("/media/problem/problem-dark-burgundy-texture.avif") type("image/avif"),
      url("/media/problem/problem-dark-burgundy-texture.webp") type("image/webp")
    );
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  background-size: auto, auto, auto, 512px 512px;
}

.problem::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.3;
  background: radial-gradient(circle at 27% 35%, rgba(107, 25, 44, 0.16), transparent 44%);
}

.problem-hem {
  position: absolute;
  right: 0;
  bottom: 22px;
  left: 0;
  height: 11px;
  pointer-events: none;
}

.problem-hem::before {
  position: absolute;
  top: 5px;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background-image: repeating-linear-gradient(
    90deg,
    rgba(200, 164, 104, 0.38) 0 9px,
    transparent 9px 18px
  );
}

.problem-hem::after {
  position: absolute;
  top: 1px;
  left: 50%;
  width: 9px;
  height: 9px;
  content: "";
  border: 1px solid rgba(200, 164, 104, 0.75);
  background: #1c0c12;
  rotate: 45deg;
  translate: -50% 0;
}

.problem-pattern {
  position: absolute;
  top: 4%;
  right: -40px;
  width: min(44%, 540px);
  height: auto;
  color: var(--gold-quiet);
  opacity: 0.07;
  pointer-events: none;
}

.problem-drape {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -130px;
  z-index: 0;
  width: clamp(160px, 18vw, 280px);
  pointer-events: none;
  opacity: 0.24;
  mask-image: linear-gradient(90deg, #000 30%, transparent);
  -webkit-mask-image: linear-gradient(90deg, #000 30%, transparent);
}

.problem-drape img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.problem-fold {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  z-index: 0;
  display: block;
  height: clamp(110px, 14vw, 200px);
  overflow: hidden;
  pointer-events: none;
  opacity: 0.5;
  mask-image: linear-gradient(180deg, transparent, #000 78%);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 78%);
}

.problem-fold img {
  width: min(100%, 1536px);
  height: 100%;
  margin-inline: auto;
  display: block;
  object-fit: cover;
  object-position: center bottom;
}

.problem-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 56px;
  align-items: center;
}

.problem-eyebrow {
  color: var(--gold-quiet);
  opacity: 1;
}

.problem-ornament {
  position: relative;
  display: block;
  width: 148px;
  height: 9px;
  margin: 18px 0 0;
}

.problem-ornament--mid {
  width: 96px;
  margin-top: 30px;
}

.problem-ornament::before {
  position: absolute;
  top: 4px;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(
    90deg,
    rgba(200, 164, 104, 0.55),
    rgba(200, 164, 104, 0.1)
  );
}

.problem-ornament::after {
  position: absolute;
  top: 1px;
  left: 46%;
  width: 7px;
  height: 7px;
  content: "";
  border: 1px solid rgba(200, 164, 104, 0.7);
  background: #1c0c12;
  rotate: 45deg;
}

.problem h2 {
  max-width: 21ch;
  margin: 26px 0 0;
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(2.5rem, 3.6vw, 3.85rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

.problem h2 mark {
  background: none;
  color: #d9b98e;
  font-style: italic;
}

.problem-body {
  max-width: 54ch;
  margin: 32px 0 0;
  color: rgba(245, 241, 232, 0.78);
  font-size: 1.02rem;
  line-height: 1.78;
}

.problem-lede {
  max-width: 54ch;
  margin: 26px 0 0;
  color: rgba(245, 241, 232, 0.7);
  font-size: 1.02rem;
  line-height: 1.7;
}

.problem-lede b {
  color: #d9b98e;
}

.problem-tags-col {
  position: relative;
}

.problem-thread {
  position: absolute;
  top: -36px;
  left: 50%;
  width: min(100%, 370px);
  height: calc(100% + 72px);
  color: rgba(200, 164, 104, 0.55);
  pointer-events: none;
  translate: -50% 0;
}

.stitch-tags {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.stitch-tag {
  position: relative;
  width: min(100%, 376px);
  padding: 34px 38px 26px;
  border-radius: 9px;
  background-color: #33161f;
  background-image:
    radial-gradient(120% 90% at 20% 0%, rgba(245, 241, 232, 0.07), transparent 55%),
    linear-gradient(155deg, rgba(68, 33, 45, 0.7) 0%, rgba(48, 20, 29, 0.74) 55%, rgba(60, 27, 39, 0.7) 100%),
    image-set(
      url("/media/problem/problem-card-material-texture.avif") type("image/avif"),
      url("/media/problem/problem-card-material-texture.webp") type("image/webp")
    );
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: auto, auto, 256px 256px;
  box-shadow:
    0 2px 5px rgba(0, 0, 0, 0.6),
    0 30px 60px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(245, 241, 232, 0.1),
    inset 0 -16px 32px rgba(0, 0, 0, 0.28);
}

.stitch-tag::before {
  position: absolute;
  inset: 9px;
  content: "";
  pointer-events: none;
  border: 1px dashed rgba(214, 178, 122, 0.48);
  border-radius: 5px;
}

.stitch-tag p {
  position: relative;
  margin: 0;
  color: rgba(245, 241, 232, 0.94);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: 1.13rem;
  font-style: italic;
  line-height: 1.45;
  text-align: center;
  text-wrap: balance;
}

.tag-ornament {
  position: relative;
  display: block;
  width: 74px;
  height: 9px;
  margin: 13px auto 0;
}

.tag-ornament::before {
  position: absolute;
  top: 4px;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(
    90deg,
    transparent,
    rgba(200, 164, 104, 0.55) 18%,
    rgba(200, 164, 104, 0.55) 82%,
    transparent
  );
}

.tag-ornament::after {
  position: absolute;
  top: 1px;
  left: 50%;
  width: 7px;
  height: 7px;
  content: "";
  border: 1px solid rgba(200, 164, 104, 0.75);
  background: #23101a;
  rotate: 45deg;
  translate: -50% 0;
}

.tag-needle {
  position: absolute;
  top: -21px;
  left: 18px;
  width: 34px;
  height: 48px;
  color: var(--gold-quiet);
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.55));
}

.tag-corner {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 30px;
  height: 30px;
  border-top: 2px solid rgba(200, 164, 104, 0.55);
  border-right: 2px solid rgba(200, 164, 104, 0.55);
  border-radius: 0 6px 0 0;
}

.tag-corner::after {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 18px;
  height: 18px;
  content: "";
  border-top: 1px solid rgba(200, 164, 104, 0.4);
  border-right: 1px solid rgba(200, 164, 104, 0.4);
  border-radius: 0 4px 0 0;
}

.tag-selvage {
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: -13px;
  width: 15px;
  background: linear-gradient(165deg, #4a2434, #301523);
  box-shadow: -2px 3px 8px rgba(0, 0, 0, 0.4);
  clip-path: polygon(
    100% 0%, 100% 100%, 0% 100%, 55% 93.75%, 0% 87.5%, 55% 81.25%,
    0% 75%, 55% 68.75%, 0% 62.5%, 55% 56.25%, 0% 50%, 55% 43.75%,
    0% 37.5%, 55% 31.25%, 0% 25%, 55% 18.75%, 0% 12.5%, 55% 6.25%, 0% 0%
  );
}

.tag-crossstitch {
  position: absolute;
  top: 17px;
  right: 12px;
  bottom: 17px;
  width: 13px;
  background-image:
    linear-gradient(45deg, transparent 43%, rgba(200, 164, 104, 0.72) 43% 57%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, rgba(200, 164, 104, 0.72) 43% 57%, transparent 57%);
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 13px 15px;
}

.stitch-tag:nth-child(1) {
  z-index: 1;
  align-self: flex-start;
  rotate: -1.8deg;
}

.stitch-tag:nth-child(2) {
  z-index: 2;
  align-self: flex-end;
  margin-top: -26px;
  rotate: 1.4deg;
}

.stitch-tag:nth-child(3) {
  z-index: 3;
  align-self: flex-start;
  margin: -30px 0 0 6%;
  rotate: -1.1deg;
}

.stitch-tag:nth-child(4) {
  z-index: 4;
  align-self: flex-end;
  margin: -26px 2% 0 0;
  padding-right: 44px;
  rotate: 1.9deg;
}

.reassure-band {
  position: relative;
  overflow: hidden;
  padding: 108px 0 116px;
  color: var(--ivory);
  background:
    radial-gradient(70% 60% at 50% 0%, rgba(122, 35, 64, 0.3), transparent 66%),
    radial-gradient(80% 70% at 50% 118%, rgba(122, 35, 64, 0.46), transparent 62%),
    linear-gradient(180deg, #170d11 0%, #201017 52%, #2b1620 100%);
}

.reassure-band::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.13;
  background-image:
    radial-gradient(circle at 24% 30%, rgba(245, 241, 232, 0.5) 0 0.5px, transparent 0.9px),
    radial-gradient(circle at 72% 62%, rgba(245, 241, 232, 0.4) 0 0.5px, transparent 0.9px);
  background-size: 6px 6px, 9px 9px;
  mix-blend-mode: soft-light;
}

.reassure-band::after {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: clamp(120px, 15vw, 220px);
  content: "";
  pointer-events: none;
  opacity: 0.72;
  background: url("/media/opportunity/burgundy-fabric-folds.webp") center bottom / cover no-repeat;
  mask-image: linear-gradient(180deg, transparent, #000 42%);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 42%);
}

.reassure-band > * {
  position: relative;
  z-index: 1;
}

.reassure {
  max-width:900px;
  margin-top:0;
  text-align: center;
}

.reassure .small-label {
  margin: 0 0 22px;
  color: var(--gold-quiet);
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.reassure h2 {
  font-family:var(--font-editorial), Georgia, serif;
  margin:0;
  font-size:clamp(1.6rem,2.9vw,2.7rem);
  font-weight:500;
  letter-spacing: -0.02em;
  line-height:1.28;
  text-wrap: balance;
}

.reassure h2 b {
  color: #d9b98e;
  font-weight: 500;
}

.reassure-ornament {
  position: relative;
  display: block;
  width: 170px;
  height: 11px;
  margin: 34px auto 0;
}

.reassure-ornament::before {
  position: absolute;
  top: 5px;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(
    90deg,
    transparent,
    rgba(200, 164, 104, 0.55) 20%,
    rgba(200, 164, 104, 0.55) 80%,
    transparent
  );
}

.reassure-ornament::after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 11px;
  height: 11px;
  content: "";
  border: 1px solid rgba(200, 164, 104, 0.78);
  background: #201017;
  rotate: 45deg;
  translate: -50% 0;
}

.midcta-wrap {
  max-width: 900px;
  margin-top: 46px;
}

.midcta {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 30px;
  padding: 34px 40px 30px;
  border: 1px solid rgba(200, 164, 104, 0.3);
  border-radius: 12px;
  background:
    radial-gradient(90% 80% at 12% 0%, rgba(245, 241, 232, 0.05), transparent 58%),
    linear-gradient(158deg, #1d1014 0%, #150c10 60%, #1c1015 100%);
  box-shadow: 0 30px 64px rgba(0, 0, 0, 0.4);
}

.midcta-monogram {
  width: 74px;
  height: auto;
  color: rgba(200, 164, 104, 0.42);
}

.midcta-line {
  margin: 0;
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  line-height: 1.32;
  text-align: left;
  text-wrap: balance;
}

.midcta-line b {
  color: #d9b98e;
  font-weight: 500;
}

.midcta-meta {
  grid-column: 2 / -1;
  margin: 4px 0 0;
  color: rgba(245, 241, 232, 0.58);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-align: left;
  text-transform: uppercase;
}

.text-cta {
  min-height:44px;
  color:inherit;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  background:0 0;
  border:0;
  border-bottom:1px solid;
  justify-content:center;
  align-items:center;
  padding:0 0 4px;
  font-size:.78rem;
  font-weight:800;
  transition:translate .15s ease-out,scale .15s ease-out,color .18s;
  display:inline-flex;
}

.text-cta>span:first-child {
  color:inherit;
  font-size:inherit;
}

.text-cta:hover,.text-cta:focus-visible {
  color:var(--carmine);
}

.text-cta:active {
  scale:.985;
}

.authority {
  padding:132px 0 150px;
  overflow:hidden;
}

.authority-heading {
  grid-template-columns:.8fr 2fr 1fr;
  align-items:end;
  gap:40px;
  display:grid;
}

.authority-heading .eyebrow {
  color:var(--carmine);
  margin-bottom:20px;
}

.authority h2 {
  font-size:clamp(4rem,6.4vw,7rem);
  line-height:.88;
}

.authority-intro {
  color:#f5f1e89e;
  max-width:390px;
  margin:0 0 6px;
  line-height:1.75;
}

.editorial-grid {
  grid-template-rows:auto auto;
  grid-template-columns:repeat(12,1fr);
  gap:20px;
  margin-top:88px;
  display:grid;
}

.editorial-grid figure {
  background:#171717;
  margin:0;
  position:relative;
  overflow:hidden;
}

.editorial-grid figure:after {
  content:"";
  pointer-events:none;
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px #f5f1e814;
}

.editorial-grid img {
  object-fit:cover;
  filter:saturate(.82)contrast(1.03);
  width:100%;
  height:100%;
  transition:transform .9s var(--ease-out), filter .6s ease;
}

.editorial-grid figure:hover img {
  filter:saturate()contrast(1.03);
  transform:scale(1.018);
}

.editorial-grid figcaption {
  z-index:2;
  background:linear-gradient(#0000,#000000d6);
  gap:3px;
  padding:48px 20px 18px;
  display:grid;
  position:absolute;
  inset:auto 0 0;
}

.editorial-grid figcaption span {
  color:#f5f1e89e;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.56rem;
  font-weight:800;
}

.editorial-grid figcaption strong {
  font-family:var(--font-editorial), Georgia, serif;
  font-size:1.08rem;
  font-weight:500;
}

.editorial-main {
  grid-area:1/1/span 2/span 6;
  min-height:850px;
}

.editorial-dubai {
  grid-column:7/span 3;
  min-height:510px;
}

.editorial-backstage {
  grid-column:10/span 3;
  min-height:510px;
}

.editorial-award {
  grid-column:7/span 6;
  grid-template-columns:1fr 1fr;
  min-height:320px;
  display:grid;
}

.editorial-award .award-card {
  color:var(--ink);
  background:var(--ivory);
  flex-direction:column;
  justify-content:center;
  padding:42px;
  display:flex;
}

.award-card p,.award-card span {
  letter-spacing:.13em;
  text-transform:uppercase;
  margin:0;
  font-size:.6rem;
  font-weight:800;
}

.award-card p {
  color:var(--carmine);
}

.award-card strong {
  font-family:var(--font-editorial), Georgia, serif;
  letter-spacing:-.04em;
  margin:20px 0;
  font-size:clamp(2.3rem,4vw,4.3rem);
  font-weight:500;
  line-height:.8;
}

.identity {
  position: relative;
  padding:145px 0 135px;
  overflow:hidden;
  background:
    radial-gradient(58% 46% at 50% 26%, rgba(122, 35, 64, 0.26), transparent 66%),
    linear-gradient(255deg, rgba(122, 35, 64, 0.34), transparent 34%),
    linear-gradient(180deg, #120a0d 0%, #0b0b0c 46%, #130a0e 100%);
}

.identity::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.55;
  background-image: image-set(
    url("/media/identity/identity-dark-texture.avif") type("image/avif"),
    url("/media/identity/identity-dark-texture.webp") type("image/webp")
  );
  background-repeat: repeat;
  background-size: 384px 384px;
  mix-blend-mode: soft-light;
}

.identity > * {
  position: relative;
  z-index: 1;
}

.identity-head {
  grid-template-columns:1fr 3fr;
  align-items:start;
  gap:40px;
  display:grid;
}

.identity-head .eyebrow {
  color:var(--carmine-soft);
}

.identity-head > .section-number {
  position: relative;
  color: var(--gold-quiet);
  opacity: 1;
}

.identity-head > .section-number::after {
  position: absolute;
  top: 26px;
  left: 2px;
  width: 132px;
  height: 9px;
  content: "";
  background-image:
    linear-gradient(90deg, rgba(200, 164, 104, 0.5), rgba(200, 164, 104, 0.08));
  background-position: 0 4px;
  background-repeat: no-repeat;
  background-size: 100% 1px;
}

.identity-head > div {
  text-align: center;
}

.identity-sub {
  color:#f5f1e8c4;
  font-family:var(--font-editorial), Georgia, serif;
  margin:16px 0 0;
  font-size:clamp(1.25rem,1.8vw,1.7rem);
  font-style:italic;
}

.big-word-stage {
  position: relative;
  margin-top: 40px;
}

.big-word {
  font-family:var(--font-editorial), Georgia, serif;
  letter-spacing:.015em;
  text-align:center;
  white-space:nowrap;
  margin:0;
  font-size:clamp(3.4rem,14.5vw,15rem);
  font-weight:500;
  line-height:.95;
  position:relative;
}

.big-word span {
  display:block;
}

.big-word-outline {
  color:#0000;
  -webkit-text-stroke:1px rgba(200, 164, 104, 0.3);
}

.big-word-fill {
  position:absolute;
  inset:0;
  color: transparent;
  background-image: linear-gradient(
    178deg,
    #e02a50 0%,
    #ad1533 34%,
    #7c0f24 68%,
    #4c0715 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.55));
}

.identity-thread {
  position: absolute;
  right: 0;
  bottom: -14px;
  left: 0;
  width: 100%;
  height: 90px;
  color: rgba(200, 164, 104, 0.42);
  pointer-events: none;
}

.identity-thread-node {
  position: absolute;
  bottom: 4px;
  left: 50%;
  width: 11px;
  height: 11px;
  border: 1px solid rgba(200, 164, 104, 0.8);
  background: #120a0d;
  rotate: 45deg;
  translate: -50% 0;
}

.identity-hem {
  position: absolute;
  right: 0;
  bottom: 46px;
  left: 0;
  height: 11px;
  pointer-events: none;
}

.identity-hem::before {
  position: absolute;
  top: 5px;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background-image: repeating-linear-gradient(
    90deg,
    rgba(200, 164, 104, 0.32) 0 9px,
    transparent 9px 18px
  );
}

.identity-hem::after {
  position: absolute;
  top: 1px;
  left: 50%;
  width: 9px;
  height: 9px;
  content: "";
  border: 1px solid rgba(200, 164, 104, 0.7);
  background: #120a0d;
  rotate: 45deg;
  translate: -50% 0;
}

html[data-reveal-ready] .big-word-fill {
  clip-path:inset(-4% 100% -4% 0);
  transition:clip-path 1.5s var(--ease-out) .2s;
}

html[data-reveal-ready] .big-word.is-inview .big-word-fill {
  clip-path:inset(-4% 0% -4% 0);
}

.identity-lede {
  text-align:center;
  max-width:720px;
  margin-top:60px;
}

.identity-lede p {
  color:#f5f1e8cc;
  margin:0;
  font-size:1.02rem;
  line-height:1.7;
  text-wrap: balance;
}

.groups {
  position: relative;
  grid-template-columns:1fr 1fr;
  gap: 26px;
  margin-top:58px;
  display:grid;
}

.group {
  position: relative;
  flex-direction:column;
  padding:46px 48px 40px;
  display:flex;
  border: 1px solid rgba(245, 241, 232, 0.15);
  border-radius: 10px;
  background: linear-gradient(158deg, #131215 0%, #0c0b0d 62%, #121013 100%);
  box-shadow:
    0 26px 54px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(245, 241, 232, 0.05);
}

.group-seam-img {
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 14px;
  width: 78px;
  pointer-events: none;
}

.group-seam-img img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  opacity: 0.92;
}

.groups-seam {
  position: absolute;
  top: 18%;
  bottom: 18%;
  left: 50%;
  width: 15px;
  background-image:
    linear-gradient(45deg, transparent 43%, rgba(200, 164, 104, 0.6) 43% 57%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, rgba(200, 164, 104, 0.6) 43% 57%, transparent 57%);
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 15px 30px;
  pointer-events: none;
  translate: -50% 0;
}

.group-tag {
  position: relative;
  color:#f5f1e8ab;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin:0 0 26px;
  font-size:.63rem;
  font-weight:800;
}

.group>p:not(.group-tag) {
  position: relative;
  font-family:var(--font-editorial), Georgia, serif;
  margin:0;
  font-size:clamp(1.15rem,1.6vw,1.5rem);
  line-height:1.42;
}

.group footer {
  position: relative;
  border-top:1px solid var(--line-dark);
  color:#f5f1e8ab;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-top:30px;
  padding-top:18px;
  font-size:.63rem;
  font-weight:700;
}

.group-adn {
  overflow: hidden;
  color:var(--ivory);
  border-color: rgba(200, 164, 104, 0.32);
  background-color: #300a15;
  background-image:
    linear-gradient(158deg, rgba(18, 4, 9, 0.4), rgba(18, 4, 9, 0.22) 52%, rgba(18, 4, 9, 0.5)),
    image-set(
      url("/media/identity/identity-group-two-texture.avif") type("image/avif"),
      url("/media/identity/identity-group-two-texture.webp") type("image/webp")
    );
  background-repeat: no-repeat, no-repeat;
  background-position: center, center;
  background-size: cover, cover;
}

.group-adn::before {
  position: absolute;
  inset: 9px;
  content: "";
  pointer-events: none;
  border: 1px dashed rgba(200, 164, 104, 0.5);
  border-radius: 6px;
}

.group-form {
  position: absolute;
  right: -10px;
  bottom: 4px;
  width: 168px;
  pointer-events: none;
  opacity: 0.82;
}

.group-form img {
  width: 100%;
  height: auto;
}

.identity-drape {
  position: absolute;
  top: 0;
  right: -60px;
  z-index: 0;
  width: min(46%, 640px);
  pointer-events: none;
  opacity: 0.9;
  mask-image: linear-gradient(90deg, transparent, #000 30%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%);
}

.identity-drape img {
  width: 100%;
  height: auto;
}

.group-adn .group-tag,.group-adn footer {
  color:#f5f1e8c4;
}

.group-adn footer {
  border-top-color: rgba(200, 164, 104, 0.34);
}

.group-adn > p:not(.group-tag),
.group-adn footer {
  max-width: 74%;
}

.whynow {
  position: relative;
  padding:138px 0 122px;
  overflow:hidden;
  isolation: isolate;
  color: var(--ivory);
  background: #080707;
}

.whynow::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.42;
  mix-blend-mode: soft-light;
  background:
    radial-gradient(circle at 16% 16%, rgba(86, 25, 44, 0.2), transparent 31rem),
    radial-gradient(circle at 84% 26%, rgba(96, 22, 45, 0.15), transparent 30rem),
    linear-gradient(180deg, rgba(5, 5, 5, 0.18), rgba(28, 7, 16, 0.26)),
    url("/media/opportunity/dark-couture-texture.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-size: auto, auto, auto, 512px 512px;
}

.whynow-number {
  margin-bottom: 30px;
  color: #ead0a2;
  opacity: 1;
}

.whynow-head {
  grid-template-columns:0.94fr 1.06fr;
  align-items:center;
  gap:56px;
  display:grid;
}

.whynow-head .eyebrow {
  color:#ead0a2;
  margin-bottom:22px;
}

.whynow h2 {
  max-width:620px;
  font-size:clamp(2rem,2.75vw,2.85rem);
  line-height:1.12;
  text-wrap:balance;
}

.whynow h2 b {
  color: #ead0a2;
  font-weight: 500;
}

.whynow-intro {
  color:rgba(245,241,232,0.72);
  max-width:600px;
  margin:28px 0 0;
  font-size:clamp(0.98rem,1.15vw,1.05rem);
  line-height:1.78;
}

.market-concept {
  position: relative;
  min-height: 30rem;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(213, 177, 126, 0.2);
  border-radius: 10px;
  background:
    linear-gradient(rgba(214, 175, 120, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214, 175, 120, 0.035) 1px, transparent 1px),
    linear-gradient(145deg, rgba(255, 255, 255, 0.025), transparent 42%),
    rgba(8, 8, 8, 0.5);
  background-size: 42px 42px, 42px 42px, auto, auto;
  box-shadow:
    0 2rem 5rem rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.mc-copy {
  position: relative;
  z-index: 7;
  width: min(46%, 21.5rem);
  padding: clamp(1.7rem, 2.4vw, 2.4rem);
}

.mc-line {
  margin: 0;
  max-width: 42ch;
  color: rgba(245, 241, 232, 0.86);
  font-size: 0.97rem;
  line-height: 1.68;
  text-wrap: pretty;
}

.mc-line b {
  color: #ead0a2;
  font-weight: 600;
}

.mc-art {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mc-collage {
  position: absolute;
  z-index: 2;
  right: clamp(0.6rem, 2vw, 2rem);
  bottom: 0.8rem;
  width: min(50%, 24rem);
  height: auto;
  filter: drop-shadow(0 1.4rem 1.6rem rgba(0, 0, 0, 0.45));
}

.mc-traditional {
  position: absolute;
  z-index: 4;
  bottom: 2.6rem;
  left: clamp(1.6rem, 3.4vw, 3.6rem);
  display: grid;
  width: clamp(10.5rem, 19vw, 13.5rem);
  min-height: 8.4rem;
  place-items: end center;
  padding: 0 0.7rem 0.9rem;
  background: linear-gradient(180deg, #dcc39d, #b98b50);
  box-shadow: 0 1.2rem 2rem rgba(0, 0, 0, 0.36);
}

.mc-swatch {
  position: absolute;
  inset: 0 0 3.4rem;
  background:
    repeating-linear-gradient(93deg, transparent 0 5px, rgba(255, 255, 255, 0.025) 6px),
    #11100f;
  clip-path: polygon(
    0 7%, 3% 0, 8% 5%, 13% 1%, 19% 5%, 25% 0, 31% 5%,
    37% 1%, 44% 5%, 50% 0, 57% 5%, 64% 1%, 70% 5%,
    77% 0, 84% 5%, 91% 1%, 97% 5%, 100% 2%, 100% 100%, 0 100%
  );
}

.mc-plaque {
  position: relative;
  display: grid;
  gap: 6px;
  width: 100%;
  color: #17100e;
  text-align: center;
}

.mc-plaque b {
  font-family: var(--font-editorial), Georgia, serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.15;
  text-transform: uppercase;
}

.mc-plaque i,
.mc-emerging i {
  position: relative;
  display: block;
  padding-top: 7px;
  font-size: 0.63rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.25;
  text-transform: none;
}

.mc-plaque i::before,
.mc-emerging i::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 68%;
  height: 1px;
  content: "";
  background: currentColor;
  opacity: 0.42;
  translate: -50% 0;
}

.mc-emerging {
  position: absolute;
  z-index: 5;
  right: clamp(1.4rem, 3.2vw, 3.2rem);
  bottom: 2.9rem;
  display: grid;
  gap: 6px;
  width: min(38%, 14rem);
  padding: 0.8rem 0.7rem 0.75rem;
  color: #20130e;
  text-align: center;
  background: rgba(245, 236, 222, 0.94);
  box-shadow: 0 0.8rem 1.8rem rgba(0, 0, 0, 0.3);
}

.mc-emerging b {
  font-family: var(--font-editorial), Georgia, serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.24;
  text-transform: uppercase;
  text-wrap: balance;
}

.mc-thread {
  position: absolute;
  z-index: 3;
  top: 1.6rem;
  right: auto;
  bottom: auto;
  left: calc(clamp(1.6rem, 3.4vw, 3.6rem) + clamp(10.5rem, 19vw, 13.5rem));
  /* Ambos ejes explícitos: el SVG tiene proporción intrínseca 1:1 (viewBox
     100x100) y, si se deja alguno en auto, el navegador lo deriva de ella. */
  width: calc(100% - clamp(1.6rem, 3.4vw, 3.6rem) - clamp(10.5rem, 19vw, 13.5rem) - 1.4rem);
  height: calc(100% - 1.6rem - 6.8rem);
  overflow: visible;
  fill: none;
  stroke: #f0d9ae;
  stroke-width: 2.1;
  stroke-dasharray: 9 7;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.95;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.75));
}

.mc-arrowhead {
  position: absolute;
  z-index: 3;
  top: calc(1.6rem - 13px);
  right: calc(1.4rem - 13px);
  width: 30px;
  height: 30px;
  overflow: visible;
  fill: none;
  stroke: #f0d9ae;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.75));
}

.mc-note {
  position: absolute;
  z-index: 6;
  right: 1.6rem;
  bottom: 0.7rem;
  left: 1.6rem;
  color: rgba(214, 199, 186, 0.82);
  font-size: 0.62rem;
  line-height: 1.45;
  text-align: center;
}

.script-note {
  color:#ead0a2;
  font-family:var(--font-editorial), Georgia, serif;
  margin:18px 0 0;
  font-size:1.25rem;
  font-style:italic;
}

.reasons-grid {
  border-top:1px solid rgba(213,177,126,0.18);
  border-left:1px solid rgba(213,177,126,0.18);
  grid-template-columns:1fr 1fr 1fr;
  margin:92px auto 0;
  padding:0;
  list-style:none;
  display:grid;
}

.reasons-grid li {
  border-right:1px solid rgba(213,177,126,0.18);
  border-bottom:1px solid rgba(213,177,126,0.18);
  grid-template-columns:auto 1fr;
  gap:22px;
  padding:40px 38px 44px;
  display:grid;
}

.reasons-grid li>span {
  border:1px solid rgba(213,177,126,0.3);
  width:34px;
  height:34px;
  color:#ead0a2;
  border-radius:50%;
  place-items:center;
  font-size:.58rem;
  font-weight:800;
  display:grid;
}

.reasons-grid h3 {
  font-family:var(--font-editorial), Georgia, serif;
  margin:2px 0 12px;
  font-size:clamp(1.2rem,1.6vw,1.5rem);
  font-weight:500;
  line-height:1.15;
}

.reasons-grid li>div>p {
  color:rgba(245,241,232,0.68);
  margin:0;
  font-size:.9rem;
  line-height:1.6;
}

.democ {
  text-align:center;
  max-width:760px;
  margin-top:68px;
}

.democ>p:first-child {
  color:rgba(245,241,232,0.72);
  margin:0;
  font-size:1.02rem;
  line-height:1.75;
}

.democ-close {
  font-family:var(--font-editorial), Georgia, serif;
  margin:30px 0 0;
  font-size:clamp(1.4rem,2.2vw,1.95rem);
  font-style:italic;
  line-height:1.35;
}

.democ-close strong {
  color:#ead0a2;
  font-style:normal;
  font-weight:500;
}

.democ .text-cta {
  margin-top:34px;
}

/* La sesión · «El patrón de cuatro momentos».
   Pliego técnico de atelier sobre negro cálido: cabecera editorial,
   costura horizontal con nodos de patronaje y cuatro columnas con
   numeración monumental dorada. */
.agenda {
  padding:138px 0 96px;
  overflow:hidden;
  background:
    radial-gradient(34% 28% at 0% 0%, rgba(96,20,40,.34), transparent 72%),
    radial-gradient(40% 42% at 100% 88%, rgba(96,20,40,.14), transparent 70%),
    linear-gradient(180deg, #141011, #100d0e 56%, #131012);
}

.agenda-head {
  grid-template-columns:.85fr 2.7fr 1.2fr;
  align-items:start;
  gap:40px;
  display:grid;
}

.agenda-head .eyebrow {
  color:var(--gold-quiet);
  margin-bottom:22px;
}

.agenda h2 {
  font-family:var(--font-editorial), Georgia, serif;
  letter-spacing:-.045em;
  font-size:clamp(2.7rem,4.2vw,4.7rem);
  font-weight:500;
  line-height:1.02;
}

.agenda h2 em {
  color:#ead0a2;
  font-weight:500;
}

/* Subtítulo en columna derecha, colgado de un hilo vertical dorado. */
.agenda-sub {
  color:rgba(245,241,232,.78);
  max-width:620px;
  margin:14px 0 0;
  padding-left:26px;
  border-left:1px solid rgba(200,164,104,.5);
  position:relative;
  font-size:1.0625rem;
  line-height:1.7;
}

.agenda-sub::before {
  content:"";
  position:absolute;
  top:-5px;
  left:-4px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold-quiet);
}

/* Costura horizontal: hilván a sangre completa con nodos de patronaje,
   uno centrado sobre cada columna del pliego. */
.agenda-seam {
  position:relative;
  height:1px;
  margin-top:clamp(56px,6vw,84px);
  background:repeating-linear-gradient(90deg, rgba(200,164,104,.44) 0 12px, transparent 12px 24px);
}

.seam-node {
  position:absolute;
  top:50%;
  translate:-50% -50%;
  width:30px;
  height:30px;
  color:var(--gold-quiet);
  background:#110e0f;
  padding:2px;
}

.seam-node:nth-child(1) { left:12.5%; }
.seam-node:nth-child(2) { left:37.5%; }
.seam-node:nth-child(3) { left:62.5%; }
.seam-node:nth-child(4) { left:87.5%; }

/* Pliego de cuatro columnas separadas por hilvanes verticales. */
.timeline {
  max-width:none;
  margin-top:0;
  padding-left:0;
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  list-style:none;
  padding-block:0;
}

.moment {
  padding:clamp(40px,4.4vw,64px) clamp(20px,2.2vw,38px) clamp(30px,3vw,44px);
  position:relative;
}

.moment + .moment {
  border-left:1px solid rgba(200,164,104,.2);
}

.moment:first-child {
  padding-left:0;
}

.moment-ghost {
  display:block;
  color:var(--gold-quiet);
  font-family:var(--font-editorial), Georgia, serif;
  -webkit-user-select:none;
  user-select:none;
  font-size:clamp(4.4rem,6vw,6.4rem);
  font-weight:500;
  line-height:1;
  margin-bottom:26px;
}

.moment-tag {
  color:rgba(200,164,104,.9);
  letter-spacing:.22em;
  text-transform:uppercase;
  margin:0 0 14px;
  font-size:.66rem;
  font-weight:700;
}

.moment h3 {
  color:var(--ivory);
  font-family:var(--font-editorial), Georgia, serif;
  margin:0 0 14px;
  font-size:clamp(1.4rem,1.8vw,1.75rem);
  font-weight:500;
  line-height:1.14;
}

.moment>p:not(.moment-tag) {
  color:rgba(245,241,232,.72);
  max-width:520px;
  margin:0;
  font-size:1.0625rem;
  line-height:1.62;
}

/* Remate inferior: hilván fino con doble puntada en aspa. */
.agenda-close {
  position:relative;
  height:1px;
  margin-top:clamp(20px,2.6vw,36px);
  background:repeating-linear-gradient(90deg, rgba(200,164,104,.26) 0 9px, transparent 9px 20px);
}

.agenda-close svg {
  position:absolute;
  top:50%;
  left:50%;
  translate:-50% -50%;
  width:40px;
  height:18px;
  color:rgba(200,164,104,.75);
  background:#110e0f;
  padding-inline:8px;
}

/* El filtro · mesa de patronaje editorial oscura.
   La superficie continúa la agenda, pero gana profundidad de vino, textura
   de corte y fichas oscuras para evitar el salto marfil. */
.audience {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(104px, 8vw, 132px) 0 0;
  color: var(--ivory);
  background:
    radial-gradient(72% 52% at 84% 22%, rgba(98, 23, 44, 0.18), transparent 72%),
    linear-gradient(180deg, #110e0f 0%, #0d0c0d 22%, #111012 68%, #170c11 100%);
}

.audience::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.24;
  background-image:
    linear-gradient(rgba(200, 164, 104, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200, 164, 104, 0.1) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.68), transparent 76%);
}

.audience::after {
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 1px;
  content: "";
  pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(200, 164, 104, 0.5) 0 8px, transparent 8px 18px);
  opacity: 0.55;
}

.audience-heading {
  position: relative;
  z-index: 1;
  display: block;
}

.audience-heading > .section-number {
  position: absolute;
  top: 8px;
  left: 0;
  color: var(--text-on-dark-muted);
  opacity: 1;
}

.audience-heading > div {
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.audience-heading .eyebrow {
  color: rgba(200, 164, 104, 0.9);
}

.audience-ornament {
  position: relative;
  display: block;
  width: 84px;
  height: 11px;
  margin: 14px auto 24px;
}

.audience-ornament::before {
  position: absolute;
  top: 5px;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: rgba(200, 164, 104, 0.42);
}

.audience-ornament::after {
  position: absolute;
  top: 1px;
  left: 50%;
  width: 9px;
  height: 9px;
  content: "";
  translate: -50%;
  rotate: 45deg;
  border: 1px solid rgba(245, 241, 232, 0.22);
  background: var(--gold-quiet);
  box-shadow: 0 0 0 4px #0e0d0e;
}

.audience-heading h2 {
  max-width: 760px;
  margin-inline: auto;
  font-size: var(--type-display-section);
  line-height: var(--leading-display);
}

.audience-heading h2 em {
  color: var(--carmine-soft);
}

.audience-sub {
  max-width: 580px;
  margin: 26px auto 0;
  color: var(--text-on-dark);
  font-size: var(--type-body);
  line-height: 1.7;
}

.audience-sub strong {
  color: var(--ivory);
  font-weight: 800;
  box-shadow: inset 0 -1px 0 rgba(208, 29, 63, 0.9);
}

.qualify-board {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-top: clamp(52px, 5vw, 72px);
  padding: clamp(30px, 3.2vw, 48px);
  border: 1px solid rgba(200, 164, 104, 0.28);
  color: var(--ivory);
  background-color: #171315;
  background-image:
    linear-gradient(180deg, rgba(10, 9, 10, 0.46), rgba(17, 12, 15, 0.82)),
    image-set(
      url("/media/qualify/qualify-board-mat-1586.avif") type("image/avif"),
      url("/media/qualify/qualify-board-mat-1586.webp") type("image/webp")
    );
  background-position: center;
  background-size: cover;
  box-shadow:
    inset 0 0 0 1px rgba(245, 241, 232, 0.035),
    inset 0 -100px 140px rgba(5, 4, 5, 0.28),
    0 42px 90px -56px rgba(0, 0, 0, 0.9);
}

.qualify-board::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(80% 70% at 78% 24%, rgba(132, 30, 57, 0.12), transparent 72%),
    linear-gradient(90deg, rgba(9, 8, 9, 0.22), rgba(9, 8, 9, 0.02) 56%, rgba(9, 8, 9, 0.2));
}

.qualify-board::after {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto;
  height: 10px;
  content: "";
  pointer-events: none;
  border-bottom: 1px solid rgba(200, 164, 104, 0.2);
  background: repeating-linear-gradient(90deg, rgba(200, 164, 104, 0.38) 0 1px, transparent 1px 23px);
}

.q-thread {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.72;
}

.qcard-thread {
  position: absolute;
  top: 0;
  left: 0;
  width: 112px;
  height: 86px;
  pointer-events: none;
  opacity: 0.52;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.45));
}

.q-photo {
  position: absolute;
  z-index: 2;
  inset: 0 0 0 auto;
  width: clamp(290px, 28vw, 414px);
  margin: 0;
  pointer-events: none;
}

.q-photo::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, #171315 0%, transparent 34%),
    linear-gradient(180deg, transparent 64%, #171315 100%);
}

.q-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% top;
  filter: saturate(0.78) contrast(1.04) brightness(0.76);
}

.qualify-grid {
  position: relative;
  z-index: 3;
  display: grid;
  width: calc(100% - clamp(290px, 28vw, 414px) - clamp(20px, 2.4vw, 34px));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 24px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.qualify-card:nth-child(n) {
  grid-column: auto;
  grid-row: auto;
  margin-top: 0;
  rotate: 0deg;
  clip-path: none;
}

.qualify-card:nth-child(5) {
  grid-column: 1 / -1;
}

.qualify-card {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: auto 1fr;
  column-gap: 16px;
  align-content: start;
  align-items: center;
  padding: clamp(24px, 2.1vw, 32px) clamp(20px, 2vw, 30px) clamp(24px, 2.2vw, 34px) clamp(46px, 3.6vw, 58px);
  border: 1px solid rgba(245, 241, 232, 0.13);
  color: var(--ivory);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.035), transparent 52%),
    rgba(28, 23, 26, 0.94);
  box-shadow:
    inset 0 1px 0 rgba(245, 241, 232, 0.045),
    0 24px 48px -34px rgba(0, 0, 0, 0.88);
}

.qualify-card:nth-child(2),
.qualify-card:nth-child(5) {
  background:
    linear-gradient(145deg, rgba(208, 29, 63, 0.06), transparent 60%),
    rgba(31, 22, 27, 0.95);
}

.qualify-card:nth-child(3) {
  background:
    linear-gradient(145deg, rgba(200, 164, 104, 0.055), transparent 60%),
    rgba(27, 24, 24, 0.96);
}

.qualify-card::before {
  position: absolute;
  top: 29px;
  left: 18px;
  width: 16px;
  height: 16px;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle at 38% 30%, #f2e0b4 0 10%, #b98b50 24%, #110e0f 43% 58%, #8a6534 68%, #d9b06c 78%, #5f4522 100%);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.6);
}

.qualify-card::after {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 25px;
  height: 25px;
  content: "";
  border: 1px dashed rgba(208, 29, 63, 0.56);
}

.qcard-number {
  grid-row: 1;
  margin: 0;
  color: rgba(200, 164, 104, 0.76);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(2.35rem, 2.7vw, 3rem);
  font-weight: 500;
  line-height: 0.9;
}

.qualify-tag {
  grid-row: 1;
  margin: 0 26px 0 0;
  color: var(--ivory);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: var(--type-heading-card);
  font-weight: 500;
  line-height: 1.18;
}

.qualify-card ul {
  display: grid;
  grid-column: 1 / -1;
  gap: 11px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.qualify-card li {
  position: relative;
  padding-left: 22px;
  color: rgba(245, 241, 232, 0.7);
  font-size: clamp(0.95rem, 0.28vw + 0.9rem, 1.03rem);
  line-height: 1.58;
}

.qualify-card li::before {
  position: absolute;
  top: 0.72em;
  left: 2px;
  width: 6px;
  height: 6px;
  content: "";
  border-radius: 50%;
  background: var(--carmine-soft);
  box-shadow: 0 0 0 3px rgba(208, 29, 63, 0.1);
}

.qualify-card li:nth-child(even)::before {
  background: var(--gold-quiet);
  box-shadow: 0 0 0 3px rgba(200, 164, 104, 0.1);
}

.qualify-note {
  position: relative;
  z-index: 3;
  width: min(660px, calc(100% - clamp(290px, 28vw, 414px) - 28px));
  margin: clamp(28px, 3vw, 42px) auto 0 0;
  padding: 18px clamp(24px, 3.2vw, 44px);
  border-top: 1px solid rgba(200, 164, 104, 0.35);
  border-bottom: 1px solid rgba(245, 241, 232, 0.09);
  color: var(--ivory);
  background: linear-gradient(90deg, rgba(208, 29, 63, 0.13), rgba(245, 241, 232, 0.025));
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.3rem, 1.75vw, 1.65rem);
  font-style: italic;
  line-height: 1.38;
  text-align: center;
}

.qualify-note::before {
  position: absolute;
  top: 50%;
  left: -18px;
  width: 36px;
  height: 12px;
  content: "";
  translate: 0 -50%;
  rotate: -22deg;
  border: 1px solid rgba(200, 164, 104, 0.85);
  border-radius: 8px;
}

.together {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  padding: clamp(68px, 7vw, 98px) 0 clamp(78px, 8vw, 112px);
  color: var(--ivory);
  background: #2a0d17;
  text-align: center;
}

.together-fabric {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.together-fabric img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.72) brightness(0.6) contrast(1.05);
}

.together::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    radial-gradient(70% 90% at 50% 38%, rgba(68, 15, 32, 0.2), rgba(17, 8, 12, 0.76)),
    linear-gradient(180deg, rgba(17, 8, 12, 0.24), rgba(17, 8, 12, 0.72));
}

.together::after {
  position: absolute;
  inset: auto 0 0;
  height: 44%;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent, #130b0f 100%);
}

.together-inner {
  position: relative;
  z-index: 1;
}

.together .eyebrow {
  margin-bottom: 16px;
  color: #ead0a2;
}

.together .eyebrow::before,
.together .eyebrow::after {
  margin-inline: 14px;
  color: rgba(234, 208, 162, 0.55);
  content: "◆";
  font-size: 0.6em;
  vertical-align: 0.18em;
}

.together-inner > p:last-child {
  max-width: 640px;
  margin: 0 auto;
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.3rem, 1.8vw, 1.7rem);
  line-height: 1.42;
}

/* Pliego de la agenda a dos columnas en anchos intermedios. */
@media (width>=768px) and (width<=1100px) {
  .timeline {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .moment + .moment {
    border-left:0;
  }
  .moment:nth-child(even) {
    border-left:1px solid rgba(200,164,104,.2);
  }
  .moment:nth-child(n+3) {
    border-top:1px solid rgba(200,164,104,.2);
  }
  .moment:nth-child(3) {
    padding-left:0;
  }
  .seam-node:nth-child(1) { left:25%; }
  .seam-node:nth-child(2) { left:75%; }
  .seam-node:nth-child(3),
  .seam-node:nth-child(4) { display:none; }
}

/* En tablet la fotografía entra en el flujo y las fichas conservan dos columnas. */
@media (width <= 1100px) {
  .q-thread {
    display: none;
  }

  .qualify-board {
    background-image:
      linear-gradient(180deg, rgba(10, 9, 10, 0.5), rgba(17, 12, 15, 0.84)),
      image-set(
        url("/media/qualify/qualify-board-mat-1200.avif") type("image/avif"),
        url("/media/qualify/qualify-board-mat-1200.webp") type("image/webp")
      );
  }

  .q-photo {
    position: relative;
    inset: auto;
    width: min(42%, 330px);
    height: clamp(250px, 34vw, 360px);
    margin: 0 0 28px auto;
  }

  .q-photo::after {
    background:
      linear-gradient(90deg, #171315 0%, transparent 24%),
      linear-gradient(180deg, transparent 56%, #171315 100%);
  }

  .qualify-grid,
  .qualify-note {
    width: 100%;
  }

  .qualify-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .qualify-card:nth-child(5) {
    grid-column: 1 / -1;
  }

  .qualify-note {
    margin-right: auto;
  }
}

@media (width >= 1101px) and (width <= 1280px) {
  .qualify-board {
    padding-inline: 30px;
  }

  .qualify-grid {
    gap: 16px;
  }

  .qualify-card {
    padding-right: 20px;
    padding-left: 48px;
  }

  .qualify-tag {
    margin-right: 20px;
    font-size: 1.08rem;
  }

  .qualify-card li {
    font-size: 0.94rem;
  }
}

@media (width <= 767px) {
  .audience {
    padding-top: 86px;
  }

  .audience::before {
    background-size: 56px 56px;
    opacity: 0.16;
  }

  .audience-heading > .section-number {
    position: static;
    display: block;
    margin-bottom: 20px;
  }

  .audience-heading > div {
    text-align: left;
  }

  .audience-ornament {
    margin-right: auto;
    margin-left: 0;
  }

  .audience-heading h2 {
    margin-inline: 0;
    font-size: clamp(3rem, 14vw, 4.35rem);
  }

  .audience-sub {
    margin-right: 0;
    margin-left: 0;
  }

  .q-photo,
  .qcard-thread {
    display: none;
  }

  .qualify-board {
    margin-top: 44px;
    padding: 26px 18px 30px;
    background-image:
      linear-gradient(180deg, rgba(10, 9, 10, 0.52), rgba(17, 12, 15, 0.86)),
      image-set(
        url("/media/qualify/qualify-board-mat-800.avif") type("image/avif"),
        url("/media/qualify/qualify-board-mat-800.webp") type("image/webp")
      );
  }

  .qualify-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .qualify-card:nth-child(5) {
    grid-column: auto;
  }

  .qualify-card {
    padding: 24px 20px 26px 46px;
  }

  .qualify-card::before {
    left: 16px;
  }

  .qualify-tag {
    font-size: 1.18rem;
  }

  .qualify-note {
    margin-top: 30px;
    padding-inline: 20px;
    font-size: 1.24rem;
  }

  .qualify-note::before {
    display: none;
  }

  .together {
    padding: 60px 0 82px;
  }
}

.founder {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(118px, 9vw, 150px) 0 clamp(116px, 8vw, 142px);
  color: var(--ivory);
  background:
    radial-gradient(58% 52% at 27% 42%, rgba(112, 27, 50, 0.24), transparent 72%),
    radial-gradient(48% 38% at 84% 18%, rgba(200, 164, 104, 0.07), transparent 78%),
    linear-gradient(180deg, #130b0f 0%, #100d0f 55%, #0b0b0c 100%);
}

.founder::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.25;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(245, 241, 232, 0.13) 0 0.6px, transparent 0.9px),
    radial-gradient(circle at 74% 66%, rgba(200, 164, 104, 0.11) 0 0.6px, transparent 0.9px);
  background-size: 6px 6px, 8px 8px;
  mix-blend-mode: soft-light;
}

.founder::after {
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 25%;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent, var(--ink));
}

.founder-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
  grid-template-rows: auto 1fr;
  column-gap: clamp(44px, 5.2vw, 86px);
  row-gap: 30px;
  align-items: start;
}

.founder-image {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  margin: 0;
}

.founder-image::before {
  position: absolute;
  z-index: 0;
  inset: -26px 28px 30px -28px;
  content: "";
  border: 1px solid rgba(200, 164, 104, 0.26);
  background:
    radial-gradient(circle at 42% 38%, rgba(208, 29, 63, 0.15), transparent 66%),
    #1b1116;
  rotate: -0.7deg;
  box-shadow: 0 36px 80px -54px rgba(0, 0, 0, 0.95);
}

.founder-image::after {
  position: absolute;
  z-index: 3;
  inset: -36px 16px 18px -38px;
  content: "";
  pointer-events: none;
  background-image:
    linear-gradient(var(--line-dark), var(--line-dark)),
    linear-gradient(var(--line-dark), var(--line-dark)),
    linear-gradient(var(--line-dark), var(--line-dark)),
    linear-gradient(var(--line-dark), var(--line-dark));
  background-repeat: no-repeat;
  background-size: 1px 28px, 28px 1px, 1px 28px, 28px 1px;
  background-position: left top, left top, right bottom, right bottom;
}

.founder-plate {
  position: relative;
  z-index: 1;
  padding: 14px 14px 12px;
  border: 1px solid rgba(245, 241, 232, 0.13);
  background: #171416;
  box-shadow:
    inset 0 1px 0 rgba(245, 241, 232, 0.045),
    0 34px 70px -44px rgba(0, 0, 0, 0.95);
  rotate: -0.35deg;
}

.founder-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #0d0c0d;
}

.founder-frame::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8, 7, 8, 0.03), rgba(8, 7, 8, 0.34)),
    linear-gradient(90deg, rgba(18, 10, 14, 0.16), transparent 42%);
}

.founder-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 16%;
  filter: saturate(0.72) contrast(1.08) brightness(0.83);
}

.founder-image figcaption {
  margin-top: 12px;
  color: rgba(245, 241, 232, 0.58);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: 0.88rem;
  font-style: italic;
  letter-spacing: 0.01em;
}

.founder-seal {
  position: absolute;
  top: 16%;
  left: -20px;
  z-index: 4;
  width: 66px;
  height: 66px;
  border: 1px solid rgba(200, 164, 104, 0.55);
  border-radius: 50%;
  background: rgba(14, 11, 12, 0.78);
  opacity: 0.9;
}

.founder-seal::before {
  position: absolute;
  inset: 5px;
  content: "";
  border: 1px dashed rgba(200, 164, 104, 0.42);
  border-radius: 50%;
}

.founder-seal::after {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  content: "FL";
  color: rgba(234, 208, 162, 0.9);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: 1.1rem;
  letter-spacing: 0.06em;
}

.founder-head {
  grid-column: 2;
  grid-row: 1;
}

.founder-eyebrow {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 20px;
}

.founder-eyebrow > i {
  position: relative;
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(200, 164, 104, 0.5), rgba(200, 164, 104, 0.08));
}

.founder-eyebrow > i::after {
  position: absolute;
  top: -4px;
  right: 0;
  width: 8px;
  height: 8px;
  content: "";
  rotate: 45deg;
  border: 1px solid rgba(200, 164, 104, 0.7);
  background: #110d10;
}

.founder-eyebrow .section-number {
  flex: 0 0 auto;
  color: rgba(245, 241, 232, 0.58);
  opacity: 1;
}

.signature {
  flex: 0 0 auto;
  margin: 0;
  color: var(--carmine-soft);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.1rem, 1.4vw, 1.4rem);
  font-style: italic;
}

.founder h2 {
  max-width: 620px;
  font-size: var(--type-display-section-compact);
  line-height: 0.9;
}

.founder-role {
  margin: 16px 0 0;
  color: rgba(234, 208, 162, 0.82);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.45;
  text-transform: uppercase;
}

.founder-body {
  grid-column: 2;
  grid-row: 2;
  padding-top: 24px;
}

.founder-body > p {
  max-width: var(--measure-body);
  margin: 22px 0 0;
  color: var(--text-on-dark);
  font-size: var(--type-body);
  line-height: 1.72;
}

.founder-body .founder-lead {
  max-width: 44ch;
  margin: 0 0 30px;
  padding: 3px 0 3px 26px;
  border-left: 2px solid var(--carmine);
  color: var(--ivory);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.28rem, 1.7vw, 1.62rem);
  line-height: 1.45;
}

.founder-body b {
  color: var(--ivory);
  font-weight: 750;
  box-shadow: inset 0 -1px 0 rgba(200, 164, 104, 0.74);
}

.founder-body .founder-close {
  position: relative;
  max-width: 47ch;
  margin-top: 34px;
  padding-left: 26px;
  color: var(--ivory);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.16rem, 1.45vw, 1.42rem);
  font-style: italic;
  line-height: 1.54;
}

.founder-body .founder-close::before {
  position: absolute;
  top: 0.85em;
  left: -14px;
  width: 26px;
  height: 1px;
  content: "";
  background: rgba(200, 164, 104, 0.72);
}

.founder-stamp {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 44px;
  padding-top: 20px;
  border-top: 1px solid var(--line-dark-soft);
  color: rgba(245, 241, 232, 0.72);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.founder-stamp > i {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  rotate: 45deg;
  border: 1px solid rgba(200, 164, 104, 0.75);
  background: var(--gold-quiet);
}

.founder-stamp span:last-child {
  margin-left: auto;
  color: rgba(245, 241, 232, 0.46);
  font-weight: 700;
}

.school-strip {
  min-height:410px;
  color:var(--ivory);
  background:var(--ink);
  grid-template-columns:1.25fr .75fr;
  margin-top:145px;
  display:grid;
  position:relative;
}

.school-strip img {
  object-fit:cover;
  filter:saturate(.72)contrast(1.06);
  width:100%;
  height:100%;
  max-height:520px;
}

.school-strip p {
  flex-direction:column;
  justify-content:center;
  gap:12px;
  margin:0;
  padding:55px;
  display:flex;
}

.school-strip span {
  color:#f5f1e88c;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.64rem;
  font-weight:800;
}

.school-strip strong {
  font-family:var(--font-editorial), Georgia, serif;
  font-size:clamp(2.1rem,3.2vw,3.6rem);
  font-weight:500;
  line-height:1;
}

.testimonials {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding:135px 0 145px;
}

.testimonials::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.4;
  mix-blend-mode: soft-light;
  background: url("/media/testimonials/testimonials-dark-couture-texture.webp") repeat;
  background-size: 512px 512px;
}

.tst-pattern {
  position: absolute;
  top: 8%;
  z-index: -1;
  width: clamp(140px, 15vw, 220px);
  height: auto;
  color: rgba(200, 164, 104, 0.34);
  pointer-events: none;
}

.tst-pattern--left {
  left: -10px;
}

.testimonials-heading {
  position: relative;
  grid-template-columns:0.62fr 1.9fr 1.02fr;
  align-items:start;
  gap:46px;
  display:grid;
}

.tst-eyebrow {
  position: relative;
  padding-top: 8px;
  color: rgba(245, 241, 232, 0.72);
  opacity: 1;
}

.tst-eyebrow::first-line {
  color: inherit;
}

.tst-eyebrow::after {
  position: absolute;
  top: 34px;
  left: 0;
  width: 120px;
  height: 9px;
  content: "";
  background-image: linear-gradient(90deg, rgba(200, 164, 104, 0.55), rgba(200, 164, 104, 0.1));
  background-position: 0 4px;
  background-repeat: no-repeat;
  background-size: 100% 1px;
}

.tst-eyebrow::before {
  position: absolute;
  top: 34px;
  left: 108px;
  width: 7px;
  height: 7px;
  content: "";
  border: 1px solid var(--carmine-soft);
  background: var(--carmine);
  rotate: 45deg;
}

.testimonials h2 {
  font-size:clamp(4rem,6.25vw,6.8rem);
  line-height:.9;
}

.tst-context {
  margin: 8px 0 0;
  padding-left: 26px;
  border-left: 1px solid rgba(200, 164, 104, 0.35);
  color: rgba(245, 241, 232, 0.78);
  font-size: 0.94rem;
  line-height: 1.72;
}

.video-grid {
  /* Carril editorial de tarjetas UNIFORMES: las cuatro historias comparten
     marco 4/5; el vídeo completo sigue disponible en fullscreen. En
     escritorio la fila entera cabe y los mandos se auto-ocultan. */
  display:flex;
  gap:22px;
  margin-top:85px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}

.video-grid::-webkit-scrollbar {
  display:none;
}

.video-grid > .video-story {
  flex:0 0 auto;
  scroll-snap-align:start;
  width:clamp(230px, 22.5vw, 322px);
}

.video-story {
  border:1px solid var(--line-dark);
  background:#121113;
}

.video-story video {
  aspect-ratio:4/5;
  object-fit:cover;
  background:#050505;
  width:100%;
  height:auto;
}

/* Encuadre por historia dentro del marco común: el punto de interés manda
   (verificado sobre los pósters reales). El frame completo vive en el
   propio vídeo: controles y fullscreen no recortan nada. */
.video-story:nth-child(1) video {
  object-position: 60% 50%;
}

.video-story:nth-child(2) video {
  object-position: 55% 50%;
}

.video-story--vertical video {
  object-position: 50% 30%;
}

.video-story {
  position: relative;
  padding: 10px;
  border: 1px solid rgba(200, 164, 104, 0.3);
}

/* remaches dorados en las esquinas del marco */
.video-story::before,
.video-story::after {
  position: absolute;
  z-index: 2;
  width: 9px;
  height: 9px;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle at 34% 32%, #f0d9ae, var(--gold-quiet) 62%, #7d5c2c);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.65);
}

.video-story::before {
  top: -5px;
  left: -5px;
}

.video-story::after {
  right: -5px;
  bottom: -5px;
}

.video-caption {
  justify-content:space-between;
  align-items:center;
  gap:20px;
  min-height:78px;
  padding:18px 22px;
  display:flex;
}

.video-caption {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 10px;
  padding: 12px 4px 2px;
  border-top: 1px solid rgba(200, 164, 104, 0.24);
}

.video-caption > i {
  width: 1px;
  height: 13px;
  flex: 0 0 auto;
  background: rgba(200, 164, 104, 0.4);
}

.video-stitch {
  width: 22px;
  height: 15px;
  flex: 0 0 auto;
  margin-left: auto;
  color: rgba(200, 164, 104, 0.6);
}

.video-story span,.video-story strong {
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.62rem;
}

.video-story span {
  color:var(--carmine);
  font-weight:800;
}

.video-story strong {
  font-weight:650;
}

/* Pasador de lookbook: aguja e hilván, discreto en reposo. Solo existe
   donde hay puntero con hover; en táctil manda el gesto. */
.rail-cabecera {
  display:flex;
  justify-content:flex-end;
  margin-top:54px;
}

.rail-cabecera + .video-grid {
  margin-top:16px;
}

.rail-pager {
  display:flex;
  gap:10px;
}

.pager-btn {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  color:var(--gold-quiet);
  background:transparent;
  border:1px solid rgba(200, 164, 104, 0.38);
  border-radius:2px;
  cursor:pointer;
  transition:color .18s, background .18s, border-color .18s, opacity .18s;
}

.pager-btn svg {
  width:19px;
  height:19px;
}

.pager-btn:hover:not(:disabled) {
  color:var(--ivory);
  background:rgba(200, 164, 104, 0.14);
  border-color:rgba(200, 164, 104, 0.66);
}

.pager-btn:focus-visible {
  outline:2px solid var(--gold-quiet);
  outline-offset:2px;
}

.pager-btn:disabled {
  opacity:.28;
  cursor:default;
}

.rail-pager--banda {
  position:absolute;
  top:0;
  right:clamp(18px, 2.2vw, 40px);
  z-index:3;
  translate:0 -50%;
}

.rail-pager--banda .pager-btn {
  background:#140b0f;
}

/* En táctil el pasador se queda (para muchas usuarias tocar una flecha es
   más directo que descubrir el swipe), con área táctil de 44px. El swipe
   sigue siendo el gesto principal. */
@media (hover: none) and (pointer: coarse) {
  .pager-btn {
    width:44px;
    height:44px;
  }
}

/* Hilo de progreso: un hilván dorado que se va cosiendo con el avance del
   carril. Es posición y afordance a la vez, también en táctil. */
.rail-hilo {
  position:relative;
  height:9px;
  margin-top:22px;
}

.rail-hilo::before {
  content:"";
  position:absolute;
  inset:4px 0 auto;
  height:1px;
  background:repeating-linear-gradient(90deg, rgba(200, 164, 104, 0.34) 0 6px, transparent 6px 13px);
}

.rail-hilo > i {
  position:absolute;
  top:3px;
  left:0;
  width:0%;
  height:3px;
  border-radius:2px;
  background:linear-gradient(90deg, rgba(200, 164, 104, 0.55), #e6c58f);
  transition:width .35s ease;
}

.rail-hilo [data-rail-contador] {
  position:absolute;
  right:0;
  top:-15px;
  color:rgba(200, 164, 104, 0.72);
  font-family:var(--font-interface), Arial, sans-serif;
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.16em;
  font-variant-numeric:tabular-nums;
}

.rail-hilo--banda {
  margin:26px 0 8px;
}

.quote-band {
  position: relative;
  margin-top: 78px;
  padding: 6px 0 10px;
  border-block: 1px solid rgba(200, 164, 104, 0.2);
  background: rgba(0, 0, 0, 0.28);
}

.quote-swatch {
  position: absolute;
  top: -14px;
  bottom: -14px;
  left: 0;
  z-index: 0;
  width: clamp(70px, 7.4vw, 122px);
  pointer-events: none;
}

.quote-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

/* etiqueta de lino con monograma (el asset raster quedó pendiente) */
.quote-label {
  /* Con el muro convertido en carril, la etiqueta cuelga del filete superior
     de la banda (antes flotaba a media altura sobre una zona sin texto que
     ahora recorren las citas). */
  position: absolute;
  top: 0;
  left: clamp(18px, 2.2vw, 40px);
  z-index: 2;
  display: grid;
  width: 54px;
  height: 54px;
  place-content: center;
  justify-items: center;
  gap: 2px;
  border: 1px solid rgba(200, 164, 104, 0.4);
  background: linear-gradient(150deg, #e6dcc6, #cfc0a2);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.45);
  rotate: -2deg;
  translate: 0 -50%;
}

.quote-label b {
  color: #3a2a14;
  font-family: var(--font-editorial), Georgia, serif;
  font-size: 1.3rem;
  line-height: 1;
}

.quote-label small {
  color: #6b5734;
  font-size: 0.4rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.quote-wall {
  position: relative;
  z-index: 1;
  display:flex;
  margin-top:0;
  padding-inline: clamp(58px, 7.6vw, 132px) clamp(46px, 5.4vw, 92px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}

.quote-wall::-webkit-scrollbar {
  display:none;
}

.quote-wall blockquote {
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
  width:clamp(320px, 30vw, 460px);
  border-left:1px solid var(--line-dark);
  min-height:280px;
  margin:0;
  padding:32px 30px 30px;
}

.quote-wall blockquote:last-child {
  border-right:1px solid var(--line-dark);
}

.quote-wall blockquote>span {
  height:44px;
  color:var(--carmine);
  font-family:var(--font-editorial), Georgia, serif;
  font-size:4.2rem;
  line-height:1;
  display:block;
}

.quote-wall blockquote p {
  font-family:var(--font-editorial), Georgia, serif;
  margin:6px 0 26px;
  font-size:clamp(1.12rem,1.3vw,1.38rem);
  line-height:1.34;
}

.famous-quote {
  text-align:center;
  margin-top:100px;
}

.famous-quote p {
  color:#f5f1e8b8;
  font-family:var(--font-editorial), Georgia, serif;
  margin:0;
  font-size:clamp(1.25rem,2vw,1.8rem);
  font-style:italic;
  line-height:1.35;
}

.famous-quote .famous-quote-line2 {
  color:var(--ivory);
  letter-spacing:-.03em;
  margin-top:8px;
  font-size:clamp(2.1rem,4vw,3.6rem);
  font-style:normal;
  font-weight:500;
}

.famous-quote .famous-quote-line2 em {
  color:var(--carmine);
}

.quote-wall footer {
  margin-top:auto;
  color:#f5f1e885;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.59rem;
  font-weight:800;
}

.faq {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(118px, 8.5vw, 148px) 0 clamp(132px, 9vw, 164px);
  color: var(--ivory);
  background:
    radial-gradient(64% 48% at 92% 18%, rgba(208, 29, 63, 0.12), transparent 74%),
    linear-gradient(180deg, #0b0b0c 0%, #0e0d0f 52%, #121011 100%);
}

.faq::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.22;
  background-image:
    linear-gradient(90deg, transparent 0 49.85%, rgba(200, 164, 104, 0.12) 49.9% 50%, transparent 50.05%),
    repeating-linear-gradient(0deg, transparent 0 71px, rgba(245, 241, 232, 0.035) 71px 72px);
}

.faq::after {
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 34%;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent, #131011 100%);
}

.faq-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(64px, 9vw, 144px);
  align-items: start;
}

.faq h2 {
  margin-top: 36px;
  font-size: var(--type-display-section);
  line-height: 0.88;
}

.faq-heading > .section-number {
  color: rgba(245, 241, 232, 0.5);
  opacity: 1;
}

.faq-heading > p:last-child {
  max-width: 36ch;
  margin: 34px 0 0;
  color: var(--text-on-dark-muted);
  font-size: var(--type-body);
  line-height: 1.72;
}

.faq-list {
  border-top: 1px solid rgba(200, 164, 104, 0.32);
}

.faq-list details {
  position: relative;
  border-bottom: 1px solid var(--line-dark-soft);
  background: transparent;
  transition: background-color 220ms ease, border-color 220ms ease;
}

.faq-list details[open] {
  border-bottom-color: rgba(208, 29, 63, 0.34);
  background: linear-gradient(90deg, rgba(208, 29, 63, 0.1), rgba(245, 241, 232, 0.02) 64%, transparent);
}

.faq-list details[open]::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  content: "";
  background: var(--carmine);
}

.faq-list summary {
  display: grid;
  min-height: 94px;
  grid-template-columns: 42px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 18px;
  padding: 0 14px 0 10px;
  color: var(--ivory);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.16rem, 1.55vw, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary:hover {
  background: rgba(245, 241, 232, 0.025);
}

.faq-list summary:focus-visible {
  z-index: 1;
  outline: 2px solid var(--carmine-soft);
  outline-offset: -2px;
  background: rgba(208, 29, 63, 0.08);
}

.faq-list summary > span {
  color: rgba(200, 164, 104, 0.76);
  font-family: var(--font-interface), Arial, sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.faq-list summary b {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  justify-self: end;
  border: 1px solid rgba(245, 241, 232, 0.16);
  border-radius: 50%;
  color: var(--carmine-soft);
  font-family: var(--font-interface), Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  transition: rotate 260ms var(--ease-out), border-color 220ms ease, background-color 220ms ease;
}

.faq-list details[open] summary b {
  rotate: 45deg;
  border-color: rgba(208, 29, 63, 0.58);
  background: rgba(208, 29, 63, 0.1);
}

.faq-list details > p {
  max-width: 66ch;
  margin: -2px 52px 34px 70px;
  color: var(--text-on-dark);
  font-size: var(--type-body);
  line-height: 1.76;
}

@media (hover: none) {
  .faq-list summary:hover {
    background: transparent;
  }
}

/* Cierre · «Tu sitio ya existe».
   El carmín se retira del fondo y queda solo en el CTA: el rojo plano
   competía con el botón y aplanaba toda la sección. */
.final-cta {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(112% 78% at 74% 58%, rgba(96, 20, 40, 0.34), transparent 64%),
    radial-gradient(76% 58% at 10% 8%, rgba(118, 30, 52, 0.2), transparent 72%),
    linear-gradient(180deg, #131011 0%, #0d0b0c 54%, #120e0f 100%);
}

/* Costura superior: hilván dorado que cose el cierre con las FAQ. */
.final-cta::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  pointer-events: none;
  background: repeating-linear-gradient(
    90deg,
    rgba(200, 164, 104, 0.42) 0 14px,
    transparent 14px 30px
  );
}

.final-cta-texture {
  position: absolute;
  right: clamp(1rem, 2.4vw, 2.6rem);
  bottom: 5%;
  z-index: 0;
  color: rgba(245, 241, 232, 0.028);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(3.2rem, 5vw, 5.6rem);
  font-weight: 500;
  line-height: 0.8;
  letter-spacing: 0.06em;
  text-align: right;
  pointer-events: none;
}

.fc-thread {
  display: none;
}

/* Orden DOM = orden móvil (copy → foto → beneficios → CTA).
   El escritorio recoloca la foto a la primera columna sin duplicar nada. */
.final-cta-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: min(100% - 44px, 1440px);
  margin-inline: auto;
  padding-block: clamp(72px, 9vw, 112px);
}

.final-cta .eyebrow {
  color: var(--gold-quiet);
}

.final-cta-inner > p.cta-whisper {
  margin: 12px 0 22px;
  color: rgba(240, 217, 174, 0.88);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-style: italic;
  line-height: 1.1;
}

.final-cta h2 {
  max-width: 13ch;
  font-size: clamp(2.9rem, 4.7vw, 4.6rem);
  line-height: 0.94;
  color: var(--ivory);
}

/* La segunda frase baja de escala: es la coda del titular, no un segundo
   titular. Sin esto el bloque ocupa cuatro líneas y domina el viewport. */
.fc-title-coda {
  display: block;
  max-width: 20ch;
  margin-top: 0.34em;
  font-size: 0.58em;
  line-height: 1.06;
}

.final-cta h2 em {
  color: #f0d9ae;
  font-style: italic;
}

.fc-scene {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: clamp(30px, 5vw, 44px) 0 0;
  border-radius: 18px;
  aspect-ratio: 5 / 4;
}

.fc-scene img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 36% 58%;
}

/* Fundido hacia carbón: en móvil por los cuatro bordes, en escritorio
   solo por la derecha para que la foto entregue la mirada al copy. */
.fc-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(13, 11, 12, 0.5), transparent 22%, transparent 74%, rgba(13, 11, 12, 0.62)),
    linear-gradient(90deg, rgba(13, 11, 12, 0.42), transparent 20%, transparent 82%, rgba(13, 11, 12, 0.55));
}

.benefit-list {
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 34rem;
  margin: clamp(28px, 4vw, 40px) 0 clamp(28px, 4vw, 38px);
  padding: 0;
  list-style: none;
  text-align: left;
}

.benefit-list li {
  position: relative;
  padding: 15px 0 15px 44px;
  border-top: 1px solid rgba(245, 241, 232, 0.11);
  color: rgba(245, 241, 232, 0.9);
  font-size: 1.0625rem;
  line-height: 1.5;
}

.benefit-list li:last-child {
  border-bottom: 1px solid rgba(245, 241, 232, 0.11);
}

/* Rombo de costura + hilván vertical: marcador de atelier, no check de SaaS. */
.benefit-list li::before {
  content: "";
  position: absolute;
  top: 21px;
  left: 3px;
  width: 7px;
  height: 7px;
  background: var(--gold-quiet);
  rotate: 45deg;
}

.benefit-list li::after {
  content: "";
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 26px;
  width: 1px;
  background: rgba(200, 164, 104, 0.34);
}

.final-cta-inner > p.cta-push {
  max-width: 30ch;
  margin: clamp(26px, 3.4vw, 34px) 0 0;
  color: rgba(240, 217, 174, 0.82);
  font-family: var(--font-editorial), Georgia, serif;
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  font-style: italic;
  line-height: 1.35;
}

.final-cta-inner > p.cta-push strong {
  display: block;
  color: var(--ivory);
  font-style: normal;
  font-weight: 500;
}

.final-cta-inner > small {
  margin-top: clamp(20px, 2.6vw, 28px);
  color: rgba(245, 241, 232, 0.62);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.6;
  text-transform: uppercase;
}

/* Tablet: a 768 px un recorte 5/4 daría casi 580 px de foto y se comería
   la sección antes de llegar a los beneficios. */
@media (min-width: 620px) and (max-width: 899px) {
  .fc-scene {
    aspect-ratio: 16 / 9;
  }
}

@media (min-width: 900px) {
  .final-cta-inner {
    display: grid;
    /* calle central: aloja el hilo sin que roce el copy */
    grid-template-columns: minmax(0, 42%) clamp(2.4rem, 5vw, 6rem) minmax(0, 1fr);
    /* Filas explícitas — una por bloque de copy — para que `grid-row: 1 / -1`
       de la foto tenga una última línea real a la que agarrarse. */
    grid-template-rows: repeat(7, auto);
    width: 100%;
    padding-block: 0;
    padding-right: clamp(2rem, 5.5vw, 6rem);
  }

  /* El escenario ocupa todas las filas: sangra arriba y abajo hasta el borde
     de la sección, y el aire vertical lo ponen los márgenes del copy. */
  /* Al abarcar todas las filas, la altura intrínseca de la foto se repartiría
     entre ellas y abriría huecos enormes en el copy. La imagen se saca del
     flujo para que el escenario no aporte altura y solo se estire. */
  .fc-scene {
    grid-column: 1;
    grid-row: 1 / -1;
    /* el `align-items: flex-start` del layout móvil impediría el estirado */
    align-self: stretch;
    margin: 0;
    border-radius: 0;
    aspect-ratio: auto;
    min-height: 0;
  }

  .fc-scene img {
    position: absolute;
    inset: 0;
    object-position: 34% 56%;
  }

  .fc-scene::after {
    background: linear-gradient(
      90deg,
      rgba(13, 11, 12, 0.3),
      transparent 26%,
      transparent 52%,
      rgba(13, 11, 12, 0.86) 88%,
      #0d0b0c
    );
  }

  .final-cta-inner > :not(.fc-scene) {
    grid-column: 3;
  }

  /* En grid los hijos se estiran: el botón debe conservar su ancho propio. */
  .final-cta-inner > .primary-cta {
    justify-self: start;
  }

  .final-cta-inner > .eyebrow {
    margin-top: clamp(84px, 8.5vw, 128px);
  }

  .final-cta-inner > small {
    margin-bottom: clamp(84px, 8.5vw, 128px);
  }

  .fc-thread {
    display: block;
    position: absolute;
    z-index: 1;
    left: 33%;
    width: 11.5%;
    top: 40%;
    height: 32%;
    pointer-events: none;
    opacity: 0.7;
  }
}

.footer {
  border-top:1px solid var(--line-dark);
  background:var(--ink);
  padding:64px 0 28px;
}

.footer-top {
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  padding-bottom:52px;
  display:grid;
}

.footer-top>p {
  color:#f5f1e880;
  text-align:center;
  max-width:330px;
  margin:0 auto;
  font-size:.7rem;
}

.footer-top>a:last-child {
  letter-spacing:.1em;
  text-transform:uppercase;
  justify-self:end;
  font-size:.61rem;
  font-weight:800;
}

.footer-bottom {
  border-top:1px solid var(--line-dark);
  color:#f5f1e86b;
  letter-spacing:.06em;
  text-transform:uppercase;
  justify-content:space-between;
  align-items:center;
  padding-top:25px;
  font-size:.58rem;
  font-weight:700;
  display:flex;
}

.footer-bottom nav {
  gap:24px;
  display:flex;
}

.footer-disclaimer {
  letter-spacing:.02em;
  text-align:center;
  text-transform:none;
  max-width:460px;
  margin:0;
  font-weight:500;
}

.sticky-cta {
  z-index:20;
  color:var(--ivory);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .32s ease, transform .42s var(--ease-out);
  background:#0b0b0ceb;
  border:1px solid #f5f1e826;
  align-items:center;
  gap:26px;
  padding:8px 8px 8px 20px;
  display:flex;
  position:fixed;
  inset:auto 18px 18px auto;
  transform:translateY(24px);
  box-shadow:0 18px 48px #00000047;
}

.sticky-cta.is-visible {
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.sticky-cta>div {
  display:grid;
}

.sticky-cta strong {
  font-family:var(--font-editorial), Georgia, serif;
  font-size:1rem;
  font-weight:500;
}

.sticky-cta>div span {
  color:#f5f1e875;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.52rem;
  font-weight:700;
}

.sticky-cta button {
  --cta-rest-shadow:0 16px 36px -14px #d01d3fc2, 0 0 28px -14px #ff32579e, inset 0 0 0 1px #f5f1e82e;
  --cta-attention-color:#d01d3f38;
  min-height:46px;
  color:var(--ivory);
  background:linear-gradient(105deg, #b81233 0%, var(--carmine) 52%, #ae102f 100%);
  letter-spacing:.07em;
  text-align:center;
  text-transform:uppercase;
  cursor:pointer;
  border:1px solid #f5f1e83d;
  border-radius:6px;
  justify-content:center;
  align-items:center;
  padding:0 22px;
  font-size:.72rem;
  font-weight:800;
  transition:translate .15s ease-out,scale .15s ease-out,background .18s,box-shadow .22s;
  display:inline-flex;
}

.sticky-cta button:hover,.sticky-cta button:focus-visible {
  background:linear-gradient(105deg, #a20e2b 0%, var(--carmine-dark) 52%, #910b25 100%);
  box-shadow:0 20px 44px -14px #d01d3fd6,0 0 32px -14px #ff3257b8,inset 0 0 0 1px #f5f1e838;
}

.sticky-cta button:active {
  scale:.985;
}

/* Popup de registro: panel único vino profundo, centrado, sin arte lateral.
   Todo el formulario visible de una vez; el CTA del hero es el único punto
   de máxima intensidad. */
.registration-dialog {
  width:min(94vw,960px);
  max-width:none;
  max-height:calc(100dvh - 32px);
  color:var(--ivory);
  background:0 0;
  border:0;
  padding:0;
  overflow:visible;
  margin:auto;
}

.registration-dialog::backdrop {
  background:rgba(8,5,6,.82);
}

.dialog-panel {
  position:relative;
  overflow:hidden;
  /* controles nativos (radio, checkbox, inputs) en su variante oscura */
  color-scheme:dark;
  background:linear-gradient(180deg, #221016 0%, #1c0d13 46%, #200f16 100%);
  border:1px solid rgba(200,164,104,.42);
  border-radius:18px;
  box-shadow:0 40px 110px rgba(0,0,0,.65);
}

.dialog-close {
  z-index:4;
  border:1px solid rgba(245,241,232,.22);
  width:44px;
  height:44px;
  color:var(--ivory);
  cursor:pointer;
  background:rgba(245,241,232,.06);
  border-radius:50%;
  place-items:center;
  font-size:1.5rem;
  line-height:1;
  display:grid;
  position:absolute;
  top:16px;
  right:16px;
  transition:background .16s,border-color .16s;
}

.dialog-close:hover {
  background:rgba(245,241,232,.12);
  border-color:rgba(245,241,232,.4);
}

.dialog-close:focus-visible {
  outline:2px solid var(--gold-quiet);
  outline-offset:2px;
}

.dialog-content {
  max-height:calc(100dvh - 34px);
  overflow-y:auto;
  padding:clamp(28px,3.6vw,42px) clamp(24px,6vw,72px) clamp(24px,3vw,34px);
  scrollbar-width:thin;
  scrollbar-color:rgba(200,164,104,.35) transparent;
}

.dialog-head {
  text-align:center;
  /* el eyebrow no debe correr bajo el botón de cierre */
  padding-inline:34px;
  margin-bottom:clamp(18px,2.2vw,26px);
}

.dialog-head .eyebrow {
  color:#d7b98a;
  letter-spacing:.22em;
}

.dialog-head h2 {
  font-family:var(--font-editorial), Georgia, serif;
  letter-spacing:-.03em;
  color:var(--ivory);
  margin:14px 0 12px;
  font-size:clamp(2.4rem,3.8vw,3.55rem);
  font-weight:500;
  line-height:.96;
}

.dialog-head p:not(.eyebrow) {
  color:rgba(245,241,232,.76);
  max-width:520px;
  margin:0 auto;
  font-size:.98rem;
  line-height:1.6;
}

.dialog-content form {
  gap:16px;
  display:grid;
}

.dialog-content label {
  gap:7px;
  display:grid;
}

.dialog-content input[type=text],
.dialog-content input[type=email],
.dialog-content input[type=tel] {
  width:100%;
  height:52px;
  color:var(--ivory);
  background:rgba(245,241,232,.055);
  border:1px solid rgba(200,164,104,.26);
  border-radius:10px;
  outline:0;
  padding:0 16px;
  font-size:1rem;
  transition:border-color .16s,background .16s;
}

.dialog-content input::placeholder {
  color:rgba(245,241,232,.42);
}

.dialog-content input:focus-visible {
  border-color:var(--gold-quiet);
  background:rgba(245,241,232,.09);
}

.dialog-content input:user-invalid {
  border-color:var(--carmine-soft);
}

.consent {
  color:rgba(245,241,232,.72);
  grid-template-columns:auto 1fr;
  justify-content:center;
  align-items:start;
  gap:11px;
  width:fit-content;
  max-width:100%;
  margin:6px auto 0;
  font-size:.8rem;
  line-height:1.5;
  display:grid;
  cursor:pointer;
}

.consent a {
  color:var(--ivory);
  text-underline-offset:2px;
  text-decoration:underline;
}

.form-submit {
  width:100%;
  margin-top:4px;
}

html[data-reveal-ready] [data-reveal]:not([data-reveal=fill]) {
  opacity:0;
  transition:opacity .85s var(--ease-out), translate .85s var(--ease-out);
  translate:0 28px;
}

html[data-reveal-ready] [data-reveal]:not([data-reveal=fill]).is-inview {
  opacity:1;
  translate:0;
}

html[data-reveal-ready] .stitch-tag:nth-child(2),html[data-reveal-ready] .reasons-grid li:nth-child(3n+2),html[data-reveal-ready] .qualify-card:nth-child(3n+2) {
  transition-delay:.1s;
}

html[data-reveal-ready] .stitch-tag:nth-child(3),html[data-reveal-ready] .reasons-grid li:nth-child(3n),html[data-reveal-ready] .qualify-card:nth-child(3n) {
  transition-delay:.2s;
}

html[data-reveal-ready] .stitch-tag:nth-child(4) {
  transition-delay:.3s;
}

@media (prefers-reduced-motion: no-preference) {
  .hero-intro,.hero h1,.hero-copy,.hero-conversion {
    animation:hero-rise .9s var(--ease-out) both;
  }
  .hero-intro {
    animation-delay:80ms;
  }
  .hero h1 {
    animation-delay:.2s;
  }
  .hero-copy {
    animation-delay:.36s;
  }
  .hero-conversion {
    animation-delay:.48s;
  }
  .hero-index,.scroll-cue {
    animation:hero-fade 1.1s var(--ease-out) .95s both;
  }
}

@keyframes hero-rise {
  0% {
    opacity:0;
    transform:translateY(26px);
  }
  to {
    opacity:1;
    transform:none;
  }
}

@keyframes hero-fade {
  0% {
    opacity:0;
  }
  to {
    opacity:1;
  }
}

@media (width >= 1101px) and (width <= 1280px) {
  .founder-grid {
    grid-template-columns: minmax(0, 0.96fr) minmax(390px, 1.04fr);
    column-gap: 48px;
  }

  .founder-body > p {
    font-size: 1rem;
  }

  .faq-grid {
    grid-template-columns: minmax(250px, 0.68fr) minmax(0, 1.32fr);
    gap: clamp(54px, 6vw, 82px);
  }
}

@media (width<=1100px) {
  :root {
    --shell:min(100% - 42px, 1440px);
  }
  .hero h1 {
    max-width:700px;
    font-size:clamp(3.65rem,7vw,5.2rem);
  }
  .authority-heading,.testimonials-heading {
    grid-template-columns:.5fr 2fr 1fr;
  }
  .editorial-main {
    grid-column:1/span 7;
  }
  .editorial-dubai {
    grid-column:8/span 5;
  }
  .editorial-backstage {
    grid-area:2/8/auto/span 5;
  }
  .editorial-award {
    grid-area:3/1/auto/span 12;
  }
  .founder-grid {
    grid-template-columns: 50% minmax(0, 1fr);
    column-gap: 42px;
  }
  .founder-seal {
    display: none;
  }
}

@media (width>=768px) and (width<=900px) {
  .announcement-inner {
    gap:12px;
  }
  .event-countdown {
    gap:0;
    padding-inline:10px;
  }
  .countdown-kicker {
    display:none;
  }
  .announcement-static {
    letter-spacing:.06em;
    gap:12px;
    font-size:.58rem;
  }
  .announcement-static .as-item--time small {
    display:none;
  }
  .announcement button {
    padding-inline:14px;
    font-size:.62rem;
  }
}

@media (width<=767px) {
  .announcement-inner {
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
  }
  .event-countdown--topbar {
    display:none;
  }
  .event-countdown--hero {
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    background:linear-gradient(90deg,#48000fad,#d01d3f38),#0b0b0cc7;
    border-color:#f5f1e838;
    border-radius:6px;
    justify-content:space-between;
    gap:10px;
    width:100%;
    min-height:40px;
    margin-bottom:9px;
    padding-inline:12px;
    display:flex;
    box-shadow:inset 0 0 0 1px #f5f1e80b,0 12px 30px #0003,0 0 26px -18px #d01d3fcc;
  }
  .countdown-kicker {
    display:none;
  }
  .event-countdown--hero .countdown-kicker {
    color:#f5f1e8b8;
    letter-spacing:.095em;
    font-size:.47rem;
    display:inline;
  }
  .countdown-digits {
    gap:2px;
  }
  .event-countdown--hero .countdown-digits {
    gap:4px;
  }
  .countdown-digits>i {
    font-size:.42rem;
  }
  .countdown-unit {
    gap:1px;
  }
  .countdown-unit strong {
    font-size:.56rem;
  }
  .event-countdown--hero .countdown-unit strong {
    font-size:.66rem;
  }
  .countdown-unit small {
    font-size:.34rem;
  }
  .event-countdown--hero .countdown-unit small {
    font-size:.38rem;
  }
  :root {
    --shell:calc(100% - 32px);
    --eventbar-height:48px;
  }
  html {
    scroll-padding-top:calc(var(--eventbar-height) + env(safe-area-inset-top));
  }
  .announcement-inner {
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
  }
  .announcement-static {
    letter-spacing:.035em;
    justify-content:flex-start;
    gap:9px;
    font-size:.55rem;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000);
    mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000);
  }
  .announcement-static .as-item--date,.announcement-static .as-item--time,.announcement-static>i,.announcement-static .as-badge {
    display:none;
  }
  .announcement button {
    letter-spacing:.03em;
    grid-column:2;
    min-height:36px;
    padding:0 10px;
    font-size:.6rem;
  }
  .nav {
    min-height:70px;
  }
  .wordmark span {
    font-size:.92rem;
  }
  .wordmark small {
    width:25px;
    height:25px;
    font-size:.4rem;
  }
  .hero {
    min-height:max(720px, calc(100svh - var(--eventbar-height) - env(safe-area-inset-top)));
  }
  .hero-media img {
    object-position:46% center;
  }
  .hero-shade {
    background:linear-gradient(#050506f2 0%,#050506b3 35%,#0505060f 58%,#050506f0 83%,#050506fa 100%),linear-gradient(90deg,#050506a6 0%,#0000 82%);
  }
  .hero-content {
    min-height:max(720px, calc(100svh - var(--eventbar-height) - env(safe-area-inset-top)));
    justify-content:flex-start;
    padding-top:101px;
    padding-bottom:214px;
  }
  .hero-intro {
    gap:8px;
    margin-bottom:17px;
    display:grid;
  }
  .hero-eyebrow {
    gap:6px;
    font-size:.55rem;
  }
  .hero-preheadline {
    letter-spacing:.12em;
    margin-top:8px;
    padding-bottom:12px;
    font-size:.86rem;
  }
  .hero-preheadline:after {
    width:56px;
  }
  .hero h1 {
    max-width:100%;
    font-size:clamp(2.15rem,9.7vw,2.75rem);
    line-height:.98;
  }
  .hero-copy {
    max-width:340px;
    margin-top:18px;
    font-size:.84rem;
    line-height:1.5;
  }
  .hero-conversion {
    width:auto;
    margin:0;
    position:absolute;
    inset:auto 16px 10px;
  }
  .primary-cta {
    width:100%;
    min-width:0;
    min-height:56px;
  }
  .hero-event-details {
    letter-spacing:.035em;
    justify-content:center;
    margin-top:11px;
    font-size:.49rem;
  }
  .hero-event-details span:not(:last-child):after {
    margin-inline:7px;
  }
  .hero-event-details svg {
    display:none;
  }
  .hero-note {
    font-size:.62rem;
  }
  .hero-index,.scroll-cue {
    display:none;
  }
  .authority,.identity,.whynow,.agenda,.audience,.founder,.testimonials,.faq {
    padding-block:86px;
  }
  .authority-heading,.identity-head,.whynow-head,.agenda-head,.audience-heading,.founder-grid,.testimonials-heading,.faq-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .authority h2,.audience-heading h2,.founder h2,.testimonials h2,.faq h2 {
    font-size:clamp(3.05rem,15vw,4.15rem);
    line-height:.91;
  }
  .whynow h2,.agenda h2 {
    font-size:clamp(2.05rem,9.4vw,2.7rem);
    line-height:1.06;
  }
          .whynow-number {
    margin-bottom: 18px;
  }
  .whynow-head {
    gap: 44px;
  }
  .market-concept {
    min-height: 34rem;
  }
  .mc-copy {
    width: auto;
    max-width: 30rem;
    padding: 1.5rem;
  }
  .mc-collage {
    right: -0.6rem;
    bottom: 1.4rem;
    width: min(64%, 22rem);
  }
  .mc-traditional {
    bottom: 3.2rem;
    left: 1rem;
    width: min(42vw, 11.5rem);
    min-height: 7.6rem;
  }
  .mc-plaque b {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
  }
  .mc-emerging {
    right: 0.6rem;
    bottom: 3.7rem;
    width: min(42%, 11.5rem);
    padding: 0.7rem 0.55rem 0.65rem;
  }
  .mc-emerging b {
    font-size: 0.66rem;
    letter-spacing: 0.035em;
  }
  .mc-plaque i,
  .mc-emerging i {
    padding-top: 6px;
    font-size: 0.55rem;
  }
  .mc-thread,
  .mc-arrowhead {
    display: none;
  }
  .mc-note {
    right: 1rem;
    left: 1rem;
    font-size: 0.55rem;
  }
  .reassure-band {
    padding: 72px 0 84px;
  }
  .reassure-ornament {
    margin-top: 26px;
  }
  .midcta-wrap {
    margin-top: 34px;
  }
  .midcta {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 28px 22px 26px;
    text-align: center;
  }
  .midcta-monogram {
    width: 58px;
    justify-self: center;
  }
  .midcta-line {
    text-align: center;
  }
  .midcta .primary-cta {
    width: 100%;
    padding-inline: 14px;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
  }
  .midcta-meta {
    grid-column: 1;
    text-align: center;
  }
  .authority-intro,.testimonials-heading>p:last-child {
    max-width:100%;
  }
  .editorial-grid {
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:12px;
    width:calc(100% - 16px);
    margin-top:55px;
    margin-left:16px;
    margin-right:0;
    padding-right:16px;
    display:flex;
    overflow-x:auto;
  }
  .editorial-grid::-webkit-scrollbar {
    display:none;
  }
  .editorial-grid figure {
    scroll-snap-align:center;
    min-width:82vw;
    min-height:560px;
  }
  .editorial-award {
    grid-template-rows:.8fr 1fr;
    grid-template-columns:1fr!important;
    min-width:88vw!important;
    display:grid!important;
  }
  .editorial-award .award-card {
    padding:30px;
  }
  .editorial-award img {
    min-height:0;
  }
  .problem {
    padding: 86px 0 92px;
  }
  .problem-grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }
  /* README: ocultar la tela lateral en móvil; el pliegue usa su variante */
  .problem-drape {
    display: none;
  }
  .problem h2 {
    max-width: 100%;
    font-size: clamp(2.05rem, 9.4vw, 2.7rem);
  }
  .problem-thread,
  .problem-pattern {
    display: none;
  }
  .stitch-tags {
    gap: 18px;
  }
  .stitch-tag {
    width: min(100%, 324px);
    padding: 26px 30px 20px;
  }
  .stitch-tag p {
    font-size: 1.04rem;
  }
  .stitch-tag:nth-child(2) {
    margin-top: 0;
  }
  .stitch-tag:nth-child(3) {
    margin: 0;
  }
  .stitch-tag:nth-child(4) {
    margin: 0;
  }
  .tag-selvage {
    left: -9px;
    width: 12px;
  }
  .identity {
    padding-block: 86px 96px;
  }
  .identity-head {
    text-align: left;
  }
  .identity-head > div {
    text-align: left;
  }
  .identity-head > .section-number::after {
    display: none;
  }
  .big-word-stage {
    margin-top: 26px;
  }
  .big-word {
    margin-top:0;
    font-size:clamp(2.9rem,13.5vw,4.6rem);
  }
  .identity-thread {
    height: 46px;
    bottom: -8px;
  }
  .identity-thread-node {
    width: 9px;
    height: 9px;
  }
  .identity-lede {
    text-align:center;
    margin-top:42px;
  }
  .groups {
    grid-template-columns:1fr;
    gap: 20px;
    margin-top:42px;
  }
  .group {
    padding:34px 26px 32px;
  }
  .group-seam-img {
    top: 10px;
    bottom: 10px;
    left: 8px;
    width: 52px;
  }
  .groups-seam,
  .identity-drape {
    display: none;
  }
  .group-form {
    right: -18px;
    width: 122px;
    opacity: 0.7;
  }
  .group-adn > p:not(.group-tag),
  .group-adn footer {
    max-width: 100%;
  }
  .identity-hem {
    bottom: 30px;
  }
  .reasons-grid {
    grid-template-columns:1fr;
    margin-top:56px;
  }
  .reasons-grid li {
    padding:28px 22px 32px;
  }
  .democ {
    text-align:left;
    margin-top:60px;
  }
  .agenda {
    padding-bottom:64px;
  }
  .agenda-sub {
    margin-top:0;
  }
  .agenda-seam {
    margin-top:44px;
  }
  /* En una columna los nodos se amontonan: queda solo el hilván. */
  .seam-node {
    display:none;
  }
  .timeline {
    grid-template-columns:1fr;
  }
  .moment {
    padding:34px 0 38px;
  }
  .moment + .moment {
    border-left:0;
    border-top:1px solid rgba(200,164,104,.2);
  }
  .moment-ghost {
    font-size:3.4rem;
    margin-bottom:14px;
  }
  /* El filtro ya define aquí su composición móvil; se mantiene a sangre. */
  .audience {
    padding-bottom: 0;
  }
  .famous-quote {
    margin-top:64px;
  }
  .benefit-list {
    max-width:100%;
  }
  .founder {
    padding: 92px 0 104px;
  }
  .founder h2 {
    font-size: clamp(3.15rem, 14vw, 4.5rem);
  }
  /* orden móvil de la spec: cabecera, foto, cuerpo */
  .founder-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    row-gap: 34px;
  }
  .founder-head {
    grid-column: 1;
    grid-row: 1;
  }
  .founder-image {
    grid-column: 1;
    grid-row: 2;
    width: auto;
    margin: 0;
  }
  .founder-body {
    grid-column: 1;
    grid-row: 3;
    padding-top: 0;
  }
  .founder-eyebrow {
    flex-wrap: wrap;
    gap: 10px 14px;
  }
  .founder-eyebrow > i {
    display: none;
  }
  .founder-image::before,
  .founder-image::after {
    display: none;
  }
  .founder-plate {
    padding: 11px 11px 9px;
    rotate: 0deg;
  }
  /* el marco se mantiene 1/1: con zoom 165% un 4/5 dejaría la base sin cubrir */
  .founder-body .founder-lead {
    padding-left: 18px;
    max-width: 100%;
  }
  .founder-body .founder-close {
    padding-left: 0;
  }
  .founder-body .founder-close::before {
    display: none;
  }
  .founder-stamp {
    display: grid;
    gap: 10px;
    justify-items: start;
  }
  .founder-stamp > i {
    display: none;
  }
  .founder-stamp span:last-child {
    margin-left: 0;
  }
  .school-strip {
    grid-template-columns:1fr;
    margin-top:85px;
  }
  .school-strip img {
    min-height:310px;
  }
  .school-strip p {
    padding:36px 28px;
  }
  /* Carril editorial deslizable: la tarjeta activa queda alineada al gutter
     izquierdo y la siguiente asoma por la derecha como invitación al gesto.
     Sin scrollbar visible, pero con scroll funcional e inercia nativa. */
  .video-grid {
    align-items:center;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:14px;
    width:calc(100% - 16px);
    margin-top:55px;
    margin-left:16px;
    margin-right:0;
    padding-right:16px;
    display:flex;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .video-grid::-webkit-scrollbar {
    display:none;
  }
  .video-story {
    scroll-snap-align:start;
    width:min(66vw, 300px);
    min-width:min(66vw, 300px);
  }
  .video-story>div {
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:6px;
  }
  /* en móvil las decoraciones estorban a la lectura: fuera */
  .quote-swatch,
  .quote-label,
  .tst-pattern {
    display: none;
  }
  .quote-band {
    margin-top: 48px;
  }
  /* Mismo carril deslizable que las historias en vídeo: cada testimonio se
     enmarca como panel editorial (filete a ambos lados) y la comilla del
     siguiente asoma como reclamo del gesto. */
  .quote-wall {
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:14px;
    width:calc(100% - 16px);
    margin-top:0;
    margin-left:16px;
    margin-right:0;
    padding-inline: 0 16px;
    display:flex;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .quote-wall::-webkit-scrollbar {
    display:none;
  }
  .quote-wall blockquote {
    scroll-snap-align:start;
    min-width:min(78vw, 440px);
    min-height:280px;
    border-right:1px solid var(--line-dark);
    padding:34px 28px 30px;
  }
  .faq {
    padding-block: 92px 120px;
  }
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 58px;
  }
  .faq h2 {
    margin-top: 24px;
    font-size: clamp(3.15rem, 13.8vw, 4.5rem);
  }
  .faq-heading > p:last-child {
    max-width: 40ch;
  }
  .faq-list summary {
    grid-template-columns: 30px minmax(0, 1fr) 32px;
    gap: 12px;
    min-height: 84px;
    padding-inline: 8px;
    font-size: 1.14rem;
  }
  .faq-list summary b {
    width: 30px;
    height: 30px;
  }
  .faq-list details > p {
    margin: -2px 12px 30px 50px;
    font-size: 0.98rem;
  }
  .final-cta-inner {
    width: min(100% - 44px, 1440px);
  }
  .final-cta h2 {
    max-width: none;
    font-size: clamp(2.6rem, 10.4vw, 3.6rem);
    line-height: 0.98;
  }
  .footer {
    padding-top:52px;
  }
  .footer-top {
    grid-template-columns:1fr;
    justify-items:start;
    gap:30px;
    display:grid;
  }
  .footer-top>p {
    text-align:left;
    margin:0;
  }
  .footer-top>a:last-child {
    justify-self:start;
  }
  .footer-bottom {
    gap:20px;
    display:grid;
  }
  .footer-bottom nav {
    flex-wrap:wrap;
    gap:14px 22px;
  }
  .sticky-cta {
    inset:auto 8px calc(8px + env(safe-area-inset-bottom)) 8px;
    justify-content:stretch;
    gap:8px;
    padding:7px;
  }
  .sticky-cta>div {
    display:none;
  }
  .sticky-cta button {
    width:100%;
    min-height:50px;
  }
  .registration-dialog {
    width:calc(100% - 24px);
    max-height:calc(100dvh - 16px);
  }
  .dialog-panel {
    border-radius:14px;
  }
  .dialog-content {
    max-height:calc(100dvh - 18px);
    padding:52px 20px calc(24px + env(safe-area-inset-bottom));
  }
  .dialog-head h2 {
    font-size:2.35rem;
  }
  .dialog-head p:not(.eyebrow) {
    font-size:1.0625rem;
  }
  .consent {
    font-size:.92rem;
  }
  .dialog-close {
    top:10px;
    right:10px;
  }
}

@media (width<=380px) {
  .event-countdown--hero {
    gap:6px;
    min-height:38px;
    margin-bottom:7px;
    padding-inline:9px;
  }
  .event-countdown--hero .countdown-kicker {
    white-space:normal;
    max-width:82px;
    font-size:.43rem;
    line-height:1.15;
  }
  .announcement-inner.shell {
    width:calc(100% - 16px);
  }
  .hero h1 {
    font-size:2.58rem;
  }
  .hero-copy {
    font-size:.8rem;
  }
  .announcement-static {
    font-size:.52rem;
  }
  .announcement button {
    letter-spacing:.02em;
    padding-inline:8px;
    font-size:.58rem;
  }
  .hero .primary-cta {
    letter-spacing:.06em;
    padding:0 20px;
    font-size:.82rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,:before,:after {
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
  .announcement button {
    animation:none!important;
  }
  [data-wow-cta] {
    animation:none!important;
    translate:0!important;
    scale:1!important;
  }
  [data-wow-cta]:before,[data-wow-cta]:after {
    display:none!important;
  }
}


/* Tramo intermedio: a dos columnas el panel conceptual baja de su ancho útil
   (~440px) y las placas se solapan. Se apila hasta recuperar espacio real. */
@media (min-width: 768px) and (max-width: 1039px) {
  .whynow-head {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .whynow h2,
  .whynow-intro {
    max-width: 100%;
  }

  .market-concept {
    min-height: 32rem;
  }

}

/* README: en tablet la tela lateral se reduce y baja de opacidad */
@media (min-width: 768px) and (max-width: 1199px) {
  .problem-drape {
    width: clamp(180px, 22vw, 280px);
    left: -60px;
    opacity: 0.55;
  }
}
