.vstl-section {
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:0;
  background:#f8f4ee;
  overflow:hidden;
}

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

.vstl-slider {
  position:relative;
  width:100vw;
  max-width:100vw;
  height:100vh;
  min-height:760px;
  margin:0 calc(50% - 50vw);
  border-radius:0;
  overflow:hidden;
  isolation:isolate;
  background:#9b8065;
  box-shadow:0 22px 48px rgba(72,48,26,.14);
}

.vstl-slide {
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .9s ease,visibility .9s ease;
}

.vstl-slide.is-active {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.vstl-bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:64% 30%;
  transform:scale(1.035);
}

.vstl-slide--1 .vstl-bg { object-position:62% 30%; }
.vstl-slide--2 .vstl-bg { object-position:64% 28%; }
.vstl-slide--3 .vstl-bg { object-position:58% 29%; }

.vstl-slide.is-active .vstl-bg {
  animation:vstlZoom 5.4s ease both;
}

.vstl-wash {
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(78,55,35,.72) 0%,rgba(112,82,55,.45) 32%,rgba(157,125,94,.12) 58%,rgba(93,70,48,.18) 100%),
    linear-gradient(0deg,rgba(64,43,29,.18),rgba(255,255,255,.06));
}

.vstl-copy {
  position:absolute;
  z-index:2;
  left:clamp(44px,4.4vw,86px);
  top:50%;
  width:min(520px,36vw);
  color:#fff;
  transform:translateY(-50%);
}

.vstl-copy p {
  margin:0 0 34px;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(16px,1.2vw,22px);
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
}

.vstl-copy h2 {
  margin:0;
  color:#fff;
  font-family:"Playfair Display","Cormorant Garamond",Georgia,serif;
  font-size:clamp(76px,7vw,136px);
  line-height:.9;
  font-weight:400;
  letter-spacing:-.045em;
  text-shadow:0 4px 24px rgba(0,0,0,.18);
}

.vstl-divider {
  width:min(360px,100%);
  margin:38px 0 32px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#d8be8d;
}

.vstl-divider i { height:1px; flex:1; background:currentColor; opacity:.85; }
.vstl-divider b { font-size:24px; line-height:1; font-weight:400; }

.vstl-copy strong {
  display:block;
  margin:0 0 14px;
  color:#fff;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(16px,1.35vw,24px);
  font-weight:500;
  letter-spacing:.28em;
}

.vstl-copy em {
  display:block;
  color:#fff;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(22px,2vw,34px);
  line-height:1.2;
  font-style:italic;
}

.vstl-card {
  position:absolute;
  z-index:3;
  right:clamp(55px,5vw,100px);
  top:53%;
  width:min(640px,36vw);
  min-height:270px;
  padding:26px 32px;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:32px;
  align-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:24px;
  color:#fff;
  background:rgba(189,170,151,.58);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 42px rgba(45,28,14,.18);
  text-decoration:none;
  transform:translateY(-50%);
  transition:transform .35s ease,background .35s ease;
}

.vstl-card:hover {
  color:#fff;
  background:rgba(178,157,138,.66);
  transform:translateY(calc(-50% - 5px));
}

.vstl-card img {
  width:150px;
  height:210px;
  border-radius:14px;
  object-fit:cover;
  object-position:center top;
}

.vstl-card small {
  display:block;
  margin-bottom:14px;
  color:#fff;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:21px;
  line-height:1;
  letter-spacing:.04em;
  opacity:.76;
}

.vstl-card strong {
  display:block;
  margin:0 0 34px;
  color:#fff;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(26px,2.05vw,38px);
  line-height:1.12;
  font-weight:400;
}

.vstl-card b {
  display:block;
  margin:0 0 20px;
  color:#fff;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(24px,2vw,34px);
  line-height:1;
}

.vstl-card i {
  display:inline-flex;
  color:#fff;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:15px;
  font-style:normal;
  letter-spacing:.08em;
  opacity:.9;
}

.vstl-dots {
  position:absolute;
  z-index:4;
  left:clamp(44px,4.4vw,86px);
  bottom:clamp(34px,3.4vw,56px);
  display:flex;
  align-items:center;
  gap:25px;
}

