:root {
  --ink: #0b0a08;
  --ink-2: #13110e;
  --ink-3: #1b1813;
  --cream: #f3efe7;
  --paper: #ede7dc;
  --paper-2: #e3dacb;
  --gold: #d0a258;
  --gold-2: #a96f27;
  --gold-3: #75501f;
  --text: #eee7dc;
  --muted: #b8afa1;
  --dark-text: #181510;
  --dark-muted: #6f675d;
  --line: rgba(208,162,88,.33);
  --line-light: rgba(24,21,16,.16);
  --max: 1280px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--text); background: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.hidden { display: none !important; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 9999; transform: translateY(-160%); background: var(--cream); color: var(--ink); padding: 10px 16px; }
.skip-link:focus { transform: translateY(0); }

.trade-bar { position: relative; z-index: 60; border-bottom: 1px solid rgba(255,255,255,.08); background: #090806; color: #a9a093; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; }
.trade-bar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(208,162,88,.18); background: rgba(11,10,8,.92); backdrop-filter: blur(16px); transition: box-shadow .25s ease, background .25s ease; }
.site-header.is-scrolled { background: rgba(8,7,6,.97); box-shadow: 0 16px 42px rgba(0,0,0,.26); }
.nav-shell { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 14px; min-width: 220px; }
.brand__mark { width: 38px; height: 38px; color: var(--gold); flex: 0 0 auto; }
.brand__mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.45; }
.brand__copy { display: grid; line-height: 1; }
.brand__copy strong { font-family: var(--serif); color: #e7bd73; font-size: 24px; font-weight: 400; letter-spacing: .22em; }
.brand__copy small { margin-top: 7px; color: #9b9183; font-size: 8px; letter-spacing: .24em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: 30px; font-family: var(--serif); font-size: 13px; color: #d2c9bd; }
.primary-nav > a:not(.button) { position: relative; padding: 10px 0; }
.primary-nav > a:not(.button)::after { content: ""; position: absolute; left: 0; bottom: 4px; width: 100%; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.primary-nav > a:not(.button):hover::after { transform: scaleX(1); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); background: transparent; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.menu-toggle span { width: 19px; height: 1px; background: var(--gold); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 1px solid transparent; cursor: pointer; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--gold { color: #16120d; background: linear-gradient(135deg, #e2b965, #b5792d); border-color: #e3bd73; }
.button--gold:hover { background: linear-gradient(135deg, #efcb81, #c58b3d); }
.button--outline { border-color: var(--line); background: rgba(0,0,0,.12); color: var(--text); }
.button--outline:hover { border-color: var(--gold); }
.button--dark { background: #15120e; color: #f1e9dd; border-color: #15120e; }
.button--nav { min-height: 40px; padding-inline: 20px; font-size: 9px; font-family: var(--sans); }
.button--submit { width: 100%; min-height: 54px; }

.eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; color: #d6a955; font-size: 10px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.eyebrow span { width: 38px; height: 1px; background: currentColor; }
.eyebrow--dark { color: #986221; }
.section { position: relative; overflow: hidden; }
.section h2 { margin: 0; font-family: var(--serif); font-size: clamp(50px, 6vw, 86px); line-height: .98; font-weight: 400; letter-spacing: -.035em; }
.section h2 em { color: var(--gold); font-weight: 400; }
.text-link, .link-button { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; color: #d5a655; border: 0; border-bottom: 1px solid rgba(208,162,88,.45); background: none; padding: 0 0 10px; cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.text-link:hover, .link-button:hover { color: #efc97e; border-color: #efc97e; }

.hero { position: relative; min-height: 780px; display: flex; align-items: stretch; background: radial-gradient(circle at 72% 25%, rgba(107,76,37,.24), transparent 36%), linear-gradient(112deg, #080705 0%, #0c0b09 52%, #16130f 100%); }
.hero__grain, .harale__texture { position: absolute; inset: 0; pointer-events: none; opacity: .21; background-image: radial-gradient(rgba(255,255,255,.11) .5px, transparent .5px), linear-gradient(135deg, transparent 0 48%, rgba(255,255,255,.035) 49% 51%, transparent 52% 100%); background-size: 4px 4px, 140px 140px; mix-blend-mode: soft-light; }
.hero__grid { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; min-height: 780px; padding-block: 70px 82px; }
.hero__copy { position: relative; z-index: 2; padding-right: 62px; }
.hero h1 { margin: 0; max-width: 820px; font-family: var(--serif); font-size: clamp(64px, 7.2vw, 108px); line-height: .84; font-weight: 400; letter-spacing: -.055em; text-transform: uppercase; }
.hero h1 em { color: #e0b769; font-style: normal; font-weight: 400; }
.hero__lead { max-width: 660px; margin: 34px 0 0; color: #c3baae; font-family: var(--serif); font-size: 21px; line-height: 1.62; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hero__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 680px; margin: 42px 0 0; padding: 0; border-top: 1px solid var(--line); }
.hero__facts div { padding: 20px 24px 0 0; }
.hero__facts div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.hero__facts dt { color: var(--gold); font-family: var(--serif); font-size: 18px; }
.hero__facts dd { margin: 3px 0 0; color: #8f877c; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.hero__visual { position: relative; align-self: stretch; min-height: 620px; display: flex; align-items: center; justify-content: center; }
.hero__frame { position: absolute; inset: 8% 2% 4% 8%; overflow: hidden; border-left: 1px solid rgba(208,162,88,.12); background: radial-gradient(circle at 50% 45%, rgba(178,126,54,.22), transparent 40%), #13110e; }
.hero__frame::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 110px rgba(0,0,0,.72); pointer-events: none; }
.hero__frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; filter: contrast(1.02) brightness(.96); }
.hero__product-note { position: absolute; right: -8px; bottom: 55px; z-index: 2; width: 260px; padding: 24px 26px; border: 1px solid var(--line); background: rgba(10,9,7,.88); backdrop-filter: blur(8px); }
.hero__product-note span { display: block; color: var(--gold); font-size: 9px; letter-spacing: .17em; text-transform: uppercase; }
.hero__product-note strong { display: block; margin-top: 10px; font-family: var(--serif); font-size: 20px; font-weight: 400; }
.hero__product-note small { display: block; margin-top: 4px; color: #92897e; }
.floating-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 45; display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 20px; border: 1px solid rgba(208,162,88,.55); background: rgba(12,11,9,.94); color: #d9ad61; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; box-shadow: 0 12px 32px rgba(0,0,0,.28); }
.floating-whatsapp:hover { border-color: var(--gold); color: #f0cd87; }

.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0e0c0a; }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-strip__grid > div { min-height: 116px; display: flex; align-items: center; gap: 18px; padding: 24px 28px; }
.trust-strip__grid > div + div { border-left: 1px solid var(--line); }
.trust-strip span { color: #8d632c; font-family: var(--serif); font-size: 24px; }
.trust-strip p { margin: 0; color: #958c80; font-size: 12px; line-height: 1.5; }
.trust-strip strong { color: #e6ddd1; font-family: var(--serif); font-size: 16px; font-weight: 400; }

.harale { padding: 78px 0 106px; background: radial-gradient(circle at 60% 46%, rgba(94,68,36,.25), transparent 43%), linear-gradient(100deg, #0b0a08 0%, #15120e 70%, #0a0907 100%); border-bottom: 1px solid var(--line); }
.pill { display: inline-flex; margin: 0 0 46px; padding: 8px 16px; border: 1px solid rgba(208,162,88,.55); border-radius: 40px; color: #d5a657; font-size: 9px; letter-spacing: .17em; text-transform: uppercase; }
.harale__grid { position: relative; display: grid; grid-template-columns: 1.05fr .62fr .62fr; gap: 28px; align-items: stretch; }
.harale__intro { padding: 44px 54px 20px 0; }
.harale__intro h2 { font-size: clamp(58px, 6vw, 88px); }
.harale__intro h2 em { font-style: normal; color: #e0b769; letter-spacing: .05em; }
.harale__lead { margin: 34px 0 0; max-width: 530px; color: #ddd4c7; font-family: var(--serif); font-size: 20px; line-height: 1.62; }
.harale__intro > p:not(.eyebrow):not(.harale__lead) { max-width: 520px; color: #a49a8d; }
.harale-card { position: relative; min-height: 620px; display: flex; flex-direction: column; border: 1px solid rgba(208,162,88,.42); background: linear-gradient(180deg, rgba(35,30,24,.82), rgba(7,6,5,.95)); overflow: hidden; }
.harale-card__image { position: relative; min-height: 430px; flex: 1; overflow: hidden; background: radial-gradient(circle at 50% 48%, rgba(155,114,58,.18), transparent 47%), #11100d; }
.harale-card__image::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 76px rgba(0,0,0,.55); }
.harale-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; transition: transform .5s ease; }
.harale-card:hover img { transform: scale(1.025); }
.harale-card__copy { position: relative; z-index: 2; padding: 24px 24px 28px; background: linear-gradient(180deg, rgba(12,10,8,.86), #0a0907); }
.harale-card__copy > span { color: #c9933b; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.harale-card__copy h3 { margin: 8px 0 6px; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.harale-card__copy p { margin: 0; color: #9e9588; font-size: 12px; line-height: 1.55; }
.harale-card .link-button { margin-top: 18px; }

.wines { padding: 94px 0 112px; background: radial-gradient(circle at 82% 18%, rgba(255,255,255,.58), transparent 34%), var(--cream); color: var(--dark-text); }
.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 80px; align-items: end; }
.section-heading h2 { color: var(--dark-text); }
.section-heading h2 em { color: #996224; font-style: italic; }
.section-heading > p { margin: 0 0 8px; color: var(--dark-muted); font-size: 15px; line-height: 1.65; }
.filter-bar { display: flex; gap: 8px; margin: 54px 0 28px; }
.filter-button { min-height: 42px; padding: 0 20px; border: 1px solid #d2c8b8; background: transparent; color: #6d655b; cursor: pointer; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.filter-button.is-active, .filter-button:hover { background: #17140f; color: #fff; border-color: #17140f; }
.wine-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.wine-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid #d9cfbf; background: #f7f3ec; transition: transform .25s ease, box-shadow .25s ease; }
.wine-card:hover { transform: translateY(-4px); box-shadow: 0 20px 46px rgba(63,49,31,.12); }
.wine-card[hidden] { display: none; }
.wine-card__image { position: relative; aspect-ratio: 4 / 5.1; overflow: hidden; background: #171511; }
.wine-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.wine-card:hover img { transform: scale(1.025); }
.wine-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px 20px 26px; }
.wine-card__body > span { color: #a36a26; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.wine-card h3 { margin: 8px 0 4px; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.wine-card p { margin: 0; color: #756d63; font-size: 12px; }
.wine-card .link-button { margin-top: auto; padding-top: 22px; align-self: flex-start; color: #82541f; border-color: rgba(130,84,31,.3); }
.range-banner { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; min-height: 390px; margin-top: 70px; overflow: hidden; background: #15130f; color: var(--text); }
.range-banner img { width: 100%; height: 100%; object-fit: cover; }
.range-banner__copy { display: flex; flex-direction: column; justify-content: center; padding: 44px; border-left: 1px solid var(--line); }
.range-banner__copy span { color: var(--gold); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.range-banner__copy strong { margin-top: 12px; font-family: var(--serif); font-size: 30px; font-weight: 400; line-height: 1.2; }
.range-banner__copy a { margin-top: 28px; color: #d2a152; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.brandy { display: grid; grid-template-columns: 1.18fr .82fr; min-height: 660px; background: #11100d; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brandy__image { min-height: 660px; overflow: hidden; }
.brandy__image img { width: 100%; height: 100%; object-fit: cover; }
.brandy__copy { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(42px, 6vw, 96px); background: radial-gradient(circle at 20% 50%, rgba(121,84,42,.18), transparent 46%), linear-gradient(125deg, #181510, #0c0b09); }
.brandy__copy h2 { font-size: clamp(54px, 6vw, 86px); }
.brandy__copy h2 em { font-style: italic; }
.brandy__copy > p { max-width: 520px; color: #aea497; }
.age-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 34px; }
.age-grid > div { display: flex; align-items: center; gap: 12px; min-height: 94px; padding: 14px; border: 1px solid var(--line); }
.age-grid strong { color: var(--gold); font-family: var(--serif); font-size: 42px; font-weight: 400; }
.age-grid span { color: #e7ded2; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.age-grid small { display: block; margin-top: 3px; color: #847c71; font-size: 8px; letter-spacing: 0; text-transform: none; }
.brandy__meta { margin: 18px 0 0; font-size: 12px; }

.private-label { padding: 104px 0; background: var(--paper); color: var(--dark-text); }
.private-label__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 84px; align-items: center; }
.private-label__visual { position: relative; min-height: 660px; overflow: hidden; background: #171511; }
.private-label__visual img { width: 100%; height: 100%; object-fit: cover; }
.private-label__stamp { position: absolute; right: 22px; bottom: 22px; width: 190px; padding: 20px; border: 1px solid rgba(208,162,88,.56); background: rgba(11,10,8,.9); color: #cda158; text-transform: uppercase; }
.private-label__stamp span { display: block; font-size: 8px; letter-spacing: .14em; }
.private-label__stamp strong { display: block; margin: 5px 0; font-family: var(--serif); font-size: 23px; font-weight: 400; letter-spacing: .05em; }
.private-label__copy h2 em { color: #986221; font-style: italic; }
.private-label__lead { max-width: 680px; margin-top: 30px; color: #6d655b; font-family: var(--serif); font-size: 20px; line-height: 1.6; }
.process-list { margin: 34px 0 38px; padding: 0; list-style: none; border-top: 1px solid var(--line-light); }
.process-list li { display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line-light); }
.process-list > li > span { color: #9a6628; font-family: var(--serif); font-size: 18px; }
.process-list strong { font-family: var(--serif); font-size: 18px; font-weight: 400; }
.process-list p { margin: 2px 0 0; color: #756d63; font-size: 12px; }

.export { padding: 104px 0 112px; background: radial-gradient(circle at 12% 20%, rgba(116,78,35,.17), transparent 34%), #0d0c0a; }
.section-heading--dark h2 { color: var(--text); }
.section-heading--dark > p { color: #aaa093; }
.export-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 56px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.export-card { min-height: 270px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.015); }
.export-card > span { color: #8b612b; font-family: var(--serif); font-size: 24px; }
.export-card h3 { margin: 54px 0 12px; font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1.15; }
.export-card p { margin: 0; color: #9c9387; font-size: 13px; }

.about { padding: 104px 0; background: var(--cream); color: var(--dark-text); }
.about__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 84px; align-items: center; }
.about__copy h2 em { color: #986221; font-style: italic; }
.about__copy > p:not(.eyebrow) { max-width: 570px; margin-top: 28px; color: #6d655b; font-family: var(--serif); font-size: 19px; line-height: 1.65; }
.company-data { margin: 34px 0 0; border-top: 1px solid var(--line-light); }
.company-data div { display: grid; grid-template-columns: 140px 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line-light); }
.company-data dt { color: #8a8176; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.company-data dd { margin: 0; font-family: var(--serif); font-size: 17px; }
.about__visual { min-height: 560px; overflow: hidden; background: #15130f; }
.about__visual img { width: 100%; height: 100%; object-fit: cover; }

.contact { padding: 100px 0 110px; background: radial-gradient(circle at 10% 10%, rgba(121,79,30,.25), transparent 35%), #0b0a08; }
.contact__glow { position: absolute; inset: 0; background: linear-gradient(115deg, rgba(208,162,88,.05), transparent 35%); pointer-events: none; }
.contact__grid { position: relative; display: grid; grid-template-columns: .72fr 1.28fr; gap: 86px; align-items: start; }
.contact__intro { position: sticky; top: 130px; }
.contact__intro h2 em { font-style: italic; }
.contact__intro > p:not(.eyebrow) { max-width: 430px; margin-top: 28px; color: #aaa093; }
.contact-lines { margin-top: 36px; border-top: 1px solid var(--line); }
.contact-lines > div { padding: 16px 0; border-bottom: 1px solid var(--line); }
.contact-lines span { display: block; color: #c5903b; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.contact-lines a { display: inline-block; margin-top: 4px; font-family: var(--serif); font-size: 20px; }
.inquiry-form { padding: 42px 44px; border: 1px solid var(--line); background: rgba(18,16,13,.64); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.form-grid__full { grid-column: 1 / -1; }
.inquiry-form label { display: grid; gap: 8px; color: #9d9386; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; border: 1px solid rgba(208,162,88,.32); border-radius: 0; outline: none; background: rgba(0,0,0,.18); color: #eee6da; padding: 14px 15px; font-size: 14px; letter-spacing: 0; text-transform: none; transition: border-color .2s ease, background .2s ease; }
.inquiry-form input, .inquiry-form select { min-height: 50px; }
.inquiry-form textarea { resize: vertical; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { border-color: var(--gold); background: rgba(0,0,0,.28); }
.inquiry-form option { color: #111; }
.consent { display: flex !important; grid-template-columns: 18px 1fr !important; align-items: start; gap: 10px !important; margin: 22px 0; color: #82796d !important; font-size: 10px !important; letter-spacing: 0 !important; line-height: 1.5; text-transform: none !important; }
.consent input { width: 15px; min-height: 15px; margin-top: 2px; padding: 0; accent-color: var(--gold); }
.consent a { color: #c99b4f; text-decoration: underline; }
.form-note { margin: 12px 0 0; color: #665f56; font-size: 9px; }

.site-footer { border-top: 1px solid var(--line); background: #070604; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 48px; padding: 62px 0 48px; }
.footer-brand .brand { margin-bottom: 18px; }
.footer-brand p { max-width: 370px; margin: 0; color: #827a6f; font-size: 12px; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 8px; color: #938a7e; font-size: 12px; }
.footer-title { margin-bottom: 10px; color: #d5a657; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.footer-grid a:hover { color: #e5bd74; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0 24px; border-top: 1px solid rgba(255,255,255,.07); color: #6f685f; font-size: 10px; }
.footer-bottom a { color: #9d9488; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1120px) {
  .primary-nav { gap: 20px; }
  .hero h1 { font-size: clamp(60px, 8vw, 90px); }
  .harale__grid { grid-template-columns: 1fr 1fr; }
  .harale__intro { grid-column: 1 / -1; padding-right: 20%; }
  .wine-grid { grid-template-columns: repeat(3, 1fr); }
  .private-label__grid, .about__grid { gap: 50px; }
  .export-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 940px) {
  .trade-bar__inner span:first-child { display: none; }
  .trade-bar__inner { justify-content: flex-end; }
  .menu-toggle { display: flex; }
  .primary-nav { position: fixed; inset: 112px 18px auto; display: none; flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100vh - 138px); overflow: auto; padding: 18px; border: 1px solid var(--line); background: rgba(9,8,6,.98); box-shadow: 0 24px 60px rgba(0,0,0,.45); }
  .primary-nav.is-open { display: flex; }
  .primary-nav > a:not(.button) { padding: 13px 6px; border-bottom: 1px solid rgba(255,255,255,.06); font-size: 16px; }
  .button--nav { margin-top: 14px; }
  .hero__grid { grid-template-columns: 1fr; padding-top: 74px; }
  .hero__copy { padding-right: 0; }
  .hero__visual { min-height: 620px; margin-top: 44px; }
  .hero__frame { inset: 0 4% 0 16%; }
  .hero__product-note { right: 0; bottom: 24px; }
  .trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .trust-strip__grid > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .trust-strip__grid > div:nth-child(4) { border-top: 1px solid var(--line); }
  .section-heading { grid-template-columns: 1fr; gap: 28px; }
  .section-heading > p { max-width: 620px; }
  .wine-grid { grid-template-columns: repeat(2, 1fr); }
  .brandy { grid-template-columns: 1fr; }
  .brandy__image { min-height: 560px; }
  .private-label__grid, .about__grid, .contact__grid { grid-template-columns: 1fr; }
  .private-label__visual { min-height: 580px; }
  .about__visual { min-height: 480px; }
  .contact__intro { position: static; }
  .contact__grid { gap: 48px; }
  .footer-grid { grid-template-columns: 1.6fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 640px) {
  .container { width: min(calc(100% - 28px), var(--max)); }
  .trade-bar { font-size: 8px; }
  .nav-shell { min-height: 70px; }
  .brand { min-width: auto; }
  .brand__mark { width: 34px; height: 34px; }
  .brand__copy strong { font-size: 20px; }
  .brand__copy small { font-size: 6px; }
  .primary-nav { inset: 104px 12px auto; }
  .hero { min-height: auto; }
  .hero__grid { min-height: auto; padding: 62px 0 52px; }
  .hero h1 { font-size: clamp(48px, 15vw, 70px); line-height: .9; }
  .hero__lead { font-size: 17px; }
  .hero__actions { display: grid; }
  .hero__facts { grid-template-columns: 1fr; }
  .hero__facts div { padding: 14px 0; }
  .hero__facts div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .hero__visual { min-height: 500px; }
  .hero__frame { inset: 0; }
  .hero__product-note { right: 10px; bottom: 10px; width: 230px; }
  .floating-whatsapp { right: 12px; bottom: 12px; min-height: 46px; padding-inline: 16px; }
  .trust-strip__grid { grid-template-columns: 1fr; }
  .trust-strip__grid > div + div, .trust-strip__grid > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .harale { padding: 66px 0 76px; }
  .pill { margin-bottom: 34px; }
  .harale__grid { grid-template-columns: 1fr; }
  .harale__intro { grid-column: auto; padding: 0 0 22px; }
  .harale__intro h2, .section h2 { font-size: clamp(46px, 14vw, 68px); }
  .harale-card { min-height: 560px; }
  .wines, .private-label, .export, .about, .contact { padding: 72px 0; }
  .filter-bar { overflow-x: auto; padding-bottom: 4px; }
  .filter-button { flex: 0 0 auto; }
  .wine-grid { grid-template-columns: 1fr; }
  .wine-card__image { aspect-ratio: 4 / 4.9; }
  .range-banner { grid-template-columns: 1fr; }
  .range-banner img { max-height: 320px; }
  .range-banner__copy { padding: 28px; border-left: 0; border-top: 1px solid var(--line); }
  .brandy__image { min-height: 390px; }
  .brandy__copy { padding: 60px 24px 72px; }
  .age-grid { grid-template-columns: 1fr; }
  .private-label__visual { min-height: 480px; }
  .private-label__stamp { right: 12px; bottom: 12px; }
  .export-grid { grid-template-columns: 1fr; }
  .export-card { min-height: 220px; }
  .about__visual { min-height: 360px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid__full { grid-column: auto; }
  .inquiry-form { padding: 28px 18px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}
