/* Labellissimo footer */
.lbf{
  position:relative;
  --maroon:#5A0F1F; --maroon-deep:#3F0A16; --navy:#0E1A3A; --soft:#4B5573; --line:#E8E1D2; --mat:#F6F1E7;
  position:relative;background:#fff;color:var(--navy);width:100%;box-sizing:border-box;overflow:hidden;
  font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;
  border-top:1px solid var(--line);padding-top:clamp(56px,7vw,96px);
}
.lbf *{box-sizing:border-box}
.lbf a{color:inherit;text-decoration:none}
.lbf-wrap{max-width:1380px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}

.lbf-cta{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,5vw,80px);align-items:end;padding-bottom:clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}
.lbf-cta h2{margin:0;font-weight:300;letter-spacing:-.035em;line-height:1.05;font-size:clamp(32px,4.6vw,66px);color:var(--maroon-deep)}
.lbf-cta h2 em{font-style:normal;color:var(--maroon)}
.lbf-cta p{margin:14px 0 0;color:var(--soft);font-size:17px;max-width:46ch}
.lbf-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.lbf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;font-size:15px;font-weight:500;border:1px solid var(--maroon);transition:background .3s,color .3s,border-color .3s}
.lbf-btn.solid{background:var(--maroon);color:#fff}
.lbf-btn.solid:hover{background:var(--maroon-deep);border-color:var(--maroon-deep)}
.lbf-btn.line{color:var(--maroon-deep);border-color:var(--maroon-deep)}
.lbf-btn.line:hover{background:var(--maroon-deep);color:#fff}

.lbf-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(28px,4vw,64px);padding:clamp(40px,5vw,72px) 0}
.lbf-brand b{display:block;font-weight:500;font-size:20px;letter-spacing:.34em;color:var(--maroon-deep)}
.lbf-brand p{margin:14px 0 0;color:var(--soft);max-width:34ch;font-size:15.5px}
.lbf-soc{display:flex;gap:10px;margin-top:20px}
.lbf-soc a{width:44px;height:44px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.lbf-soc a:hover{border-color:var(--maroon);background:var(--mat);transform:translateY(-3px)}
.lbf-soc svg{width:20px;height:20px;fill:none;stroke:var(--maroon-deep);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.lbf h3{margin:0 0 16px;font-size:13px;font-weight:500;color:var(--soft);letter-spacing:0}
.lbf-col a,.lbf-col span{display:block;padding:5px 0;font-size:15.5px}
.lbf-col a{position:relative;width:max-content;max-width:100%;transition:color .3s}
.lbf-col a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.lbf-col a:hover{color:var(--maroon)}
.lbf-col a:hover::after{transform:scaleX(1)}

.lbf-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lbf-trust div{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--maroon-deep)}
.lbf-trust svg{width:26px;height:26px;flex:0 0 auto;fill:none;stroke:var(--maroon);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

.lbf-mark{display:flex;justify-content:center;gap:.04em;margin:clamp(28px,4vw,56px) 0 0;font-weight:300;line-height:1;white-space:nowrap;user-select:none;font-size:clamp(34px,10.4vw,170px);letter-spacing:.02em;color:#FBF6F2;-webkit-text-stroke:1px rgba(90,15,31,.32)}
.lbf-mark span{display:inline-block;overflow:hidden;padding:.05em 0 .12em}
.lbf-mark i{display:inline-block;font-style:normal}

.lbf-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0 28px;font-size:14px;color:var(--soft)}
.lbf-bottom nav{display:flex;gap:6px 24px;flex-wrap:wrap}
.lbf-bottom a{transition:color .3s}
.lbf-bottom a:hover{color:var(--maroon)}

.lbf-top{position:fixed;right:20px;bottom:20px;z-index:9980;width:48px;height:48px;border:1px solid var(--maroon-deep);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s linear .5s,background .3s}
.lbf-top.show{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.lbf-top:hover{background:var(--mat)}
.lbf-top svg{width:20px;height:20px;fill:none;stroke:var(--maroon-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* motion, only when JavaScript runs */
.lbf-js .lbf-r{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * .1s)}
.lbf-js .lbf-mark i{transform:translateY(105%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--k) * .05s)}
.lbf.in .lbf-r{opacity:1;transform:none}
.lbf.in .lbf-mark i{transform:none}

@media (max-width:900px){
  .lbf-cta{grid-template-columns:1fr}
  .lbf-btns{justify-content:flex-start}
  .lbf-grid{grid-template-columns:1fr 1fr}
  .lbf-brand{grid-column:1/-1}
  .lbf-trust{grid-template-columns:1fr}
}
@media (max-width:520px){.lbf-grid{grid-template-columns:1fr}.lbf-bottom{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){
  .lbf *{transition:none !important;animation:none !important}
  .lbf-js .lbf-r,.lbf-js .lbf-mark i{opacity:1;transform:none}
}
.lbf-logo{display:block;height:46px;width:auto;max-width:100%}
.lbf-logo{display:block;height:46px;width:auto;max-width:100%}
.lbf{font-size:16px}

.lbf{position:relative}
/* touch screens: bigger targets for the link lists */
@media (pointer:coarse){
  .lbf-col a,.lbf-col span{padding:11px 0}
  .lbf-col a::after{bottom:7px}
  .lbf-bottom a{display:inline-flex;align-items:center;min-height:44px}
  .lbf-soc a{width:48px;height:48px}
}
@media (max-width:380px){.lbf-wrap{padding:0 14px}.lbf-btn{padding:0 18px;width:100%}.lbf-btns{width:100%}}

@media (min-width:1900px){.lbf-wrap{max-width:1720px}}
@media (min-width:2400px){.lbf-wrap{max-width:2060px}}

/* ---------- theme shield ---------- */
.lbf button{text-transform:none !important;letter-spacing:normal !important;font-family:inherit !important}
.lbf .lbf-top{background:#fff !important;border:1px solid var(--maroon-deep) !important;border-radius:0 !important}
.lbf a.lbf-btn{text-transform:none !important;letter-spacing:normal !important;border-radius:0 !important}

.lbf .lbf-top{width:48px !important;height:48px !important;min-width:0 !important;padding:0 !important;margin:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important;color:#3F0A16 !important}
.lbf .lbf-top svg{display:block !important;width:20px !important;height:20px !important;fill:none !important;stroke:#3F0A16 !important;stroke-width:1.6 !important;opacity:1 !important}
.lbf .lbf-top svg path{fill:none !important;stroke:#3F0A16 !important}

/* ---------- a more compact footer ---------- */
.lbf{padding-top:clamp(36px,4.4vw,60px)}
.lbf-cta{padding-bottom:clamp(24px,3vw,40px);align-items:center}
.lbf-cta h2{font-size:clamp(28px,3.4vw,50px)}
.lbf-cta p{margin-top:8px;font-size:16px}
.lbf-btn{min-height:48px}
.lbf-grid{padding:clamp(26px,3.2vw,44px) 0;gap:clamp(22px,3vw,48px)}
.lbf-logo{height:40px}
.lbf-brand p{margin-top:10px;font-size:15px}
.lbf-soc{margin-top:14px}
.lbf-col a,.lbf-col span{padding:4px 0}
.lbf-trust{padding:16px 0}
.lbf-mark{margin-top:clamp(14px,2vw,26px);font-size:clamp(28px,7.6vw,118px)}
.lbf-bottom{padding:14px 0 20px}
@media (pointer:coarse){.lbf-col a,.lbf-col span{padding:10px 0}}
@media (max-width:900px){.lbf-grid{grid-template-columns:1fr 1fr;row-gap:22px}.lbf-trust{grid-template-columns:1fr;gap:10px;padding:14px 0}}
