.contact-section{background:#fff}
.contact-wrap{max-width:820px}
.form-heading{margin-bottom:36px}
.required-note{margin-left:8px;font-size:13px;color:var(--muted)}
.required-note span,.required{display:inline-block;padding:1px 8px;background:var(--gold);color:var(--deep);font-size:11px;font-weight:700;letter-spacing:.05em}
.contact-form{display:flex;flex-direction:column;gap:24px}
.form-row{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start;padding:20px 0;border-top:1px solid var(--line)}
.form-row label,.form-row legend{font-weight:700;padding-top:10px}
.form-row--choice{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:200px 1fr;gap:16px}
.form-row--choice legend{padding:0;grid-column:1}
.choice-grid{grid-column:2;display:flex;flex-wrap:wrap;gap:10px 20px}
.choice-grid label{display:flex;align-items:center;gap:8px;font-weight:400;padding:0}
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:0;font-family:var(--sans);font-size:15px;background:var(--paper)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.contact-form textarea{resize:vertical;min-height:160px}
.error{margin:6px 0 0;color:#b3261e;font-size:13px;min-height:0}
.error:empty{display:none}
.privacy-box{padding:24px;background:var(--mist);border-left:4px solid var(--gold)}
.privacy-box p{margin:0 0 14px;color:var(--muted);font-size:14px}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.privacy-box p a{color:var(--green);text-decoration:underline}
.privacy-check{display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer}
.form-actions{display:flex;align-items:center;gap:20px;margin-top:8px}
.submit-button,.back-button{display:inline-flex;align-items:center;gap:12px;padding:14px 28px;font-weight:700;font-size:15px;border:none;cursor:pointer;font-family:var(--sans)}
.submit-button{background:var(--gold);color:var(--deep)}
.submit-button:disabled{opacity:.6;cursor:not-allowed}
.back-button{background:#fff;color:var(--ink);border:1px solid var(--line)}
.form-status{margin:0;font-size:14px;color:var(--muted)}
.form-status.is-error{color:#b3261e}
.confirm-view,.complete-view{padding-top:12px}
.confirm-view h2,.complete-view h2{font-family:var(--serif);font-size:26px;font-weight:500;margin:0 0 12px}
.confirm-note{color:var(--muted);margin-bottom:24px}
.confirm-list div{display:grid;grid-template-columns:200px 1fr;padding:16px 0;border-top:1px solid var(--line);gap:16px}
.confirm-list div:last-child{border-bottom:1px solid var(--line)}
.confirm-list dt{font-weight:700;margin:0}
.confirm-list dd{margin:0;color:var(--ink);white-space:pre-wrap}
.confirm-actions{margin-top:28px}
.complete-view p{color:var(--muted);font-size:16px}
@media(max-width:820px){
  .form-row,.form-row--choice{grid-template-columns:1fr;gap:8px}
  .choice-grid{grid-column:1}
  .form-row label,.form-row legend{padding-top:0}
  .confirm-list div{grid-template-columns:1fr;gap:4px}
}
