#stage > .contact-frame { overflow: auto; background: #FAFAF8; color: #181A18; }
.contact-page { width: 100%; min-height: 100%; box-sizing: border-box; display: grid; grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(24px,5vw,80px); padding: clamp(24px,4vw,64px); font: 18px/1.45 var(--sans); }
#stage .contact-intro .brand-lockup { width: 210px !important; height: 64px !important; object-fit: contain; object-position: left; margin-bottom: 24px; }
.contact-rule { width: 48px; height: 3px; background: #E66A2C; margin-bottom: 24px; }
.contact-intro h2 { letter-spacing: 0; font: 400 clamp(32px,4vw,56px)/1.08 var(--serif); margin: 0 0 24px; }
.contact-intro p { font-size: 18px; line-height: 1.45; letter-spacing: 0; margin: 0 0 24px; max-width: 36ch; }
.contact-intro .contact-note { font-size: 15px; color: #626660; }
.contact-form { min-width: 0; display: grid; gap: 16px; }
.contact-form label { display: block; font: 600 16px/1.3 var(--sans); }
.contact-form label span { display: inline; font-weight: 400; }
.contact-field-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.contact-form input, .contact-form textarea { display: block; margin-top: 6px; box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; border: 1px solid #626660; border-radius: 3px; background: white; color: #181A18; font: 16px/1.4 var(--sans); padding: 10px 12px; }
.contact-form textarea { resize: vertical; min-height: 116px; max-height: 260px; }
.contact-form input:focus-visible, .contact-form textarea:focus-visible, .contact-form button:focus-visible { outline: 2px solid #A13F16; outline-offset: 3px; }
.contact-form .contact-privacy { margin: 0; font-size: 13px; color: #626660; }
.contact-send-row { display: flex; align-items: center; gap: 20px; }
.contact-form button { min-height: 48px; flex: none; padding: 12px 20px; border: 0; border-radius: 3px; background: #181A18; color: #FAFAF8; font: 600 16px/1.3 var(--sans); cursor: pointer; }
.contact-form button:disabled { opacity: .65; cursor: wait; }
#contact-status { margin: 0; font: 15px/1.4 var(--sans); }
#contact-status[data-error="true"] { color: #9F303B; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media screen and (max-width: 900px) and (orientation: portrait) {
 .contact-page { display: flex; flex-direction: column; align-items: stretch; gap: 24px; padding: 32px 24px 48px; }
 .contact-intro p { max-width: none; margin-bottom: 16px; font-size: 16px; }
 .contact-intro .brand-lockup { margin-bottom: 20px; }
 .contact-intro h2 { font-size: 36px; margin-bottom: 16px; }
 .contact-intro .contact-note { margin-bottom: 0; font-size: 14px; }
 .contact-field-pair { grid-template-columns: 1fr; }
 .contact-send-row { align-items: stretch; flex-direction: column; gap: 12px; }
}
@media screen and (orientation: landscape) and (max-height: 600px) {
 .contact-page { padding: 24px; gap: 24px; align-items: start; font-size: 16px; }
 .contact-intro h2 { font-size: 32px; }
 #stage .contact-intro .brand-lockup { width: 160px !important; height: 48px !important; margin-bottom: 16px; }
 .contact-rule { margin-bottom: 16px; }
 .contact-field-pair { grid-template-columns: 1fr; }
 .contact-send-row { flex-direction: column; align-items: stretch; gap: 12px; }
}

.contact-more { margin-top: 28px; }
.contact-more p { font-size: 15px; line-height: 1.4; margin-bottom: 12px; }
.learn-more-button { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; max-width: 360px; min-height: 58px; padding: 16px 24px; border: 1px solid #181A18; border-radius: 3px; background: #181A18; color: #FAFAF8; font: 600 19px/1.3 var(--sans); text-decoration: none; }
.learn-more-button:hover { background: #30332F; }
.learn-more-button:focus-visible { outline: 2px solid #A13F16; outline-offset: 4px; }
@media screen and (max-width: 900px) and (orientation: portrait) { .learn-more-button { max-width: none; } }
