

.sub-page .fhero__title { font-size: 110px; }
.sub-page .fhero__lockup-inner { width: 420px; }
.sub-page .fhero__sub { margin-left: 195px; }
.fhero__back {
  display: inline-block;
  margin-top: 18px;
  color: var(--c-ink-70);
  border-bottom: 1px solid var(--c-ink-20);
  padding-bottom: 2px;
}
.fhero__back:hover { color: var(--c-black); border-color: var(--c-black); }

.sub-section { padding: var(--s-section-top) 0 var(--s-section-bottom); }
.sub-head {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 24px var(--grid-gutter);
  align-items: end;
  margin-bottom: 56px;
}
.sub-head .t-h2 { max-width: 760px; }
.sub-head__lead { max-width: 440px; color: var(--c-ink-70); }
.sub-head--center { grid-template-columns: 1fr; text-align: center; }
.sub-head--center .t-h2, .sub-head--center .sub-head__lead { margin-inline: auto; }

.sub-intro { padding: 180px 0 60px; background: linear-gradient(180deg, var(--c-lilac) 20.2%, var(--c-sky-pale) 54.3%, var(--c-mist) 86.9%); }
.sub-intro__copy { grid-column: 3 / 10; }
.sub-intro__copy p + p { margin-top: 18px; }
.sub-intro__link { grid-column: 3 / 10; margin-top: 28px; }
.sub-intro__quote {
  grid-column: 3 / 10;
  margin-top: 56px;
  padding: 28px 32px;
  border-radius: var(--r-md);
  background: var(--c-card-70);
}
.sub-intro__quote p { font: 400 22px/1.3 var(--f-sans); letter-spacing: -0.01em; }
.sub-intro__quote cite { display: block; margin-top: 14px; font-style: normal; }

.groups { background: linear-gradient(180deg, var(--c-mist) 0%, var(--c-white-warm) 50%, var(--c-cream) 100%); }
.groups__cards {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gutter);
}
.group {
  display: flex;
  flex-direction: column;
  gap: 44px;
  min-height: 300px;
  padding: 20px 20px 28px;
  border-radius: var(--r-md);
  background: var(--c-card-70);
}
.group__head { display: flex; flex-direction: column; gap: 14px; margin-top: auto; }
.group__list { color: var(--c-ink-60); }
.groups__metrics {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--grid-gutter);
  margin-top: var(--grid-gutter);
}
.groups__metrics .metric { min-height: 150px; }
.groups__metrics .metric__value { font-size: 56px; }
.groups__photos {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 3fr 6fr 3fr;
  gap: var(--grid-gutter);
  margin-top: var(--grid-gutter);
}
.groups__photos figure { height: 372px; border-radius: var(--r-md); overflow: hidden; }
.groups__photos img { width: 100%; height: 100%; object-fit: cover; }

.rooms { background: linear-gradient(180deg, var(--c-cream) 0%, var(--c-white-warm) 45%, var(--c-mist) 100%); }
.rooms__cards { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 40px; }
.rooms .feature { min-height: 560px; }
.rooms .feature__media { min-height: 552px; }
.rooms .feature__headline { margin-top: 36px; }
.rooms .feature__list { margin-top: 22px; font-size: 15px; }
.rooms .feature__text { margin-top: 24px; max-width: 560px; color: var(--c-ink-70); line-height: 1.45; }
.rooms__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gutter);
}
.room-small {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 28px 28px 32px;
  border-radius: var(--r-xl);
  background: var(--c-card-70);
}
.room-small__text { color: var(--c-ink-70); line-height: 1.45; max-width: 520px; }

.asks { background: linear-gradient(180deg, var(--c-mist) 0%, var(--c-sky-pale) 60%, var(--c-mist) 100%); }
.asks__tracks {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gutter);
}
.ask-track {
  padding: 28px 28px 32px;
  border-radius: var(--r-xl);
  background: var(--c-card-70);
}
.ask-track--02 { background: rgba(222, 210, 255, 0.55); }
.ask-track__title { margin-top: 20px; }
.ask-track__title span { display: block; color: var(--c-ink-40); }
.ask-track__lead { margin-top: 18px; max-width: 520px; }
.ask-track .track__tags { justify-content: flex-start; margin: 32px 0 0; max-width: none; gap: 10px 8px; }
.ask-track--01 .tag { background: var(--c-mist); }
.asks__strong {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 24px var(--grid-gutter);
  margin-top: 80px;
}
.asks__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.asks__list li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: start; }
.asks__list .t-meta { padding-top: 6px; color: var(--c-ink-50); }
.asks__list p { font-size: 20px; line-height: 1.3; letter-spacing: -0.01em; }
.asks__list p span { color: var(--c-ink-60); }
.asks__link { margin-top: 28px; }

