.hak-section-head{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  max-width: 760px;
  margin-bottom: clamp(28px, 3.4vw, 48px);
  position: relative;
  z-index: 2;
}
.hak-section-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px 6px 14px;
  font-size: var(--snays-fs-12);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--snays-accent);
  background: var(--snays-surface);
  border: 1px solid var(--snays-border-strong);
  position: relative;
}
.hak-section-eyebrow::before{
  content: "";
  width: 8px;
  height: 8px;
  background: var(--snays-accent);
  flex-shrink: 0;
}
.hak-section-title{
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.7px;
  color: var(--snays-text);
  max-width: 720px;
}
.hak-section-title em{
  font-style: normal;
  color: var(--snays-accent);
  position: relative;
  display: inline-block;
}
.hak-section-title em::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.05em;
  height: 6px;
  background: var(--snays-accent);
  opacity: .18;
  z-index: -1;
}
.hak-section-sub{
  font-size: var(--snays-fs-15);
  line-height: 1.65;
  color: var(--snays-text-soft);
  max-width: 640px;
}

.hak-hero{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(28px, 4vw, 56px) clamp(56px, 6vw, 96px);
  background: var(--snays-bg);
}
.hak-hero-deco-grid{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(to right, var(--snays-border) 1px, transparent 1px),
    linear-gradient(to bottom, var(--snays-border) 1px, transparent 1px);
  background-size: 56px 56px;
  background-position: -1px -1px;
  -webkit-mask-image:
    radial-gradient(ellipse 70% 55% at 50% 40%, #000 30%, transparent 78%);
          mask-image:
    radial-gradient(ellipse 70% 55% at 50% 40%, #000 30%, transparent 78%);
  opacity: .55;
  pointer-events: none;
}

.hak-hero-deco-1{
  position: absolute;
  top: 80px;
  left: 24px;
  width: 28px;
  height: 28px;
  z-index: 1;
  pointer-events: none;
}
.hak-hero-deco-1::before,
.hak-hero-deco-1::after{
  content: "";
  position: absolute;
  background: var(--snays-accent);
}
.hak-hero-deco-1::before{ top: 50%; left: 0; right: 0; height: 2px; transform: translateY(-50%); }
.hak-hero-deco-1::after { left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); }

.hak-hero-deco-2{
  position: absolute;
  right: 4%;
  bottom: 8%;
  width: 96px;
  height: 96px;
  border: 2px solid var(--snays-accent);
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;
}
.hak-hero-deco-2::before{
  content: "";
  position: absolute;
  inset: 14px;
  border: 2px dashed var(--snays-accent);
  border-radius: 50%;
  opacity: .5;
}

.hak-hero > .snays-container{ position: relative; z-index: 2; }

.hak-hero-crumbs{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--snays-fs-13);
  color: var(--snays-text-soft);
  margin-bottom: clamp(18px, 2vw, 28px);
  flex-wrap: wrap;
}
.hak-hero-crumbs a{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--snays-text-soft);
  transition: color var(--snays-fast) var(--snays-ease);
}
.hak-hero-crumbs a:hover{ color: var(--snays-accent); }
.hak-hero-crumbs span[aria-current="page"]{
  color: var(--snays-text);
  font-weight: 600;
}
.hak-hero-crumbs .snays-ico{ width: 14px; height: 14px; opacity: .7; }

.hak-hero-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}

.hak-hero-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px 6px 10px;
  font-size: var(--snays-fs-13);
  font-weight: 600;
  color: var(--snays-accent);
  background: var(--snays-surface);
  border: 1px solid var(--snays-border-strong);
  margin-bottom: 22px;
  position: relative;
}
.hak-hero-eyebrow::before{
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: var(--snays-accent);
}
.hak-hero-eyebrow .snays-ico{ width: 16px; height: 16px; }
.hak-hero-eyebrow em{
  font-style: normal;
  font-weight: 500;
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
  padding-left: 10px;
  border-left: 1px solid var(--snays-border-strong);
}

.hak-hero-title{
  font-size: clamp(32px, 4.4vw, 56px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -1.4px;
  color: var(--snays-text);
  margin-bottom: 18px;
}
.hak-hero-title em{
  font-style: normal;
  color: var(--snays-accent);
  position: relative;
  display: inline-block;
}
.hak-hero-title em::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4%;
  height: 14px;
  background: var(--snays-accent);
  opacity: .14;
  z-index: -1;
}

.hak-hero-sub{
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.7;
  color: var(--snays-text-soft);
  max-width: 580px;
  margin-bottom: 28px;
}
.hak-hero-sub strong{
  color: var(--snays-text);
  font-weight: 600;
}

.hak-hero-meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  padding: 18px 22px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
  margin-bottom: 24px;
  position: relative;
  justify-content: space-around;
}
.hak-hero-meta::before,
.hak-hero-meta::after{
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background: var(--snays-accent);
}
.hak-hero-meta::before{ top: -7px; left: -7px; }
.hak-hero-meta::after{ bottom: -7px; right: -7px; }
.hak-hero-meta-stat{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.hak-hero-meta-num{
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 700;
  letter-spacing: -.6px;
  color: var(--snays-text);
  line-height: 1;
}
.hak-hero-meta-num em{
  font-style: normal;
  color: var(--snays-accent);
}
.hak-hero-meta-label{
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
  font-weight: 500;
}
.hak-hero-meta-divider{
  width: 1px;
  height: 32px;
  background: var(--snays-border-strong);
}

.hak-hero-cta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.hak-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 22px;
  font-size: var(--snays-fs-14);
  font-weight: 600;
  transition:
    background var(--snays-fast) var(--snays-ease),
    color var(--snays-fast) var(--snays-ease),
    transform var(--snays-fast) var(--snays-ease),
    border-color var(--snays-fast) var(--snays-ease);
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
  padding-inline: 28px;
}
.hak-btn .snays-ico{ width: 18px; height: 18px; }
.hak-btn-primary{
  background: var(--snays-accent);
  color: var(--snays-on-accent);
}
.hak-btn-primary:hover{
  background: var(--snays-accent-hover);
}
.hak-btn-ghost{
  background: var(--snays-text);
  color: var(--snays-on-primary);
}
.hak-btn-ghost:hover{
  background: var(--snays-primary);
}

