/* ===================== Contact / Legal ===================== */
.contact-hero,.legal-hero{padding:78px 0 64px;background:linear-gradient(180deg,#f8f9ff,#fff);border-bottom:1px solid var(--border-color)}
.contact-hero h1,.legal-hero h1{margin:0;color:#171a27;font-size:clamp(38px,5vw,62px);line-height:1.15;letter-spacing:-.045em}
.contact-hero p,.legal-hero p{max-width:760px;margin:18px 0 0;color:var(--muted-color);font-size:16px}
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:58px;align-items:start}.contact-side{position:sticky;top:108px}.contact-side h2{margin:0 0 16px;color:#202433;font-size:30px;letter-spacing:-.035em}.contact-side p{color:var(--muted-color);font-size:14px}.contact-points{display:grid;gap:9px;margin:24px 0 0;padding:0;list-style:none}.contact-points a{color:var(--main-color);font-size:13px;font-weight:800}.contact-note{margin-top:30px;padding:22px;border:1px solid #dfe2ff;border-radius:18px;background:#f6f7ff}.contact-note strong{color:#252a3b}.contact-note p{margin:7px 0 10px}.contact-note a{color:var(--main-color);font-size:13px;font-weight:900}
.form-shell{max-width:820px;padding:34px;border:1px solid var(--border-color);border-radius:var(--radius);background:#fff;box-shadow:0 22px 60px rgba(38,43,75,.08)}.contact-layout .form-shell{max-width:none}.contact-form{display:grid;gap:25px}.form-field{display:grid;gap:9px}.form-field label{color:#292d3d;font-size:14px;font-weight:800}.form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 15px;border:1px solid #dce0ea;border-radius:12px;background:#fff;color:var(--text-color);font:inherit;line-height:1.5;outline:none;transition:border-color .2s,box-shadow .2s}.form-field textarea{resize:vertical;min-height:190px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--main-color);box-shadow:0 0 0 4px rgba(91,108,255,.10)}.form-field small{color:#8a90a0;font-size:11px}.required,.optional{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:900}.required{color:#fff;background:#ef6074}.optional{color:#73798b;background:#eef0f5}.privacy-check{display:flex;gap:10px;align-items:flex-start;padding:16px;border-radius:12px;background:var(--soft-bg);font-size:13px}.privacy-check input{margin-top:5px}.privacy-check a{color:var(--main-color);text-decoration:underline}.form-submit{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.form-submit p{margin:0;color:#8a90a0;font-size:11px}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.confirm-table{margin:0;display:grid}.confirm-table>div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--border-color)}.confirm-table>div:first-child{border-top:1px solid var(--border-color)}.confirm-table dt,.confirm-table dd{margin:0;padding:18px}.confirm-table dt{background:#f8f9fc;font-size:13px;font-weight:800}.confirm-table dd{font-size:14px;overflow-wrap:anywhere}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.form-errors{padding:22px;border:1px solid #f1b9c0;border-radius:14px;background:#fff5f6;color:#7f303b}.form-errors strong{color:#a63d4b}.form-errors ul{margin:10px 0 0;padding-left:20px}.thanks-box{margin-inline:auto}.thanks-box h2{margin-top:0;font-size:30px}.legal-body{max-width:860px}.legal-body h2{margin:46px 0 12px;color:#202433;font-size:24px}.legal-body h2:first-child{margin-top:0}.legal-body p,.legal-body li{color:#5e6576;font-size:14px}.legal-body a{color:var(--main-color);text-decoration:underline}.legal-date{margin-top:48px!important;padding-top:22px;border-top:1px solid var(--border-color)}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-side{position:static}.confirm-table>div{grid-template-columns:1fr}.confirm-table dt{padding-bottom:8px}.confirm-table dd{padding-top:8px}}
@media(max-width:680px){.contact-hero,.legal-hero{padding:54px 0 46px}.form-shell{padding:22px}.form-actions .button,.form-submit .button{width:100%}}
