/* The Standard: a private-room identity scoped to /the-standard.
   Navy and ivory lead, gold is a restrained accent drawn from the emblem.
   Loaded after homepage.css and teams.css (teams.css supplies the staggered-reveal states). */

.standard-page {
  --std-navy: #0d2030;
  --std-navy-2: #14293c;
  --std-ivory: #f5f1e9;
  --std-soft: #faf9f6;
  --std-gold: #b08a4a;
  --std-gold-light: #cdb07a;
  --std-stone: #d8d0c4;
  --std-ink-muted: #3f4d5a;
  --std-on-navy: #e8e4da;
  --std-on-navy-muted: #ccd3d9;
  background: var(--std-ivory);
}

.std-shell {
  width: min(calc(100% - (2 * var(--gutter))), 72rem);
  margin-inline: auto;
}

.std-section {
  padding-block: clamp(4rem, 9vw, 8rem);
}

.std-section--navy { background: var(--std-navy); color: var(--std-on-navy); }
.std-section--ivory { background: var(--std-ivory); color: var(--std-navy); }
.std-section--soft { background: var(--std-soft); color: var(--std-navy); }

.standard-page h1,
.standard-page h2,
.standard-page h3 {
  font-family: var(--font-sans);
  font-weight: 550;
  letter-spacing: -0.035em;
}

.std-section--navy h2,
.std-section--navy h3,
.std-hero h1,
.std-close h2 {
  color: #fff;
}

.std-section h2 {
  max-width: 22ch;
  margin: 0;
  font-size: var(--text-h2);
  line-height: 1.02;
}

.std-head {
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.std-lede {
  max-width: 40rem;
  margin: 1.25rem 0 0;
  color: var(--std-ink-muted);
  font-size: var(--text-md);
}

.std-kicker,
.std-eyebrow {
  margin: 0 0 1rem;
  color: var(--std-gold);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.std-section--ivory .std-kicker,
.std-section--soft .std-kicker {
  color: #8a6a31;
}

.std-kicker--gold { color: var(--std-gold-light); }

/* Focus */
.standard-page a:focus-visible,
.standard-page button:focus-visible,
.standard-page summary:focus-visible,
.standard-page input:focus-visible,
.standard-page textarea:focus-visible {
  outline: 3px solid var(--std-gold);
  outline-offset: 3px;
}

/* ── Buttons ───────────────────────────────────────────────── */

.std-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.9rem 1.1rem;
  margin: 1.5rem 0 0.9rem;
}

.std-actions--center { justify-content: center; }

.std-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 3.4rem;
  padding: 0.8rem 1.6rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  font: inherit;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 180ms ease-out, color 180ms ease-out, border-color 180ms ease-out;
}

.std-btn small {
  margin-top: 0.15rem;
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.02em;
  opacity: 0.85;
}

/* Primary buttons follow the site: light cyan on the dark navy sections (nearly every use here),
   dark navy on light sections (see .rs-video__cta in reset.css). Gold stays an accent only. */
.std-btn--gold { background: var(--color-highlight); color: var(--std-navy); }
.std-btn--gold:hover { background: var(--color-white); }

.std-btn--ghost { border-color: rgba(232, 228, 218, 0.5); background: transparent; color: #fff; }
.std-btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, 0.08); }

.std-btn--navy { background: var(--std-navy); color: #fff; }
.std-btn--navy:hover { background: var(--std-navy-2); }

/* ── Stage 1: the invitation ───────────────────────────────── */

.std-hero {
  position: relative;
  overflow: hidden;
  background: var(--std-navy);
  color: var(--std-on-navy);
}

.std-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
  min-height: min(44rem, 88svh);
}

.std-hero__copy {
  /* aligns the text column with the 72rem shell used by every other section */
  padding-block: clamp(1.5rem, 2.6vw, 2.5rem);
  padding-left: max(var(--gutter), calc((100vw - 72rem) / 2));
  padding-right: clamp(1rem, 2.5vw, 2.25rem);
  align-self: center;
}

