#ff-contact-page{background:#f5f7f5;color:#071b13;min-height:100vh}
.ff-contact-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#031711 0%,#0b3d2e 62%,#0f5a40 100%);padding:120px 24px 105px;color:#fff}
.ff-contact-hero:after{content:"";position:absolute;right:-130px;top:-180px;width:500px;height:500px;border:1px solid rgba(232,111,0,.35);border-radius:50%;box-shadow:0 0 0 70px rgba(232,111,0,.035),0 0 0 140px rgba(255,255,255,.025)}
.ff-contact-hero-inner{position:relative;z-index:1;max-width:1180px;margin:auto}
.ff-contact-kicker,.ff-contact-overline,.ff-contact-form-head>span{display:block;font-size:11px;letter-spacing:.22em;font-weight:800;color:#e86f00}
.ff-contact-hero h1{font-size:clamp(48px,7vw,88px);line-height:.95;margin:18px 0 22px;letter-spacing:-.045em;font-weight:900}
.ff-contact-hero h1 span,.ff-contact-info h2 span{color:#e86f00}
.ff-contact-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.78);font-size:18px;line-height:1.7}
.ff-contact-section{padding:90px 24px 110px}
.ff-contact-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);gap:70px;align-items:start}
.ff-contact-info{padding-top:12px}
.ff-contact-info h2{font-size:clamp(34px,4vw,54px);line-height:1.03;margin:16px 0 22px;letter-spacing:-.035em}
.ff-contact-lead{color:#5e6a64;line-height:1.8;max-width:500px;margin-bottom:35px}
.ff-contact-info-card{display:flex;gap:17px;align-items:center;padding:19px 0;border-top:1px solid #dce3df}
.ff-contact-info-card:last-child{border-bottom:1px solid #dce3df}
.ff-contact-info-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0b3d2e;color:#fff;font-weight:800;flex:0 0 auto}
.ff-contact-info-card small{display:block;color:#e86f00;font-size:9px;letter-spacing:.18em;font-weight:900;margin-bottom:5px}
.ff-contact-info-card strong,.ff-contact-info-card a{display:block;color:#0b3d2e;font-weight:800;text-decoration:none}
.ff-contact-info-card a:hover{color:#e86f00}
.ff-contact-form-wrap{background:#fff;border:1px solid #e0e7e3;box-shadow:0 24px 70px rgba(3,23,17,.09);padding:42px;border-radius:3px}
.ff-contact-form-head{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid #e4e9e6}
.ff-contact-form-head h2{font-size:30px;margin:9px 0 0;color:#0b3d2e;letter-spacing:-.02em}
#ff-contact-form label{display:block;color:#26342e;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:20px}
.ff-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#ff-contact-form input[type=text],#ff-contact-form input[type=email],#ff-contact-form input[type=tel],#ff-contact-form select,#ff-contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #d6dfda;background:#fbfcfb;color:#10221a;padding:15px 16px;border-radius:2px;outline:none;transition:border-color .2s,box-shadow .2s;font-size:14px;font-weight:500;letter-spacing:0}
#ff-contact-form textarea{resize:vertical;min-height:155px;line-height:1.6}
#ff-contact-form input:focus,#ff-contact-form select:focus,#ff-contact-form textarea:focus{border-color:#0b3d2e;box-shadow:0 0 0 3px rgba(11,61,46,.08);background:#fff}
.ff-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;line-height:1.5;color:#67736d!important;letter-spacing:0!important}
.ff-consent input{margin-top:3px;accent-color:#0b3d2e;flex:0 0 auto}
.ff-contact-submit{width:100%;border:0;background:#e86f00;color:#fff;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;cursor:pointer;transition:transform .2s,background .2s}
.ff-contact-submit:hover{background:#c95e00;transform:translateY(-2px)}
.ff-contact-submit b{font-size:21px;font-weight:400}
.ff-form-note{font-size:10px;color:#8a948f;margin:14px 0 0}
.ff-form-status{min-height:0;margin:-3px 0 15px;font-size:13px;font-weight:700}
.ff-form-status.error{color:#b42318}.ff-form-status.success{color:#0b6b46}
@media(max-width:900px){.ff-contact-grid{grid-template-columns:1fr;gap:45px}.ff-contact-info{padding-top:0}.ff-contact-form-wrap{padding:32px}}
@media(max-width:620px){.ff-contact-hero{padding:90px 20px 75px}.ff-contact-section{padding:65px 18px 80px}.ff-form-row{grid-template-columns:1fr;gap:0}.ff-contact-form-wrap{padding:24px 20px}.ff-contact-hero p{font-size:16px}.ff-contact-info h2{font-size:38px}}