.vstl-dots button {
  width:13px;
  height:13px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  cursor:pointer;
  opacity:.96;
  transition:transform .3s ease,box-shadow .3s ease;
}

.vstl-dots button.is-active {
  width:40px;
  height:40px;
  border:2px solid #fff;
  background:transparent;
  box-shadow:inset 0 0 0 11px rgba(255,255,255,.18);
}

.vstl-dots button.is-active::after {
  content:"";
  width:8px;
  height:8px;
  display:block;
  margin:14px auto;
  border-radius:50%;
  background:#fff;
}

.vstl-slide.is-active .vstl-copy {
  animation:vstlText .72s ease both;
}

.vstl-slide.is-active .vstl-card {
  animation:vstlCard .82s ease both;
}

@keyframes vstlZoom { from { transform:scale(1.02); } to { transform:scale(1.07); } }
@keyframes vstlText { from { opacity:0; transform:translateY(calc(-50% + 18px)); } to { opacity:1; transform:translateY(-50%); } }
@keyframes vstlCard { from { opacity:0; transform:translateY(calc(-50% + 22px)); } to { opacity:1; transform:translateY(-50%); } }

@media (max-width:1180px) {
  .vstl-slider { height:100vh; min-height:700px; }
  .vstl-copy { width:40vw; }
  .vstl-card { width:42vw; grid-template-columns:115px minmax(0,1fr); gap:22px; min-height:220px; }
  .vstl-card img { width:115px; height:165px; }
}

@media (max-width:767px) {
  .vstl-section {
    width:100% !important;
    max-width:100% !important;
    padding:0;
    overflow:hidden !important;
    contain:paint;
  }
  .vstl-slider {
    width:100vw !important;
    max-width:100vw !important;
    height:auto;
    min-height:0;
    aspect-ratio:16 / 9;
    margin:0 calc(50% - 50vw) !important;
    border-radius:0;
    overflow:hidden !important;
  }
  .vstl-bg {
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    transform:none;
  }
  .vstl-slide--1 .vstl-bg,
  .vstl-slide--2 .vstl-bg,
  .vstl-slide--3 .vstl-bg { object-position:center; }
  .vstl-slide.is-active .vstl-bg { animation:none; }
  .vstl-wash {
    background:
      linear-gradient(90deg,rgba(78,55,35,.72) 0%,rgba(112,82,55,.45) 32%,rgba(157,125,94,.12) 58%,rgba(93,70,48,.18) 100%),
      linear-gradient(0deg,rgba(64,43,29,.18),rgba(255,255,255,.06));
  }
  .vstl-copy {
    left:4.4vw;
    right:auto;
    top:50%;
    width:36vw;
    transform:translateY(-50%);
  }
  .vstl-copy p {
    margin:0 0 1.75vw;
    font-size:1.15vw;
  }
  .vstl-copy h2 {
    font-size:7vw;
    line-height:.9;
  }
  .vstl-divider {
    width:18.75vw;
    margin:1.95vw 0 1.65vw;
    gap:.72vw;
  }
  .vstl-divider b { font-size:1.25vw; }
  .vstl-copy strong {
    margin-bottom:.72vw;
    font-size:1.25vw;
    letter-spacing:.28em;
  }
  .vstl-copy em { font-size:1.78vw; }
  .vstl-card {
    left:auto;
    right:5vw;
    top:53%;
    bottom:auto;
    width:36vw;
    min-height:14vw;
    padding:1.35vw 1.65vw;
    grid-template-columns:7.8vw minmax(0,1fr);
    gap:1.65vw;
    border-radius:1.25vw;
    transform:translateY(-50%);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    box-shadow:0 .95vw 2.2vw rgba(45,28,14,.18);
  }
  .vstl-card:hover { transform:translateY(-50%); }
  .vstl-card img {
    width:7.8vw;
    height:10.94vw;
    border-radius:.72vw;
  }
  .vstl-card small {
    margin-bottom:.72vw;
    font-size:1.1vw;
  }
  .vstl-card strong {
    margin-bottom:1.75vw;
    font-size:1.95vw;
  }
  .vstl-card b {
    margin-bottom:1vw;
    font-size:1.75vw;
  }
  .vstl-card i { font-size:.78vw; }
  .vstl-dots {
    left:4.4vw;
    bottom:2.9vw;
    gap:1.3vw;
  }
  .vstl-dots button {
    width:.68vw;
    height:.68vw;
    min-width:.68vw;
    min-height:.68vw;
    aspect-ratio:1 / 1;
    border-radius:999px;
  }
  .vstl-dots button.is-active {
    width:2.1vw;
    height:2.1vw;
    min-width:2.1vw;
    min-height:2.1vw;
    aspect-ratio:1 / 1;
    border-radius:999px;
    border-width:1px;
    box-shadow:inset 0 0 0 .58vw rgba(255,255,255,.18);
  }
  .vstl-dots button.is-active::after {
    width:.42vw;
    height:.42vw;
    margin:.78vw auto;
    border-radius:999px;
  }
  .vstl-slide.is-active .vstl-copy,
  .vstl-slide.is-active .vstl-card { animation:none; }
}

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

