/* =====================================================
   VANSHVANA — Private Forest Estates by Mainland
   Immersive white + green, nature-inspired experience.
   Re-themes the shared design system to a forest palette.
   ===================================================== */

:root{
  --paper:#F6FAEF;
  --ink:#0E2A1B;
  --ink-2:#173524;
  --muted:#6C7A6B;
  --line:#E1E9D7;
  --line-2:#CCD9BE;
  --stone:#E9F1DE;
  --gold:#7FB258;          /* leaf accent reused in shared components */
  --gold-light:#EAF3DA;
  /* forest tokens */
  --forest:#0B2014;
  --forest-2:#10301E;
  --moss:#1B4129;
  --leaf:#9BCB63;
  --leaf-2:#7FB258;
  --sage:#CFE0AC;
  --cream:#F3EEDD;
}

body{background:var(--paper);color:var(--ink-2)}

/* ---------- SCROLL PROGRESS VINE ---------- */
.v-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:2000;
  background:linear-gradient(90deg,var(--moss),var(--leaf-2),var(--leaf));box-shadow:0 0 8px rgba(155,203,99,.5)}

/* ---------- NAV OVERRIDES (light over dark hero) ---------- */
.nav .menu a{color:rgba(255,255,255,.8)}
.nav .menu a:hover{opacity:1;color:#fff}
.nav .menu a.active{opacity:1;color:var(--leaf)}
.nav .burger span{background:#fff}
.nav.scrolled{background:rgba(246,250,239,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav.scrolled .menu a{color:var(--ink-2)}
.nav.scrolled .menu a.active{color:var(--leaf-2)}
.nav.scrolled .burger span{background:var(--ink)}
.nav .nav-r .btn-pill{background:var(--leaf);color:var(--forest);border-color:var(--leaf)}
.nav .nav-r .btn-pill:hover{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.nav.scrolled .nav-r .btn-pill:hover{color:var(--moss);border-color:var(--moss)}
.mob{background:var(--forest)}
.mob a{color:var(--paper)}

/* ---------- BUTTONS ---------- */
.v-btn{display:inline-flex;align-items:center;gap:.7rem;font-family:"DM Sans",sans-serif;font-weight:600;
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:1.05rem 2.1rem;border-radius:100px;
  background:var(--leaf);color:var(--forest);border:1px solid var(--leaf);cursor:pointer;transition:.45s var(--ease)}
.v-btn:hover{background:transparent;color:var(--leaf);box-shadow:0 0 0 1px var(--leaf)}
.v-btn-ghost{display:inline-flex;align-items:center;gap:.7rem;font-family:"DM Sans",sans-serif;font-weight:600;
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:1.05rem 2.1rem;border-radius:100px;
  background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.35);cursor:pointer;transition:.45s var(--ease)}
.v-btn-ghost:hover{border-color:var(--leaf);color:var(--leaf)}

/* shared section kicker on dark */
.v-ondark .kicker{color:rgba(255,255,255,.55)}
.v-ondark .kicker .dash{background:var(--leaf)}

/* ======================================================
   HERO
   ====================================================== */
.v-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;padding:140px 0 0;
  background:radial-gradient(125% 95% at 50% 0%, #1d4830 0%, #0f2c1c 46%, #07160d 100%)}
.v-hero::before{content:"";position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:80%;height:90%;
  background:radial-gradient(closest-side, rgba(155,203,99,.16), transparent 72%);pointer-events:none;z-index:1}
/* light shafts */
.v-rays{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:screen;
  background:
    linear-gradient(102deg, transparent 46%, rgba(207,224,172,.10) 48%, transparent 51%),
    linear-gradient(88deg, transparent 58%, rgba(207,224,172,.08) 60%, transparent 63%);}

.v-fireflies{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.v-firefly{position:absolute;width:6px;height:6px;border-radius:50%;
  background:radial-gradient(circle, #e8f6c2 0%, rgba(155,203,99,.35) 55%, transparent 70%);
  box-shadow:0 0 9px 2px rgba(155,203,99,.55);opacity:0;animation:fly linear infinite}
@keyframes fly{
  0%{opacity:0;transform:translate(0,0) scale(.7)}
  12%{opacity:.95}
  50%{opacity:.45;transform:translate(22px,-70px) scale(1.05)}
  78%{opacity:.85}
  100%{opacity:0;transform:translate(-14px,-150px) scale(.7)}
}

.v-leaf-fall{position:absolute;top:-40px;z-index:3;pointer-events:none;color:var(--leaf);opacity:.0;
  animation:leaffall linear infinite}
.v-leaf-fall svg{width:18px;height:18px;display:block}
@keyframes leaffall{
  0%{opacity:0;transform:translateY(-20px) translateX(0) rotate(0)}
  10%{opacity:.7}
  90%{opacity:.7}
  100%{opacity:0;transform:translateY(105vh) translateX(60px) rotate(420deg)}
}

.v-trees{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(48vh,400px);z-index:2;pointer-events:none}
.v-trees svg{width:100%;height:100%;display:block}

.v-hero-content{position:relative;z-index:5;max-width:880px;padding:0 24px;margin-bottom:6vh}
.v-eyebrow{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;
  font-size:.66rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--leaf);margin-bottom:30px}
.v-eyebrow .sep{width:5px;height:5px;border-radius:50%;background:rgba(155,203,99,.5)}
.v-hero h1{font-size:clamp(3.2rem,8vw,7rem);color:#fff;line-height:.92;letter-spacing:.03em;font-weight:400}
.v-hero h1 em{display:block;font-family:"DM Sans",sans-serif;font-style:italic;font-weight:300;
  color:var(--sage);font-size:.74em;letter-spacing:-.01em;margin-top:.04em}
.v-hero p{color:rgba(255,255,255,.72);max-width:520px;margin:28px auto 38px;font-size:1.1rem;line-height:1.75}
.v-hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

.v-scrollcue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.55);
  font-size:.62rem;letter-spacing:.24em;text-transform:uppercase}
.v-mouse{width:24px;height:38px;border:1px solid rgba(255,255,255,.4);border-radius:14px;position:relative}
.v-mouse::after{content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);width:4px;height:7px;
  border-radius:3px;background:var(--leaf);animation:wheel 1.6s var(--ease) infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}60%{opacity:1;transform:translate(-50%,12px)}100%{opacity:0;transform:translate(-50%,14px)}}

/* ---------- ORGANIC WAVE DIVIDERS ---------- */
.v-wave{line-height:0;width:100%;overflow:hidden;position:relative;z-index:2}
.v-wave svg{display:block;width:100%;height:clamp(46px,6vw,84px)}
.v-wave.flip svg{transform:scaleX(-1)}

/* ======================================================
   STATS BAND
   ====================================================== */
.v-stats{background:var(--forest-2);position:relative;overflow:hidden}
.v-stats::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(155,203,99,.5),transparent)}
.v-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.v-stat{padding:clamp(34px,4vw,56px) clamp(18px,2.2vw,32px);border-right:1px solid rgba(255,255,255,.09);text-align:center}
.v-stat:last-child{border-right:none}
.v-stat .n{font-family:"Bebas Neue";font-size:clamp(2.8rem,4.6vw,4.2rem);line-height:1;letter-spacing:.04em;color:var(--leaf)}
.v-stat .l{font-size:.8rem;color:rgba(255,255,255,.55);margin-top:12px;line-height:1.5}

/* ======================================================
   WHAT IS VANSHVANA  (light) + comparison table
   ====================================================== */
.v-what{background:var(--paper)}
.v-what-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,80px);align-items:start;margin-bottom:clamp(40px,5vw,64px)}
.v-what-top h2{font-size:clamp(2.4rem,3.8vw,3.7rem);margin-top:16px;line-height:1.02;color:var(--ink)}
.v-what-top h2 em{font-style:italic;color:var(--leaf-2)}
.v-what-top p{color:var(--muted);font-size:1.02rem;line-height:1.85;margin:0 0 16px}
.v-what-top p strong{color:var(--ink);font-weight:600}