.tail { background: linear-gradient(180deg, var(--c-mist) 0%, var(--c-white-warm) 40%, var(--c-sky-deep) 100%); }
.tail__metrics {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gutter);
}
.tail__talks {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 8fr 4fr;
  gap: var(--grid-gutter);
  margin-top: 80px;
}
.tail__talks .highlights__featured { grid-column: auto; grid-row: auto; height: auto; }
.tail__talks .highlights__side { grid-column: auto; grid-row: auto; }
.tail__talks .talk__player { height: 480px; }
.tail__talks-title { grid-column: 1 / -1; margin: 100px 0 36px; }
.reports {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gutter);
}
.report {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 420px;
  padding: 20px 20px 24px;
  border-radius: var(--r-md);
  background: var(--c-card-70);
  color: var(--c-black);
}
.report:hover .report__cta { color: var(--c-black); }
.report__thumb { aspect-ratio: 3 / 2; border-radius: var(--r-sm); overflow: hidden; background: var(--c-lilac-soft); }
.report__thumb img { width: 100%; height: 100%; object-fit: cover; }
.report__text { color: var(--c-ink-70); line-height: 1.45; }
.report__cta { margin-top: auto; color: var(--c-ink-60); }

.company { background: linear-gradient(180deg, var(--c-sky-deep) 0%, var(--c-mist) 35%, var(--c-cream) 100%); }
.names {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px var(--grid-gutter);
}
.name {
  display: block;
  padding: 16px 18px;
  border-radius: var(--r-md);
  background: var(--c-card-70);
  color: var(--c-black);
  transition: background-color .2s ease;
}
.name:hover { background: var(--c-white); }
.name__org { display: block; margin-top: 4px; color: var(--c-ink-60); }
.company__actions { grid-column: 1 / -1; display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.editions { grid-column: 1 / -1; margin-top: 100px; }
.editions__title { margin-bottom: 36px; }
.editions__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gutter); }
.edition {
  display: block;
  padding: 4px;
  border-radius: var(--r-md);
  background: var(--c-card-70);
  color: var(--c-black);
}
.edition__img { aspect-ratio: 16 / 10; border-radius: var(--r-sm); overflow: hidden; }
.edition__img img { width: 100%; height: 100%; object-fit: cover; }
.edition__text { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 12px 12px; }
.edition__text .t-meta { color: var(--c-ink-60); }
.edition__arrow { width: 14px; height: 14px; flex: none; }
.logos-wall { grid-column: 1 / -1; margin-top: 100px; }
.logos-wall__title { margin-bottom: 36px; text-align: center; }
.logos-wall .hero__logo-row + .hero__logo-row { margin-top: 28px; }
.logos-wall .logo-tile img { filter: grayscale(1); }

.close { padding: var(--s-section-top) 0 120px; background: linear-gradient(180deg, var(--c-cream) 0%, var(--c-lilac-soft) 100%); }
.close__card {
  grid-column: 2 / 12;
  padding: 56px 56px 48px;
  border-radius: var(--r-xl);
  background: var(--c-white);
}
.close__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.close__text { color: var(--c-ink-70); line-height: 1.5; max-width: 520px; margin-top: 24px; }
.close__text + .close__text { margin-top: 14px; }
.close__actions { display: flex; flex-direction: column; gap: 10px; }
.close__actions .btn { width: 100%; }
.close__fine { margin-top: 24px; color: var(--c-ink-60); }
.close__fine a { border-bottom: 1px solid var(--c-ink-20); }

