/* Commercial Footer V1 — scoped homepage component.
   Two !important resets below are a temporary compatibility boundary against
   legacy homepage rules that target the bare footer element. */
.site-footer {
  --footer-accent: #5de2ff;
  --footer-border: rgba(255,255,255,.09);
  --footer-muted: rgba(255,255,255,.56);
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-top: 1px solid var(--footer-border) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(93,226,255,.055), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.004));
}

.site-footer::after { content: none !important; }

.site-footer__shell {
  width: min(100%,1600px);
  margin: 0 auto;
  padding: clamp(72px,8vw,126px) 40px 38px;
}

.site-footer__main {
  display: grid;
  grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr);
  gap: clamp(64px,7vw,120px);
  align-items: start;
}

.site-footer__eyebrow,
.site-footer__detail-group h3 {
  margin: 0 0 16px;
  color: rgba(163,232,250,.82);
  font-family: monospace;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.site-footer__cta h2 {
  max-width: 11ch;
  margin: 0;
  color: #fff;
  font-size: clamp(42px,5.2vw,82px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.055em;
}

.site-footer__summary {
  max-width: 660px;
  margin: 24px 0 30px;
  color: var(--footer-muted);
  font-size: 16px;
  line-height: 1.72;
}

.site-footer__primary-action {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  border: 1px solid rgba(93,226,255,.46);
  border-radius: 6px;
  color: #fff;
  background: rgba(93,226,255,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  text-decoration: none;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}

.site-footer__primary-action:hover,
.site-footer__primary-action:focus-visible {
  border-color: rgba(93,226,255,.76);
  background: rgba(93,226,255,.12);
  box-shadow: 0 0 30px rgba(93,226,255,.12),inset 0 1px 0 rgba(255,255,255,.08);
  transform: translateY(-1px);
}

.site-footer__details {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 48px;
  padding-top: 8px;
}

.site-footer__detail-group {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 13px;
}

.site-footer__detail-group a,
.site-footer__socials a,
.site-footer__locale a {
  color: rgba(255,255,255,.72);
  text-decoration: none;
  transition: color .24s ease,text-shadow .24s ease;
}

.site-footer__detail-group a { font-size: 14px; line-height: 1.5; }

.site-footer__detail-group a:hover,
.site-footer__detail-group a:focus-visible,
.site-footer__socials a:hover,
.site-footer__socials a:focus-visible,
.site-footer__locale a:hover,
.site-footer__locale a:focus-visible {
  color: #fff;
  text-shadow: 0 0 16px rgba(93,226,255,.20);
}

.site-footer a:focus-visible {
  outline: 2px solid var(--footer-accent);
  outline-offset: 5px;
  border-radius: 3px;
}

.site-footer__brand-zone {
  display: grid;
  min-block-size: clamp(150px,14vw,240px);
  place-items: center;
  overflow: clip;
  isolation: isolate;
  margin: clamp(54px,7vw,96px) 0 18px;
  border-top: 1px solid rgba(255,255,255,.045);
  border-bottom: 1px solid rgba(255,255,255,.045);
}

.site-footer__watermark {
  display: block;
  max-inline-size: none;
  color: rgba(255,255,255,.042);
  text-shadow: 0 0 42px rgba(93,226,255,.075);
  font-size: clamp(96px,14vw,240px);
  font-weight: 900;
  letter-spacing: -.075em;
  line-height: .82;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

.site-footer__bottom {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  grid-template-areas: "logo socials locale" "copyright copyright copyright";
  gap: 22px 34px;
  align-items: center;
  padding-top: 20px;
}

.site-footer__logo {
  grid-area: logo;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.04em;
}

.site-footer__logo strong { color: var(--footer-accent); font-weight: 900; }

.site-footer__socials {
  grid-area: socials;
  display: flex;
  justify-content: center;
  gap: clamp(20px,2.6vw,38px);
  min-width: 0;
}

.site-footer__socials a,
.site-footer__locale a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.site-footer__locale { grid-area: locale; }
.site-footer__locale a { justify-content: center; min-width: 44px; color: var(--footer-accent); }

.site-footer__copyright {
  grid-area: copyright;
  margin: 0;
  color: rgba(255,255,255,.24);
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width:980px) {
  .site-footer__shell { padding-left: 24px; padding-right: 24px; }
  .site-footer__main { grid-template-columns: 1fr; gap: 54px; }
  .site-footer__cta h2 { max-width: 13ch; }
  .site-footer__details { max-width: 720px; }
}

@media (max-width:700px) {
  .site-footer__shell { padding: 72px 22px calc(30px + env(safe-area-inset-bottom)); }
  .site-footer__main { gap: 46px; }
  .site-footer__cta h2 { max-width: 12ch; font-size: clamp(39px,12vw,58px); line-height: 1; }
  .site-footer__summary { margin-top: 20px; font-size: 15px; }
  .site-footer__primary-action { width: 100%; }
  .site-footer__details { grid-template-columns: 1fr; gap: 34px; }
  .site-footer__detail-group a { min-height: 44px; display: inline-flex; align-items: center; }
  .site-footer__brand-zone { min-block-size: clamp(82px,25vw,118px); margin: 52px 0 12px; }
  .site-footer__watermark { font-size: clamp(72px,24vw,124px); }
  .site-footer__bottom {
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo locale" "socials socials" "copyright copyright";
    gap: 16px 22px;
  }
  .site-footer__socials { justify-content: flex-start; flex-wrap: wrap; gap: 4px 22px; }
  .site-footer__copyright { text-align: left; }
}

@media (max-height:500px) and (orientation:landscape) {
  .site-footer__shell { padding-top: 54px; }
  .site-footer__main { gap: 34px; }
  .site-footer__brand-zone { min-block-size: 76px; margin: 38px 0 10px; }
  .site-footer__watermark { font-size: clamp(66px,16vw,104px); }
}

@media (prefers-reduced-motion:reduce) {
  .site-footer *, .site-footer *::before, .site-footer *::after {
    scroll-behavior: auto;
    transition-duration: .01ms;
    animation: none;
  }
}

@media (forced-colors:active) {
  .site-footer__watermark { display: none; }
  .site-footer__primary-action, .site-footer a:focus-visible {
    border: 1px solid CanvasText;
    outline-color: Highlight;
  }
}