.v-table-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--line);-webkit-overflow-scrolling:touch}
.v-table{width:100%;border-collapse:collapse;min-width:640px;background:var(--paper)}
.v-table th,.v-table td{padding:18px 24px;text-align:left;font-size:.94rem}
.v-table thead th{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700;
  border-bottom:1px solid var(--line)}
.v-table tbody td{border-bottom:1px solid var(--line);color:var(--muted)}
.v-table tbody tr:last-child td{border-bottom:none}
.v-table .feat{font-weight:700;color:var(--ink)}
.v-table tbody tr{transition:.3s var(--ease)}
.v-table tbody tr:hover td{background:var(--gold-light)}
.v-table .col-v{background:var(--forest);color:var(--sage)}
.v-table thead th.col-v{color:var(--leaf);border-bottom-color:var(--moss)}
.v-table tbody td.col-v{color:#fff;font-weight:600;border-bottom-color:rgba(255,255,255,.08)}
.v-table tbody tr:hover td.col-v{background:var(--moss)}
.v-table thead th.col-v{position:relative}
.v-table thead th.col-v::after{content:"";position:absolute;left:24px;bottom:10px;width:22px;height:2px;background:var(--leaf)}

/* ======================================================
   ESTATE HOLDS  (stone) — feature cards
   ====================================================== */
.v-holds{background:var(--stone)}
.v-holds-head{margin-bottom:clamp(38px,5vw,58px)}
.v-holds-head h2{font-size:clamp(2.4rem,3.8vw,3.7rem);margin-top:16px;line-height:1.02;color:var(--ink)}
.v-holds-head h2 em{font-style:italic;color:var(--leaf-2)}
.v-holds-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.v-hold{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:16px;
  padding:clamp(28px,3vw,40px);overflow:hidden;transition:.5s var(--ease)}
.v-hold:hover{transform:translateY(-6px);border-color:var(--leaf-2);box-shadow:0 30px 60px -34px rgba(27,65,41,.4)}
.v-hold .wm{position:absolute;right:-14px;bottom:-20px;color:var(--leaf);opacity:.07;transition:.5s var(--ease)}
.v-hold:hover .wm{opacity:.13;transform:rotate(-8deg) scale(1.05)}
.v-hold .wm svg{width:120px;height:120px}
.v-hold .ic{width:52px;height:52px;border-radius:14px;background:var(--gold-light);color:var(--moss);
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;z-index:2;transition:.45s var(--ease)}
.v-hold:hover .ic{background:var(--leaf);color:var(--forest)}
.v-hold .ic svg{width:25px;height:25px}
.v-hold h3{position:relative;z-index:2;font-size:1.45rem;letter-spacing:.02em;margin-bottom:12px;color:var(--ink)}
.v-hold p{position:relative;z-index:2;font-size:.94rem;color:var(--muted);line-height:1.72;margin:0}

/* ======================================================
   LOCATION + MAP  (light)
   ====================================================== */
.v-loc{background:var(--paper)}
.v-loc .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(38px,5vw,72px);align-items:center}
.v-loc-l h2{font-size:clamp(2.4rem,3.8vw,3.6rem);margin:16px 0 30px;line-height:1.04;color:var(--ink)}
.v-loc-l h2 em{font-style:italic;color:var(--leaf-2)}
.v-loc-list{border-top:1px solid var(--line)}
.v-loc-row{display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:flex-start;
  padding:22px 4px;border-bottom:1px solid var(--line)}