.hak-hero-trust{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  font-size: var(--snays-fs-13);
  color: var(--snays-text-soft);
}
.hak-hero-trust li{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hak-hero-trust .snays-ico{ width: 14px; height: 14px; color: var(--snays-success); }

.hak-hero-media{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 540px;
  margin-inline: auto;
}
.hak-hero-media-glow{
  position: absolute;
  inset: 14% 14%;
  border: 2px solid var(--snays-accent);
  z-index: 0;
  transform: rotate(8deg);
}
.hak-hero-media-glow::before{
  content: "";
  position: absolute;
  inset: 8%;
  border: 1px dashed var(--snays-accent);
  opacity: .5;
}
.hak-hero-card{
  position: absolute;
  margin: 0;
  overflow: hidden;
  background: var(--snays-surface-2);
  border: 4px solid var(--snays-surface);
}
.hak-hero-card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hak-hero-card-1{
  top: 6%;
  left: 4%;
  width: 60%;
  aspect-ratio: 1 / 1;
  z-index: 2;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}
.hak-hero-card-2{
  top: 12%;
  right: 0;
  width: 50%;
  aspect-ratio: 1 / 1;
  z-index: 1;
  clip-path: polygon(20% 0, 80% 0, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0 80%, 0 20%);
}
.hak-hero-card-3{
  bottom: 4%;
  right: 8%;
  width: 56%;
  aspect-ratio: 5 / 3;
  z-index: 3;
  clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
}
.hak-hero-badge{
  position: absolute;
  bottom: 6%;
  left: 0;
  z-index: 4;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 124px;
  height: 140px;
  background: var(--snays-accent);
  color: #fff;
  text-align: center;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.hak-hero-badge::before{
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(255,255,255,.45);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.hak-hero-badge-num{
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1px;
  position: relative;
}
.hak-hero-badge-num em{
  font-style: normal;
  font-weight: 500;
}
.hak-hero-badge-text{
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .92;
  position: relative;
}
.hak-hero-floating{
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border-strong);
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
  z-index: 5;
  white-space: nowrap;
}
.hak-hero-floating::before,
.hak-hero-floating::after{
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--snays-accent);
}
.hak-hero-floating::before{ top: -4px; left: -4px; }
.hak-hero-floating::after{ bottom: -4px; right: -4px; }
.hak-hero-floating strong{
  color: var(--snays-text);
  font-weight: 700;
}
.hak-hero-floating .snays-ico{
  width: 16px;
  height: 16px;
  color: var(--snays-accent);
}
.hak-hero-floating-1{ top: 4%; right: -4%; }
.hak-hero-floating-2{ bottom: 22%; right: -8%; }

@media (max-width: 1100px){
  .hak-hero-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
  .hak-hero-media{ order: -1; aspect-ratio: 5 / 4; max-width: 100%; }
}
@media (max-width: 720px){
  .hak-hero{ padding-block: 24px 56px; }
  .hak-hero-meta{ padding: 14px 16px; }
  .hak-hero-meta-divider{ display: none; }
  .hak-hero-meta-stat{ flex: 1 1 calc(50% - 18px); }
  .hak-hero-floating{ display: none; }
  .hak-hero-deco-2{ display: none; }
  .hak-hero-badge{ width: 96px; height: 108px; }
  .hak-hero-badge-num{ font-size: 26px; }
}

.hak-manifesto{
  position: relative;
  padding-block: clamp(40px, 5vw, 72px);
  background: var(--snays-bg);
}
.hak-manifesto-shell{
  position: relative;
  padding: clamp(36px, 4.6vw, 64px) clamp(28px, 4vw, 56px);
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
}
.hak-manifesto-shell::before,
.hak-manifesto-shell::after{
  content: "";
  position: absolute;
  width: 56px;
  height: 56px;
  pointer-events: none;
}
.hak-manifesto-shell::before{
  top: -2px;
  left: -2px;
  border-top: 4px solid var(--snays-accent);
  border-left: 4px solid var(--snays-accent);
}
.hak-manifesto-shell::after{
  bottom: -2px;
  right: -2px;
  border-bottom: 4px solid var(--snays-accent);
  border-right: 4px solid var(--snays-accent);
}
.hak-manifesto-mark{
  position: absolute;
  top: 32px;
  right: 36px;
  width: 64px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--snays-text);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
}
.hak-manifesto-mark .snays-ico{ width: 32px; height: 32px; }

.hak-manifesto-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: var(--snays-fs-12);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--snays-accent);
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}
.hak-manifesto-eyebrow::before{
  content: "";
  width: 28px;
  height: 2px;
  background: var(--snays-accent);
}
.hak-manifesto-text{
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.55;
  color: var(--snays-text);
  font-weight: 400;
  max-width: 820px;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
.hak-manifesto-text em{
  font-style: italic;
  color: var(--snays-accent);
  font-weight: 600;
  font-size: 1.1em;
}
.hak-manifesto-text strong{
  color: var(--snays-text);
  font-weight: 700;
  position: relative;
  display: inline-block;
}
.hak-manifesto-text strong::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: var(--snays-accent);
  opacity: .18;
  z-index: -1;
}

