/* =============================================================================
 * GrapeLand — Heritage-Wine-style Navbar Integration
 * -----------------------------------------------------------------------------
 *  Goal:    Replace the visual presentation of GrapeLand's slide-out drawer
 *           navigation with a horizontal top navbar that mirrors the layout,
 *           typography and sticky-on-scroll behaviour of the "heritage-wine"
 *           template — without touching any HTML or the original style.css.
 *
 *  How it works:
 *    - The existing markup in every page is reused as-is:
 *        <header>...logo...</header>
 *        <button class="nav-toggle">...</button>     ← mobile only
 *        <div class="overlay nav-overlay"></div>     ← mobile only
 *        <nav id="navbar">
 *           <ul class="lang">...EN/IT/DE/FR...</ul>
 *           <ul>...Home / About / Pages▾ / Shop / Blog / Contact...</ul>
 *           <ul class="secondary">...Cart / Checkout / Account / Login...</ul>
 *           <img class="nav-image" ...>
 *        </nav>
 *    - On screens ≥ 992px we re-flow that DOM into a single horizontal bar:
 *        [Logo] -------- main menu (centered) -------- [secondary icons] [lang]
 *      Hover opens the "Pages" submenu as a positioned dropdown.
 *      A `.is-sticky` class is added to <body> by main.js after 80px of scroll
 *      to flip the bar from transparent (over hero) → solid white (sticky),
 *      mirroring heritage-wine's `.fixed-menu` slide-down behaviour.
 *    - On screens < 992px nothing changes: the original drawer keeps working
 *      via the unmodified main.js logic.
 *
 *  Files touched:
 *    - assets/css/custom.css   ← this file (was empty)
 *    - assets/js/main.js       ← appended a small scroll listener (see bottom)
 *
 *  Layout-shift safety:
 *    - The new bar is `position: fixed` and overlays the hero exactly like
 *      the original GrapeLand header (which was `position: absolute` at top:0).
 *      No vertical space is consumed in the document flow, so no section is
 *      pushed down and no existing rule needs to be relaxed.
 *
 *  Color/typography choice:
 *    - Heritage-wine uses red `#d00035` as its accent on Open Sans 14px UPPER.
 *    - GrapeLand's brand accent is `--primary: #dcbe84` (gold). To stay
 *      visually consistent with the rest of the GrapeLand pages we keep
 *      gold as the hover/active accent and Mulish as the menu typeface,
 *      while adopting heritage-wine's *structural* choices (uppercase,
 *      letter-spacing, 14px, sticky-white-on-scroll, mega-style centered
 *      menu, right-aligned action icons).
 * ===========================================================================*/

/* ---------- 1. CSS tokens reused below ---------- */
:root {
	--nav-h: 84px;
	/* slimmer, more refined bar */
	--nav-bg: rgba(11, 11, 15, .22);
	/* over-hero — light veil so cinema stays visible */
	--nav-bg-sticky: #ffffff;
	/* after scroll              */

	/* Foreground colors — gold tuned per background so contrast stays
	   readable in both states (target WCAG AA, ≥4.5:1 for body text):
	     - over the rgba(0,0,0,.55) hero overlay: `--gold-bright` (#f1d88a)
	       achieves ≈10:1 contrast vs. the underlying dark imagery.
	     - over the white sticky bar: `--gold-deep` (#7a5a1a) achieves
	       ≈5.4:1 contrast vs. #fff (passes AA for normal text). */
	--gold-bright: #f1d88a;
	--gold-deep: #7a5a1a;
	--gold-deep-soft: #a07c2a;
	/* hover on white sticky bar */
	--nav-fg: var(--gold-bright);
	/* over-hero text → gold     */
	/* On the white sticky bar the navbar font color is pure black
	   per the latest spec — the bar itself stays solid white, and every
	   nav <li> flips to #000 with a smooth transition for readability.
	   Hover / active keeps the luxury gold accent so state change stays
	   visible against the black default. */
	--nav-fg-sticky: #000000;
	/* sticky text   → black     */
	--nav-fg-sticky-accent: var(--gold, #D4AF37);
	/* hover / active gold  */
	--nav-accent: var(--primary);
	/* hover/active accent       */

	--nav-shadow-sticky: 0 6px 24px rgba(0, 0, 0, .08);
	--nav-trnst: .35s cubic-bezier(.19, 1, .22, 1);

	/* Menu link typography — sized so all 9 spec items fit a 1280px viewport
	   without wrapping or horizontal scroll, while keeping a luxury feel. */
	--nav-link-fs: .75rem;
	/* ~12px; refined for EN luxury nav */
	--nav-link-tracking: .08em;
	--nav-link-padding-x: .7rem;
	--nav-link-padding-y: .55rem;
}

/* =============================================================================
 *  DESKTOP (≥ 1100px) — heritage-wine horizontal navbar
 *  Breakpoint raised from 992px to 1100px so the 9-item bar never overflows
 *  on smaller laptops; below 1100px the original GrapeLand drawer kicks in.
 * ===========================================================================*/
@media (min-width: 1100px) {

	/* 2. Hide elements only meaningful for the original drawer UX */
	.nav-toggle,
	.nav-overlay,
	nav#navbar .nav-image {
		display: none !important;
	}

	/* 3. Logo — anchored top-left of the bar (over the nav background) */
	header {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		width: auto;
		height: var(--nav-h);
		padding: 0 2rem;
		z-index: 1001;
		/* above nav background */
		transition: var(--nav-trnst);
	}

	header a {
		display: inline-flex;
		align-items: center;
		line-height: 1;
	}

	header a img,
	header .site-logo img {
		width: auto;
		height: 44px;
		transition: var(--nav-trnst);
		filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .25));
	}

	/* 4. The bar itself — full-width fixed overlay over the hero */
	nav#navbar {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: var(--nav-h);
		display: flex;
		flex-direction: row;
		/* override style.css 1224 */
		align-items: center;
		justify-content: center;
		flex-wrap: nowrap;
		/* reserve space on the left for the fixed <header> logo (trimmed) */
		padding: 0 1.25rem 0 clamp(140px, 12vw, 180px);
		background: var(--nav-bg);
		backdrop-filter: blur(14px) saturate(1.05);
		-webkit-backdrop-filter: blur(14px) saturate(1.05);
		border-bottom: 1px solid rgba(212, 175, 55, .12);
		transform: none;
		/* cancel translateX from base */
		transition: background-color var(--nav-trnst),
			box-shadow var(--nav-trnst);
		overflow: visible;
		/* allow dropdowns to escape */
		z-index: 1000;
	}

	/* 5. Main menu — centered horizontal list.
	      DOM order is [lang][main][secondary] but we want visual order
	      [main][secondary][lang], so we reorder with `order` and let the
	      auto margins on the main list absorb free space on both sides. */
	nav#navbar>ul:not(.lang):not(.secondary) {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 0;
		/* link padding handles spacing */
		margin: 0 auto;
		/* center between logo & actions */
		padding: 0;
		min-width: 0;
		order: 1;
	}

	nav#navbar ul.secondary {
		order: 2;
	}

	nav#navbar ul.lang {
		order: 3;
	}

	nav#navbar>ul:not(.lang):not(.secondary)>li {
		position: relative;
		/* dropdown anchor */
		padding: 0;
	}

	nav#navbar>ul:not(.lang):not(.secondary)>li>a,
	nav#navbar>ul:not(.lang):not(.secondary)>li>span {
		position: relative;
		display: inline-block;
		padding: var(--nav-link-padding-y) var(--nav-link-padding-x);
		font-family: var(--ff-2);
		/* Mulish */
		font-size: var(--nav-link-fs);
		font-weight: 500;
		letter-spacing: var(--nav-link-tracking);
		text-transform: uppercase;
		color: var(--nav-fg);
		cursor: pointer;
		transition: color var(--nav-trnst);
	}

	/* Animated thin underline — slides in on hover instead of the prior
	   heavy 2px border-bottom which doubled vertical rhythm. */
	nav#navbar>ul:not(.lang):not(.secondary)>li>a::after,
	nav#navbar>ul:not(.lang):not(.secondary)>li>span::after {
		content: "";
		position: absolute;
		left: var(--nav-link-padding-x);
		right: var(--nav-link-padding-x);
		bottom: calc(var(--nav-link-padding-y) - 6px);
		height: 1px;
		background: currentColor;
		transform: scaleX(0);
		transform-origin: center;
		transition: transform var(--nav-trnst);
	}

	nav#navbar>ul:not(.lang):not(.secondary)>li>a:hover,
	nav#navbar>ul:not(.lang):not(.secondary)>li>span:hover,
	nav#navbar>ul:not(.lang):not(.secondary)>li>a.active {
		color: var(--nav-accent);
		text-decoration: none;
	}

	nav#navbar>ul:not(.lang):not(.secondary)>li>a:hover::after,
	nav#navbar>ul:not(.lang):not(.secondary)>li>span:hover::after,
	nav#navbar>ul:not(.lang):not(.secondary)>li>a.active::after {
		transform: scaleX(1);
	}

	/* Tablet-ish desktop fine-tune: between 1100–1280px the 9 items are
	   tight, so trim padding a touch more without changing font size. */
	@media (max-width: 1280px) {

		nav#navbar>ul:not(.lang):not(.secondary)>li>a,
		nav#navbar>ul:not(.lang):not(.secondary)>li>span {
			padding-inline: .55rem;
			letter-spacing: .06em;
		}
	}

	/* Chevron after the "Pages" trigger, mirroring heritage-wine dropdown UI */
	nav#navbar>ul:not(.lang):not(.secondary)>li.has-submenu>span::after {
		content: "";
		display: inline-block;
		margin-left: .5rem;
		width: .4rem;
		height: .4rem;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		transition: transform var(--nav-trnst);
	}

	/* 6. Hover dropdown for ".has-submenu" — heritage-wine .dropdown-menu1 vibe */
	nav#navbar>ul li.has-submenu ul.submenu {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		min-width: 220px;
		margin: 0;
		padding: .5rem 0 !important;
		/* override base !important-free */
		background: rgba(0, 0, 0, .92);
		border-top: 2px solid var(--nav-accent);
		box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
		opacity: 0;
		visibility: hidden;
		height: auto;
		/* override base height:0 */
		transition: opacity var(--nav-trnst),
			transform var(--nav-trnst),
			visibility var(--nav-trnst);
		z-index: 1002;
	}

	nav#navbar>ul li.has-submenu:hover ul.submenu,
	nav#navbar>ul li.has-submenu.active ul.submenu {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%) translateY(0);
	}

	nav#navbar>ul li.has-submenu:hover>span::after,
	nav#navbar>ul li.has-submenu.active>span::after {
		transform: translateY(0) rotate(225deg);
	}

	nav#navbar>ul li.has-submenu ul.submenu li {
		padding: 0;
	}

	nav#navbar>ul li.has-submenu ul.submenu li a {
		display: block;
		padding: .55rem 1.25rem;
		font-family: var(--ff-2);
		font-size: .85rem;
		font-weight: 500;
		letter-spacing: .04em;
		color: #fff;
		text-transform: capitalize;
		transition: color var(--nav-trnst),
			background-color var(--nav-trnst);
	}

	nav#navbar>ul li.has-submenu ul.submenu li a:hover {
		background: rgba(220, 190, 132, .14);
		color: var(--nav-accent);
		text-decoration: none;
	}

	/* 7. Right-side action icons (cart / account / login) — heritage-wine .right-menu */
	nav#navbar ul.secondary {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: .25rem;
		margin: 0;
		/* main ul's auto margins handle the spacing */
		padding: 0;
		list-style: none;
	}

	nav#navbar ul.secondary li {
		padding: 0;
	}

	nav#navbar ul.secondary li a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.4rem;
		height: 2.4rem;
		font-size: 0;
		/* hide raw label text */
		color: var(--nav-fg);
		border-radius: 50%;
		transition: color var(--nav-trnst),
			background-color var(--nav-trnst);
	}

	nav#navbar ul.secondary li a::before {
		font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 1.05rem;
		line-height: 1;
		color: inherit;
	}

	/* Map each link to a FontAwesome glyph (FA6 unicode codepoints) */
	nav#navbar ul.secondary li a[href*="cart"]::before {
		content: "\f290";
	}

	/* shopping-bag */
	nav#navbar ul.secondary li a[href*="checkout"]::before {
		content: "\f07a";
	}

	/* cart-shopping */
	nav#navbar ul.secondary li a[href*="account"]::before {
		content: "\f007";
	}

	/* user */
	nav#navbar ul.secondary li a[href*="login"]::before {
		content: "\f2f6";
	}

	/* sign-in */
	nav#navbar ul.secondary li a[href*="privacy"] {
		display: none;
	}

	/* not a top-bar action */
	nav#navbar ul.secondary li a:hover {
		color: var(--nav-accent);
		background: rgba(255, 255, 255, .08);
		text-decoration: none;
	}

	/* 8. Language switcher — small horizontal pill at the far right */
	nav#navbar ul.lang {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: .35rem;
		margin: 0 0 0 .75rem;
		padding: 0 0 0 .75rem;
		border-left: 1px solid rgba(255, 255, 255, .15);
		width: auto;
		/* override style.css 1237 */
		min-width: 0;
	}

	nav#navbar ul.lang li {
		padding: 0;
	}

	nav#navbar ul.lang li a {
		display: inline-block;
		padding: .25rem .4rem;
		font-family: var(--ff-2);
		font-size: .7rem;
		font-weight: 800;
		letter-spacing: .15em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, .55);
	}

	nav#navbar ul.lang li a.active,
	nav#navbar ul.lang li a:hover {
		color: var(--nav-accent);
		text-decoration: none;
	}

	/* 9. STICKY STATE — toggled by main.js when scrollY > 80
		   Mirrors heritage-wine's `.fixed-menu` (slide-down + white bg).      */
	body.is-sticky nav#navbar {
		background: var(--nav-bg-sticky);
		box-shadow: var(--nav-shadow-sticky);
		backdrop-filter: none;
		animation: navSlideDown .45s ease-out;
	}

	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>span,
	body.is-sticky nav#navbar ul.secondary li a {
		color: var(--nav-fg-sticky);
	}

	body.is-sticky nav#navbar ul.lang {
		border-left-color: rgba(122, 90, 26, .25);
	}

	body.is-sticky nav#navbar ul.lang li a {
		color: var(--nav-fg-sticky);
	}

	/* Hover/active state on the white sticky bar — flip the default black
	   to the luxury gold accent so the interaction reads cleanly against
	   the rest of the black <li> items. The underline `::after` already
	   animates in the base rule; we only change color here. */
	body.is-sticky nav#navbar ul.lang li a.active,
	body.is-sticky nav#navbar ul.lang li a:hover,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a:hover,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>span:hover,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a.active,
	body.is-sticky nav#navbar ul.secondary li a:hover {
		color: var(--nav-fg-sticky-accent);
	}

	/* Every <li> text color in the sticky bar (including submenu links and
	   the language toggle pill) flips to pure black. We set color on the
	   <li>, <a>, and <span> so the inner AR/EN i18n spans inherit black by
	   default, but the gold hover/active override further below still wins
	   because its selectors explicitly include the nested spans. */
	body.is-sticky nav#navbar li,
	body.is-sticky nav#navbar li a,
	body.is-sticky nav#navbar li a span,
	body.is-sticky nav#navbar li>span {
		color: var(--nav-fg-sticky);
		transition: color var(--nav-trnst);
	}

	/* Active / hover gold needs to reach the inner i18n spans too (otherwise
	   the .ar / .en span keeps the default black and the accent never
	   renders when the language toggle flips). */
	body.is-sticky nav#navbar ul.lang li a.active,
	body.is-sticky nav#navbar ul.lang li a.active>span,
	body.is-sticky nav#navbar ul.lang li a:hover,
	body.is-sticky nav#navbar ul.lang li a:hover>span,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a.active,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a.active>span,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a[aria-current="page"],
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a[aria-current="page"]>span,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a:hover,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a:hover>span,
	body.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>span:hover,
	body.is-sticky nav#navbar ul.secondary li a:hover,
	body.is-sticky nav#navbar ul.secondary li a:hover>span {
		color: var(--nav-fg-sticky-accent);
	}

	body.is-sticky header a img {
		height: 38px;
		/* slight shrink, like heritage-wine sc-logo */
	}

	@keyframes navSlideDown {
		from {
			transform: translateY(-100%);
		}

		to {
			transform: translateY(0);
		}
	}

	/* 10. Accessibility — visible focus ring */
	nav#navbar a:focus-visible,
	nav#navbar span:focus-visible,
	header a:focus-visible {
		outline: 2px solid var(--nav-accent);
		outline-offset: 3px;
		border-radius: 2px;
	}
}

/* =============================================================================
 *  MOBILE (≤ 991px) — keep the original GrapeLand drawer untouched.
 *  We only ensure the secondary list's added FA pseudo-elements (if any
 *  rendered) don't pollute the drawer view.
 * ===========================================================================*/
@media (max-width: 991.98px) {
	/* The base style.css already styles the drawer correctly.
	   Nothing to override — listed here for documentation completeness. */
}

