@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Inter:wght@400;500;600;700&display=swap');

.hissho-slider {
  position: relative;
  overflow: hidden;
  font-family: 'Inter', sans-serif;
}
.hissho-track {
  display: flex;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}
.hissho-slide {
  flex: 0 0 100%;
  min-width: 100%;
  position: relative;
  min-height: 900px;
  padding: 80px 64px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
  color: var(--cream);
  background: var(--dark);
  overflow: hidden;
  box-sizing: border-box;
}
.hissho-slide::before {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse at 85% 30%, var(--ink) 0%, transparent 55%),
    radial-gradient(ellipse at 20% 80%, var(--ink) 0%, transparent 50%);
  opacity:.22;
}
.hissho-marquee {
  position:absolute; top:20%; left:0; right:0;
  transform:translateY(-50%);
  z-index:1; pointer-events:none; overflow:hidden; white-space:nowrap;
}
.hissho-marquee-track {
  display:inline-block; white-space:nowrap;
  font-family:'Archivo Black', sans-serif;
  font-size: clamp(180px, 22vw, 320px);
  line-height:.85; letter-spacing:-8px;
  color: var(--ink); opacity:.14;
  animation: hissho-marquee 60s linear infinite;
}
@keyframes hissho-marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.hissho-content { position:relative; z-index:3; max-width: 600px; }
.hissho-photo-wrap { 
  position:relative; 
  z-index:3; 
  max-width: 80%; 
  margin: 80px auto 0;
}
.hissho-photo-wrap::after {
  content:""; position:absolute; inset:0; background: var(--ink);
  transform: translate(24px, 24px); z-index:0;
}
.hissho-photo {
  position:relative; z-index:1;
  width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
}

.hissho-badge {
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px; background:var(--ink); color:var(--cream);
  border-radius:999px;
  font: 700 12px/1 'Inter', sans-serif;
  letter-spacing:2.5px; text-transform:uppercase;
  margin-bottom: 20px;
}
.hissho-dot {
  width:6px; height:6px; border-radius:999px; background:var(--cream);
  animation: hissho-pulse 1.6s infinite;
}
@keyframes hissho-pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.5);opacity:.6} }

.hissho-lockup {
  font: 600 14px/1 'Inter', sans-serif;
  letter-spacing:3px; text-transform:uppercase;
  opacity:.7; color:var(--cream);
  margin-bottom: 16px;
}
.hissho-title {
  font-family:'Archivo Black', sans-serif !important;
  font-size: clamp(48px, 5.5vw, 88px) !important;
  line-height:.88 !important; letter-spacing:-3px !important;
  color: var(--cream) !important;
  margin: 0 0 20px 0 !important;
  font-weight: normal !important;
  text-wrap: balance;
}
.hissho-tagline {
  font: 400 19px/1.45 'Inter', sans-serif;
  color: var(--cream); opacity:.88;
  max-width:480px;
  margin: 0 0 28px 0;
}

.hissho-facts {
  display:inline-flex; align-items:stretch; gap:0;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(12px);
  border-radius: 18px; overflow:hidden;
  margin-bottom: 28px;
}
.hissho-fact {
  padding: 14px 22px;
  border-right: 1px solid rgba(255,255,255,.12);
  display:flex; flex-direction:column; gap:2px; text-align:left;
}
.hissho-fact:last-child { border-right:none; }
.hissho-fact-label {
  font: 500 10px/1 'Inter', sans-serif;
  letter-spacing:1.5px; text-transform:uppercase;
  opacity:.55; color:var(--cream);
}
.hissho-fact-value {
  font: 700 13px/1 'Inter', sans-serif;
  letter-spacing:1.5px; text-transform:uppercase;
  color:var(--cream); opacity:.95;
}

.hissho-ctas { display:flex; gap:12px; flex-wrap:wrap; }
.hissho-cta-primary, .hissho-cta-secondary {
  display:inline-flex; align-items:center; justify-content:center;
  font: 700 14px/1 'Inter', sans-serif !important;
  letter-spacing:1.5px; text-transform:uppercase;
  padding: 18px 28px; border-radius:999px;
  text-decoration:none !important;
  transition: transform .2s ease, background .2s ease;
}
.hissho-cta-primary { background: var(--cream); color: var(--dark); }
.hissho-cta-primary:hover { transform: translateY(-2px); color: var(--dark); }
.hissho-cta-secondary {
  background: transparent; color: #ffffff !important;
  border: 1.5px solid rgba(255,255,255,.3);
}
.hissho-cta-secondary:hover { background: rgba(255,255,255,.08); color: #ffffff !important; }

/* Controls */
.hissho-controls {
  position: absolute;
  bottom: 32px; left: 50%;
  transform: translateX(-50%);
  display: flex; align-items: center; gap: 16px;
  z-index: 5;
}

.hissho-dots-wrap {
  display: flex; gap: 10px; align-items: center;
}

.hissho-dot-nav {
  width: 48px; height: 3px;
  border: 0; padding: 0; cursor: pointer;
  background: rgba(255,255,255,.35);
  transition: background .3s ease;
}
.hissho-dot-nav.is-active { background: #fff; }

.hissho-arrow {
  width: 40px; height: 40px; border-radius: 999px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(12px);
  border: 0; cursor: pointer;
  color: #fff; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s ease;
}
.hissho-arrow:hover { background: rgba(255,255,255,.28); }

@media (max-width: 991px) {
  .hissho-slide {
    grid-template-columns: 1fr;
    padding: 48px 24px 80px;
    min-height: auto; gap: 32px;
  }
  .hissho-title { font-size: 44px !important; }
  .hissho-marquee-track { font-size: 160px; }
  .hissho-arrow { display: none; }
  .hissho-photo-wrap { order: -1; max-width: 100%; margin-top: 0; }
}