/* Reference-matched VICORA editorial lookbook. */
.vstl-slider {
  height:auto;
  min-height:0;
  aspect-ratio:12 / 5;
  background:#f3e4ca;
  box-shadow:none;
}

.vstl-bg,
.vstl-slide--1 .vstl-bg,
.vstl-slide--2 .vstl-bg,
.vstl-slide--3 .vstl-bg {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:none;
  animation:none !important;
}

.vstl-wash { display:none !important; }

.vstl-copy {
  position:absolute;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:40%;
  color:#4b453e;
  text-align:center;
  transform:none;
  text-shadow:none;
}

.vstl-slide.is-active .vstl-copy { animation:none !important; }

.vstl-copy h2 {
  order:1;
  width:100%;
  margin:0;
  color:inherit;
  font-family:"Bodoni Moda","Times New Roman",serif;
  font-size:inherit;
  font-weight:400;
  line-height:.92;
  letter-spacing:0;
  text-shadow:none;
}

.vstl-title-the,
.vstl-title-main,
.vstl-title-lookbook { display:block; }

.vstl-title-the {
  margin:0 auto .62vw;
  font-size:1.85vw;
  line-height:1;
  letter-spacing:.1em;
}

.vstl-title-main { font-size:4.1vw; }
.vstl-title-lookbook { font-size:3.85vw; }

.vstl-copy .vstl-script {
  order:2;
  margin:1vw 0 0;
  color:#c2953e;
  font-family:"Italianno","Brush Script MT",cursive;
  font-size:2.75vw;
  font-weight:400;
  line-height:1;
  letter-spacing:.01em;
}

.vstl-divider {
  order:3;
  width:20vw;
  margin:1.2vw 0 .95vw;
  gap:.65vw;
  color:#c79a3b;
}

.vstl-divider b { font-size:0; }
.vstl-divider b::before { content:"✦"; font-size:.75vw; }

.vstl-copy > strong {
  order:4;
  display:block;
  margin:0;
  color:#bd8f38;
  font-family:"Bodoni Moda","Times New Roman",serif;
  font-size:1.28vw;
  font-weight:500;
  line-height:1;
  letter-spacing:.08em;
}

.vstl-copy .vstl-description {
  order:5;
  max-width:31vw;
  margin:1.15vw auto 0;
  color:#4c4b4a;
  font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
  font-size:1.05vw;
  font-weight:400;
  line-height:1.38;
  letter-spacing:.035em;
}

.vstl-cta {
  order:6;
  min-width:18.2vw;
  margin-top:1.45vw;
  padding:.78vw 1.5vw;
  border:1px solid #c79a3b;
  color:#fff !important;
  background:#c79a3b;
  font-family:"Bodoni Moda","Times New Roman",serif;
  font-size:1.05vw;
  font-weight:500;
  line-height:1;
  letter-spacing:.08em;
  text-align:center;
  text-decoration:none !important;
  transition:filter .25s ease,transform .25s ease;
}

.vstl-cta:hover { filter:brightness(.94); transform:translateY(-2px); }

/* Lookbook 01 — Grace In Every Chapter. */
.vstl-slide--1 .vstl-copy {
  left:2.6%;
  top:31.8%;
  width:41%;
  color:#c2933a;
}

