
.bft{box-sizing:border-box;--deep:#071629;--navy:#17345C;--ice:#9DB7D5;--mist:#EAF4FF;--t1:rgba(255,255,255,.94);--t2:rgba(255,255,255,.66);--t3:rgba(255,255,255,.44);--line:rgba(255,255,255,.12);--ease:cubic-bezier(.22,1,.36,1);position:relative;isolation:isolate;width:100%;overflow:hidden;background:var(--deep);color:var(--t1);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;padding:clamp(56px,7vw,96px) clamp(20px,4vw,48px) 0}
.bft *,.bft *::before,.bft *::after{box-sizing:border-box}
.bft::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 380px at 12% -10%,rgba(157,183,213,.14),rgba(157,183,213,0) 65%),radial-gradient(700px 320px at 100% 0%,rgba(23,52,92,.55),rgba(23,52,92,0) 70%)}
.bft-wm{position:absolute;right:-2%;bottom:-8%;z-index:-1;width:min(720px,70vw);opacity:.045;filter:brightness(0) invert(1);pointer-events:none;user-select:none}
.bft-in{max-width:1360px;margin:0 auto}

/* Statement band */
.bft-band{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:clamp(36px,5vw,60px);border-bottom:1px solid var(--line)}
.bft-eyebrow{display:block;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ice);margin-bottom:14px}
.bft-big{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5.2vw,76px);font-weight:300;line-height:1.02;letter-spacing:-.025em;color:#fff}
.bft-big em{font-style:italic;font-weight:400}
.bft-cta{display:inline-flex;align-items:center;gap:10px;flex:none;padding:14px 26px;border-radius:14px;background:#fff;color:var(--deep)!important;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:transform .12s ease-out,box-shadow .4s var(--ease),gap .4s var(--ease)}
.bft-cta svg{width:14px;height:14px;stroke:var(--deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bft-cta:hover{gap:14px;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.bft-cta:active{transform:scale(.97)}

/* Columns */
.bft-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:48px 40px;padding:clamp(40px,5vw,64px) 0}
.bft-brand{max-width:380px}
.bft-logo{display:inline-block;line-height:0}
.bft-logo img{display:block;height:clamp(58px,5.4vw,78px);width:auto;filter:brightness(0) invert(1);opacity:.96}
.bft-about{margin:22px 0 0;font-size:14px;font-weight:300;line-height:1.75;color:var(--t2)}
.bft-soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.bft-soc a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--t1)!important;transition:background .35s var(--ease),color .3s,border-color .35s var(--ease),transform .12s ease-out}
.bft-soc a:hover{background:#fff;border-color:#fff;color:var(--deep)!important}
.bft-soc a:active{transform:scale(.94)}
.bft-soc svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.bft-col{min-width:0}
.bft-ct{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:default;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ice);margin-bottom:20px}
.bft-ct::-webkit-details-marker{display:none}
.bft-ct svg{display:none;width:18px;height:18px;stroke:var(--t2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease)}
.bft-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.bft-ul a,.bft-contact a{position:relative;display:inline-block;font-size:14.5px;font-weight:300;color:var(--t2)!important;transition:color .3s,transform .4s var(--ease)}
.bft-ul a:hover,.bft-contact a:hover{color:#fff!important;transform:translateX(3px)}
.bft-contact{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:11px;font-size:14px;font-weight:300;line-height:1.6;color:var(--t2)}
.bft-contact:empty{display:none}

/* Bottom bar */
.bft-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 30px;border-top:1px solid var(--line);font-size:12.5px;color:var(--t3)}
.bft-bar b{font-weight:400;color:var(--t2)}
.bft-top{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--t2);transition:color .3s}
.bft-top span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);transition:background .35s var(--ease),border-color .35s var(--ease),transform .12s ease-out}
.bft-top svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bft-top:hover{color:#fff}
.bft-top:hover span{background:#fff;border-color:#fff;color:var(--deep)}
.bft-top:hover span svg{stroke:var(--deep)}
.bft-top:active span{transform:scale(.92)}
.bft a:focus-visible,.bft button:focus-visible,.bft summary:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:6px}

/* Reveal */
.bft-rv{transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.bft-js:not(.bft-show) .bft-rv{opacity:0;transform:translateY(22px)}

/* Tablet */
@media (max-width:1024px){
.bft-grid{grid-template-columns:repeat(3,1fr);gap:44px 32px}
.bft-brand{grid-column:1/-1;max-width:520px}
}
/* Mobile: accordions */
@media (max-width:768px){
.bft-band{flex-direction:column;align-items:flex-start}
.bft-cta{width:100%;justify-content:center}
.bft-grid{grid-template-columns:1fr;gap:0;padding:36px 0 28px}
.bft-brand{max-width:none;padding-bottom:30px}
.bft-col{border-top:1px solid var(--line)}
.bft-col:last-of-type{border-bottom:1px solid var(--line)}
.bft-ct{margin:0;padding:20px 2px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bft-ct svg{display:block}
.bft-col[open] .bft-ct svg{transform:rotate(180deg)}
.bft-ul{padding:0 2px 22px}
.bft-contact{margin:0 2px 22px}
.bft-bar{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:30px}
}
@media (prefers-reduced-motion:reduce){
.bft-rv,.bft-cta,.bft-ul a,.bft-contact a,.bft-soc a,.bft-top span,.bft-ct svg{transition:opacity .3s ease!important}
.bft-ul a:hover,.bft-contact a:hover{transform:none}
.bft-js:not(.bft-show) .bft-rv{transform:none}
}
@media (prefers-contrast:more){.bft{--t2:rgba(255,255,255,.88);--t3:rgba(255,255,255,.75);--line:rgba(255,255,255,.4)}}
.bft a,.bft a:hover,.bft a:focus,.bft a:visited{text-decoration:none!important}

/* hide theme footer (set from plugin settings) */
body.bft-hide-theme footer:not(.bft),body.bft-hide-theme .footer-container,body.bft-hide-theme .wd-footer,body.bft-hide-theme #colophon,body.bft-hide-theme .site-footer,body.bft-hide-theme .elementor-location-footer,body.bft-hide-theme .copyrights-wrapper{display:none!important}

/* Mobile bottom nav ke saath: body ka extra padding hata ke footer ko hi nav ke neeche tak failao (blank white strip nahi) */
@media (max-width:860px){
body.bft-on{padding-bottom:0!important}
body.bft-on .bft{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}