.gate { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.gate .field--wide { grid-column: 1 / -1; }
.field { display: block; }
.field__label { display: block; margin: 0 0 6px; color: var(--c-ink-50); }
.field input, .field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--c-ink-20);
  border-radius: var(--r-md);
  background: var(--c-white);
  font: 400 16px/1.3 var(--f-sans);
  color: var(--c-black);
}
.field input:focus, .field textarea:focus { outline: 2px solid var(--c-black); outline-offset: 0; border-color: var(--c-black); }
.field input::placeholder, .field textarea::placeholder { color: var(--c-ink-40); }
.field textarea { resize: vertical; min-height: 80px; }
.gate__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gate__error { grid-column: 1 / -1; color: #d1232a; }
.gate__submit { grid-column: 1 / -1; width: 100%; margin-top: 6px; }
.gate__fine { grid-column: 1 / -1; color: var(--c-ink-50); }
.close__card[data-open="true"] .gate, .close__card[data-open="true"] .close__gate-text { display: none; }
.close__card[data-open="true"] .close__grid { grid-template-columns: 1fr; }
.close__card[data-open="true"] .close__grid .t-h2 { max-width: 760px; }

.tiers { grid-column: 1 / -1; margin-top: 56px; }
.tiers__lead { max-width: 760px; margin: 20px auto 0; text-align: center; color: var(--c-ink-70); }
.tiers__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gutter); margin-top: 48px; }
.tier {
  display: flex;
  flex-direction: column;
  padding: 28px 28px 32px;
  border-radius: var(--r-xl);
  background: var(--c-white);
}
.tier--anchor { background: #fcff9f; }
.tier__name { font: 500 36px/1.1 var(--f-sans); letter-spacing: -0.03em; }
.tier__pitch { margin-top: 14px; color: var(--c-ink-70); }
.tier__plus { margin-top: 24px; color: #2b4fd6; }
.tier__list { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.tier__list li { position: relative; padding-left: 26px; line-height: 1.35; }
.tier__list li::before {
  content: "";
  position: absolute; left: 0; top: 0.3em;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--c-lilac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat;
}
.tier__price { margin-top: auto; padding-top: 40px; font: 400 64px/1 var(--f-display); }
.tier__price sup { font-size: 0.5em; vertical-align: 0.6em; margin-right: 2px; }
.tier__slots { margin-top: 10px; color: #2b4fd6; }

.addons { margin-top: 80px; }
.addons__title { text-align: center; }
.addons__sub { margin-top: 14px; text-align: center; color: var(--c-ink-60); }
.addons__cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--grid-gutter); margin-top: 40px; }
.addon {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 420px;
  padding: 20px 20px 24px;
  border-radius: var(--r-md);
  background: var(--c-white);
}
.addon--lift { background: #fcff9f; }
.addon__kicker { color: var(--c-ink-60); }
.addon__name { font: 500 26px/1.1 var(--f-sans); letter-spacing: -0.02em; }
.addon__text { color: var(--c-ink-70); font-size: 15px; line-height: 1.45; }
.addon__price { margin-top: auto; padding-top: 28px; font: 400 44px/1 var(--f-display); }

.benefits { margin-top: 80px; }
.benefits__table { width: 100%; margin-top: 36px; border-collapse: separate; border-spacing: 0; background: var(--c-white); border-radius: var(--r-md); overflow: hidden; }
.benefits__table th, .benefits__table td { padding: 16px 20px; text-align: center; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.benefits__table th { font: 500 20px/1.2 var(--f-sans); border-top: 0; padding-top: 24px; }
.benefits__table th .t-meta { display: block; margin-top: 8px; color: #2b4fd6; }
.benefits__table td:first-child, .benefits__table th:first-child { text-align: left; }
.benefits__table td:first-child { font-weight: 500; }
.benefits__table .yes {
  display: inline-block; width: 20px; height: 20px; border-radius: 50%;
  background: var(--c-lilac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
  vertical-align: middle;
}
.benefits__table .no { color: var(--c-ink-40); }
.benefits__table .val { font: 500 14px/1.2 var(--f-mono); text-transform: uppercase; }

.tiers__close {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 80px;
  padding: 40px;
  border-radius: var(--r-xl);
  background: var(--c-white);
}
.tiers__close-text { color: var(--c-ink-70); line-height: 1.45; margin-top: 18px; max-width: 480px; }
.tiers__who { display: flex; align-items: center; gap: 16px; margin-top: 28px; }
.tiers__who img { width: 64px; height: 64px; border-radius: var(--r-md); object-fit: cover; }
.tiers__who .t-meta { color: var(--c-ink-60); margin-top: 4px; }
.tiers__close-actions { display: flex; flex-direction: column; gap: 10px; }
.tiers__close-actions .btn { width: 100%; }
.tiers__note { margin-top: 24px; color: var(--c-ink-50); }

@media (max-width: 1024px) {
  .sub-page .fhero__title { font-size: 96px; }
  .sub-page .fhero__lockup-inner { width: 100%; }
  .sub-page .fhero__sub { margin-left: auto; }
  .sub-head { grid-template-columns: 1fr; margin-bottom: 40px; }
  .sub-intro__copy, .sub-intro__link, .sub-intro__quote { grid-column: 1 / -1; }
  .groups__cards { grid-template-columns: 1fr 1fr; }
  .group { min-height: 0; gap: 28px; }
  .groups__metrics { grid-template-columns: repeat(3, 1fr); }
  .groups__metrics .metric__value { font-size: 40px; }
  .groups__photos { grid-template-columns: 1fr 1fr; }
  .groups__photos figure { height: auto; aspect-ratio: 4 / 3; }
  .groups__photos figure:first-child { display: none; }
  .rooms .feature { min-height: 0; }
  .rooms .feature__media { min-height: 0; }
  .rooms__row { grid-template-columns: 1fr; }
  .asks__tracks { grid-template-columns: 1fr; }
  .asks__strong { grid-template-columns: 1fr; margin-top: 48px; }
  .tail__metrics { grid-template-columns: 1fr 1fr; }
  .tail__talks { grid-template-columns: 1fr; }
  .tail__talks .talk__player { height: auto; aspect-ratio: 16 / 9; }
  .reports { grid-template-columns: 1fr; }
  .report { min-height: 0; }
  .names { grid-template-columns: 1fr 1fr; }
  .editions__cards { grid-template-columns: 1fr; }
  .close__card { grid-column: 1 / -1; padding: 32px 24px; }
  .close__grid { grid-template-columns: 1fr; gap: 28px; }
  .tiers__cards { grid-template-columns: 1fr; }
  .addons__cards { grid-template-columns: 1fr 1fr; }
  .addon { min-height: 0; }
  .benefits__table th, .benefits__table td { padding: 12px 10px; font-size: 14px; }
  .benefits__table th { font-size: 16px; }
  .tiers__close { grid-template-columns: 1fr; }
}
@media (max-width: 699px) {
  .sub-page .fhero__title { font-size: 84px; }
  .fhero__aside .fhero__back { order: 1; margin-top: 14px; }
  .fhero__aside .btn { order: 2; }
  .sub-section { padding-top: 150px; }
  .sub-intro { padding-top: 150px; }
  .sub-intro__quote { padding: 20px; }
  .sub-intro__quote p { font-size: 18px; }
  .groups__cards { grid-template-columns: 1fr; }
  .groups__metrics { grid-template-columns: 1fr 1fr; }
  .groups__photos { grid-template-columns: 1fr; }
  .groups__photos figure:last-child { display: none; }
  .rooms .feature__text { font-size: 15px; }
  .room-small { padding: 20px; border-radius: 20px; }
  .ask-track { padding: 20px; border-radius: 20px; }
  .asks__list li { grid-template-columns: 36px 1fr; }
  .asks__list p { font-size: 17px; }
  .tail__metrics { grid-template-columns: 1fr 1fr; }
  .tail__talks { margin-top: 48px; }
  .tail__talks-title { margin: 64px 0 24px; }
  .names { grid-template-columns: 1fr; }
  .editions { margin-top: 64px; }
  .logos-wall { margin-top: 64px; }
  .close { padding-bottom: 80px; }
  .close__card { padding: 24px 16px; border-radius: 20px; }
  .gate { grid-template-columns: 1fr; }
  .tier { padding: 20px; border-radius: 20px; }
  .tier__price { font-size: 48px; }
  .addons__cards { grid-template-columns: 1fr; }
  .benefits__table th, .benefits__table td { padding: 10px 4px; font-size: 13px; }
  .benefits__table th { font-size: 13px; padding-top: 16px; }
  .benefits__table th .t-meta { font-size: 11px; margin-top: 4px; }
  .benefits__table td:first-child { width: 52%; padding-left: 10px; }
  .benefits__table .yes { width: 16px; height: 16px; background-size: 10px; }
  .benefits__table .val { font-size: 11px; }
  .tiers__close { padding: 20px; border-radius: 20px; }
}
