.consultation-gate {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(2.5rem, 6vh, 5rem) 1.5rem 1rem;
  background: var(--ivory-50);
  color: var(--text-on-light);
  text-align: center;
}
.gate-header { width: 100%; }
.gate-brand { display: inline-block; min-height: 44px; }
.gate-brand img { width: 140px; height: auto; }
.gate-media { margin: 1.7rem auto 0; }
.gate-media-label {
  margin: 0 0 0.75rem;
  color: var(--text-on-light-muted);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.gate-media-link { display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; min-height: 44px; }
.gate-media-link img { width: 132px; height: 36px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); }
.gate-media-link > span { padding-block: 0.4rem; border-bottom: 1px solid var(--accent-deep); font-size: 0.75rem; font-weight: 650; }
.gate-media-link > span > span { display: inline-block; margin-left: 0.35rem; transition: transform 180ms ease; }
.gate-media-link:hover > span > span { transform: translateX(3px); }
.gate-media-caption { margin: 0.6rem 0 0; font-size: 0.75rem; color: var(--text-on-light-muted); line-height: 1.6; }
.gate-main { width: min(100%, 800px); margin-top: clamp(2.5rem, 5vh, 3.5rem); }
.gate-main h1 { margin: 0 auto 1.6rem; font-size: clamp(2rem, 3.15vw, 2.75rem); font-weight: 500; line-height: 1.2; letter-spacing: -0.03em; }
.gate-main h1 strong { font-weight: 750; }
.gate-main > p:not(.gate-effort):not(.gate-assurance) { max-width: 740px; margin: 0 auto 1.4rem; font-size: 1.25rem; line-height: 1.65; }
.gate-main p strong { font-weight: 700; }
.gate-continue { gap: 1.35rem; min-width: 170px; min-height: 56px; margin-top: 0.45rem; padding: 0.9rem 1.6rem; border-radius: 8px; font-size: 1.125rem; color: var(--ink-950); }
.gate-effort { margin: 0.85rem 0 0; color: var(--text-on-light-muted); font-size: 0.8125rem; }
.gate-assurance { margin: 0.55rem auto 0; color: var(--text-on-light-muted); font-size: 0.75rem; line-height: 1.6; }
.gate-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.5rem; margin-top: auto; padding-top: 2.5rem; }
.gate-footer a { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.75rem; color: var(--text-on-light-muted); text-decoration: underline; text-underline-offset: 3px; }
.consultation-gate a:focus-visible { outline: 2px solid var(--accent-deep); outline-offset: 5px; }

@media (prefers-reduced-motion: no-preference) {
  .gate-main { animation: gate-arrive 650ms var(--ease-out-expo); }
  @keyframes gate-arrive { from { transform: translateY(6px); } to { transform: none; } }
}
@media (max-width: 640px) {
  .consultation-gate { padding: 2.5rem 1.4rem 1rem; }
  .gate-brand img { width: 122px; }
  .gate-media { margin-top: 1.25rem; }
  .gate-media-link { gap: 1rem; }
  .gate-media-link img { width: 114px; }
  .gate-main { margin-top: 2.5rem; }
  .gate-main h1 { font-size: clamp(1.875rem, 7vw, 2.5rem); line-height: 1.24; }
  .gate-desktop-break { display: none; }
  .gate-main > p:not(.gate-effort):not(.gate-assurance) { font-size: 1.125rem; line-height: 1.65; margin-bottom: 1.5rem; }
  .gate-continue { min-width: 165px; }
  .gate-assurance { max-width: 310px; }
  .gate-footer { padding-top: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .consultation-gate *, .consultation-gate *::before, .consultation-gate *::after { animation: none !important; transition: none !important; }
}
