.df-footer { background:#153e35; color:#d5e0d1; font:400 13px/1.65 var(--cms-site-font,Inter,system-ui,sans-serif); }
.df-footer svg { width:20px; height:20px; display:block; flex-shrink:0; }
.df-footer a:focus-visible { outline:2px solid #d7f28a; outline-offset:5px; }
.df-callout { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:60px 0; border-bottom:1px solid #ffffff1c; }
.df-callout > div:first-child > span { color:#aac299; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; }
.df-callout h2 { margin:18px 0 0; color:#f2f5e9; font-size:clamp(29px,3.5vw,46px); font-weight:500; letter-spacing:-1.5px; line-height:1.2; }
.df-callout h2 em { color:#bbd6a0; font-style:normal; }
.df-callout p { color:#a7bead; font-size:13px; margin:0 0 22px; }
.df-button { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:13px 18px; min-height:50px; background:#d7f28a; color:#153e35; border-radius:10px; font-size:13px; font-weight:600; }
.df-button:hover { background:#c6e779; }
.df-grid { display:grid; grid-template-columns:1.2fr 1.5fr .8fr 1fr; gap:45px; padding:50px 0; }
.df-grid h3 { margin:0 0 20px; color:#92b19b; font-size:10px; font-weight:500; letter-spacing:1px; text-transform:uppercase; }
.df-grid nav > a,.df-services > div > a { display:block; margin-bottom:10px; color:#d0dfca; font-size:12px; }
.df-grid a:hover { color:#d7f28a; }
.df-brand { display:flex; align-items:center; gap:11px; font-size:24px; font-weight:650; color:#eef4e7; letter-spacing:-.7px; }
.df-brand svg { width:29px; height:29px; color:#b7ce9b; }
.df-about p { color:#93b09e; font-size:12px; margin:17px 0 24px; }
.df-location { display:flex; align-items:center; gap:8px; font-size:10px; color:#a5be9d; }
.df-location svg { width:15px; height:15px; }
.df-services > div { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.df-contacts > a,.df-contacts > span { display:block; margin-bottom:9px; }
.df-contacts > span { color:#9eb9a5; font-size:11px; }
.df-contacts .df-phone { font-size:17px; color:#f4f7e8; white-space:nowrap; }
.df-contacts p { margin:0 0 15px; font-size:12px; color:#9eb9a5; }
.df-contacts .df-contact-link { display:flex; align-items:center; gap:10px; color:#c6dda9; font-size:11px; }
.df-contact-link svg { width:15px; height:15px; }
.df-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:25px 0; border-top:1px solid #ffffff1c; font-size:10px; color:#8fae99; }
.df-bottom a:hover { color:#d7f28a; }
@media(max-width:1000px) { .df-grid { grid-template-columns:1fr 1fr; gap:35px; } }
@media(max-width:620px) {
    .df-callout { flex-direction:column; align-items:stretch; gap:28px; padding:40px 0; }
    .df-callout h2 { font-size:32px; letter-spacing:-1px; }
    .df-callout p { font-size:12px; }
    .df-button { max-width:360px; }
    .df-grid { gap:30px 20px; padding:35px 0; }
    .df-about { grid-column:1/-1; }
    .df-services { grid-column:1/-1; }
    .df-about p { margin-bottom:12px; }
    .df-grid h3 { margin-bottom:17px; }
    .df-bottom { flex-wrap:wrap; gap:13px 20px; padding:23px 0; }
    .df-bottom > span { width:100%; }
    .df-contacts .df-phone { font-size:13px; }
}
