.snays-hero{
  position: relative;
  background: var(--snays-surface);
  padding-block: clamp(40px, 6vw, 50px);
  overflow: hidden;
  isolation: isolate;
}
.snays-hero::before{
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: min(22%, 220px);
  right: 0;
  background: linear-gradient(
    to right,
    var(--snays-surface) 0%,
    var(--snays-surface) 6%,
    color-mix(in srgb, var(--snays-surface) 82%, var(--snays-primary-soft) 18%) 20%,
    color-mix(in srgb, var(--snays-surface) 38%, var(--snays-primary-soft) 62%) 36%,
    var(--snays-primary-soft) 54%,
    var(--snays-primary-soft) 100%
  );
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 100px), transparent 100%);
          mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 100px), transparent 100%);
  pointer-events: none;
  z-index: -1;
}
.snays-hero::after{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 50%;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(90deg, color-mix(in srgb, var(--snays-border) 72%, transparent) 0 1px, transparent 1px),
    linear-gradient(color-mix(in srgb, var(--snays-border) 72%, transparent) 0 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image:
    linear-gradient(to bottom, rgba(0,0,0,.9) 0%, rgba(0,0,0,.35) 48%, transparent 92%),
    linear-gradient(to right, #000 0%, #000 78%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to bottom, rgba(0,0,0,.9) 0%, rgba(0,0,0,.35) 48%, transparent 92%),
    linear-gradient(to right, #000 0%, #000 78%, transparent 100%);
  mask-composite: intersect;
}
.snays-hero-grid{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 56px;
  align-items: center;
  z-index: 1;
}

.snays-hero-lead{
  width: 100%;
}
.snays-hero-title{
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -1px;
  color: var(--snays-text);
  margin-bottom: 18px;
}
.snays-hero-title em{
  font-style: normal;
  color: var(--snays-accent);
}
.snays-hero-sub{
  font-size: var(--snays-fs-15);
  line-height: 1.65;
  color: var(--snays-text-soft);
  margin-bottom: 22px;
}
.snays-hero-cta{
  display: flex; flex-wrap: wrap; gap: 10px;
}
.snays-hero-btn{
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px;
  height: 46px;
  padding: 0 22px;
  font-size: var(--snays-fs-14);
  font-weight: 500;
  border-radius: var(--snays-radius-sm);
  transition: background var(--snays-fast) var(--snays-ease), color var(--snays-fast) var(--snays-ease), transform var(--snays-fast) var(--snays-ease);
}
.snays-hero-btn-primary{
  background: var(--snays-text);
  color: var(--snays-on-primary);
}
.snays-hero-btn-primary:hover{
  background: var(--snays-primary);
}
.snays-hero-btn-ghost{
  background: var(--snays-surface-2);
  color: var(--snays-text);
}
.snays-hero-btn-ghost:hover{
  background: var(--snays-surface-3);
}

.snays-hero-highlights{
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--snays-gutter);
}
.snays-hero-hit{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.snays-hero-hit-ico{
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--snays-radius-sm);
  background: var(--snays-surface-3);
  color: color-mix(in srgb, var(--snays-primary) 82%, var(--snays-muted) 18%);
}
.snays-hero-hit-ico .snays-ico{
  width: 22px;
  height: 22px;
}
.snays-hero-hit-body{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.snays-hero-hit-title{
  font-size: var(--snays-fs-14);
  font-weight: 600;
  line-height: 1.25;
  color: var(--snays-text);
  letter-spacing: -0.01em;
}
.snays-hero-hit-desc{
  font-size: var(--snays-fs-12);
  line-height: 1.45;
  color: var(--snays-text-soft);
}

.snays-hero-feature{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 600px;
}
.snays-hero-feature-deco{
  position: absolute;
  top: 50%; left: 50%;
  width: 720px; height: 720px;
  transform: translate(-50%, -50%);
  fill: none;
  stroke: var(--snays-primary);
  pointer-events: none;
  z-index: 0;
  opacity: .55;
}
.snays-hero-card{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 380px;
  background: var(--snays-surface);
  border-radius: var(--snays-radius-lg);
  box-shadow: 0 24px 48px rgba(20,28,50,.10), 0 4px 12px rgba(20,28,50,.04);
  padding: 18px;
  display: flex; flex-direction: column;
  gap: 14px;
}
.snays-hero-card-top{
  display: flex; align-items: center; gap: 12px;
}
.snays-hero-card-avatar{
  width: 40px; height: 40px;
  border-radius: var(--snays-radius-lg);
  background: var(--snays-surface-2);
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto;
}
.snays-hero-card-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.snays-hero-card-id{
  display: flex; flex-direction: column; gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
.snays-hero-card-id h2{
  font-size: var(--snays-fs-14);
  font-weight: 600;
  color: var(--snays-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
.snays-hero-card-id em{
  font-style: normal;
  font-size: var(--snays-fs-12);
  color: var(--snays-muted);
}
.snays-hero-card-more{
  flex: 0 0 auto;
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--snays-muted);
  background: transparent;
  border-radius: var(--snays-radius-sm);
  transition: background var(--snays-fast) var(--snays-ease), color var(--snays-fast) var(--snays-ease);
}
.snays-hero-card-more:hover{ background: var(--snays-surface-2); color: var(--snays-text); }

.snays-hero-card-mediawrap{
  position: relative;
  width: 100%;
  min-width: 0;
}
.snays-hero-card-media{
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--snays-surface-2);
  border-radius: var(--snays-radius-md);
  overflow: hidden;
  margin: 0;
}
.snays-hero-card-media img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.snays-hero-card-stamp{
  position: absolute;
  left: 14px; top: 14px;
  z-index: 2;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px;
  background: var(--snays-surface);
  color: var(--snays-text);
  border-radius: var(--snays-radius-sm);
  box-shadow: 0 6px 16px rgba(20,28,50,.18);
  line-height: 1;
}
.snays-hero-card-stamp strong{
  font-size: var(--snays-fs-13);
  font-weight: 700;
  color: var(--snays-accent);
}
.snays-hero-card-stamp em{
  font-style: normal;
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
}

.snays-hero-card-tags{
  display: flex; flex-wrap: wrap; gap: 6px;
}
.snays-hero-card-tags li{
  padding: 5px 11px;
  font-size: var(--snays-fs-12);
  font-weight: 500;
  color: var(--snays-text);
  background: var(--snays-surface-2);
  border-radius: var(--snays-radius-lg);
}

.snays-hero-card-foot{
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
}
.snays-hero-card-people{
  display: inline-flex;
}
.snays-hero-card-people li{
  position: relative;
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--snays-surface-2);
  border-radius: var(--snays-radius-lg);
  margin-left: -8px;
  box-shadow: 0 0 0 2px var(--snays-surface);
  overflow: hidden;
}
.snays-hero-card-people li:first-child{ margin-left: 0; }
.snays-hero-card-people li img{
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.snays-hero-card-people-more{
  font-size: var(--snays-fs-12);
  font-weight: 600;
  color: var(--snays-on-primary);
  background: var(--snays-text) !important;
}

.snays-hero-card-cta{
  display: inline-flex; align-items: center;
  height: 38px;
  padding: 0 18px;
  font-size: var(--snays-fs-13);
  font-weight: 500;
  color: var(--snays-on-primary);
  background: var(--snays-text);
  border-radius: var(--snays-radius-sm);
  transition: background var(--snays-fast) var(--snays-ease), transform var(--snays-fast) var(--snays-ease);
}
.snays-hero-card-cta:hover{
  background: var(--snays-primary);
}

.snays-hero-card-meta{
  display: flex; align-items: center; gap: 18px;
  padding-top: 6px;
}
.snays-hero-card-meta span{
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--snays-fs-12);
  font-weight: 600;
  color: var(--snays-text);
}
.snays-hero-card-meta span em{
  font-style: normal;
  font-weight: 400;
  color: var(--snays-muted);
  margin-left: 2px;
}
.snays-hero-card-meta span:nth-child(1) .snays-ico-xs{ color: var(--snays-warn); }
.snays-hero-card-meta span:nth-child(2) .snays-ico-xs{ color: var(--snays-info); }

@media (max-width: 1100px){
  .snays-hero::before{ display: none; }
  .snays-hero::after{
    width: 100%;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.42) 0%, rgba(0,0,0,.1) 52%, transparent 88%);
    -webkit-mask-composite: initial;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.42) 0%, rgba(0,0,0,.1) 52%, transparent 88%);
    mask-composite: initial;
  }
  .snays-hero-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .snays-hero-lead{ min-width: 0; max-width: none; width: 100%; margin: 0; }
  .snays-hero-feature{ min-width: 0; min-height: auto; padding-block: 16px; }
  .snays-hero-feature-deco{ width: 560px; height: 560px; opacity: .45; }
  .snays-hero-highlights{ max-width: none; }
}