/* =============================================================================
 *  i18n — Arabic / English bilingual support (index.html only for now)
 *  ---------------------------------------------------------------------------
 *  Activation: <html lang="ar" dir="rtl"> + body.ar (set by inline JS).
 *  These rules are inert until the body.ar / [dir=rtl] selectors match, so
 *  monolingual pages remain unaffected.
 * ===========================================================================*/

/* Bilingual visibility — only one of the two language spans renders at a time.
   Inside any element marked `.ar` is shown when <body> has the `ar` class
   and `.en` otherwise. */
body:not(.ar) .ar {
	display: none !important;
}

body.ar .en {
	display: none !important;
}

/* Per-language typography — Arabic uses the same families as
   custom/asl_aleanab_luxury_website.html (Amiri + IBM Plex Sans Arabic).
   The :lang() selectors target individual translated spans so a mixed-language
   document still picks the right family per fragment. */
:lang(ar) {
	font-family: "IBM Plex Sans Arabic", "Mulish", system-ui, sans-serif;
}

body.ar,
body.ar p,
body.ar a,
body.ar li,
body.ar span,
body.ar input,
body.ar textarea,
body.ar button {
	font-family: "IBM Plex Sans Arabic", "Mulish", system-ui, sans-serif;
}

body.ar h1,
body.ar h2,
body.ar h3,
body.ar h4,
body.ar h5,
body.ar h6,
body.ar .hero-content h1,
body.ar .hero-content h4 {
	font-family: Amiri, "IBM Plex Sans Arabic", serif;
	font-feature-settings: "kern" 1, "liga" 1;
}

/* Larger comfortable line-height for Arabic per aslaleanb.md "Dev Tip". */
body.ar {
	line-height: 1.7;
}

/* Arabic & English navbar typography moved to navbar-i18n.css
   for independent per-language font control. */

/* RTL layout adjustments — mirror only what's not already symmetric.
   The rest of the layout is logical-property friendly so it flips automatically. */
[dir="rtl"] .nav-toggle {
	/* hamburger lives top-right in LTR; logical mirroring puts it top-left.
	   Pin it to the inline-end for a consistent inset behavior. */
	right: auto;
	left: 0;
	transform: translateX(-.6rem);
}

[dir="rtl"] .nav-toggle:hover {
	transform: translateX(0);
}

[dir="rtl"] .nav-toggle[aria-expanded="true"] {
	margin-left: .5rem;
	margin-right: 0;
}

[dir="rtl"] .nav-toggle span.current-page {
	right: auto;
	left: 0;
	transform: rotate(0deg);
	/* keep readable in RTL */
	writing-mode: vertical-lr;
}

/* MOBILE / TABLET ONLY — slide-in drawer comes from the inline-end.
   IMPORTANT: this rule must NOT apply on desktop, otherwise the heritage-wine
   horizontal bar would be translated 100% off-screen the moment the user
   switches to Arabic (this was the "navbar disappears" bug). */
@media (max-width: 1099.98px) {
	[dir="rtl"] nav#navbar {
		right: auto;
		left: 0;
		transform: translateX(-100%) matrix(1, 0, 0, 1, 0, 0);
	}

	[dir="rtl"] nav#navbar[data-visible="true"] {
		transform: translateX(0) matrix(1, 0, 0, 1, 0, 0);
	}
}

/* Heritage-wine desktop bar — reserve logo space on whichever side <header> sits.
   In LTR the logo sits on the left; in RTL we move it to the right and flip
   the nav's reserved padding accordingly. Breakpoint matches the desktop
   navbar (1100px). */
@media (min-width: 1100px) {
	[dir="rtl"] header {
		left: auto;
		right: 0;
	}

	/* Explicitly cancel any drawer transform that might leak through. */
	[dir="rtl"] nav#navbar {
		transform: none;
		left: 0;
		right: 0;
		padding: 0 clamp(140px, 12vw, 180px) 0 1.25rem;
	}

	/* The lang ul (now repurposed as toggle) styled as a pill button */
	nav#navbar ul.lang li #langToggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 2.4rem;
		height: 2.4rem;
		padding: 0 .85rem;
		font-family: var(--ff-2);
		font-size: .72rem;
		font-weight: 800;
		letter-spacing: .15em;
		text-transform: uppercase;
		color: #fff;
		border: 1px solid rgba(255, 255, 255, .35);
		border-radius: 999px;
		transition: color var(--nav-trnst),
			border-color var(--nav-trnst),
			background-color var(--nav-trnst);
	}

	nav#navbar ul.lang li #langToggle:hover {
		color: var(--nav-accent);
		border-color: var(--nav-accent);
		background: rgba(220, 190, 132, .08);
		text-decoration: none;
	}

	body.is-sticky nav#navbar ul.lang li #langToggle {
		color: var(--nav-fg-sticky);
		border-color: rgba(122, 90, 26, .35);
	}

	body.is-sticky nav#navbar ul.lang li #langToggle:hover {
		color: var(--gold-deep-soft);
		border-color: var(--gold-deep-soft);
	}
}

/* =============================================================================
 *  DARK NIGHT THEME + GOLD TYPOGRAPHY
 *  ---------------------------------------------------------------------------
 *  Activated by `body.theme-dark` (currently only on grapes/index.html so the
 *  rest of the template keeps its original light palette).
 *
 *  Strategy: redefine the CSS custom properties from the base style.css inside
 *  the body.theme-dark scope — almost every component already pulls colors via
 *  `var(--white)`, `var(--light-grey)`, `var(--grey)` and `var(--primary)`,
 *  so re-mapping those four variables propagates the theme everywhere with
 *  near-zero per-component overrides.
 *
 *  Palette
 *    --night-0   #06070a   deepest base (page bg)
 *    --night-1   #0d0e13   panels / sections
 *    --night-2   #16181f   raised cards
 *    --night-3   #1f222b   borders / dividers
 *    --gold      #d4b873   primary brand gold (slightly warmer than #dcbe84)
 *    --gold-soft #efd99a   highlight / hover
 *    --gold-dim  #8a7544   muted body copy
 * ===========================================================================*/
body.theme-dark {
	/* 1. Re-map the base GrapeLand variables so existing rules pick them up. */
	--white: #06070a;
	/* was page bg in light theme */
	--light-grey: #0d0e13;
	/* `.bg-light` sections turn into deep-night */
	--grey: #8a7544;
	/* muted-text role → muted gold */
	--black: #06070a;
	/* unchanged-feeling but normalized */
	--primary: #d4b873;
	/* gold accent (slight warm tweak) */

	/* 2. Local theme tokens used for fine-tuning. */
	--night-0: #06070a;
	--night-1: #0d0e13;
	--night-2: #16181f;
	--night-3: #1f222b;
	--gold: #d4b873;
	--gold-soft: #efd99a;
	--gold-dim: #8a7544;

	background-color: var(--night-0);
	color: var(--gold);
	/* default body copy → gold */
}

/* 3. Typography — every text element gets a gold tone, calibrated by role.
      Bright gold for headings, warm gold for body, dim gold for secondary. */
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6 {
	color: var(--gold-soft);
}

body.theme-dark p,
body.theme-dark li,
body.theme-dark span,
body.theme-dark blockquote,
body.theme-dark dd,
body.theme-dark dt,
body.theme-dark label {
	color: var(--gold);
}

body.theme-dark a {
	color: var(--gold-soft);
}

body.theme-dark a:hover {
	color: #fff;
}

/* enough contrast lift */
body.theme-dark small,
body.theme-dark .muted,
body.theme-dark figcaption {
	color: var(--gold-dim);
}

/* 4. Section & layout backgrounds.
      The base template uses `.bg-light` and `.bg-black` utility classes plus
      raw whites from var(--white). All become night shades here. */
body.theme-dark main,
body.theme-dark .bg-light {
	background-color: var(--night-1);
}

body.theme-dark .bg-black {
	background-color: var(--night-0);
}

/* `bg-half` uses inline `--halfColors` referencing var(--black) and
   var(--light-grey); both are remapped above so the diagonal still works. */

body.theme-dark hr,
body.theme-dark .frame-img,
body.theme-dark .card,
body.theme-dark blockquote,
body.theme-dark fieldset {
	border-color: var(--night-3);
}

/* 5. Buttons — gold-on-dark, with inverted state on hover. */
body.theme-dark .btn,
body.theme-dark button:not(.nav-toggle):not(.lang-toggle):not(#langToggle) {
	background: transparent;
	color: var(--gold);
	border: 1px solid var(--gold);
}

body.theme-dark .btn:hover,
body.theme-dark button:not(.nav-toggle):not(.lang-toggle):not(#langToggle):hover {
	background: var(--gold);
	color: var(--night-0);
}

/* 6. Form fields — dark inputs with gold text & caret. */
body.theme-dark input,
body.theme-dark textarea,
body.theme-dark select {
	background-color: var(--night-2);
	color: var(--gold-soft);
	border: 1px solid var(--night-3);
	caret-color: var(--gold);
}

body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder {
	color: var(--gold-dim);
}

body.theme-dark input:focus,
body.theme-dark textarea:focus,
body.theme-dark select:focus {
	border-color: var(--gold);
	outline: none;
}

/* 7. Footer — slightly deeper than the page base. */
body.theme-dark footer {
	background-color: #04050a;
	color: var(--gold);
}

body.theme-dark footer a {
	color: var(--gold-soft);
}

/* 8. Heritage-wine navbar — re-tune sticky state for the dark theme.
      Default state stays transparent over the hero; once sticky the bar
      turns into a deep-night band with gold text instead of white. */
@media (min-width: 1100px) {
	body.theme-dark.is-sticky nav#navbar {
		background: rgba(13, 14, 19, .92);
		box-shadow: 0 6px 24px rgba(0, 0, 0, .6);
		backdrop-filter: blur(14px);
	}

	body.theme-dark.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a,
	body.theme-dark.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>span,
	body.theme-dark.is-sticky nav#navbar ul.secondary li a {
		color: var(--gold);
	}

	body.theme-dark.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a:hover,
	body.theme-dark.is-sticky nav#navbar>ul:not(.lang):not(.secondary)>li>a.active,
	body.theme-dark.is-sticky nav#navbar ul.secondary li a:hover {
		color: var(--gold-soft);
	}

	body.theme-dark.is-sticky nav#navbar ul.lang li #langToggle {
		color: var(--gold);
		border-color: rgba(212, 184, 115, .35);
	}
}

/* 9. Hero/section overlays sometimes use rgba blacks — they already work,
      but bump the hero text contrast. */
body.theme-dark .hero-content h1,
body.theme-dark .hero-content h4 {
	color: var(--gold-soft);
	text-shadow: 0 4px 24px rgba(0, 0, 0, .6);
}

/* 10. Selection color — keeps gold consistent across the page. */
body.theme-dark ::selection {
	background: var(--gold);
	color: var(--night-0);
}

/* 11. Reduced-motion + cross-browser tidy-ups. */
body.theme-dark img {
	filter: brightness(.92) contrast(1.05);
}

@media (prefers-reduced-motion: reduce) {
	body.theme-dark * {
		transition: none !important;
		animation: none !important;
	}
}

/* =============================================================================
 *  HERO SECTION — bilingual & responsive refinements
 *  ---------------------------------------------------------------------------
 *  - Background slides (grape1/grape2/grap3) get an explicit object-position
 *    so the most important part of the image (the fruit) stays in frame on
 *    portrait viewports.
 *  - Arabic typography on the hero uses the same Amiri / IBM Plex Sans Arabic
 *    families as custom/asl_aleanab_luxury_website.html, with relaxed
 *    line-height tuned for Arabic ascenders/descenders.
 *  - RTL is inherited from <html dir="rtl">; the hero is centered so nothing
 *    needs to flip — the rules below just guard against accidental drift.
 * ===========================================================================*/

/* 1. New <img>-based slides fill the absolute <li> slot.
      The base style.css gives `.hero-slider ul.hero-bg > li` `position: absolute;
      inset: 0;` so we just need the image to cover that box. */
.hero-bg .hero-slide__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 35%;
	/* keep grape clusters in frame */
	border: 0;
}

@media (max-width: 600px) {
	.hero-bg .hero-slide__img {
		object-position: center center;
	}
}

/* Ken-Burns zoom — port the previous `bg-zoom` (which animated background-size)
   to an <img>-friendly transform animation so the slow zoom still works. */
.hero-bg .hero-slide__img.bg-zoom {
	animation: heroKenBurns 8s ease-in-out forwards;
	transform-origin: center;
	will-change: transform;
}

