:root {
  --wine: #651316;
  --wine-deep: #3d0b0d;
  --forest: #0f5840;
  --ink: #252421;
  --muted: #716e66;
  --cream: #f2efe7;
  --paper: #fbfaf6;
  --line: rgba(37, 36, 33, .18);
  --white: #fff;
  --shell: min(1240px, calc(100vw - 96px));
  --display: "Raleway", Arial, sans-serif;
  --body: "Nunito Sans", Arial, sans-serif;
  --motion-fast: 180ms;
  --motion-ui: 240ms;
  --motion-reveal: 680ms;
  --motion-stagger: 90ms;
  --motion-distance: 14px;
  --motion-ease: cubic-bezier(.2,.72,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.62 var(--body); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, p, figure { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 500; line-height: 1.04; }
h1 { margin-bottom: 32px; font-size: clamp(3.2rem, 6.4vw, 7rem); letter-spacing: -.05em; }
h2 { margin-bottom: 28px; font-size: clamp(2.35rem, 4.5vw, 4.9rem); letter-spacing: -.045em; }
h3 { font-size: 1.7rem; letter-spacing: -.025em; }

.shell { width: var(--shell); margin-inline: auto; }
.section { padding: 124px 0; }
.section--cream { background: var(--cream); }
.section--wine { padding: 120px 0; background: var(--wine); color: var(--white); }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 12px 18px; background: var(--white); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--wine); font: 700 .68rem/1 var(--display); letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { width: 28px; height: 1px; background: currentColor; content: ""; }
.eyebrow--light { color: rgba(255,255,255,.78); }
.lead-copy { color: var(--ink); font-size: 1.3rem; line-height: 1.5; }

.motion-ready .motion-group > .motion-item {
  transition: opacity var(--motion-reveal) var(--motion-ease), transform var(--motion-reveal) var(--motion-ease);
  transition-delay: calc(var(--motion-index, 0) * var(--motion-stagger));
}
.motion-ready .motion-group:not(.is-in-view) > .motion-item { opacity: 0; transform: translateY(var(--motion-distance)); }
.motion-ready .motion-group.is-in-view > .motion-item { opacity: 1; transform: translateY(0); }

:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; }
.home-hero :focus-visible, .section--wine :focus-visible, .origin-feature :focus-visible { outline-color: var(--white); }
.button { transition: color var(--motion-ui) ease, background-color var(--motion-ui) ease, border-color var(--motion-ui) ease, box-shadow var(--motion-ui) ease, transform var(--motion-fast) ease; }
.text-link { transition: color var(--motion-ui) ease, border-color var(--motion-ui) ease; }
.text-link .icon-arrow, .inline-links .icon-arrow { transition: transform var(--motion-ui) var(--motion-ease); }
.inline-links a, .origin-grid a, .offer-card, .nav-offer__menu a, .footer-grid nav a, .footer-contact a { transition: color var(--motion-ui) ease, background-color var(--motion-ui) ease, box-shadow var(--motion-ui) ease, transform var(--motion-ui) var(--motion-ease); }
.offer-card > div, .origin-grid h3 { transition: transform var(--motion-ui) var(--motion-ease); }
.button:active { transform: translateY(0); }

@media (hover: hover) and (pointer: fine) {
  .button:hover { border-color: var(--wine-deep); background: var(--wine-deep); box-shadow: 0 9px 22px rgba(61,11,13,.14); transform: translateY(-2px); }
  .button--compact:hover { border-color: var(--ink); background: var(--ink); color: var(--white); }
  .button--light:hover { border-color: var(--white); background: transparent; box-shadow: 0 9px 22px rgba(20,10,8,.12); color: var(--white); }
  .text-link:hover .icon-arrow, .text-link:focus-visible .icon-arrow, .inline-links a:hover .icon-arrow, .inline-links a:focus-visible .icon-arrow { transform: translate(4px,-4px); }
  .motion-ready .motion-group.is-in-view > .offer-card:hover,
  .motion-ready .motion-group.is-in-view > .offer-card:focus-visible { box-shadow: 0 18px 38px rgba(35,24,20,.14); transform: translateY(-4px); }
  .offer-card:hover > div, .offer-card:focus-visible > div { transform: translateY(-3px); }
  .origin-grid a:focus-visible { background: rgba(255,255,255,.075); }
  .origin-grid a:hover h3, .origin-grid a:focus-visible h3 { transform: translateX(4px); }
  .nav-offer__menu a:hover, .nav-offer__menu a:focus-visible, .footer-grid nav a:hover, .footer-grid nav a:focus-visible, .footer-contact a:hover, .footer-contact a:focus-visible { transform: translateX(3px); }
}

