/* =========================================================
   BELLA — DATABASE-DRIVEN EDITORIAL HERO SLIDER
   ========================================================= */
.bella-hero{
  --hero-autoplay:6800ms;
  --hero-x:0px;
  --hero-y:0px;
  position:relative;
  isolation:isolate;
  height:min(880px,calc(100svh - var(--header-height)));
  min-height:650px;
  overflow:hidden;
  background:var(--near-black);
  color:#fff;
}
.bella-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:8;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.28);
  opacity:.75;
}
.bella-hero__stage{position:absolute;inset:0;overflow:hidden;background:#111312}
.bella-hero__slide{
  position:absolute;
  inset:0;
  z-index:0;
  clip-path:inset(0 0 0 100%);
  transition:clip-path 1.05s cubic-bezier(.76,0,.24,1),opacity .8s ease;
  opacity:1;
  pointer-events:none;
  margin:0;
}
.bella-hero[data-direction="backward"] .bella-hero__slide{clip-path:inset(0 100% 0 0)}
.bella-hero__slide.is-active{z-index:2;clip-path:inset(0 0 0 0)}
.bella-hero__media{
  position:absolute;
  inset:-2.5%;
  transform:translate3d(var(--hero-x),var(--hero-y),0);
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
.bella-hero__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--object-position,50% 50%);
  display:block;
  transform:scale(1.045);
  filter:saturate(.92) contrast(1.02);
  will-change:transform;
}
.bella-hero__slide.is-active img{animation:bellaHeroDrift var(--hero-autoplay) linear both}
@keyframes bellaHeroDrift{from{transform:scale(1.075)}to{transform:scale(1.025)}}

