.contacts-page{background:#f8fafc}.contacts-breadcrumbs{padding:18px 0;background:#fff;border-bottom:1px solid #e5e7eb}.contacts-breadcrumbs a,.contacts-breadcrumbs span{color:#64748b;font-size:15px;text-decoration:none}.contacts-breadcrumbs a:hover{color:#ff6b00}.contacts-header{padding:54px 0 34px;text-align:center;background:#fff}.contacts-title{max-width:960px;margin:0 auto 14px;color:#0f2a4d;font-size:clamp(34px,4vw,56px);line-height:1.08;font-weight:700;letter-spacing:-.03em}.contacts-subtitle{max-width:840px;margin:0 auto;color:#64748b;font-size:20px;line-height:1.65}.contacts-info-section,.communication-section,.contact-form-section,.contacts-services-section,.service-areas-section,.contacts-faq-section{padding:56px 0}.contacts-info-section{padding-top:34px;background:#fff}.contacts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.contact-card{display:flex;flex-direction:column;min-height:100%;padding:28px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 12px 30px rgba(15,42,77,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.contact-card:hover{transform:translateY(-3px);border-color:rgba(255,107,0,.35);box-shadow:0 18px 38px rgba(15,42,77,.1)}.contact-card--primary{border-color:rgba(255,107,0,.35)}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:18px;border-radius:16px;background:rgba(255,107,0,.1);color:#ff6b00;font-size:27px}.contact-card h2,.contact-card h3{margin:0 0 12px;color:#0f2a4d;font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.015em}.contact-large{margin:0 0 10px;color:#0f2a4d;font-size:21px;line-height:1.35;font-weight:700}.contact-phone,.contact-email{color:#ff6b00;text-decoration:none}.contact-phone:hover,.contact-email:hover{color:#e55f00}.contact-note{margin:0 0 20px;color:#64748b;font-size:16px;line-height:1.6}.contact-card .btn{margin-top:auto}.contact-messenger-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.contact-mini-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid rgba(255,107,0,.35);border-radius:999px;color:#ff6b00;font-size:15px;font-weight:700;text-decoration:none;background:#fff7ed}.contact-mini-link:hover,.contact-mini-link:focus{color:#fff;background:#ff6b00}.communication-section{background:#f8fafc}.communication-wrapper{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.75fr);gap:28px;align-items:stretch}.communication-content,.communication-cta .cta-card{height:100%;padding:34px;border-radius:22px}.communication-content{background:#fff;border:1px solid #e5e7eb;box-shadow:0 12px 30px rgba(15,42,77,.05)}.communication-content h2,.form-header h2,.contacts-section-header h2,.districts-list h2,.faq-title{margin:0 0 12px;color:#0f2a4d;font-size:clamp(28px,2.4vw,38px);line-height:1.15;font-weight:700;letter-spacing:-.025em}.communication-content p,.form-header p,.contacts-section-header p,.districts-list p{margin:0;color:#64748b;font-size:18px;line-height:1.65}.communication-methods{display:grid;gap:14px;margin-top:24px}.method-item{display:flex;align-items:center;gap:16px;padding:18px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.method-item:hover,.method-item:focus{transform:translateY(-2px);border-color:rgba(255,107,0,.45);box-shadow:0 12px 24px rgba(15,42,77,.08)}.method-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#fff7ed;color:#ff6b00;font-size:22px}.method-info{flex:1;min-width:0}.method-label{display:block;margin-bottom:2px;color:#64748b;font-size:15px;line-height:1.3}.method-value{display:block;color:#0f2a4d;font-size:18px;line-height:1.35;font-weight:700}.method-arrow{color:#ff6b00;font-size:22px;font-weight:700}.communication-cta .cta-card{display:flex;flex-direction:column;justify-content:center;background:#0f2a4d;color:#fff;box-shadow:0 18px 40px rgba(15,42,77,.18)}.communication-cta .cta-card h3,.communication-cta .cta-card p,.communication-cta .cta-note{color:#fff}.communication-cta .cta-card h3{margin:0 0 12px;font-size:28px;line-height:1.2;font-weight:700}.communication-cta .cta-card p{margin:0 0 22px;color:rgba(255,255,255,.86);font-size:17px;line-height:1.6}.communication-cta .cta-note{margin:16px 0 0;color:rgba(255,255,255,.7);font-size:14px}.contact-form-section{background:#fff}.form-wrapper{max-width:760px;margin:0 auto;padding:38px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 18px 42px rgba(15,42,77,.08)}.form-header{margin-bottom:26px;text-align:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{margin-bottom:16px}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:52px;padding:14px 16px;border:1px solid #dbe3ee;border-radius:14px;color:#0f2a4d;font:inherit;font-size:16px;background:#f8fafc;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.form-group textarea{min-height:124px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#ff6b00;box-shadow:0 0 0 3px rgba(255,107,0,.14);background:#fff}.form-checkbox{margin:4px 0 20px;color:#64748b;font-size:15px;line-height:1.45}.form-checkbox label{display:flex;align-items:flex-start;gap:10px}.form-status{margin-top:14px;font-size:15px;line-height:1.45}.form-status--success{color:#047857}.form-status--error{color:#b91c1c}.form-note{margin-top:14px;color:#94a3b8;font-size:14px;text-align:center}.contacts-services-section,.contacts-faq-section{background:#f8fafc}.contacts-section-header{max-width:820px;margin:0 auto 28px;text-align:center}.internal-links-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}.service-areas-section{background:#fff}.districts-list{padding:34px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 12px 30px rgba(15,42,77,.05)}.districts-list h2,.districts-list p{text-align:center}.districts-list ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 0;padding:0;list-style:none}.districts-list li{padding:13px 15px;border:1px solid #e5e7eb;border-radius:14px;color:#0f2a4d;font-size:16px;font-weight:600;text-align:center;background:#f8fafc}.faq-title{text-align:center;margin-bottom:26px}.faq-grid{max-width:900px;margin:0 auto}.faq-grid--accordion{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px}.faq-item{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(15,42,77,.05)}.faq-question{position:relative;display:block;padding:22px 58px 22px 22px;color:#0f2a4d;font-size:19px;line-height:1.35;font-weight:700;cursor:pointer;list-style:none}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:'+';position:absolute;top:50%;right:20px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);border-radius:50%;color:#ff6b00;background:#fff0e5;font-size:22px;line-height:1}.faq-item[open] .faq-question:after{content:'–'}.faq-answer{padding:0 22px 22px;color:#64748b;font-size:17px;line-height:1.65;background:#fff}@media (max-width:1100px){.contacts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-wrapper{grid-template-columns:1fr}.districts-list ul{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.contacts-header{padding:42px 0 26px}.contacts-subtitle,.communication-content p,.form-header p,.contacts-section-header p,.districts-list p{font-size:16px}.contacts-info-section,.communication-section,.contact-form-section,.contacts-services-section,.service-areas-section,.contacts-faq-section{padding:42px 0}.contacts-grid,.faq-grid--accordion,.form-row{grid-template-columns:1fr}.contact-card,.communication-content,.communication-cta .cta-card,.form-wrapper,.districts-list{padding:24px;border-radius:18px}.method-item{align-items:flex-start}.districts-list ul{grid-template-columns:1fr 1fr}}@media (max-width:480px){.contacts-title{font-size:32px}.contact-card h2,.contact-card h3{font-size:20px}.contact-large{font-size:19px}.districts-list ul{grid-template-columns:1fr}.method-arrow{display:none}}