.site-header { position: fixed; z-index: 50; top: 0; left: 0; display: grid; width: 100%; min-height: 98px; padding: 0 48px; border-bottom: 1px solid var(--line); background: var(--paper); grid-template-columns: 210px 1fr auto; align-items: center; }
.site-header:not(.site-header--overlay) + main { padding-top: 98px; }
.brand { display: block; width: 168px; padding: 8px 12px; background: transparent; }
.main-nav { display: flex; justify-content: center; gap: clamp(16px, 1.8vw, 32px); }
.main-nav > a, .nav-offer > summary { position: relative; font: 600 .74rem/1 var(--display); letter-spacing: .025em; }
.main-nav > a::after, .nav-offer > summary::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transition: transform .18s ease; }
.main-nav > a:hover::after, .main-nav > a[aria-current="page"]::after, .nav-offer:hover > summary::after, .nav-offer[data-current="true"] > summary::after { transform: scaleX(1); }
.nav-offer { position: relative; }
.nav-offer::after { position: absolute; top: 100%; right: -20px; left: -20px; height: 22px; content: ""; }
.nav-offer > summary { display: flex; cursor: pointer; list-style: none; align-items: center; gap: 7px; }
.nav-offer > summary::-webkit-details-marker { display: none; }
.nav-offer > summary::before { order: 2; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; content: ""; transform: translateY(-2px) rotate(45deg); }
.nav-offer__menu { position: absolute; top: calc(100% + 22px); left: 50%; display: none; width: 210px; padding: 12px; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 16px 40px rgba(20,10,8,.14); color: var(--ink); transform: translateX(-50%); }
.nav-offer:hover .nav-offer__menu, .nav-offer:focus-within .nav-offer__menu, .nav-offer[open] .nav-offer__menu { display: grid; }
.nav-offer__menu a { padding: 11px 10px; border-bottom: 1px solid var(--line); font: 600 .76rem/1.25 var(--display); }
.nav-offer__menu a:last-child { border-bottom: 0; }
.nav-offer__menu a:hover, .nav-offer__menu a[aria-current="page"] { color: var(--wine); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.language-control { display: flex; align-items: center; gap: 7px; padding: 12px; font: 600 .72rem/1 var(--display); }
.button { display: inline-flex; min-height: 50px; padding: 0 24px; border: 1px solid var(--wine); background: var(--wine); color: var(--white); font: 700 .7rem/1 var(--display); letter-spacing: .08em; text-transform: uppercase; align-items: center; justify-content: center; }
.button--compact { min-height: 42px; border-color: currentColor; background: transparent; color: inherit; }
.button--light { border-color: var(--white); background: var(--white); color: var(--wine); }
.mobile-menu { display: none; }

.home-hero { position: relative; display: flex; min-height: 880px; overflow: hidden; background: var(--wine-deep); color: var(--white); align-items: flex-end; }
.home-hero > img, .home-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero > img { object-fit: cover; object-position: center 52%; }
.home-hero__veil { background: linear-gradient(90deg, rgba(25,8,5,.8), rgba(25,8,5,.25) 65%, rgba(25,8,5,.08)), linear-gradient(0deg, rgba(18,7,5,.5), transparent 48%); }
.home-hero__content { position: relative; z-index: 1; padding-bottom: 92px; }
.home-hero h1 { max-width: 850px; }
.home-hero__content > p:not(.eyebrow) { max-width: 590px; color: rgba(255,255,255,.82); font-size: 1.08rem; }
.hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 34px; }
.text-link { display: inline-flex; align-items: center; gap: 28px; padding-bottom: 8px; border-bottom: 1px solid currentColor; font: 700 .72rem/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.icon-arrow { display: inline-block; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: url("assets/arrow-up-right.svg") center / contain no-repeat; mask: url("assets/arrow-up-right.svg") center / contain no-repeat; flex: 0 0 auto; }
.text-link--light { color: var(--white); }
.align-right { margin: 44px 0 0 auto; }

.split-intro { display: grid; grid-template-columns: 1.12fr .88fr; gap: 120px; }
.home-intro .facts { margin-top: 72px; }
.split-intro > div:last-child { padding-top: 50px; color: var(--muted); }
.split-intro .text-link { margin-top: 30px; color: var(--wine); }
.section-title { display: grid; margin-bottom: 66px; grid-template-columns: 1fr 390px; gap: 80px; align-items: end; }
.section-title h2 { max-width: 760px; margin-bottom: 0; }
.section-title > p { margin: 0 0 10px; color: var(--muted); }
.section-title--light > p { color: rgba(255,255,255,.68); }

.offer-grid { display: grid; min-height: 640px; grid-template-columns: 1.55fr .72fr; grid-template-rows: 1fr 1fr; gap: 18px; }
.offer-card { position: relative; display: flex; overflow: hidden; padding: 32px; color: var(--white); flex-direction: column; justify-content: space-between; }
.offer-card > span { position: relative; z-index: 2; font: 600 .68rem/1 var(--display); letter-spacing: .12em; }
.offer-card > div { position: relative; z-index: 2; }
.offer-card h3 { margin-bottom: 10px; font-size: 2rem; }
.offer-card p { margin: 0; color: rgba(255,255,255,.72); }
.offer-card--image { grid-row: 1 / 3; justify-content: flex-end; }
.offer-card--image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.offer-card--image::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,12,8,.88), transparent 70%); content: ""; }
.offer-card--image > span { position: absolute; top: 32px; }
.offer-card--image:hover img { transform: scale(1.025); }
.offer-card--wine { background: var(--wine); }
.offer-card--dark { background: var(--ink); }