.std-hero__logo {
  display: block;
  width: clamp(9.5rem, 8rem + 4vw, 12.5rem);
  height: auto;
  margin: 0 0 clamp(1.25rem, 2.4vw, 1.9rem);
}

.std-hero h1 {
  max-width: 15ch;
  margin: 0 0 1.85rem;
  font-size: clamp(2.4rem, 1.4rem + 2.6vw, 3.75rem);
  line-height: 0.98;
}

.std-prose p {
  max-width: 38rem;
  margin: 0 0 1.1rem;
  font-size: 1.0625rem;
  line-height: 1.65;
}

.std-hero .std-prose p { max-width: 38rem; margin-bottom: 1.05rem; font-size: 1.0625rem; line-height: 1.6; }

.std-prose__lead {
  color: #fff;
  font-family: var(--font-sans);
  font-weight: 550;
  letter-spacing: -0.02em;
  font-size: var(--text-lg) !important;
}

.std-prose--dark p { color: var(--std-navy); }
.std-prose--dark strong { font-weight: 700; }

.std-promise {
  max-width: 34rem;
  margin: 1.1rem 0 1.4rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(176, 138, 74, 0.55);
  color: var(--std-gold-light);
  font-family: var(--font-sans);
  font-weight: 550;
  letter-spacing: -0.02em;
  font-size: var(--text-lg);
  line-height: 1.3;
}

.std-hero .std-actions { align-items: center; gap: 1.25rem 1.6rem; margin-top: 2.1rem; }

/* The primary call to action is the largest, brightest element in the hero. */
.std-hero .std-btn--gold {
  min-height: 3.75rem;
  padding: 1rem 1.6rem;
  font-size: 1rem;
  box-shadow: 0 0.6rem 1.6rem rgba(185, 228, 238, 0.22);
}
.std-hero .std-btn--gold:hover { box-shadow: 0 0.8rem 2rem rgba(185, 228, 238, 0.32); }

.std-secondary { display: grid; gap: 0.3rem; max-width: 15rem; }

.std-link {
  white-space: nowrap;
  color: #fff;
  font-weight: 550;
  text-decoration: underline;
  text-decoration-color: rgba(232, 228, 218, 0.4);
  text-underline-offset: 0.3em;
  transition: text-decoration-color 0.2s;
}
.std-link:hover { text-decoration-color: var(--std-gold-light); }

.std-secondary small {
  color: var(--std-on-navy-muted);
  font-size: var(--text-sm);
  line-height: 1.4;
}

/* Photograph: bleeds to the right edge, no card. It keeps its natural frame so both people stay in view,
   and dissolves into the navy on the text side, at the top and at the foot. */
.std-hero__photo {
  position: relative;
  display: grid;
  align-content: center;
  margin: 0;
  background: var(--std-navy);
}

.std-hero__photo img {
  display: block;
  /* about 17% larger than before: the frame extends slightly into the text column's gutter */
  width: 110%;
  max-width: none;
  margin-left: -10%;
  height: auto;
  aspect-ratio: 1016 / 603;
  object-fit: cover;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.6) 8%, #000 22%), linear-gradient(180deg, transparent 0%, #000 8%, #000 90%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.6) 8%, #000 22%), linear-gradient(180deg, transparent 0%, #000 8%, #000 90%, transparent 100%);
  mask-composite: intersect;
}

.std-hero__photo figcaption {
  margin: 0.7rem clamp(1rem, 3vw, 2.5rem) 0 0;
  color: var(--std-on-navy-muted);
  font-size: var(--text-xs);
  text-align: right;
}

/* ── Stage 2: recognition ──────────────────────────────────── */

