.hero:has(.hero-partner-ribbon:not([hidden])) { row-gap:24px; }
.hero-partner-ribbon { grid-column:1/-1; position:relative; z-index:3; display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-width:0; }
.hero-partner-chip { display:flex; align-items:center; justify-content:center; flex:0 0 76px; width:76px; height:76px; padding:9px; border:1px solid #e4b962; border-radius:6px; background:#0b0b0bf5; text-decoration:none; box-sizing:border-box; }
.hero-partner-chip img { width:56px; height:56px; object-fit:contain; border-radius:4px; flex-shrink:0; }
.hero-partner-chip > span { display:grid; gap:4px; min-width:0; }
.hero-partner-chip small { font-size:10px; line-height:1.35; color:#f2c97b; font-weight:750; }
.hero-partner-chip strong { font-size:16px; line-height:1.25; overflow-wrap:anywhere; }
.hero-partner-chip:hover { border-color:#fff0ba; background:#211a0e; }
.hero-partner-chip:focus-visible { outline:3px solid #ffe1a2; outline-offset:4px; }
.hero-partners { margin-top:28px; padding-top:20px; border-top:1px solid #bc914a; max-width:600px; min-width:0; }
.hero-partners h2 { margin:0 0 14px; font-size:16px; line-height:1.4; color:#f1d495; letter-spacing:0; }
.hero-partners-list { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.hero-partners-list::-webkit-scrollbar { display:none; }
.hero-partners-list > * { flex:0 0 100%; box-sizing:border-box; scroll-snap-align:start; scroll-snap-stop:always; }
.hero-partners[hidden], .hero-partners [hidden], .hero-partner-ribbon[hidden] { display:none !important; }
.hero-partners-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.hero-partners-heading h2 { margin:0; }
.hero-partner-toggle, .hero-partner-ribbon-toggle, .hero-partner-nav button { border:1px solid #bc914a; border-radius:6px; background:#15120c; color:#f4d99d; cursor:pointer; }
.hero-partner-toggle { min-height:44px; padding:8px 12px; font-family:inherit; font-weight:600; font-size:13px; line-height:1.3; }
.hero-partner-ribbon-toggle { flex:0 0 44px; width:44px; height:44px; font-size:24px; }
.hero-partner-nav { display:flex; align-items:center; gap:8px; margin-top:12px; }
.hero-partner-nav > span { margin-right:auto; color:#edc98b; font-size:13px; }
.hero-partner-nav > button { width:44px; height:44px; font-size:26px; }
.hero-partner-nav button:disabled { opacity:.35; cursor:default; }
.hero-partner-dots { display:flex; flex-wrap:wrap; justify-content:center; max-width:60%; }
.hero-partner-dots button { width:32px; height:44px; padding:0; border:0; background:transparent; }
.hero-partner-dots button::after { content:''; display:block; width:8px; height:8px; margin:auto; border:1px solid #edc98b; border-radius:50%; }
.hero-partner-dots button[aria-current=true]::after { background:#edc98b; }
.hero-partners button:focus-visible, .hero-partner-ribbon-toggle:focus-visible, .hero-partners-list:focus-visible { outline:2px solid #ffe1a2; outline-offset:-3px; }
.hero-partner-slot { display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:0; padding:18px; border:1px solid #d4a758; border-radius:6px; background:#0b0b0bef; color:#fff3df; text-decoration:none; transition:border-color 180ms ease,background-color 180ms ease; }
.hero-partner-slot:hover { border-color:#ffe1a2; background:#19150e; }
.hero-partner-slot:focus-visible { outline:3px solid #ffe1a2; outline-offset:4px; }
.hero-partner-badge { display:inline-block; max-width:100%; padding:7px 10px; border-radius:4px; background:#e8bc70; color:#171006; font-size:11px; line-height:1.35; font-weight:850; text-transform:uppercase; letter-spacing:0; overflow-wrap:anywhere; }
.hero-partner-slot > strong { font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
.hero-partner-link { color:#edc98b; font-size:13px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.hero-partner-logo { display:block; width:100%; height:76px; object-fit:contain; object-position:left center; }
.hero-partner-ad { gap:16px; }
.hero-partner-brand { display:flex; gap:14px; align-items:center; color:#fff3df; text-decoration:none; min-width:0; }
.hero-partner-ad .hero-partner-logo { width:64px; height:64px; flex:0 0 64px; border-radius:4px; }
.hero-partner-brand > span { display:grid; gap:4px; min-width:0; }
.hero-partner-brand strong { font-size:22px; line-height:1.2; overflow-wrap:anywhere; }
.hero-partner-brand > span > span { font-size:13px; color:#edc98b; line-height:1.4; }
.hero-partner-body { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; width:100%; }
.hero-partner-qr-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:14px; border-top:1px solid #bc914a66; }
.hero-partner-body p { margin:0 0 14px; font-size:14px; line-height:1.6; color:#e5ddd0; }
.hero-partner-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.hero-partner-actions a { color:#ffe0a3; font-size:13px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.hero-partner-actions a:first-child { background:#ddb163; color:#171006; padding:6px 9px; border-radius:4px; font-size:12px; text-decoration:none; font-weight:750; }
.hero-partner-qr { margin:0; display:flex; flex-direction:column; gap:6px; align-items:center; }
.hero-partner-qr img { display:block; width:120px; height:120px; background:#fff; border-radius:0; }
.hero-partner-qr figcaption,.hero-partner-qr > a:last-child { font-size:11px; line-height:1.4; color:#edc98b; text-align:center; }
.hero-partner-ad a:focus-visible { outline:3px solid #ffe1a2; outline-offset:4px; }
@media(max-width:700px) {
  .hero-partner-ribbon { margin-bottom:20px; }
  .hero-partner-ribbon { gap:8px; }
  .hero-partner-chip { flex:0 0 68px; width:68px; height:68px; padding:7px; }
  .hero-partner-chip img { width:52px; height:52px; }
  .hero-partner-chip strong { font-size:14px; }
  .hero-partner-chip small { font-size:10px; }
  .hero-partner-ad .hero-partner-logo { width:48px; height:48px; flex-basis:48px; }
  .hero-partner-ad { gap:14px; }
  .hero-partners { margin-top:24px; padding-top:18px; }
  .hero-partner-slot { padding:16px; }
  .hero-partner-brand strong { font-size:18px; }
  .hero-partner-body { grid-template-columns:1fr; gap:16px; }
  .hero-partner-qr { display:flex; flex-direction:column; gap:8px; align-items:center; min-width:0; }
  .hero-partner-qr img { width:96px; height:96px; }
  .hero-partner-qr > a:last-child { text-align:center; min-height:44px; display:flex; align-items:center; }
  .hero-partner-qr figcaption { text-align:center; overflow-wrap:anywhere; }
}
.nyynax-name-effect { color:#f9e9c7; --name-lift:-4px; }
.hero h1 .nyynax-name-effect { display:inline-block; max-width:100%; }
@supports (background-clip:text) or (-webkit-background-clip:text) {
  .nyynax-name-effect {
    background-image:linear-gradient(110deg,#e2aa42 0%,#ffd578 32%,#fff 46%,#fff 52%,#ffe5a0 59%,#e2aa42 72%,#ffd578 100%);
    background-size:220% 100%;
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    animation:nyynax-name-shine 3.2s ease-in-out infinite alternate,nyynax-name-glow 3.2s ease-in-out infinite alternate,nyynax-name-float 4s ease-in-out infinite;
  }
  .site-header .brand strong.nyynax-name-effect { color:transparent; --name-lift:-1.5px; animation-duration:4s,4s,4.8s; animation-delay:-1.5s,-1.5s,-2s; }
}
.hero h1:has(.nyynax-name-effect)::after {
  height:3px;
  background:linear-gradient(90deg,#b88733 0%,#f3bd59 30%,#fff9e2 50%,#f3bd59 70%,#b88733 100%);
  background-size:240% 100%;
  transform-origin:left center;
  animation:nyynax-title-line 3s ease-in-out infinite alternate;
}
@keyframes nyynax-name-float {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(var(--name-lift)); }
}
@keyframes nyynax-title-line {
  from { transform:scaleX(.6); background-position:100% 50%; box-shadow:0 0 5px #e8b85b55; }
  to { transform:scaleX(1); background-position:0% 50%; box-shadow:0 0 14px #e8b85baa; }
}
@keyframes nyynax-name-shine {
  from { background-position:100% 50%; }
  to { background-position:0% 50%; }
}
@keyframes nyynax-name-glow {
  from { filter:drop-shadow(0 0 2px #f0b44340); }
  to { filter:drop-shadow(0 0 5px #ffd47b99) drop-shadow(0 0 12px #e8aa3d55); }
}
@media(prefers-reduced-motion:reduce) { .nyynax-name-effect, .hero h1:has(.nyynax-name-effect)::after { animation:none; transform:none; } }
@media(forced-colors:active) { .nyynax-name-effect, .site-header .brand strong.nyynax-name-effect { background:none; color:CanvasText; animation:none; } }
@media(prefers-reduced-motion:reduce) { .hero-partner-slot { transition:none; } }

.nyynax-name-effect.is-letter-animated,
.site-header .brand strong.nyynax-name-effect.is-letter-animated {
  background:none;
  color:#f9ce7d;
  animation:none;
  filter:none;
  transform:none;
  --letter-lift:-7px;
}
.site-header .brand strong.nyynax-name-effect.is-letter-animated { --letter-lift:-2px; }
.nyynax-name-accessible { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.nyynax-name-word { display:inline-block; white-space:nowrap; }
.nyynax-name-letter {
  display:inline-block;
  color:#f9ce7d;
  transform-origin:50% 80%;
  text-shadow:0 1px 0 #9d6e25,0 2px 0 #533c1c,0 4px 12px #0008;
}
@media(prefers-reduced-motion:no-preference) {
  html body.is-loaded .nyynax-name-effect.is-letter-animated .nyynax-name-letter {
    animation:nyynax-letter-arrive .75s cubic-bezier(.16,1,.3,1) backwards,nyynax-letter-wave 6s ease-in-out infinite !important;
    animation-delay:calc(var(--letter-index) * 35ms),calc(1.8s + var(--letter-index) * 65ms) !important;
  }
  html body.is-loaded .hero h1:has(.is-letter-animated)::after {
    animation:nyynax-title-line 3s ease-in-out infinite alternate !important;
  }
}
.site-header .nyynax-name-letter { text-shadow:0 1px 0 #775320,0 2px 5px #0008; }
@keyframes nyynax-letter-arrive {
  from { opacity:0; transform:perspective(400px) translateY(.65em) rotateX(80deg); }
  to { opacity:1; transform:perspective(400px) translateY(0) rotateX(0); }
}
@keyframes nyynax-letter-wave {
  0%,24%,100% { transform:translateY(0); color:#f9ce7d; filter:drop-shadow(0 0 0 transparent); }
  10% { transform:translateY(var(--letter-lift)); color:#fffbea; filter:drop-shadow(0 0 6px #ffe1a8) drop-shadow(0 0 14px #e5a63f88); }
}
@media(prefers-reduced-motion:reduce) {
  .is-loaded .nyynax-name-letter { animation:none; transform:none; filter:none; }
}
@media(forced-colors:active) {
  .nyynax-name-letter { color:CanvasText; text-shadow:none; }
  .is-loaded .nyynax-name-letter { animation:none; }
}
