.site-footer {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 80px max(var(--gutter, 24px), calc((100% - 1524px) / 2)) 32px;
  background: var(--color-ink);
  color: var(--color-white);
  font: 13px / 1.5 var(--mono, ui-monospace, monospace);
  overflow: hidden;
}
.site-footer::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgb(23 22 27 / .72);
}
/* Owner-approved homepage variation; all other public footers keep the grey mask. */
.lp-home .site-footer::after {
  background: linear-gradient(115deg, rgb(77 84 91 / .12), rgb(67 88 108 / .2) 52%, rgb(17 35 57 / .32)), rgb(23 22 27 / .72);
}
.site-footer > .footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 80px;
  width: 100%;
}
.footer-invitation h2 {
  max-width: 650px;
  font: 400 clamp(32px, 3.1vw, 48px) / 1.12 var(--sans, system-ui, sans-serif);
  letter-spacing: -.025em;
  text-wrap: pretty;
  margin: 0 0 32px;
}
.footer-navigation { display: grid; grid-template-columns: 1fr 1.35fr; gap: 32px; align-content: start; }
.footer-navigation > div { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-label { color: var(--color-bone); font: 12px / 1.2 var(--mono, ui-monospace, monospace); text-transform: uppercase; margin-bottom: 8px; }
.footer-navigation a { font: 400 17px / 1.4 var(--sans, system-ui, sans-serif); text-underline-offset: 5px; text-decoration-thickness: 1px; }
.footer-navigation a:hover { text-decoration: underline; }
.site-footer > .footer-wordmark { display: block; width: 100%; margin: 100px 0 40px; color: white; }
.footer-wordmark .footer-mark { position: static; display: block; width: 100%; height: auto; overflow: visible; }
.footer-wordmark:focus-visible { outline-color: var(--orchid, #f7deff); outline-offset: 10px; }
.site-footer :is(a, button):focus-visible { outline-color: var(--orchid, #f7deff); }
.site-footer > .footer-bottom {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
}
.footer-bottom small { color: var(--color-bone); font: 11px / 1.5 var(--mono, ui-monospace, monospace); }
.footer-top { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; gap: 12px; font: 12px / 1.2 var(--mono, ui-monospace, monospace); text-transform: uppercase; }
.footer-top svg { width: 18px; height: 18px; transition: transform var(--motion-action, .24s) var(--ease, ease); }
.footer-top:hover svg { transform: translateY(-2px); }
@media (max-width: 1024px) {
  .site-footer { padding-top: 56px; padding-bottom: 24px; }
  .site-footer > .footer-main { grid-template-columns: 1fr; gap: 52px; }
  .footer-invitation h2 { max-width: 620px; }
  .footer-navigation { max-width: 640px; }
  .site-footer > .footer-wordmark { margin-top: 64px; margin-bottom: 32px; }
}
@media (max-width: 480px) {
  .site-footer > .footer-main { gap: 40px; }
  .footer-navigation { grid-template-columns: 1fr 1.3fr; gap: 20px; }
  .footer-navigation a { font-size: 15px; }
  .footer-label { font-size: 10px; }
  .footer-bottom small { max-width: 190px; font-size: 10px; }
  .footer-top span { display: none; }
  .footer-navigation a { display: inline-flex; align-items: center; min-height: 44px; }
  .site-footer > .footer-wordmark { margin-top: 44px; margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer [data-footer-reveal], .footer-wordmark .footer-mark { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}

.footer-direct-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px}
.footer-direct-contact a{display:inline-flex;align-items:center;min-height:44px;font:500 clamp(22px,2.2vw,34px)/1.3 var(--sans);letter-spacing:-.025em;color:#e3d4f0;text-decoration:none}
.footer-direct-contact a:hover{text-decoration:underline;text-underline-offset:6px}
@media(max-width:480px){.footer-direct-contact{margin-top:24px;gap:6px}.footer-direct-contact a{font-size:clamp(21px,6.2vw,27px)}}

/* LocalPixel footer: no video, no full-width wordmark. A faint static pixel field, a stepped
   top-left corner, the email as the headline, numbered index links, a pixel-gridded mark. */
.site-footer{--step:14px;padding-top:112px;background:var(--color-ink);color:var(--on-dark);
  clip-path:polygon(0 calc(var(--step)*3),var(--step) calc(var(--step)*3),var(--step) calc(var(--step)*2),calc(var(--step)*2) calc(var(--step)*2),calc(var(--step)*2) var(--step),calc(var(--step)*3) var(--step),calc(var(--step)*3) 0,100% 0,100% 100%,0 100%)}
.site-footer::after,.lp-home .site-footer::after{background:radial-gradient(circle,rgb(244 242 247 / .075) 1.1px,transparent 1.5px) 0 0/14px 14px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 55%);mask-image:linear-gradient(180deg,transparent,#000 55%)}
.site-footer > .footer-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:end}
.footer-invitation h2{font:400 clamp(18px,1.5vw,22px)/1.35 var(--sans,system-ui,sans-serif);letter-spacing:-.01em;color:var(--on-dark-muted);margin:0}
.footer-direct-contact{margin-top:20px;gap:6px}
.footer-direct-contact a{color:var(--on-dark);font:500 clamp(22px,1.8vw,28px)/1.25 var(--sans);letter-spacing:-.02em}
.footer-direct-contact a[href^="mailto:"]{order:-1;font:500 clamp(40px,5.4vw,84px)/1 var(--sans);letter-spacing:-.045em;color:var(--on-dark);text-decoration:none;background:linear-gradient(var(--color-coral),var(--color-coral)) 0 100%/0 3px no-repeat;padding-bottom:6px;transition:background-size .5s var(--ease,ease)}
.footer-direct-contact a[href^="mailto:"]:hover{text-decoration:none;background-size:100% 3px}
.footer-navigation > div{counter-reset:footer-link;gap:6px}
.footer-navigation a{counter-increment:footer-link;display:inline-flex;align-items:baseline;gap:14px;font:400 16px/1.5 var(--sans,system-ui,sans-serif);color:var(--on-dark)}
.footer-navigation a::before{content:counter(footer-link,decimal-leading-zero);font:400 11px/1 var(--mono);color:var(--on-dark-muted);min-width:2ch}
.footer-navigation a:hover::before{color:var(--color-coral)}
.footer-label{display:flex;align-items:center;gap:10px;color:var(--on-dark-muted);letter-spacing:.01em;text-transform:none}
.footer-label::before{content:'';width:5px;height:5px;background:var(--color-coral)}
.site-footer > .footer-wordmark{width:min(56%,760px);margin:96px 0 36px auto;color:var(--on-dark)}
.footer-wordmark .footer-mark{-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 8px),repeating-linear-gradient(0deg,#000 0 6px,transparent 6px 8px);-webkit-mask-composite:source-in;mask-image:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 8px),repeating-linear-gradient(0deg,#000 0 6px,transparent 6px 8px);mask-composite:intersect}
.site-footer > .footer-bottom{padding-top:20px;border-top:1px solid rgb(244 242 247 / .14)}
.footer-bottom small{color:var(--on-dark-muted)}
.footer-bottom small::after{content:'  ·  49.28° N, 123.12° W'}
@media (max-width:1024px){.site-footer{--step:10px;padding-top:80px}.site-footer > .footer-main{grid-template-columns:1fr;gap:48px}.site-footer > .footer-wordmark{width:min(78%,560px);margin:64px 0 28px auto}}
@media (max-width:480px){.footer-direct-contact a[href^="mailto:"]{font-size:clamp(28px,9vw,40px)}.footer-bottom small::after{content:''}.site-footer > .footer-wordmark{width:86%}}
.footer-field{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.site-footer.has-footer-field::after{display:none}
