/* Pointer-driven particles are decorative; the existing link remains the action. */
.hero-actions .button-light.sentient-trigger {
  --charge: 0;
  position: relative;
  isolation: isolate;
  border: 1px solid #d8c8a9;
  border-radius: 3px;
  background: #efe9dc;
  color: #20241a;
  box-shadow: inset 0 1px 0 #fff8, 0 5px 22px #090b081a;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 220ms ease;
}
.hero-actions .button-light.sentient-trigger > span {
  position: relative;
  z-index: 2;
}
.hero-actions .button-light.sentient-trigger::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background-image: radial-gradient(circle, #685a3e80 .7px, transparent 1px);
  background-size: 6px 6px;
  -webkit-mask-image: linear-gradient(105deg, transparent 12%, #000 100%);
  mask-image: linear-gradient(105deg, transparent 12%, #000 100%);
  opacity: calc(.15 + var(--charge, 0) * .22);
  transform: translateX(calc(var(--charge, 0) * -1px));
  transition: opacity 180ms ease, transform 220ms ease;
  pointer-events: none;
}
.hero-actions .button-light.sentient-trigger::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 2px;
  border: 1px solid #987b4730;
  border-radius: 1px;
  box-shadow: inset 0 0 12px #c7a8780d;
  opacity: calc(.4 + var(--charge, 0) * .6);
  transition: opacity 180ms ease, border-color 180ms ease;
  pointer-events: none;
}
.hero-actions .button-light.sentient-trigger.is-energized {
  --charge: 1;
  border-color: #b89b6c;
  background: #f1e6ce;
  box-shadow: inset 0 1px 0 #fff9, 0 0 24px #d1ae7433, 0 6px 24px #090b082b;
}
.hero-actions .button-light.sentient-trigger:focus-visible {
  outline: 2px solid #e9d3ac;
  outline-offset: 6px;
  border-color: #a98855;
}

/* A face and a name form the closing composition; links have their own clear lane. */
.footer-track.has-sentient-face {
  --face-pin-top: var(--footer-pin-top, 90px);
  --face-footer-height: max(620px, calc(100svh - var(--face-pin-top)));
}
.footer-track.has-sentient-face .footer.local-scene {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  align-items: start;
  justify-items: start;
  row-gap: 20px;
  min-height: 580px;
  height: auto;
  padding: 85px calc(var(--gutter) + 48%) 105px var(--gutter);
  overflow: clip;
  background: radial-gradient(ellipse at 77% 48%, #9b805b12, transparent 43%), #151712;
}
.footer-track.has-sentient-face .footer.local-scene :is(.wordmark, .copyright, .footer-links) {
  grid-column: 1;
  margin-left: 0;
  justify-self: start;
  opacity: 1;
}
.footer-track.has-sentient-face .footer.local-scene .wordmark {
  margin-bottom: 8px;
  font-size: 23px;
  line-height: 1.08;
}
.footer-track.has-sentient-face .footer.local-scene .copyright { max-width: 28rem; }
.footer-track.has-sentient-face .footer.local-scene .footer-links {
  flex-wrap: wrap;
  gap: 18px;
  max-width: 100%;
}
.footer-track.has-sentient-face .footer.local-scene .footer-aura {
  top: 56%;
  left: 65%;
  width: 68vw;
  opacity: .15;
}
.footer-track.has-sentient-face .footer.local-scene .sentient-face {
  position: absolute;
  z-index: 1;
  top: 48%;
  right: var(--gutter);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 14px;
  width: 46%;
  height: clamp(420px, 66svh, 580px);
  max-height: calc(100% - 72px);
  transform: translateY(-50%);
  opacity: 1;
  pointer-events: none;
}
.footer-track.has-sentient-face .sentient-face-visual {
  position: relative;
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  isolation: isolate;
  pointer-events: none;
}
.footer-track.has-sentient-face .sentient-face-visual::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 12% 12% 0;
  border-radius: 50%;
  background: radial-gradient(ellipse, #b99a6420, transparent 70%);
  opacity: .7;
  pointer-events: none;
}
.footer-track.has-sentient-face .sentient-face-visual :is(canvas, .sentient-face-fallback) {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transition: opacity 350ms ease;
  pointer-events: none;
}
.footer-track.has-sentient-face .sentient-face-visual canvas { z-index: 1; opacity: 0; }
.footer-track.has-sentient-face .sentient-face-fallback { z-index: 0; opacity: .95; }
.footer-track.has-sentient-face :is(.sentient-face.face-render-ready, .sentient-face-visual.face-render-ready) canvas { opacity: 1; }
.footer-track.has-sentient-face :is(.sentient-face.face-render-ready, .sentient-face-visual.face-render-ready) .sentient-face-fallback { opacity: 0; }
.footer-track.has-sentient-face .sentient-face-caption {
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  margin: 0;
  max-width: 240px;
  color: #c5c0b2;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .005em;
}
.footer-track.has-sentient-face .sentient-face-caption .sentient-caption-title {
  display: block;
  color: #ded6c6;
}
.footer-track.has-sentient-face .sentient-caption-title::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 7px;
  border-radius: 50%;
  vertical-align: .18em;
  background: #b8a27e;
}
.footer-track.has-sentient-face .sentient-face-caption small {
  display: block;
  margin-top: 3px;
  color: #969b8b;
  font-size: 11px;
  line-height: 1.55;
}
.footer-track.has-sentient-face .face-reform {
  grid-column: 2;
  grid-row: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #a48c624d;
  border-radius: 6px;
  background: #b19a6f0b;
  color: #d2c8b5;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
  pointer-events: auto;
}
.footer-track.has-sentient-face .face-reform > span[aria-hidden] { color: #bfab86; font-size: 17px; }
.footer-track.has-sentient-face .face-reform:focus-visible {
  outline: 2px solid #e2cda8;
  outline-offset: 5px;
}
.footer-track.has-sentient-face .face-reform:active { background: #b19a6f26; }
.footer-track.has-sentient-face .face-reform:disabled { opacity: .6; cursor: default; }
.footer-track.has-sentient-face.local-motion {
  height: calc(var(--face-footer-height) + 100px);
  min-height: 0;
}
.footer-track.has-sentient-face.local-motion .footer.local-scene {
  position: sticky;
  top: var(--face-pin-top);
  min-height: var(--face-footer-height);
  padding-top: 85px;
  padding-bottom: 105px;
}
.footer-track.has-sentient-face.local-motion .footer.local-scene .wordmark {
  font-size: clamp(42px, 5.2vw, 78px);
  letter-spacing: -.055em;
  margin-bottom: 12px;
}
.footer-track.has-sentient-face.local-motion .footer.local-scene .sentient-face {
  /* The face owns its canvas motion; generic footer parallax does not move it. */
  transform: translateY(-50%);
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .hero-actions .button-light.sentient-trigger:hover {
    border-color: #b99a65;
    background: #f1e6ce;
    box-shadow: inset 0 1px 0 #fff8, 0 0 20px #d0ae7329, 0 6px 26px #090b0826;
  }
  .hero-actions .button-light.sentient-trigger:hover::before { opacity: .36; }
  .footer-track.has-sentient-face .face-reform:hover {
    background: #b19a6f1c;
    border-color: #c0aa7b8c;
    color: #f0dfbf;
  }
}

/* The face moves above the name on tablets and phones, with all links in flow. */
@media (max-width: 900px) {
  .footer-track.has-sentient-face {
    --face-footer-height: max(650px, calc(100svh - var(--face-pin-top)));
  }
  .footer-track.has-sentient-face .footer.local-scene {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 12px;
    min-height: 0;
    padding: 10px var(--gutter) 70px;
  }
  .footer-track.has-sentient-face .footer.local-scene .sentient-face {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    top: auto;
    right: auto;
    width: 100%;
    height: clamp(260px, 44svh, 410px);
    max-height: none;
    margin: 0 0 8px;
    gap: 8px 12px;
    transform: none;
  }
  .footer-track.has-sentient-face .footer.local-scene .wordmark { grid-column: 1; grid-row: 2; margin-bottom: 0; }
  .footer-track.has-sentient-face .footer.local-scene .copyright { grid-column: 1; grid-row: 3; }
  .footer-track.has-sentient-face .footer.local-scene .footer-links { grid-column: 1; grid-row: 4; gap: 18px; }
  .footer-track.has-sentient-face .footer.local-scene .footer-aura { top: 38%; left: 50%; width: 110vw; opacity: .1; }
  .footer-track.has-sentient-face.local-motion .footer.local-scene {
    min-height: var(--face-footer-height);
    padding-top: 10px;
    padding-bottom: 70px;
  }
  .footer-track.has-sentient-face.local-motion .footer.local-scene .wordmark { font-size: clamp(42px, 9vw, 65px); }
  .footer-track.has-sentient-face.local-motion .footer.local-scene .sentient-face { transform: none; }
}
@media (max-width: 430px) {
  .footer-track.has-sentient-face .sentient-face-caption { font-size: 11px; }
  .footer-track.has-sentient-face .sentient-face-caption small { font-size: 11px; }
  .footer-track.has-sentient-face .face-reform { gap: 6px; padding-inline: 10px; font-size: 11px; }
  .footer-track.has-sentient-face .face-reform > span[aria-hidden] { font-size: 15px; }
}
/* A short landscape viewport gets a compact face and ordinary document flow. */
@media (max-height: 700px) {
  .footer-track.has-sentient-face.local-motion { height: auto; min-height: 0; }
  .footer-track.has-sentient-face.local-motion .footer.local-scene { position: relative; top: auto; min-height: 0; padding-top: 50px; padding-bottom: 85px; }
  .footer-track.has-sentient-face .footer.local-scene .sentient-face { height: 340px; }
}
@media (max-height: 700px) and (max-width: 900px) {
  .footer-track.has-sentient-face .footer.local-scene { padding-top: 20px; padding-bottom: 80px; }
  .footer-track.has-sentient-face .footer.local-scene .sentient-face { height: clamp(245px, 55svh, 340px); }
  .footer-track.has-sentient-face.local-motion .footer.local-scene { padding-top: 20px; padding-bottom: 80px; }
}

/* Motion controls show a complete static face, never an empty or stale canvas. */
.motion-paused .footer-track.has-sentient-face.local-motion { height: auto; min-height: 0; }
.motion-paused .footer-track.has-sentient-face .footer.local-scene {
  position: relative;
  top: auto;
  min-height: 580px;
  grid-template-columns: minmax(0, 1fr);
  padding: 85px calc(var(--gutter) + 48%) 105px var(--gutter);
}
.motion-paused .footer-track.has-sentient-face .footer.local-scene :is(.wordmark, .copyright, .footer-links) { grid-column: 1; opacity: 1; transform: none; }
.motion-paused .footer-track.has-sentient-face .footer.local-scene .wordmark { margin-bottom: 8px; font-size: 23px; }
.motion-paused .footer-track.has-sentient-face .footer.local-scene .sentient-face { opacity: 1; transform: translateY(-50%); }
.motion-paused .footer-track.has-sentient-face .sentient-face .sentient-face-visual canvas { opacity: 0; }
.motion-paused .footer-track.has-sentient-face .sentient-face .sentient-face-visual .sentient-face-fallback { opacity: .95; }
.motion-paused .hero-actions .button-light.sentient-trigger::before,
.motion-paused .hero-actions .button-light.sentient-trigger::after { transform: none; transition: none; }
.motion-paused .hero-actions .button-light.sentient-trigger .button-arrow { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .footer-track.has-sentient-face.local-motion { height: auto; min-height: 0; }
  .footer-track.has-sentient-face .footer.local-scene { position: relative; top: auto; min-height: 580px; grid-template-columns: minmax(0, 1fr); padding: 85px calc(var(--gutter) + 48%) 105px var(--gutter); }
  .footer-track.has-sentient-face .footer.local-scene :is(.wordmark, .copyright, .footer-links) { grid-column: 1; opacity: 1; transform: none; }
  .footer-track.has-sentient-face .footer.local-scene .wordmark { margin-bottom: 8px; font-size: 23px; }
  .footer-track.has-sentient-face .footer.local-scene .sentient-face { opacity: 1; transform: translateY(-50%); }
  .footer-track.has-sentient-face .sentient-face .sentient-face-visual canvas { opacity: 0; }
  .footer-track.has-sentient-face .sentient-face .sentient-face-visual .sentient-face-fallback { opacity: .95; }
  .hero-actions .button-light.sentient-trigger,
  .hero-actions .button-light.sentient-trigger::before,
  .hero-actions .button-light.sentient-trigger::after,
  .footer-track.has-sentient-face .face-reform { transition: none; }
  .hero-actions .button-light.sentient-trigger::before,
  .hero-actions .button-light.sentient-trigger .button-arrow { transform: none; }
}
@media (max-width: 900px) {
  .motion-paused .footer-track.has-sentient-face .footer.local-scene { min-height: 0; padding: 10px var(--gutter) 70px; }
  .motion-paused .footer-track.has-sentient-face .footer.local-scene .sentient-face { transform: none; }
  .motion-paused .footer-track.has-sentient-face .footer.local-scene .wordmark { grid-row: 2; margin-bottom: 0; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .footer-track.has-sentient-face .footer.local-scene { min-height: 0; padding: 10px var(--gutter) 70px; }
  .footer-track.has-sentient-face .footer.local-scene .sentient-face { transform: none; }
  .footer-track.has-sentient-face .footer.local-scene .wordmark { grid-row: 2; margin-bottom: 0; }
}
@media (forced-colors: active) {
  .hero-actions .button-light.sentient-trigger { border-color: ButtonText; background: ButtonFace; color: ButtonText; box-shadow: none; }
  .hero-actions .button-light.sentient-trigger::before,
  .hero-actions .button-light.sentient-trigger::after,
  .footer-track.has-sentient-face .sentient-face-visual::before { display: none; }
  .footer-track.has-sentient-face .face-reform { border-color: ButtonText; background: ButtonFace; color: ButtonText; }
}
