.footer-wrap{
  --card-gap:90px;
  --card-color:#ecedef;

  position:relative;
  isolation:isolate;
  padding-top:220px;
  padding-bottom:var(--card-gap);
  margin-top:-220px;
  background:linear-gradient(to top,
    #FFFFFF 0%,
    #FFFFFF 40%,
    rgba(255,255,255,0) 78%);
}
[data-theme="dark"] .footer-wrap{
  --card-color:#2E2E2E;
  background:linear-gradient(to top,
    #000000 0%,
    rgba(0,0,0,.65) 35%,
    rgba(0,0,0,0) 78%);
}
@media (max-width:640px){
  .footer-wrap{
    --card-gap:44px;
  }
}
.footer-band{
  position:relative;
  z-index:1;
  background:#0F0F0F;
  overflow:hidden;
  border-radius:10px 10px 0 0;
  padding:20px 0 48px;
  margin:0 20px;
}
@media (max-width:640px){
  .footer-band{margin:0 10px}
}
.footer-band{--gap:15px}
.footer-band .marquee-track{
  display:flex;gap:var(--gap);width:max-content;
  animation:footerMarquee 40s linear infinite;
}
@keyframes footerMarquee{
  to{transform:translateX(calc(-50% - var(--gap)/2))}
}
.footer-band span{
  flex:none;color:#FAFAFA;font-weight:400;font-size:15px;
  white-space:nowrap;
}
.footer-band span:nth-child(odd){color:rgba(255,255,255,.45)}
@media (prefers-reduced-motion:reduce){
  .footer-band{overflow-x:auto}
  .footer-band .marquee-track{animation:none}
}

.site-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  z-index:3;
  background:#ecedef;
  border-radius:10px;
  margin:-28px 20px 0;
  border-top:none;
  box-shadow:0 -10px 30px rgba(0,0,0,.06);
}
@media (max-width:640px){
  .site-footer{margin:-28px 10px 0}
}
[data-theme="dark"] .site-footer{background:#14141a}

.footer-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.1fr .9fr 1fr 1fr;
  gap:20px;
  margin:20px 20px 20px;
  padding:20px;
  align-items:stretch;
  background:rgba(255,255,255,.5);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border:0px solid rgba(255,255,255,.6);
  border-radius:10px;
  box-shadow:0 8px 32px rgba(0,0,0,.06);
}
[data-theme="dark"] .footer-grid{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.1);
  box-shadow:0 8px 32px rgba(0,0,0,.035);
}

.footer-col{padding:0;position:relative}

.footer-grid .footer-col:not(:last-child)::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:-12px;
  width:1px;
  background:rgba(0,0,0,.1);
}
[data-theme="dark"] .footer-grid .footer-col:not(:last-child)::after{
  background:rgba(255,255,255,.1);
}
@media (max-width:1100px){
  .footer-grid .footer-col:nth-child(2n)::after{display:none}
}
@media (max-width:640px){
  .footer-grid .footer-col::after{display:none}
}

.footer-about{text-align:left}
.footer-brand img{height:150px;width:auto;margin-bottom:18px}
.footer-col p{color:var(--muted);font-size:.95rem;line-height:1.8}
.footer-highlight{color:var(--text)!important}
.footer-highlight strong{font-style:italic}

