:root { --canvas: #f1eee7; --paper: #fbfaf6; --ink: #18221c; --muted: #69736b; --green: #263d30; --gold: #aa8b58; --line: #d9ded6; --serif: "Noto Serif SC", serif; --serif-en: "Cormorant Garamond", "Times New Roman", serif; --sans: "Noto Sans SC", system-ui, sans-serif; --mono: "SFMono-Regular", Menlo, Consolas, monospace; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: var(--sans); }
button, input, select, textarea { color: inherit; font: inherit; }
a { color: inherit; text-decoration: none; }
.language-switch { display: inline-flex; align-items: center; gap: 0; margin-left: 14px; padding: 3px; color: var(--muted); font: 500 10px/1 var(--mono, monospace); letter-spacing: .08em; white-space: nowrap; border: 1px solid rgba(38,61,48,.22); border-radius: 3px; background: rgba(251,250,246,.72); }
.language-switch span { width: 1px; height: 13px; margin: 0 2px; overflow: hidden; font-size: 0; background: rgba(38,61,48,.2); }
.language-switch button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 30px; padding: 5px 8px; border: 0; border-radius: 2px; outline: none; background: transparent !important; color: inherit; font: inherit; font-synthesis: none; letter-spacing: .08em; cursor: pointer; transition: color .2s, background-color .2s, box-shadow .2s; }
.language-switch button:hover { color: var(--green); background: rgba(38,61,48,.06) !important; }
.language-switch button.is-active { color: var(--green); background: rgba(170,139,88,.1) !important; box-shadow: inset 0 -1px var(--gold); }
.cooperate-page { min-height: 100svh; padding: 28px clamp(20px, 6vw, 96px) 80px; }
.cooperate-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.cooperate-brand { display: inline-flex; align-items: center; gap: 12px; }
.cooperate-brand img { width: 34px; height: 37px; object-fit: contain; filter: sepia(.25) saturate(.7) hue-rotate(70deg) brightness(.7); }
.cooperate-brand span { display: grid; gap: 3px; line-height: 1; }
.cooperate-brand strong { font: 600 1.1rem "Cormorant Garamond", serif; letter-spacing: .12em; }
.cooperate-brand em { color: var(--muted); font: 500 .7rem var(--serif); font-style: normal; letter-spacing: .16em; }
.back-link { color: var(--muted); font-size: .72rem; border-bottom: 1px solid #aeb8af; padding-bottom: 4px; }
.cooperate-intro { max-width: 780px; padding: clamp(62px, 9vw, 120px) 0 48px; }
.eyebrow { margin: 0 0 12px; color: var(--gold); font-size: .66rem; letter-spacing: .17em; }
.cooperate-intro h1 { max-width: 680px; margin: 0; font: 400 clamp(2.2rem, 5vw, 4.6rem)/1.22 var(--serif); }
.cooperate-intro > p:last-child { max-width: 650px; margin: 24px 0 0; color: var(--muted); line-height: 1.95; }
.cooperate-form { max-width: 1060px; padding: 32px; background: var(--paper); border: 1px solid var(--line); }
.form-section { padding: 28px 0; border-bottom: 1px solid var(--line); }
.section-title { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 26px; }
.section-title > span { color: var(--gold); font: 600 1.2rem "Cormorant Garamond", serif; }
.section-title h2 { margin: 0; font: 500 1.45rem var(--serif); }
.section-title .eyebrow { margin-bottom: 6px; }
.identity-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.identity-option { display: flex; gap: 14px; min-height: 218px; padding: 24px; border: 1px solid var(--line); background: #f7f6f1; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; }
.identity-option.is-selected { border-color: var(--green); box-shadow: inset 3px 0 var(--gold); background: #eef2ec; }
.identity-option:hover { border-color: #8da092; }
.identity-option input { flex: 0 0 16px; align-self: flex-start; width: 16px; height: 16px; margin: 4px 0 0; accent-color: var(--green); }
.identity-copy { min-width: 0; display: grid; grid-template-rows: auto auto 1fr auto; gap: 10px; }
.identity-copy b { font: 500 1.05rem var(--serif); }
.identity-copy em { color: var(--gold); font-size: .69rem; font-style: normal; line-height: 1.7; }
.identity-copy small { color: var(--muted); line-height: 1.75; font-size: .72rem; }
.identity-copy strong { padding-top: 11px; border-top: 1px solid var(--line); color: var(--green); font-size: .7rem; font-weight: 500; line-height: 1.65; }
.identity-option.is-selected .identity-copy strong { border-color: #cbd4ca; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.form-grid label { display: grid; gap: 8px; }
.form-grid label > span, .upload-field b { font-size: .72rem; font-weight: 500; }
.form-grid .full { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-height: 44px; padding: 10px 12px; background: white; border: 1px solid var(--line); outline: none; }
.form-grid textarea { min-height: 112px; resize: vertical; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: #7c927f; box-shadow: inset 3px 0 var(--green); }
.upload-field { min-height: 92px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 18px; background: #f6f7f3; border: 1px dashed #abb8ad; cursor: pointer; }
.upload-field input { position: absolute; opacity: 0; pointer-events: none; }
.upload-field span { display: grid; gap: 6px; }
.upload-field small { color: var(--muted); line-height: 1.65; font-size: .67rem; }
.upload-field > strong { color: var(--green); font-size: .72rem; font-weight: 500; }
.consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 20px; color: var(--muted); font-size: .7rem; line-height: 1.6; }
.consent input { margin-top: 3px; accent-color: var(--green); }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 28px; }
.form-actions > a { color: var(--muted); font-size: .72rem; }
.primary-button { min-height: 46px; padding: 0 20px; color: white; background: var(--green); border: 1px solid var(--green); }
.primary-button span { margin-left: 24px; }
.form-status { display: grid; gap: 8px; margin: 22px 0 0; padding: 16px 18px; color: #3d5944; background: #e9f0e9; border-left: 3px solid #6c8a71; font-size: .75rem; line-height: 1.7; }
.form-status b { font-weight: 500; }
.form-status[hidden] { display: none; }
html[lang="en"] .cooperate-intro h1,
html[lang="en"] .section-title h2,
html[lang="en"] .identity-copy b {
  font-family: var(--serif-en);
  letter-spacing: .02em;
}
html[lang="en"] .cooperate-intro h1 { line-height: 1.08; }
html[lang="en"] .cooperate-intro > p:last-child,
html[lang="en"] .identity-copy small,
html[lang="en"] .identity-copy strong,
html[lang="en"] .form-grid label > span,
html[lang="en"] .upload-field small,
html[lang="en"] .consent { line-height: 1.7; }
html[lang="en"] .cooperate-brand em,
html[lang="en"] .back-link,
html[lang="en"] .eyebrow,
html[lang="en"] .section-title h2 { letter-spacing: .02em; }
@media (max-width: 680px) { .cooperate-page { padding-inline: 16px; } .cooperate-header { align-items: flex-start; flex-direction: column; } .cooperate-form { padding: 18px; } .identity-options, .form-grid { grid-template-columns: 1fr; } .form-grid .full { grid-column: auto; } .upload-field { grid-template-columns: 1fr; } .form-actions { align-items: stretch; flex-direction: column-reverse; } .form-actions .primary-button { width: 100%; } .cooperate-header .language-switch { align-self: flex-end; margin-top: -8px; } .cooperate-header .language-switch button { min-width: 42px; min-height: 40px; } }