.std-split {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.std-split--tight { margin-top: clamp(2.5rem, 5vw, 4rem); }

.std-pull {
  max-width: 52rem;
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  padding: 0 0 0 clamp(1.25rem, 3vw, 2rem);
  border-left: 3px solid var(--std-gold);
  font-family: var(--font-sans);
  font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.4rem);
  line-height: 1.3;
}

.std-sayings {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.std-sayings li {
  padding: 1.1rem 1.4rem;
  border: 1px solid var(--std-stone);
  border-radius: var(--radius-media);
  background: var(--std-soft);
  font-family: var(--font-sans);
  font-size: var(--text-lg);
  line-height: 1.35;
}

.std-photo {
  margin: clamp(3rem, 6vw, 5rem) 0 0;
}

.std-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-media);
}

.std-photo figcaption,
.std-video figcaption,
.std-phone figcaption {
  margin-top: 0.7rem;
  color: var(--std-ink-muted);
  font-size: 0.9375rem;
}

/* ── Stage 3: four things ──────────────────────────────────── */

.std-four {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.std-four li {
  padding-top: 1.5rem;
  border-top: 1px solid rgba(176, 138, 74, 0.6);
}

.std-num {
  display: block;
  margin-bottom: 1rem;
  color: var(--std-gold-light);
  font-family: var(--font-sans);
  font-size: 2.4rem;
  line-height: 1;
}

.std-four h3 {
  margin: 0 0 0.75rem;
  font-size: var(--text-lg);
}

.std-four p {
  margin: 0;
  color: var(--std-on-navy-muted);
  line-height: 1.6;
}

.std-turn {
  max-width: 44rem;
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: clamp(1.4rem, 1.05rem + 1.4vw, 2.1rem);
  line-height: 1.3;
}

.std-turn--ink { color: var(--std-navy); }

.std-aside {
  max-width: 40rem;
  margin: 1.5rem 0 0;
  color: var(--std-on-navy-muted);
  font-size: var(--text-md);
  line-height: 1.6;
}

/* ── Stage 4: inside the room ──────────────────────────────── */

.std-feature {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.std-feature--flip { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); }

.std-feature h3 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);
  line-height: 1.2;
}

.std-feature p {
  max-width: 34rem;
  margin: 0 0 1rem;
  color: var(--std-navy);
  font-size: var(--text-md);
  line-height: 1.65;
}

.std-feature__meta {
  color: #8a6a31 !important;
  font-weight: 700;
  font-size: var(--text-base) !important;
}

.std-video { position: relative; margin: 0; }

.std-video video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-media);
  background: var(--std-navy);
}

.std-video__toggle {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid rgba(232, 228, 218, 0.5);
  border-radius: var(--radius-control);
  background: rgba(13, 32, 48, 0.7);
  color: #fff;
  font: inherit;
  font-size: var(--text-xs);
  font-weight: 600;
  cursor: pointer;
}

.std-phone { margin: 0; max-width: 17rem; }

.std-phone img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--std-stone);
  border-radius: 1.6rem;
  box-shadow: 0 1.2rem 2.4rem rgba(13, 32, 48, 0.18);
}

.std-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
}

.std-pair article {
  padding-top: 1.5rem;
  border-top: 1px solid var(--std-gold);
}

.std-pair h3 { margin: 0 0 0.6rem; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.8rem); }
.std-pair p { margin: 0; color: var(--std-navy); font-size: var(--text-md); line-height: 1.6; }

/* ── Stage 5: culture and people ───────────────────────────── */

.std-standards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 6vw, 6rem);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: std;
}

.std-standards li {
  display: flex;
  gap: 1.25rem;
  align-items: baseline;
  padding: 1.15rem 0;
  border-bottom: 1px solid rgba(176, 138, 74, 0.45);
  color: #fff;
  font-family: var(--font-sans);
  font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem);
  line-height: 1.3;
  counter-increment: std;
}

