/* Generated from homepage styles by tools/sync-supporting-layout.mjs. */
/* Footer finale. All layout and motion rules stay within this component. */
.hk-page .hk-footer {
  position: relative;
  isolation: isolate;
  background: #141617;
  color: #F7F3EA;
  border-top: 1px solid #8B7039;
  padding: clamp(48px, 6vw, 88px) 0 0;
  overflow: clip;
  view-timeline-name: --hk-footer-depth;
  view-timeline-axis: block;
}
.hk-page .hk-footer-inner { max-width: 1320px; margin: auto; padding: 0 clamp(18px, 4vw, 44px); }
.hk-page .hk-footer-top { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: end; }
.hk-page .hk-footer-label {
  font: 500 10px/1.5 'IBM Plex Mono', monospace;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: #D9AE55;
}
.hk-page .hk-footer-label { margin: 0 0 28px; display: flex; gap: 12px; align-items: center; }
.hk-page .hk-footer-marker { width: 7px; height: 7px; background: #D9AE55; transform: rotate(45deg); flex: none; }
.hk-page .hk-footer-heading {
  margin: 0; font-family: Archivo, sans-serif; font-size: clamp(52px, 7vw, 100px);
  font-weight: 900; line-height: .94; letter-spacing: -.045em;
}
.hk-page .hk-footer-heading > span { color: #D9AE55; }
.hk-page .hk-footer-invite { max-width: 350px; justify-self: end; width: 100%; }
.hk-page .hk-footer-invite > p { margin: 0 0 24px; max-width: 30ch; font-size: 17px; line-height: 1.6; color: #D1D0C8; }
.hk-page .hk-footer a { color: #F7F3EA; text-decoration: none; }
.hk-page .hk-footer a:hover { color: #D9AE55; }
.hk-page .hk-footer-contacts { display: grid; gap: 10px; }
.hk-page .hk-footer a.hk-footer-contact {
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 76px; padding: 14px 16px 14px 18px; border: 1px solid rgb(217 174 85 / 38%); border-radius: 3px;
  background: linear-gradient(112deg, rgb(247 243 234 / 8%), rgb(184 138 42 / 7%)); color: #F7F3EA;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 10px 30px rgb(0 0 0 / 14%);
  transition: transform 260ms cubic-bezier(.22,.61,.36,1), border-color 220ms ease, background-color 220ms ease, box-shadow 260ms ease;
}
.hk-page .hk-footer-contact::before {
  content: ''; position: absolute; inset: -70% 30% -70% -30%; pointer-events: none;
  background: radial-gradient(circle, rgb(217 174 85 / 15%), transparent 66%); opacity: .5;
  transition: transform 420ms cubic-bezier(.22,.61,.36,1), opacity 220ms ease;
}
.hk-page .hk-footer-contact > * { position: relative; z-index: 1; }
.hk-page .hk-footer-contact-kind { display: block; margin-bottom: 5px; color: #D9AE55; font: 500 9px/1.2 'IBM Plex Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }
.hk-page .hk-footer-contact-value { display: block; font-size: clamp(14px, 1.25vw, 16px); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.hk-page .hk-footer-contact-mark {
  display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid rgb(217 174 85 / 42%); border-radius: 50%;
  background: rgb(217 174 85 / 8%); transition: transform 260ms cubic-bezier(.22,.61,.36,1), background-color 220ms ease;
}
.hk-page .hk-footer-contact-mark .hk-arrow { width: 15px; height: 12px; }
.hk-page .hk-footer a.hk-footer-contact:focus-visible { outline: 2px solid #D9AE55; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .hk-page .hk-footer a.hk-footer-contact:hover { color: #F7F3EA; transform: translateY(-3px); border-color: rgb(217 174 85 / 76%); background-color: rgb(217 174 85 / 6%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 11%), 0 14px 34px rgb(0 0 0 / 24%), 0 0 28px rgb(184 138 42 / 9%); }
  .hk-page .hk-footer-contact:hover::before { transform: translateX(18%); opacity: .9; }
  .hk-page .hk-footer-contact:hover .hk-footer-contact-mark { transform: translateX(2px); background: rgb(217 174 85 / 16%); }
}
.hk-page .hk-footer a.hk-footer-contact:active { transform: translateY(1px) scale(.99); transition-duration: 90ms; }
.hk-page .hk-footer-details {
  margin-top: clamp(40px, 5vw, 72px); padding: 22px 0 10px;
  border-top: 1px solid rgb(217 174 85 / 24%);
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: center;
}
.hk-page .hk-footer-nav { display: flex; flex-wrap: wrap; gap: 0 24px; }
.hk-page .hk-footer-nav a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: 13px; font-weight: 600; position: relative;
}
.hk-page .hk-footer-nav a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 7px; height: 1px;
  background: #D9AE55; transform: scaleX(0); transform-origin: left;
  transition: transform 240ms cubic-bezier(.22,.61,.36,1);
}
.hk-page .hk-footer-nav a:hover::after, .hk-page .hk-footer-nav a:focus-visible::after { transform: scaleX(1); }
.hk-page .hk-footer-details > p { width: 100%; max-width: 350px; justify-self: end; margin: 0; font-size: 12px; line-height: 1.7; color: #B9BBB4; }
.hk-page .hk-footer-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px;
  padding-top: 16px; color: #A9ABA5; font: 400 10px/1.6 'IBM Plex Mono', monospace;
}
.hk-page .hk-footer-meta p { margin: 0; }
.hk-page .hk-footer-meta a { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; margin-left: auto; }
.hk-page .hk-footer .hk-footer-up { transform: rotate(-90deg); width: 16px; height: 16px; }
.hk-page .hk-footer-signature { padding-top: clamp(48px, 6vw, 86px); }
.hk-page .hk-footer-socials {
  position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between;
  gap: 22px; padding: 0 12%; margin-bottom: -20px;
}
.hk-page .hk-footer a.hk-footer-social {
  --tile-turn: -9deg; --tile-y: 14px;
  --tile-hover-bg: #A33468; --tile-hover-ink: #F7F3EA; --tile-hover-edge: #CF7A9D;
  display: grid; place-items: center; flex: 0 0 auto;
  width: clamp(60px, 8.4vw, 120px); aspect-ratio: 1; border-radius: 18%;
  background: #F7F3EA; color: #17191A; border: 1px solid #F7F3EA;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 6px 0 rgb(0 0 0 / 26%), 0 14px 24px rgb(0 0 0 / 16%);
  transform: translateY(var(--tile-y)) rotate(var(--tile-turn));
  transition: transform 420ms cubic-bezier(.22,.61,.36,1), background-color 280ms ease, color 280ms ease, border-color 280ms ease;
}
.hk-page .hk-footer .hk-footer-social:nth-child(2) { --tile-turn: 7deg; --tile-y: -18px; --tile-hover-bg: #202A2B; --tile-hover-ink: #9DD8D1; --tile-hover-edge: #698E8A; background: #B88A2A; border-color: #D9AE55; }
.hk-page .hk-footer .hk-footer-social:nth-child(3) { --tile-turn: -6deg; --tile-y: 6px; --tile-hover-bg: #285DB3; --tile-hover-edge: #779DD5; background: #232526; color: #F7F3EA; border-color: #7B7C73; }
.hk-page .hk-footer .hk-footer-social:nth-child(4) { --tile-turn: 10deg; --tile-y: -12px; --tile-hover-bg: #17191A; --tile-hover-edge: #D9AE55; }
.hk-page .hk-footer-social svg { width: 46%; height: 46%; transition: transform 420ms cubic-bezier(.22,.61,.36,1); }
.hk-page .hk-footer-social:focus-visible { outline: 2px solid #D9AE55; outline-offset: 7px; }
.hk-page .hk-footer a.hk-footer-social:focus-visible { background: var(--tile-hover-bg); color: var(--tile-hover-ink); border-color: var(--tile-hover-edge); }
@media (hover: hover) and (pointer: fine) {
  .hk-page .hk-footer a.hk-footer-social:hover { background: var(--tile-hover-bg); color: var(--tile-hover-ink); border-color: var(--tile-hover-edge); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hk-page .hk-footer .hk-footer-social:hover, .hk-page .hk-footer .hk-footer-social:focus-visible {
    transform: translateY(calc(var(--tile-y) - 10px)) rotate(0deg) scale(1.04);
  }
  .hk-page .hk-footer-social:is(:hover, :focus-visible) svg { transform: translateY(-1px) scale(1.06); }
}
@media (prefers-reduced-motion: no-preference) {
  .hk-page .hk-footer .hk-footer-social:active { transform: translateY(var(--tile-y)) rotate(0deg) scale(.96); transition-duration: 120ms; }
}
.hk-page .hk-footer-mask {
  overflow: clip;
  opacity: .56;
  /* The stationary mask dissolves the moving letters, not the whole footer. */
  height: 12.7vw;
  mask-image: linear-gradient(178.5deg, #000 22%, rgb(0 0 0 / .95) 42%, rgb(0 0 0 / .55) 66%, transparent 96%);
}
.hk-page .hk-footer-wordmark {
  display: block; width: 112%; max-width: none; height: auto; margin-left: -4%;
}
@keyframes hk-footer-rise {
  from { transform: translateY(32%); opacity: .45; }
  to { transform: translateY(0); opacity: 1; }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .hk-page .hk-footer-wordmark {
      animation: hk-footer-rise linear both;
      animation-timeline: --hk-footer-depth;
      animation-range: entry 45% entry 100%;
    }
  }
}
@media (max-width: 767px) {
  .hk-page .hk-footer-top, .hk-page .hk-footer-details { grid-template-columns: 1fr; gap: 30px; }
  .hk-page .hk-footer-heading { font-size: clamp(54px, 12.8vw, 88px); }
  .hk-page .hk-footer-label { font-size: 9px; margin-bottom: 24px; letter-spacing: .12em; }
  .hk-page .hk-footer-invite, .hk-page .hk-footer-details > p { max-width: none; justify-self: start; }
  .hk-page .hk-footer-invite > p { font-size: 16px; max-width: 34ch; margin-bottom: 20px; }
  .hk-page .hk-footer-nav { gap: 0 22px; }
  .hk-page .hk-footer-details { gap: 16px; padding: 18px 0 12px; }
  .hk-page .hk-footer-meta { gap: 8px 20px; }
  .hk-page .hk-footer-meta p:nth-child(2) { order: 3; flex-basis: 100%; max-width: 32ch; }
  .hk-page .hk-footer-signature { padding-top: 54px; }
  .hk-page .hk-footer-socials { padding: 0 7%; gap: 16px; margin-bottom: 0; }
  .hk-page .hk-footer a.hk-footer-social { width: clamp(52px, 15vw, 90px); }
  .hk-page .hk-footer .hk-footer-social:nth-child(2) { --tile-y: -12px; }
  .hk-page .hk-footer-mask { height: 13.8vw; }
  .hk-page .hk-footer-wordmark { margin-left: -3%; }
}
@media (prefers-reduced-motion: reduce) {
  .hk-page .hk-footer-wordmark { animation: none; }
  .hk-page .hk-footer a.hk-footer-social { transition: none; }
  .hk-page .hk-footer a.hk-footer-contact, .hk-page .hk-footer-contact::before, .hk-page .hk-footer-contact-mark { transition: none; }
  .hk-page .hk-footer-social svg { transition: none; }
  .hk-page .hk-footer-nav a::after { transition: none; }
}
header.hk-site-header[data-screen-label="Header"] {
  transition: box-shadow 220ms ease;
}
header.hk-site-header[data-scrolled="true"] {
  box-shadow: 0 4px 18px rgb(23 25 26 / 7%);
}
header.hk-site-header nav a {
  position: relative;
  border-bottom-color: transparent !important;
}
header.hk-site-header nav a::after {
  content: "";
  position: absolute;
  inset: auto 2px -1px;
  height: 1px;
  background: var(--hk-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 200ms var(--hk-ease);
}
header.hk-site-header nav a:focus-visible::after { transform: scaleX(1); }

/* Important declarations here override only the export's inline transition/background. */
.hk-button {
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease,
    box-shadow 200ms ease, translate 200ms var(--hk-ease), scale 120ms ease !important;
}
.hk-button.hk-button-gold {
  background-image: linear-gradient(180deg, rgb(255 249 224 / 13%), transparent 55%, rgb(72 47 8 / 7%)) !important;
  box-shadow: inset 0 1px 0 rgb(255 249 224 / 25%), inset 0 -1px 0 rgb(72 47 8 / 17%);
}
.hk-button:active:not(:disabled) {
  translate: 0 1px;
  scale: .985;
}
.hk-button-gold:focus-visible {
  outline: 2px solid #7A5D18;
  outline-offset: 4px;
}
#puffer :focus-visible, footer :focus-visible {
  outline-color: #D9AE55;
}
/* HAKRYX directional mark: one custom, forward-leaning editorial stroke; currentColor
   keeps every instance in its existing context. Icon boxes replace glyph advances. */
.hk-arrow {
  --hk-arrow-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 20' fill='none'%3E%3Cpath d='M1.5 11.25L26.5 8.75M18.5 2.6L26.5 8.75L20 16.5' stroke='%23000' stroke-width='1.65' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  vertical-align: -.12em;
  background: currentColor;
  -webkit-mask: var(--hk-arrow-art) center / contain no-repeat;
  mask: var(--hk-arrow-art) center / contain no-repeat;
  pointer-events: none;
  transition: translate 200ms var(--hk-ease);
}
/* Button variant: level shaft and mirrored head, with weight balanced to CTA type. */
.hk-button .hk-arrow {
  --hk-arrow-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 20' fill='none'%3E%3Cpath d='M2 10H25.5M17.75 3.5L25.5 10L17.75 16.5' stroke='%23000' stroke-width='2.1' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
}
.hk-arrow--back { rotate: 180deg; }
/* Only the hero quote and Continue: a single outline avoids overlapping stroke tips. */
.hk-arrow.hk-arrow--cta {
  --hk-arrow-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 20'%3E%3Cpath d='M1.5 8.3H20.2L15.8 3.9L18.2 1.5L26.7 10L18.2 18.5L15.8 16.1L20.2 11.7H1.5Z'/%3E%3C/svg%3E");
}
.hk-arrow--after { margin-inline-start: .25em; }
.hk-arrow--product { width: 1.1em; }
@media (forced-colors: active) {
  .hk-arrow { forced-color-adjust: none; background: ButtonText; }
}

/* Motion only: no changes to the hero or restored Quality / Process compositions. */
.hk-follow-label { pointer-events: none; }
#hero .hk-follow-label { display: inline-flex; align-items: center; gap: inherit; }
.hk-continue-label { display: inline-flex; align-items: center; gap: 12px; }
[data-hk-follow].hk-touch-pressed {
  translate: 0 1px;
  scale: .985;
  box-shadow: inset 0 2px 4px rgb(72 47 8 / 20%), inset 0 1px 0 rgb(255 249 224 / 12%);
}

/* Primary CTAs only. The native button/hit area never moves; its decorative
   face and backing do. Without JS, on touch, and with reduced motion: original buttons. */
@media (min-width: 900px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  .hk-follow-enabled [data-hk-follow] {
    position: relative;
    isolation: isolate;
    background: transparent !important;
    box-shadow: none !important;
    translate: none !important;
    scale: none !important;
  }
  .hk-follow-enabled [data-hk-follow]::before,
  .hk-follow-enabled [data-hk-follow]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
  }
  .hk-follow-enabled [data-hk-follow]::before {
    z-index: -2;
    background: #17191A;
    opacity: var(--hk-back-alpha, 0);
    transform: translate3d(var(--hk-back-x, 0px), var(--hk-back-y, 0px), 0);
  }
  .hk-follow-enabled #puffer [data-hk-follow]::before { background: #F7F3EA; }
  .hk-follow-enabled .hk-footer [data-hk-follow]::before { background: #F7F3EA; }
  .hk-follow-enabled .hk-continue-follow::before { background: #B88A2A; }
  .hk-follow-enabled [data-hk-follow]::after {
    z-index: -1;
    background: #B88A2A linear-gradient(180deg, rgb(255 249 224 / 13%), transparent 55%, rgb(72 47 8 / 7%));
    box-shadow: inset 0 1px 0 rgb(255 249 224 / 25%), inset 0 -1px 0 rgb(72 47 8 / 17%);
    transition: background-color 180ms ease, box-shadow 180ms ease;
  }
  .hk-follow-enabled [data-hk-follow] .hk-follow-label { display: inline-block; }
  .hk-follow-enabled #hero .hk-follow-label { display: inline-flex; }
  .hk-follow-enabled [data-hk-follow]::after,
  .hk-follow-enabled [data-hk-follow] .hk-follow-label {
    transform: translate3d(var(--hk-face-x, 0px), var(--hk-face-y, 0px), 0) scale(var(--hk-face-scale, 1));
  }
  .hk-follow-enabled [data-hk-follow]:hover::after {
    background-color: #D9AE55;
    box-shadow: inset 0 0 0 1px rgb(23 25 26 / 28%), inset 0 2px 0 rgb(255 249 224 / 24%);
  }
  .hk-follow-enabled .hk-continue-follow::after { background-color: #17191A; }
  .hk-follow-enabled .hk-continue-follow:hover::after { background-color: #2B2E30; }
  .hk-follow-enabled .hk-continue-follow .hk-continue-label { display: inline-flex; }
  .hk-follow-enabled [data-hk-follow]:active::after {
    box-shadow: inset 0 1px 3px rgb(72 47 8 / 24%);
  }
  .hk-follow-enabled [data-hk-follow].hk-follow-moving::before,
  .hk-follow-enabled [data-hk-follow].hk-follow-moving::after,
  .hk-follow-enabled [data-hk-follow].hk-follow-moving .hk-follow-label { will-change: transform; }
}

.hk-follow-label.hk-follow-inline { display: inline-flex; align-items: center; justify-content: center; gap: inherit; }
.hk-follow-enabled [data-hk-follow] .hk-follow-label.hk-follow-inline { display: inline-flex; }
.hk-follow-enabled a[data-hk-follow] { transform: none !important; }
[data-hk-follow] .hk-follow-inline svg { transition: translate 200ms cubic-bezier(.22,.61,.36,1); }
@media (hover: hover) and (pointer: fine) {
  [data-hk-follow]:hover .hk-follow-inline svg { translate: 2px 0; }
}
@media (prefers-reduced-motion: reduce) {
  [data-hk-follow] .hk-follow-inline svg { transition: none; translate: none; }
}

