.contact-page{padding-top:52px;background:
linear-gradient(180deg,#fff 0%,#f7fbff 42%,#f3f8ff 100%)}
.contact-shell{padding:0 20px}
.contact-container{width:min(100%,1160px);margin:0 auto}
.contact-hero{padding:54px 0 22px}
.contact-hero-inner{max-width:860px}
.contact-hero h1{margin:10px 0 14px;font-size:clamp(2rem,4vw,3.1rem);line-height:1.12;color:var(--text);letter-spacing:-.02em}
.contact-hero p{margin:0;max-width:760px;color:var(--text-soft);font-size:1rem;line-height:1.9}
.contact-section{padding:18px 0 72px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:26px;align-items:start}
.contact-form-card,.contact-info-card{position:relative;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid rgba(226,232,240,.95);border-radius:26px;box-shadow:0 18px 50px rgba(15,23,42,.06),0 3px 12px rgba(15,23,42,.03);padding:28px}
.contact-form-card{overflow:hidden}
.contact-form-card:before,.contact-info-card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,rgba(90,147,233,0),rgba(90,147,233,.45),rgba(0,112,60,.28),rgba(90,147,233,0))}
.contact-form-head{margin-bottom:18px}
.contact-form-head h2,.contact-info-card h2{margin:0 0 10px;font-size:1.26rem;line-height:1.35;color:var(--text)}
.contact-form-head p,.contact-info-lead{margin:0;color:var(--text-soft);line-height:1.75}
.contact-info-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#eef6f1;color:var(--green-dark);font-size:.84rem;font-weight:700;margin-bottom:12px;box-shadow:inset 0 0 0 1px rgba(0,112,60,.06)}
.contact-info-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.contact-info-list li{position:relative;padding:14px 14px 14px 44px;background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);border:1px solid #ecf1f6;border-radius:16px;line-height:1.68;color:var(--text);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.contact-info-list li:hover{transform:translateY(-1px);border-color:#d9e5f1;box-shadow:0 10px 22px rgba(15,23,42,.05)}
.contact-info-list li:before{content:"✓";position:absolute;left:15px;top:13px;width:18px;height:18px;border-radius:999px;background:#eef6f1;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}
.contact-mini-note{margin-top:16px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#f7fbf8 0%,#eef6f1 100%);border:1px solid #dcebe1}
.contact-mini-note strong{display:block;margin-bottom:6px;color:var(--green-dark);font-size:.95rem}
.contact-mini-note p{margin:0;color:var(--text-soft);line-height:1.7}
.form-alert{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px 15px;border-radius:16px;font-size:.95rem;line-height:1.65;animation:alertIn .32s ease both}
.form-alert:before{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-size:.82rem;font-weight:800}
.form-alert-success{background:linear-gradient(180deg,#eef8f1 0%,#e8f6ed 100%);border:1px solid #cfe8d7;color:#166534}
.form-alert-success:before{content:"✓";background:#d9efe1;color:#166534}
.form-alert-error{background:linear-gradient(180deg,#fff3f2 0%,#fff0ef 100%);border:1px solid #ffd6d2;color:#b42318}
.form-alert-error:before{content:"!";background:#ffe0dc;color:#b42318}
@keyframes alertIn{0%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}
.contact-form{display:block}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-field{display:flex;flex-direction:column;min-width:0}
.form-field-full{grid-column:1/-1}
.form-field label{margin:0 0 8px;font-size:.95rem;font-weight:700;line-height:1.4;color:var(--text)}
.form-field label span{color:#d92d20}
.form-field input,.form-field textarea{width:100%;border:1px solid #d7e0ea;border-radius:16px;background:#fff;padding:14px 15px;font:inherit;color:var(--text);outline:none;appearance:none;-webkit-appearance:none;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}
.form-field input:hover,.form-field textarea:hover{border-color:#c7d5e2}
.form-field input:focus,.form-field textarea:focus{border-color:rgba(0,112,60,.42);box-shadow:0 0 0 4px rgba(0,112,60,.10);background:#fff}
.form-field textarea{resize:vertical;min-height:200px}
.field-hint{margin:8px 0 0;color:var(--text-soft);font-size:.84rem;line-height:1.6}
.field-error{margin:8px 0 0;color:#b42318;font-size:.84rem;line-height:1.55;animation:fieldErrorIn .24s ease both}
@keyframes fieldErrorIn{0%{opacity:0;transform:translateY(-3px)}100%{opacity:1;transform:translateY(0)}}
.human-check-box{padding:15px;border-radius:18px;background:linear-gradient(180deg,#fbfcfe 0%,#f6f9fc 100%);border:1px solid #e4ebf3}
.human-check-question{margin:0 0 10px;font-weight:800;color:var(--text);line-height:1.6;font-size:.98rem}
.custom-checkbox{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:flex-start;cursor:pointer;padding:15px;border:1px solid #e2e8f0;border-radius:18px;background:#fbfcfd;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.custom-checkbox:hover{border-color:#cad6e3;background:#fff;transform:translateY(-1px)}
.custom-checkbox input{position:absolute;opacity:0;pointer-events:none}
.custom-checkbox-box{position:relative;width:24px;height:24px;border-radius:8px;border:2px solid #c7d2de;background:#fff;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.custom-checkbox-text{display:block;font-size:.93rem;font-weight:500;line-height:1.7;color:var(--text)}
.required-mark{color:#d92d20}
.custom-checkbox input:checked+.custom-checkbox-box{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px rgba(0,112,60,.10)}
.custom-checkbox input:checked+.custom-checkbox-box:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}
.custom-checkbox input:focus+.custom-checkbox-box{box-shadow:0 0 0 4px rgba(0,112,60,.12)}
.form-actions{display:flex;justify-content:flex-start;margin-top:20px}
.contact-submit-btn{min-width:210px;min-height:52px;border-radius:999px;font-weight:700;box-shadow:0 12px 24px rgba(0,112,60,.14)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (max-width:1120px){
.contact-shell{padding:0 16px}
.contact-container{width:min(100%,1060px)}
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:22px}
.contact-form-card,.contact-info-card{padding:24px}
}
@media (max-width:980px){
.contact-layout{grid-template-columns:1fr;gap:18px}
.contact-form-card{order:1}
.contact-info-card{order:2}
.contact-form-card,.contact-info-card{padding:22px}
}
@media (max-width:760px){
.contact-page{padding-top:48px}
.contact-shell{padding:0 12px}
.contact-hero{padding:34px 0 14px}
.contact-hero h1{font-size:clamp(1.76rem,7vw,2.2rem);line-height:1.16}
.contact-hero p{font-size:.96rem;line-height:1.8}
.contact-section{padding:12px 0 44px}
.form-grid{grid-template-columns:1fr;gap:14px}
.contact-form-card,.contact-info-card{padding:18px;border-radius:20px}
.contact-submit-btn{width:100%;min-width:0}
}
@media (max-width:520px){
.contact-page{padding-top:46px}
.contact-shell{padding:0 10px}
.contact-hero{padding:30px 0 12px}
.contact-hero h1{font-size:1.62rem}
.contact-hero p{font-size:.94rem}
.contact-form-card,.contact-info-card{padding:16px;border-radius:18px}
.form-field input,.form-field textarea{padding:12px 13px;border-radius:14px}
.form-field textarea{min-height:170px}
.human-check-box{padding:13px;border-radius:16px}
.custom-checkbox{grid-template-columns:22px 1fr;padding:13px;border-radius:16px}
.custom-checkbox-box{width:22px;height:22px}
.contact-submit-btn{min-height:46px}
.form-alert{padding:12px 13px;border-radius:14px;font-size:.9rem}
.contact-info-list li{padding:13px 13px 13px 40px}
}
@media (max-width:380px){
.contact-shell{padding:0 8px}
.contact-form-card,.contact-info-card{padding:14px}
.contact-hero h1{font-size:1.5rem}
.contact-form-head h2,.contact-info-card h2{font-size:1.12rem}
.custom-checkbox-text{font-size:.89rem}
}

.subject-select-wrap{position:relative;margin-bottom:10px}.subject-select{width:100%;min-height:54px;padding:0 50px 0 58px;border:1px solid rgba(0,112,60,.16);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fffb);color:var(--text,#222831);font-size:15px;font-weight:700;line-height:1.4;box-shadow:0 10px 30px rgba(0,112,60,.08);outline:0;appearance:none;-webkit-appearance:none;cursor:pointer;transition:.22s ease;background-image:linear-gradient(45deg,transparent 50%,var(--green,#00703c) 50%),linear-gradient(135deg,var(--green,#00703c) 50%,transparent 50%);background-position:right 20px center,right 14px center;background-size:7px 7px;background-repeat:no-repeat}.subject-select:hover{border-color:rgba(0,112,60,.34);box-shadow:0 14px 34px rgba(0,112,60,.12);transform:translateY(-1px)}.subject-select:focus{border-color:var(--green,#00703c);background:#fff;box-shadow:0 0 0 4px rgba(0,112,60,.12),0 16px 40px rgba(0,112,60,.14)}.subject-select-wrap:before{content:"✓";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:999px;background:linear-gradient(180deg,var(--green,#00703c),var(--green-dark,#005a30));display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900;box-shadow:0 8px 18px rgba(0,112,60,.28);pointer-events:none;z-index:2}.subject-select option{font-weight:600;color:var(--text,#222831)}@media(max-width:640px){.subject-select{min-height:50px;padding-left:54px;padding-right:44px;border-radius:16px;font-size:14px;background-position:right 18px center,right 12px center}.subject-select-wrap:before{left:15px;width:26px;height:26px;font-size:13px}}
.label-note{display:block;margin-top:4px;font-size:12px;font-weight:500;color:var(--text-soft,#667085)}


.human-check-hint{display:block;margin-top:6px;font-size:12px;font-weight:700;color:var(--green,#00703c)}