.v-loc-row .ic{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);color:var(--moss);
  display:flex;align-items:center;justify-content:center;transition:.4s var(--ease)}
.v-loc-row:hover .ic{background:var(--leaf);border-color:var(--leaf);color:var(--forest)}
.v-loc-row .ic svg{width:20px;height:20px}
.v-loc-row .rl{font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--leaf-2);margin-bottom:6px}
.v-loc-row .rv{font-size:.96rem;color:var(--ink-2);line-height:1.6}
.v-map{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 36px 70px -40px rgba(27,65,41,.45)}
.v-map iframe{width:100%;height:clamp(340px,42vw,480px);border:0;display:block;filter:saturate(1.05)}
.v-map .pin{position:absolute;top:18px;left:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;
  background:var(--forest);color:var(--sage);font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:.5rem .9rem;border-radius:100px}
.v-map .pin::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--leaf);box-shadow:0 0 0 4px rgba(155,203,99,.3)}

/* ======================================================
   PRICING  (dark) — three plans
   ====================================================== */
.v-pricing{background:var(--forest);position:relative;overflow:hidden}
.v-pricing::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% -10%,rgba(155,203,99,.08),transparent 70%);pointer-events:none}
.v-pricing-head{text-align:center;max-width:640px;margin:0 auto clamp(44px,5vw,66px);position:relative;z-index:2}
.v-pricing-head .kicker{justify-content:center}
.v-pricing-head h2{font-size:clamp(2.4rem,3.8vw,3.7rem);color:#fff;margin-top:16px;line-height:1.04}
.v-pricing-head h2 em{font-style:italic;color:var(--leaf)}
.v-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;position:relative;z-index:2}
.v-plan{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);border-radius:18px;
  padding:clamp(28px,2.6vw,40px);display:flex;flex-direction:column;transition:.5s var(--ease)}