.hak-manifesto-author{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  padding-top: 24px;
  border-top: 1px solid var(--snays-border);
}
.hak-manifesto-avatar{
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  overflow: hidden;
  background: var(--snays-surface-2);
  border: 3px solid var(--snays-surface);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.hak-manifesto-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hak-manifesto-author-text{
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 180px;
}
.hak-manifesto-author-text strong{
  font-size: var(--snays-fs-15);
  font-weight: 700;
  color: var(--snays-text);
}
.hak-manifesto-author-text em{
  font-style: normal;
  font-size: var(--snays-fs-13);
  color: var(--snays-text-soft);
}
.hak-manifesto-sign{
  width: 140px;
  height: 40px;
  color: var(--snays-accent);
  opacity: .7;
}
.hak-manifesto-sign svg{ width: 100%; height: 100%; }

@media (max-width: 720px){
  .hak-manifesto-mark{ width: 48px; height: 48px; top: 24px; right: 24px; }
  .hak-manifesto-mark .snays-ico{ width: 22px; height: 22px; }
  .hak-manifesto-text{ font-size: 17px; }
  .hak-manifesto-sign{ display: none; }
}

.hak-mvv{
  padding-block: clamp(48px, 6vw, 80px);
  background: var(--snays-bg);
}
.hak-mvv-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--snays-gutter);
}
.hak-mvv-card{
  --mvv-tone: var(--snays-accent);
  --mvv-tone-soft: var(--snays-accent-soft);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 32px 28px 28px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
  overflow: hidden;
  transition:
    transform var(--snays-mid) var(--snays-ease),
    border-color var(--snays-mid) var(--snays-ease);
}
.hak-mvv-card:hover{
  transform: translateY(-4px);
  border-color: var(--mvv-tone);
}
.hak-mvv-card[data-mvv="mission"]{
  --mvv-tone: var(--snays-accent);
  --mvv-tone-soft: var(--snays-accent-soft);
}
.hak-mvv-card[data-mvv="vision"]{
  --mvv-tone: var(--snays-info);
  --mvv-tone-soft: var(--snays-info-soft);
}
.hak-mvv-card[data-mvv="values"]{
  --mvv-tone: var(--snays-success);
  --mvv-tone-soft: var(--snays-success-soft);
}
.hak-mvv-card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: var(--mvv-tone);
}
.hak-mvv-card::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  background: var(--mvv-tone);
  clip-path: polygon(100% 0, 100% 100%, 0 0);
  opacity: .9;
}
.hak-mvv-num{
  position: absolute;
  top: 22px;
  right: 24px;
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -2px;
  color: var(--snays-surface-2);
  pointer-events: none;
  z-index: 1;
}
.hak-mvv-ico{
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mvv-tone-soft);
  color: var(--mvv-tone);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  position: relative;
  z-index: 2;
}
.hak-mvv-ico .snays-ico{ width: 26px; height: 26px; }
.hak-mvv-title{
  font-size: var(--snays-fs-20);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--snays-text);
  position: relative;
  z-index: 2;
}
.hak-mvv-text{
  font-size: var(--snays-fs-14);
  line-height: 1.65;
  color: var(--snays-text-soft);
  flex: 1;
  position: relative;
  z-index: 2;
}
.hak-mvv-text strong{
  color: var(--snays-text);
  font-weight: 600;
}
.hak-mvv-bullets{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px dashed var(--snays-border);
  position: relative;
  z-index: 2;
}
.hak-mvv-bullets li{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--snays-fs-13);
  color: var(--snays-text);
}
.hak-mvv-bullets .snays-ico{
  width: 16px;
  height: 16px;
  color: var(--mvv-tone);
  flex-shrink: 0;
}
@media (max-width: 1100px){ .hak-mvv-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px){
  .hak-mvv-grid{ grid-template-columns: 1fr; }
  .hak-mvv-card{ padding: 26px 22px; }
  .hak-mvv-num{ font-size: 44px; top: 16px; right: 18px; }
}