@keyframes heroKenBurns {
	from {
		transform: scale(1.04);
	}

	to {
		transform: scale(1.12);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-bg .hero-slide__img.bg-zoom {
		animation: none;
		transform: none;
	}
}

/* 2. Strengthen overlay contrast slightly so gold typography reads on top
      of warm-toned grape imagery in either language. */
.hero-slider .hero-content>.overlay {
	background: linear-gradient(180deg,
			rgba(0, 0, 0, .45) 0%,
			rgba(0, 0, 0, .35) 45%,
			rgba(0, 0, 0, .55) 100%);
}

/* 3. Bilingual hero typography. */
:lang(ar) .hero-content h1,
:lang(ar) .hero-content h4 {
	font-family: Amiri, "IBM Plex Sans Arabic", serif;
	line-height: 1.55;
	/* Arabic needs a touch more */
	letter-spacing: 0;
	/* uppercase tracking is LTR-only */
}

body.ar .hero-content h1 {
	font-size: clamp(1.8rem, 4.5vw, 3.4rem);
}

body.ar .hero-content h4 {
	font-weight: 400;
}

/* 4. Video label sits below the play button — keep it centered in both
      directions so the icon ↔ label relationship reads correctly. */
.hero-content .hero-video-label {
	display: inline-block;
	text-align: center;
}

[dir="rtl"] .hero-content .hero-video-label {
	unicode-bidi: plaintext;
}

/* 5. Responsive — on portrait phones, soften the heading so it doesn't break
      into too many lines and reduce overlay darkness so imagery still pops. */
@media (max-width: 600px) {
	.hero-bg .bg-img {
		background-position: center center;
	}

	body.ar .hero-content h1 {
		font-size: clamp(1.4rem, 6vw, 2rem);
		line-height: 1.45;
	}
}

/* 6. Reduced motion — disable the bg-zoom Ken-Burns effect for users who
      asked for less animation; their slides still cycle, just without the
      zoom. (The base style.css defines .bg-zoom; we suppress its animation.) */
@media (prefers-reduced-motion: reduce) {
	.hero-bg .bg-img.bg-zoom {
		animation: none !important;
	}
}

/* ====================================================================
   Footer microcopy (ASB §2.3) — tagline that follows every page
   "عنبُ اليمن.. طعمٌ صقله الزمن." / "Yemeni Grapes.. A Taste Refined by Time."
==================================================================== */
.footer-microcopy {
	font-family: 'Prata', 'Amiri', serif;
	font-style: italic;
	font-size: 1.05rem;
	letter-spacing: .03em;
	color: var(--primary, #dcbe84);
	margin: 0 0 .25rem;
	opacity: .9;
}

body.ar .footer-microcopy {
	font-family: 'Amiri', 'IBM Plex Sans Arabic', serif;
	font-style: normal;
	font-size: 1.15rem;
	letter-spacing: 0;
}

/* =============================================================================
 * LUXURY IDENTITY LAYER (PR #3)
 * -----------------------------------------------------------------------------
 *  Per the user-approved Phase 1 plan §3 (Q1 → answer A): the brand palette is
 *  Pure Black + Pure White + Gold. The values below are reusable across every
 *  page rebuilt in PRs #4–#12 so each new section/component can pull from the
 *  same set of tokens (colors, typography scale, spacing, components).
 *
 *  None of the new tokens collide with the navbar tokens defined at the top of
 *  this file: the existing `--gold-bright`, `--gold-deep`, `--nav-fg-sticky`,
 *  `--primary` are kept untouched so PR #1's navbar work keeps rendering.
 * ===========================================================================*/

:root {
	/* ---------- Brand ink (dark) ---------- */
	--ink: #0B0B0F;
	/* near-black, primary text on light bg + dark hero bg */
	--ink-soft: #1A1A1F;
	/* secondary surfaces, dark sections */
	--ink-mute: #2C2C33;
	/* dividers / subtle borders on dark bg */
	--ink-overlay: rgba(11, 11, 15, .72);
	/* hero text-protect overlay */

	/* ---------- Paper (light) ---------- */
	--paper: #FFFFFF;
	/* primary light background */
	--paper-warm: #FAF7F0;
	/* "off-white" used for alternating sections */
	--paper-mute: #E8E2D4;
	/* dim divider on warm paper */

	/* ---------- Gold accent family ---------- */
	--gold: #D4AF37;
	/* primary luxury gold (display) */
	--gold-soft: #C9A227;
	/* secondary, muted gold */
	--gold-deep-acc: #8C6F1E;
	/* deep gold for AAA contrast on white */
	--gold-faint: rgba(212, 175, 55, .35);
	/* hairline borders / dividers */
	--gold-haze: rgba(212, 175, 55, .12);
	/* tinted backdrops */
	/* Note: --gold-bright (#f1d88a) and --nav-fg-sticky (#FFD700) are
	   pre-existing navbar tokens and remain untouched. */

	/* ---------- Typography families ---------- */
	--ff-display-en: 'Prata', 'Cormorant Garamond', Georgia, serif;
	--ff-display-ar: 'Amiri', 'Scheherazade New', serif;
	--ff-body-en: 'Mulish', system-ui, -apple-system, sans-serif;
	--ff-body-ar: 'IBM Plex Sans Arabic', 'Mulish', system-ui, sans-serif;

	/* ---------- Type scale (luxury — wide) ---------- */
	--fs-eyebrow: .72rem;
	/* 11.5px uppercase tracker */
	--fs-h1: clamp(2.4rem, 5vw, 4.4rem);
	/* hero / page titles */
	--fs-h2: clamp(1.8rem, 3.4vw, 2.8rem);
	/* section titles */
	--fs-h3: clamp(1.25rem, 2vw, 1.55rem);
	/* card titles, sub-section */
	--fs-lede: clamp(1.05rem, 1.4vw, 1.2rem);
	/* hero sub-headline / lede paragraph */
	--fs-body: 1rem;
	--fs-small: .87rem;

	--lh-display: 1.15;
	--lh-body: 1.65;
	/* close to ASB §2.6 recommendation (1.6) */

	--tracking-eyebrow: .26em;
	--tracking-display: .01em;
	--tracking-body: .005em;

	/* ---------- Spacing scale ---------- */
	--s-1: .25rem;
	--s-2: .5rem;
	--s-3: .75rem;
	--s-4: 1rem;
	--s-5: 1.5rem;
	--s-6: 2rem;
	--s-7: 3rem;
	--s-8: 4.5rem;
	--s-9: 6.5rem;
	/* section vertical padding */

	/* ---------- Misc ---------- */
	--lux-radius: 30px;
	/* softer, modern rounded corners */
	--lux-shadow: 0 30px 80px -28px rgba(11, 11, 15, .35);
	--lux-trnst: .55s cubic-bezier(.19, 1, .22, 1);
}

/* ---------- Eyebrow (small uppercase tracker over section titles) ---------- */
.eyebrow {
	display: inline-block;
	font-family: var(--ff-body-en);
	font-size: var(--fs-eyebrow);
	font-weight: 600;
	color: var(--gold);
	letter-spacing: var(--tracking-eyebrow);
	text-transform: uppercase;
	margin: 0 0 var(--s-3);
}

body.ar .eyebrow {
	font-family: var(--ff-body-ar);
	letter-spacing: .12em;
	/* Arabic tracking is narrower */
	text-transform: none;
}

/* ---------- Section heading (h2) with optional gold divider ---------- */
.section-heading {
	font-family: var(--ff-display-en);
	font-size: var(--fs-h2);
	line-height: var(--lh-display);
	letter-spacing: var(--tracking-display);
	font-weight: 400;
	color: var(--ink);
	margin: 0 0 var(--s-4);
}

body.ar .section-heading {
	font-family: var(--ff-display-ar);
	font-weight: 700;
}

.section-heading--light {
	color: var(--paper);
}

.divider-gold {
	display: block;
	width: 56px;
	height: 1px;
	background: var(--gold);
	border: 0;
	margin: var(--s-4) 0 var(--s-5);
}

.divider-gold--center {
	margin-inline: auto;
}

/* ---------- Buttons: solid gold + outline gold ---------- */
.btn-luxury,
.btn-outline-gold {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--s-2);
	padding: .9rem 1.8rem;
	font-family: var(--ff-body-en);
	font-size: var(--fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--tracking-eyebrow);
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1;
	border-radius: var(--lux-radius);
	transition: background-color var(--lux-trnst),
		color var(--lux-trnst),
		border-color var(--lux-trnst),
		transform var(--lux-trnst);
	cursor: pointer;
}

body.ar .btn-luxury,
body.ar .btn-outline-gold {
	font-family: var(--ff-body-ar);
	letter-spacing: .12em;
	text-transform: none;
	font-size: .95rem;
}

.btn-luxury {
	background: var(--gold);
	color: var(--ink);
	border: 1px solid var(--gold);
}

.btn-luxury:hover,
.btn-luxury:focus-visible {
	background: var(--ink);
	color: var(--gold);
	transform: translateY(-1px);
}

.btn-outline-gold {
	background: transparent;
	color: var(--gold);
	border: 1px solid var(--gold);
}

.btn-outline-gold:hover,
.btn-outline-gold:focus-visible {
	background: var(--gold);
	color: var(--ink);
	transform: translateY(-1px);
}

/* ---------- Section wrappers ---------- */
.section-luxury {
	padding-block: var(--s-9);
}

.section-luxury--dark {
	background: var(--ink);
	color: var(--paper);
}

.section-luxury--dark .section-heading {
	color: var(--paper);
}

.section-luxury--warm {
	background: var(--paper-warm);
}

/* ---------- Luxury card (used for products, guardians, stories) ---------- */
.luxury-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--paper);
	border: 1px solid var(--paper-mute);
	border-radius: var(--lux-radius);
	overflow: hidden;
	transition: transform var(--lux-trnst),
		border-color var(--lux-trnst),
		box-shadow var(--lux-trnst);
}

.luxury-card:hover {
	transform: translateY(-4px);
	border-color: var(--gold);
	box-shadow: var(--lux-shadow);
}

.luxury-card__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ink-soft);
}

.luxury-card__media img,
.luxury-card__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s var(--lux-trnst);
}

.luxury-card:hover .luxury-card__media img {
	transform: scale(1.04);
}

.luxury-card__body {
	padding: var(--s-5);
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
}

.luxury-card__title {
	font-family: var(--ff-display-en);
	font-size: var(--fs-h3);
	font-weight: 400;
	margin: 0;
	color: var(--ink);
	line-height: var(--lh-display);
}

body.ar .luxury-card__title {
	font-family: var(--ff-display-ar);
	font-weight: 700;
}

.luxury-card__meta {
	font-size: var(--fs-small);
	color: var(--gold-deep-acc);
	letter-spacing: var(--tracking-body);
}

.luxury-card--dark {
	background: var(--ink-soft);
	border-color: var(--ink-mute);
	color: var(--paper);
}

.luxury-card--dark .luxury-card__title {
	color: var(--paper);
}

.luxury-card--dark .luxury-card__meta {
	color: var(--gold);
}

/* ---------- Hero scroll indicator (downward arrow ASB §2.1.4) ---------- */
.scroll-indicator {
	position: absolute;
	bottom: var(--s-6);
	left: 50%;
	transform: translateX(-50%);
	width: 28px;
	height: 44px;
	border: 1px solid var(--gold);
	border-radius: 14px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 6px;
	z-index: 5;
	pointer-events: none;
}

.scroll-indicator::before {
	content: "";
	width: 4px;
	height: 8px;
	background: var(--gold);
	border-radius: 2px;
	animation: scroll-dot 1.8s ease-in-out infinite;
}

@keyframes scroll-dot {
	0% {
		transform: translateY(0);
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	100% {
		transform: translateY(20px);
		opacity: 0;
	}
}

/* ---------- "Live from the Vineyards" tag (ASB §2.1.4) ---------- */
.live-tag {
	display: inline-flex;
	align-items: center;
	gap: var(--s-2);
	padding: .5rem .9rem;
	font-family: var(--ff-body-en);
	font-size: var(--fs-eyebrow);
	font-weight: 600;
	letter-spacing: var(--tracking-eyebrow);
	text-transform: uppercase;
	color: var(--gold);
	background: rgba(11, 11, 15, .4);
	border: 1px solid var(--gold-faint);
	backdrop-filter: blur(6px);
	border-radius: 999px;
}

body.ar .live-tag {
	font-family: var(--ff-body-ar);
	letter-spacing: .1em;
	text-transform: none;
}

.live-tag::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 0 0 0 var(--gold);
	animation: live-pulse 1.6s ease-in-out infinite;
}

@keyframes live-pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(212, 175, 55, .6);
	}

	70% {
		box-shadow: 0 0 0 10px rgba(212, 175, 55, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
	}
}

/* ---------- Body type adjustments when language flips ----------
 *  Apply the new body family to common text containers without touching
 *  the GrapeLand `style.css` defaults so visited pages still look the same
 *  until they're individually rebuilt in later PRs. */
body {
	font-family: var(--ff-body-en);
	line-height: var(--lh-body);
}

body.ar {
	font-family: var(--ff-body-ar);
	line-height: 1.75;
	/* slightly looser for Arabic */
}

/* ---------- Reduced-motion: disable decorative animations ---------- */
@media (prefers-reduced-motion: reduce) {

	.scroll-indicator::before,
	.live-tag::before {
		animation: none;
	}

	.luxury-card,
	.btn-luxury,
	.btn-outline-gold {
		transition: none;
	}
}

/* =============================================================================
 * HOME PAGE SECTIONS (PR #4) — section-scoped tweaks on top of identity layer
 * ===========================================================================*/

/* ---- Hero (luxury cinematic) ---- */
.hero-luxury {
	position: relative;
	min-height: 100svh;
	overflow: hidden;
}

.hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	pointer-events: none;
	transition: opacity .8s ease;
}

.hero-has-video .hero-video {
	opacity: 1;
	z-index: 1;
}

.hero-has-video .hero-bg {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.hero-luxury .hero-bg,
.hero-luxury .hero-bg li,
.hero-luxury .hero-slide__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hero-luxury .hero-slide__img {
	object-fit: cover;
}

.hero-content--luxury {
	position: relative;
	z-index: 2;
	min-height: 100svh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-block: calc(var(--nav-h, 72px) + var(--s-7)) var(--s-9);
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background: var(--gradient-hero);
	z-index: 1;
	pointer-events: none;
}

.hero-inner {
	position: relative;
	z-index: 2;
	max-width: 46rem;
	color: var(--paper);
}

.hero-eyebrow {
	color: var(--gold);
	margin-bottom: var(--s-4);
}

.hero-title {
	font-family: var(--ff-display-en);
	font-weight: 400;
	font-size: clamp(1.85rem, 3.8vw, 3.25rem);
	line-height: 1.25;
	letter-spacing: .01em;
	margin: 0 auto var(--s-5);
	max-width: 18ch;
	color: var(--paper);
}

body.ar .hero-title {
	font-family: var(--ff-display-ar);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.45;
	max-width: 16ch;
}

.hero-lede {
	font-family: var(--ff-body-en);
	font-size: clamp(.95rem, 1.15vw, 1.08rem);
	font-weight: 400;
	line-height: 1.65;
	color: rgba(255, 255, 255, .82);
	max-width: 34rem;
	margin: 0 auto var(--s-6);
}

body.ar .hero-lede {
	font-family: var(--ff-body-ar);
}

.hero-cta-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--s-3) var(--s-4);
	margin-bottom: var(--s-6);
}

.hero-cta-row .btn-luxury,
.hero-cta-row .btn-outline-gold {
	padding: .75rem 1.45rem;
	font-size: .72rem;
	letter-spacing: .16em;
	border-radius: 2px;
	min-width: 0;
	box-shadow: none;
}

.hero-cta-row .btn-luxury {
	background: var(--royal-green, #1F3D2B) !important;
	background-image: none !important;
	color: var(--paper) !important;
	border: 1px solid rgba(212, 175, 55, .55) !important;
}

.hero-cta-row .btn-luxury:hover,
.hero-cta-row .btn-luxury:focus-visible {
	background: var(--gold) !important;
	color: var(--ink) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(212, 175, 55, .18);
}

.hero-cta-row .btn-outline-gold {
	background: transparent !important;
	color: var(--gold) !important;
	border: 1px solid rgba(212, 175, 55, .7) !important;
}

.hero-cta-row .btn-outline-gold:hover,
.hero-cta-row .btn-outline-gold:focus-visible {
	background: rgba(212, 175, 55, .12) !important;
	color: var(--gold-soft, #efd99a) !important;
	box-shadow: none;
}

.hero-cta-row .btn-luxury::before,
.hero-cta-row .btn-outline-gold::before {
	display: none;
}

body.ar .hero-cta-row .btn-luxury,
body.ar .hero-cta-row .btn-outline-gold {
	font-size: .88rem;
	letter-spacing: .06em;
	text-transform: none;
}

.hero-video-cta {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
	margin-top: var(--s-2);
	isolation: isolate;
}

.hero-video-cta::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	width: 13rem;
	height: 9rem;
	transform: translate(-50%, -50%);
	background: radial-gradient(ellipse at center,
			rgba(7, 11, 9, .46) 0%,
			rgba(7, 11, 9, .22) 45%,
			transparent 74%);
	pointer-events: none;
}

.hero-play-btn {
	position: relative;
	width: 4.25rem;
	height: 4.25rem;
	display: inline-grid;
	place-items: center;
	aspect-ratio: 1;
	padding: 0;
	border: 1px solid rgba(212, 175, 55, .62) !important;
	border-radius: 50%;
	background: transparent !important;
	color: rgba(239, 217, 154, .92);
	box-shadow: none;
	transition: transform .36s cubic-bezier(.19, 1, .22, 1),
		border-color .36s ease,
		box-shadow .36s ease,
		color .36s ease;
}

.hero-play-btn i {
	--ggs: .72;
	transform: scale(var(--ggs)) translateX(.08em);
	color: inherit;
	z-index: 1;
}

.hero-play-btn::before {
	display: none;
}

.hero-play-btn:hover,
.hero-play-btn:focus-visible {
	transform: scale(1.04);
	border-color: rgba(239, 217, 154, .95) !important;
	background: transparent !important;
	box-shadow: 0 0 22px rgba(212, 175, 55, .18);
	color: var(--gold-soft, #efd99a);
}

.hero-video-cta .hero-video-label {
	display: block;
	text-align: center;
	color: rgba(255, 255, 255, .88);
	font-family: var(--ff-body-en);
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .1em;
	text-transform: none;
}

body.ar .hero-video-cta .hero-video-label {
	font-family: var(--ff-body-ar);
	font-size: .95rem;
	letter-spacing: .04em;
	text-transform: none;
}

.hero-live-tag {
	position: absolute;
	top: calc(var(--nav-h, 72px) + var(--s-5));
	inset-inline-end: var(--s-6);
	z-index: 3;
	opacity: .92;
}

/* ---- About preview ---- */
.about-preview__grid {
	grid-template-columns: 1fr 1.1fr;
	gap: var(--s-8);
	align-items: center;
}

.about-preview__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 1px solid var(--gold-faint);
	border-radius: var(--lux-radius);
}

.about-preview__text {
	font-size: var(--fs-lede);
	line-height: var(--lh-body);
	color: var(--ink);
	margin: 0 0 var(--s-6);
}

@media (max-width: 900px) {
	.about-preview__grid {
		grid-template-columns: 1fr;
	}
}

/* ---- Harvest calendar strip ---- */
.harvest-strip {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	max-width: 72rem;
	margin: var(--s-7) auto 0;
	padding: 0 var(--s-5);
	list-style: none;
}

.harvest-strip::before {
	content: "";
	position: absolute;
	inset-inline: var(--s-7);
	top: 28px;
	height: 1px;
	background: var(--gold-faint);
	z-index: 0;
}

.harvest-phase {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--s-2);
	color: rgba(255, 255, 255, .55);
	transition: color var(--lux-trnst);
}

.harvest-phase__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 1px solid currentColor;
	font-size: 1.4rem;
	background: var(--ink);
	color: inherit;
}

.harvest-phase__name {
	font-family: var(--ff-body-en);
	font-weight: 700;
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--tracking-eyebrow);
	text-transform: uppercase;
}

body.ar .harvest-phase__name {
	font-family: var(--ff-body-ar);
	letter-spacing: .08em;
	text-transform: none;
	font-size: .95rem;
}

.harvest-phase__season {
	font-size: var(--fs-small);
	color: rgba(255, 255, 255, .45);
}

.harvest-phase.is-active {
	color: var(--gold);
}

.harvest-phase.is-active .harvest-phase__icon {
	background: var(--gold);
	color: var(--ink);
	border-color: var(--gold);
	box-shadow: 0 0 0 6px rgba(212, 175, 55, .12);
}

.harvest-phase.is-active .harvest-phase__season {
	color: var(--gold-soft);
}

@media (max-width: 720px) {
	.harvest-strip {
		grid-template-columns: repeat(2, 1fr);
		row-gap: var(--s-6);
	}

	.harvest-strip::before {
		display: none;
	}
}

/* ---- Section headers (eyebrow + heading + divider, centered) ---- */
.section-luxury__header {
	max-width: 50rem;
	margin: var(--s-8) auto 0;
	padding-bottom: var(--s-9);
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 5;
	text-align: center;
}

.section-luxury__header .eyebrow {
	margin-bottom: var(--s-2);
}

.section-luxury__header .section-heading {
	margin-bottom: var(--s-3);
}

.section-luxury__header .divider-gold {
	margin-top: var(--s-2);
	margin-bottom: var(--s-4);
	margin-inline: auto;
}


