.page-head{padding-top:88px;padding-bottom:20px;text-align:center}
.page-head h1{font-family:inherit;font-size:13px;font-weight:400;letter-spacing:.14em;line-height:1.4;margin:0 0 20px}
.page-head .lead{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:.05em;line-height:1.6;margin:0}
.contact-form{padding-top:40px;padding-bottom:104px}
.contact-form form{max-width:800px;margin:0 auto;display:grid;gap:22px}
.f-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
.f-row label{font-size:14px;font-weight:700;padding-top:13px;display:flex;gap:8px;align-items:center}
.req{font-size:11px;font-weight:700;color:#fff;background:var(--ink);border-radius:4px;padding:1px 6px;letter-spacing:.04em}
.opt{font-size:11px;font-weight:700;color:var(--muted);border:1px solid var(--line-2);border-radius:4px;padding:0 6px;letter-spacing:.04em}
.f-row input,.f-row textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:#F4F6F9;border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;outline:none}
.f-row input:focus,.f-row textarea:focus{border-color:var(--accent-2);background:#fff}
.f-row textarea{min-height:220px;resize:vertical;line-height:1.7}
.f-foot{display:grid;justify-items:center;gap:20px;margin-top:20px}
.f-foot p{margin:0;font-size:13px;color:var(--ink-3)}
.f-foot p a{text-decoration:underline;text-underline-offset:3px}
.submit{font:inherit;font-size:15px;font-weight:700;color:#fff;background:var(--ink);border:0;border-radius:999px;padding:16px 56px;cursor:pointer}
.submit:hover{background:#2A3E66}
@media (min-width:981px){.page-head,.contact-form{padding-left:82px;padding-right:82px}}
@media (max-width:600px){
  .page-head{padding-top:56px}
  .page-head .lead{font-size:min(4.1vw,17px);letter-spacing:0}
  .contact-form{padding-top:28px;padding-bottom:56px}
  .f-row{grid-template-columns:1fr;gap:8px}
  .f-row label{padding-top:0}
  .submit{width:100%}
}
.f-notice{max-width:800px;margin:0 auto 8px;padding:14px 18px;border-radius:8px;background:#E2EEF8;color:var(--ink);font-size:14px;line-height:1.7}
.f-notice--error{background:#FBEAEA;color:#8A1F1F}
.f-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