.hak-journey{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(64px, 8vw, 112px);
  background: #14161E;
  color: #fff;
}
.hak-journey-deco{
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(115deg,
      rgba(255,255,255,.035) 0,
      rgba(255,255,255,.035) 1px,
      transparent 1px,
      transparent 24px),
    radial-gradient(circle, rgba(255,255,255,.05) 1.5px, transparent 1.5px);
  background-size: auto, 28px 28px;
  pointer-events: none;
  z-index: 0;
}
.hak-journey > .snays-container{ position: relative; z-index: 2; }
.hak-journey .hak-section-head{
  align-items: center;
  text-align: center;
  margin-inline: auto;
}
.hak-journey .hak-section-eyebrow{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.hak-journey .hak-section-eyebrow::before{ background: var(--snays-accent); }
.hak-journey .hak-section-title{ color: #fff; }
.hak-journey .hak-section-title em{ color: #C9ABF8; }
.hak-journey .hak-section-title em::after{ background: var(--snays-accent); opacity: .35; }
.hak-journey .hak-section-sub{ color: rgba(255,255,255,.72); }

.hak-timeline{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin: 0;
  padding: 24px 0 12px;
  list-style: none;
}
.hak-timeline::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(176,132,245,.45);
  transform: translateX(-50%);
}
.hak-timeline-item{
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  align-items: center;
}
.hak-timeline-dot{
  grid-column: 2;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--snays-accent);
  box-shadow: 0 0 0 4px rgba(176,132,245,.18), 0 0 0 1px rgba(255,255,255,.20);
  position: relative;
  z-index: 2;
}
.hak-timeline-item.is-current .hak-timeline-dot{
  background: #fff;
  box-shadow: 0 0 0 4px var(--snays-accent), 0 0 0 8px rgba(176,132,245,.22);
  animation: hak-pulse 2.4s var(--snays-ease) infinite;
}
@keyframes hak-pulse{
  0%, 100%{ transform: scale(1); }
  50%{ transform: scale(1.18); }
}
.hak-timeline-year{
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1.4px;
  color: #fff;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}
.hak-timeline-year::before{
  content: "/";
  font-size: .65em;
  color: var(--snays-accent);
  font-weight: 600;
  display: inline-block;
}
.hak-timeline-card{
  position: relative;
  padding: 22px 24px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.85);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hak-timeline-card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  background: var(--snays-accent);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.hak-timeline-ico{
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--snays-accent);
  color: #fff;
  margin-bottom: 4px;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.hak-timeline-ico .snays-ico{ width: 20px; height: 20px; }
.hak-timeline-card h3{
  font-size: var(--snays-fs-18);
  font-weight: 700;
  color: #fff;
}
.hak-timeline-card p{
  font-size: var(--snays-fs-14);
  line-height: 1.6;
  color: rgba(255,255,255,.72);
}
.hak-timeline-card p strong{ color: #fff; font-weight: 600; }
.hak-timeline-tag{
  position: absolute;
  top: 14px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  font-size: var(--snays-fs-12);
  font-weight: 600;
  color: var(--snays-accent);
  background: rgba(176,132,245,.14);
  border: 1px solid rgba(176,132,245,.32);
}
.hak-timeline-tag::before{
  content: "";
  width: 6px;
  height: 6px;
  background: var(--snays-accent);
  animation: hak-pulse 2s var(--snays-ease) infinite;
}
.hak-timeline-item:nth-child(odd) .hak-timeline-year{
  grid-column: 1;
  justify-content: flex-end;
  text-align: right;
  padding-right: 36px;
}
.hak-timeline-item:nth-child(odd) .hak-timeline-card{
  grid-column: 3;
  margin-left: 36px;
}
.hak-timeline-item:nth-child(even) .hak-timeline-year{
  grid-column: 3;
  padding-left: 36px;
}
.hak-timeline-item:nth-child(even) .hak-timeline-card{
  grid-column: 1;
  margin-right: 36px;
  text-align: right;
  align-items: flex-end;
}
.hak-timeline-item:nth-child(even) .hak-timeline-card::before{
  left: auto;
  right: 0;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.hak-timeline-item:nth-child(even) .hak-timeline-tag{ left: 16px; right: auto; }

@media (max-width: 800px){
  .hak-timeline::before{ left: 18px; transform: none; }
  .hak-timeline-item{
    grid-template-columns: 36px 1fr;
    grid-template-rows: auto auto;
    gap: 14px;
    align-items: start;
  }
  .hak-timeline-dot{ grid-column: 1; grid-row: 1 / span 2; margin-top: 14px; justify-self: center; }
  .hak-timeline-item:nth-child(odd) .hak-timeline-year,
  .hak-timeline-item:nth-child(even) .hak-timeline-year{
    grid-column: 2; grid-row: 1;
    padding: 0;
    text-align: left;
    justify-content: flex-start;
    margin-bottom: 8px;
    font-size: 28px;
  }
  .hak-timeline-item:nth-child(odd) .hak-timeline-card,
  .hak-timeline-item:nth-child(even) .hak-timeline-card{
    grid-column: 2; grid-row: 2;
    margin: 0;
    text-align: left;
    align-items: flex-start;
  }
  .hak-timeline-item:nth-child(even) .hak-timeline-card::before{
    left: 0; right: auto;
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }
  .hak-timeline-item:nth-child(even) .hak-timeline-tag{ right: 16px; left: auto; }
}

.hak-approach{
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--snays-bg);
}
.hak-approach-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.hak-approach-step{
  position: relative;
  padding: 28px 24px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition:
    transform var(--snays-mid) var(--snays-ease),
    border-color var(--snays-mid) var(--snays-ease);
  overflow: hidden;
}
.hak-approach-step::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 4px;
  background: var(--snays-accent);
}
.hak-approach-step::after{
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 24px;
  height: 1px;
  background: var(--snays-accent);
}
.hak-approach-step:hover{
  transform: translateY(-4px);
  border-color: var(--snays-accent);
}
.hak-approach-num{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  color: var(--snays-accent);
  text-transform: uppercase;
  margin-top: 4px;
}
.hak-approach-ico{
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--snays-accent-soft);
  color: var(--snays-accent);
  margin-bottom: 4px;
  position: relative;
  clip-path: polygon(20% 0, 80% 0, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0 80%, 0 20%);
}
.hak-approach-ico::before{
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px dashed var(--snays-accent);
  clip-path: polygon(20% 0, 80% 0, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0 80%, 0 20%);
  opacity: .45;
}
.hak-approach-ico .snays-ico{ width: 24px; height: 24px; }
.hak-approach-title{
  font-size: var(--snays-fs-18);
  font-weight: 700;
  color: var(--snays-text);
  letter-spacing: -.01em;
}
.hak-approach-text{
  font-size: var(--snays-fs-14);
  line-height: 1.6;
  color: var(--snays-text-soft);
  flex: 1;
}
.hak-approach-text strong{ color: var(--snays-text); font-weight: 600; }
.hak-approach-list{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px dashed var(--snays-border);
}
.hak-approach-list li{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--snays-fs-13);
  color: var(--snays-text);
}
.hak-approach-list .snays-ico{
  width: 16px;
  height: 16px;
  color: var(--snays-success);
  flex-shrink: 0;
}
.hak-approach-arrow{
  position: absolute;
  top: 50%;
  right: -18px;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--snays-accent);
  color: #fff;
  z-index: 2;
  clip-path: polygon(0 20%, 60% 20%, 60% 0, 100% 50%, 60% 100%, 60% 80%, 0 80%);
}
.hak-approach-arrow .snays-ico{ display: none; }
.hak-approach-step:last-child .hak-approach-arrow{ display: none; }

@media (max-width: 1100px){
  .hak-approach-grid{ grid-template-columns: repeat(2, 1fr); }
  .hak-approach-step:nth-child(2) .hak-approach-arrow{ display: none; }
}
@media (max-width: 600px){
  .hak-approach-grid{ grid-template-columns: 1fr; }
  .hak-approach-arrow{
    position: static;
    transform: rotate(90deg);
    margin: 0 auto;
  }
  .hak-approach-step:nth-child(2) .hak-approach-arrow{ display: inline-flex; }
}

.hak-why{
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--snays-bg);
  position: relative;
  overflow: hidden;
}
.hak-why::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, var(--snays-border-strong) 1px, transparent 1.4px);
  background-size: 32px 32px;
  background-position: -1px -1px;
  opacity: .55;
  pointer-events: none;
  z-index: 0;
}
.hak-why > .snays-container{ position: relative; z-index: 1; }