/* ---- Collection grid (3-up) ---- */
.collection-grid,
.stories-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--s-6);
}

@media (max-width: 980px) {

	.collection-grid,
	.stories-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {

	.collection-grid,
	.stories-grid {
		grid-template-columns: 1fr;
	}
}

.collection-card .luxury-card__lede,
.story-card .story-card__caption {
	margin: 0;
	color: var(--ink);
	font-style: italic;
	font-size: var(--fs-small);
}

.luxury-card--dark .story-card__caption {
	color: rgba(255, 255, 255, .8);
}

.luxury-card__cta {
	align-self: flex-start;
	margin-top: auto;
}

/* ---- Story card play button overlay ---- */
.story-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.story-card__play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 1px solid var(--gold);
	background: rgba(11, 11, 15, .55);
	color: var(--gold);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	transition: transform var(--lux-trnst), background-color var(--lux-trnst);
}

.story-card__link:hover .story-card__play {
	background: var(--gold);
	color: var(--ink);
	transform: scale(1.06);
}

.story-card .luxury-card__media {
	position: relative;
}

/* ---- Vineyards teaser (legacy photo) + partnership CTA ----
   Accordion section opts out via .vineyards-accordion-section */
.vineyards-teaser:not(.vineyards-map-showcase):not(.vineyards-accordion-section),
.partnership-cta {
	position: relative;
	background-size: cover;
	background-position: center;
	background-image: var(--imgUrl);
	padding-block: var(--s-9);
	color: var(--paper);
}

.vineyards-teaser:not(.vineyards-map-showcase):not(.vineyards-accordion-section) .vineyards-teaser__overlay,
.partnership-cta__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 11, 15, .55) 0%, rgba(11, 11, 15, .85) 100%);
}

.vineyards-teaser__inner,
.partnership-cta__inner {
	position: relative;
	z-index: 1;
	max-width: 56rem;
}

.vineyards-teaser:not(.vineyards-map-showcase):not(.vineyards-accordion-section) .vineyards-teaser__lede,
.partnership-cta__lede {
	font-size: var(--fs-lede);
	line-height: var(--lh-body);
	color: rgba(255, 255, 255, .88);
	margin: var(--s-5) auto var(--s-6);
}

.partnership-cta__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--s-4);
}

.btn-outline-gold--on-dark {
	background: rgba(11, 11, 15, .25);
}

/* ---- Guardians teaser ---- */
.guardians-teaser__grid {
	grid-template-columns: 1.1fr 1fr;
	gap: var(--s-8);
	align-items: center;
}

.guardians-teaser__quote {
	margin: 0;
	padding: 0;
}

.guardians-teaser__quote blockquote {
	margin: 0 0 var(--s-5);
	padding-inline-start: var(--s-5);
	border-inline-start: 2px solid var(--gold);
}

.guardians-teaser__quote blockquote p {
	font-family: var(--ff-display-en);
	font-size: var(--fs-h3);
	line-height: var(--lh-display);
	color: var(--ink);
	margin: 0;
}

body.ar .guardians-teaser__quote blockquote p {
	font-family: var(--ff-display-ar);
	font-weight: 700;
}

.guardians-teaser__quote figcaption {
	color: var(--gold-deep-acc);
	font-size: var(--fs-small);
	margin-bottom: var(--s-5);
}

.guardians-teaser__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 1px solid var(--gold-faint);
	border-radius: var(--lux-radius);
}

@media (max-width: 900px) {
	.guardians-teaser__grid {
		grid-template-columns: 1fr;
	}
}

/* ---- Footer luxury polish ---- */
.footer-sitemap a {
	color: inherit;
	text-decoration: none;
	transition: color var(--lux-trnst);
}

.footer-sitemap a:hover {
	color: var(--gold);
}

footer:not(.site-footer) .footer-newsletter {
	display: flex;
	gap: var(--s-2);
	margin-top: var(--s-4);
}

footer:not(.site-footer) .footer-newsletter input {
	flex: 1 1 auto;
	min-width: 0;
	padding: .85rem .9rem;
	background: transparent;
	border: 1px solid var(--gold-faint);
	color: inherit;
	font-family: inherit;
	border-radius: var(--lux-radius);
}

.footer-newsletter input::placeholder {
	color: rgba(255, 255, 255, .5);
}

.btn-luxury--compact {
	padding: .7rem 1.1rem;
	font-size: .8rem;
}

/* ---- Margin helper used after section grids ---- */
.mt-7 {
	margin-top: var(--s-7);
}

/* =============================================================================
 *  VINEYARDS PAGE (vineyard.html) — section-scoped styles
 *  ---------------------------------------------------------------------------
 *  Re-uses the luxury identity tokens (--gold, --ink, --paper, spacing, type)
 *  defined earlier in this file, so the page inherits the Pure Black / White /
 *  Gold brand palette. Adds a few page-specific components:
 *    - .vy-intro  : bilingual intro grid (copy + hero image) + fact pills
 *    - .vy-regions: dark interactive-map + live region-detail panel
 *    - .vy-cards  : region-at-a-glance 4-up grid
 *    - .vy-pillars: 4 terroir pillars (altitude / soil / sun / tradition)
 *    - .vy-quote  : full-bleed quote band
 *    - .vy-cta    : closing CTA
 * ===========================================================================*/

/* ---------- Hero variant ---------- */
.vineyards-hero .hero-title {
	letter-spacing: .015em;
}

/* ---------- Intro (terroir) ---------- */
.vy-intro {
	background: var(--paper);
	color: var(--ink);
}

.vy-intro__grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: var(--s-8);
	align-items: center;
}

.vy-intro__copy .section-heading {
	margin-top: var(--s-3);
}

.vy-intro__lede {
	font-size: var(--fs-lede);
	line-height: var(--lh-body);
	color: var(--ink-soft);
	margin: 0 0 var(--s-6);
}

.vy-intro__media {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border: 1px solid var(--gold-faint);
	border-radius: var(--lux-radius);
	box-shadow: var(--lux-shadow);
}

.vy-intro__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--lux-trnst);
}

.vy-intro__media:hover img {
	transform: scale(1.04);
}

.vy-intro__caption {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	padding: var(--s-4) var(--s-5);
	color: var(--paper);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(11, 11, 15, .72) 100%);
	font-size: var(--fs-small);
	line-height: 1.5;
}

/* Fact pills */
.vy-facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--s-4);
}

.vy-fact {
	display: flex;
	flex-direction: column;
	gap: var(--s-1);
	padding: var(--s-4) var(--s-5);
	border: 1px solid var(--gold-faint);
	border-radius: var(--lux-radius);
	background: var(--paper-warm);
}

.vy-fact__num {
	font-family: var(--ff-display-en);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	color: var(--gold-deep-acc);
	line-height: 1;
}

body.ar .vy-fact__num {
	font-family: var(--ff-display-ar);
}

.vy-fact__unit {
	font-family: var(--ff-body-en);
	font-size: var(--fs-small);
	letter-spacing: .05em;
	color: var(--ink-soft);
	text-transform: uppercase;
}

body.ar .vy-fact__unit {
	font-family: var(--ff-body-ar);
	text-transform: none;
	letter-spacing: 0;
}

@media (max-width: 900px) {
	.vy-intro__grid {
		grid-template-columns: 1fr;
		gap: var(--s-7);
	}

	.vy-facts {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- Interactive region map ---------- */
.vy-regions__lede {
	max-width: 48rem;
	margin: var(--s-3) auto 0;
	color: rgba(255, 255, 255, .78);
	font-size: var(--fs-lede);
	line-height: var(--lh-body);
}

.vy-map-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(17.5rem, 22rem);
	gap: clamp(1.75rem, 3vw, 2.5rem);
	align-items: start;
	margin-top: var(--s-8);
	min-width: 0;
}

.vy-map,
.vy-detail {
	min-width: 0;
}

.vy-map {
	position: relative;
	border: 1px solid var(--gold-faint);
	border-radius: var(--lux-radius);
	overflow: hidden;
	background: radial-gradient(80% 60% at 50% 40%, rgba(212, 175, 55, .08) 0%, rgba(11, 11, 15, 0) 70%), var(--ink);
	aspect-ratio: 16 / 11;
	min-height: clamp(18rem, 36vw, 28rem);
	isolation: isolate;
}

.vy-map__svg {
	width: 100%;
	height: 100%;
	display: block;
}

.vy-pin {
	position: absolute;
	inset-inline-start: var(--x);
	top: var(--y);
	transform: translate(-50%, -50%);
	background: transparent;
	border: 0;
	padding: 0;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: .4rem;
	z-index: 2;
}

[dir="rtl"] .vy-pin {
	transform: translate(50%, -50%);
}

.vy-pin__dot {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--gold);
	border: 2px solid var(--ink);
	box-shadow: 0 0 0 0 rgba(212, 175, 55, .55);
	transition: box-shadow .35s ease, transform .35s ease;
}

.vy-pin:hover .vy-pin__dot,
.vy-pin:focus-visible .vy-pin__dot,
.vy-pin.is-active .vy-pin__dot {
	transform: scale(1.15);
	box-shadow: 0 0 0 8px rgba(212, 175, 55, .25),
		0 0 0 16px rgba(212, 175, 55, .08);
	animation: vy-pin-pulse 1.8s ease-in-out infinite;
}

@keyframes vy-pin-pulse {

	0%,
	100% {
		box-shadow: 0 0 0 6px rgba(212, 175, 55, .25), 0 0 0 14px rgba(212, 175, 55, .06);
	}

	50% {
		box-shadow: 0 0 0 10px rgba(212, 175, 55, .35), 0 0 0 20px rgba(212, 175, 55, .08);
	}
}

.vy-pin__label {
	font-family: var(--ff-body-en);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--paper);
	padding: .25rem .55rem;
	background: rgba(11, 11, 15, .65);
	border: 1px solid var(--gold-faint);
	border-radius: 999px;
	max-width: min(11rem, 42vw);
	white-space: normal;
	text-align: center;
	line-height: 1.35;
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition:
		opacity .35s ease,
		visibility .35s ease,
		transform .35s ease,
		color .35s ease,
		border-color .35s ease;
}

body.ar .vy-pin__label {
	font-family: var(--ff-body-ar);
	text-transform: none;
	letter-spacing: .04em;
	font-weight: 600;
}

.vy-pin:hover .vy-pin__label,
.vy-pin:focus-visible .vy-pin__label,
.vy-pin.is-active .vy-pin__label {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	color: var(--gold);
	border-color: var(--gold);
}

.vy-pin:focus-visible {
	outline: none;
}

/* Region detail panel */
.vy-detail {
	background: var(--ink-soft);
	border: 1px solid var(--ink-mute);
	border-inline-start: 3px solid var(--gold);
	border-radius: var(--lux-radius);
	padding: var(--s-6);
	color: var(--paper);
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
	position: relative;
	z-index: 1;
}

.vy-detail__eyebrow {
	margin-bottom: 0;
}

.vy-detail__title {
	font-family: var(--ff-display-en);
	font-size: clamp(1.6rem, 2.6vw, 2rem);
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
	color: var(--paper);
}

body.ar .vy-detail__title {
	font-family: var(--ff-display-ar);
	font-weight: 700;
}

.vy-detail__sub {
	color: var(--gold);
	letter-spacing: .1em;
	font-size: var(--fs-small);
	text-transform: uppercase;
	margin: 0;
}

body.ar .vy-detail__sub {
	text-transform: none;
	letter-spacing: 0;
}

.vy-detail__stats {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-4);
	margin: var(--s-4) 0 var(--s-5);
}

.vy-detail__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-2);
	align-items: start;
	padding-bottom: var(--s-4);
	border-bottom: 1px solid rgba(212, 175, 55, .15);
}

.vy-detail__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.vy-detail__row dt {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: var(--gold);
	letter-spacing: .1em;
	font-size: var(--fs-small);
	text-transform: uppercase;
	font-weight: 600;
	margin: 0;
}

body.ar .vy-detail__row dt {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
}

.vy-detail__row dt i {
	color: var(--gold);
}

.vy-detail__row dd {
	margin: 0;
	color: rgba(255, 255, 255, .88);
	font-size: var(--fs-body);
	line-height: 1.6;
}

.btn-outline-gold--compact {
	padding: .65rem 1.1rem;
	font-size: .75rem;
}

@media (min-width: 1100px) {
	.vy-detail__row {
		grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr);
		gap: var(--s-4);
	}

	.vy-detail {
		padding: clamp(1.25rem, 2vw, 1.65rem);
	}

	.vy-detail__title {
		font-size: clamp(1.35rem, 2vw, 1.65rem);
	}
}

@media (max-width: 1099px) {
	.vy-map-wrap {
		grid-template-columns: 1fr;
		gap: clamp(1.5rem, 4vw, 2.25rem);
	}

	.vy-map {
		aspect-ratio: 16 / 11;
		max-width: 100%;
	}

	.vy-detail {
		width: 100%;
	}
}

@media (max-width: 560px) {
	.vy-pin__label {
		font-size: .62rem;
		padding: .2rem .45rem;
		max-width: min(9rem, 56vw);
	}

	.vy-detail {
		padding: var(--s-5);
	}
}

/* ---------- Region cards (at a glance) ---------- */
.vy-cards__grid {
	margin-top: var(--s-7);
}

.vy-card {
	height: 100%;
}

.vy-card .luxury-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
}

.vy-card__badge {
	position: absolute;
	top: var(--s-3);
	inset-inline-end: var(--s-3);
	background: var(--ink);
	color: var(--gold);
	font-family: var(--ff-body-en);
	font-weight: 700;
	font-size: .75rem;
	letter-spacing: .15em;
	padding: .3rem .7rem;
	border: 1px solid var(--gold);
	border-radius: 999px;
	text-transform: uppercase;
}

.vy-card__facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
	font-size: var(--fs-small);
	color: var(--ink-soft);
	line-height: 1.55;
}

.vy-card__facts strong {
	color: var(--gold-deep-acc);
	font-weight: 700;
	letter-spacing: .04em;
	margin-inline-end: .35rem;
}

@media (max-width: 1100px) {
	.vy-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.vy-cards__grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Terroir pillars ---------- */
.vy-pillars__grid {
	margin-top: var(--s-7);
}

.vy-pillar {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--s-3);
	padding: var(--s-6);
	border: 1px solid var(--gold-faint);
	border-radius: var(--lux-radius);
	background: var(--paper);
	transition: border-color var(--lux-trnst), transform var(--lux-trnst), box-shadow var(--lux-trnst);
}

.vy-pillar:hover {
	border-color: var(--gold);
	transform: translateY(-3px);
	box-shadow: var(--lux-shadow);
}

.vy-pillar__icon {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--gold-haze);
	color: var(--gold-deep-acc);
	border: 1px solid var(--gold-faint);
	border-radius: 50%;
	font-size: 1.2rem;
}

.vy-pillar h4 {
	font-family: var(--ff-display-en);
	font-size: 1.25rem;
	font-weight: 400;
	margin: 0;
	color: var(--ink);
}

body.ar .vy-pillar h4 {
	font-family: var(--ff-display-ar);
	font-weight: 700;
}

.vy-pillar p {
	margin: 0;
	color: var(--ink-soft);
	line-height: 1.65;
	font-size: var(--fs-body);
}

@media (max-width: 1100px) {
	.vy-pillars__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.vy-pillars__grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Quote band ---------- */
.vy-quote {
	position: relative;
	background-position: center;
	background-size: cover;
	background-image: var(--imgUrl, none);
	overflow: hidden;
}

.vy-quote__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 11, 15, .72) 0%, rgba(11, 11, 15, .88) 100%);
}

.vy-quote__inner {
	position: relative;
	z-index: 1;
	max-width: 54rem;
	margin: 0 auto;
	color: var(--paper);
}

.vy-quote__mark {
	font-size: 2rem;
	color: var(--gold);
	margin-bottom: var(--s-4);
	display: inline-block;
}

.vy-quote__text p {
	font-family: var(--ff-display-en);
	font-size: clamp(1.4rem, 2.6vw, 2.1rem);
	line-height: 1.45;
	font-style: italic;
	margin: 0;
	color: var(--paper);
}

body.ar .vy-quote__text p {
	font-family: var(--ff-display-ar);
	font-style: normal;
	font-weight: 700;
}

.vy-quote__attr {
	margin-top: var(--s-4);
	font-size: var(--fs-small);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gold);
	font-style: normal;
}

body.ar .vy-quote__attr {
	text-transform: none;
	letter-spacing: 0;
}

/* ---------- Closing CTA ---------- */
.vy-cta .hero-cta-row {
	justify-content: center;
	margin-top: var(--s-5);
}

.vy-cta__lede {
	max-width: 42rem;
	margin: 0 auto var(--s-5);
	color: var(--ink-soft);
	font-size: var(--fs-lede);
	line-height: var(--lh-body);
}

/* =============================================================================
 *  UI POLISH & PROFESSIONAL REFINEMENTS
 *  ---------------------------------------------------------------------------
 *  Comprehensive improvements for spacing, typography, cards, buttons, forms,
 *  footer, responsive breakpoints, and visual separation between sections.
 *  Applied globally across all pages that include custom.css.
 * ===========================================================================*/

