@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/bodoni-moda-latin-500.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:500;font-display:swap;src:url('/assets/fonts/bodoni-moda-latin-500-italic.woff2') format('woff2')}
/* Keep the footer below the first viewport while the requested view starts. */
#main{min-height:calc(100svh - 100px)}
#main[data-route-loading="true"]{min-height:100svh}
.hero-carousel{position:relative;min-height:clamp(30rem,34vw,40rem);background:#f0e9df;isolation:isolate;touch-action:pan-y pinch-zoom}
.hero-slides{display:grid}
.hero-slide{position:relative;display:grid;grid-area:1/1;min-width:0;min-height:30rem;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .55s ease,visibility .55s;overflow:hidden}
.hero-slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2.5rem;min-height:30rem;padding-block:2.5rem 5rem}
.hero-carousel .hero-copy{display:block;min-width:0;padding:0;max-width:42rem}
.hero-carousel .eyebrow{font-size:.8125rem;letter-spacing:.14em;margin-bottom:1.25rem}
.hero-backdrop{position:absolute;inset:0}
.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:65% 48%}
.hero-brand:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f0e9dffa 0%,#f0e9dff2 25%,#f0e9dfc9 40%,#f0e9df20 65%,transparent 80%)}
.hero-brand h1{font-size:clamp(3rem,4.5vw,5rem);line-height:1.05;letter-spacing:-.045em;margin-bottom:1.75rem}
.hero-brand h1 em{color:var(--wine);white-space:nowrap}
.hero-promo{
  --promo-light:ellipse 54% 110% at 65% 44%;
  background:radial-gradient(var(--promo-light),#d1a1ac4d 0%,#b9778b29 40%,#b9778b00 78%),linear-gradient(115deg,#542132 0%,#713246 48%,#5b2436 100%);
  color:var(--ivory)
}
.hero-promo .hero-inner{min-height:32.5rem;padding-block:3rem 4.75rem}
.hero-promo .promo-season{display:grid;gap:.125rem;width:max-content;max-width:100%;margin:0 0 1.375rem;color:var(--ivory)}
.promo-season-title{font:500 clamp(3.625rem,4.6vw,4.75rem)/1.04 'Bodoni Moda',Georgia,serif;font-synthesis:none;letter-spacing:-.035em}
.promo-season-brand{justify-self:start;margin-left:.65em;padding-right:.15em;font:italic 500 clamp(2.75rem,3.7vw,3.75rem)/1.05 'Bodoni Moda',Georgia,serif;font-synthesis:none;letter-spacing:-.04em;color:#f0cfd3}
.hero-promo .promo-discount{display:flex;align-items:baseline;gap:.625rem;white-space:nowrap;font-family:var(--sans);line-height:1.1;letter-spacing:-.04em;color:var(--ivory);margin:0 0 .5rem}
.promo-number{font-size:clamp(3rem,4vw,3.75rem);font-weight:600}
.promo-off{font-size:1.75rem;font-weight:500;letter-spacing:.02em}
.hero-promo .promo-conditions{font-size:1rem;line-height:1.5;color:var(--ivory);margin:0 0 1.375rem}
.hero-promo .button.light:hover{background:#f0dfe2;border-color:#f0dfe2}
.hero-promo .promo-benefits{display:flex;align-items:center;gap:.625rem;width:fit-content;max-width:100%;margin-top:.5rem;padding-block:.5rem;color:#f4dfe3;font-size:.875rem;font-weight:400;line-height:1.45;min-height:2.75rem;text-decoration:none}
.promo-benefits>span:not(.benefits-arrow){text-wrap:balance}
.promo-benefits svg{width:1.25rem;height:1.25rem;flex-shrink:0;stroke-width:1.5}
.promo-benefits .benefits-arrow{margin-left:.25rem;transition:transform .2s}
.hero-promo .promo-benefits:hover{color:var(--ivory);text-decoration:underline;text-underline-offset:.25em}
.promo-benefits:hover .benefits-arrow{transform:translate(2px,-2px)}
.promo-benefits:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.promo-products{display:flex;align-items:center;justify-content:center;min-width:0;padding-right:2rem}
.promo-products img{width:100%;height:auto;max-height:22.5rem;object-fit:contain;filter:drop-shadow(0 14px 16px #2b101d38)}
.hero-controls{--control-shadow:#ffffffb3;--control-hover:#2421240d;position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.25rem;z-index:3;color:var(--ink);transition:color .3s}
.hero-controls button{display:grid;place-items:center;min-width:2.75rem;height:2.75rem;border:0;background:transparent;color:inherit;border-radius:50%;padding:.625rem;transition:background .2s}
.hero-controls button:hover{background:var(--control-hover)}
.hero-controls button:focus-visible{outline:2px solid currentColor;outline-offset:0}
.hero-controls svg{width:1.125rem;height:1.125rem;stroke-width:1.6}
.hero-controls svg,.hero-indicators span{filter:drop-shadow(0 1px 2px var(--control-shadow))}
.hero-indicators{display:flex}
.hero-indicators button{padding:.5rem;min-width:3.5rem;border-radius:999px}
.hero-indicators span{position:relative;display:block;width:1.5rem;height:2px;border-radius:2px;overflow:hidden;transition:max-width .2s}
.hero-indicators span:before{content:'';position:absolute;inset:0;background:currentColor;opacity:.45}
.hero-indicators [aria-pressed="true"] span:before{opacity:.85}
.hero-indicators i{display:block;width:100%;height:100%;background:currentColor;transform:scaleX(0);transform-origin:left}
.hero-carousel[data-auto-paused="true"] .hero-indicators [aria-pressed="true"] i{transform:scaleX(1)!important}
.hero-carousel[data-theme="dark"] .hero-controls{--control-shadow:#000000b3;--control-hover:#ffffff1a;color:#fff}
@media(min-width:761px){
  .hero-carousel:has(.hero-slide.is-active :is(.banner-swimwear,.banner-acrobata)) .hero-controls{--control-shadow:#000000b3;--control-hover:#ffffff1a;color:#fff}
}
@media(min-width:1101px){
  .hero-promo .hero-inner{grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,5vw,6rem)}
  .hero-promo .promo-products{padding-right:0;justify-content:flex-start}
  .hero-promo .promo-products img{max-width:36rem;object-position:left center}
}
@media(min-width:1101px) and (max-width:1500px){
  .hero-promo .hero-inner{padding-block:2.5rem 4.5rem;min-height:30rem}
  .hero-promo .promo-products img{max-height:21rem}
}
@media(min-width:761px) and (max-width:1100px){
  .hero-inner{gap:1.5rem}
  .hero-brand h1{font-size:3rem}
  .promo-products{padding-right:1rem}
}
@media(max-width:760px){
  .hero-carousel{min-height:31.25rem}
  .hero-slide{min-height:35rem}
  .hero-inner{grid-template-columns:1fr;gap:.75rem;min-height:35rem;padding-block:1.75rem 4.75rem;align-content:start}
  .hero-carousel .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:1rem}
  .hero-brand .hero-inner{align-items:start}
  .hero-brand h1{font-size:clamp(2.75rem,10vw,3.5rem);max-width:12em;margin-bottom:1.5rem}
  .hero-brand:after{background:linear-gradient(180deg,#f0e9dff5 0%,#f0e9dfec 26%,#f0e9df40 59%,#f0e9df12 72%,#f0e9dfe8 100%)}
  .hero-backdrop img{object-position:62% center}
  .hero-promo{--promo-light:ellipse 90% 55% at 42% 76%}
  .hero-promo .hero-inner{grid-template-rows:auto 1fr;gap:1.5rem;padding-block:2rem 4.5rem;min-height:35rem}
  .hero-promo .promo-season{margin-bottom:1.25rem}
  .promo-season-title{font-size:clamp(2.875rem,12vw,3.375rem)}
  .promo-season-brand{font-size:clamp(2.375rem,10vw,2.875rem)}
  .promo-number{font-size:2.875rem}
  .promo-off{font-size:1.375rem}
  .hero-promo .promo-conditions{font-size:.9375rem;margin-bottom:1.25rem}
  .promo-products{align-self:center;width:calc(100% - 5.5rem);padding:0;justify-content:flex-start}
  .promo-products img{max-height:10.5rem;filter:drop-shadow(0 8px 10px #2b101d30)}
  .hero-controls{bottom:.75rem;gap:0}
  .hero-promo .promo-benefits{margin-top:.5rem}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-controls,.hero-controls button,.hero-indicators span,.promo-benefits .benefits-arrow{transition:none}}