.std-standards li::before {
  content: "0" counter(std);
  flex: none;
  color: var(--std-gold-light);
  font-size: var(--text-sm);
  letter-spacing: 0.1em;
}

.std-quotes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.std-quote {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px solid var(--std-stone);
  border-top: 3px solid var(--std-gold);
  border-radius: var(--radius-media);
  background: var(--std-soft);
}

.std-quote__photo {
  display: block;
  width: 4rem;
  height: 4rem;
  margin-bottom: 1rem;
  border: 2px solid var(--std-gold);
  border-radius: 50%;
  object-fit: cover;
}

.std-quote__ini {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 1rem;
  place-items: center;
  border-radius: 50%;
  background: var(--std-navy);
  color: var(--std-gold-light);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.std-quote blockquote {
  flex: 1;
  margin: 0 0 1.25rem;
  padding: 0;
  border: 0;
  color: var(--std-navy);
  font-size: var(--text-md);
  line-height: 1.6;
}

.std-quote figcaption { display: flex; flex-direction: column; gap: 0.15rem; font-size: 0.9375rem; }
.std-quote figcaption strong { color: var(--std-navy); }
.std-quote figcaption span { color: var(--std-ink-muted); font-size: 0.875rem; }

.std-letter {
  display: grid;
  grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.std-letter__photo { margin: 0; }
.std-letter__photo img { display: block; width: 100%; height: auto; border-radius: var(--radius-media); box-shadow: 0 1rem 2rem rgba(13, 32, 48, 0.16); }
.std-letter h2 { margin-bottom: 1.25rem; }
.std-sign { font-family: var(--font-sans); font-size: var(--text-lg) !important; }

.std-identity {
  max-width: 44rem;
  margin: clamp(3rem, 6vw, 5rem) auto 0;
  padding-inline: var(--gutter);
  text-align: center;
  font-family: var(--font-sans);
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.3rem);
  line-height: 1.3;
}

/* ── Stage 6: join ─────────────────────────────────────────── */

.std-join__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.std-join__terms p { max-width: 36rem; margin: 0 0 1rem; line-height: 1.65; font-size: var(--text-md); }

.std-price {
  margin: 0 0 1.25rem !important;
  color: var(--std-gold-light);
  font-family: var(--font-sans);
  font-size: var(--text-lg) !important;
}

.std-price span {
  color: #fff;
  font-size: clamp(3rem, 2rem + 4vw, 5rem);
  line-height: 1;
}

.std-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.4rem;
  margin: 1.75rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}

.std-steps li {
  padding: 0.45rem 0.9rem;
  border: 1px solid rgba(176, 138, 74, 0.6);
  border-radius: 999px;
  color: #fff;
  font-size: var(--text-sm);
  font-weight: 600;
  counter-increment: step;
}

.std-steps li::before { content: counter(step) ". "; color: var(--std-gold-light); }

.std-join__includes {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid rgba(176, 138, 74, 0.5);
  border-radius: var(--radius-media);
}

.std-join__includes h3 { margin: 0 0 1rem; font-size: var(--text-lg); }
.std-join__includes ul { margin: 0 0 1.25rem; padding: 0; list-style: none; }
.std-join__includes li { padding: 0.65rem 0 0.65rem 1.5rem; border-bottom: 1px solid rgba(232, 228, 218, 0.14); position: relative; }
.std-join__includes li::before { content: ""; position: absolute; left: 0; top: 1.15rem; width: 0.55rem; height: 0.55rem; background: var(--std-gold); transform: rotate(45deg); }

.std-small { color: var(--std-on-navy-muted); font-size: 0.9375rem; line-height: 1.6; }
.std-section--ivory .std-small, .std-section--soft .std-small { color: var(--std-ink-muted); }
.std-small a { color: inherit; text-decoration: underline; }

.std-apply__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.std-apply__intro p { max-width: 30rem; font-size: var(--text-md); line-height: 1.65; }