/* ---------- 1. GLOBAL SECTION SPACING & SEPARATION ---------- */

/* Increase vertical padding on all standard sections for breathing room */
section:not(.hero-slider):not(.hero-page):not(.hero-luxury) {
	padding-block: clamp(4rem, 8vw, 7rem);
}

/* Visual separator between adjacent light sections */
main>section+section {
	border-top: 1px solid rgba(0, 0, 0, .06);
}

main>.section-luxury--dark+section,
main>section+.section-luxury--dark {
	border-top: none;
}

/* Container max-width increase for better use of widescreen space */
.container {
	max-width: 74rem;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

/* ---------- 2. ENHANCED TYPOGRAPHY READABILITY ---------- */

/* Body text — slightly larger and more relaxed for readability */
main p,
main li,
main dd {
	font-size: clamp(.95rem, 1.1vw, 1.1rem);
	line-height: 1.75;
}

/* Hero page titles (sub-pages like About, Contact, etc.) */
.hero-page h1 {
	font-size: clamp(2.2rem, 5vw, 3.6rem);
	letter-spacing: .02em;
	text-shadow: 0 4px 32px rgba(0, 0, 0, .4);
}

/* Section pre-titles (h5 used as category labels) */
h5 {
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--primary, #dcbe84);
	margin-bottom: 1.2rem;
}

/* Eyebrow text — bigger for better hierarchy signal */
.eyebrow {
	font-size: clamp(.72rem, .9vw, .85rem);
	margin-bottom: var(--s-4, 1rem);
}

/* Section headings — generous bottom margin for separation from content */
.section-heading {
	margin-bottom: var(--s-5, 1.5rem);
}

/* Divider gold — slightly wider for visual weight */
.divider-gold {
	width: 72px;
	height: 2px;
	margin-top: var(--s-3, .75rem);
	margin-bottom: var(--s-6, 2rem);
}

/* ---------- 3. ENHANCED CARDS ---------- */

/* Give cards more padding and a subtle shadow even at rest */
.luxury-card__body {
	padding: var(--s-6, 2rem) var(--s-5, 1.5rem);
	gap: var(--s-4, 1rem);
}

/* Card title size bump */
.luxury-card__title {
	font-size: clamp(1.3rem, 2vw, 1.65rem);
	line-height: 1.3;
}

/* Card meta text — slightly larger for readability */
.luxury-card__meta {
	font-size: .92rem;
	letter-spacing: .02em;
}

/* Card lede/description text */
.luxury-card__lede,
.collection-card .luxury-card__lede {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--ink-soft, #1A1A1F);
}

/* Rest-state subtle shadow on cards */
.luxury-card {
	box-shadow: 0 4px 20px -8px rgba(0, 0, 0, .08);
}

/* Stronger hover state */
.luxury-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 60px -16px rgba(0, 0, 0, .18);
}

/* Story card caption — slightly larger */
.story-card__caption {
	font-size: .95rem !important;
	line-height: 1.6;
}

/* ---------- 4. ENHANCED BUTTONS ---------- */

/* Primary luxury button — larger touch target and bolder presence */
.btn-luxury,
.btn-outline-gold {
	padding: 1rem 2.2rem;
	font-size: clamp(.78rem, .9vw, .88rem);
	font-weight: 700;
	letter-spacing: .2em;
	min-height: 52px;
}

body.ar .btn-luxury,
body.ar .btn-outline-gold {
	font-size: clamp(.88rem, 1vw, 1rem);
	letter-spacing: .08em;
	min-height: 52px;
}

/* Button hover lift effect */
.btn-luxury:hover,
.btn-outline-gold:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px -8px rgba(212, 175, 55, .3);
}

/* Standard .btn buttons — also improved */
a.btn,
button.btn,
main button[type="submit"] {
	padding: 1.1rem 2.2rem;
	font-size: .88rem;
	letter-spacing: .1em;
	border-radius: 2px;
	cursor: pointer;
}

/* ---------- 5. ENHANCED FORM FIELDS ---------- */

