/* Frontend-only Home interactions. No default opacity/visibility hiding.
 * Individual translate owns hover, independently of GSAP's entrance transform.
 * Essential pills keep a static hit area; only their decorative face lifts. */
body.nln-home-page .nln-hero-photo { overflow: clip; }
body.nln-home-page :is(.nln-pathway, .nln-products article) {
  transition: translate .3s ease, border-color .25s ease, box-shadow .3s ease;
}
body.nln-home-page :is(.nln-square img, .nln-mosaic-image img) {
  transition: scale .32s ease;
}
body.nln-home-page .nln-mosaic-visual::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(transparent, #230925); opacity: 0; transition: opacity .25s ease; }
body.nln-home-page .nln-mosaic-tile h3 span { transition: translate .25s ease, background-color .25s ease; }
body.nln-home-page .nln-event-tabs button { transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
body.nln-home-page .nln-swatches > a { border-radius: 12px; outline-offset: 5px; transition: translate .25s ease, box-shadow .25s ease; }
body.nln-home-page .nln-swatches > a:focus-visible { box-shadow: 0 0 0 3px #dc00781f; }
body.nln-home-page :is(.nln-home-content, .nln-header) :is(a.nln-pill, button.nln-pill, .wp-block-button__link) {
  --motion-face: var(--nln-action, #dc0078);
  --motion-edge: var(--nln-action, #dc0078);
  position: relative; isolation: isolate; background: transparent; border-color: transparent;
  filter: none; transition: color .2s ease;
}
body.nln-home-page :is(.nln-home-content, .nln-header) :is(.nln-pill.nln-outline, .is-style-outline .wp-block-button__link) {
  --motion-face: rgba(255,255,255,.7); --motion-edge: #635397;
}
body.nln-home-page :is(a.nln-pill, button.nln-pill, .wp-block-button__link)::before {
  content: ''; position: absolute; inset: -1px; z-index: -1; pointer-events: none;
  border: 1px solid var(--motion-edge); border-radius: inherit; background: var(--motion-face);
  transition: translate .22s ease, background-color .2s ease, border-color .2s ease, box-shadow .22s ease;
}
body.nln-home-page :is(a.nln-pill, button.nln-pill, .wp-block-button__link) span[aria-hidden] { display: inline-block; transition: translate .22s ease; }
body.nln-home-page :is(.nln-pill, .wp-block-button__link):focus-visible::before { box-shadow: 0 4px 12px #6c1a6e1a; border-color: #9f155f; }
body.nln-home-page :is(.nln-pill, .wp-block-button__link):active::before { background: #b90065; box-shadow: inset 0 2px 4px #43094b22; }
body.nln-home-page :is(.nln-pill.nln-outline, .is-style-outline .wp-block-button__link):active::before { background: #f5e8fa; }
body.nln-home-page :is(.nln-footer-links a, .nln-business-contact a, .nln-swatches-link a) { text-underline-offset: 4px; transition: text-underline-offset .2s ease, text-decoration-color .2s ease; }
body.nln-home-page :is(.nln-footer-links a, .nln-business-contact a, .nln-swatches-link a):focus-visible { text-decoration: underline; text-underline-offset: 6px; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.nln-home-page :is(.nln-pathway, .nln-products article):hover { translate: 0 -5px; border-color: #b58ac8; box-shadow: 0 10px 24px #613c7312; }
  body.nln-home-page .nln-pathway:hover .nln-square img { scale: 1.025; }
  body.nln-home-page .nln-mosaic-tile:hover .nln-mosaic-image img { scale: 1.025; }
  body.nln-home-page .nln-mosaic-tile:hover .nln-mosaic-visual::before { opacity: .14; }
  body.nln-home-page .nln-mosaic-tile:is(:hover, :focus-within) h3 span { translate: 3px 0; background: #ffffff20; }
  body.nln-home-page .nln-swatches > a:hover { translate: 0 -3px; box-shadow: 0 0 0 3px #dc007821; }
  body.nln-home-page :is(.nln-pill, .wp-block-button__link):hover { filter: none; }
  body.nln-home-page :is(.nln-pill, .wp-block-button__link):hover::before { translate: 0 -2px; background: #c2006c; box-shadow: 0 5px 12px #6c1a6e1a; }
  body.nln-home-page :is(.nln-pill.nln-outline, .is-style-outline .wp-block-button__link):hover::before { background: #f8eafa; border-color: #a5337b; }
  body.nln-home-page :is(.nln-pill, .wp-block-button__link):hover span[aria-hidden] { translate: 3px 0; }
  body.nln-home-page :is(.nln-footer-links a, .nln-business-contact a, .nln-swatches-link a):hover { text-decoration: underline; text-underline-offset: 6px; }
}
@media (hover: none), (pointer: coarse) {
  body.nln-home-page .nln-pathway:hover { border-color: var(--home-border); background: #fff; }
  body.nln-home-page .nln-pathway h3 a:hover { text-decoration: none; }
  body.nln-home-page :is(.nln-pathway, .nln-products article):active { border-color: #b58ac8; background: #f9f0fc; }
}
@media (prefers-reduced-motion: reduce) {
  body.nln-home-page :is(.nln-pathway, .nln-products article, .nln-swatches > a):is(:hover, :focus-within) { border-color: #b58ac8; box-shadow: 0 0 0 2px #dc00781a; }
}
@media print {
  body.nln-home-page [data-nln-motion-target] { opacity: 1 !important; transform: none !important; translate: none !important; scale: none !important; }
  body.nln-home-page :is(.nln-pathway, .nln-products article, .nln-swatches > a, .nln-square img, .nln-mosaic-image img) { translate: none !important; scale: none !important; box-shadow: none; }
  body.nln-home-page :is(.nln-pill, .wp-block-button__link)::before { translate: none; box-shadow: none; }
}
