.footer-band{
  background:#0F0F0F;
  overflow:hidden;
  border-radius:14px 0px 0 0;
  padding:20px 0 48px;
}
.footer-band{--gap:48px}
.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:16px;
  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:var(--surface);
  border-radius:14px 0px 0 0;
  margin-top:-28px;
  border-top:none;
  box-shadow:0 -10px 30px rgba(0,0,0,.06);
}
[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:24px;
  margin:64px 20px 40px;
  padding:32px;
  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:14px;
  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}

.footer-about{text-align:left}
.footer-brand img{height:150px;width:auto;margin-bottom:18px}
.footer-about 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:"";
  width:4px;height:16px;flex:none;
  background:radial-gradient(circle 2px at 2px 3px,#F00000 2px,transparent 2.5px),
             radial-gradient(circle 2px at 2px 8px,#F00000 2px,transparent 2.5px),
             radial-gradient(circle 2px at 2px 13px,#F00000 2px,transparent 2.5px);
}
.footer-links a{color:var(--text);font-size:.95rem}
.footer-links a:hover{color:#F00000}

.pay-logos{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pay-logos img{height:54px;width:auto;filter:grayscale(100%);opacity:.85;background:transparent;border-radius:0;padding:0}
.pay-logos img:hover{filter:grayscale(0);opacity:1}

.contact-form{display:grid;gap:12px;max-width:340px}
.contact-form input{
  width:100%;
  background:#f0f0f2;
  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(180deg,#8b8b90,#6d6d73);
  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(0,0,0,.18);
}
.contact-form button::after{content:"▸"}
.form-status{font-size:.85rem;margin:0;min-height:1.2em}
.form-status.ok{color:#0a7a3d}
.form-status.err{color:#c01414}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0}

.footer-map{
  border-radius:14px;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:14px;
  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 12px 32px;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 12px 32px;padding:24px}
  .footer-about{text-align:center}
  .footer-brand img{margin:0 auto 18px}
  .contact-form{max-width:100%}
  .pay-logos img{height:50px;width:auto;filter:grayscale(100%);opacity:.85;background:transparent;border-radius:0;padding:0}
  .footer-giant-crop{--giant-h:58vw;margin-top:-20px}
}


.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/footer.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,#c00a1c 0%,#E30613 28%,#ff2a2a 52%,#ff4444 70%,#E30613 100%);
  background-size:100% 100%,200% 200%;
  animation:giantPaintShift 6s ease-in-out infinite alternate;
}
@keyframes giantPaintShift{
  to{ background-position:0 0,100% 100%; }
}




.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}
}

.footer-band{
  position:relative;
  -webkit-mask-image:none;
  mask-image: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:#FAFAFA !important;
  border:none !important;
  border-radius:14px !important;
  padding:26px 28px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.18) !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:14px;
    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:14px;
}
.footer-social{
    display:flex;
    gap:10px;
}
.footer-social a{
    width:40px;
    height:40px;
    border-radius:50%;
    background:#1e1e1e;
    color:#FAFAFA;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s ease;
}
.footer-social a:hover{ background:#F00000; }
.btn-contact-pill{
    background:linear-gradient(90deg,#000,#e02020);
    color:#FAFAFA;
    padding:14px 26px;
    border-radius:14px;
    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; }
}