.partnership-intro { max-width: 850px; margin-bottom: 40px; }
.partnership-intro > p:not(.section-label) { max-width: 670px; color: #625b4d; line-height: 1.8; }
.partnership-records { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.partnership-record { overflow: hidden; border: 1px solid #ded6c7; border-radius: 16px; background: #fff; }
.partnership-record img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.partnership-record > div { padding: 24px; }
.partnership-record span { color: #785816; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.partnership-record h3 { font-size: 21px; line-height: 1.5; margin: 12px 0; }
.partnership-record p { font-size: 14px; line-height: 1.8; color: #625b4d; }
.partnership-record strong { display: inline-block; margin-top: 14px; font-size: 13px; }
.partnership-record:focus-visible { outline: 3px solid #785816; outline-offset: 4px; }
.partnership-note { margin-top: 24px; font-size: 13px; color: #625b4d; line-height: 1.7; }
.consent-block { display: grid; gap: 10px; padding: 18px; border: 1px solid #d8d0c2; border-radius: 10px; background: #fff; }
.consent-block p { margin: 0; font-size: 12px; line-height: 1.8; color: #595347; }
.contact-form label.consent-check, .auth-form label.consent-check { display: flex; align-items: flex-start; gap: 10px; }
.consent-check input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 0; padding: 0; margin: 1px 0 0; accent-color: #735416; }
.consent-check span { font-size: 13px; line-height: 1.6; font-weight: 600; }
.consent-block a, .policy-links a { text-decoration: underline; text-underline-offset: 3px; color: #5a4212; font-size: 13px; line-height: 1.7; }
.policy-links { display: flex; gap: 20px; flex-wrap: wrap; }
.form-honeypot { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-submit { align-items: flex-start; flex-wrap: wrap; }
.form-submit #form-status { flex: 1 1 180px; overflow-wrap: anywhere; color: #594215; line-height: 1.7; }
.form-submit #form-status.error { color: #8b2d24; }
.form-submit #form-status.success { color: #235332; }
.form-submit button:disabled { opacity: .65; cursor: wait; }
.form-submit #form-status a { display: inline-block; margin-top: 8px; text-decoration: underline; color: #5a4212; }
.auth-help-actions a { font-size: 12px; text-decoration: underline; }
.migration-note { padding: 10px 14px; border-radius: 8px; background: #f6f1e7; color: #5b5140; font-size: 12px; line-height: 1.7; }
.legal-page { max-width: 900px; padding: 140px 24px 90px; margin: 0 auto; }
.legal-page h1 { font-size: clamp(30px,4vw,48px); margin-bottom: 16px; line-height: 1.4; }
.legal-page h2 { font-size: 22px; margin: 40px 0 16px; line-height: 1.5; }
.legal-page p, .legal-page li { font-size: 15px; line-height: 1.9; color: #514b40; }
.legal-page a { text-decoration: underline; text-underline-offset: 3px; }
.legal-page .legal-meta { font-size: 13px; color: #665d4c; }
.callback-card { max-width: 580px; margin: 120px auto 70px; padding: 36px; border: 1px solid #ded6c7; border-radius: 20px; background: #fff; }
.callback-card h1 { font-size: 30px; line-height: 1.5; }
.callback-card p { line-height: 1.8; font-size: 14px; }
.callback-card .button { margin-top: 20px; }
.callback-card input { width: 100%; }
.callback-card [hidden] { display: none !important; }
.auth-resend { background: transparent; border: 0; color: #594215; text-decoration: underline; font-size: 12px; padding: 8px; cursor: pointer; }
.nav-login:disabled, #auth-open-button:disabled { opacity: .75; cursor: default; }
.callback-card .auth-form { margin-top: 20px; }
.callback-card .policy-links { margin-top: 24px; }
.mypage-header .language-switcher { background: #f7f2e7; border-color: #d8d0c2; }
.mypage-header .language-option { color: #514b40; }
.profile-photo-actions label[hidden] { display: none !important; }
html:not([lang="ko"]) h1, html:not([lang="ko"]) h2 { overflow-wrap: anywhere; }
@media(max-width:767px) {
  .partnership-records { grid-template-columns: 1fr; gap: 20px; }
  .partnership-record h3 { font-size: 20px; }
  html:not([lang="ko"]) .hero h1 { font-size: clamp(32px,8.5vw,40px); line-height: 1.18; }
  body:not(.history-page) { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .contact-widget { top: auto; right: max(16px,env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); transform: none; display: block; }
  .contact-tab { width: auto; min-height: 48px; flex-direction: row; gap: 10px; padding: 12px 18px; border-radius: 999px; background: #211c13; color: #fff; border: 1px solid #d9bc7e; box-shadow: 0 4px 20px rgba(0,0,0,.2); }
  .contact-tab:hover, .contact-tab[aria-expanded="true"] { background: #49391d; }
  .contact-tab-label, html:not([lang="ko"]) .contact-tab-label { writing-mode: horizontal-tb; font-size: 14px; letter-spacing: 0; }
  .contact-tab-english, .contact-tab-hint { display: none; }
  .contact-panel { position: absolute; right: 0; bottom: 62px; width: min(360px,calc(100vw - 32px)); max-height: calc(100dvh - 160px); overflow-y: auto; }
  .menu-open .contact-widget, .modal-open .contact-widget { display: none; }
  .legal-page { padding: 110px 20px 60px; }
  .callback-card { margin: 95px 16px 40px; padding: 24px; }
  .mypage-header-inner { flex-wrap: wrap; gap: 12px; }
  .mypage-header .language-switcher { margin-left: auto; margin-right: 0; }
  .mypage-header-actions { width: 100%; justify-content: flex-end; }
}