.std-form {
  display: grid;
  gap: 1.15rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--std-stone);
  border-radius: var(--radius-media);
  background: var(--std-soft);
  box-shadow: 0 1rem 2.4rem rgba(13, 32, 48, 0.08);
}

.std-field label {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--std-navy);
  font-size: 0.9375rem;
  font-weight: 700;
}

.std-field input,
.std-field textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid #b9ae9d;
  border-radius: var(--radius-control);
  background: #fff;
  color: var(--std-navy);
  font: inherit;
  font-size: var(--text-base);
}

.std-field textarea { resize: vertical; min-height: 6rem; }
.std-form .std-btn { align-self: start; }

.std-reset__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.std-faq h2 { margin-bottom: 2rem; }

.std-faq__list details {
  border-top: 1px solid var(--std-stone);
}

.std-faq__list details:last-child { border-bottom: 1px solid var(--std-stone); }

.std-faq__list summary {
  position: relative;
  padding: 1.25rem 2.5rem 1.25rem 0;
  color: var(--std-navy);
  font-family: var(--font-sans);
  font-size: var(--text-lg);
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}

.std-faq__list summary::-webkit-details-marker { display: none; }
.std-faq__list summary::after { content: "+"; position: absolute; right: 0.25rem; top: 1.05rem; color: var(--std-gold); font-size: 1.6rem; font-family: var(--font-sans); }
.std-faq__list details[open] summary::after { content: "\2212"; }
.std-faq__list p { max-width: 44rem; margin: 0 0 1.25rem; color: var(--std-navy); line-height: 1.65; }
.std-faq__list a { color: #8a6a31; text-decoration: underline; }

.std-close {
  padding-block: clamp(4.5rem, 10vw, 8rem);
  background: var(--std-navy);
  color: var(--std-on-navy);
  text-align: center;
}

.std-close__seal { display: block; width: 7.5rem; height: auto; margin: 0 auto 2rem; filter: drop-shadow(0 1rem 1.6rem rgba(0, 0, 0, 0.4)); }
.std-close h2 { max-width: 24ch; margin: 0 auto 1.25rem; font-size: clamp(2rem, 1.3rem + 2.8vw, 3.4rem); line-height: 1.12; }
.std-close__q { max-width: 36rem; margin: 0 auto; font-family: var(--font-sans); font-size: var(--text-lg); color: var(--std-on-navy); }
.std-close .std-promise { margin-inline: auto; max-width: 30rem; }

/* ── Responsive ────────────────────────────────────────────── */

@media (max-width: 64rem) {
  .std-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .std-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 56rem) {
  .std-hero__grid { grid-template-columns: 1fr; min-height: 0; }
  .std-hero__copy { padding-inline: var(--gutter); }
  .std-hero__photo img {
    width: 100%;
    margin-left: 0;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 88%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 88%, transparent 100%);
    -webkit-mask-composite: source-over;
    mask-composite: add;
  }
  .std-hero__photo figcaption { margin: 0.6rem var(--gutter) 1.5rem; }
  .std-split,
  .std-feature,
  .std-feature--flip,
  .std-join__grid,
  .std-apply__grid,
  .std-reset__inner,
  .std-letter { grid-template-columns: 1fr; }

  .std-feature--flip .std-feature__media { order: 2; }
  .std-pair { grid-template-columns: 1fr; }
  .std-standards { grid-template-columns: 1fr; }
  .std-letter__photo { max-width: 12rem; }
  .std-section h2, .std-hero h1 { max-width: none; }
}

@media (max-width: 40rem) {
  .std-prose__more { display: none; }
  .std-four, .std-quotes { grid-template-columns: 1fr; }
  .std-actions .std-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .std-btn { transition: none; }
}

/* Former serif accents now follow the parent site's sans voice. */
.std-pull,
.std-sayings li,
.std-close__q,
.std-sign {
  font-weight: 550;
  letter-spacing: -0.025em;
}
.std-pull { line-height: 1.15; }

