/* Salyant visual-story component
   Visual-only enrichment for individual articles and service pages.
   It intentionally stays isolated from existing page typography/layout.
*/
.salyant-visual-story{
  width:100%;
  max-width:1120px;
  margin:0 auto 4rem;
  padding:0 1.5rem;
}
.salyant-visual-story .sv-carousel{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x;
  padding:.25rem .25rem .75rem;
}
.salyant-visual-story .sv-carousel::-webkit-scrollbar{display:none}
.salyant-visual-story .sv-slide{
  position:relative;
  flex:0 0 min(100%,960px);
  min-height:410px;
  overflow:hidden;
  scroll-snap-align:start;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:#0b0d12;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.salyant-visual-story .sv-photo>img{
  width:100%;
  height:410px;
  display:block;
  object-fit:cover;
}
.salyant-visual-story .sv-slide::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.salyant-visual-story .sv-photo::after{
  background:linear-gradient(180deg,rgba(4,6,10,.04) 20%,rgba(4,6,10,.84) 100%);
}
.salyant-visual-story .sv-overlay{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:2rem;
  max-width:820px;
}
.salyant-visual-story .sv-kicker{
  display:block;
  color:#d4a574;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.salyant-visual-story .sv-overlay h2,
.salyant-visual-story .sv-panel-inner h2{
  color:#fff;
  font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  font-size:clamp(1.55rem,3.4vw,2.45rem);
  line-height:1.12;
  letter-spacing:-.02em;
  margin:.45rem 0 .7rem;
  font-weight:700;
}
.salyant-visual-story .sv-overlay p{
  color:#d4d8df;
  font-size:1rem;
  line-height:1.65;
  margin:0;
}
.salyant-visual-story .sv-credit{
  position:absolute;
  z-index:3;
  top:.9rem;
  right:1rem;
  max-width:72%;
  color:rgba(255,255,255,.74);
  font-size:.62rem;
  line-height:1.4;
  text-align:right;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:.35rem .55rem;
  border-radius:999px;
}
.salyant-visual-story .sv-panel{
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 85% 15%,rgba(23,97,176,.13),transparent 34%),
    radial-gradient(circle at 10% 90%,rgba(212,165,116,.10),transparent 30%),
    linear-gradient(135deg,#10141d,#080a0f);
}
.salyant-visual-story .sv-panel-inner{
  width:100%;
  padding:clamp(2rem,5vw,4rem);
}
.salyant-visual-story .sv-section-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin-top:1.8rem;
}
.salyant-visual-story .sv-section-card{
  min-height:126px;
  padding:1.05rem;
  border:1px solid rgba(212,165,116,.18);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.salyant-visual-story .sv-number{
  display:inline-flex;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
  margin-bottom:.75rem;
  border-radius:999px;
  border:1px solid rgba(212,165,116,.28);
  color:#d4a574;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.05em;
}
.salyant-visual-story .sv-section-card h3{
  margin:0;
  color:#fff;
  font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  font-size:.9rem;
  line-height:1.38;
  font-weight:650;
}
.salyant-visual-story .sv-footer{
  display:flex;
  justify-content:center;
  gap:.45rem;
  margin-top:.45rem;
  color:#69717e;
  font-size:.7rem;
  letter-spacing:.04em;
}
.salyant-visual-story .sv-footer strong{color:#8992a0;font-weight:600}
@media (max-width:720px){
  .salyant-visual-story{
    margin-bottom:3.25rem;
    padding:0 1rem;
  }
  .salyant-visual-story .sv-slide{
    min-height:350px;
    border-radius:22px;
  }
  .salyant-visual-story .sv-photo>img{
    height:350px;
  }
  .salyant-visual-story .sv-overlay{
    padding:1.35rem;
  }
  .salyant-visual-story .sv-credit{
    max-width:90%;
    font-size:.55rem;
  }
  .salyant-visual-story .sv-panel-inner{
    padding:1.5rem;
  }
  .salyant-visual-story .sv-section-grid{
    grid-template-columns:1fr;
    gap:.65rem;
    margin-top:1.4rem;
  }
  .salyant-visual-story .sv-section-card{
    min-height:0;
    padding:.9rem;
  }
}
@media (prefers-reduced-motion:reduce){
  .salyant-visual-story .sv-carousel{
    scroll-behavior:auto;
  }
}
