.vss-section {
  --vss-teal:#054340;
  --vss-teal-2:#0a5a55;
  --vss-gold:#c9a86a;
  --vss-champagne:#d8be8d;
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:clamp(58px,6vw,96px) clamp(18px,3vw,56px) clamp(62px,6vw,98px);
  background:#faf7f2;
  color:#151515;
  overflow:hidden;
}

.vss-section *,
.vss-section *::before,
.vss-section *::after { box-sizing:border-box; }

.vss-header {
  text-align:center;
  margin:0 auto clamp(46px,4.4vw,76px);
}

.vss-header p {
  margin:0 0 14px;
  color:#77716a;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(13px,1vw,16px);
  line-height:1;
  font-weight:600;
  letter-spacing:.06em;
}

.vss-header h2 {
  margin:0;
  color:#161616;
  font-family:"Playfair Display","Cormorant Garamond",Georgia,serif;
  font-size:clamp(38px,3.6vw,64px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.03em;
}

.vss-shell {
  position:relative;
  width:100%;
  margin:0 auto;
  padding:0 clamp(18px,3.2vw,56px);
}

.vss-viewport {
  overflow:visible;
  cursor:default;
}

.vss-viewport.is-dragging { cursor:default; }

.vss-track {
  --vss-gap:clamp(18px,2.25vw,42px);
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:var(--vss-gap);
  align-items:start;
  justify-items:center;
  width:100%;
  transform:none !important;
  transition:none;
  will-change:auto;
}

.vss-card {
  width:100%;
  min-width:0;
  --vss-circle-size:min(100%,clamp(132px,13vw,250px));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  color:#28231f;
  text-decoration:none;
}

.vss-ring {
  width:var(--vss-circle-size) !important;
  height:var(--vss-circle-size) !important;
  min-width:var(--vss-circle-size) !important;
  min-height:var(--vss-circle-size) !important;
  max-width:var(--vss-circle-size) !important;
  max-height:var(--vss-circle-size) !important;
  aspect-ratio:1 / 1 !important;
  padding:5px;
  display:grid;
  place-items:center;
  border-radius:9999px !important;
  clip-path:circle(50% at 50% 50%);
  background:conic-gradient(from 210deg,var(--vss-teal),var(--vss-teal-2),var(--vss-gold),var(--vss-champagne),var(--vss-teal));
  box-shadow:0 14px 34px rgba(5,67,64,.08);
  transition:transform .35s ease,box-shadow .35s ease,filter .35s ease;
}

.vss-image {
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  aspect-ratio:1 / 1 !important;
  padding:4px;
  display:block;
  border-radius:9999px !important;
  background:#faf7f2;
  overflow:hidden !important;
  clip-path:circle(50% at 50% 50%);
}

.vss-image img {
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  display:block;
  border-radius:9999px !important;
  object-fit:cover !important;
  object-position:center top !important;
  clip-path:circle(50% at 50% 50%);
  transition:transform .55s cubic-bezier(.22,.7,.22,1);
}

.vss-card strong {
  margin-top:clamp(18px,2vw,28px);
  display:block;
  color:#28231f;
  font-family:"Playfair Display","Cormorant Garamond",Georgia,serif;
  font-size:clamp(19px,1.6vw,28px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.02em;
  text-align:center;
  transition:color .28s ease,transform .28s ease;
}

.vss-card:hover .vss-ring,
.vss-card:focus-visible .vss-ring {
  transform:translateY(-5px) scale(1.035);
  box-shadow:0 18px 42px rgba(5,67,64,.16),0 0 0 4px rgba(201,168,106,.11);
  filter:saturate(1.04);
}

.vss-card:hover img,
.vss-card:focus-visible img { transform:scale(1.055); }

.vss-card:hover strong,
.vss-card:focus-visible strong {
  color:var(--vss-teal);
  transform:translateY(2px);
}

.vss-nav { display:none !important; }

.vss-label-mobile { display:none; }

@media (max-width:1100px) {
  .vss-track {
    --vss-gap:22px;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .vss-shell { padding:0 clamp(22px,4vw,44px); }
  .vss-card { --vss-circle-size:min(100%,clamp(150px,25vw,220px)); }
}

@media (max-width:767px) {
  .vss-section { padding:48px 0 58px; overflow:hidden; }
  .vss-header { padding:0 12px; margin-bottom:28px; }
  .vss-header h2 {
    font-size:clamp(25px,7.2vw,34px);
    line-height:1.08;
    white-space:nowrap;
  }
  .vss-shell { width:100%; padding:0 8px; }
  .vss-viewport {
    overflow:visible !important;
  }
  .vss-track {
    --vss-gap:5px;
    width:100%;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:var(--vss-gap);
  }
  .vss-card--mobile-hidden { display:none; }
  .vss-label-desktop { display:none; }
  .vss-label-mobile { display:inline; }
  .vss-card {
    --vss-circle-size:min(100%,clamp(44px,13.2vw,62px));
    min-width:0;
  }
  .vss-ring {
    padding:2px;
    box-shadow:0 7px 16px rgba(5,67,64,.08);
  }
  .vss-image {
    padding:2px;
  }
  .vss-nav { display:none; }
  .vss-card strong {
    width:100%;
    margin-top:8px;
    font-size:clamp(7px,2.1vw,9px);
    line-height:1.05;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

@media (prefers-reduced-motion:reduce) {
  .vss-section *, .vss-section *::before, .vss-section *::after { animation:none!important; transition:none!important; }
}