.genetics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 105px; align-items: center; }
.genetics-image { position: relative; }
.genetics-image img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.genetics-image span { position: absolute; right: 16px; bottom: 16px; padding: 9px 12px; background: rgba(251,250,246,.92); font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; }
.genetics-grid > div:last-child > p:not(.eyebrow) { color: var(--muted); }
.genetics-grid .lead-copy { color: var(--ink) !important; }
.genetics-grid .text-link { margin-top: 28px; color: var(--wine); }

.origin-feature { position: relative; isolation: isolate; background: var(--wine-deep); overflow: hidden; }
.origin-feature > .shell { position: relative; z-index: 1; }
.network-map { color: var(--white); }
.network-map > svg { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; }
.network-map--ambient { position: absolute; z-index: 0; top: 40%; left: 50%; width: min(1180px,92vw); opacity: .16; pointer-events: none; transform: translate(-50%,-40%); }
.network-map.is-enhanced .map-outline { opacity: 0; transform: translateY(5px); }
.network-map.is-enhanced .map-origins circle { opacity: 0; transform: scale(.35); transform-box: fill-box; transform-origin: center; }
.network-map.is-enhanced .map-routes path { stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; filter: drop-shadow(0 0 4px rgba(255,255,255,.25)); }
.network-map.is-enhanced .map-destinations circle { opacity: .08; transform: scale(.45); transform-box: fill-box; transform-origin: center; }
.network-map.is-animating .map-outline { animation: map-outline-in 650ms ease-out 80ms both; }
.network-map.is-animating .map-origins circle { animation: map-origin-in 420ms cubic-bezier(.2,.8,.2,1) calc(380ms + var(--origin-index) * 70ms) both; }
.network-map.is-animating .map-routes path { animation: map-route-draw 980ms cubic-bezier(.65,0,.35,1) calc(720ms + var(--route-index) * 80ms) both; }
.network-map.is-animating .map-destinations circle { animation: map-destination-in 520ms cubic-bezier(.2,.8,.2,1) var(--destination-delay) both; }
.origin-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.25); border-left: 1px solid rgba(255,255,255,.25); }
.origin-grid a { min-height: 320px; padding: 30px; border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.origin-grid span { display: block; margin-bottom: 125px; color: rgba(255,255,255,.5); font: 600 .68rem/1 var(--display); }
.origin-grid h3 { margin-bottom: 12px; font-size: 2.2rem; }
.origin-grid p { color: rgba(255,255,255,.65); }
.origin-grid a:hover { background: rgba(255,255,255,.06); }
.origin-action { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-top: 38px; }
.origin-action p { margin: 0; color: rgba(255,255,255,.68); }

.operation-preview { display: grid; grid-template-columns: 1.15fr .85fr; gap: 65px; }
.operation-image { align-self: start; }
.operation-preview img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.operation-preview ol { padding: 0; margin: 0; list-style: none; }
.operation-preview li { display: grid; min-height: 100px; padding: 24px 0; border-top: 1px solid var(--line); grid-template-columns: 55px 1fr; align-items: center; font-family: var(--display); font-size: 1.12rem; }
.operation-preview li:last-child { border-bottom: 1px solid var(--line); }
.operation-preview span { color: var(--wine); font-size: .68rem; }
.operation-preview li p { margin: 0; color: inherit; font: inherit; }
.home-operations .align-right { display: flex; width: max-content; }

.facts { display: grid; border-top: 1px solid var(--line); border-left: 1px solid var(--line); grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); }
.facts > div { display: flex; min-height: 210px; padding: 28px 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); flex-direction: column; justify-content: space-between; }
.facts strong { font: 500 clamp(2.1rem,3.4vw,3.8rem)/1 var(--display); letter-spacing: -.05em; }
.facts > div > span { max-width: 180px; color: var(--muted); font-size: .82rem; }
.fact-value { position: relative; display: block; }
.fact-value__motion { display: none; }
.facts.is-enhanced .fact-value__final { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.facts.is-enhanced .fact-value__motion { display: inline-block; opacity: 0; transform: translateY(.18em); }
.facts.is-playing .fact-value__motion { animation: fact-value-in 650ms cubic-bezier(.2,.8,.2,1) var(--fact-delay) both; }

.contact-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 110px; }
.contact-layout > div > p:not(.eyebrow) { max-width: 440px; color: rgba(255,255,255,.7); }
.contact-layout .text-link { margin-top: 36px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 25px 22px; }
.contact-form label { display: block; }
.contact-form label > span { display: block; margin-bottom: 7px; color: rgba(255,255,255,.66); font-size: .67rem; letter-spacing: .07em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.38); border-radius: 0; outline: 0; background: transparent; color: var(--white); }
.contact-form select { appearance: none; }
.contact-form select option { color: var(--ink); }
.contact-form textarea { resize: vertical; }
.field-full { grid-column: 1 / -1; }
.form-action { display: flex; align-items: center; justify-content: space-between; }
.form-action small { color: rgba(255,255,255,.5); }