/* Input fields — taller, more padding, better border */
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
	padding: 1rem 1.2rem;
	font-size: 1rem;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 3px;
	margin-bottom: 1.8rem;
	transition: border-color .3s ease, box-shadow .3s ease;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
	border-color: var(--gold, var(--primary, #dcbe84));
	box-shadow: 0 0 0 3px rgba(212, 175, 55, .12);
	outline: none;
}

/* Labels — better size and spacing */
label {
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	margin-bottom: .5rem;
	color: var(--ink, #0B0B0F);
}

/* Checkbox and radio alignment fix */
.flex input[type="checkbox"],
.flex input[type="radio"] {
	margin-top: .15rem;
	margin-inline-end: .5rem;
}

/* ---------- 6. HERO SECTIONS POLISH ---------- */

/* Hero slider minimum height on all devices */
.hero-slider {
	min-height: max(45rem, 100vh);
}

/* Hero CTA / type polish lives with .hero-luxury rules above */

/* ---------- 7. ABOUT PREVIEW SECTION ---------- */

.about-preview {
	padding-block: clamp(5rem, 10vw, 8rem);
}

.about-preview__text {
	font-size: clamp(1.05rem, 1.3vw, 1.2rem);
	line-height: 1.85;
}

.about-preview__media img {
	border-radius: 4px;
	box-shadow: 0 20px 60px -16px rgba(0, 0, 0, .2);
}

/* ---------- 8. HARVEST CALENDAR POLISH ---------- */

.harvest-calendar {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.harvest-phase__icon {
	width: 64px;
	height: 64px;
	font-size: 1.6rem;
}

.harvest-phase__name {
	font-size: clamp(.78rem, .9vw, .88rem);
}

body.ar .harvest-phase__name {
	font-size: clamp(.88rem, 1vw, 1.05rem);
}

.harvest-phase__season {
	font-size: .9rem;
}

/* ---------- 9. VINEYARDS & PARTNERSHIP TEASER ---------- */

.vineyards-teaser:not(.vineyards-map-showcase):not(.vineyards-accordion-section),
.partnership-cta {
	padding-block: clamp(5rem, 10vw, 9rem);
}

.vineyards-teaser:not(.vineyards-map-showcase):not(.vineyards-accordion-section) .vineyards-teaser__lede,
.partnership-cta__lede {
	font-size: clamp(1.05rem, 1.3vw, 1.2rem);
	line-height: 1.85;
	max-width: 52rem;
}

/* ---------- 10. GUARDIANS TEASER ---------- */

.guardians-teaser {
	padding-block: clamp(5rem, 10vw, 8rem);
}

.guardians-teaser__quote blockquote p {
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	line-height: 1.5;
}

.guardians-teaser__quote figcaption {
	font-size: .95rem;
	margin-top: var(--s-4, 1rem);
}

.guardians-teaser__media img {
	border-radius: 4px;
	box-shadow: 0 20px 60px -16px rgba(0, 0, 0, .2);
}

/* ---------- 11. STORIES SECTION ---------- */

.preview-stories {
	padding-block: clamp(5rem, 10vw, 8rem);
}

.story-card .luxury-card__body {
	padding: var(--s-5, 1.5rem);
}

.story-card .luxury-card__title {
	font-size: clamp(1.15rem, 1.6vw, 1.4rem);
}

/* YouTube Shorts embed wrapper — 9:16 aspect ratio */
.story-card__video-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: 6px 6px 0 0;
	background: #0B0B0F;
}

.story-card__video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	border-radius: 6px 6px 0 0;
}

/* Subtle gold glow on hover */
.story-card:hover .story-card__video-wrap {
	box-shadow: 0 0 20px -4px rgba(212, 175, 55, .25);
}

/* Disable the card hover lift for video cards (let iframe be interactive) */
.story-card:hover {
	transform: translateY(-4px);
}

/* ---------- 12. FOOTER COMPREHENSIVE POLISH ---------- */

footer {
	padding-block: clamp(4rem, 8vw, 6rem) clamp(2rem, 4vw, 3rem);
}

footer .container {
	max-width: 74rem;
}

footer h3 {
	font-size: clamp(1.1rem, 1.5vw, 1.35rem);
	margin-bottom: 1.8rem;
	color: var(--primary, #dcbe84);
}

footer h4 {
	font-size: clamp(1rem, 1.3vw, 1.2rem);
	line-height: 1.5;
	margin-bottom: 1.5rem;
}

footer p {
	font-size: .95rem;
	line-height: 1.75;
	color: rgba(255, 255, 255, .75);
}

footer a {
	transition: color .3s ease;
}

footer a:hover {
	color: var(--primary, #dcbe84);
	text-decoration: none;
}

footer ul.li li {
	margin-bottom: 1rem;
	font-size: .95rem;
	line-height: 1.6;
}

footer ul.li li i {
	margin-inline-end: .6rem;
	color: var(--primary, #dcbe84);
	width: 1.2rem;
}

/* Footer social icons — larger touch targets */
footer .flex a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 50%;
	transition: all .35s ease;
}

footer .flex a:hover {
	border-color: var(--gold, var(--primary, #dcbe84));
	background: rgba(212, 175, 55, .1);
	transform: translateY(-2px);
	text-decoration: none;
}

footer .flex a i {
	font-size: 1rem;
	color: rgba(255, 255, 255, .7);
	transition: color .35s ease;
}

footer .flex a:hover i {
	color: var(--gold, var(--primary, #dcbe84));
}

/* Footer newsletter — improved layout */
footer:not(.site-footer) form:not(.footer-newsletter) {
	display: flex;
	gap: .5rem;
	margin-top: 1.2rem;
}

footer:not(.site-footer) input[type="email"] {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .15);
	color: #fff;
	padding: .9rem 1rem;
	border-radius: 3px;
	font-size: .95rem;
	margin-bottom: 0;
}

footer:not(.site-footer) input[type="email"]:focus {
	border-color: var(--gold, var(--primary, #dcbe84));
	box-shadow: 0 0 0 3px rgba(212, 175, 55, .15);
}

footer:not(.site-footer) input[type="email"]::placeholder {
	color: rgba(255, 255, 255, .4);
}

footer:not(.site-footer) button[type="submit"] {
	white-space: nowrap;
	padding: .9rem 1.4rem;
	font-size: .78rem;
	background: var(--primary, #dcbe84);
	color: #000;
	border: 1px solid var(--primary, #dcbe84);
}

footer:not(.site-footer) button[type="submit"]:hover {
	background: transparent;
	color: var(--primary, #dcbe84);
}

/* Footer bottom bar — subtle separator */
footer>.container>.flex {
	padding-top: 2.5rem;
	margin-top: 2.5rem;
	border-top: 1px solid rgba(255, 255, 255, .08);
	align-items: center;
}

footer>.container>.flex>p {
	font-size: .85rem;
	color: rgba(255, 255, 255, .45);
}

/* ---------- 13. SCROLL-TO-TOP BUTTON ---------- */

#goTop {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border-radius: 50%;
	background: var(--gold, var(--primary, #dcbe84));
	color: var(--ink, #0B0B0F);
	font-size: 1rem;
	opacity: .85;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
	right: 2rem;
	bottom: 2rem;
}

#goTop:hover {
	opacity: 1;
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
	background: var(--gold, var(--primary, #dcbe84));
}

/* ---------- 14. PRELOADER POLISH ---------- */

#preload img {
	width: 12rem;
	animation: preload-pulse 1.5s ease-in-out infinite alternate;
}

@keyframes preload-pulse {
	from {
		opacity: .5;
		transform: scale(.96);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* ---------- 15. ORIGINAL PAGES (NON-LUXURY) IMPROVEMENTS ---------- */

/* About, Contact, Blog, Shop pages — improve their base sections */
.bg-light {
	background: var(--paper-warm, #FAF7F0);
}

/* White content panels inside sections — better padding */
.bg-white.p-10x100,
.flex-center.p-10x100,
.p-10x100 {
	padding: clamp(2rem, 6vw, 5rem) clamp(2rem, 6vw, 5rem);
}

/* Title line (decorative bar) — improved */
.title-line {
	width: 3.5rem;
	height: 2px;
	margin-bottom: 2.5rem;
	background: var(--gold, var(--primary, #dcbe84));
}

/* Card text — improved */
.card {
	padding: calc(var(--gap, 1rem) * 2.5);
	border-radius: 4px;
}

/* Grid gap — more breathing room */
.grid {
	gap: calc(var(--gap, 1rem) * 2.5);
}

/* FAQ questions — bigger, more clickable */
.faq .faq-question {
	padding: 1.5rem 6%;
}

.faq .faq-question h2 {
	font-size: clamp(1.1rem, 1.5vw, 1.35rem);
}

.faq .faq-answer {
	padding: 0 6%;
	font-size: 1rem;
	line-height: 1.8;
}

.faq[data-faq-opened=true] .faq-answer {
	padding: 1.5rem 6% 2rem;
}

/* Blockquote styling */
blockquote {
	padding: clamp(2rem, 5vw, 4rem);
}

blockquote h2 {
	font-size: clamp(1.3rem, 2.2vw, 1.8rem);
	line-height: 1.55;
}

/* ---------- 16. RESPONSIVE — MOBILE (≤ 640px) ---------- */

@media (max-width: 640px) {

	/* Tighter section padding on mobile */
	section:not(.hero-slider):not(.hero-page):not(.hero-luxury) {
		padding-block: clamp(3rem, 8vw, 4.5rem);
	}

	/* Hero adjustments */
	.hero-slider {
		min-height: max(36rem, 85vh);
	}

	.hero-luxury .hero-lede {
		font-size: .95rem;
		line-height: 1.65;
		max-width: 28rem;
	}

	.hero-cta-row {
		flex-direction: column;
		align-items: center;
		gap: .75rem;
	}

	.hero-cta-row .btn-luxury,
	.hero-cta-row .btn-outline-gold {
		width: auto;
		min-width: 12.5rem;
		max-width: 280px;
		justify-content: center;
	}

	/* Live tag repositioning */
	.hero-live-tag {
		top: auto;
		bottom: calc(var(--s-9, 6.5rem) + 2rem);
		inset-inline-end: auto;
		left: 50%;
		transform: translateX(-50%);
		font-size: .65rem;
	}

	/* Cards — full width */
	.collection-grid,
	.stories-grid {
		grid-template-columns: 1fr;
		gap: var(--s-5, 1.5rem);
	}

	/* Guardians teaser — stack */
	.guardians-teaser__grid {
		grid-template-columns: 1fr;
		gap: var(--s-6, 2rem);
	}

	.guardians-teaser__quote blockquote p {
		font-size: 1.2rem;
	}

	/* About preview — stack */
	.about-preview__grid {
		grid-template-columns: 1fr;
		gap: var(--s-6, 2rem);
	}

	/* Footer — single column on small screens */
	footer .grid.gtc-3 {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	footer:not(.site-footer) .logo img {
		width: 14rem;
	}

	/* Buttons — full width on small mobile */
	.btn-luxury,
	.btn-outline-gold {
		width: 100%;
		max-width: 360px;
		justify-content: center;
	}

	/* Content panels */
	.p-10x100 {
		padding: 2rem 1.5rem;
	}

	/* Harvest calendar — stack 2×2 */
	.harvest-strip {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 2.5rem;
	}

	.harvest-phase__icon {
		width: 52px;
		height: 52px;
		font-size: 1.3rem;
	}

	/* Partnership CTA row */
	.partnership-cta__row {
		flex-direction: column;
		align-items: center;
	}

	.partnership-cta__row .btn-luxury,
	.partnership-cta__row .btn-outline-gold {
		width: 100%;
		max-width: 320px;
	}
}

/* ---------- 17. RESPONSIVE — TABLET (641px–1099px) ---------- */

@media (min-width: 641px) and (max-width: 1099px) {

	/* Section spacing — moderate */
	section:not(.hero-slider):not(.hero-page):not(.hero-luxury) {
		padding-block: clamp(4rem, 8vw, 6rem);
	}

	/* Cards — 2-column on tablet */
	.collection-grid,
	.stories-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--s-5, 1.5rem);
	}

	/* Footer — 2 column on tablet */
	footer .grid.gtc-3 {
		grid-template-columns: repeat(2, 1fr);
		gap: 2.5rem;
	}
}

/* ---------- 18. RESPONSIVE — LARGE DESKTOP (≥ 1400px) ---------- */

@media (min-width: 1400px) {
	.container {
		max-width: 80rem;
	}

	/* Hero — keep luxury restraint on large screens */
	.hero-luxury .hero-title {
		font-size: clamp(2.1rem, 3.2vw, 3.4rem);
	}

	.hero-luxury .hero-lede {
		font-size: 1.08rem;
	}

	/* Cards grid — more gap */
	.collection-grid,
	.stories-grid {
		gap: var(--s-7, 3rem);
	}
}

/* ---------- 19. SMOOTH MICRO-ANIMATIONS ---------- */

/* Subtle fade-in for sections when they appear */
.section-luxury,
.bg-light,
.bg-black {
	animation: section-reveal .8s ease-out;
}

@keyframes section-reveal {
	from {
		opacity: .8;
	}

	to {
		opacity: 1;
	}
}

/* Image hover zoom across all pages */
main img:not(.hero-slide__img):not(.logo img):not(header img) {
	transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}

/* Focus-visible for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--gold, var(--primary, #dcbe84));
	outline-offset: 3px;
	border-radius: 2px;
}

/* ---------- 20. PRINT STYLES ---------- */

@media print {

	header,
	nav,
	footer,
	#goTop,
	.hero-live-tag,
	.scroll-indicator,
	.nav-toggle,
	.nav-overlay {
		display: none !important;
	}

	body {
		font-size: 12pt;
		line-height: 1.5;
		color: #000;
		background: #fff;
	}

	main section {
		page-break-inside: avoid;
		padding: 1cm 0;
	}
}

/* =============================================================================
 *  أصل العنب — PREMIUM UI/UX REDESIGN LAYER
 *  ---------------------------------------------------------------------------
 *  Modern Heritage Luxury visual enhancements. All CSS-only additions that
 *  overlay on top of the existing design system. No HTML changes required.
 *  Inspired by heritage-wine (dark premium polish), vineyard (elegant serif
 *  decorations), and the existing gold accent identity.
 * ===========================================================================*/

/* ─────────────── ENHANCED DESIGN TOKENS ─────────────── */
:root {
	/* Grape-inspired accent palette */
	--grape-deep: #2D1B4E;
	--grape-mist: rgba(45, 27, 78, .06);
	--vine-green: #3A5A40;

	/* Premium gradients — soft vignette: denser behind copy, airy elsewhere */
	--gradient-hero:
		radial-gradient(ellipse 85% 65% at 50% 48%,
			rgba(11, 11, 15, .52) 0%,
			rgba(11, 11, 15, .22) 48%,
			rgba(11, 11, 15, .08) 72%,
			transparent 100%),
		linear-gradient(180deg,
			rgba(11, 11, 15, .38) 0%,
			rgba(11, 11, 15, .12) 32%,
			rgba(11, 11, 15, .18) 62%,
			rgba(11, 11, 15, .5) 100%);
	--royal-green: #1F3D2B;
	--gradient-gold: linear-gradient(135deg, #D4AF37 0%, #F0D879 50%, #D4AF37 100%);
	--gradient-gold-text: linear-gradient(135deg, #D4AF37 0%, #F5E6A3 40%, #D4AF37 100%);
	--gradient-card: linear-gradient(180deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(212, 175, 55, .03) 100%);
	--gradient-dark-section: linear-gradient(180deg,
			#0B0B0F 0%,
			#151520 50%,
			#0B0B0F 100%);

	/* Glassmorphism tokens */
	--glass-bg: rgba(255, 255, 255, .04);
	--glass-border: rgba(255, 255, 255, .08);
	--glass-bg-light: rgba(255, 255, 255, .65);
	--glass-border-light: rgba(212, 175, 55, .12);
	--glass-blur: 16px;

	/* Enhanced shadow scale */
	--shadow-xs: 0 1px 3px rgba(0, 0, 0, .04);
	--shadow-sm: 0 4px 12px rgba(0, 0, 0, .06);
	--shadow-md: 0 8px 32px rgba(0, 0, 0, .08);
	--shadow-lg: 0 16px 48px rgba(0, 0, 0, .12);
	--shadow-xl: 0 24px 64px rgba(0, 0, 0, .16);
	--shadow-gold: 0 8px 32px rgba(212, 175, 55, .15);
	--shadow-gold-hover: 0 12px 40px rgba(212, 175, 55, .25);

	/* Border radius tokens */
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 12px;
	--radius-xl: 20px;
	--radius-pill: 999px;
}

/* ─────────────── GLASSMORPHISM UTILITIES ─────────────── */
.glass-panel {
	background: var(--glass-bg);
	backdrop-filter: blur(var(--glass-blur));
	-webkit-backdrop-filter: blur(var(--glass-blur));
	border: 1px solid var(--glass-border);
	border-radius: var(--radius-md);
}

.glass-panel--light {
	background: var(--glass-bg-light);
	backdrop-filter: blur(var(--glass-blur));
	-webkit-backdrop-filter: blur(var(--glass-blur));
	border: 1px solid var(--glass-border-light);
	border-radius: var(--radius-md);
}

/* ─────────────── ENHANCED NAVBAR ─────────────── */

/* Glassmorphism backdrop on default state */
@media (min-width: 1100px) {
	nav#navbar {
		backdrop-filter: blur(14px) saturate(1.4);
		-webkit-backdrop-filter: blur(14px) saturate(1.4);
		border-bottom: 1px solid rgba(255, 255, 255, .06);
	}

	/* Gold dot indicator for active link */
	nav#navbar>ul:not(.lang):not(.secondary)>li>a.active::before {
		content: "";
		position: absolute;
		bottom: calc(var(--nav-link-padding-y) - 12px);
		left: 50%;
		transform: translateX(-50%);
		width: 4px;
		height: 4px;
		background: var(--gold, #D4AF37);
		border-radius: 50%;
		box-shadow: 0 0 8px rgba(212, 175, 55, .5);
	}

	/* Sticky state border refinement */
	body.is-sticky nav#navbar {
		border-bottom: 1px solid rgba(0, 0, 0, .06);
	}
}

/* ─────────────── ENHANCED BUTTONS ─────────────── */

/* Primary luxury button — gold gradient with glow */
.btn-luxury {
	background: var(--gradient-gold) !important;
	background-size: 200% 100%;
	color: var(--ink, #0B0B0F) !important;
	border: none !important;
	border-radius: var(--radius-sm);
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	position: relative;
	overflow: hidden;
	transition: all .4s cubic-bezier(.19, 1, .22, 1);
	box-shadow: var(--shadow-gold);
}

.btn-luxury::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .25), transparent);
	transition: left .6s ease;
}

.btn-luxury:hover {
	background-position: 100% 0;
	box-shadow: var(--shadow-gold-hover);
	transform: translateY(-2px);
	text-decoration: none !important;
}

.btn-luxury:hover::before {
	left: 100%;
}

/* Outline gold button — refined */
.btn-outline-gold {
	background: transparent !important;
	color: var(--gold, #D4AF37) !important;
	border: 1.5px solid var(--gold, #D4AF37) !important;
	border-radius: var(--radius-sm);
	position: relative;
	overflow: hidden;
	transition: all .4s cubic-bezier(.19, 1, .22, 1);
}

.btn-outline-gold::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0;
	background: var(--gold, #D4AF37);
	transition: height .35s ease;
	z-index: -1;
}

.btn-outline-gold:hover {
	color: var(--ink, #0B0B0F) !important;
	border-color: var(--gold, #D4AF37) !important;
	box-shadow: var(--shadow-gold);
	text-decoration: none !important;
}

.btn-outline-gold:hover::before {
	height: 100%;
}

/* ─────────────── ENHANCED CARDS ─────────────── */

/* Luxury cards — glassmorphism border + hover effects */
.luxury-card {
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: transform .5s cubic-bezier(.19, 1, .22, 1),
		box-shadow .5s cubic-bezier(.19, 1, .22, 1);
	position: relative;
}

/* Subtle gold border at bottom */
.luxury-card::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 10%;
	right: 10%;
	height: 2px;
	background: var(--gradient-gold);
	opacity: 0;
	transition: opacity .4s ease, left .4s ease, right .4s ease;
}

.luxury-card:hover::after {
	opacity: 1;
	left: 0;
	right: 0;
}

/* Card image zoom on hover */
.luxury-card__media {
	overflow: hidden;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.luxury-card__media img {
	transition: transform .8s cubic-bezier(.19, 1, .22, 1) !important;
}

.luxury-card:hover .luxury-card__media img {
	transform: scale(1.06);
}

/* Dark card variant — add inner glow */
.luxury-card--dark {
	background: linear-gradient(180deg, #141418 0%, #0f0f14 100%);
	border: 1px solid rgba(212, 175, 55, .08);
}

.luxury-card--dark:hover {
	border-color: rgba(212, 175, 55, .2);
	box-shadow: 0 20px 60px -16px rgba(0, 0, 0, .4),
		0 0 40px -20px rgba(212, 175, 55, .12);
}

/* ─────────────── ENHANCED HERO SECTION ─────────────── */

/* Premium gradient overlay instead of flat black */
.hero-slider .hero-content>.overlay,
.hero-luxury .hero-overlay {
	background: var(--gradient-hero) !important;
}

/* Soft gold atmosphere only — no purple haze over the cinema */
.hero-luxury::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background: radial-gradient(ellipse 70% 50% at 50% 100%,
			rgba(212, 175, 55, .08) 0%,
			transparent 60%);
	opacity: .7;
}

.hero-luxury::after {
	content: none;
}

/* Hero eyebrow — quiet brand mark, not a badge */
.hero-eyebrow {
	display: inline-block;
	padding: 0;
	background: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 0;
	border-radius: 0;
	font-size: .7rem !important;
	letter-spacing: .22em;
	opacity: .95;
}

/* Hero title — light depth without crushing the image */
.hero-title {
	text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
}

/* Live tag — enhanced pulse */
.hero-live-tag {
	background: rgba(212, 175, 55, .12) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(212, 175, 55, .25);
	border-radius: var(--radius-pill);
}

.hero-live-tag::before {
	animation: livePulse 2s ease-in-out infinite !important;
}

@keyframes livePulse {

	0%,
	100% {
		opacity: 1;
		box-shadow: 0 0 0 0 rgba(212, 175, 55, .5);
	}

	50% {
		opacity: .7;
		box-shadow: 0 0 0 6px rgba(212, 175, 55, 0);
	}
}

/* Scroll indicator — enhanced glow */
.scroll-indicator::after {
	box-shadow: 0 0 12px rgba(212, 175, 55, .3);
}

/* ─────────────── ABOUT PREVIEW SECTION ─────────────── */

/* Decorative gold frame offset on the image */
.about-preview__media {
	position: relative;
}

.about-preview__media::before {
	content: "";
	position: absolute;
	top: -12px;
	left: -12px;
	right: 12px;
	bottom: 12px;
	border: 2px solid rgba(212, 175, 55, .2);
	border-radius: var(--radius-md);
	pointer-events: none;
	z-index: -1;
	transition: all .6s ease;
}

[dir="rtl"] .about-preview__media::before {
	left: 12px;
	right: -12px;
}

.about-preview__media:hover::before {
	top: -8px;
	left: -8px;
	right: 8px;
	bottom: 8px;
	border-color: rgba(212, 175, 55, .4);
}

[dir="rtl"] .about-preview__media:hover::before {
	left: 8px;
	right: -8px;
}

.about-preview__media img {
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
	transition: transform .6s cubic-bezier(.19, 1, .22, 1),
		box-shadow .6s ease;
}

.about-preview__media:hover img {
	transform: scale(1.02);
	box-shadow: var(--shadow-xl);
}

/* Gold accent bar divider */
.divider-gold {
	background: var(--gradient-gold) !important;
	border: none;
	height: 2px;
	border-radius: 2px;
}

/* ─────────────── HARVEST CALENDAR SECTION ─────────────── */

/* Dark section with subtle gradient */
.harvest-calendar {
	background: var(--gradient-dark-section);
}

/* Phase cards — glassmorphism */
.harvest-phase {
	background: var(--glass-bg);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid var(--glass-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem 1rem;
	transition: all .4s ease;
}

.harvest-phase:hover {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(212, 175, 55, .2);
	transform: translateY(-4px);
}

/* Active phase — gold glow */
.harvest-phase.is-active {
	background: rgba(212, 175, 55, .08);
	border-color: rgba(212, 175, 55, .3);
	box-shadow: 0 0 30px -10px rgba(212, 175, 55, .2);
}

/* Phase icon — gold glow for active */
.harvest-phase.is-active .harvest-phase__icon {
	box-shadow: 0 0 20px -4px rgba(212, 175, 55, .4);
}

/* Gold connector line between phases */
.harvest-strip {
	position: relative;
}

/* ─────────────── COLLECTION PREVIEW SECTION ─────────────── */

/* Warm section background */
.collection-preview {
	background: linear-gradient(180deg, var(--paper-warm, #FAF7F0) 0%, #fff 100%);
}

/* Collection cards — enhanced hover */
.collection-card {
	box-shadow: var(--shadow-sm);
	border: 1px solid rgba(0, 0, 0, .04);
	background: #fff;
	border-radius: var(--radius-md);
}

.collection-card:hover {
	box-shadow: var(--shadow-lg), var(--shadow-gold);
	border-color: rgba(212, 175, 55, .12);
}

/* ─────────────── VINEYARDS TEASER SECTION ─────────────── */

/* Legacy photo/overlay treatment — skipped for accordion / map showcase */
.vineyards-teaser:not(.vineyards-map-showcase):not(.vineyards-accordion-section) .vineyards-teaser__overlay {
	background: linear-gradient(180deg,
			rgba(11, 11, 15, .6) 0%,
			rgba(45, 27, 78, .4) 50%,
			rgba(11, 11, 15, .75) 100%) !important;
}

.vineyards-teaser:not(.vineyards-map-showcase):not(.vineyards-accordion-section) .vineyards-teaser__lede {
	text-shadow: 0 2px 16px rgba(0, 0, 0, .3);
}

/* Accordion vineyards — solid forest canvas, no legacy bg-img */
.vineyards-teaser.vineyards-accordion-section,
section#vineyards-teaser.vineyards-accordion-section {
	background: #0A1F13 !important;
	background-color: #0A1F13 !important;
	background-image: none !important;
	color: rgba(245, 235, 214, .92);
}

/* Stale map showcase hooks (kept inert if class reappears) */
.vineyards-teaser.vineyards-map-showcase,
section#vineyards-teaser.vineyards-map-showcase {
	background: #0A1F13 !important;
	background-color: #0A1F13 !important;
	background-image: none !important;
	color: rgba(245, 235, 214, .92);
}

.vineyards-teaser.vineyards-map-showcase .vineyards-teaser__overlay {
	display: none !important;
}

/* ─────────────── GUARDIANS TEASER SECTION ─────────────── */

/* Quote styling — decorative serif marks */
.guardians-teaser__quote blockquote {
	position: relative;
	padding-left: 2rem;
}

[dir="rtl"] .guardians-teaser__quote blockquote {
	padding-left: 0;
	padding-right: 2rem;
}

.guardians-teaser__quote blockquote::before {
	content: "\201C";
	position: absolute;
	top: -1.5rem;
	left: 0;
	font-family: 'Prata', 'Amiri', serif;
	font-size: 4rem;
	color: var(--gold, #D4AF37);
	opacity: .3;
	line-height: 1;
}

[dir="rtl"] .guardians-teaser__quote blockquote::before {
	left: auto;
	right: 0;
}

body.ar .guardians-teaser__quote blockquote::before {
	content: "\201D";
}

/* Guardian image — enhanced styling */
.guardians-teaser__media img {
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
	border: 1px solid rgba(212, 175, 55, .08);
	transition: transform .6s ease, box-shadow .6s ease;
}

.guardians-teaser__media:hover img {
	transform: scale(1.02);
	box-shadow: var(--shadow-xl);
}

/* ─────────────── STORIES / YOUTUBE SECTION ─────────────── */

/* Dark section gradient — skipped for cinematic live-stories stage */
.preview-stories:not(.live-stories) {
	background: var(--gradient-dark-section);
}

section#preview-stories.live-stories {
	background: #0A1F13 !important;
	background-image: none !important;
}

section#preview-stories.live-stories.live-stories-v2 {
	/* Atmosphere handled in preview-stories-v2.css (forest + gold wash) */
	background-color: #0A1F13 !important;
}

/* YouTube Shorts embed — fallback for no aspect-ratio support */
.story-card__video-wrap {
	position: relative;
	width: 100%;
	padding-bottom: 177.78%;
	/* 16/9 = 1.778 (9:16 inverted) */
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
	background: #0B0B0F;
	box-shadow: inset 0 0 30px rgba(0, 0, 0, .3);
}

/* When aspect-ratio is supported, remove padding hack */
@supports (aspect-ratio: 9 / 16) {
	.story-card__video-wrap {
		padding-bottom: 0;
	}
}

.story-card__video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

/* Story card hover — gold glow border */
.story-card {
	border: 1px solid rgba(212, 175, 55, .06);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: all .5s cubic-bezier(.19, 1, .22, 1);
}

.story-card:hover {
	border-color: rgba(212, 175, 55, .2);
	transform: translateY(-6px);
	box-shadow: 0 24px 60px -16px rgba(0, 0, 0, .4),
		0 0 40px -20px rgba(212, 175, 55, .15);
}

/* ─────────────── PARTNERSHIP CTA SECTION ─────────────── */

/* Cinematic overlay with grape tint */
.partnership-cta .partnership-cta__overlay {
	background: linear-gradient(180deg,
			rgba(45, 27, 78, .5) 0%,
			rgba(11, 11, 15, .65) 50%,
			rgba(11, 11, 15, .8) 100%) !important;
}

/* CTA inner content — subtle glass panel */
.partnership-cta__inner {
	position: relative;
}

.partnership-cta__lede {
	text-shadow: 0 2px 12px rgba(0, 0, 0, .3);
}

/* CTA button row — enhanced spacing */
.partnership-cta__row {
	display: flex;
	gap: var(--s-5, 1.5rem);
	justify-content: center;
	flex-wrap: wrap;
	margin-top: var(--s-6, 2rem);
}

/* ─────────────── ENHANCED FOOTER ─────────────── */

/* Footer top border — gold gradient line */
footer {
	position: relative;
	border-top: none !important;
}

footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 1px;
	background: var(--gradient-gold);
	opacity: .3;
}

/* Footer social icons — hover glow */
footer .flex a {
	transition: all .4s cubic-bezier(.19, 1, .22, 1);
}

footer .flex a:hover {
	border-color: var(--gold, #D4AF37);
	background: rgba(212, 175, 55, .1);
	box-shadow: 0 0 20px -4px rgba(212, 175, 55, .3);
	transform: translateY(-3px);
}

/* Footer newsletter input — enhanced (legacy footers only) */
footer:not(.site-footer) .footer-newsletter {
	display: flex;
	gap: .5rem;
	margin-top: 1.2rem;
}

footer:not(.site-footer) .footer-newsletter input[type="email"] {
	background: rgba(255, 255, 255, .04);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--radius-sm);
	color: #fff;
	transition: all .3s ease;
}

footer:not(.site-footer) .footer-newsletter input[type="email"]:focus {
	border-color: var(--gold, #D4AF37);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, .1);
}

/* ─────────────── PREMIUM ANIMATIONS ─────────────── */

/* Gold shimmer for section headings */
.section-heading {
	position: relative;
}

.section-heading--light {
	background: var(--gradient-gold-text);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Smooth section transitions */
.section-luxury {
	transition: background-color .6s ease;
}

/* Enhanced AOS fade-up with softer easing */
[data-aos="fade-up"] {
	transition-timing-function: cubic-bezier(.19, 1, .22, 1) !important;
}

/* Card lift micro-interaction */
.luxury-card,
.collection-card,
.story-card {
	transition: transform .5s cubic-bezier(.19, 1, .22, 1),
		box-shadow .5s cubic-bezier(.19, 1, .22, 1),
		border-color .4s ease;
}

/* Scroll-triggered accent line animation */
@keyframes accentLineReveal {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

.divider-gold {
	transform-origin: center;
	animation: accentLineReveal .8s ease-out;
}

/* Image parallax depth feel */
.about-preview__media,
.guardians-teaser__media {
	transition: transform .6s ease;
}

/* Selection style — brand gold */
::selection {
	background: rgba(212, 175, 55, .25);
	color: inherit;
}

/* Smooth scrollbar on WebKit */
::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: #0B0B0F;
}

::-webkit-scrollbar-thumb {
	background: rgba(212, 175, 55, .25);
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: rgba(212, 175, 55, .4);
}

/* ─────────────── RESPONSIVE REFINEMENTS ─────────────── */

@media (max-width: 640px) {

	.hero-luxury::before {
		opacity: .35;
	}

	.hero-inner {
		max-width: 100%;
		padding-inline: .25rem;
	}

	.hero-title {
		font-size: clamp(1.65rem, 7vw, 2.2rem);
		max-width: none;
	}

	body.ar .hero-title {
		max-width: none;
	}

	.hero-play-btn {
		width: 3.75rem;
		height: 3.75rem;
	}

	/* Simpler card effects on mobile */
	.luxury-card:hover,
	.collection-card:hover,
	.story-card:hover {
		transform: translateY(-3px);
	}

	/* About media frame — smaller offset */
	.about-preview__media::before {
		top: -6px;
		left: -6px;
		right: 6px;
		bottom: 6px;
	}

	[dir="rtl"] .about-preview__media::before {
		left: 6px;
		right: -6px;
	}

	/* YouTube Shorts — slightly smaller aspect ratio for compact mobile */
	.story-card__video-wrap {
		padding-bottom: 160%;
	}

	@supports (aspect-ratio: 9 / 16) {
		.story-card__video-wrap {
			padding-bottom: 0;
		}
	}
}

@media (min-width: 1400px) {
	.hero-inner {
		max-width: 48rem;
	}
}

/* =============================================================================
 * Hero chrome + luxury navigation refinement
 * Keeps secondary controls quiet so imagery, headline and CTAs lead.
 * ===========================================================================*/

/* Live status is a brand signature, not a button. */
.hero-live-tag,
.hero-live-tag:hover {
	gap: .55rem;
	padding: 0 !important;
	color: rgba(255, 255, 255, .78);
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none;
	font-size: .68rem;
	font-weight: 500;
	letter-spacing: .13em;
}

body.ar .hero-live-tag {
	font-size: .78rem;
	letter-spacing: .04em;
}

.hero-live-tag::before {
	width: 5px;
	height: 5px;
	flex: 0 0 5px;
	background: var(--gold-soft, #efd99a);
	animation: liveWhisper 2.8s ease-in-out infinite !important;
}

@keyframes liveWhisper {
	0%,
	100% {
		opacity: .48;
		box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
	}

	50% {
		opacity: 1;
		box-shadow: 0 0 0 3px rgba(212, 175, 55, .09);
	}
}

/* Minimal discover cue; only the arrow drifts. */
.scroll-indicator {
	bottom: 1.15rem;
	left: 50%;
	width: auto;
	height: auto;
	min-width: 7rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .18rem;
	color: rgba(255, 255, 255, .68);
	border: 0;
	border-radius: 0;
	transform: translateX(-50%);
	text-decoration: none;
	pointer-events: auto;
}

.scroll-indicator::before,
.scroll-indicator::after {
	display: none;
}

.scroll-indicator__arrow {
	display: block;
	color: var(--gold-soft, #efd99a);
	font-size: 1rem;
	font-weight: 300;
	line-height: 1;
	animation: scrollWhisper 2.8s ease-in-out infinite;
}

.scroll-indicator__label {
	font-family: var(--ff-body-en);
	font-size: .62rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
}

body.ar .scroll-indicator__label {
	font-family: var(--ff-body-ar);
	font-size: .72rem;
	letter-spacing: .04em;
	text-transform: none;
}

@keyframes scrollWhisper {
	0%,
	100% {
		opacity: .52;
		transform: translateY(0);
	}

	50% {
		opacity: .95;
		transform: translateY(3px);
	}
}

/* Desktop: six calm top-level destinations with generous breathing room. */
@media (min-width: 1100px) {
	header {
		height: var(--nav-h);
		padding-inline: clamp(2rem, 3.2vw, 4.5rem);
	}

	header a img,
	header .site-logo img {
		height: 48px;
	}

	nav#navbar {
		height: var(--nav-h);
		padding-inline: clamp(9rem, 12vw, 11.5rem) clamp(1.25rem, 2vw, 2.5rem);
		background: linear-gradient(180deg, rgba(7, 12, 9, .38), rgba(7, 12, 9, .12));
	}

	[dir="rtl"] nav#navbar {
		padding-inline: clamp(9rem, 12vw, 11.5rem) clamp(1.25rem, 2vw, 2.5rem);
	}

	nav#navbar:has(> ul.primary-nav),
	[dir="rtl"] nav#navbar:has(> ul.primary-nav) {
		padding-inline: clamp(12rem, 16vw, 16rem) clamp(2rem, 3.2vw, 4.5rem);
	}

	nav#navbar>ul.primary-nav {
		gap: clamp(.25rem, .7vw, .8rem);
	}

	nav#navbar>ul.primary-nav>li>a,
	nav#navbar>ul.primary-nav>li>.nav-discover-trigger {
		padding-inline: clamp(.7rem, 1vw, 1rem);
		white-space: nowrap;
	}

	nav#navbar>ul.primary-nav>li.has-submenu>.nav-discover-trigger::after {
		content: "";
		position: static;
		display: inline-block;
		width: .38rem;
		height: .38rem;
		margin-left: 0;
		margin-inline-start: .55rem;
		border: 0;
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		background: transparent;
		transform: translateY(-2px) rotate(45deg);
		transform-origin: center;
		transition: transform .35s ease;
	}

	nav#navbar>ul.primary-nav>li.has-submenu:hover>.nav-discover-trigger::after,
	nav#navbar>ul.primary-nav>li.has-submenu.active>.nav-discover-trigger::after {
		transform: translateY(1px) rotate(225deg);
	}

	nav#navbar>ul li.has-submenu ul.submenu {
		min-width: 245px;
		padding: .65rem !important;
		background: rgba(14, 25, 18, .97);
		border: 1px solid rgba(212, 175, 55, .16);
		border-top-color: rgba(212, 175, 55, .55);
		border-radius: 2px;
		box-shadow: 0 22px 55px rgba(0, 0, 0, .32);
	}

	nav#navbar>ul li.has-submenu ul.submenu li a,
	body.is-sticky nav#navbar>ul li.has-submenu ul.submenu li a,
	body.is-sticky nav#navbar>ul li.has-submenu ul.submenu li a span {
		padding: .65rem .9rem;
		color: rgba(255, 255, 255, .82);
	}

	nav#navbar>ul li.has-submenu ul.submenu li a:hover,
	nav#navbar>ul li.has-submenu ul.submenu li a:hover span {
		color: var(--gold-soft, #efd99a);
		background: rgba(212, 175, 55, .07);
	}

	/* Minimal language mark, with no pill treatment. */
	nav#navbar ul.lang {
		margin-inline-start: clamp(.7rem, 1.2vw, 1.25rem);
		padding-inline-start: clamp(.7rem, 1.2vw, 1.25rem);
	}

	nav#navbar ul.lang li #langToggle,
	body.is-sticky nav#navbar ul.lang li #langToggle {
		min-width: auto;
		height: auto;
		padding: .3rem 0;
		color: var(--nav-fg);
		background: transparent;
		border: 0;
		border-radius: 0;
		opacity: .78;
	}

	body.is-sticky nav#navbar ul.lang li #langToggle {
		color: var(--nav-fg-sticky);
	}

	body.is-sticky nav#navbar>ul.primary-nav>li>.nav-discover-trigger,
	body.is-sticky nav#navbar>ul.primary-nav>li>.nav-discover-trigger>span {
		color: var(--nav-fg-sticky);
	}

	body.is-sticky nav#navbar>ul.primary-nav>li>.nav-discover-trigger:hover,
	body.is-sticky nav#navbar>ul.primary-nav>li>.nav-discover-trigger:hover>span,
	body.is-sticky nav#navbar>ul.primary-nav>li.has-submenu.active>.nav-discover-trigger,
	body.is-sticky nav#navbar>ul.primary-nav>li.has-submenu.active>.nav-discover-trigger>span {
		color: var(--nav-fg-sticky-accent);
	}

	nav#navbar ul.lang li #langToggle:hover,
	body.is-sticky nav#navbar ul.lang li #langToggle:hover {
		color: var(--gold);
		background: transparent;
		opacity: 1;
	}
}

/* Tablet and mobile retain the existing drawer architecture, refined. */
@media (max-width: 1099.98px) {
	header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 72px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 clamp(4.75rem, 12vw, 7rem);
		background: linear-gradient(180deg, rgba(7, 12, 9, .46), transparent);
		z-index: 999;
	}

	header a img,
	header .site-logo img {
		width: auto;
		height: 46px;
		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .3));
	}

	.nav-toggle,
	[dir="rtl"] .nav-toggle {
		top: 14px;
		right: 16px;
		left: auto;
		width: 32px;
		height: 32px;
		padding: 7px 5px;
		margin: 0;
		background: transparent;
		border: none;
		border-radius: 0;
		transform: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		box-shadow: none;
	}

	.nav-toggle .bar1,
	.nav-toggle .bar2,
	.nav-toggle .bar3 {
		display: block;
		float: none;
		width: 100%;
		height: 1.5px;
		margin-block: 4px;
		background: #D4AF37;
		border-radius: 1px;
		opacity: .95;
	}

	[dir="rtl"] .nav-toggle {
		right: auto;
		left: 16px;
		transform: none;
	}

	.nav-toggle:hover,
	[dir="rtl"] .nav-toggle:hover {
		transform: none;
		background: transparent;
	}

	.nav-toggle:hover .bar2 {
		width: 100%;
		opacity: 1;
	}

	.nav-toggle[aria-expanded="true"],
	[dir="rtl"] .nav-toggle[aria-expanded="true"] {
		padding: 7px 5px;
		margin: 0;
		background: transparent;
	}

	.nav-toggle[aria-expanded="true"] .bar1,
	.nav-toggle[aria-expanded="true"] .bar2,
	.nav-toggle[aria-expanded="true"] .bar3,
	[dir="rtl"] .nav-toggle[aria-expanded="true"] .bar1,
	[dir="rtl"] .nav-toggle[aria-expanded="true"] .bar2,
	[dir="rtl"] .nav-toggle[aria-expanded="true"] .bar3 {
		background: #FFFFFF;
	}

	.nav-toggle[aria-expanded="true"]:hover,
	[dir="rtl"] .nav-toggle[aria-expanded="true"]:hover {
		padding: 7px 5px;
		margin: 0;
		background: transparent;
	}

	nav#navbar {
		width: min(88vw, 390px);
		height: 100dvh;
		justify-content: flex-start;
		padding: 5.75rem clamp(1.5rem, 6vw, 2.25rem) 2rem;
		background: rgba(10, 18, 13, .985);
		overflow-x: hidden;
	}

	nav#navbar ul {
		width: 100%;
		padding: 0;
	}

	nav#navbar ul.lang {
		order: -1;
		padding: 0 0 1.15rem;
		margin: 0 0 1rem;
		border-bottom: 1px solid rgba(212, 175, 55, .12);
	}

	nav#navbar ul.lang li {
		padding: 0;
	}

	nav#navbar ul.lang li #langToggle {
		display: inline-flex;
		padding: .2rem 0;
		color: rgba(255, 255, 255, .68);
		background: transparent;
		border: 0;
	}

	nav#navbar>ul.primary-nav>li {
		padding-block: .42rem;
		border-bottom: 1px solid rgba(255, 255, 255, .045);
	}

	nav#navbar>ul.primary-nav>li>a,
	nav#navbar>ul.primary-nav>li>.nav-discover-trigger {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: .25rem 0;
	}

	nav#navbar>ul.primary-nav>li.has-submenu>.nav-discover-trigger::after {
		content: "＋";
		margin-inline-start: 1rem;
		color: rgba(212, 175, 55, .75);
		font-size: .9rem;
		font-weight: 300;
		transition: transform .35s ease;
	}

	nav#navbar>ul.primary-nav>li.has-submenu.active>.nav-discover-trigger::after {
		transform: rotate(45deg);
	}

	nav#navbar>ul li.has-submenu ul.submenu {
		padding: 0;
		padding-inline-start: 1rem;
	}

	nav#navbar>ul li.has-submenu.active ul.submenu {
		padding-block: .65rem .25rem;
	}

	nav#navbar>ul li.has-submenu ul.submenu li {
		padding-block: .35rem;
	}

	nav#navbar>ul li.has-submenu ul.submenu li a,
	nav#navbar>ul li.has-submenu ul.submenu li a span {
		font-size: .92rem;
		color: rgba(255, 255, 255, .68);
	}

	.hero-live-tag {
		top: 88px;
		bottom: auto;
		inset-inline-end: clamp(1.25rem, 4vw, 2rem);
		left: auto;
		transform: none;
	}
}

