/* partners.css: /partners/ (P4, 02/11/2026).
 * Stage: the porte-cochere at night with the live guest-arrival card floating over it (it lifts faster than the words
 * as the stage recedes). Then: who you are putting your guests with (night, five facts), how a guest booking works
 * (day, the track drawn as one line), become a partner (night: the form, with the door photo drifting in the intro),
 * questions (day). */

/* ---------- the live guest-arrival card (stage aside) ---------- */
.aj-site .mh-card.pt-live { padding: clamp(20px, 1rem + 0.6vw, 28px); }
.pt-live-k { display: flex; align-items: center; gap: 10px; font-size: var(--fs-meta); font-weight: 500; color: var(--ink-2); }
.pt-live-name { margin: 6px 0 clamp(16px, 1rem + 0.5vw, 24px); font-size: clamp(1.5rem, 1.2rem + 0.9vw, 2rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1.1; color: var(--ink); }
.pt-live-dl { margin: 0; border-top: 1px solid var(--hair); }
.pt-live-dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--hair); font-size: 0.9375rem; }
.pt-live-dl dt { color: var(--ink-2); font-weight: 500; }
.pt-live-dl dd { margin: 0; display: inline-flex; align-items: center; gap: 14px; font-weight: 600; color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
.pt-live-dot { position: relative; flex: none; width: 8px; height: 8px; border-radius: var(--r-round); background: var(--ok); }
.pt-live-dot::after { content: ""; position: absolute; inset: -4px; border-radius: var(--r-round); border: 1px solid var(--ok); opacity: 0; animation: pt-pulse 2400ms var(--ease-out) 1600ms infinite; }
@keyframes pt-pulse { 0% { opacity: 0.9; scale: 0.6; } 70%, 100% { opacity: 0; scale: 1.5; } }
.pt-live-note { margin-top: 12px; font-size: var(--fs-meta); color: var(--ink-2); }
@media (min-width: 1280px) {
  /* the card floats higher than the actions and rises faster than the words as the stage recedes: depth */
  .page-partners .mh.is-title .mh-aside { align-self: end; margin-bottom: clamp(24px, 9vh, 120px); translate: 0 calc(-18vh * var(--stage-p, 0)); }
  .page-partners .mh.is-title .mh-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
}
@media (max-width: 1279px) {
  .page-partners .mh-aside { max-width: 440px; margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .pt-live-dot::after { animation: none; }
  .page-partners .mh.is-title .mh-aside { translate: none; }
}

/* ---------- who you are putting your guests with (night) ---------- */
.pt-proof .sec-head-lede { color: var(--text-2); }
.pt-facts > .fg-w6 .fg-t, .pt-facts > .fg-item:first-child .fg-t { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1.1; }
@media (min-width: 1100px) {
  .pt-facts { row-gap: clamp(56px, 3rem + 2vw, 88px); }
}

/* ---------- how a guest booking works: one drawn line, four stops (day) ---------- */
.pt-track { --tr-m: 64px; margin-top: clamp(8px, 1vw, 24px); }
.pt-track .tr-ic { background: var(--porcelain); border-color: var(--ink); transition: background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out); }
.pt-track > li:hover .tr-ic { background: var(--ink); color: var(--paper); }
.pt-track .tr-when { font-size: clamp(1.375rem, 1.1rem + 0.8vw, 1.875rem); font-weight: 500; letter-spacing: -0.025em; }
.pt-track .tr-v { font-size: var(--fs-body); }
@media (min-width: 900px) {
  .pt-track { --tr-m: 72px; }
  .pt-track > li { row-gap: 14px; }
  .pt-track > li::before { margin-top: 28px; }
}

/* ---------- become a partner (night) ---------- */
.pt-join { scroll-margin-top: calc(var(--frame-top) + 16px); }
.pt-form-wrap { display: grid; gap: 24px; align-content: start; }
.pt-join-frame { aspect-ratio: 4 / 3; margin-top: clamp(16px, 1rem + 1vw, 40px); background: var(--green-raised); }
.pt-join-frame > img[data-speed] { top: -15%; height: 130%; }
@media (min-width: 1024px) {
  .pt-join-frame { aspect-ratio: 5 / 4; }
  .pt-join .form-actions { padding-top: 8px; }
}
@media (max-width: 1023px) {
  html.mo .pt-join-frame > img[data-speed] { translate: none; }
}

/* ---------- questions ---------- */
.page-partners .land-intro .btn-link { justify-self: start; }
