.df-footer{--df-bg:#0b1424;--df-rule:#2c4058;background:var(--df-bg);color:#c8d2e2;font-size:1rem;line-height:1.6;padding:0;margin:0;border-top:1px solid #233751;overflow-wrap:break-word;text-align:left}
.df-footer *{box-sizing:border-box}.df-footer .df-wrap{width:min(1440px,calc(100% - 96px));margin:0 auto}.df-footer a{color:inherit;text-decoration:none;transition:color .2s,background .2s,border-color .2s;min-width:0}.df-footer p{margin:0;line-height:1.65}.df-footer .df-icon{width:25px;height:25px;flex-shrink:0;display:block;vertical-align:middle}.df-footer a:focus-visible{outline:2px solid #8cbfff;outline-offset:5px;border-radius:4px}
.df-footer .df-top{display:grid;grid-template-columns:.95fr 1.45fr 1fr 1.5fr;align-items:center;gap:30px;padding:34px 0;border-bottom:1px solid var(--df-rule)}.df-footer .df-top h2{font-size:1.5rem;font-weight:800;letter-spacing:-.025em;color:#fff;margin:0;line-height:1.3}.df-footer .df-top>a{display:flex;align-items:center;gap:13px;font-weight:700;color:#fff;font-size:1rem;min-height:48px}.df-footer .df-top .df-line{background:#00853d;border:1px solid #16aa58;border-radius:20px;padding:15px 18px;gap:11px;justify-content:center;box-shadow:0 7px 18px #001e1626;flex-wrap:wrap}.df-line-mark{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:50%;background:#fff;color:#007a33;font-size:.67rem;font-weight:800;position:relative}.df-line-mark:after{content:'';position:absolute;bottom:-3px;left:11px;border:4px solid transparent;border-left-color:#fff;border-top-color:#fff;transform:rotate(-10deg)}.df-footer .df-line strong{font-size:1.05rem;font-weight:800;line-height:1.4}.df-footer .df-line small{border-left:1px solid #ffffff66;padding-left:9px;font-size:.8rem;color:#fff;line-height:1.2}.df-top-email span{overflow-wrap:anywhere}.df-top-phone span{white-space:nowrap}
.df-footer .df-main{display:grid;grid-template-columns:1.35fr 3.6fr;gap:42px;padding:36px 0 32px}.df-footer .df-company{border-right:1px solid var(--df-rule);padding-right:35px;min-width:0}.df-footer .df-brand{display:inline-block;color:#fff;font-size:clamp(1.7rem,2.2vw,2.4rem);font-weight:800;letter-spacing:-.045em;line-height:1.25;margin:2px 0 23px;white-space:nowrap}.df-brand>span>span{color:#ff253a}.df-footer .df-company-name{margin-bottom:12px;font-size:1rem;line-height:1.8}.df-company-name strong{font-weight:700;color:#fff}.df-company-name [lang=en]{font-size:1rem}.df-footer address{font-size:.95rem;line-height:1.7;font-style:normal}.df-footer .df-tax{font-size:.85rem;line-height:1.6;margin:12px 0 0}.df-tax span{font-variant-numeric:tabular-nums}.df-footer .df-office,.df-footer .df-after{border-top:1px solid var(--df-rule);margin-top:22px;padding-top:19px}.df-footer .df-office p,.df-footer .df-after>p:first-child{display:flex;align-items:flex-start;gap:13px;margin-bottom:13px;font-size:.95rem}.df-office .df-icon,.df-after .df-icon{width:23px;height:23px;color:#f2f6fd}.df-footer .df-office p:last-child{margin-bottom:0}.df-office small{display:block;font-size:.8rem;color:#aab9ce}.df-footer .df-after-numbers{padding-left:36px;font-size:.85rem;line-height:1.8;display:flex;flex-wrap:wrap;gap:3px 6px}.df-after-numbers a{white-space:nowrap}
.df-footer .df-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 30px;min-width:0;align-content:start}.df-footer .df-group{min-width:0}.df-footer .df-group:nth-child(n+5){border-top:1px solid var(--df-rule);padding-top:25px}.df-footer .df-group h3{font-size:1.15rem;line-height:1.4;color:#fff;letter-spacing:-.015em;margin:0 0 18px;font-weight:800;padding-bottom:15px;position:relative}.df-group h3:after{content:'';position:absolute;left:0;bottom:0;width:30px;height:3px;background:#ff253a}.df-footer .df-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.df-footer .df-group li{margin:0;padding:0;min-width:0}.df-footer .df-group li a{display:inline-flex;min-height:29px;align-items:center;line-height:1.6;font-size:.95rem;padding:1px 0}.df-footer .df-group a span{min-width:0;overflow-wrap:break-word}.df-footer .df-social ul{gap:7px}.df-footer .df-social .df-social-link{display:flex;width:100%;gap:13px;justify-content:flex-start;min-height:37px;border:1px solid #536b88;border-radius:10px;padding:7px 12px;font-size:.9rem;color:#fff}.df-social-link .df-icon{width:20px;height:20px}.df-footer .df-login{display:flex;gap:11px;align-items:center;border-top:1px solid var(--df-rule);padding-top:15px;margin-top:17px;font-size:.9rem;line-height:1.5;min-height:42px}.df-login .df-icon{width:23px;height:23px}.df-footer .df-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--df-rule);padding:24px 0;font-size:.9rem}.df-footer .df-back-top{display:inline-flex;align-items:center;gap:12px;min-height:36px;border-left:1px solid var(--df-rule);padding-left:30px;font-size:.9rem;white-space:nowrap}.df-back-top .df-icon{width:25px;height:25px}
@media(hover:hover) and (pointer:fine){.df-footer a:hover{color:#ff788a}.df-footer .df-line:hover{background:#007530;border-color:#2ac16c;color:#fff}.df-footer .df-social-link:hover{background:#17283f;border-color:#a3c4ed;color:#fff}.df-footer .df-brand:hover{color:#fff}}
@media(max-width:1200px){.df-footer .df-wrap{width:calc(100% - 56px)}.df-footer .df-top{gap:20px;grid-template-columns:.85fr 1.35fr 1fr 1.5fr}.df-footer .df-top h2{font-size:1.3rem}.df-footer .df-top>a{font-size:.9rem;gap:9px}.df-footer .df-top .df-line{padding:13px 10px;gap:8px}.df-footer .df-line small{display:none}.df-footer .df-line strong{font-size:.95rem}.df-footer .df-main{grid-template-columns:1.15fr 3.4fr;gap:28px}.df-footer .df-company{padding-right:25px}.df-footer .df-navigation{gap:27px 22px}.df-footer .df-group h3{font-size:1.03rem}.df-footer .df-group li a{font-size:.85rem}.df-footer .df-brand{font-size:1.8rem}.df-footer .df-office p,.df-footer .df-after>p:first-child{font-size:.85rem}.df-footer .df-company-name,.df-footer address{font-size:.9rem}}
@media(max-width:980px){.df-footer .df-top{grid-template-columns:1fr 1.3fr;gap:20px 30px}.df-footer .df-top h2{font-size:1.5rem}.df-footer .df-top>a{font-size:1rem}.df-footer .df-top .df-line{grid-column:2;grid-row:1/3;min-height:78px;padding:18px}.df-footer .df-top-email{grid-column:2;grid-row:3}.df-footer .df-top-phone{grid-column:1;grid-row:3}.df-footer .df-line small{display:block}.df-footer .df-line strong{font-size:1.15rem}.df-footer .df-main{grid-template-columns:1.2fr 2.3fr;gap:30px}.df-footer .df-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.df-footer .df-group:nth-child(n+3){border-top:1px solid var(--df-rule);padding-top:23px}.df-footer .df-group h3{font-size:1.15rem}.df-footer .df-group li a{font-size:.95rem}.df-footer .df-brand{font-size:1.8rem}}
@media(max-width:640px){.df-footer .df-wrap{width:calc(100% - 40px)}.df-footer .df-top{grid-template-columns:1fr;gap:16px;padding:28px 0}.df-footer .df-top h2{text-align:center;font-size:1.5rem}.df-footer .df-top .df-line{grid-column:auto;grid-row:auto;min-height:66px;justify-content:center;border-radius:16px;padding:14px 16px}.df-footer .df-line small{display:block;font-size:.8rem}.df-footer .df-line strong{font-size:1.15rem}.df-footer .df-top-phone,.df-footer .df-top-email{grid-column:auto;grid-row:auto;justify-content:center;min-height:34px;font-size:1rem!important}.df-footer .df-main{grid-template-columns:1fr;gap:30px;padding:28px 0}.df-footer .df-company{border-right:0;border-bottom:1px solid var(--df-rule);padding:0 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.df-footer .df-brand{grid-column:1/-1;font-size:2.05rem;margin-bottom:18px}.df-footer .df-company-name,.df-footer address,.df-footer .df-tax{grid-column:1/-1;font-size:.95rem}.df-footer .df-tax{margin-top:10px}.df-tax br{display:none}.df-tax span{margin-left:5px}.df-footer .df-office,.df-footer .df-after{margin-top:20px;padding-top:17px}.df-footer .df-office p,.df-footer .df-after>p:first-child{font-size:.82rem;gap:8px;line-height:1.6}.df-office .df-icon,.df-after .df-icon{width:19px;height:19px}.df-footer .df-after-numbers{padding-left:27px;gap:4px;font-size:.85rem;display:block}.df-after-numbers>a{display:block;min-height:28px}.df-after-numbers>span{display:none}.df-footer .df-navigation{gap:26px 20px}.df-footer .df-group h3{font-size:1.1rem}.df-footer .df-group li a{font-size:.9rem;min-height:32px}.df-footer .df-social .df-social-link{font-size:.85rem;min-height:38px}.df-footer .df-bottom{flex-direction:column;gap:12px;text-align:center;padding:22px 0;font-size:.8rem}.df-footer .df-back-top{border:0;padding-left:0;font-size:.9rem;min-height:40px}.df-footer .df-bottom p{font-size:.8rem;max-width:36ch}}
@media(max-width:350px){.df-footer .df-wrap{width:calc(100% - 28px)}.df-footer .df-company{grid-template-columns:1fr}.df-footer .df-company-name,.df-footer address,.df-footer .df-tax{grid-column:1}.df-footer .df-office{grid-column:1}.df-footer .df-after{grid-column:1;margin-top:15px}.df-footer .df-after-numbers{display:flex;gap:5px}.df-footer .df-top .df-line{gap:8px}.df-footer .df-line strong{font-size:1rem}.df-footer .df-line small{font-size:.7rem}.df-footer .df-group h3{font-size:1rem}.df-footer .df-group li a{font-size:.82rem}.df-footer .df-navigation{gap:23px 16px}.df-footer .df-brand{font-size:1.9rem}}
@media(pointer:coarse){.df-footer .df-group li a{min-height:38px}.df-footer .df-social .df-social-link{min-height:42px}.df-footer .df-login{min-height:44px}}
@media(prefers-reduced-motion:reduce){.df-footer a{transition:none!important}}
@media(min-width:1201px){.df-footer .df-top{padding-block:44px}.df-footer .df-top h2{font-size:1.65rem}.df-footer .df-top>a{font-size:1.05rem}.df-footer .df-main{padding-block:40px;gap:42px}.df-footer .df-brand{font-size:clamp(2rem,2.6vw,2.6rem)}.df-footer .df-group h3{font-size:1.2rem}.df-footer .df-group li a{font-size:1rem}.df-footer .df-group ul{gap:7px}.df-footer .df-company-name,.df-footer address{font-size:1rem}.df-footer .df-navigation{row-gap:36px}.df-footer .df-bottom{padding-block:27px}}
/* Footer navigation follows the shared header: main services and Contact submenu only. */
.df-footer .df-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 55px}.df-footer .df-login{max-width:230px}.df-footer .df-group li a{padding-block:4px;min-height:36px}.df-footer .df-group li a:hover{color:#ff788a}
@media(max-width:980px){.df-footer .df-navigation{gap:30px 25px}}
@media(max-width:640px){.df-footer .df-navigation{gap:26px 20px}.df-footer .df-group li a{min-height:38px}.df-footer .df-login{font-size:.9rem}}
/* Balanced three-column Footer; user-requested navy-to-black gradient and social utility row. */
.df-footer{background:linear-gradient(180deg,#17283f 0%,#0d192c 44%,#080d17 100%)}
.df-footer .df-main{grid-template-columns:1.28fr 1.72fr;gap:44px;padding:34px 0}.df-footer .df-company{padding-right:36px;border-right:1px solid #ffffff18;display:block}.df-footer .df-brand{font-size:clamp(1.8rem,2.7vw,2.6rem);margin-bottom:19px}.df-footer .df-company-name{font-size:.95rem;line-height:1.7}.df-footer address{font-size:.95rem;line-height:1.8}.df-footer .df-tax{font-size:.85rem;margin-top:16px;line-height:1.8}.df-footer .df-navigation{grid-template-columns:1fr 1.3fr;gap:35px}.df-footer .df-group h3{font-size:1.125rem;padding-bottom:12px;margin-bottom:13px}.df-footer .df-group ul{gap:3px}.df-footer .df-group li a{min-height:37px;font-size:.95rem;padding:3px 0;transition:color .2s,transform .2s}.df-footer .df-group li a>span{display:flex;align-items:center;gap:12px}.df-footer .df-group .hp-icon{width:21px;height:21px;flex:none;color:#b8c6d9;transition:color .2s}.df-footer .df-group li a:hover{transform:translateX(3px)}.df-footer .df-group li a:hover .hp-icon{color:#ff788a}
.df-footer .df-utility{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;border-top:1px solid var(--df-rule)}.df-footer .df-utility-hours{display:grid;grid-template-columns:auto auto;gap:25px;min-width:0}.df-footer .df-utility .df-office,.df-footer .df-utility .df-after{border:0;margin:0;padding:0;min-width:0}.df-footer .df-utility .df-after{border-left:1px solid #ffffff20;padding-left:25px}.df-footer .df-utility .df-office p,.df-footer .df-utility .df-after>p:first-child{margin:0 0 6px;font-size:.85rem;line-height:1.5;gap:9px}.df-footer .df-utility .df-icon{width:20px;height:20px}.df-footer .df-utility .df-office p:last-child{margin:0}.df-footer .df-utility .df-office p:last-child>span{display:flex;align-items:center;gap:9px}.df-footer .df-utility .df-office small{display:inline;font-size:.75rem}.df-footer .df-utility .df-after-numbers{display:flex;flex-wrap:wrap;padding-left:29px;font-size:.85rem;gap:3px 6px;line-height:1.6}.df-footer .df-utility .df-after-numbers>span{display:inline}.df-footer .df-utility-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;flex:none}.df-footer .df-utility-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border:1px solid #65748b;border-radius:9px;color:#edf3fc;min-height:43px;font-size:.8125rem;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}.df-footer .df-utility-button:hover{background:#ffffff0c;border-color:#ff788a;color:#fff;transform:translateY(-2px)}.df-footer .df-utility-login{background:#ffffff08;border-color:#9dacc0}.df-footer .df-bottom{padding-block:20px}
@media(max-width:1200px){.df-footer .df-main{grid-template-columns:1.1fr 1.9fr;gap:30px}.df-footer .df-brand{font-size:1.9rem}.df-footer .df-company{padding-right:25px}.df-footer .df-navigation{gap:25px}.df-footer .df-utility{gap:20px}.df-footer .df-utility-hours{gap:17px}.df-footer .df-utility .df-after{padding-left:17px}.df-footer .df-utility .df-office p:last-child>span{display:block}.df-footer .df-utility .df-office small{display:block}.df-footer .df-utility-button{padding:9px 10px;font-size:.75rem;gap:7px}}
@media(max-width:980px){.df-footer .df-main{grid-template-columns:1.1fr 1.9fr;gap:28px}.df-footer .df-company{padding-right:20px}.df-footer .df-brand{font-size:1.7rem}.df-footer .df-navigation{gap:18px;grid-template-columns:1fr 1.2fr}.df-footer .df-group h3{font-size:1.05rem}.df-footer .df-group li a{font-size:.875rem;min-height:38px}.df-footer .df-group li a>span{gap:9px}.df-footer .df-group .hp-icon{width:19px;height:19px}.df-footer .df-utility{flex-wrap:wrap;justify-content:center}.df-footer .df-utility-hours{flex:1;grid-template-columns:1fr 1fr;gap:24px}.df-footer .df-utility .df-after{padding-left:24px}.df-footer .df-utility-actions{justify-content:center;flex:1}.df-footer .df-utility-button{padding:10px 15px;font-size:.85rem}}
@media(max-width:640px){.df-footer .df-main{grid-template-columns:1fr;gap:27px;padding-block:28px}.df-footer .df-company{padding:0 0 24px;border-right:0;border-bottom:1px solid var(--df-rule);text-align:center}.df-footer .df-brand{font-size:2rem;margin-bottom:15px}.df-footer .df-company-name{font-size:.95rem;margin-bottom:10px}.df-footer address{font-size:.9375rem}.df-footer .df-tax{font-size:.8rem;margin-top:12px}.df-footer .df-tax br{display:none}.df-footer .df-tax span{margin-left:6px}.df-footer .df-navigation{grid-template-columns:1fr 1.25fr;gap:17px}.df-footer .df-group h3{font-size:1rem;margin-bottom:12px}.df-footer .df-group li a{font-size:.85rem;min-height:39px}.df-footer .df-group li a>span{gap:8px}.df-footer .df-group .hp-icon{width:18px;height:18px}.df-footer .df-utility{padding:22px 0;gap:23px}.df-footer .df-utility-hours{width:100%;grid-template-columns:1fr 1fr;gap:15px}.df-footer .df-utility .df-after{padding-left:15px}.df-footer .df-utility .df-office p,.df-footer .df-utility .df-after>p:first-child{font-size:.8rem;gap:7px;line-height:1.7}.df-footer .df-utility .df-office small{font-size:.7rem}.df-footer .df-utility .df-after-numbers{display:flex;flex-direction:column;font-size:.8rem;padding-left:27px;gap:1px}.df-footer .df-utility .df-after-numbers a{min-height:26px}.df-footer .df-utility .df-after-numbers>span{display:none}.df-footer .df-utility-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;flex-basis:100%}.df-footer .df-utility-button{font-size:.85rem;min-height:44px;padding:10px}.df-footer .df-bottom{gap:10px;padding-block:20px}}
@media(max-width:350px){.df-footer .df-brand{font-size:1.8rem}.df-footer .df-navigation{gap:13px;grid-template-columns:.85fr 1.15fr}.df-footer .df-group li a{font-size:.78rem}.df-footer .df-group li a>span{gap:6px}.df-footer .df-group .hp-icon{width:16px;height:16px}.df-footer .df-utility-hours{gap:10px}.df-footer .df-utility .df-after{padding-left:10px}}
@media(prefers-reduced-motion:reduce){.df-footer .df-group li a:hover,.df-footer .df-utility-button:hover{transform:none}.df-footer .df-group .hp-icon{transition:none}}
/* Phone/email contact actions share the LINE tile's size, shape and icon treatment. */
.df-footer .df-top .df-line,.df-footer .df-top .df-top-phone,.df-footer .df-top .df-top-email{min-height:66px;border-radius:17px;padding:14px 16px;justify-content:center;gap:11px;transition:transform .22s,background .22s,box-shadow .22s,border-color .22s}
.df-footer .df-top .df-top-phone{background:linear-gradient(125deg,#147fd5,#1557aa);border:1px solid #4699e1;box-shadow:0 7px 18px #001b3f25;color:#fff}.df-footer .df-top .df-top-email{background:linear-gradient(125deg,#794bd3,#56349e);border:1px solid #9972dd;box-shadow:0 7px 18px #1b003b25;color:#fff}
.df-footer .df-top-phone .df-icon,.df-footer .df-top-email .df-icon{box-sizing:content-box;display:block;width:21px;height:21px;padding:7px;border-radius:50%;background:#fff;color:#176bb6;flex:none}.df-footer .df-top-email .df-icon{color:#6e42b9}
@media(hover:hover) and (pointer:fine){.df-footer .df-top .df-line:hover,.df-footer .df-top .df-top-phone:hover,.df-footer .df-top .df-top-email:hover{transform:translateY(-3px);color:#fff;border-color:#ffffffa6;box-shadow:0 12px 22px #0003}.df-footer .df-top .df-top-phone:hover{background:linear-gradient(125deg,#228de3,#1c64bc)}.df-footer .df-top .df-top-email:hover{background:linear-gradient(125deg,#8859e0,#6543b1)}}
@media(max-width:1200px){.df-footer .df-top .df-line,.df-footer .df-top .df-top-phone,.df-footer .df-top .df-top-email{padding:13px 11px;gap:9px}.df-footer .df-top-phone .df-icon,.df-footer .df-top-email .df-icon{width:19px;height:19px;padding:7px}}
@media(min-width:821px) and (max-width:980px){.df-footer .df-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 15px}.df-footer .df-top h2{grid-column:1/-1;text-align:center}.df-footer .df-top .df-line,.df-footer .df-top .df-top-phone,.df-footer .df-top .df-top-email{grid-column:auto;grid-row:auto;font-size:.875rem;min-height:66px}.df-footer .df-top .df-line strong{font-size:.95rem}.df-footer .df-top .df-line small{display:none}}
@media(max-width:820px){.df-footer .df-top{grid-template-columns:1fr;gap:13px;padding:27px 0}.df-footer .df-top h2{text-align:center;margin-bottom:3px}.df-footer .df-top .df-line,.df-footer .df-top .df-top-phone,.df-footer .df-top .df-top-email{grid-column:auto;grid-row:auto;width:100%;min-height:66px;font-size:1rem;padding:14px 16px}.df-footer .df-top .df-line strong{font-size:1.05rem}.df-footer .df-top .df-line small{display:block}.df-footer .df-top-phone .df-icon,.df-footer .df-top-email .df-icon{width:21px;height:21px;padding:7px}}
@media(prefers-reduced-motion:reduce){.df-footer .df-top .df-line:hover,.df-footer .df-top .df-top-phone:hover,.df-footer .df-top .df-top-email:hover{transform:none}}
/* Affiliated brands form a compact independent row without stretching the main columns. */
.df-footer .df-affiliates{border-top:1px solid var(--df-rule);padding:22px 0 24px;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:22px}.df-footer .df-affiliates h3{color:#fff;font-size:1rem;font-weight:750;line-height:1.5;margin:0}.df-footer .df-affiliates nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.df-footer .df-affiliate-link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 7px;border:1px solid #ffffff26;border-radius:9px;background:#ffffff03;font-size:.8125rem;font-weight:600;color:#c8d2e2;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s}.df-footer .df-affiliate-link:hover{color:#fff;background:#ffffff0b;border-color:#ff788a;transform:translateY(-2px)}
@media(max-width:1200px){.df-footer .df-affiliates{grid-template-columns:145px minmax(0,1fr);gap:17px}.df-footer .df-affiliates nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.df-footer .df-affiliates{grid-template-columns:1fr;gap:15px;padding:22px 0}.df-footer .df-affiliates h3{text-align:center;font-size:1rem}.df-footer .df-affiliates nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.df-footer .df-affiliate-link{font-size:.85rem;min-height:44px}}
@media(prefers-reduced-motion:reduce){.df-footer .df-affiliate-link{transition:none}.df-footer .df-affiliate-link:hover{transform:none}}
