/* Caravan Uzbek Cuisine: black + antique gold + Samarkand turquoise, shot like a film.
   Loaded after silk.css; overrides the Night Bazaar palette and adds the cinematic hero/chapters/entrance. */
body.skin-night {
  --bg: #0b0907; --card: #15110c; --ink: #f4ead6; --ink-2: #ddd0b6; --muted: #a39780; --line: rgba(217,171,85,.2);
  --brand: #d9ab55; --brand-deep: #e8c47c; --teal: #4fb7b0; --display: 'Cormorant Garamond', Georgia, serif; --cap: 'Cinzel', 'Cormorant Garamond', serif;
  background: var(--bg);
}
body.skin-night::before { opacity: .35; }
.skin-night .top { background: rgba(11,9,7,.82) !important; backdrop-filter: blur(14px) saturate(1.2); border-bottom: 1px solid rgba(217,171,85,.14); }
.skin-night .loc-btn, .skin-night .silk-toggle, .skin-night .cats a { background: #15110c; }
.skin-night .bag-btn, .skin-night .silk-btn, .skin-night .silk-toggle button.on, .skin-night .cats a.on { background: linear-gradient(180deg, #e6bf6c, #c9963e); color: #140f08; }
.skin-night .bag-btn .count { background: #140f08; color: var(--brand); }
.skin-night .silk-story { background-color: #1a120b; }
.skin-night .silk-fit { background: linear-gradient(120deg, #0f3b3a, #134d4a); }
.skin-night .silk-archcard, .skin-night .silk-set, .skin-night .silk-card { background: linear-gradient(180deg, #17120c, #100d09); border-color: rgba(217,171,85,.2); }
.skin-night .sr-img { box-shadow: 0 0 0 3px #0b0907, 0 0 0 4px var(--brand); }
.skin-night footer.site { background: #060504 !important; }
.skin-night .cats { background: rgba(11,9,7,.94) !important; }
.logo.brandlogo .bl-mark { height: 40px; }
.logo.brandlogo .bl-word { height: 26px; }
.logo.brandlogo small { color: #a39780; }
@media (max-width: 760px) { .logo.brandlogo .bl-mark { height: 32px; } .logo.brandlogo .bl-word { height: 20px; } }

/* ---------- hero: full-bleed film reel ---------- */
.skin-night .cv-hero { position: relative; min-height: calc(100svh - 64px); display: grid; align-items: center; padding: 0; overflow: hidden; background: #000; isolation: isolate; }
.cv-reel { position: absolute; inset: 0; z-index: -3; }
.cv-shot { position: absolute; inset: -4%; background-size: cover; background-position: center; opacity: 0; transform: scale(1.18); transition: opacity 2.2s ease, transform 9s linear; will-change: transform, opacity; }
.cv-shot.on { opacity: 1; transform: scale(1.02) translate3d(-1.5%, -1%, 0); }
.cv-shot:nth-child(2).on { transform: scale(1.04) translate3d(2%, 0, 0); }
.cv-shot:nth-child(3).on { transform: scale(1.1) translate3d(0, -2%, 0); }
.cv-shot:nth-child(4).on { transform: scale(1.03) translate3d(-2%, 1%, 0); }
.cv-vignette { position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background: radial-gradient(120% 90% at 50% 45%, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.9) 100%), linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.1) 30%, rgba(0,0,0,.35) 65%, #0b0907 100%); }
.cv-grain { position: absolute; inset: -50%; z-index: -1; pointer-events: none; opacity: .09; mix-blend-mode: overlay; animation: grain 1s steps(6) infinite;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
@keyframes grain { 0% { transform: translate(0,0); } 20% { transform: translate(-3%,2%); } 40% { transform: translate(2%,-3%); } 60% { transform: translate(-2%,-1%); } 80% { transform: translate(3%,3%); } 100% { transform: translate(0,0); } }
.cv-frame { position: absolute; inset: 22px; z-index: 0; pointer-events: none; }
.cv-frame i { position: absolute; width: 34px; height: 34px; border: 1px solid rgba(232,196,124,.55); }
.cv-frame i:nth-child(1) { top: 0; left: 0; border-right: 0; border-bottom: 0; } .cv-frame i:nth-child(2) { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.cv-frame i:nth-child(3) { bottom: 0; left: 0; border-right: 0; border-top: 0; } .cv-frame i:nth-child(4) { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.cv-hero-in { position: relative; z-index: 1; text-align: center; display: flex; flex-direction: column; align-items: center; padding: 48px 20px 100px; }
.cv-eyebrow { display: flex; gap: 14px; align-items: center; justify-content: center; flex-wrap: wrap; font: 600 11.5px/1 var(--cap); letter-spacing: .32em; text-transform: uppercase; color: #e8d7b0; }
.cv-eyebrow i { width: 5px; height: 5px; transform: rotate(45deg); background: var(--brand); display: inline-block; }
.cv-logo { width: auto; height: min(44vh, 430px); max-width: 80vw; object-fit: contain; margin: 18px 0 4px; filter: drop-shadow(0 18px 60px rgba(0,0,0,.75)) drop-shadow(0 0 40px rgba(217,171,85,.2)); }
.cv-tag { font-family: var(--display); font-size: clamp(24px, 3vw, 38px); color: #f4ead6; margin: 0 0 22px; font-weight: 500; text-shadow: 0 6px 30px rgba(0,0,0,.8); }
.cv-tag em { font-style: italic; background: linear-gradient(100deg, #b8862f 0%, #f6dc9a 45%, #d9ab55 60%, #b8862f 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: goldSheen 7s ease-in-out infinite; }
.cv-order { justify-content: center; }
.cv-facts { justify-content: center; margin-top: 22px; color: #e9dcc0; }
.cv-facts span { background: rgba(11,9,7,.55); backdrop-filter: blur(8px); border: 1px solid rgba(217,171,85,.22); padding: 8px 14px; border-radius: 999px; }
.cv-live i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #39d98a; margin-right: 7px; box-shadow: 0 0 0 0 rgba(57,217,138,.7); animation: livePulse 2s infinite; vertical-align: 1px; }
@keyframes livePulse { 0% { box-shadow: 0 0 0 0 rgba(57,217,138,.6); } 70% { box-shadow: 0 0 0 9px rgba(57,217,138,0); } 100% { box-shadow: 0 0 0 0 rgba(57,217,138,0); } }
.cv-scroll { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; font: 600 10px/1 var(--cap); letter-spacing: .4em; color: #cdbb94; }
.cv-scroll i { width: 1px; height: 42px; background: linear-gradient(#d9ab55, transparent); animation: scrollLine 2.2s ease-in-out infinite; transform-origin: top; }
@keyframes scrollLine { 0% { transform: scaleY(0); opacity: 1; } 60% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }
.cv-caption { position: absolute; right: 46px; bottom: 40px; z-index: 1; display: flex; gap: 12px; align-items: baseline; font: 500 12px/1 var(--cap); letter-spacing: .25em; text-transform: uppercase; color: #cdbb94; }
.cv-caption b { color: var(--brand); font-size: 14px; }
@media (max-width: 760px) { .cv-logo { height: auto; width: min(78vw, 360px); } .cv-caption { display: none; } .cv-frame { inset: 12px; } .cv-hero-in { padding: 46px 16px 96px; } .cv-eyebrow { letter-spacing: .2em; font-size: 10px; gap: 9px; } .cv-facts span { font-size: 12.5px; } }

/* ---------- chapters: full-width cinematic bands ---------- */
.cv-chapter { position: relative; min-height: 78vh; display: grid; align-items: end; overflow: hidden; isolation: isolate; }
.cv-ch-img { position: absolute; inset: -10% 0; background-size: cover; background-position: center; z-index: -2; }
.cv-chapter::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #0b0907 0%, rgba(11,9,7,.1) 22%, rgba(11,9,7,.15) 50%, rgba(11,9,7,.92) 88%, #0b0907 100%), linear-gradient(90deg, rgba(0,0,0,.55), transparent 60%); }
.cv-right::before { background: linear-gradient(180deg, #0b0907 0%, rgba(11,9,7,.1) 22%, rgba(11,9,7,.15) 50%, rgba(11,9,7,.92) 88%, #0b0907 100%), linear-gradient(270deg, rgba(0,0,0,.6), transparent 60%); }
.cv-chapter::after { content: attr(data-n); position: absolute; right: 4vw; top: 12%; font: 600 clamp(120px, 20vw, 300px)/1 var(--cap); color: transparent; -webkit-text-stroke: 1px rgba(232,196,124,.22); z-index: -1; pointer-events: none; }
.cv-right::after { right: auto; left: 4vw; }
.cv-ch-in { padding-bottom: 9vh; max-width: 1180px; }
.cv-ch-in > * { max-width: 560px; }
.cv-right .cv-ch-in { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.cv-num { font: 600 12px/1 var(--cap); letter-spacing: .4em; text-transform: uppercase; color: var(--brand); display: flex; align-items: center; gap: 12px; }
.cv-num::before { content: ''; width: 42px; height: 1px; background: var(--brand); }
.cv-h2 { font: 600 clamp(54px, 8vw, 120px)/.95 var(--cap); color: #f4ead6; margin: 14px 0 18px; letter-spacing: .02em; text-shadow: 0 10px 50px rgba(0,0,0,.6); }
.cv-h2 em { font-style: normal; background: linear-gradient(100deg, #b8862f 0%, #f6dc9a 45%, #d9ab55 60%, #b8862f 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: goldSheen 8s ease-in-out infinite; }
.cv-ch-in p { font-size: clamp(16px, 1.5vw, 19px); line-height: 1.65; color: #e3d6bb; text-shadow: 0 2px 20px rgba(0,0,0,.7); }
.cv-ch-link { display: inline-block; margin-top: 10px; }
.cv-sig { padding-top: 30px; }
@media (max-width: 760px) { .cv-chapter { min-height: 68vh; } .cv-right .cv-ch-in { align-items: flex-start; text-align: left; } .cv-chapter::after { font-size: 120px; top: 8%; } }

/* ---------- headings across the page get the brand caps ---------- */
.skin-night .silk-h2 { font-family: var(--cap); font-weight: 600; letter-spacing: .01em; }
.skin-night .silk-h2 em { font-family: var(--display); font-style: italic; font-weight: 500; letter-spacing: 0; }
.skin-night .silk-kick { font-family: var(--cap); letter-spacing: .3em; }

/* ---------- the entrance (once per session) ---------- */
html.cv-intro-on, html.cv-intro-on body { overflow: hidden; }
.cv-intro { position: fixed; inset: 0; z-index: 2147482990; background: #000; color: #f4ead6; transition: opacity 1.1s ease .15s, visibility 0s linear 1.3s; }
.cv-intro.out { opacity: 0; visibility: hidden; }
.cvi-stage { position: absolute; inset: 0; overflow: hidden; }
.cvi-shot, .cvi-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center; opacity: 0; transition: opacity .35s ease; }
.cvi-shot.on { opacity: 1; }
.cvi-shot.m-drone { transform: scale(1.35) translate3d(0, 4%, 0); } .cvi-shot.m-drone.on { animation: mDrone 1.9s cubic-bezier(.2,.6,.3,1) forwards; }
.cvi-shot.m-panR.on { animation: mPan 1.9s linear forwards; }
.cvi-shot.m-push.on { animation: mPush 1.9s ease-out forwards; }
.cvi-shot.m-rise.on { animation: mRise 1.9s ease-out forwards; }
@keyframes mDrone { from { transform: scale(1.35) translate3d(0, 5%, 0) rotate(-1.5deg); } to { transform: scale(1.08) translate3d(0, 0, 0) rotate(0); } }
@keyframes mPan { from { transform: scale(1.18) translate3d(-6%, 0, 0); } to { transform: scale(1.18) translate3d(5%, 0, 0); } }
@keyframes mPush { from { transform: scale(1); } to { transform: scale(1.22); } }
@keyframes mRise { from { transform: scale(1.2) translate3d(0, 6%, 0); } to { transform: scale(1.1) translate3d(0, -3%, 0); } }
.cvi-grade { position: absolute; inset: 0; background: radial-gradient(110% 85% at 50% 50%, transparent 40%, rgba(0,0,0,.75) 100%), linear-gradient(180deg, rgba(40,22,0,.25), rgba(0,10,20,.3)); mix-blend-mode: multiply; }
.cv-intro .cv-grain { opacity: .14; z-index: 1; }
.cvi-bar { position: absolute; left: 0; right: 0; height: 50vh; background: #000; z-index: 3; transition: height 1.1s cubic-bezier(.7,0,.2,1); }
.cvi-bar.top { top: 0; } .cvi-bar.bot { bottom: 0; }
.cv-intro.bars .cvi-bar { height: 11vh; }
.cv-intro.out .cvi-bar { height: 0; }
.cvi-cap { position: absolute; left: 6vw; bottom: calc(11vh + 26px); z-index: 4; font: 500 clamp(12px, 1.3vw, 15px)/1 'Cinzel', serif; letter-spacing: .45em; text-transform: uppercase; color: #f0dfb8; opacity: 0; transform: translateY(10px); }
.cvi-cap.in { animation: capIn 1.4s ease forwards; }
@keyframes capIn { 0% { opacity: 0; transform: translateY(10px); letter-spacing: .6em; } 25%, 75% { opacity: 1; transform: none; letter-spacing: .45em; } 100% { opacity: 0; } }
.cvi-logo { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; pointer-events: none; }
.cvi-logo img { width: min(560px, 78vw); height: auto !important; max-height: 62vh; object-fit: contain; transform: scale(.9); filter: blur(14px) drop-shadow(0 0 60px rgba(217,171,85,.35)); transition: transform 2.6s cubic-bezier(.16,.8,.2,1), filter 1.4s ease; }
.cvi-logo p { font: 500 clamp(11px, 1.2vw, 14px)/1 'Cinzel', serif; letter-spacing: .5em; text-transform: uppercase; color: #cdbb94; margin-top: 18px; opacity: 0; transition: opacity 1s ease 1s; }
.cv-intro.logo .cvi-logo { opacity: 1; transition: opacity .8s ease; }
.cv-intro.logo .cvi-logo img { transform: scale(1); filter: blur(0) drop-shadow(0 0 60px rgba(217,171,85,.35)); }
.cv-intro.logo .cvi-logo p { opacity: 1; }
.cv-intro.flash .cvi-stage::after { content: ''; position: absolute; inset: 0; z-index: 5; background: #fff3d6; animation: flash .5s ease forwards; }
@keyframes flash { 0% { opacity: 0; } 30% { opacity: .85; } 100% { opacity: 0; } }
.cvi-rec { position: absolute; top: calc(11vh + 18px); left: 6vw; z-index: 4; font: 600 11px/1 ui-monospace, Menlo, monospace; letter-spacing: .15em; color: rgba(255,240,210,.75); display: flex; align-items: center; gap: 8px; opacity: 0; transition: opacity .6s ease .8s; }
.cv-intro.bars .cvi-rec { opacity: 1; } .cv-intro.logo .cvi-rec { opacity: 0; transition-delay: 0s; }
.cvi-rec i { width: 8px; height: 8px; border-radius: 50%; background: #e5352b; animation: blink 1s steps(2) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.cvi-skip { position: absolute; right: 6vw; top: calc(11vh + 12px); z-index: 4; all: unset; position: absolute; right: 6vw; top: calc(11vh + 10px); cursor: pointer; font: 600 11px/1 'Cinzel', serif; letter-spacing: .3em; text-transform: uppercase; color: #f0dfb8; padding: 9px 14px; border: 1px solid rgba(240,223,184,.4); border-radius: 999px; }
.cvi-skip:hover { background: rgba(240,223,184,.12); }
@media (max-width: 640px) { .cvi-skip { top: auto; bottom: calc(11vh + 18px); } .cvi-cap { bottom: calc(11vh + 70px); } }
@media (prefers-reduced-motion: reduce) { .cv-shot, .cv-grain, .cv-scroll i { animation: none !important; transition: opacity 1s ease !important; } }

/* real kitchen montage behind the hero (falls back to the still reel) */
.cv-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.6s ease; filter: saturate(1.05) contrast(1.05) brightness(.82); }
.cv-hero.has-video .cv-hero-video { opacity: 1; }
.cv-hero.has-video .cv-caption { display: none; }
.cvi-video { z-index: 0; }
.cvi-video.on { opacity: 1; }

/* Caravan Rewards band */
.cv-rewards-wrap { padding: 30px 20px 10px; }
.cv-rewards { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: center; padding: 34px 38px; border-radius: 26px; border: 1px solid rgba(217,171,85,.35);
  background: radial-gradient(80% 120% at 0% 0%, rgba(217,171,85,.16), transparent 60%), linear-gradient(135deg, #17120c, #0f0c08); box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.cv-rewards p { color: #ddd0b6; line-height: 1.6; margin: 10px 0 0; }
.cvr-steps { display: grid; gap: 10px; }
.cvr-steps div { display: flex; align-items: baseline; gap: 14px; padding: 14px 18px; border-radius: 16px; background: rgba(217,171,85,.08); border: 1px solid rgba(217,171,85,.22); }
.cvr-steps b { font: 600 20px/1 var(--cap); color: var(--brand); min-width: 118px; }
.cvr-steps span { color: #ece0c4; }
.sum-row.cv-earn { color: var(--brand, #d9ab55); font-weight: 700; font-size: 13.5px; }
@media (max-width: 760px) { .cv-rewards { grid-template-columns: 1fr; padding: 26px 20px; } .cvr-steps b { min-width: 96px; font-size: 17px; } }