@media (max-width: 720px){
  .snays-hero{ padding-block: 28px; }
  .snays-hero-title{
    font-size: clamp(26px, 7.5vw, 34px);
    line-height: 1.12;
    margin-bottom: 12px;
  }
  .snays-hero-sub{
    font-size: var(--snays-fs-14);
    line-height: 1.55;
    max-width: 100%;
    margin-bottom: 22px;
  }
  .snays-hero-cta{
    flex-direction: column;
    gap: 10px;
  }
  .snays-hero-highlights{
    gap: 16px;
    margin-bottom: 20px;
  }
  .snays-hero-hit-ico{
    width: 40px;
    height: 40px;
  }
  .snays-hero-hit-ico .snays-ico{ width: 20px; height: 20px; }
  .snays-hero-hit-desc{ display: none; }
  .snays-hero-btn{
    width: 100%;
    height: 46px;
    padding: 0 18px;
    font-size: var(--snays-fs-14);
  }
  .snays-hero-feature-deco{ width: 420px; height: 420px; opacity: .35; }
  .snays-hero-card{ max-width: 100%; padding: 14px; }
  .snays-hero-card-id h2{ font-size: var(--snays-fs-13); }
  .snays-hero-card-title{ font-size: var(--snays-fs-16); }
  .snays-hero-card-tags li{ padding: 4px 10px; }
  .snays-hero-card-foot{ gap: 10px; }
  .snays-hero-card-cta{ height: 36px; padding: 0 14px; }
}

