.contact-section{padding:70px 0 85px;background:#f4f8fc}
.contact-section .contact-grid{grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.contact-section .contact-panel{padding:32px;border:1px solid #cbdde9;background:#fff;color:var(--navy);border-radius:16px;box-shadow:0 18px 45px #061c380a}
.contact-section .panel-kicker{color:#076281;font-size:14px;font-weight:800;letter-spacing:.1em}
.contact-section .contact-panel h2{font-size:30px;margin:12px 0}
.contact-section .contact-panel p{color:#4c6174}
.contact-form{margin-top:26px}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:7px}
.form-field-wide{grid-column:1/-1}
.form-field label{font-size:16px;font-weight:750;color:#173550}
.form-field label span{font-weight:400;color:#607589}
.form-field input,.form-field textarea{width:100%;font:inherit;font-size:17px;color:#102e48;padding:12px 14px;border:1px solid #afc7d9;border-radius:7px;background:#fbfdff;line-height:1.5}
.form-field textarea{resize:vertical;min-height:165px}
.form-field input:focus,.form-field textarea:focus{outline:2px solid #0797c5;outline-offset:2px;background:#fff}
.form-field [aria-invalid=true]{border-color:#a51c34}
.form-help{font-size:15px;line-height:1.55;margin:0;color:#5b7083}
.form-privacy{display:flex;gap:12px;align-items:flex-start;margin:23px 0 12px;line-height:1.6;font-size:16px;color:#314d66}
.form-privacy input{width:21px;height:21px;flex:none;margin:3px 0 0;accent-color:#0754c8}
.form-privacy a,.form-help a,.contact-direct a{color:#0754c8;text-decoration:underline;text-underline-offset:3px}
.contact-form .form-submit{margin-top:22px;gap:16px}
.contact-form .form-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.form-status{border:1px solid #aac6dc;border-radius:8px;padding:14px 16px;margin:22px 0 0;color:#173e5b;background:#edf7ff;font-size:16px;line-height:1.6}
.form-status[data-state=error]{border-color:#d6a2aa;background:#fff3f4;color:#842235}
.form-status[data-state=success]{border-color:#8bbeb0;background:#effbf6;color:#145844}
.contact-honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;pointer-events:none}
.contact-direct{margin-top:25px;font-size:17px;line-height:1.7}
.contact-direct a{overflow-wrap:anywhere}
.legal-hero{padding:65px 0 55px}
.legal-hero h1{font-size:clamp(38px,5vw,64px)}
.legal-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.legal-nav a{border:1px solid #bdcedf;border-radius:30px;padding:7px 16px;font-size:16px;color:#0c4b82;background:#fff}
.legal-nav a[aria-current=page]{background:#062a4c;color:#fff;border-color:#062a4c}
.legal-content{max-width:900px;padding-top:55px;padding-bottom:75px}
.legal-content section{margin:0 0 35px}
.legal-content h2{font-size:28px;margin:0 0 15px;letter-spacing:-.035em}
.legal-content p,.legal-content li{font-size:18px;line-height:1.75;color:#3d546a}
.legal-content a{color:#0754c8;text-decoration:underline;text-underline-offset:3px}
.legal-content ul{padding-left:23px}
.legal-box{padding:24px 28px;border:1px solid #c7dce6;border-left:4px solid #05a8cf;border-radius:6px;background:#f2f9fc}
.legal-box p:last-child{margin-bottom:0}
.legal-table-wrapper{overflow-x:auto}
.legal-table{border-collapse:collapse;width:100%;min-width:550px;font-size:16px;color:#314e65}
.legal-table th,.legal-table td{padding:14px;text-align:left;border:1px solid #cbdae5;vertical-align:top}
.legal-table th{background:#edf5fa;color:#153551}
.editorial-notice{padding:14px 0;border-bottom:1px solid #dce5ee;background:#eef6fb;color:#41607a;font-size:15px;line-height:1.6}
.editorial-notice a{text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-identity{font-size:16px;color:#abc0d4}
@media(max-width:850px){.contact-section .contact-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:580px){.contact-section{padding:45px 0 60px}.contact-section .contact-panel{padding:25px 20px}.form-fields{grid-template-columns:1fr;gap:18px}.form-field-wide{grid-column:auto}.contact-section .contact-panel h2{font-size:28px}.legal-hero{padding:48px 0 40px}.legal-content h2{font-size:25px}.legal-content p,.legal-content li{font-size:17px}.legal-box{padding:20px}.legal-nav{gap:9px}.legal-nav a{font-size:15px}.contact-form .form-submit{width:100%}}