.hak-why-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--snays-gutter);
}
.hak-why-card{
  --tone: var(--snays-accent);
  --tone-soft: var(--snays-accent-soft);
  position: relative;
  padding: 28px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition:
    transform var(--snays-mid) var(--snays-ease),
    border-color var(--snays-mid) var(--snays-ease);
  overflow: hidden;
}
.hak-why-card::after{
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 56px;
  height: 56px;
  background: var(--tone);
  opacity: .12;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  transition: opacity var(--snays-mid) var(--snays-ease), width var(--snays-mid) var(--snays-ease);
}
.hak-why-card::before{
  content: "";
  position: absolute;
  top: 22px;
  right: 22px;
  width: 24px;
  height: 24px;
  border: 2px solid var(--tone);
  opacity: .25;
  pointer-events: none;
}
.hak-why-card:hover{
  transform: translateY(-4px);
  border-color: var(--tone);
}
.hak-why-card:hover::after{
  opacity: .22;
  width: 72px;
}
.hak-why-card[data-tone="purple"]{ --tone: #7C3AED; --tone-soft: var(--snays-accent-soft); }
.hak-why-card[data-tone="blue"]  { --tone: var(--snays-info); --tone-soft: var(--snays-info-soft); }
.hak-why-card[data-tone="green"] { --tone: var(--snays-success); --tone-soft: var(--snays-success-soft); }
.hak-why-card[data-tone="orange"]{ --tone: #E08C2E; --tone-soft: var(--snays-warn-soft); }
.hak-why-card[data-tone="pink"]  { --tone: #DB2777; --tone-soft: #FBE1ED; }
.hak-why-card[data-tone="cyan"]  { --tone: #0891B2; --tone-soft: #E1F1F5; }
[data-theme="dark"] .hak-why-card[data-tone="pink"]{ --tone-soft: #2C1320; }
[data-theme="dark"] .hak-why-card[data-tone="cyan"]{ --tone-soft: #0C2026; }

.hak-why-ico{
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tone-soft);
  color: var(--tone);
  position: relative;
  z-index: 1;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.hak-why-ico .snays-ico{ width: 24px; height: 24px; }
.hak-why-card h3{
  font-size: var(--snays-fs-18);
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--snays-text);
  position: relative;
  z-index: 1;
}
.hak-why-card p{
  font-size: var(--snays-fs-14);
  line-height: 1.65;
  color: var(--snays-text-soft);
  position: relative;
  z-index: 1;
}
.hak-why-card p strong{ color: var(--snays-text); font-weight: 600; }

@media (max-width: 1100px){ .hak-why-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px){
  .hak-why-grid{ grid-template-columns: 1fr; }
  .hak-why-card{ padding: 22px; }
}

.hak-numbers{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--snays-surface);
}
.hak-numbers-pattern{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    repeating-linear-gradient(45deg,
      transparent 0,
      transparent 14px,
      var(--snays-border) 14px,
      var(--snays-border) 15px);
  opacity: .55;
  pointer-events: none;
}
.hak-numbers-bracket{
  position: absolute;
  width: 80px;
  height: 80px;
  pointer-events: none;
  z-index: 1;
}
.hak-numbers-bracket-tl{
  top: 24px;
  left: 24px;
  border-top: 4px solid var(--snays-accent);
  border-left: 4px solid var(--snays-accent);
}
.hak-numbers-bracket-br{
  bottom: 24px;
  right: 24px;
  border-bottom: 4px solid var(--snays-accent);
  border-right: 4px solid var(--snays-accent);
}
.hak-numbers > .snays-container{ position: relative; z-index: 2; }

.hak-numbers-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--snays-border-strong);
  background: var(--snays-bg);
}
.hak-numbers-card{
  position: relative;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: var(--snays-bg);
  transition: background var(--snays-fast) var(--snays-ease);
}
.hak-numbers-card:hover{ background: var(--snays-surface); }
.hak-numbers-card + .hak-numbers-card{ border-left: 1px solid var(--snays-border-strong); }
.hak-numbers-cross{
  position: absolute;
  top: -8px;
  left: -8px;
  width: 16px;
  height: 16px;
  pointer-events: none;
}
.hak-numbers-cross::before,
.hak-numbers-cross::after{
  content: "";
  position: absolute;
  background: var(--snays-accent);
}
.hak-numbers-cross::before{ top: 50%; left: 0; right: 0; height: 2px; transform: translateY(-50%); }
.hak-numbers-cross::after { left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); }
.hak-numbers-card:nth-child(2) .hak-numbers-cross{ left: auto; right: -8px; }
.hak-numbers-card:nth-child(3) .hak-numbers-cross{ left: -8px; }
.hak-numbers-card:nth-child(4) .hak-numbers-cross{ left: auto; right: -8px; }

.hak-numbers-tag{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  color: var(--snays-muted);
}
.hak-numbers-num{
  font-size: clamp(40px, 4.4vw, 56px);
  font-weight: 800;
  letter-spacing: -2px;
  line-height: 1;
  color: var(--snays-text);
  display: inline-flex;
  align-items: baseline;
}
.hak-numbers-num em{
  font-style: normal;
  color: var(--snays-accent);
  font-weight: 600;
}
.hak-numbers-bar{
  width: 36px;
  height: 4px;
  background: var(--snays-accent);
  display: block;
}
.hak-numbers-label{
  font-size: var(--snays-fs-15);
  font-weight: 700;
  color: var(--snays-text);
  letter-spacing: -.01em;
}
.hak-numbers-foot{
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
  padding-top: 6px;
  border-top: 1px dashed var(--snays-border);
}

@media (max-width: 1100px){
  .hak-numbers-grid{ grid-template-columns: repeat(2, 1fr); }
  .hak-numbers-card:nth-child(2),
  .hak-numbers-card:nth-child(4){ border-left: 1px solid var(--snays-border-strong); }
  .hak-numbers-card:nth-child(3),
  .hak-numbers-card:nth-child(4){ border-top: 1px solid var(--snays-border-strong); }
}
@media (max-width: 600px){
  .hak-numbers-grid{ grid-template-columns: 1fr; }
  .hak-numbers-card + .hak-numbers-card,
  .hak-numbers-card:nth-child(2),
  .hak-numbers-card:nth-child(4){ border-left: 0; border-top: 1px solid var(--snays-border-strong); }
  .hak-numbers-bracket{ width: 48px; height: 48px; }
  .hak-numbers-bracket-tl{ top: 14px; left: 14px; }
  .hak-numbers-bracket-br{ bottom: 14px; right: 14px; }
}

.hak-team-section{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--snays-bg);
}
.hak-team-section-grid{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(to right, var(--snays-border) 1px, transparent 1px);
  background-size: 80px 100%;
  opacity: .5;
  pointer-events: none;
}
.hak-team-section > .snays-container{ position: relative; z-index: 2; }