.vstl-slide--1 .vstl-title-the {
  width:24vw;
  display:flex;
  align-items:center;
  gap:1.65vw;
  white-space:nowrap;
}

.vstl-slide--1 .vstl-title-the::before,
.vstl-slide--1 .vstl-title-the::after {
  content:"";
  flex:1;
  height:1px;
  background:currentColor;
}

.vstl-slide--1 .vstl-title-main,
.vstl-slide--1 .vstl-title-lookbook {
  display:inline;
  font-size:3.65vw;
  letter-spacing:-.015em;
}

.vstl-slide--1 .vstl-title-main::after { content:" "; }
.vstl-slide--1 .vstl-copy .vstl-script { color:#ef6f99; font-size:2.85vw; }
.vstl-slide--1 .vstl-divider { width:20vw; margin-top:1.1vw; }
.vstl-slide--1 .vstl-copy .vstl-description { max-width:29vw; }

/* Lookbook 02 — The Art Of Presence. */
.vstl-slide--2 .vstl-copy {
  left:4.1%;
  top:7.8%;
  width:36.8%;
  color:#064e4d;
}

.vstl-slide--2 .vstl-copy h2::before {
  content:"❧";
  display:block;
  margin:0 0 .25vw;
  color:#bd8f38;
  font-family:Georgia,serif;
  font-size:2.4vw;
  line-height:1;
}

.vstl-slide--2 .vstl-title-the {
  width:21vw;
  display:flex;
  align-items:center;
  gap:1.5vw;
  font-size:2.55vw;
}

.vstl-slide--2 .vstl-title-the::before,
.vstl-slide--2 .vstl-title-the::after {
  content:"";
  flex:1;
  height:1px;
  background:#c9a86a;
  opacity:.55;
}

.vstl-slide--2 .vstl-title-main { font-size:5.85vw; letter-spacing:.06em; }
.vstl-slide--2 .vstl-title-lookbook { font-size:4.7vw; letter-spacing:.08em; }
.vstl-slide--2 .vstl-copy .vstl-script { margin-top:.7vw; font-size:2.65vw; }
.vstl-slide--2 .vstl-divider { width:23.5vw; margin:.85vw 0 1.2vw; }
.vstl-slide--2 .vstl-copy > strong { color:#064e4d; letter-spacing:.28em; }
.vstl-slide--2 .vstl-copy .vstl-description { max-width:27vw; margin-top:.75vw; font-size:.98vw; }
.vstl-slide--2 .vstl-cta { min-width:21.8vw; margin-top:2.2vw; border-color:#c79a3b; background:#064e4d; }

/* Lookbook 03 — Moments Worth Dressing For. */
.vstl-slide--3 .vstl-copy {
  left:9.9%;
  top:24%;
  width:32.5%;
  color:#064e4d;
}

.vstl-slide--3 .vstl-title-the { font-size:2.25vw; letter-spacing:.32em; }
.vstl-slide--3 .vstl-title-main { font-size:5.35vw; letter-spacing:.08em; }
.vstl-slide--3 .vstl-title-lookbook { font-size:2.15vw; letter-spacing:.3em; }
.vstl-slide--3 .vstl-divider { order:2; width:18vw; margin:1.3vw 0 .8vw; }
.vstl-slide--3 .vstl-copy .vstl-script { order:3; margin:0; color:#aa834a; font-family:"Bodoni Moda","Times New Roman",serif; font-size:1.8vw; font-style:italic; }
.vstl-slide--3 .vstl-copy > strong { color:#064e4d; margin-top:1.3vw; font-size:1.06vw; letter-spacing:.18em; }
.vstl-slide--3 .vstl-copy .vstl-description { max-width:22vw; margin-top:1vw; font-size:.98vw; }
.vstl-slide--3 .vstl-cta { min-width:12.5vw; margin-top:1.9vw; border-color:#064e4d; background:#064e4d; font-size:1.05vw; letter-spacing:0; text-transform:none; }

/* Glass product card shared by all three lookbook slides. */
.vstl-card {
  left:auto;
  right:2.6vw;
  top:auto;
  bottom:2.1vw;
  width:27vw;
  min-height:0;
  padding:1vw 1.15vw;
  display:grid;
  grid-template-columns:6.2vw minmax(0,1fr);
  gap:1.15vw;
  align-items:center;
  border:1px solid rgba(183,139,57,.48);
  border-radius:1.15vw;
  color:#073f36;
  background:rgba(255,252,246,.62);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
  box-shadow:0 .9vw 2.4vw rgba(84,55,24,.18);
  transform:none;
}

.vstl-slide.is-active .vstl-card { animation:none !important; }

.vstl-card:hover {
  color:#073f36;
  background:rgba(255,252,246,.76);
  transform:translateY(-4px);
}

.vstl-card img {
  width:6.2vw;
  height:7.8vw;
  border:1px solid rgba(183,139,57,.32);
  border-radius:.75vw;
  object-fit:cover;
  object-position:center top;
}

.vstl-card small {
  margin-bottom:.45vw;
  color:#9a7130;
  font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
  font-size:.68vw;
  font-weight:500;
  letter-spacing:.18em;
  opacity:1;
}

.vstl-card strong {
  margin:0 0 .65vw;
  color:#073f36;
  font-family:"Bodoni Moda","Times New Roman",serif;
  font-size:1.28vw;
  line-height:1.08;
  font-weight:500;
}

.vstl-card b {
  margin:0 0 .55vw;
  color:#073f36;
  font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
  font-size:1.05vw;
  line-height:1;
}

.vstl-card i {
  color:#9a7130;
  font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
  font-size:.64vw;
  font-weight:500;
  letter-spacing:.1em;
}

.vstl-dots {
  left:50%;
  bottom:1.2vw;
  display:flex !important;
  gap:.65vw;
  transform:translateX(-50%);
}

.vstl-dots button,
.vstl-dots button.is-active {
  width:.55vw;
  min-width:.55vw;
  height:.55vw;
  min-height:.55vw;
  border:1px solid rgba(7,63,54,.7);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  box-shadow:none;
}

.vstl-dots button.is-active {
  background:#073f36;
  transform:scale(1.35);
}

.vstl-dots button.is-active::after { display:none; }

@media (max-width:767px) {
  .vstl-slider {
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:12 / 5;
  }
  .vstl-copy { right:auto; transform:none; }
  .vstl-slide.is-active .vstl-copy { animation:none; }

  .vstl-copy .vstl-cta,
  .vstl-slide--2 .vstl-cta,
  .vstl-slide--3 .vstl-cta {
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:.38vw 1.1vw !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1 !important;
  }

  .vstl-card {
    right:2.2vw;
    bottom:2vw;
    width:28vw;
    min-height:0;
    padding:.8vw;
    grid-template-columns:6.4vw minmax(0,1fr);
    gap:.85vw;
    border-radius:1.1vw;
    transform:none;
  }
  .vstl-card:hover { transform:none; }
  .vstl-card img { width:6.4vw; height:8vw; border-radius:.65vw; }
  .vstl-card small { margin-bottom:.3vw; font-size:.62vw; }
  .vstl-card strong { margin-bottom:.45vw; font-size:1.15vw; }
  .vstl-card b { margin-bottom:.35vw; font-size:.95vw; }
  .vstl-card i { font-size:.58vw; }
  .vstl-dots { bottom:.8vw; gap:.6vw; }
  .vstl-dots button,
  .vstl-dots button.is-active {
    width:.55vw;
    min-width:.55vw;
    height:.55vw;
    min-height:.55vw;
  }
}

/* Restore clear, full-width/full-height lookbook banner rendering. */
.vstl-section {
  padding: 0 !important;
  margin: 0 !important;
}

.vstl-slider {
  width: 100vw !important;
  max-width: 100vw !important;
  height: clamp(420px, 52.083vw, 900px) !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: hidden !important;
  background: transparent !important;
}

.vstl-slide,
.vstl-slide.is-active {
  inset: 0 !important;
  height: 100% !important;
  min-height: 100% !important;
}

.vstl-bg,
.vstl-slide--1 .vstl-bg,
.vstl-slide--2 .vstl-bg,
.vstl-slide--3 .vstl-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}

@media (max-width: 767px) {
  .vstl-slider {
    height: clamp(180px, 52.083vw, 380px) !important;
  }
}
