/* XFMT Dynamic Footer 2.0: fully scoped to the shortcode output. */
.xfmt-footer{--xfmt-forest:#0d302c;--xfmt-darker:#082420;--xfmt-mid:#184944;--xfmt-gold:#cd9960;--xfmt-mist:#c5d9d4;--xfmt-white:#fff;box-sizing:border-box;position:relative;left:50%;width:100vw;max-width:none!important;margin:0 0 0 -50vw!important;padding:0!important;color:#fff;background:var(--xfmt-forest);font-family:inherit;line-height:1.7;isolation:isolate;overflow:hidden}
.xfmt-footer *,.xfmt-footer *::before,.xfmt-footer *::after{box-sizing:border-box}
.xfmt-footer a{color:inherit;text-decoration:none;transition:color .2s,background-color .2s,transform .2s}
.xfmt-footer a:focus-visible{outline:2px solid #edd3b1;outline-offset:4px}
.xfmt-footer .xfmt-foot-shell{width:100%;max-width:1420px;padding-left:34px;padding-right:34px;margin:0 auto;box-sizing:border-box}
.xfmt-footer .xfmt-foot-cta{position:relative;background:linear-gradient(108deg,#1c5149 0%,#1a4641 60%,#1a3d38 100%);padding:51px 0 55px;border-bottom:1px solid rgba(255,255,255,.10)}
.xfmt-footer .xfmt-foot-cta:before{content:"";position:absolute;right:3%;top:0;width:350px;height:100%;background:radial-gradient(circle at center,rgba(212,159,100,.12),transparent 70%);pointer-events:none}
.xfmt-footer .xfmt-foot-cta-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:36px}
.xfmt-footer .xfmt-foot-cta-text{max-width:790px}
.xfmt-footer .xfmt-foot-eyebrow{display:block;color:#e4b27c;letter-spacing:.19em;text-transform:uppercase;font-size:11px;font-weight:800;margin-bottom:7px}
.xfmt-footer .xfmt-foot-cta h2{font-family:inherit;font-weight:750;font-size:clamp(25px,2.7vw,38px);line-height:1.19;letter-spacing:-.025em;color:#fff;margin:0 0 11px;padding:0}
.xfmt-footer .xfmt-foot-cta p{font-size:14px;color:#d0e1dc;line-height:1.8;margin:0;max-width:760px}
.xfmt-footer .xfmt-foot-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:23px;flex-shrink:0;padding:17px 24px;min-height:52px;background:#d19a5a;color:#fff;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-radius:2px;white-space:nowrap}
.xfmt-footer .xfmt-foot-cta-btn:hover{background:#e0b179;color:#162f2a;transform:translateY(-2px)}
.xfmt-footer .xfmt-foot-main{background:var(--xfmt-forest);padding:65px 0 71px}
.xfmt-footer .xfmt-foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,1.25fr);gap:clamp(30px,4.2vw,66px)}
.xfmt-footer .xfmt-foot-about{min-width:0}
.xfmt-footer .xfmt-foot-brand{display:inline-flex;align-items:center;max-width:252px;margin-bottom:15px;border-radius:3px;overflow:hidden}
.xfmt-footer .xfmt-foot-logo-tile{display:flex;align-items:center;justify-content:center;background:#f5f7f4;width:244px;min-height:116px;padding:8px 10px;border-radius:3px}
.xfmt-footer .xfmt-foot-logo{display:block;object-fit:contain;object-position:center;width:100%;height:auto;max-height:111px}
.xfmt-footer .xfmt-foot-tagline{font-size:10px!important;letter-spacing:.19em;color:#e5b981;text-transform:uppercase;font-weight:750;margin:0 0 15px!important}
.xfmt-footer .xfmt-foot-description{font-size:13px!important;line-height:1.9;color:#c7d9d4;max-width:325px;margin:0!important}
.xfmt-footer .xfmt-foot-col h2{font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;line-height:1.5;margin:6px 0 22px;padding:0}
.xfmt-footer .xfmt-foot-menu,.xfmt-footer .xfmt-foot-bottom ul{list-style:none!important;padding:0!important;margin:0!important}
.xfmt-footer .xfmt-foot-menu li{margin:0 0 13px!important;padding:0!important;list-style:none!important;line-height:1.5}
.xfmt-footer .xfmt-foot-menu a{display:inline-flex;align-items:baseline;gap:8px;font-size:13px;font-weight:500;color:#ceded9;line-height:1.5}
.xfmt-footer .xfmt-foot-menu a:hover,.xfmt-footer .xfmt-foot-contact a:hover,.xfmt-footer .xfmt-foot-bottom a:hover{color:#efc188}
.xfmt-footer .xfmt-foot-link-arrow{font-size:11px;opacity:0;transform:translateX(-3px);transition:opacity .2s,transform .2s;color:#edb377}
.xfmt-footer .xfmt-foot-menu a:hover .xfmt-foot-link-arrow,.xfmt-footer .xfmt-foot-menu a:focus-visible .xfmt-foot-link-arrow{opacity:1;transform:translateX(0)}
.xfmt-footer .xfmt-foot-contact p{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0 0 15px!important;line-height:1.45}
.xfmt-footer .xfmt-foot-contact p>span{font-size:11px;letter-spacing:.03em;color:#a7c1b9}
.xfmt-footer .xfmt-foot-contact p>a{overflow-wrap:anywhere;font-size:13px;color:#ecf6f2;line-height:1.65}
.xfmt-footer .xfmt-foot-enquiry{color:#efc188!important;display:inline-flex;gap:10px;align-items:center;margin-top:8px;font-weight:750;font-size:13px}
.xfmt-footer .xfmt-foot-setup{border:1px dashed #6a8d83;border-radius:3px;padding:10px;color:#d2e4de;font-size:12px!important;line-height:1.7}
.xfmt-footer .xfmt-foot-bottom{background:var(--xfmt-darker);border-top:1px solid rgba(255,255,255,.08)}
.xfmt-footer .xfmt-foot-bottom-inner{display:flex;justify-content:space-between;align-items:center;min-height:66px;gap:18px;padding-top:16px;padding-bottom:16px}
.xfmt-footer .xfmt-foot-bottom p{margin:0!important;color:#aec9c1;font-size:12px!important}
.xfmt-footer .xfmt-foot-bottom ul{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.xfmt-footer .xfmt-foot-bottom li{list-style:none!important;margin:0!important}
.xfmt-footer .xfmt-foot-bottom a{font-size:12px;color:#b6cbc5}
@media(max-width:1100px){.xfmt-footer .xfmt-foot-grid{grid-template-columns:1.2fr 1fr;column-gap:54px;row-gap:36px}.xfmt-footer .xfmt-foot-main{padding:56px 0}}
@media(max-width:767px){.xfmt-footer .xfmt-foot-shell{padding-left:20px;padding-right:20px}.xfmt-footer .xfmt-foot-cta{padding:43px 0}.xfmt-footer .xfmt-foot-cta-inner{flex-direction:column;align-items:stretch;gap:22px}.xfmt-footer .xfmt-foot-cta-btn{width:100%;justify-content:space-between}.xfmt-footer .xfmt-foot-main{padding:48px 0}.xfmt-footer .xfmt-foot-grid{grid-template-columns:1fr;row-gap:35px}.xfmt-footer .xfmt-foot-col h2{margin:0 0 13px}.xfmt-footer .xfmt-foot-logo-tile{width:216px;min-height:102px}.xfmt-footer .xfmt-foot-bottom-inner{flex-direction:column;align-items:flex-start;gap:7px}}
@media(prefers-reduced-motion:reduce){.xfmt-footer a,.xfmt-footer .xfmt-foot-link-arrow{transition:none!important}}

/* V2.1 resilient layout refinements for Elementor, Astra and shortcode wrappers. */
.xfmt-footer,.xfmt-footer:where(footer){width:100vw !important;max-width:100vw !important;margin-top:0 !important;margin-bottom:0 !important;background:#0d302c !important;color:#fff !important;}
.xfmt-footer .xfmt-foot-main{background:#0d302c !important;}
.xfmt-footer .xfmt-foot-cta{background:linear-gradient(108deg,#1c5149 0%,#1a4641 60%,#1a3d38 100%) !important;}
.xfmt-footer .xfmt-foot-bottom{background:#082420 !important;}
.xfmt-footer .xfmt-foot-fallback-list{list-style:none;padding:0;margin:0;color:#c7d9d4;font-size:13px;line-height:1.8;}
.xfmt-footer .xfmt-foot-fallback-list li{padding:0;margin:0 0 12px;}
.xfmt-footer .xfmt-foot-cta h2{color:#fff !important;}
.xfmt-footer .xfmt-foot-col h2{color:#fff !important;font-size:12px !important;}
.xfmt-footer .xfmt-foot-cta-btn{color:#fff !important;}
@media(max-width:700px){.xfmt-footer .xfmt-foot-shell{padding-left:20px;padding-right:20px;}}
