/* 本番機能の追加。既存ページの見た目は各ページのCSSに保持します。 */
.gtm-fallback { display: none; visibility: hidden; }
.status-page { min-height: 60vh; max-width: 1000px; margin: auto; padding: 180px 24px 100px; }
.status-page h1 { font-size: clamp(28px, 4vw, 48px); margin: 20px 0; }
.status-page p { font-size: 16px; line-height: 1.9; margin-bottom: 28px; }
.contact-feedback { font-size: 16px; line-height: 1.8; margin: 24px 0; }
.contact-feedback[role=alert] { border-left: 3px solid #a93226; padding-left: 16px; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#contact-send[disabled] { opacity: .55; cursor: wait; }
.turnstile-container { margin: 24px 0; }

.contact-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 400px) { .contact-steps span { margin-right: 4px; } .contact-steps li { padding-inline: 3px; } }

.training-survey-bar--pace::before, .training-survey-bar--balance::before { width: var(--survey-value); }
