/* Shared review bounds leave the edge tentacles outside scene artwork. */
:root { --content-width: min(1180px, 84%); }
.content-wide, .header-inner, .hero, .footer { width: var(--content-width); }
.header-inner { padding-inline: 30px; }
.header-motto { left: calc(100% + 12px); }
@media (min-width: 992px) and (max-width: 1100px) { .header-motto { display: none; } }
.hero { margin-inline: auto; overflow: clip; isolation: isolate; }
.hero .hero-inner { width: 100%; padding-inline: 30px; }
.hero .hero-art {
  top: -35px; right: 0; width: 74%; height: calc(100% + 35px);
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 82%, transparent),
    linear-gradient(0deg, transparent, #000 16%, #000 88%, transparent);
  mask-composite: intersect;
}
.hero .hero-copy { width: 52%; }
.hero-home .hero-copy { width: 61%; }
.hero-contact .hero-copy { width: 60%; }
.hero-fathom .hero-copy { width: 49%; }
.hero-motto { right: 12px; }
.hero .art-disclosure { right: 30px; }
.trio-panel > img, .feature-banner .banner-art { object-position: center bottom; }
.closing-banner > img { object-position: 72% center; }
.news-page .edge-art-left { height: 1000px; background-repeat: no-repeat; }
.news-page .edge-art-right, .contact-page .edge-art-right { height: 850px; background-repeat: no-repeat; }
.news-page { position: relative; }
.news-page .edge-art-bottom { top: auto; bottom: 60px; height: 420px; }
body::before { opacity: .29; }
body::after { opacity: .012; }
.newsletter { grid-template-columns: 90px 1fr auto; }
.newsletter-state { display: block; }
.footer-fine { align-items: center; }

/* Font Awesome brand glyphs supplied in Strider; original licensed font bytes. */
@font-face {
  font-family: 'Strider brands';
  src: url('/assets/fonts/fa-brands-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: block;
}
.socials { gap: 4px; flex-wrap: nowrap; }
.socials a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; color: var(--paper);
  transition: color .3s ease, transform .3s ease;
}
.social-icon { font: 400 22px/1 'Strider brands'; }
.social-x::before { content: '\e61b'; }
.social-facebook::before { content: '\f39e'; }
.social-instagram::before { content: '\f16d'; }
.social-tiktok::before { content: '\e07b'; }
.social-youtube::before { content: '\f167'; }
.socials a:is(:hover, :focus-visible) { color: var(--orange); transform: translateY(-2px); }

/* Adapted Strider white button inversion and elevated hover cards, with focus parity. */
.button { transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.button:is(:hover, :focus-visible), .nav .wishlist-link:is(:hover, :focus-visible) {
  background: #fff; color: #080a07; border-color: #fff; transform: translateY(-2px);
}
.featured-note .button:is(:hover, :focus-visible) { background: transparent; color: #fff; }
.nav a:not(.wishlist-link)::after {
  content: ''; position: absolute; left: 0; bottom: 2px; height: 3px;
  width: 100%; background: var(--orange); transform: scaleX(0);
  transform-origin: left; transition: transform .2s ease;
}
.nav a:not(.wishlist-link):is(:hover, :focus-visible, [aria-current])::after { transform: scaleX(1); }
.news-card, .featured-note, .contact-card, .gallery-thumbnail {
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.news-card:is(:hover, :focus-within), .featured-note:is(:hover, :focus-within),
.contact-card:is(a):is(:hover, :focus-visible) {
  border-color: #a36319; transform: translateY(-3px);
  box-shadow: 0 14px 28px #0006, 0 10px 10px #0003;
}
.news-image-link, .gallery-thumbnail { overflow: hidden; }
.news-image-link img, .gallery-thumbnail img { transition: transform .35s ease; }
.news-card:is(:hover, :focus-within) .news-image-link img,
.featured-note:is(:hover, :focus-within) .news-image-link img,
.gallery-thumbnail:is(:hover, :focus-visible) img { transform: scale(1.045); }
.gallery-thumbnail:is(:hover, :focus-visible) { border-color: var(--orange); }
.text-link:is(:hover, :focus-visible), .footer a:not(.socials a):is(:hover, :focus-visible) { color: var(--orange); }
.reveal.motion-ready { opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
.reveal.motion-ready.visible { opacity: 1; transform: none; }

@media (hover: hover) and (pointer: fine) and (min-width: 992px) and (prefers-reduced-motion: no-preference) {
  .hero-art img {
    transform: translate3d(var(--scene-x, 0px), var(--scene-y, 0px), 0) scale(1.025);
    transition: transform .35s ease-out; will-change: transform;
  }
}
@media (max-width: 991px) {
  :root { --content-width: 88%; }
  .header-inner { padding-inline: 18px; }
  .hero .hero-inner { padding-inline: 24px; }
  .hero .hero-copy { width: 60%; }
  .hero-contact .hero-copy, .hero-home .hero-copy { width: 68%; }
  .hero .hero-art { width: 77%; }
  .newsletter { grid-template-columns: 65px 1fr auto; }
  .newsletter-state .button { max-width: 210px; }
  .footer-main { gap: 18px; }
}
@media (max-width: 600px) {
  .header-inner { padding-inline: 0; }
  .hero .hero-inner { padding-inline: 12px; }
  .hero .hero-copy { width: 100%; }
  .hero .hero-art { top: auto; bottom: 0; width: 100%; height: 355px; }
  .hero-short .hero-art { height: 340px; }
  .hero .art-disclosure { right: 16px; }
  .news-page .edge-art-bottom { top: auto; bottom: 75px; height: 380px; }
  .newsletter { grid-template-columns: 58px 1fr; }
  .newsletter-state .button { max-width: none; width: 100%; }
  .socials { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal.motion-ready { opacity: 1; transform: none; }
  .hero-art img, .button, .socials a, .news-card, .featured-note, .contact-card,
  .news-image-link img, .gallery-thumbnail img { transform: none !important; }
}