@media (max-width: 767.98px) {
	.hero-content--luxury {
		padding-top: 8.5rem;
		padding-bottom: 5.5rem;
	}

	.hero-live-tag {
		top: 82px;
		inset-inline-end: auto;
		left: 50%;
		transform: translateX(-50%);
		white-space: nowrap;
	}

	.scroll-indicator {
		bottom: .8rem;
		min-width: 2rem;
	}

	.scroll-indicator__label {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-live-tag::before,
	.scroll-indicator__arrow {
		animation: none !important;
	}
}

/* ─────────────── REDUCED MOTION SAFETY ─────────────── */

@media (prefers-reduced-motion: reduce) {

	.hero-luxury::before,
	.hero-luxury::after {
		animation: none !important;
	}

	.btn-luxury::before {
		transition: none;
	}

	.luxury-card::after,
	.divider-gold {
		animation: none !important;
	}

	.luxury-card,
	.collection-card,
	.story-card {
		transition: none;
	}
}


/* =============================================================================
 * ═══════════════════════════════════════════════════════════════════════════════
 *  SUB-PAGE LUXURY IDENTITY LAYER
 *  Applies the gold-on-dark premium design system to pages:
 *  about, contact, shop, winery (guardians), blog (live stories)
 * ═══════════════════════════════════════════════════════════════════════════════
 * ===========================================================================*/


/* ─────────────── HERO PAGE SECTION — CINEMATIC IMMERSIVE ─────────────── */

.hero-page {
	min-height: 65vh;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* ── Background image layer ── */
.hero-page.bg-img {
	background-image: var(--imgUrl);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

@media (max-width: 768px) {
	.hero-page.bg-img {
		background-attachment: scroll;
		/* fixes mobile jitter */
	}
}

/* ── Cinematic overlay — gradient from dark → clear → dark ── */
.hero-page>.overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg,
			rgba(11, 11, 15, .82) 0%,
			rgba(11, 11, 15, .40) 45%,
			rgba(11, 11, 15, .70) 100%);
	pointer-events: none;
}

/* ── Bokeh / grain texture overlay (subtle) ── */
.hero-page::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		radial-gradient(circle at 25% 35%, rgba(212, 175, 55, .06) 0%, transparent 55%),
		radial-gradient(circle at 75% 65%, rgba(212, 175, 55, .04) 0%, transparent 50%);
	pointer-events: none;
}

