/* ── footer (shared) ─────────────────────────────────────────────────── */
.ft{position:relative;margin-top:79px;padding-block:56px 0;background:var(--cream);color:var(--navy)}
.ft__logo{display:block;width:438px;margin:0 auto}
.ft__logo img{width:100%;height:auto}
.ft__contact{margin-top:37px;display:flex;align-items:center;justify-content:center;gap:50px}
.ft__c{display:flex;align-items:center;gap:11px;font-size:21px;line-height:33px;color:var(--navy);transition:color .2s}
.ft__c b{font-weight:700}
.ft__c svg{width:20px;height:20px;flex:none}
a.ft__c:hover{color:var(--blush)}
.ft__cols{margin-top:29px;padding-top:25px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);gap:0 48px}
.ft__ctitle{font-size:22px;line-height:28px;font-weight:400;color:var(--navy);padding-bottom:19px;border-bottom:1px solid var(--line)}
.ft__ctbtn{display:block;width:100%;font:inherit;color:inherit;text-align:start;cursor:default;pointer-events:none}
.ft__ctbtn .chev{display:none}
.ft__links{padding-top:21px;display:flex;flex-direction:column}
.ft__links a{position:relative;align-self:flex-start;font-size:20px;line-height:28px;color:var(--navy)}
.ft__links a::after{content:"";position:absolute;right:0;left:0;bottom:3px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:100% 50%;transition:transform .3s ease}
.ft__links a:hover::after,.ft__links a:focus-visible::after{transform:scaleX(1)}
.ft__soc{margin-top:60px;display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;gap:12px}
.ft__soc .soc{width:64px;height:64px;border-color:rgba(28,53,85,.5);color:var(--navy)}
.ft__soc .soc svg{width:26px;height:26px}
.ft__soc .soc--waze svg{width:34px;height:31px}
.ft__bottom{margin-top:57px;padding-bottom:29px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ft__copy{font-size:18px;line-height:30px;color:var(--navy)}
.ft__credit{direction:ltr;display:inline-flex;align-items:center;gap:8px;font-size:19px;line-height:30px;color:var(--navy);transition:opacity .2s}
.ft__credit img{width:80px;height:30px;object-fit:contain;flex:none}
.ft__credit:hover{opacity:.7}
.to-top{position:fixed;right:26px;bottom:24px;z-index:45;width:44px;height:44px;border-radius:50%;background:var(--blush);color:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(28,53,85,.15)}
.to-top svg{width:26px;height:26px}
.to-top svg{transition:transform .25s ease}
.to-top:hover svg{transform:translateY(-3px)}
.to-top:hover{background:var(--navy);color:var(--white)}

@media(max-width:1400px){
	.ft__cols{gap:0 24px}
	.ft__links a,.ft__ctitle{font-size:17px}
}
@media(max-width:1023px){
	.ft{margin-top:44px;padding-block:0 0}
	/* Figma 118:1742 — on mobile the link accordions come first, then logo, contact, social, bottom */
	.ft>.container{display:flex;flex-direction:column;padding-inline:20px}
	.ft__cols{order:1}.ft__logo{order:2}.ft__contact{order:3}.ft__soc{order:4}.ft__bottom{order:5}
	.ft__logo{width:337px;max-width:100%;margin-top:28px}
	.ft__contact{flex-direction:column-reverse;align-items:flex-start;gap:10px;margin-top:24px}
	.ft__c{font-size:17px;line-height:26px;text-align:start}
	.ft__c svg{width:22px;height:22px}
	.ft__cols{display:block;grid-template-columns:none;gap:0;margin-top:0;padding-top:0;border-top:0}
	.ft__col{border-bottom:1px solid var(--line)}
	.ft__col:first-child{border-top:1px solid var(--line)}
	.ft__ctitle{padding:0;border-bottom:0;font-size:18px;line-height:24px}
	.ft__ctbtn{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 2px;cursor:pointer;pointer-events:auto}
	.ft__ctbtn .chev{display:block;width:17px;height:17px;flex:none;transition:transform .25s}
	.ft__col.is-open .ft__ctbtn .chev{transform:rotate(180deg)}
	.ft__links{display:none;padding:0 2px 16px}
	.ft__col.is-open .ft__links{display:flex}
	.ft__links a{font-size:16px;line-height:30px}
	.ft__soc{margin-top:26px;gap:19px}
	.ft__soc .soc{width:46px;height:46px}
	.ft__soc .soc svg{width:20px;height:20px}
	.ft__soc .soc--waze svg{width:26px;height:24px}
	.ft__bottom{flex-direction:column;gap:8px;margin-top:26px;text-align:center}
	.ft__copy,.ft__credit{font-size:15px}
	.ft__credit{justify-content:center;gap:6px}
	.ft__credit img{width:68px;height:26px}
	.to-top{right:16px;bottom:16px}
}

/* ── mobile sticky CTA bar (Figma 118:1742 · bar 375×57, navy, three equal cells) ──── */
.mcta{display:none}
@media(max-width:1023px){
	.mcta{position:fixed;inset-inline:0;inset-block-end:0;z-index:70;display:grid;grid-template-columns:repeat(3,1fr);height:57px;background:var(--navy)}
	.mcta__i{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:100%;color:var(--blush);text-align:center;transition:background-color .2s}
	.mcta__i+.mcta__i{box-shadow:inset -1px 0 0 rgba(255,255,255,.18)}
	.mcta__i svg{width:22px;height:22px;flex:none}
	.mcta__i span{font-size:15px;line-height:1;font-weight:400}
	.mcta__i:active{background:var(--navy-hover)}
	/* keep the other floaters clear of the bar */
	.to-top{inset-block-end:73px}
	.wa{bottom:149px}
	.a11y{inset-block-end:133px}
	body{padding-bottom:57px}
	.ft{padding-block-end:0}
}

/* ── floaters: sizes the designer called out (components.css owns the layout) ──────── */
/* Figma: the wheelchair glyph is 13×18 inside the 34px button */
.a11y svg{width:14px;height:18px}
/* Figma: the green bar is 125×30 and the label reads one notch larger */
.wa__bar{height:30px;padding:0 10px;font-size:17px}
.wa__bar svg{width:19px;height:19px}
.wa__bar::before{inset-block-start:-8px;border-width:9px;border-block-start-width:0}

/* ---- footer columns follow their count (six link columns) ---------------- */
.ft__cols{grid-template-columns:repeat(var(--ft-cols,5),minmax(0,1fr))}
.ft__cols--many{gap:0 32px}
@media(min-width:1024px) and (max-width:1279px){
	.ft__cols--many{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px}
}

/* ---- floating buttons: stay clear of the page content ---------------------- */
/* back-to-top appears only after the visitor has scrolled */
.to-top{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility 0s linear .25s}
.to-top.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s,visibility 0s}
/* the WhatsApp bubble waits until the home hero (its H1 sits bottom-right) scrolls away */
@media(min-width:1024px){
	.wa{transition:opacity .25s,transform .25s,visibility 0s linear .25s}
	body.hero-in-view .wa{opacity:0;visibility:hidden;transform:translateY(12px)}
}