.bella-hero__veil{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,10,9,.78) 0%,rgba(8,10,9,.54) 27%,rgba(8,10,9,.17) 55%,rgba(8,10,9,.03) 74%,rgba(8,10,9,.20) 100%),
    linear-gradient(0deg,rgba(8,10,9,.72) 0%,rgba(8,10,9,0) 42%);
}
.bella-hero__grain{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.bella-hero__content{
  position:relative;
  z-index:10;
  width:min(calc(100% - 72px),var(--max));
  height:100%;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.58fr);
  align-items:center;
  gap:9vw;
  padding:72px 0 132px;
}
.bella-hero__copy{max-width:800px;align-self:center;padding-left:18px}
.bella-hero__eyebrow{
  display:flex;
  align-items:center;
  gap:17px;
  margin:0 0 22px;
  font-family:var(--font-script);
  font-size:28px;
  line-height:1.2;
  font-weight:400;
  color:#dbe2de;
  text-shadow:0 1px 18px rgba(0,0,0,.25);
}
.bella-hero__eyebrow::before{content:"";width:54px;height:1px;background:#9eaaa4;flex:0 0 54px}
.bella-hero h1{
  margin:0;
  max-width:760px;
  font-size:64px;
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:600;
  text-wrap:balance;
}
.bella-hero h1 span{display:block;overflow:hidden;padding-bottom:.08em}
.bella-hero h1 span>i{display:block;font-style:normal;animation:bellaHeroTitleIn .9s .12s cubic-bezier(.16,1,.3,1) both}
@keyframes bellaHeroTitleIn{from{transform:translateY(115%);opacity:.25}to{transform:none;opacity:1}}
.bella-hero__intro{
  max-width:610px;
  margin:26px 0 0;
  font-size:20px;
  line-height:1.75;
  font-weight:400;
  color:rgba(255,255,255,.78);
}
.bella-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:34px}
.bella-hero__cta{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.78);
  color:#fff;
  font-size:15px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background .24s ease,color .24s ease,border-color .24s ease,transform .24s ease;
}
.bella-hero__cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.bella-hero__cta--primary{background:var(--sage);color:#fff;border-color:var(--sage);padding-inline:25px}
.bella-hero__cta:hover{transform:translateY(-2px);background:#fff;color:var(--near-black);border-color:#fff}
.bella-hero__cta--primary:hover{background:#fff;border-color:#fff;color:var(--near-black)}
.bella-hero__cta--quiet{border-color:transparent;padding-inline:9px 4px;color:rgba(255,255,255,.86)}
.bella-hero__cta--quiet:hover{background:transparent;color:#fff;border-color:transparent;transform:translateX(3px)}

.bella-hero__dossier{
  align-self:center;
  justify-self:end;
  width:min(100%,360px);
  padding:23px 0 23px 28px;
  border-left:1px solid rgba(255,255,255,.42);
  text-shadow:0 1px 16px rgba(0,0,0,.35);
}
.bella-hero__dossier-top{display:flex;align-items:baseline;gap:11px;margin-bottom:44px}
.bella-hero__current{font-size:44px;line-height:1;font-weight:500;letter-spacing:-.05em}
.bella-hero__total{font-size:12px;letter-spacing:.16em;color:rgba(255,255,255,.62)}
.bella-hero__meta-window{overflow:hidden;min-height:118px}
.bella-hero__meta{transition:transform .42s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.bella-hero__meta.is-changing{transform:translateY(14px);opacity:0}
.bella-hero__meta-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:600;color:#c8d2cd;margin-bottom:9px}
.bella-hero__meta-title{font-size:26px;line-height:1.15;font-weight:500;letter-spacing:-.03em;margin:0 0 10px}
.bella-hero__meta-note{font-size:13px;line-height:1.6;color:rgba(255,255,255,.64)}
.bella-hero__contact-person{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22);font-size:11px;line-height:1.7;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.58)}
.bella-hero__contact-person strong{display:block;color:#fff;font-weight:600;letter-spacing:.11em}

.bella-hero__rail{
  position:absolute;
  z-index:12;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(calc(100% - 72px),var(--max));
  height:91px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:34px;
  padding:0 18px 19px;
}
.bella-hero__tabs{display:grid;grid-template-columns:repeat(var(--slide-count,5),minmax(0,1fr));gap:14px;min-width:0}
.bella-hero__tab{
  appearance:none;
  border:0;
  border-top:1px solid rgba(255,255,255,.30);
  background:transparent;
  color:rgba(255,255,255,.55);
  padding:11px 0 0;
  text-align:left;
  cursor:pointer;
  min-width:0;
  transition:color .24s ease,border-color .24s ease;
}
.bella-hero__tab:hover,.bella-hero__tab.is-active{color:#fff;border-color:rgba(255,255,255,.80)}
.bella-hero__tab-num{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:3px}
.bella-hero__tab-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:600}
.bella-hero__controls{display:flex;align-items:center;gap:8px}
.bella-hero__arrow{
  width:48px;height:48px;border:1px solid rgba(255,255,255,.42);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:.22s ease
}
.bella-hero__arrow:hover{background:#fff;color:#111312;border-color:#fff}
.bella-hero__arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4}
.bella-hero__progress{position:absolute;left:18px;right:18px;bottom:0;height:2px;background:rgba(255,255,255,.17);overflow:hidden}
.bella-hero__progress span{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.bella-hero.is-playing .bella-hero__progress span{animation:bellaHeroProgress var(--hero-autoplay) linear forwards}
@keyframes bellaHeroProgress{to{transform:scaleX(1)}}
.bella-hero__scroll-cue{
  position:absolute;
  z-index:12;
  right:calc((100vw - min(calc(100vw - 72px),var(--max)))/2 + 17px);
  top:50%;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:center;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.28em;
  color:rgba(255,255,255,.52);
  pointer-events:none;
}

@media (max-width:1180px){
  .bella-hero{height:min(820px,calc(100svh - var(--header-height)));min-height:620px}
  .bella-hero__content{width:min(calc(100% - 48px),var(--max));grid-template-columns:minmax(0,1fr) 280px;gap:42px;padding:62px 0 124px}
  .bella-hero__copy{padding-left:10px}
  .bella-hero__dossier{padding-left:22px}
  .bella-hero__rail{width:calc(100% - 48px)}
  .bella-hero__scroll-cue{display:none}
}
@media (max-width:860px){
  .bella-hero{height:min(840px,calc(100svh - var(--header-height)));min-height:690px}
  .bella-hero::before{inset:12px}
  .bella-hero__veil{background:linear-gradient(0deg,rgba(8,10,9,.84) 0%,rgba(8,10,9,.54) 47%,rgba(8,10,9,.12) 76%),linear-gradient(90deg,rgba(8,10,9,.35),rgba(8,10,9,.06))}
  .bella-hero__content{width:calc(100% - 40px);display:block;padding:0 8px 128px}
  .bella-hero__copy{position:absolute;left:28px;right:28px;bottom:145px;max-width:720px;padding:0}
  .bella-hero__eyebrow{font-size:26px;margin-bottom:16px}.bella-hero__eyebrow::before{width:40px;flex-basis:40px}
  .bella-hero h1{font-size:52px;line-height:1.01;max-width:620px}
  .bella-hero__intro{font-size:19px;max-width:560px;margin-top:18px}
  .bella-hero__actions{margin-top:24px}
  .bella-hero__dossier{position:absolute;top:36px;right:32px;width:230px;padding:0 0 0 18px}
  .bella-hero__dossier-top{margin-bottom:18px}.bella-hero__current{font-size:32px}.bella-hero__meta-window{min-height:74px}.bella-hero__meta-title{font-size:18px}.bella-hero__meta-note,.bella-hero__contact-person{display:none}
  .bella-hero__rail{width:calc(100% - 40px);left:20px;right:20px;transform:none;padding:0 8px 16px;grid-template-columns:1fr auto;gap:18px;height:92px}
  .bella-hero__tab-name{display:none}.bella-hero__tab{padding-top:8px}.bella-hero__tab-num{margin:0}.bella-hero__progress{left:8px;right:8px}
}
@media (max-width:640px){
  .bella-hero{height:calc(100svh - var(--header-height));min-height:670px;max-height:820px}
  .bella-hero__content{width:100%;padding:0 20px 112px}
  .bella-hero__copy{left:24px;right:24px;bottom:124px}
  .bella-hero__eyebrow{font-size:24px;gap:12px;margin-bottom:14px}
  .bella-hero h1{font-size:40px;line-height:1.02;letter-spacing:-.045em}
  .bella-hero__intro{font-size:18px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .bella-hero__actions{gap:8px;margin-top:20px}
  .bella-hero__cta{min-height:48px;padding:0 16px;font-size:15px}.bella-hero__cta--quiet{display:none}
  .bella-hero__dossier{top:24px;right:24px;width:auto;min-width:128px;border-left:0;border-top:1px solid rgba(255,255,255,.45);padding:11px 0 0;text-align:right}
  .bella-hero__dossier-top{justify-content:flex-end;margin-bottom:5px}.bella-hero__current{font-size:26px}.bella-hero__meta-kicker,.bella-hero__meta-note,.bella-hero__contact-person{display:none}.bella-hero__meta-window{min-height:30px}.bella-hero__meta-title{font-size:13px;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;max-width:155px}
  .bella-hero__rail{left:24px;right:24px;width:auto;bottom:12px;padding:0 0 12px;height:74px}.bella-hero__tabs{gap:8px}.bella-hero__controls{gap:6px}.bella-hero__arrow{width:40px;height:40px}.bella-hero__progress{left:0;right:0}
  .bella-hero__slide img{object-position:var(--object-position-mobile,var(--object-position,50% 50%))}
}
@media (prefers-reduced-motion:reduce){
  .bella-hero__slide,.bella-hero__media,.bella-hero__meta,.bella-hero__cta,.bella-hero__arrow{transition:none!important}
  .bella-hero__slide.is-active img,.bella-hero.is-playing .bella-hero__progress span,.bella-hero h1 span>i{animation:none!important}
}