.page-hero { padding: 100px 0 82px; border-bottom: 1px solid var(--line); }
.page-hero__grid { display: grid; grid-template-columns: 1fr .82fr; gap: 85px; align-items: start; }
.page-hero__copy { padding-bottom: 24px; }
.page-hero h1 { max-width: 790px; }
.page-hero__copy > p:last-child { max-width: 670px; color: var(--muted); font-size: 1.15rem; }
.page-hero figure { margin: calc(.68rem + 22px) 0 0; }
.page-hero figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.page-hero__map { background: radial-gradient(circle at 28% 45%, rgba(174,66,43,.26), transparent 38%), linear-gradient(135deg,#78141b 0%,#50090e 55%,#35070a 100%); }
.page-hero__map .network-map > svg { padding: clamp(18px,2.4vw,38px); }
.page-hero--map .page-hero__grid { display: block; }
.page-hero--map figure { margin-top: 0; }
.page-hero--map .page-hero__copy { display: grid; padding-bottom: 54px; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; }
.page-hero--map .page-hero__copy .eyebrow { grid-column: 1 / -1; margin-bottom: -44px; }
.page-hero--map .page-hero__copy > p:last-child { padding-bottom: 10px; }
.page-hero figcaption { padding-top: 10px; color: var(--muted); font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; }
.page-hero + .facts { width: var(--shell); margin: 0 auto 0; border-top: 0; }

.detail-section { padding: 110px 0; }
.detail-section--tint { background: var(--cream); }
.detail-grid { display: grid; grid-template-columns: 260px 1fr; gap: 90px; }
.detail-index { padding-top: 13px; }
.detail-index > span { display: block; margin-bottom: 16px; color: var(--wine); font: 600 .7rem/1 var(--display); }
.detail-index p { color: var(--muted); font: 700 .68rem/1.4 var(--display); letter-spacing: .12em; text-transform: uppercase; }
.detail-copy { max-width: 830px; }
.detail-copy h2 { font-size: clamp(2.2rem,3.8vw,4.1rem); }
.detail-copy > p { max-width: 720px; color: var(--muted); font-size: 1.05rem; }
.detail-copy > p:first-of-type { color: var(--ink); font-size: 1.2rem; }
.inline-links { display: grid; margin-top: 42px; border-top: 1px solid var(--line); grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); }
.inline-links a { display: flex; min-height: 76px; padding: 18px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); align-items: center; justify-content: space-between; gap: 20px; font: 600 .78rem/1.25 var(--display); }
.inline-links a:hover { color: var(--wine); background: rgba(101,19,22,.04); }
.people-grid { display: grid; margin-top: 48px; grid-template-columns: 1fr 1fr; gap: 20px; }
.people-grid img { width: 100%; aspect-ratio: .82; object-fit: cover; filter: saturate(.76); }
.people-grid h3 { margin: 15px 0 5px; font-size: 1.15rem; }
.people-grid p { color: var(--wine); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.related h2 { max-width: 700px; }
.page-contact { padding-block: 110px; }

.site-footer { padding: 72px 0 28px; background: var(--paper); }
.footer-grid { display: grid; padding-bottom: 62px; grid-template-columns: 1.4fr .7fr .7fr 1fr; gap: 60px; }
.footer-brand img { width: 190px; }
.footer-brand p, .footer-contact p { margin-top: 22px; color: var(--muted); }
.footer-grid nav, .footer-contact { display: flex; flex-direction: column; gap: 10px; }
.footer-grid strong { margin-bottom: 10px; font: 700 .68rem/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.footer-grid nav a, .footer-contact a { color: var(--muted); font-size: .86rem; }
.footer-grid nav a:hover, .footer-contact a:hover { color: var(--wine); }
.footer-bottom { display: flex; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: .65rem; letter-spacing: .05em; text-transform: uppercase; justify-content: space-between; }

.media-frame, .motion-media { position: relative; overflow: hidden; }
.motion-ready .motion-media img { transition: opacity 760ms var(--motion-ease), transform 1000ms var(--motion-ease); }
.motion-ready .motion-media:not(.is-media-in-view) img { opacity: 0; transform: scale(1.025); }
.motion-ready .motion-media.is-media-in-view img { opacity: 1; transform: scale(1); }

@media (hover: hover) and (pointer: fine) {
  .motion-ready .motion-media.is-media-in-view.offer-card--image:hover img,
  .motion-ready .motion-media.is-media-in-view.offer-card--image:focus-visible img { transform: scale(1.02); }
}

@keyframes map-outline-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes map-origin-in {
  0% { opacity: 0; transform: scale(.35); }
  62% { opacity: 1; transform: scale(1.35); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes map-route-draw {
  0% { stroke-dashoffset: 1; opacity: 0; }
  12% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes map-destination-in {
  0% { opacity: .08; transform: scale(.45); }
  58% { opacity: 1; transform: scale(1.7); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes fact-value-in {
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  .motion-ready .motion-group > .motion-item {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .button, .text-link, .text-link .icon-arrow, .inline-links a, .inline-links .icon-arrow, .origin-grid a, .origin-grid h3, .offer-card, .offer-card > div, .nav-offer__menu a, .footer-grid nav a, .footer-contact a { transition: none; }
  .motion-ready .motion-media img { opacity: 1; transform: none; transition: none; }
  .offer-card--image:hover img, .offer-card--image:focus-visible img { transform: none; }

  .network-map.is-enhanced .map-outline,
  .network-map.is-enhanced .map-origins circle,
  .network-map.is-enhanced .map-routes path,
  .network-map.is-enhanced .map-destinations circle {
    animation: none;
    opacity: 1;
    stroke-dashoffset: 0;
    transform: none;
  }

  .facts.is-enhanced .fact-value__final { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
  .facts.is-enhanced .fact-value__motion { display: none; }
}

@media (max-width: 1100px) {
  :root { --shell: min(100% - 56px, 920px); }
  .site-header { padding-inline: 28px; grid-template-columns: 185px 1fr auto; }
  .main-nav { display: none; }
  .mobile-menu { position: relative; display: block; margin-left: 12px; }
  .mobile-menu > summary { display: grid; width: 42px; height: 42px; cursor: pointer; list-style: none; place-content: center; gap: 6px; }
  .mobile-menu > summary::-webkit-details-marker, .mobile-offer-group > summary::-webkit-details-marker { display: none; }
  .mobile-menu > summary span { width: 20px; height: 1px; background: currentColor; }
  .mobile-menu nav { position: absolute; top: 52px; right: 0; display: flex; width: 260px; padding: 20px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); box-shadow: 0 16px 40px rgba(20,10,8,.14); flex-direction: column; gap: 4px; }
  .mobile-menu nav a { padding: 8px 4px; border-bottom: 1px solid var(--line); }
  .mobile-offer-group > summary { display: flex; padding: 8px 4px; border-bottom: 1px solid var(--line); cursor: pointer; list-style: none; align-items: center; justify-content: space-between; }
  .mobile-offer-group > summary::after { width: 7px; height: 7px; margin-right: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; content: ""; transform: rotate(45deg); }
  .mobile-offer-group > div { display: grid; padding-left: 14px; }
  .mobile-offer-group[data-current="true"] > summary { color: var(--wine); font-weight: 700; }
  .home-hero { min-height: 780px; }
  .split-intro, .genetics-grid, .page-hero__grid { gap: 60px; }
  .section-title { grid-template-columns: 1fr 330px; gap: 50px; }
  .contact-layout { gap: 60px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-contact { grid-column: 2 / 4; }
}

@media (max-width: 760px) {
  :root { --shell: calc(100% - 40px); }
  body { font-size: 15px; }
  .section, .detail-section { padding: 82px 0; }
  h1 { font-size: clamp(2.7rem,13vw,4.2rem); }
  h2 { font-size: clamp(2.15rem,10vw,3.5rem); }
  .site-header { min-height: 76px; padding: 0 20px; grid-template-columns: 1fr auto auto; }
  .site-header:not(.site-header--overlay) + main { padding-top: 76px; }
  .brand { width: 142px; }
  .header-actions .button { display: none; }
  .language-control { padding-inline: 6px; }
  .mobile-menu { margin-left: 3px; }
  .mobile-menu nav { right: -2px; width: min(280px,calc(100vw - 30px)); }
  .home-hero { min-height: 720px; }
  .home-hero__content { padding-bottom: 62px; }
  .home-hero h1 { max-width: 520px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 24px; }
  .split-intro, .genetics-grid, .operation-preview, .contact-layout, .page-hero__grid, .detail-grid { grid-template-columns: 1fr; gap: 46px; }
  .split-intro > div:last-child { padding-top: 0; }
  .genetics-grid > div:last-child { order: -1; }
  .section-title { display: block; }
  .section-title h2 { margin-bottom: 24px; }
  .offer-grid { display: block; min-height: 0; }
  .offer-card { min-height: 280px; margin-bottom: 14px; }
  .offer-card--image { min-height: 480px; }
  .origin-grid { grid-template-columns: 1fr; }
  .origin-grid a { min-height: 240px; }
  .origin-grid span { margin-bottom: 70px; }
  .origin-action { align-items: flex-start; flex-direction: column; }
  .network-map--ambient { top: 44%; left: 31%; width: 1050px; transform: translate(-31%,-44%); }
  .facts { grid-template-columns: 1fr 1fr; }
  .facts > div { min-height: 170px; }
  .facts strong { font-size: 2rem; }
  .contact-form { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .form-action { align-items: flex-start; flex-direction: column; gap: 22px; }
  .page-hero { padding: 72px 0 62px; }
  .page-hero--map .page-hero__copy { display: block; padding-bottom: 38px; }
  .page-hero--map .page-hero__copy .eyebrow { margin-bottom: 22px; }
  .page-hero:not(.page-hero--map) figure { margin-top: 0; }
  .page-hero--map .page-hero__map { margin-bottom: 0; }
  .detail-grid { gap: 18px; }
  .detail-index { display: flex; align-items: center; gap: 14px; padding: 0; }
  .detail-index > span, .detail-index p { margin: 0; }
  .people-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 45px 25px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 9px; }
}

@media (max-width: 420px) {
  .facts { grid-template-columns: 1fr; }
  .facts > div { min-height: 140px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-contact { grid-column: auto; }
}