.hak-team-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.hak-team-card{
  --t-tone: var(--snays-accent);
  --t-tone-soft: var(--snays-accent-soft);
  position: relative;
  padding: 26px 22px 22px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  transition:
    transform var(--snays-mid) var(--snays-ease),
    border-color var(--snays-mid) var(--snays-ease);
}
.hak-team-card:hover{
  transform: translateY(-4px);
  border-color: var(--t-tone);
}
.hak-team-card::before{
  content: "";
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: -1px;
  width: 3px;
  background: var(--t-tone);
}
.hak-team-card::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 28px;
  height: 28px;
  background: var(--t-tone);
  clip-path: polygon(100% 0, 100% 100%, 0 0);
}
.hak-team-card[data-tone="purple"]{ --t-tone: #7C3AED; --t-tone-soft: var(--snays-accent-soft); }
.hak-team-card[data-tone="blue"]  { --t-tone: var(--snays-info); --t-tone-soft: var(--snays-info-soft); }
.hak-team-card[data-tone="green"] { --t-tone: var(--snays-success); --t-tone-soft: var(--snays-success-soft); }
.hak-team-card[data-tone="orange"]{ --t-tone: #E08C2E; --t-tone-soft: var(--snays-warn-soft); }
.hak-team-card[data-tone="pink"]  { --t-tone: #DB2777; --t-tone-soft: #FBE1ED; }
.hak-team-card[data-tone="cyan"]  { --t-tone: #0891B2; --t-tone-soft: #E1F1F5; }
[data-theme="dark"] .hak-team-card[data-tone="pink"]{ --t-tone-soft: #2C1320; }
[data-theme="dark"] .hak-team-card[data-tone="cyan"]{ --t-tone-soft: #0C2026; }

.hak-team-tag{
  align-self: flex-start;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--t-tone);
  padding: 4px 10px;
  background: var(--t-tone-soft);
  position: relative;
  z-index: 1;
}
.hak-team-photo{
  position: relative;
  width: 156px;
  height: 156px;
  margin: 6px 0 8px;
}
.hak-team-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: var(--t-tone-soft);
}
.hak-team-photo-frame{
  position: absolute;
  inset: -8px;
  border: 2px solid var(--t-tone);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  pointer-events: none;
  opacity: .35;
}
.hak-team-photo-frame::before{
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px dashed var(--t-tone);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  opacity: .6;
}
.hak-team-name{
  font-size: var(--snays-fs-18);
  font-weight: 700;
  color: var(--snays-text);
  letter-spacing: -.01em;
}
.hak-team-role{
  font-style: normal;
  font-size: var(--snays-fs-13);
  color: var(--snays-text-soft);
  font-weight: 500;
}
.hak-team-links{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px dashed var(--snays-border);
  width: 100%;
  justify-content: center;
}
.hak-team-links a{
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--snays-surface-2);
  color: var(--snays-text);
  border: 1px solid var(--snays-border);
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px));
  transition: background var(--snays-fast) var(--snays-ease), color var(--snays-fast) var(--snays-ease);
}
.hak-team-links a:hover{
  background: var(--t-tone);
  color: #fff;
  border-color: var(--t-tone);
}
.hak-team-links a .snays-ico{ width: 14px; height: 14px; }

.hak-team-join{
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  margin-top: 24px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
  position: relative;
  transition: border-color var(--snays-fast) var(--snays-ease), background var(--snays-fast) var(--snays-ease);
}
.hak-team-join:hover{
  border-color: var(--snays-accent);
  background: var(--snays-accent-soft);
}
.hak-team-join-mark{
  width: 40px;
  height: 40px;
  background: var(--snays-accent);
  flex-shrink: 0;
  position: relative;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.hak-team-join-mark::before{
  content: "+";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
.hak-team-join-text{
  display: flex;
  flex-direction: column;
  flex: 1;
}
.hak-team-join-text strong{
  font-size: var(--snays-fs-15);
  color: var(--snays-text);
  font-weight: 700;
}
.hak-team-join-text em{
  font-style: normal;
  font-size: var(--snays-fs-13);
  color: var(--snays-text-soft);
}
.hak-team-join > .snays-ico{
  width: 22px;
  height: 22px;
  color: var(--snays-accent);
}

@media (max-width: 1100px){ .hak-team-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){
  .hak-team-grid{ grid-template-columns: 1fr; gap: 16px; }
  .hak-team-photo{ width: 132px; height: 132px; }
}

.hak-techstack{
  padding-block: clamp(48px, 6vw, 80px);
  background: var(--snays-bg);
}
.hak-techstack-shell{
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px;
  background: var(--snays-surface);
  border: 1px solid var(--snays-border);
  position: relative;
}
.hak-techstack-shell::before,
.hak-techstack-shell::after{
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background: var(--snays-accent);
}
.hak-techstack-shell::before{ top: -7px; left: -7px; }
.hak-techstack-shell::after{ bottom: -7px; right: -7px; }
.hak-techstack-row{ display: flex; flex-direction: column; gap: 18px; }
.hak-techstack-row + .hak-techstack-row{
  padding-top: 24px;
  border-top: 1px dashed var(--snays-border);
}
.hak-techstack-row-label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--snays-fs-13);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--snays-muted);
}
.hak-techstack-row-label::before{
  content: "";
  width: 18px;
  height: 2px;
  background: var(--snays-accent);
}
.hak-techstack-row-label .snays-ico{
  width: 18px;
  height: 18px;
  color: var(--snays-accent);
}
.hak-techstack-logos{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
.hak-techstack-logos li{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 88px;
  padding: 16px;
  background: var(--snays-surface-2);
  border: 1px solid var(--snays-border);
  transition:
    transform var(--snays-fast) var(--snays-ease),
    border-color var(--snays-fast) var(--snays-ease),
    background var(--snays-fast) var(--snays-ease);
}
.hak-techstack-logos li:hover{
  transform: translateY(-2px);
  border-color: var(--snays-accent);
  background: var(--snays-surface);
}
.hak-techstack-logos img{
  max-width: 100%;
  max-height: 48px;
  object-fit: contain;
  filter: grayscale(.4);
  opacity: .75;
  transition: filter var(--snays-fast) var(--snays-ease), opacity var(--snays-fast) var(--snays-ease);
}
.hak-techstack-logos li:hover img{
  filter: grayscale(0);
  opacity: 1;
}
.hak-techstack-logos-brand{ grid-template-columns: repeat(8, minmax(0, 1fr)); }
.hak-techstack-logos-brand li{ height: 76px; padding: 12px; }
.hak-techstack-logos-brand img{ max-height: 40px; }

.hak-techstack-badges{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding-top: 24px;
  border-top: 1px dashed var(--snays-border);
}
.hak-techstack-badge{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--snays-surface-2);
  border: 1px solid var(--snays-border);
  position: relative;
}
.hak-techstack-badge::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  background: var(--snays-accent);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.hak-techstack-badge > .snays-ico{
  width: 22px;
  height: 22px;
  color: var(--snays-accent);
  flex-shrink: 0;
}
.hak-techstack-badge > span{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.hak-techstack-badge strong{
  font-size: var(--snays-fs-14);
  font-weight: 700;
  color: var(--snays-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hak-techstack-badge em{
  font-style: normal;
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
}
@media (max-width: 1100px){
  .hak-techstack-logos{ grid-template-columns: repeat(4, 1fr); }
  .hak-techstack-logos-brand{ grid-template-columns: repeat(4, 1fr); }
  .hak-techstack-badges{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
  .hak-techstack-shell{ padding: 22px; }
  .hak-techstack-logos{ grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .hak-techstack-logos-brand{ grid-template-columns: repeat(3, 1fr); }
  .hak-techstack-logos li{ height: 72px; padding: 12px; }
  .hak-techstack-badges{ grid-template-columns: 1fr; }
}

.hak-voices{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--snays-surface);
}
.hak-voices-stripes{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    repeating-linear-gradient(90deg,
      transparent 0,
      transparent 119px,
      var(--snays-border) 119px,
      var(--snays-border) 120px);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 25%, #000 75%, transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 25%, #000 75%, transparent 100%);
  pointer-events: none;
  opacity: .5;
}
.hak-voices > .snays-container{ position: relative; z-index: 2; }

.hak-voices-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.hak-voice{
  position: relative;
  padding: 32px 28px 24px;
  background: var(--snays-bg);
  border: 1px solid var(--snays-border-strong);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.hak-voice.is-featured{
  background: var(--snays-text);
  color: #fff;
  border-color: var(--snays-text);
  transform: translateY(-12px);
}
.hak-voice-bracket{
  position: absolute;
  width: 28px;
  height: 28px;
  pointer-events: none;
}
.hak-voice-bracket-tl{
  top: -2px;
  left: -2px;
  border-top: 3px solid var(--snays-accent);
  border-left: 3px solid var(--snays-accent);
}
.hak-voice-bracket-br{
  bottom: -2px;
  right: -2px;
  border-bottom: 3px solid var(--snays-accent);
  border-right: 3px solid var(--snays-accent);
}
.hak-voice.is-featured .hak-voice-bracket-tl{
  border-top-color: #fff;
  border-left-color: #fff;
}
.hak-voice.is-featured .hak-voice-bracket-br{
  border-bottom-color: var(--snays-accent);
  border-right-color: var(--snays-accent);
}
.hak-voice-mark{
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  width: 48px;
  height: 48px;
  font-family: 'Times New Roman', Georgia, serif;
  font-size: 56px;
  line-height: .8;
  font-weight: 700;
  color: var(--snays-accent);
  background: var(--snays-surface);
  border: 2px solid var(--snays-accent);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  padding-top: 6px;
}
.hak-voice.is-featured .hak-voice-mark{
  background: transparent;
  color: #C9ABF8;
  border-color: var(--snays-accent);
}
.hak-voice-pin{
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--snays-accent);
  background: rgba(176,132,245,.12);
  border: 1px solid var(--snays-accent);
  padding: 4px 10px;
}
.hak-voice-pin::before{
  content: "";
  width: 6px;
  height: 6px;
  background: var(--snays-accent);
}
.hak-voice-text{
  font-size: var(--snays-fs-15);
  line-height: 1.65;
  color: var(--snays-text);
  flex: 1;
}
.hak-voice.is-featured .hak-voice-text{ color: rgba(255,255,255,.94); }
.hak-voice-meta{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px dashed var(--snays-border);
}
.hak-voice.is-featured .hak-voice-meta{
  border-top-color: rgba(255,255,255,.18);
}
.hak-voice-rect{
  width: 36px;
  height: 36px;
  background: var(--snays-accent);
  position: relative;
  flex-shrink: 0;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
}
.hak-voice-rect::before{
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(255,255,255,.5);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%);
}
.hak-voice-author{
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.hak-voice-author strong{
  font-size: var(--snays-fs-14);
  font-weight: 700;
  color: var(--snays-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hak-voice-author em{
  font-style: normal;
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
}
.hak-voice.is-featured .hak-voice-author strong{ color: #fff; }
.hak-voice.is-featured .hak-voice-author em{ color: rgba(255,255,255,.7); }
.hak-voice-stars{
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--snays-warn);
}
.hak-voice-stars .snays-ico{ width: 14px; height: 14px; }

.hak-voices-foot{
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
  font-size: var(--snays-fs-14);
  color: var(--snays-text-soft);
}
.hak-voices-foot p{
  flex-shrink: 0;
}
.hak-voices-foot strong{ color: var(--snays-text); font-weight: 700; }
.hak-voices-foot-line{
  flex: 1;
  height: 1px;
  background: var(--snays-border-strong);
}
.hak-voices-foot-score{
  display: inline-block;
  margin-left: 8px;
  padding: 2px 10px;
  background: var(--snays-accent);
  color: #fff;
  font-weight: 700;
}

@media (max-width: 1100px){
  .hak-voices-grid{ grid-template-columns: repeat(2, 1fr); }
  .hak-voice.is-featured{ transform: none; grid-column: 1 / -1; }
}
@media (max-width: 640px){
  .hak-voices-grid{ grid-template-columns: 1fr; }
  .hak-voices-foot{ flex-direction: column; gap: 10px; }
  .hak-voices-foot-line{ width: 60%; flex: none; }
}

.hak-finale{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--snays-bg);
}
.hak-finale-grid-deco{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(to right, var(--snays-border) 1px, transparent 1px),
    linear-gradient(to bottom, var(--snays-border) 1px, transparent 1px);
  background-size: 40px 40px;
  -webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, #000 30%, transparent 78%);
          mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, #000 30%, transparent 78%);
  opacity: .5;
  pointer-events: none;
}
.hak-finale > .snays-container{ position: relative; z-index: 2; }

.hak-finale-shell{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 48px;
  padding: clamp(40px, 5vw, 72px) clamp(28px, 4vw, 64px);
  background: var(--snays-surface);
  border: 1px solid var(--snays-border-strong);
  align-items: center;
}
.hak-finale-bracket{
  position: absolute;
  width: 64px;
  height: 64px;
  pointer-events: none;
}
.hak-finale-bracket-tl{
  top: -3px; left: -3px;
  border-top: 5px solid var(--snays-accent);
  border-left: 5px solid var(--snays-accent);
}
.hak-finale-bracket-tr{
  top: -3px; right: -3px;
  border-top: 5px solid var(--snays-text);
  border-right: 5px solid var(--snays-text);
}
.hak-finale-bracket-bl{
  bottom: -3px; left: -3px;
  border-bottom: 5px solid var(--snays-text);
  border-left: 5px solid var(--snays-text);
}
.hak-finale-bracket-br{
  bottom: -3px; right: -3px;
  border-bottom: 5px solid var(--snays-accent);
  border-right: 5px solid var(--snays-accent);
}

.hak-finale-body{
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.hak-finale-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  font-size: var(--snays-fs-12);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--snays-accent);
}
.hak-finale-dot{
  width: 10px;
  height: 10px;
  background: var(--snays-accent);
  position: relative;
}
.hak-finale-dot::before{
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid var(--snays-accent);
  opacity: .4;
  animation: hak-pulse 2.4s var(--snays-ease) infinite;
}
.hak-finale-title{
  font-size: clamp(28px, 3.6vw, 42px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.8px;
  color: var(--snays-text);
}
.hak-finale-title em{
  font-style: normal;
  color: var(--snays-accent);
  position: relative;
  display: inline-block;
}
.hak-finale-title em::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4%;
  height: 12px;
  background: var(--snays-accent);
  opacity: .14;
  z-index: -1;
}
.hak-finale-sub{
  font-size: var(--snays-fs-15);
  line-height: 1.65;
  color: var(--snays-text-soft);
  max-width: 540px;
}
.hak-finale-sub strong{ color: var(--snays-text); font-weight: 600; }

.hak-finale-actions{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.hak-finale-btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 24px;
  font-size: var(--snays-fs-14);
  font-weight: 700;
  letter-spacing: .01em;
  transition: background var(--snays-fast) var(--snays-ease), color var(--snays-fast) var(--snays-ease);
}
.hak-finale-btn .snays-ico{ width: 18px; height: 18px; }
.hak-finale-btn-primary{
  background: var(--snays-accent);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  padding-right: 32px;
}
.hak-finale-btn-primary:hover{ background: var(--snays-accent-hover); }
.hak-finale-btn-line{
  background: transparent;
  color: var(--snays-text);
  border: 2px solid var(--snays-text);
}
.hak-finale-btn-line:hover{
  background: var(--snays-text);
  color: var(--snays-on-primary);
}

.hak-finale-channels{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
  padding-top: 22px;
  border-top: 1px dashed var(--snays-border);
}
.hak-finale-channels li{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.hak-finale-channel-mark{
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  background: var(--snays-accent);
  margin-top: 4px;
  position: relative;
}
.hak-finale-channel-mark::before{
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid var(--snays-accent);
  opacity: .35;
}
.hak-finale-channel-text{
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.hak-finale-channel-text strong{
  font-size: var(--snays-fs-14);
  font-weight: 700;
  color: var(--snays-text);
}
.hak-finale-channel-text em{
  font-style: normal;
  font-size: var(--snays-fs-12);
  color: var(--snays-text-soft);
}

.hak-finale-side{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  height: 100%;
  min-height: 240px;
}
.hak-finale-arrow-stack{
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
}
.hak-finale-arrow{
  width: 80px;
  height: 28px;
  background: var(--snays-accent);
  clip-path: polygon(0 30%, 70% 30%, 70% 0, 100% 50%, 70% 100%, 70% 70%, 0 70%);
}
.hak-finale-arrow-1{ opacity: .25; transform: scale(.7); }
.hak-finale-arrow-2{ opacity: .55; transform: scale(.85); }
.hak-finale-arrow-3{ opacity: 1; transform: scale(1); }
.hak-finale-side-tag{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  font-size: var(--snays-fs-13);
  font-weight: 700;
  color: var(--snays-text);
  background: var(--snays-surface-2);
  border: 1px dashed var(--snays-border-strong);
}
.hak-finale-side-tag-mark{
  width: 8px;
  height: 8px;
  background: var(--snays-accent);
  display: inline-block;
}

@media (max-width: 1100px){
  .hak-finale-shell{ grid-template-columns: 1fr; gap: 28px; }
  .hak-finale-side{ min-height: 0; flex-direction: row; }
  .hak-finale-arrow-stack{ flex-direction: row; }
  .hak-finale-arrow{ transform-origin: left center; }
}
@media (max-width: 640px){
  .hak-finale-channels{ grid-template-columns: 1fr; }
  .hak-finale-bracket{ width: 40px; height: 40px; }
  .hak-finale-arrow{ width: 56px; height: 20px; }
}

[data-theme="dark"] .hak-techstack-logos img{
  filter: grayscale(.3) brightness(1.2) invert(.85);
  opacity: .75;
}
[data-theme="dark"] .hak-techstack-logos li:hover img{
  filter: grayscale(0) brightness(1) invert(.85);
  opacity: 1;
}
[data-theme="dark"] .hak-team-photo img{ background: var(--snays-surface-2); }

@media (prefers-reduced-motion: reduce){
  .hak-mvv-card,
  .hak-why-card,
  .hak-approach-step,
  .hak-numbers-card,
  .hak-team-card,
  .hak-team-join,
  .hak-techstack-logos li,
  .hak-team-links a,
  .hak-finale-btn{
    transition: none;
  }
  .hak-timeline-item.is-current .hak-timeline-dot,
  .hak-timeline-tag::before,
  .hak-finale-dot::before{
    animation: none;
  }
}