.v-plan:hover{transform:translateY(-6px);border-color:rgba(155,203,99,.4);background:rgba(255,255,255,.055)}
.v-plan.featured{background:linear-gradient(180deg,rgba(27,65,41,.85),rgba(11,32,20,.6));
  border-color:var(--leaf-2);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.v-plan .badge{align-self:flex-start;font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--forest);background:var(--leaf);padding:.34rem .8rem;border-radius:100px;margin-bottom:18px}
.v-plan .pname{font-family:"Bebas Neue";font-size:2rem;letter-spacing:.05em;color:#fff;line-height:1}
.v-plan .pmeta{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--leaf);margin-top:8px}
.v-plan .price{font-family:"Bebas Neue";font-size:clamp(2.2rem,3vw,2.9rem);color:#fff;letter-spacing:.03em;
  margin:22px 0 6px;line-height:1}
.v-plan .price .cur{color:var(--leaf);font-size:.6em;margin-right:4px}
.v-plan .pnote{font-size:.74rem;color:rgba(255,255,255,.45);margin-bottom:24px}
.v-plan ul{list-style:none;padding:0;margin:0 0 28px;flex:1}
.v-plan li{display:flex;align-items:flex-start;gap:11px;font-size:.9rem;color:rgba(255,255,255,.72);
  padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);line-height:1.5}
.v-plan li:last-child{border-bottom:none}
.v-plan li svg{width:16px;height:16px;color:var(--leaf);flex-shrink:0;margin-top:3px}
.v-plan .v-btn,.v-plan .v-btn-ghost{justify-content:center;width:100%}
.v-price-note{text-align:center;max-width:740px;margin:clamp(34px,4vw,48px) auto 0;position:relative;z-index:2;
  font-size:.82rem;color:rgba(255,255,255,.4);line-height:1.7}

/* ======================================================
   COVENANT  (stone)
   ====================================================== */
.v-cov{background:var(--stone)}
.v-cov-head{margin-bottom:clamp(38px,5vw,58px)}
.v-cov-head h2{font-size:clamp(2.4rem,3.8vw,3.7rem);margin-top:16px;line-height:1.04;color:var(--ink);max-width:680px}
.v-cov-head h2 em{font-style:italic;color:var(--leaf-2)}
.v-cov-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v-cov-item{background:var(--paper);border:1px solid var(--line);border-radius:0 14px 14px 0;
  padding:clamp(24px,2.6vw,34px);transition:.45s var(--ease)}