/* ── Content container ── */
.hero-page>.container {
	position: relative;
	z-index: 3;
	text-align: center;
	padding: 2rem 1rem;
}

/* ── Eyebrow text — decorative label ── */
.hero-page .hero-eyebrow {
	display: block;
	color: #D4AF37;
	font-family: 'Mulish', sans-serif;
	font-weight: 800;
	font-size: .7rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin-bottom: 1rem;
	opacity: 0;
	animation: heroEyebrowIn .8s ease-out .3s forwards;
}

.ar .hero-page .hero-eyebrow {
	font-family: 'IBM Plex Sans Arabic', sans-serif;
	letter-spacing: .05em;
}

@keyframes heroEyebrowIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ── Main heading ── */
.hero-page h1 {
	color: #E8E2D4;
	text-shadow: 0 4px 30px rgba(0, 0, 0, .5);
	font-family: 'Prata', serif;
	font-size: clamp(2rem, 5vw, 3.5rem);
	letter-spacing: .04em;
	line-height: 1.3;
	margin-bottom: .75rem;
}

.ar .hero-page h1 {
	font-family: 'Amiri', serif;
	letter-spacing: 0;
	font-size: clamp(2.2rem, 5vw, 3.8rem);
}

/* ── Gold decorative divider under h1 ── */
.hero-page h1::after {
	content: '';
	display: block;
	width: 80px;
	height: 2px;
	background: linear-gradient(90deg, transparent, #D4AF37, transparent);
	margin: 1.2rem auto 0;
	animation: accentLineReveal .8s ease-out .6s both;
}

/* ── Subtitle / description ── */
.hero-page .hero-sub {
	color: rgba(232, 226, 212, .75);
	font-size: clamp(.9rem, 1.8vw, 1.1rem);
	line-height: 1.7;
	max-width: 600px;
	margin: 1rem auto 0;
	font-family: 'Mulish', sans-serif;
}

.ar .hero-page .hero-sub {
	font-family: 'IBM Plex Sans Arabic', sans-serif;
}

/* ── Scroll indicator — pulsing arrow ── */
.hero-page .hero-scroll {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	color: #D4AF37;
	font-size: 1rem;
	opacity: .6;
	animation: heroScroll 2s ease-in-out infinite;
	text-decoration: none;
}

@keyframes heroScroll {

	0%,
	100% {
		transform: translateX(-50%) translateY(0);
		opacity: .6;
	}

	50% {
		transform: translateX(-50%) translateY(8px);
		opacity: 1;
	}
}

/* ── Bottom gold border ── */
.hero-page::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, transparent 5%, #D4AF37 30%, #f1d88a 50%, #D4AF37 70%, transparent 95%);
	z-index: 4;
}


/* ─────────────── SUB-PAGE SECTION BACKGROUNDS ─────────────── */

/* Warm off-white with golden tint */
.bg-light {
	background: linear-gradient(180deg,
			#FAF8F3 0%,
			#F5F0E6 50%,
			#FAF8F3 100%) !important;
}

/* Deep night gradient for dark sections */
.bg-black {
	background: linear-gradient(180deg,
			#0B0B0F 0%,
			#141418 50%,
			#0B0B0F 100%) !important;
	color: #E8E2D4;
}

.bg-black h1,
.bg-black h2,
.bg-black h3 {
	color: #E8E2D4;
}


/* ─────────────── PRODUCT CARDS — TASTING CARD LUXURY ─────────────── */

.card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 0, 0, .06);
	transition: transform .4s ease, box-shadow .4s ease;
	position: relative;
}

.card::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, #D4AF37, #f1d88a, #D4AF37);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .4s ease;
}

.card:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 40px rgba(212, 175, 55, .12);
}

.card:hover::after {
	transform: scaleX(1);
}

.card .img {
	display: block;
	overflow: hidden;
	border-radius: 12px 12px 0 0;
}

.card .img img {
	transition: transform .6s ease;
}

.card:hover .img img {
	transform: scale(1.05);
}

.card h5.txt-primary {
	color: #D4AF37 !important;
	font-family: 'Mulish', sans-serif;
	font-weight: 800;
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-top: 1.5rem;
	padding: 0 1.5rem;
}

.ar .card h5.txt-primary {
	font-family: 'IBM Plex Sans Arabic', sans-serif;
	letter-spacing: 0;
}

.card h2 {
	font-family: 'Prata', serif;
	font-size: 1.35rem;
	color: #1A1A1F;
	padding: 0 1.5rem;
	margin-bottom: .5rem;
}

.ar .card h2 {
	font-family: 'Amiri', serif;
}

.card .title-line {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
}

.card p {
	padding: 0 1.5rem;
	font-size: .92rem;
	line-height: 1.7;
	color: #555;
}

.card .btn {
	margin: 1.5rem;
	display: inline-block;
}


/* ─────────────── CONTACT FORM — PREMIUM STYLING ─────────────── */

#contactform input,
#contactform textarea,
#partnershipform input,
#partnershipform textarea {
	border: 1px solid #e0ddd5;
	border-radius: 8px;
	padding: .85rem 1rem;
	font-size: .95rem;
	transition: border-color .3s ease, box-shadow .3s ease;
	background: #FDFCF9;
}

#contactform input:focus,
#contactform textarea:focus,
#partnershipform input:focus,
#partnershipform textarea:focus {
	border-color: #D4AF37;
	box-shadow: 0 0 0 3px rgba(212, 175, 55, .15);
	outline: none;
}

#contactform label,
#partnershipform label {
	font-weight: 600;
	font-size: .85rem;
	color: #1A1A1F;
	margin-bottom: .25rem;
}

#contactform button[type="submit"],
#partnershipform button[type="submit"] {
	background: linear-gradient(135deg, #D4AF37, #f1d88a, #D4AF37);
	background-size: 200% 200%;
	color: #0B0B0F;
	border: none;
	border-radius: 8px;
	padding: .85rem 2.5rem;
	font-weight: 700;
	letter-spacing: .05em;
	cursor: pointer;
	transition: background-position .4s ease, transform .2s ease;
}

#contactform button[type="submit"]:hover,
#partnershipform button[type="submit"]:hover {
	background-position: 100% 0;
	transform: translateY(-2px);
}


/* ─────────────── CONTACT INFO CARDS — GOLD ICON ACCENT ─────────────── */

.bg-black.txt-white .p-10x100 h2[class*="fa-"] {
	color: #D4AF37;
	font-size: 2rem;
}

.bg-black.txt-white .p-10x100 h3 {
	font-family: 'Prata', serif;
	font-size: 1.15rem;
	margin-bottom: .5rem;
}

.ar .bg-black.txt-white .p-10x100 h3 {
	font-family: 'Amiri', serif;
}

.bg-black.txt-white .p-10x100 a.txt-white {
	color: #D4AF37 !important;
	text-decoration: none;
	transition: opacity .3s;
}

.bg-black.txt-white .p-10x100 a.txt-white:hover {
	opacity: .8;
}


/* ─────────────── GUARDIAN PROFILES — PREMIUM CARDS ─────────────── */

.grid.gtc-3>div img {
	border-radius: 12px;
	transition: transform .5s ease;
}

.grid.gtc-3>div:hover img {
	transform: scale(1.03);
}

.grid.gtc-3>div h5.txt-primary {
	color: #D4AF37 !important;
	font-family: 'Mulish', sans-serif;
	font-weight: 800;
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ar .grid.gtc-3>div h5.txt-primary {
	font-family: 'IBM Plex Sans Arabic', sans-serif;
	letter-spacing: 0;
}

.grid.gtc-3>div h3.txt-black {
	font-family: 'Prata', serif;
	color: #1A1A1F;
}

.ar .grid.gtc-3>div h3.txt-black {
	font-family: 'Amiri', serif;
}

.grid.gtc-3>div p {
	font-style: italic;
	color: #555;
	line-height: 1.6;
}


/* ─────────────── BLOCKQUOTE — LUXURY TREATMENT ─────────────── */

blockquote.bg-black {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
}

blockquote.bg-black .overlay,
blockquote.bg-black::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(11, 11, 15, .75);
	z-index: 0;
}

blockquote.bg-black>div {
	position: relative;
	z-index: 1;
}

blockquote .txt-primary {
	color: #D4AF37 !important;
}

blockquote .txt-white {
	font-family: 'Prata', serif;
	font-size: 1.35rem;
	line-height: 1.8;
	font-weight: 400;
}

.ar blockquote .txt-white {
	font-family: 'Amiri', serif;
}

blockquote .fa-quote-left,
blockquote .fa-quote-right {
	font-size: 1.5rem;
	display: block;
}


/* ─────────────── PARTNERSHIP FORM — 2-COLUMN GRID ─────────────── */

#partnershipform .grid.gtc-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

@media (max-width: 640px) {
	#partnershipform .grid.gtc-2 {
		grid-template-columns: 1fr;
	}
}


/* ─────────────── FOOTER NEWSLETTER — PREMIUM STYLING (legacy footers only) ─────────────── */

footer:not(.site-footer) .footer-newsletter {
	display: flex;
	gap: .5rem;
	margin-top: 1rem;
}

footer:not(.site-footer) .footer-newsletter input[type="email"] {
	flex: 1;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(212, 175, 55, .25);
	border-radius: 6px;
	padding: .65rem .85rem;
	color: #E8E2D4;
	font-size: .85rem;
	transition: border-color .3s;
}

footer:not(.site-footer) .footer-newsletter input[type="email"]:focus {
	border-color: #D4AF37;
	outline: none;
}

footer:not(.site-footer) .footer-newsletter input[type="email"]::placeholder {
	color: rgba(232, 226, 212, .5);
}

.btn-luxury--compact {
	padding: .65rem 1.2rem;
	font-size: .8rem;
}


/* ─────────────── FOOTER SITEMAP — CLEAN LINKS ─────────────── */

.footer-sitemap {
	list-style: none;
	padding: 0;
}

.footer-sitemap li {
	padding: .3rem 0;
}

.footer-sitemap a {
	color: rgba(232, 226, 212, .7);
	text-decoration: none;
	font-size: .9rem;
	transition: color .3s;
}

.footer-sitemap a:hover {
	color: #D4AF37;
}


/* ─────────────── FOOTER MICROCOPY ─────────────── */

.footer-microcopy {
	font-style: italic;
	color: rgba(232, 226, 212, .5);
	font-size: .85rem;
}


/* ─────────────── SUB-PAGE CTA SECTION ─────────────── */

.translateY--7 {
	position: relative;
}

.translateY--7 h1 {
	font-family: 'Prata', serif;
	color: #1A1A1F;
}

.ar .translateY--7 h1 {
	font-family: 'Amiri', serif;
}


/* ─────────────── SECTION HEADING CONSISTENCY ─────────────── */

section h5:not(.txt-primary) {
	color: #D4AF37;
	font-family: 'Mulish', sans-serif;
	font-weight: 800;
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ar section h5:not(.txt-primary) {
	font-family: 'IBM Plex Sans Arabic', sans-serif;
	letter-spacing: 0;
}


/* ─────────────── SUB-PAGE RESPONSIVE REFINEMENTS ─────────────── */

@media (max-width: 768px) {
	.hero-page {
		min-height: 40vh;
	}

	.hero-page h1 {
		font-size: 1.8rem;
	}

	blockquote .txt-white {
		font-size: 1.1rem;
	}

	.card h2 {
		font-size: 1.15rem;
	}

	.grid.gtc-3 {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (min-width: 769px) and (max-width: 1100px) {
	.grid.gtc-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* ─────────────── PRELOAD LOGO — USE GOLD LOGO ─────────────── */

#preload img {
	max-width: 120px;
}


/* =========================================================================
   COLLECTION & STORIES PREMIUM LAYOUT OVERRIDES (INDEX.HTML FALLBACK)
   ========================================================================= */

.collection-card {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	background: rgba(11, 41, 24, 0.4) !important;
	border: 1px solid rgba(212, 175, 55, 0.12) !important;
	border-radius: var(--radius-md) !important;
	overflow: hidden !important;
	transition: all 0.45s cubic-bezier(.19, 1, .22, 1) !important;
}

.collection-card:hover {
	border-color: #D4AF37 !important;
	box-shadow: 0 15px 35px rgba(212, 175, 55, 0.15), 0 5px 15px rgba(0, 0, 0, 0.2) !important;
	transform: translateY(-6px) !important;
}

.collection-card .luxury-card__media {
	aspect-ratio: 4 / 3 !important;
	overflow: hidden !important;
	background: rgba(0, 0, 0, 0.2) !important;
}

.collection-card .luxury-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 1s cubic-bezier(.19, 1, .22, 1) !important;
}

.collection-card:hover .luxury-card__media img {
	transform: scale(1.06) !important;
}

.collection-card .luxury-card__body {
	padding: 2rem !important;
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
}

.collection-card .luxury-card__meta {
	font-size: 0.75rem !important;
	color: #E8D48B !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin-bottom: 0.5rem !important;
}

.collection-card .luxury-card__title {
	font-family: 'Amiri', serif !important;
	font-size: 1.5rem !important;
	color: #fff !important;
	margin-bottom: 1rem !important;
	line-height: 1.2 !important;
}

.collection-card .luxury-card__lede {
	font-size: 0.95rem !important;
	color: rgba(232, 226, 212, 0.85) !important;
	margin-bottom: 2rem !important;
	line-height: 1.6 !important;
	flex-grow: 1 !important;
}

.collection-card .luxury-card__cta {
	align-self: flex-start !important;
	padding: 0.75rem 2rem !important;
	font-size: 0.85rem !important;
	border-radius: 4px !important;
	text-decoration: none !important;
	transition: all 0.45s cubic-bezier(.19, 1, .22, 1) !important;
}

.story-card__video-wrap {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	padding-bottom: 0 !important;
	overflow: hidden !important;
	border-bottom: 2px solid rgba(212, 175, 55, 0.35) !important;
	background: #0B0B0F !important;
	cursor: pointer !important;
}

@supports not (aspect-ratio: 16 / 9) {
	.story-card__video-wrap {
		padding-bottom: 56.25% !important;
	}
}

.story-card__thumbnail {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.45s cubic-bezier(.19, 1, .22, 1) !important;
}

.story-card:hover .story-card__thumbnail {
	transform: scale(1.05) !important;
}

.story-card__overlay {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg, transparent 40%, rgba(11, 11, 15, 0.8) 100%) !important;
	opacity: 0.8 !important;
	transition: opacity 0.45s cubic-bezier(.19, 1, .22, 1) !important;
	z-index: 1 !important;
}

.story-card:hover .story-card__overlay {
	opacity: 0.95 !important;
}

.story-card__play-btn {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 60px !important;
	height: 60px !important;
	border-radius: 50% !important;
	background: rgba(11, 41, 24, 0.85) !important;
	border: 2px solid #D4AF37 !important;
	color: #D4AF37 !important;
	font-size: 1.5rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 3 !important;
	box-shadow: 0 0 15px rgba(212, 175, 55, 0.4) !important;
	transition: all 0.45s cubic-bezier(.19, 1, .22, 1) !important;
}

.story-card__play-btn::before {
	content: '' !important;
	position: absolute !important;
	inset: -6px !important;
	border-radius: 50% !important;
	border: 1px solid #D4AF37 !important;
	opacity: 0.5 !important;
	animation: playPulse 2s infinite !important;
}

.story-card:hover .story-card__play-btn {
	background: #D4AF37 !important;
	color: #0B0B0F !important;
	box-shadow: 0 0 25px rgba(212, 175, 55, 0.8) !important;
	transform: translate(-50%, -50%) scale(1.1) !important;
}

.story-card__video-wrap.is-playing .story-card__play-btn,
.story-card__video-wrap.is-playing .story-card__overlay,
.story-card__video-wrap.is-playing .story-card__thumbnail {
	display: none !important;
}

.story-card__video-wrap::before {
	content: '' !important;
	position: absolute !important;
	inset: 8px !important;
	border: 1px solid rgba(212, 175, 55, .2) !important;
	border-radius: 4px !important;
	z-index: 2 !important;
	pointer-events: none !important;
	transition: border-color 0.45s cubic-bezier(.19, 1, .22, 1) !important;
}

.story-card:hover .story-card__video-wrap::before {
	border-color: rgba(212, 175, 55, .5) !important;
}

.story-card__video-wrap iframe {
	width: 100% !important;
	height: 100% !important;
	border: none !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}