[data-theme="dark"] .snays-hero-hit-ico{
  background: color-mix(in srgb, var(--snays-surface-2) 92%, var(--snays-primary) 8%);
  border-color: var(--snays-border);
  color: color-mix(in srgb, var(--snays-info) 85%, var(--snays-text) 15%);
}

[data-theme="dark"] .snays-hero{ background: var(--snays-surface); }
[data-theme="dark"] .snays-hero-feature-deco{ stroke: var(--snays-text-soft); opacity: .35; }
[data-theme="dark"] .snays-hero-card{ box-shadow: 0 24px 48px rgba(0,0,0,.55), 0 4px 12px rgba(0,0,0,.35); }
[data-theme="dark"] .snays-hero-card-people li{ box-shadow: 0 0 0 2px var(--snays-surface); }

.snays-brands-title{
  font-size: var(--snays-fs-12);
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--snays-muted);
  margin-top: 36px;
  margin-bottom: 16px;
}
.snays-brands-marquee{
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
}
.snays-brands-track{
  display: inline-flex;
  align-items: center;
  width: max-content;
  animation: snaysMarquee 32s linear infinite;
  will-change: transform;
}
.snays-brands-track li{
  flex: 0 0 auto;
  height: 32px;
  margin-right: 44px;
  display: inline-flex; align-items: center; justify-content: center;
}
.snays-brands-track img{
  height: 28px;
  width: auto;
  max-width: 110px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .55;
  transition: filter var(--snays-mid) var(--snays-ease), opacity var(--snays-mid) var(--snays-ease);
}
.snays-brands-track li:hover img{
  filter: none;
  opacity: 1;
}
.snays-brands-marquee:hover .snays-brands-track{
  animation-play-state: paused;
}
@keyframes snaysMarquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(calc(-1 * var(--snays-marquee-cycle, 50%))); }
}
@media (prefers-reduced-motion: reduce){
  .snays-brands-track{ animation: none; }
}
@media (max-width: 720px){
  .snays-brands-title{
    margin-top: 28px;
    margin-bottom: 12px;
    letter-spacing: 1.2px;
  }
  .snays-brands-marquee{
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  }
  .snays-brands-track li{ height: 28px; margin-right: 36px; }
  .snays-brands-track img{ height: 24px; max-width: 96px; }
}
[data-theme="dark"] .snays-brands-track img{ filter: grayscale(1) invert(1); opacity: .5; }
[data-theme="dark"] .snays-brands-track li:hover img{ filter: invert(1); opacity: 1; }