.v-cov-item:hover{border-left-color:var(--moss);transform:translateX(6px);box-shadow:0 24px 50px -34px rgba(27,65,41,.4)}
.v-cov-item .ci{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.v-cov-item .ci svg{width:22px;height:22px;color:var(--moss)}
.v-cov-item h3{font-size:1.3rem;letter-spacing:.02em;color:var(--ink)}
.v-cov-item p{font-size:.92rem;color:var(--muted);line-height:1.68;margin:0}

/* ======================================================
   INVITE FORM  (dark forest)
   ====================================================== */
.v-invite{background:radial-gradient(120% 80% at 50% 0%, #173a25 0%, #0c2014 55%, #07160d 100%);
  position:relative;overflow:hidden}
.v-invite-head{text-align:center;max-width:620px;margin:0 auto clamp(38px,4vw,52px);position:relative;z-index:2}
.v-invite-head .kicker{justify-content:center}
.v-invite-head h2{font-size:clamp(2.6rem,4.4vw,4.2rem);color:#fff;margin-top:16px;line-height:1}
.v-invite-head p{color:rgba(255,255,255,.6);margin-top:18px;font-size:1.05rem}
.v-invite-form{max-width:640px;margin:0 auto;position:relative;z-index:2;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:20px;
  padding:clamp(28px,3.4vw,48px);backdrop-filter:blur(6px)}
.v-vfield{margin-bottom:20px}
.v-vfield label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--leaf);margin-bottom:9px}
.v-vinput{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:10px;
  background:rgba(255,255,255,.04);color:#fff;font-family:"DM Sans",sans-serif;font-size:.95rem;transition:.3s var(--ease)}
.v-vinput::placeholder{color:rgba(255,255,255,.35)}
.v-vinput:focus{outline:none;border-color:var(--leaf);background:rgba(155,203,99,.06);box-shadow:0 0 0 3px rgba(155,203,99,.14)}
textarea.v-vinput{min-height:90px;resize:vertical;line-height:1.6}
.v-vrow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v-invite-form .v-btn{width:100%;justify-content:center;margin-top:6px}
.v-vok{display:none;margin-top:18px;text-align:center;padding:14px 18px;border-radius:10px;
  background:rgba(155,203,99,.12);border:1px solid rgba(155,203,99,.4);color:var(--sage);font-size:.92rem}
.v-vok.show{display:block;animation:vfade .5s var(--ease)}
@keyframes vfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- FOOTER tweak ---------- */
footer{background:var(--forest)}
footer .fbot{border-top-color:rgba(255,255,255,.1)}

/* ======================================================
   REVEAL + RESPONSIVE
   ====================================================== */
@media(max-width:991px){
  .v-stats-grid{grid-template-columns:1fr 1fr}
  .v-stat:nth-child(2){border-right:none}
  .v-stat:nth-child(1),.v-stat:nth-child(2){border-bottom:1px solid rgba(255,255,255,.09)}
  .v-what-top{grid-template-columns:1fr;gap:28px}
  .v-holds-grid{grid-template-columns:1fr}
  .v-loc .wrap{grid-template-columns:1fr;gap:34px}
  .v-plans{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
  .v-plan.featured{transform:none}
  .v-cov-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .v-stats-grid{grid-template-columns:1fr}
  .v-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.09)}
  .v-stat:last-child{border-bottom:none}
  .v-vrow{grid-template-columns:1fr}
  .v-hero h1{letter-spacing:.02em}
}
@media(prefers-reduced-motion:reduce){
  .v-firefly,.v-leaf-fall,.v-mouse::after{animation:none}
  .reveal{transition:none}
}

/* ======================================================
   YEAR-ROUND IMAGE SLIDER
   ====================================================== */
.v-season-slider{
  background:#213e38;
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,110px) 0 clamp(34px,4vw,52px);
}
.v-season-slider::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(70% 55% at 50% 0%, rgba(207,224,172,.10), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 45%);
  pointer-events:none;
}
.v-season-slider .wrap{position:relative;z-index:2}
.v-season-head{text-align:center;max-width:940px;margin:0 auto clamp(34px,4.5vw,58px)}
.v-season-head h2{
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(2.1rem,4.4vw,4.15rem);
  line-height:1.14;
  letter-spacing:.035em;
  margin:0;
}
.v-season-shell{position:relative}
.v-season-window{overflow:hidden;border-radius:22px}
.v-season-track{
  display:flex;
  gap:28px;
  will-change:transform;
  transition:transform .85s cubic-bezier(.22,.9,.24,1);
}
.v-season-card{
  position:relative;
  flex:0 0 calc((100% - 56px) / 3);
  height:clamp(420px,47vw,610px);
  border-radius:22px;
  overflow:hidden;
  background:var(--forest);
  box-shadow:0 34px 60px -42px rgba(0,0,0,.72);
  isolation:isolate;
}
.v-season-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(5,20,12,.04) 28%, rgba(5,20,12,.58) 100%);
  z-index:1;
  pointer-events:none;
}
.v-season-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform 1.1s var(--ease), filter .7s var(--ease);
}
.v-season-card:hover img{transform:scale(1.08);filter:saturate(1.08)}
.v-season-caption{
  position:absolute;
  left:50%;
  bottom:32px;
  transform:translateX(-50%);
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:max-content;
  max-width:86%;
  min-height:40px;
  padding:8px 24px;
  border-radius:6px;
  background:#E5B052;
  color:#213e38;
  font-family:"DM Sans",sans-serif;
  font-size:clamp(.95rem,1.35vw,1.25rem);
  line-height:1.15;
  box-shadow:0 12px 28px rgba(0,0,0,.20);
  white-space:nowrap;
}
.v-season-caption span{font-weight:400;opacity:.92}
.v-season-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(11,32,20,.42);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:.35s var(--ease);
}
.v-season-arrow svg{width:24px;height:24px}
.v-season-arrow:hover{background:var(--leaf);color:var(--forest);border-color:var(--leaf)}
.v-season-arrow:disabled{opacity:.22;cursor:not-allowed;pointer-events:none}
.v-season-prev{left:-23px}
.v-season-next{right:-23px}
.v-season-dots{
  display:flex;
  justify-content:center;
  gap:9px;
  margin-top:26px;
}
.v-season-dots button{
  width:8px;
  height:8px;
  border-radius:50%;
  border:0;
  padding:0;
  background:rgba(255,255,255,.28);
  cursor:pointer;
  transition:.35s var(--ease);
}
.v-season-dots button.active{width:28px;border-radius:100px;background:var(--leaf)}
.v-season-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:32px;
  color:rgba(255,255,255,.82);
  font-size:.78rem;
}

@media(max-width:991px){
  .v-season-track{gap:22px}
  .v-season-card{flex-basis:calc((100% - 22px) / 2);height:460px}
  .v-season-prev{left:10px}
  .v-season-next{right:10px}
}
@media(max-width:640px){
  .v-season-slider{padding-top:58px}
  .v-season-head h2{font-size:2rem;line-height:1.25}
  .v-season-window{border-radius:18px}
  .v-season-track{gap:16px}
  .v-season-card{flex-basis:100%;height:430px;border-radius:18px}
  .v-season-caption{bottom:24px;white-space:normal;text-align:center;padding:8px 16px;font-size:.96rem}
  .v-season-arrow{width:40px;height:40px}
  .v-season-note{display:none}
}
@media(prefers-reduced-motion:reduce){
  .v-season-track,.v-season-card img{transition:none}
}