.footer-col h3{
  font-size:1rem;font-weight:700;margin:0 0 1em;color:var(--text);
}
.footer-col h3 .red{color:#F00000}

.footer-links{list-style:none;margin:0 0 1.8em;padding:0}
.footer-links li{display:flex;align-items:center;gap:10px;padding:5px 0}
.footer-links li::before{
  content:"\203A";
  flex:none;
  color:#F00000;
  font-weight:800;
  font-size:1.15rem;
  line-height:1;
}
.footer-links a{color:var(--text);font-size:.95rem}
.footer-links a:hover{color:#F00000}

.footer-social-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:22px;
}

.footer-social{
  display:flex;
  gap:8px;
}
.footer-social a{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#0F0F0F;
  color:#FAFAFA;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease;
}
.footer-social a:hover{background:#F00000}

.footer-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.footer-badges a{
  display:inline-flex;
  align-items:center;
  background:#0F0F0F;
  border-radius:999px;
  padding:6px 14px;
  height:38px;
  transition:background .2s ease;
}
.footer-badges a:hover{background:#1e1e1e}
.footer-badges img{
  height:16px;
  width:auto;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.9;
}

.pay-logos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px 6px;
  align-items:center;
  justify-items:center;
}
.pay-logos a{
  width:100%;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:none;
  overflow:visible;
}
.pay-logos img{
  height:48px !important;
  width:auto !important;
  max-width:100%;
  object-fit:contain;
  display:block;
  filter:grayscale(100%);
  opacity:.7;
}
.pay-logos a:hover img{
  filter:none;
  opacity:1;
}

@media (max-width:640px){
  .pay-logos object-fit:contain;
  .pay-logos img{height:22px !important}
}

.contact-form{display:grid;gap:12px;max-width:340px}
.contact-form input{
  width:100%;
  background:#FAFAFA;
  border:none;border-radius:999px;
  padding:13px 20px;
  color:var(--text);font-family:var(--font-body);font-size:.92rem;
}
[data-theme="dark"] .contact-form input{background:#20202a}
.contact-form input:focus{outline:2px solid rgba(227,6,19,.35)}
.contact-form button{
  justify-self:start;
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(90deg,#8A8A8A,#8A8A8A);
  color:#FAFAFA;border:none;border-radius:999px;
  padding:12px 28px;font-weight:600;font-size:.95rem;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.contact-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(227,6,19,.35);
}
.contact-form button{
  justify-self:start;
  display:inline-flex;align-items:center;gap:10px;
  background:#F00000;
  color:#FAFAFA;border:none;border-radius:999px;
  padding:12px 28px;font-weight:600;font-size:.95rem;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}

.footer-map{
  border-radius:10px;overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.1);
}
.footer-map iframe{
  display:block;width:100%;height:360px;border:0;
  filter:grayscale(100%);
}

.footer-bottom{
  position:relative;
  z-index:1;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  margin:0 20px 40px;
  padding:20px 32px;
  background:#F00000;
  border-radius:10px;
  color:#FAFAFA;font-size:.92rem;
}
.footer-bottom p{margin:0;color:#FAFAFA}
.footer-bottom-link{color:#FAFAFA;font-size:.92rem;font-weight:600;text-decoration:none}
.footer-bottom-link:hover{color:#FAFAFA;text-decoration:underline}
@media (max-width:640px){
  .footer-bottom{margin:0 8px 24px;padding:16px 20px;justify-content:center;text-align:center}
}

@media (max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .footer-grid{grid-template-columns:1fr;gap:24px;margin:40px 8px 24px;padding:20px}
  .footer-about{text-align:left}
  .footer-brand img{margin:0 0 18px}
  .contact-form{max-width:100%}
  .pay-logos a{padding:6px 10px}
  .pay-logos img{height:18px}
  .footer-giant-crop{--giant-h:58vw;margin-top:-20px}
  .footer-social-badges{margin-top:18px}
}

.footer-giant-crop{
  --giant-h:clamp(160px,30vw,620px);
  position:relative;
  z-index:1;
  width:100%;
  overflow:hidden;
  height:calc(var(--giant-h) * .9);
}
.footer-giant-crop{
  --giant-h:clamp(160px,30vw,620px);
  position:relative;
  z-index:1;
  width:100%;
  overflow:hidden;
  height:calc(var(--giant-h) * .9);
}

.footer-giant-crop{
  --giant-h:clamp(160px,30vw,620px);
  position:relative;
  z-index:1;
  width:100%;
  overflow:hidden;
  height:calc(var(--giant-h) * .9);
}

.footer-giant--img{
  --giant-src:url('/assets/img/footer2.svg');

  position:relative;
  width:100%;
  height:var(--giant-h, clamp(160px,30vw,620px));
  margin-inline:auto;
  user-select:none;
  cursor:crosshair;
  touch-action:none;

  -webkit-mask-image:var(--giant-src);
  mask-image:var(--giant-src);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center bottom;
  mask-position:center bottom;
  -webkit-mask-size:contain;
  mask-size:contain;

  font-size:0;
  color:transparent;
  overflow:hidden;
}

.footer-giant--img .giant-paint{
  position:absolute;
  inset:0;
  background:
    radial-gradient(120% 160% at 20% 10%, rgba(255,255,255,.12), transparent 38%),
    linear-gradient(120deg,#F00000 0%,#F00000 28%,#F00000 52%,#F00000 70%,#F00000 100%);
  background-size:100% 100%,200% 200%;
  animation:giantPaintShift 6s ease-in-out infinite alternate;
}

.footer-giant--img canvas.giant-canvas{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}

@media (prefers-reduced-motion:reduce){
  .footer-giant--img .giant-paint{animation:none}
}

@supports not ((-webkit-mask-image:url('')) or (mask-image:url(''))){
  .footer-giant--img{
    background:var(--giant-src) center bottom / contain no-repeat;
    opacity:.25;
  }
  .footer-giant--img .giant-paint,
  .footer-giant--img canvas.giant-canvas{display:none}
  .fnotch{display:none}
}

.footer-band::before,
.footer-band::after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:clamp(90px,12vw,200px);
  z-index:2;
  pointer-events:none;
}
.footer-band::before{
  left:0;
  background:linear-gradient(90deg,#0a0a0a 15%,transparent);
}
.footer-band::after{
  right:0;
  background:linear-gradient(270deg,#0a0a0a 15%,transparent);
}

.footer-links li{padding:2px 0}
.footer-links a{padding:0 !important;display:inline !important}

.cookie-banner{
  position:fixed !important;
  top:auto !important;
  left:auto !important;
  right:24px !important;
  bottom:24px !important;
  margin:0 !important;
  width:auto !important;
  max-width:380px !important;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:#ecedef !important;
  border:none !important;
  border-radius:10px !important;
  padding:26px 28px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.08) !important;
  color:#1B2233;
}
[data-theme="dark"] .cookie-banner{
  background:#1a1a22 !important;
  color:var(--text);
}
.cookie-banner h3,
.cookie-banner h4,
.cookie-banner .cookie-title{
  font-family:var(--font-display);
  font-size:1.4rem;
  font-weight:700;
  margin:0 0 10px;
  color:inherit;
}
.cookie-banner p{
  color:#5B6478 !important;
  font-size:.88rem !important;
  line-height:1.7;
}
[data-theme="dark"] .cookie-banner p{color:var(--muted) !important}
.cookie-banner p a{
  color:inherit;
  font-weight:600;
  text-decoration:underline;
}
.cookie-actions{
  display:flex;gap:12px;margin-top:6px;
}
.cookie-actions .btn{
  flex:1;
  justify-content:center;
  background:#F00000 !important;
  color:#FAFAFA !important;
  border:none !important;
  border-radius:999px !important;
  padding:.8em 1.4em !important;
  font-weight:600;
  box-shadow:0 6px 18px rgba(227,6,19,.3);
}
.cookie-actions .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(227,6,19,.4);
}
@media (max-width:560px){
  .cookie-banner{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    max-width:none !important;
  }
}

.cookie-banner{z-index:100001 !important}

.cookie-banner[hidden]{display:none !important}

.cookie-banner .modal-close,
.cookie-banner .cookie-close,
.cookie-banner .close,
.cookie-banner > button:not(.btn){
  display:none !important;
}
.footer-brand img{
  display:block;
  margin-left:auto;
  margin-right:auto;
}
.site-footer .footer-grid.footer-grid--with-map{
    display:grid !important;
    grid-template-columns:1.3fr 1fr 1.3fr 1.1fr;
    gap:24px;
    align-items:start;
}
.site-footer .footer-col.footer-map{
    display:flex;
    align-items:flex-start;
    width:100%;
}
.footer-map-embed{
    width:100%;
    line-height:0;
}
.footer-map-embed iframe{
    display:block;
    width:100%;
    border:0;
    filter:grayscale(0.85) contrast(1.05);
}
.footer-textarea-hidden{ display:block; }
.btn-pill{
    border-radius:10px;
    padding:14px 26px;
}
.footer-contact-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 20px;
    margin:0 auto 20px;
    max-width:1200px;
    background:#0F0F0F;
    border-radius:10px;
}
.btn-contact-pill{
    background:linear-gradient(90deg,#000,#e02020); 
    color:#FAFAFA;
    padding:14px 26px;
    border-radius:10px;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
}
.footer-wordmark{
    font-size:14vw;
    line-height:.8;
    font-weight:800;
    text-align:center;
    letter-spacing:-.02em;
    color:#0F0F0F;
    overflow:hidden;
    user-select:none;
}
@media (max-width:900px){
    .footer-grid--with-map{ grid-template-columns:1fr 1fr; }
    .footer-contact-bar{ flex-direction:column; }
}
@media (max-width:600px){
    .footer-grid--with-map{ grid-template-columns:1fr; }
}

.fab-contact{
  position:fixed;
  right:10px;
  bottom:10px;
  z-index:9000;
}
.fab-contact__toggle{
  position:relative;
  width:60px;
  height:60px;
  border-radius:10px;
  border:0px solid rgba(255,255,255,.35);
  background:rgba(15,15,15,.04);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 8px 26px rgba(0,0,0,.018);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#F00000;
  transition:transform .5s cubic-bezier(.16,1,.3,1),background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
[data-theme="dark"] .fab-contact__toggle{
  background:rgba(250,250,250,.08);
  border-color:rgba(255,255,255,.14);
}
.fab-contact__toggle:hover{
  box-shadow:0 10px 30px rgba(240,0,0,.003);
}
.fab-contact.is-open .fab-contact__toggle{
  transform:rotate(405deg);
  background:#000000;
  border-color:#F00000;
}
.fab-contact__toggle svg{
  position:absolute;
  transition:opacity .3s ease,transform .3s ease;
}
.fab-contact__icon-wa{opacity:1;transform:scale(1)}
.fab-contact__icon-close{opacity:0;transform:scale(.6)}
.fab-contact.is-open .fab-contact__icon-wa{opacity:0;transform:scale(.6)}
.fab-contact.is-open .fab-contact__icon-close{opacity:1;transform:scale(1)}

.fab-contact__action{
  position:absolute;
  right:0;
  bottom:0;
  width:52px;
  height:52px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#FAFAFA;
  background:rgba(15,15,15,.4);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
  opacity:0;
  pointer-events:none;
  transform:translate(0,0) scale(.7);
  transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s ease,background .2s ease,border-color .2s ease;
}
[data-theme="dark"] .fab-contact__action{
  background:rgba(250,250,250,.08);
  border-color:rgba(255,255,255,.14);
}
.fab-contact__action:hover{background:#F00000;border-color:#F00000}

.fab-contact.is-open .fab-contact__action{
  opacity:1;
  pointer-events:auto;
}
.fab-contact.is-open .fab-contact__action--wa{
  transform:translate(0,-68px) scale(1);
  transition-delay:.08s;
}
.fab-contact.is-open .fab-contact__action--call{
  transform:translate(-68px,0) scale(1);
  transition-delay:.02s;
}

@media (max-width:640px){
  .fab-contact{right:10px;bottom:10px}
  .fab-contact__toggle{width:60px;height:60px;}
  .fab-contact__action{width:48px;height:48px}
  .fab-contact.is-open .fab-contact__action--wa{transform:translate(0,-60px) scale(1)}
  .fab-contact.is-open .fab-contact__action--call{transform:translate(-60px,0) scale(1)}
}
.footer-giant-crop{
  --fade-color:#FFFFFF;
}
[data-theme="dark"] .footer-giant-crop{
  --fade-color:#000000;
}