/* Founding-membership message and application reassurance. */
.std-founding {
  max-width: 44rem;
  margin: 0 0 clamp(2rem, 4vw, 3rem);
}
.std-founding h3 {
  margin: 0 0 0.75rem;
  color: var(--std-gold-light);
  font-size: var(--text-h3);
  line-height: 1.12;
}
.std-founding p {
  margin: 0;
  color: var(--std-on-navy);
  font-size: var(--text-md);
  line-height: 1.65;
}
.std-note-free {
  margin: 1.25rem 0 0;
  padding-left: 1rem;
  border-left: 3px solid var(--std-gold);
  color: var(--std-navy);
}
.std-small--free { margin: 0; text-align: left; }

/* Three featured testimonials: slightly more room per card. */
.std-quotes--featured .std-quote { padding: clamp(1.5rem, 3vw, 2.25rem); }

.std-apply__intro h2 { margin-bottom: 1.25rem; }

/* Group-call photo sits in a clipped frame so the slow parallax drift never exposes an edge. */
.std-photo__frame { overflow: hidden; border-radius: var(--radius-media); }
.std-photo__frame img { border-radius: 0; }

/* Join to apply: one continuous conversion path, still two contrasting sections. */
.std-join { position: relative; padding-bottom: clamp(3rem, 5.5vw, 4.5rem); }
.std-apply { padding-top: clamp(4rem, 7vw, 5.5rem); }

.std-bridge {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border: 4px solid var(--std-ivory);
  border-radius: 50%;
  background: var(--std-gold);
  color: var(--std-navy);
  transform: translate(-50%, 50%);
  transition: background-color 180ms ease-out, transform 220ms ease-out;
}
.std-bridge:hover { background: var(--std-gold-light); transform: translate(-50%, calc(50% + 2px)); }
.std-bridge svg { animation: std-nudge 2.4s ease-in-out infinite; }

@keyframes std-nudge {
  0%, 100% { transform: translateY(-1px); }
  50% { transform: translateY(3px); }
}

@media (prefers-reduced-motion: reduce) {
  .std-bridge svg { animation: none; }
  .std-bridge { transition: none; }
}

/* Mobile sticky call to action. Appears after the hero button scrolls away, hides over the offer and form. */
.sticky-cta { display: none; }

@media (max-width: 48rem) {
  .sticky-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    display: grid;
    gap: 0.3rem;
    justify-items: center;
    padding: 0.7rem var(--gutter) calc(0.7rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(176, 138, 74, 0.55);
    background: rgba(13, 32, 48, 0.97);
    box-shadow: 0 -0.6rem 1.4rem rgba(13, 32, 48, 0.25);
    transform: translateY(110%);
    transition: transform 220ms ease-out;
  }

  .sticky-cta[hidden] { display: none; }
  .sticky-cta:not(.is-shown) { visibility: hidden; }
  .sticky-cta.is-shown { transform: translateY(0); }
  .sticky-cta .std-btn { width: 100%; min-height: 3rem; }
  .sticky-cta p { margin: 0; color: var(--std-on-navy-muted); font-size: 0.8125rem; line-height: 1.3; text-align: center; }
  body.has-sticky-cta { padding-bottom: 6.25rem; }
}

@media (prefers-reduced-motion: reduce) { .sticky-cta { transition: none; } }

/* CTA directly under The Standard video (light section: navy button) */
.std-video__cta { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; margin-top: clamp(1.5rem, 3vw, 2.25rem); text-align: center; }
.std-video__cta p { margin: 0; color: var(--std-ink-muted); font-size: var(--text-sm); }
.std-video__cta .std-btn--gold { background: var(--std-navy); color: #fff; }
.std-video__cta .std-btn--gold:hover { background: var(--std-navy-2); }
@media (max-width: 40rem) { .std-video__cta .std-btn { width: 100%; } }

