.fa-light,
.fa-brands {
    display: inline-block;
    width: 1.14em;
    height: 1.14em;
    color: currentColor;
    line-height: 1;
    vertical-align: -0.19em;
    flex-shrink: 0;
}

.fa-light::before,
.fa-brands::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: currentColor;
    mask: var(--vdn-icon) center / contain no-repeat;
    -webkit-mask: var(--vdn-icon) center / contain no-repeat;
}

.fa-leaf {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/leaf-light-full.svg");
}

.fa-arrow-right {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/arrow-right-light-full.svg");
}

.fa-arrow-down {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/arrow-down-light-full.svg");
}

.fa-arrow-up-to-line {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/arrow-up-to-line-light-full.svg");
}

.fa-pen-line {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/pen-line-light-full.svg");
}

.fa-xmark {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/xmark-light-full.svg");
}

.fa-arrows-rotate {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/arrows-rotate-light-full.svg");
}

.fa-magnifying-glass-chart {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/magnifying-glass-chart-light-full.svg");
}

.fa-layer-group {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/layer-group-light-full.svg");
}

.fa-shipping-fast,
.fa-truck-fast {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/truck-fast-light-full.svg");
}

.fa-facebook-f,
.fa-facebook {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/facebook-f-brands-solid-full.svg");
}

.fa-instagram {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/instagram-brands-solid-full.svg");
}

.fa-chevron-right {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/chevron-right-light-full.svg");
}

.fa-code {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/code-light-full.svg");
}

.fa-bold {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/bold-light-full.svg");
}

.fa-italic {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/italic-light-full.svg");
}

.fa-underline {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/underline-light-full.svg");
}

.fa-list-ul {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/list-ul-light-full.svg");
}

.fa-list-ol {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/list-ol-light-full.svg");
}

.fa-link {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/link-light-full.svg");
}

.fa-link-slash {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/link-slash-light-full.svg");
}

.fa-eraser {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/eraser-light-full.svg");
}

.fa-wine-glass-empty,
.fa-wine-glass {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/wine-glass-empty-light-full.svg");
}

.fa-wine-bottle {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/wine-bottle-light-full.svg");
}

.fa-bottle-droplet {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/bottle-droplet-light-full.svg");
}

.fa-filter-list {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/filter-list-light-full.svg");
}

.fa-magnifying-glass {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/magnifying-glass-light-full.svg");
}

.fa-globe {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/globe-light-full.svg");
}

.fa-globe-pointer {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/globe-pointer-light-full.svg");
}

.fa-location-dot {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/location-dot-light-full.svg");
}

.fa-envelope {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/envelope-light-full.svg");
}

.fa-newspaper {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/newspaper-light-full.svg");
}

.fa-plane {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/plane-light-full.svg");
}

.fa-plane-departure {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/plane-departure-light-full.svg");
}

.fa-grape,
.fa-grapes {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/grapes-light-full.svg");
}

.fa-shop {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/shop-light-full.svg");
}

.fa-store {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/store-light-full.svg");
}

.fa-users {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/users-light-full.svg");
}

.fa-phone {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/phone-light-full.svg");
}

.fa-at {
    --vdn-icon: url("/bundles/vdnwebsite/vdn/icons/fontawesome/at-light-full.svg");
}

:root {
    --vdn-white: #FFFFFF;
    --vdn-porcelain: #E7E6E0;
    --vdn-graphite: #434142;
    --vdn-ink: #1A1516;
    --vdn-lime: #D6DF23;
    --vdn-sage: #91BF4E;
    --vdn-green: #38B449;
    --vdn-deep: #009344;
    --vdn-deep-muted: #2F4D39;
    --vdn-warm: #FBF7EF;
    --vdn-earth: #8B6842;
    --vdn-border: #E5D8C2;
    --vdn-red: #A83A45;
    --vdn-rose: #FEE4E6;
    --vdn-white-wine: #F7EFC2;
    --vdn-shadow: 0 24px 60px rgba(26, 21, 22, 0.12);
    --vdn-soft-shadow: 0 12px 36px rgba(26, 21, 22, 0.08);
    --vdn-radius: 32px;
    --vdn-page: min(1280px, calc(100vw - 40px));
    --vdn-floating-action-size: 64px;
    --vdn-floating-action-gap: 18px;
    --vdn-floating-action-edge: 24px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--vdn-warm);
    color: var(--vdn-ink);
    font-family: Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

.vdn-shell {
    width: var(--vdn-page);
    margin: 0 auto;
}

.vdn-header {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid var(--vdn-border);
    background: rgba(251, 247, 239, 0.92);
    backdrop-filter: blur(16px);
}

.vdn-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    gap: 24px;
}

.vdn-brand {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
}

.vdn-brand-logo {
    width: auto;
    max-width: 240px;
    max-height: 48px;
    object-fit: contain;
}

.vdn-nav {
    display: flex;
    align-items: center;
    gap: 30px;
    color: var(--vdn-graphite);
    font-size: 0.9rem;
    font-weight: 500;
}

.vdn-nav a {
    position: relative;
}

.vdn-nav a::after {
    position: absolute;
    right: 0;
    bottom: -9px;
    left: 0;
    height: 2px;
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    background: var(--vdn-deep);
    transition: transform 0.2s ease;
}

.vdn-nav a:hover::after,
.vdn-nav a.is-active::after {
    transform: scaleX(1);
}

.vdn-nav .vdn-nav-button {
    padding: 8px 18px;
    border: 1px solid var(--vdn-deep-muted);
    border-radius: 999px;
    color: var(--vdn-deep-muted);
    transition: background 0.2s ease, color 0.2s ease;
}

.vdn-nav .vdn-nav-button:hover {
    background: var(--vdn-deep-muted);
    color: var(--vdn-white);
}

.vdn-nav .vdn-nav-button::after {
    display: none;
}

.vdn-language-switch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border: 1px solid rgba(47, 77, 57, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.62);
}

.vdn-language-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    color: var(--vdn-graphite);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.vdn-language-switch a::after {
    display: none;
}

.vdn-language-switch a.is-active {
    background: var(--vdn-deep);
    color: var(--vdn-white);
}

.vdn-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 28px;
    border: 1px solid var(--vdn-deep);
    border-radius: 999px;
    background: var(--vdn-deep);
    color: var(--vdn-white);
    font-weight: 700;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.vdn-button:hover {
    transform: translateY(-1px);
    background: var(--vdn-deep-muted);
    border-color: var(--vdn-deep-muted);
}

.vdn-button.is-secondary {
    background: var(--vdn-white);
    color: var(--vdn-deep);
}

.vdn-button.is-secondary:hover {
    background: var(--vdn-lime);
    border-color: var(--vdn-lime);
    color: var(--vdn-ink);
}

.vdn-button.is-outline-danger {
    background: transparent;
    border-color: var(--vdn-red);
    color: var(--vdn-red);
}

.vdn-button.is-outline-danger:hover {
    background: var(--vdn-red);
    border-color: var(--vdn-red);
    color: var(--vdn-white);
}

.vdn-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.vdn-mobile-nav {
    display: none;
    position: relative;
}

.vdn-mobile-nav summary {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    cursor: pointer;
    list-style: none;
    border: 1px solid rgba(67, 65, 66, 0.18);
    border-radius: 999px;
    background: var(--vdn-white);
    font-weight: 700;
    color: var(--vdn-deep);
    box-shadow: 0 12px 26px rgba(26, 21, 22, 0.08);
    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease;
}

.vdn-mobile-nav summary::-webkit-details-marker {
    display: none;
}

.vdn-mobile-nav[open] summary,
.vdn-mobile-nav summary:hover {
    border-color: var(--vdn-green);
    background: var(--vdn-green);
    color: var(--vdn-white);
}

.vdn-mobile-nav-icon {
    display: grid;
    width: 20px;
    gap: 4px;
}

.vdn-mobile-nav-icon span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.vdn-mobile-nav-panel {
    position: absolute;
    top: calc(100% + 18px);
    right: 0;
    display: grid;
    min-width: 220px;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(67, 65, 66, 0.12);
    border-radius: var(--vdn-radius);
    background: var(--vdn-white);
    box-shadow: var(--vdn-soft-shadow);
}

.vdn-mobile-language {
    padding-top: 8px;
    border-top: 1px solid rgba(67, 65, 66, 0.12);
}

.vdn-hero {
    position: relative;
    overflow: hidden;
    background: var(--vdn-warm);
}

.vdn-hero::after {
    display: none;
}

.vdn-hero-bg {
    position: absolute;
    inset: 0;
    opacity: 0.2;
}

.vdn-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vdn-hero-grid {
    position: relative;
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 40px;
    padding: 80px 0 112px;
}

.vdn-hero-grid--single {
    grid-template-columns: minmax(0, 840px);
    padding-top: 72px;
    padding-bottom: 70px;
}

.vdn-domains-hero .vdn-hero-bg {
    opacity: 0.1;
}

.vdn-domains-hero-layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 440px);
    gap: clamp(34px, 5vw, 76px);
    align-items: end;
    padding: clamp(66px, 8vw, 96px) 0 clamp(58px, 7vw, 82px);
}

.vdn-domains-hero-copy {
    min-width: 0;
}

.vdn-domains-hero-tools {
    display: grid;
    gap: 18px;
    min-width: 0;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid rgba(229, 216, 194, 0.88);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 18px 44px rgba(26, 21, 22, 0.08);
    backdrop-filter: blur(12px);
}

.vdn-domains-hero-tools .vdn-eyebrow {
    margin-bottom: 12px;
}

.vdn-domains-hero-tools-title {
    color: var(--vdn-ink);
    font-size: clamp(1.65rem, 2.7vw, 2.35rem);
    font-weight: 700;
}

.vdn-region-hero-map {
    min-width: 0;
    padding: clamp(16px, 2.4vw, 26px);
    border: 1px solid rgba(229, 216, 194, 0.9);
    border-radius: 30px;
    background:
        radial-gradient(circle at 18% 16%, rgba(214, 223, 35, 0.16), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(247, 244, 236, 0.66));
    box-shadow: 0 20px 52px rgba(26, 21, 22, 0.08);
    backdrop-filter: blur(12px);
}

.vdn-region-hero-map .vdn-region-map-visual {
    min-height: clamp(340px, 34vw, 480px);
    border-radius: 24px;
}

.vdn-region-hero-map .vdn-france-map {
    width: min(100%, 620px);
}

.vdn-region-hero {
    padding: clamp(54px, 8vw, 96px) 0 clamp(42px, 6vw, 74px);
}

.vdn-region-hero .vdn-hero-bg {
    opacity: 0.08;
}

.vdn-region-hero-layout {
    grid-template-columns: minmax(0, 0.78fr) minmax(440px, 1.22fr);
    gap: clamp(34px, 5.2vw, 76px);
    align-items: center;
    padding: 0;
}

.vdn-region-hero .vdn-domains-hero-copy {
    max-width: 690px;
}

.vdn-region-hero-map {
    margin: 0;
    aspect-ratio: 1 / 1;
    padding: clamp(10px, 1.8vw, 18px);
    border-color: rgba(162, 122, 74, 0.2);
    border-radius: var(--vdn-radius);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--vdn-soft-shadow);
}

.vdn-region-hero .vdn-region-map-visual {
    width: 100%;
    min-height: 100%;
    border-radius: calc(var(--vdn-radius) - 10px);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(247, 244, 236, 0.62)),
        rgba(255, 255, 255, 0.72);
}

.vdn-region-hero .vdn-france-map {
    width: min(100%, 820px);
}

.vdn-region-hero .vdn-map-label {
    font-size: 17px;
}

.vdn-region-hero .vdn-map-count {
    font-size: 11px;
}

.vdn-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    margin: 0 0 28px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.75);
    color: var(--vdn-deep);
    box-shadow: 0 6px 18px rgba(26, 21, 22, 0.08);
    font-size: 0.9rem;
    font-weight: 500;
}

.vdn-hero-badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--vdn-deep-muted);
    font-size: 0.95rem;
    font-weight: 900;
}

.vdn-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    color: var(--vdn-deep);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.vdn-eyebrow a {
    color: inherit;
    text-decoration: none;
}

.vdn-eyebrow a:hover,
.vdn-eyebrow a:focus-visible {
    color: var(--vdn-deep);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.vdn-eyebrow::before {
    display: none;
}

.vdn-eyebrow-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    content: "";
    border-radius: 999px;
    background: var(--vdn-lime);
    color: var(--vdn-deep-muted);
    font-size: 0.78rem;
    line-height: 1;
}

h1,
h2,
h3 {
    margin: 0;
    line-height: 1.05;
    letter-spacing: 0;
}

.vdn-hero-title {
    max-width: 768px;
    font-size: clamp(3rem, 6.2vw, 4.5rem);
    font-weight: 600;
}

.vdn-hero-text {
    max-width: 672px;
    margin: 24px 0 0;
    color: var(--vdn-graphite);
    font-size: 1.125rem;
    line-height: 1.8;
    font-weight: 400;
}

.vdn-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 36px;
}

.vdn-hero-media {
    position: relative;
    min-height: 520px;
    border-radius: var(--vdn-radius);
    background: transparent;
}

.vdn-hero-media img {
    width: 100%;
    height: 520px;
    min-height: 520px;
    border-radius: var(--vdn-radius);
    box-shadow: 0 28px 70px rgba(26, 21, 22, 0.18);
    object-fit: cover;
    outline: 1px solid rgba(26, 21, 22, 0.05);
}

.vdn-hero-card {
    position: absolute;
    left: 24px;
    bottom: -55px;
    z-index: 2;
    max-width: 320px;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 60px rgba(26, 21, 22, 0.18);
    backdrop-filter: blur(12px);
}

.vdn-hero-card-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.vdn-hero-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--vdn-earth);
    font-size: 1.35rem;
}

.vdn-hero-card strong {
    display: block;
    margin-bottom: 2px;
    font-weight: 700;
}

.vdn-hero-card span {
    color: var(--vdn-graphite);
    font-size: 0.92rem;
}

.vdn-section {
    padding: 68px 0;
}

.vdn-section.is-soft {
    background: var(--vdn-warm);
}

.vdn-domains-directory {
    padding-top: 42px;
}

.vdn-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.vdn-section-title {
    max-width: 760px;
    font-size: clamp(2.25rem, 4.4vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.01em;
}

.vdn-section-copy {
    max-width: 720px;
    margin: 18px 0 0;
    color: var(--vdn-graphite);
    font-size: 1.08rem;
    font-weight: 300;
}

.vdn-rich-text {
    display: block;
    white-space: normal;
}

.vdn-rich-text > * + * {
    margin-top: 12px;
}

.vdn-rich-text p,
.vdn-rich-text ul,
.vdn-rich-text ol,
.vdn-rich-text h2,
.vdn-rich-text h3 {
    margin: 0;
}

.vdn-rich-text ul,
.vdn-rich-text ol {
    padding-left: 1.25em;
}

.vdn-rich-text li + li {
    margin-top: 6px;
}

.vdn-rich-text a {
    color: var(--vdn-deep);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.vdn-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.vdn-domain-card,
.vdn-news-card {
    overflow: hidden;
    border: 1px solid rgba(234, 223, 206, 0.95);
    border-radius: 29px;
    background: var(--vdn-white);
    box-shadow: 0 1px 2px rgba(26, 21, 22, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vdn-domain-card:hover,
.vdn-news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(26, 21, 22, 0.13);
}

.vdn-card-image {
    height: 256px;
    background: linear-gradient(135deg, var(--vdn-porcelain), rgba(145, 191, 78, 0.26));
}

.vdn-card-image {
    position: relative;
}

.vdn-card-image .vdn-card-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    max-width: calc(100% - 32px);
    margin: 0;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
}

.vdn-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vdn-card-body {
    padding: 24px;
}

.vdn-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(214, 223, 35, 0.42);
    color: var(--vdn-deep-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.vdn-card-region-tag {
    color: var(--vdn-earth);
    font-size: 0.9rem;
    text-transform: none;
}

.vdn-card-region-tag i {
    flex: 0 0 auto;
    font-size: 1rem;
}

.vdn-card-title {
    font-size: 1.5rem;
    font-weight: 600;
}

.vdn-card-text {
    margin: 12px 0 0;
    color: var(--vdn-graphite);
    line-height: 1.75;
    font-weight: 400;
}

.vdn-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 20px;
    color: var(--vdn-deep);
    font-weight: 700;
}

.vdn-link::after {
    content: "\2192";
    transition: transform 0.2s ease;
}

.vdn-link:hover::after {
    transform: translateX(4px);
}

.vdn-news-detail {
    padding-top: 96px;
}

.vdn-news-detail-header {
    max-width: 980px;
    margin-bottom: 46px;
}

.vdn-news-detail-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0;
    border-radius: var(--vdn-radius);
    height: clamp(320px, 45vw, 640px);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--vdn-soft-shadow);
}

.vdn-news-detail-media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(250, 247, 239, 0.18);
}

.vdn-news-detail-media-backdrop {
    position: absolute;
    inset: -44px;
    z-index: 0;
    background-position: center;
    background-size: cover;
    filter: blur(32px);
    opacity: 0.58;
    transform: scale(1.08);
}

.vdn-news-detail-media img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.vdn-news-detail-body {
    padding-top: 42px;
}

.vdn-news-detail-card {
    width: 100%;
    padding: clamp(28px, 4vw, 58px);
    border: 1px solid rgba(31, 29, 30, 0.08);
    border-radius: var(--vdn-radius);
    background: #fff;
    box-shadow: var(--vdn-soft-shadow);
}

.vdn-news-detail-card .vdn-rich-text {
    max-width: 920px;
    color: var(--vdn-graphite);
    font-size: 1.08rem;
    line-height: 1.8;
}

.vdn-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
}

.vdn-product-card {
    --product-hover: var(--vdn-green);
    display: block;
}

.vdn-product-card.is-unavailable {
    opacity: 0.68;
}

.vdn-product-frame {
    position: relative;
    height: 255px;
    margin-top: 48px;
    border-radius: var(--vdn-radius);
    background: var(--vdn-porcelain);
    box-shadow: inset 0 0 0 1px rgba(67, 65, 66, 0.08), 0 12px 26px rgba(67, 65, 66, 0.12);
    transition: background 0.24s ease, transform 0.24s ease;
}

.vdn-product-card.is-unavailable .vdn-product-frame {
    background: #e8e5dc;
    box-shadow: inset 0 0 0 1px rgba(67, 65, 66, 0.12), 0 8px 18px rgba(67, 65, 66, 0.08);
}

.vdn-product-card:hover .vdn-product-frame {
    transform: translateY(-4px);
    background: var(--product-hover);
}

.vdn-product-card.is-unavailable:hover .vdn-product-frame {
    background: #e8e5dc;
}

.vdn-product-unavailable-badge {
    position: absolute;
    right: 14px;
    top: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border: 1px solid rgba(67, 65, 66, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--vdn-ink);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(67, 65, 66, 0.1);
    backdrop-filter: blur(10px);
}

.vdn-product-vintage-badges {
    position: absolute;
    left: 18px;
    top: 16px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    max-width: calc(100% - 36px);
}

.vdn-product-packaging-badges {
    position: absolute;
    left: 18px;
    bottom: 16px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    max-width: calc(100% - 36px);
}

.vdn-product-vintage-badges span,
.vdn-product-packaging-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid rgba(67, 65, 66, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--vdn-ink);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(67, 65, 66, 0.1);
    backdrop-filter: blur(10px);
    transition: background 0.24s ease, color 0.24s ease, border-color 0.24s ease;
}

.vdn-product-vintage-badges span {
    background: rgba(0, 147, 68, 0.92);
    color: var(--vdn-white);
}

.vdn-product-card:hover .vdn-product-vintage-badges span,
.vdn-product-card:hover .vdn-product-packaging-badges span {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.74);
    color: var(--vdn-ink);
}

.vdn-product-frame img {
    position: absolute;
    right: 12%;
    bottom: -10px;
    width: auto;
    max-width: 64%;
    height: 330px;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 16px 22px rgba(26, 21, 22, 0.22));
}

.vdn-product-card.is-unavailable .vdn-product-frame img {
    filter: grayscale(1) contrast(0.88) opacity(0.64);
}

.vdn-product-title {
    margin-top: 18px;
    font-size: 1.1rem;
    font-weight: 900;
}

.vdn-product-slogan {
    margin: 7px 0 0;
    color: var(--vdn-graphite);
    font-size: 0.95rem;
    font-weight: 300;
}

.vdn-product-detail-hero {
    background: linear-gradient(180deg, var(--vdn-warm), #fffaf1 68%, var(--vdn-warm));
}

.vdn-product-detail-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.86fr) minmax(480px, 1.14fr);
    gap: clamp(54px, 8vw, 128px);
    align-items: start;
    padding-top: clamp(24px, 4vw, 54px);
    padding-bottom: clamp(84px, 10vw, 138px);
}

.vdn-product-detail-content {
    position: relative;
    z-index: 2;
    padding-top: clamp(6px, 1.4vw, 18px);
}

.vdn-product-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    color: var(--vdn-deep);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.vdn-product-breadcrumb a,
.vdn-product-breadcrumb span {
    color: inherit;
}

.vdn-product-breadcrumb a {
    text-decoration: none;
    text-underline-offset: 5px;
    transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.vdn-product-breadcrumb a:hover,
.vdn-product-breadcrumb a:focus-visible {
    color: var(--vdn-deep-muted);
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.vdn-product-breadcrumb-separator {
    color: rgba(0, 147, 68, 0.52);
    letter-spacing: 0;
}

.vdn-product-visual {
    position: sticky;
    top: 112px;
    min-height: clamp(680px, 74vh, 880px);
}

.vdn-product-visual-stage {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: clamp(680px, 74vh, 880px);
    padding: 30px 28px 0;
    overflow: visible;
}

.vdn-product-visual-stage::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 8%;
    width: min(78%, 560px);
    height: 68%;
    border-radius: 46px;
    background: linear-gradient(135deg, rgba(231, 230, 224, 0.86), rgba(247, 246, 240, 0.76));
    box-shadow:
        inset 0 0 0 1px rgba(67, 65, 66, 0.06),
        0 22px 54px rgba(67, 65, 66, 0.1);
    transform: translateX(-50%);
}

.vdn-product-visual-stage::after {
    display: none;
}

.vdn-product-visual img.vdn-product-hero-image {
    position: relative;
    z-index: 2;
    width: auto;
    height: auto;
    min-height: 0;
    max-width: min(78%, 560px);
    max-height: clamp(660px, 74vh, 860px);
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
    object-position: center bottom;
    outline: 0;
    filter: drop-shadow(0 22px 28px rgba(26, 21, 22, 0.18));
}

.vdn-variant-list {
    margin-top: 28px;
    padding: 18px;
    border: 1px solid rgba(229, 216, 194, 0.9);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
}

.vdn-product-unavailable-note {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin: 18px 0 0;
    padding: 8px 14px;
    border: 1px solid rgba(67, 65, 66, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--vdn-deep-muted);
    font-size: 0.95rem;
    font-weight: 800;
}

.vdn-variant-list strong {
    display: block;
    margin-bottom: 12px;
    color: var(--vdn-deep-muted);
}

.vdn-variant-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.vdn-variant-tag {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--vdn-white);
    color: var(--vdn-graphite);
    font-size: 0.9rem;
}

.vdn-variant-grid {
    display: grid;
    gap: 14px;
}

.vdn-variant-row {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.vdn-variant-year {
    color: var(--vdn-ink);
    font-weight: 900;
}

.vdn-variant-options {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.vdn-variant-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid rgba(67, 65, 66, 0.12);
    border-radius: 999px;
    background: var(--vdn-white);
    color: var(--vdn-graphite);
    font-size: 0.9rem;
    font-weight: 800;
}

.vdn-variant-option.is-active {
    border-color: var(--vdn-green);
    background: var(--vdn-green);
    color: var(--vdn-white);
}

.vdn-variant-option.is-disabled {
    opacity: 0.38;
    pointer-events: none;
    text-decoration: line-through;
}

.vdn-product-technical-list {
    display: grid;
    gap: 0;
    margin-top: 28px;
    border-top: 1px solid rgba(67, 65, 66, 0.14);
}

.vdn-product-certifications {
    margin-top: 28px;
    border-top: 1px solid rgba(67, 65, 66, 0.14);
}

.vdn-product-certification-list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 16px;
    padding-top: 18px;
}

.vdn-product-certification {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 152px;
    aspect-ratio: 1;
    max-width: 100%;
    padding: 18px;
    border: 1px solid rgba(42, 87, 58, 0.13);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 244, 0.88));
    color: var(--vdn-ink);
    box-shadow: 0 18px 42px rgba(22, 22, 18, 0.075);
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

a.vdn-product-certification:hover {
    border-color: rgba(23, 154, 78, 0.36);
    box-shadow: 0 22px 48px rgba(22, 22, 18, 0.105);
    transform: translateY(-1px);
}

.vdn-product-certification:focus-visible {
    outline: 2px solid rgba(23, 154, 78, 0.42);
    outline-offset: 3px;
}

.vdn-product-certification-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 112px;
    height: 112px;
    background: transparent;
}

.vdn-product-certification-mark.is-fallback {
    color: var(--vdn-green);
    font-size: 2.5rem;
    font-weight: 950;
}

.vdn-product-certification-mark img {
    display: block;
    max-width: 102px;
    max-height: 102px;
    object-fit: contain;
}

.vdn-product-technical-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 0 8px;
}

.vdn-product-technical-title {
    margin: 0;
    padding: 22px 0 8px;
    color: var(--vdn-deep);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.vdn-product-technical-heading .vdn-product-technical-title {
    padding: 0;
}

.vdn-product-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid rgba(23, 154, 78, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--vdn-green);
    font-size: 0.82rem;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(22, 22, 18, 0.055);
    transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.vdn-product-download:hover,
.vdn-product-download:focus-visible {
    background: rgba(23, 154, 78, 0.08);
    box-shadow: 0 14px 30px rgba(22, 22, 18, 0.08);
    transform: translateY(-1px);
}

.vdn-product-technical-row {
    display: grid;
    grid-template-columns: minmax(120px, 0.38fr) minmax(0, 0.62fr);
    gap: 18px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(67, 65, 66, 0.1);
}

.vdn-product-technical-row span {
    color: var(--vdn-graphite);
    font-size: 0.92rem;
    font-weight: 800;
}

.vdn-product-technical-row strong {
    color: var(--vdn-ink);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.55;
}

.vdn-region-list {
    display: grid;
    gap: 38px;
}

.vdn-domain-results-list {
    gap: 0;
}

.vdn-region-block {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 42px;
    padding-bottom: 38px;
    border-bottom: 1px solid rgba(67, 65, 66, 0.16);
}

.vdn-region-card-block {
    display: block;
    padding: 42px 0 48px;
}

.vdn-domain-results-list .vdn-region-card-block:first-child {
    padding-top: 0;
}

.vdn-domain-results-list .vdn-region-card-block:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.vdn-region-block-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px 20px;
    margin-bottom: 22px;
}

.vdn-region-count-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid rgba(0, 147, 68, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    color: var(--vdn-deep);
    font-size: 0.78rem;
    font-weight: 900;
}

.vdn-region-title {
    color: var(--vdn-deep);
    font-size: clamp(1.5rem, 3vw, 2.3rem);
    font-weight: 700;
    text-transform: lowercase;
}

.vdn-results-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: end;
    margin: 0 0 38px;
    padding: 30px 0;
    border-top: 1px solid rgba(67, 65, 66, 0.14);
    border-bottom: 1px solid rgba(67, 65, 66, 0.14);
}

.vdn-results-band .vdn-eyebrow {
    margin-bottom: 14px;
}

.vdn-results-title {
    color: var(--vdn-ink);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
}

.vdn-results-copy {
    max-width: 680px;
    margin: 14px 0 0;
    color: var(--vdn-graphite);
    font-size: 1rem;
    line-height: 1.65;
}

.vdn-results-count-card {
    display: grid;
    justify-items: end;
    min-width: 148px;
    padding: 18px 22px;
    border: 1px solid rgba(229, 216, 194, 0.92);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 16px 38px rgba(26, 21, 22, 0.08);
}

.vdn-results-count-card strong {
    color: var(--vdn-deep);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
    font-weight: 800;
}

.vdn-results-count-card span {
    margin-top: 5px;
    color: var(--vdn-earth);
    font-size: 0.85rem;
    font-weight: 900;
    text-transform: uppercase;
}

.vdn-region-story-band {
    background:
        linear-gradient(180deg, rgba(247, 244, 236, 0.82), rgba(255, 255, 255, 0.92));
}

.vdn-region-story-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(34px, 5.2vw, 76px);
    align-items: stretch;
}

.vdn-region-story-grid.is-without-image {
    grid-template-columns: minmax(0, 880px);
}

.vdn-region-story-media {
    min-height: 460px;
    margin: 0;
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(231, 230, 224, 0.52)),
        radial-gradient(circle at 50% 44%, rgba(145, 191, 78, 0.14), transparent 45%);
    overflow: hidden;
    box-shadow: 0 22px 58px rgba(26, 21, 22, 0.1);
}

.vdn-region-story-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
}

.vdn-region-story-copy {
    display: grid;
    align-content: center;
    gap: 20px;
    min-width: 0;
}

.vdn-region-story-copy .vdn-eyebrow {
    margin-bottom: 0;
}

.vdn-region-story-copy .vdn-section-title {
    max-width: 780px;
}

.vdn-region-story-copy .vdn-section-copy {
    max-width: 780px;
    margin: 0;
}

.vdn-region-story-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
    padding-top: 22px;
    border-top: 1px solid rgba(67, 65, 66, 0.12);
}

.vdn-region-story-fact {
    display: grid;
    gap: 4px;
    min-width: 154px;
    padding: 14px 16px;
    border: 1px solid rgba(229, 216, 194, 0.92);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
}

.vdn-region-story-fact strong {
    color: var(--vdn-deep);
    font-size: 1.25rem;
    line-height: 1.15;
    font-weight: 800;
}

.vdn-region-story-fact span {
    color: var(--vdn-earth);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.vdn-region-domains-band .vdn-results-band {
    margin-bottom: 34px;
}

.vdn-domain-list {
    display: grid;
    gap: 13px;
}

.vdn-domain-line {
    color: var(--vdn-graphite);
    font-size: clamp(1.08rem, 2vw, 1.45rem);
    font-weight: 300;
    transition: color 0.2s ease, transform 0.2s ease;
}

.vdn-domain-line:hover {
    transform: translateX(6px);
    color: var(--vdn-deep);
}

.vdn-region-map-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(20px, 3vw, 32px);
    align-items: stretch;
    margin: 26px 0 58px;
    padding: clamp(18px, 3vw, 34px);
    border: 1px solid rgba(229, 216, 194, 0.95);
    border-radius: 32px;
    background:
        radial-gradient(circle at 18% 16%, rgba(214, 223, 35, 0.15), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(247, 244, 236, 0.72));
    box-shadow: 0 24px 70px rgba(26, 21, 22, 0.08);
}

.vdn-domains-directory .vdn-region-map-card {
    margin-top: 0;
}

.vdn-region-map-header {
    max-width: 780px;
    padding: clamp(10px, 1.5vw, 18px) clamp(4px, 1vw, 10px) 0;
}

.vdn-region-map-header h3 {
    margin: 0;
    color: var(--vdn-ink);
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.vdn-region-map-header p:not(.vdn-eyebrow) {
    max-width: 560px;
    margin: 18px 0 0;
    color: var(--vdn-graphite);
    font-size: clamp(1.02rem, 1.5vw, 1.18rem);
    line-height: 1.65;
}

.vdn-region-map-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 520px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(231, 230, 224, 0.48)),
        radial-gradient(circle at 50% 40%, rgba(145, 191, 78, 0.12), transparent 44%);
    overflow: hidden;
}

.vdn-domains-directory .vdn-region-map-card .vdn-region-map-visual {
    min-height: clamp(560px, 56vw, 760px);
}

.vdn-france-map {
    width: min(100%, 760px);
    height: auto;
    color: var(--vdn-deep);
}

.vdn-domains-directory .vdn-region-map-card .vdn-france-map {
    width: min(100%, 1080px);
}

.vdn-map-departments {
    filter: drop-shadow(0 18px 28px rgba(26, 21, 22, 0.08));
}

.vdn-map-departments path {
    fill: rgba(255, 255, 255, 0.96);
    stroke: rgba(67, 65, 66, 0.10);
    stroke-width: 1.15;
    vector-effect: non-scaling-stroke;
}

.vdn-map-compass circle,
.vdn-map-compass path {
    fill: none;
    stroke: rgba(151, 116, 78, 0.38);
    stroke-width: 2;
}

.vdn-map-region {
    cursor: pointer;
    outline: none;
}

.vdn-map-shape {
    fill: rgba(145, 191, 78, 0.54);
    stroke: rgba(0, 147, 68, 0.5);
    stroke-width: 1.45;
    vector-effect: non-scaling-stroke;
    transition: fill 0.2s ease, stroke 0.2s ease, filter 0.2s ease;
}

.vdn-map-globe-source {
    color: rgba(145, 191, 78, 0.54);
    overflow: visible;
    transition: color 0.2s ease, filter 0.2s ease;
}

.vdn-map-globe-source-icon path,
.vdn-map-globe-source-icon polygon {
    fill: currentColor;
    stroke: rgba(0, 147, 68, 0.5);
    stroke-width: 1.6;
    vector-effect: non-scaling-stroke;
}

.vdn-map-line {
    fill: none;
    stroke: rgba(67, 65, 66, 0.5);
    stroke-width: 1.4;
    stroke-linecap: round;
}

.vdn-map-label {
    fill: var(--vdn-ink);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0;
}

.vdn-map-count {
    fill: var(--vdn-graphite);
    font-size: 10px;
    font-weight: 700;
}

.vdn-map-region:hover .vdn-map-shape,
.vdn-map-region:focus .vdn-map-shape,
.vdn-map-region.is-active .vdn-map-shape {
    fill: rgba(0, 147, 68, 0.8);
    stroke: rgba(0, 147, 68, 0.95);
    filter: drop-shadow(0 10px 18px rgba(0, 147, 68, 0.28));
}

.vdn-map-region:hover .vdn-map-globe-source,
.vdn-map-region:focus .vdn-map-globe-source,
.vdn-map-region.is-active .vdn-map-globe-source {
    color: rgba(0, 147, 68, 0.8);
    filter: drop-shadow(0 10px 18px rgba(0, 147, 68, 0.28));
}

.vdn-map-region:hover .vdn-map-label,
.vdn-map-region:focus .vdn-map-label,
.vdn-map-region.is-active .vdn-map-label {
    fill: var(--vdn-deep);
}

.vdn-region-map-panel {
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(229, 216, 194, 0.82);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.72);
}

.vdn-region-map-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.vdn-region-map-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 15px;
    border: 1px solid rgba(229, 216, 194, 0.86);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--vdn-graphite);
    font-weight: 800;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.vdn-region-map-link:hover,
.vdn-region-map-link.is-active {
    transform: translateY(-2px);
    border-color: rgba(0, 147, 68, 0.3);
    background: rgba(214, 223, 35, 0.24);
    color: var(--vdn-deep);
}

.vdn-region-map-link em {
    min-width: 34px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(0, 147, 68, 0.1);
    color: var(--vdn-deep);
    font-style: normal;
    text-align: center;
}

.vdn-domain-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
    gap: 56px;
    align-items: center;
}

.vdn-domain-media {
    position: relative;
    min-height: 520px;
}

.vdn-domain-facts {
    display: grid;
    gap: 10px;
    margin-top: 28px;
    max-width: 560px;
}

.vdn-domain-fact {
    display: flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid rgba(213, 196, 167, 0.76);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.58);
    color: var(--vdn-ink);
    font-size: 0.98rem;
    line-height: 1.25;
    text-decoration: none;
}

.vdn-domain-fact:hover {
    color: var(--vdn-green);
    border-color: rgba(0, 147, 68, 0.32);
    background: rgba(255, 255, 255, 0.86);
}

.vdn-domain-fact strong {
    margin-right: 6px;
    color: var(--vdn-deep);
}

.vdn-domain-fact span:last-child {
    overflow-wrap: anywhere;
}

.vdn-domain-fact-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(0, 147, 68, 0.1);
    color: var(--vdn-green);
}

.vdn-domain-main-image {
    display: block;
    min-height: 520px;
    border-radius: var(--vdn-radius);
    background: var(--vdn-porcelain);
    box-shadow: var(--vdn-shadow);
}

.vdn-domain-main-image,
.vdn-domain-portrait-image {
    width: 100%;
    object-fit: cover;
}

.vdn-domain-portrait-image {
    position: absolute;
    right: -34px;
    bottom: -44px;
    z-index: 2;
    width: min(42%, 265px);
    aspect-ratio: 3 / 4;
    border-radius: var(--vdn-radius);
    background: var(--vdn-porcelain);
    box-shadow: 0 24px 52px rgba(26, 21, 22, 0.22);
}

.vdn-group {
    padding: 70px 0;
    border-top: 1px solid rgba(67, 65, 66, 0.14);
}

.vdn-group-title {
    margin-bottom: 38px;
    text-align: center;
    font-size: clamp(2rem, 4vw, 3.6rem);
    font-weight: 700;
}

.vdn-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 34px;
}

.vdn-filter-row--hero {
    margin: 0;
}

.vdn-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(162, 122, 74, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    color: var(--vdn-graphite);
    font-size: 0.92rem;
    font-weight: 700;
    box-shadow: 0 8px 22px rgba(26, 21, 22, 0.05);
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.vdn-filter-chip:hover {
    border-color: rgba(0, 147, 68, 0.22);
    color: var(--vdn-deep);
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(26, 21, 22, 0.08);
}

.vdn-filter-chip.is-disabled {
    opacity: 0.42;
    cursor: not-allowed;
    pointer-events: none;
}

.vdn-filter-chip i {
    flex: 0 0 auto;
    color: var(--vdn-earth);
    font-size: 1rem;
}

.vdn-filter-chip.is-active {
    background: var(--vdn-deep);
    border-color: var(--vdn-deep);
    color: var(--vdn-white);
    box-shadow: 0 8px 20px rgba(0, 147, 68, 0.18);
}

.vdn-filter-chip.is-active i {
    color: inherit;
}

.vdn-filter-chip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(67, 65, 66, 0.08);
    color: inherit;
    font-size: 0.78rem;
    font-weight: 900;
}

.vdn-filter-chip.is-active span {
    background: rgba(255, 255, 255, 0.2);
}

.vdn-search {
    position: relative;
    width: min(100%, 340px);
}

.vdn-search--hero {
    width: 100%;
}

.vdn-search input {
    width: 100%;
    min-height: 48px;
    padding: 0 18px 0 44px;
    border: 1px solid #DFD1BC;
    border-radius: 999px;
    background: var(--vdn-white);
    color: var(--vdn-ink);
    font: inherit;
    outline: none;
}

.vdn-search span {
    position: absolute;
    top: 50%;
    left: 17px;
    transform: translateY(-50%);
    color: var(--vdn-earth);
}

.vdn-wines-hero .vdn-hero-bg {
    opacity: 0.13;
}

.vdn-wine-head {
    align-items: center;
}

.vdn-wine-search {
    width: min(100%, 420px);
}

.vdn-wine-layout {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

.vdn-wine-sidebar {
    position: sticky;
    top: 104px;
    display: grid;
    gap: 24px;
    padding: 24px;
    border: 1px solid rgba(229, 216, 194, 0.96);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 12px 32px rgba(26, 21, 22, 0.06);
    backdrop-filter: blur(10px);
}

.vdn-wine-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(67, 65, 66, 0.12);
}

.vdn-wine-sidebar-toggle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--vdn-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.vdn-wine-sidebar-toggle strong {
    font-size: 1.1rem;
}

.vdn-wine-sidebar-toggle-indicator {
    display: inline-flex;
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    opacity: 0.72;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.vdn-wine-sidebar-toggle:hover .vdn-wine-sidebar-toggle-indicator {
    opacity: 1;
}

.vdn-wine-sidebar.is-collapsed .vdn-wine-sidebar-toggle-indicator {
    transform: rotate(-45deg) translateY(2px);
}

.vdn-wine-sidebar-head a {
    color: var(--vdn-deep);
    font-size: 0.9rem;
    font-weight: 700;
}

.vdn-wine-sidebar-panel {
    display: grid;
    gap: 24px;
}

.vdn-wine-sidebar-panel[hidden] {
    display: none;
}

.vdn-filter-block h3 {
    margin: 0 0 12px;
    color: var(--vdn-deep-muted);
    font-size: 0.88rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.vdn-filter-list {
    display: grid;
    gap: 8px;
}

.vdn-filter-list a {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 16px;
    color: var(--vdn-graphite);
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.vdn-filter-list a:hover,
.vdn-filter-list a.is-active {
    transform: translateX(3px);
    background: rgba(214, 223, 35, 0.35);
    color: var(--vdn-ink);
}

.vdn-filter-list a.is-disabled {
    opacity: 0.42;
    cursor: not-allowed;
    pointer-events: none;
}

.vdn-filter-list em {
    color: var(--vdn-earth);
    font-style: normal;
    font-weight: 700;
}

.vdn-wine-results {
    min-width: 0;
}

.vdn-results-toolbar {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 24px;
    color: var(--vdn-graphite);
}

.vdn-results-toolbar strong {
    color: var(--vdn-ink);
    font-size: 1.35rem;
}

.vdn-wine-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vdn-wine-grid .vdn-product-frame {
    height: 240px;
}

.vdn-wine-grid .vdn-product-frame img {
    height: 315px;
}

.vdn-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 42px;
}

.vdn-pagination-link,
.vdn-pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 16px;
    border: 1px solid rgba(229, 216, 194, 0.96);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--vdn-ink);
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(26, 21, 22, 0.06);
}

.vdn-pagination-link {
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.vdn-pagination-link:hover,
.vdn-pagination-link.is-active {
    transform: translateY(-2px);
    border-color: var(--vdn-green);
    background: var(--vdn-green);
    color: #fff;
}

.vdn-pagination-link.is-disabled {
    opacity: 0.38;
    pointer-events: none;
}

.vdn-pagination-link.is-control {
    min-width: 0;
}

.vdn-pagination-ellipsis {
    min-width: 32px;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: var(--vdn-earth);
}

.vdn-contact-page {
    background: var(--vdn-warm);
}

.vdn-contact-hero {
    padding: clamp(92px, 11vw, 150px) 0 clamp(72px, 9vw, 118px);
    background:
        linear-gradient(125deg, rgba(255, 255, 255, 0.62) 0%, rgba(246, 249, 222, 0.72) 46%, rgba(251, 247, 239, 0.94) 100%);
}

.vdn-contact-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.76fr);
    gap: clamp(44px, 8vw, 112px);
    align-items: center;
}

.vdn-contact-hero-copy {
    max-width: 720px;
}

.vdn-contact-kicker {
    display: block;
    margin: 0 0 20px;
    color: var(--vdn-deep);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.vdn-contact-kicker::before,
.vdn-contact-kicker > span,
.vdn-contact-kicker > i {
    display: none;
}

.vdn-contact-kicker.is-card {
    margin-top: 24px;
    margin-bottom: 16px;
}

.vdn-contact-kicker.is-inverted {
    color: var(--vdn-lime);
}

.vdn-contact-title {
    margin: 0;
    max-width: 620px;
    color: var(--vdn-ink);
    font-size: clamp(4rem, 7.8vw, 7.5rem);
    line-height: 0.9;
}

.vdn-contact-headline {
    margin: 28px 0 0;
    color: var(--vdn-ink);
    font-size: clamp(1.12rem, 2vw, 1.38rem);
    font-weight: 900;
    line-height: 1.35;
}

.vdn-contact-lead {
    max-width: 650px;
    margin-top: 12px;
    color: var(--vdn-graphite);
    font-size: 1.05rem;
    line-height: 1.72;
}

.vdn-contact-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.vdn-contact-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.vdn-contact-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 16px;
    border: 1px solid rgba(47, 77, 57, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--vdn-deep-muted);
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 8px 22px rgba(26, 21, 22, 0.05);
}

.vdn-contact-direct-card {
    width: min(100%, 460px);
    justify-self: center;
    overflow: hidden;
    border: 1px solid rgba(229, 216, 194, 0.92);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 28px 70px rgba(26, 21, 22, 0.12);
}

.vdn-contact-direct-media {
    width: 100%;
    aspect-ratio: 1.45 / 0.78;
    overflow: hidden;
    background: rgba(214, 223, 35, 0.12);
}

.vdn-contact-direct-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vdn-contact-direct-media.is-logo {
    display: grid;
    place-items: center;
    background: var(--vdn-white);
}

.vdn-contact-direct-media.is-logo img {
    width: min(62%, 280px);
    height: auto;
    padding: 28px;
    background: rgba(245, 248, 234, 0.82);
    object-fit: contain;
}

.vdn-contact-direct-body {
    padding: clamp(26px, 4vw, 38px);
}

.vdn-contact-direct-card h2 {
    margin: 0 0 20px;
    color: var(--vdn-ink);
    font-size: clamp(2rem, 3vw, 2.85rem);
    line-height: 0.98;
}

.vdn-contact-direct-list {
    display: grid;
    gap: 12px;
}

.vdn-contact-direct-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 15px 16px;
    border: 1px solid rgba(67, 92, 72, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--vdn-ink);
    box-shadow: 0 10px 24px rgba(26, 21, 22, 0.05);
}

.vdn-contact-direct-link > span {
    min-width: 0;
}

.vdn-contact-direct-link strong {
    display: block;
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}

.vdn-contact-direct-link small {
    display: block;
    margin-top: 3px;
    color: var(--vdn-graphite);
    font-size: 0.78rem;
    font-weight: 700;
}

.vdn-contact-direct-link i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--vdn-lime);
    color: var(--vdn-deep);
}

.vdn-contact-routing,
.vdn-contact-form-section {
    padding: clamp(70px, 8vw, 112px) 0 0;
}

.vdn-contact-section-head {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(0, 0.72fr);
    gap: clamp(28px, 8vw, 96px);
    align-items: end;
    margin-bottom: 34px;
}

.vdn-contact-section-head h2,
.vdn-contact-form-copy h2 {
    margin: 0;
    color: var(--vdn-ink);
    font-size: clamp(2.4rem, 4.4vw, 4.15rem);
    line-height: 0.96;
}

.vdn-contact-section-intro,
.vdn-contact-form-copy .vdn-rich-text {
    color: var(--vdn-graphite);
    line-height: 1.72;
}

.vdn-contact-role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.vdn-contact-role-card {
    display: flex;
    flex-direction: column;
    min-height: 320px;
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid rgba(229, 216, 194, 0.96);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--vdn-ink);
    box-shadow: 0 16px 38px rgba(26, 21, 22, 0.07);
}

.vdn-contact-role-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.vdn-contact-role-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(214, 223, 35, 0.24);
    color: var(--vdn-deep);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0;
}

.vdn-contact-role-icon i {
    width: 17px;
    height: 17px;
}

.vdn-contact-role-number {
    color: rgba(67, 65, 66, 0.09);
    font-size: clamp(2.6rem, 5vw, 4.5rem);
    font-weight: 900;
    line-height: 0.75;
}

.vdn-contact-role-card h3 {
    margin: 0 0 16px;
    font-size: clamp(1.45rem, 2.2vw, 2.15rem);
    line-height: 1.02;
}

.vdn-contact-role-text {
    color: inherit;
    line-height: 1.58;
}

.vdn-contact-role-card .vdn-contact-role-text {
    color: var(--vdn-graphite);
}

.vdn-contact-role-lead {
    margin: 12px 0 0;
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.5;
}

.vdn-contact-role-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: auto;
    padding-top: 24px;
}

.vdn-contact-role-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    color: var(--vdn-deep);
    font-size: 0.92rem;
    font-weight: 900;
}

.vdn-contact-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 40px;
    overflow: hidden;
    border: 1px solid rgba(229, 216, 194, 0.96);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.64);
    box-shadow: 0 16px 36px rgba(26, 21, 22, 0.05);
}

.vdn-contact-guide article {
    padding: 22px 26px;
    border-right: 1px solid rgba(229, 216, 194, 0.86);
}

.vdn-contact-guide article:last-child {
    border-right: 0;
}

.vdn-contact-guide p:first-child {
    margin: 0 0 10px;
    color: var(--vdn-deep);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.vdn-contact-guide h3 {
    margin: 0 0 8px;
    font-size: 1.08rem;
    line-height: 1.25;
}

.vdn-contact-guide .vdn-rich-text {
    color: var(--vdn-graphite);
    font-size: 0.92rem;
    line-height: 1.55;
}

.vdn-contact-form-section {
    padding-bottom: clamp(78px, 9vw, 128px);
}

.vdn-contact-form-layout {
    display: grid;
    grid-template-columns: minmax(240px, 0.62fr) minmax(0, 1fr);
    gap: clamp(32px, 7vw, 96px);
    align-items: start;
}

.vdn-contact-form-copy {
    position: sticky;
    top: 116px;
}

@media (max-width: 1120px) {
    .vdn-contact-hero-grid,
    .vdn-contact-section-head,
    .vdn-contact-form-layout {
        grid-template-columns: 1fr;
    }

    .vdn-contact-direct-card {
        justify-self: start;
    }

    .vdn-contact-role-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vdn-contact-form-copy {
        position: static;
    }
}

@media (max-width: 760px) {
    .vdn-contact-hero {
        padding-top: 66px;
    }

    .vdn-contact-title {
        font-size: clamp(3.35rem, 18vw, 5rem);
    }

    .vdn-contact-hero-actions,
    .vdn-contact-tags {
        align-items: stretch;
        flex-direction: column;
    }

    .vdn-contact-hero-actions .vdn-button,
    .vdn-contact-tags span {
        width: 100%;
    }

    .vdn-contact-direct-card {
        width: 100%;
    }

    .vdn-contact-role-grid,
    .vdn-contact-guide {
        grid-template-columns: 1fr;
    }

    .vdn-contact-role-card {
        grid-column: auto;
    }

    .vdn-contact-guide article,
    .vdn-contact-guide article:last-child {
        border-right: 0;
        border-bottom: 1px solid rgba(229, 216, 194, 0.86);
    }

    .vdn-contact-guide article:last-child {
        border-bottom: 0;
    }

    .vdn-contact-form-grid {
        grid-template-columns: 1fr;
    }
}

.vdn-contact-band {
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    overflow: hidden;
    border-radius: 32px;
    background: var(--vdn-deep);
    color: var(--vdn-white);
}

.vdn-contact-band img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}

.vdn-contact-media {
    min-height: 360px;
    background: rgba(255, 255, 255, 0.08);
}

.vdn-contact-content {
    padding: clamp(34px, 6vw, 64px);
}

.vdn-contact-content .vdn-section-copy {
    color: rgba(255, 255, 255, 0.78);
}

.vdn-contact-content .vdn-eyebrow {
    color: var(--vdn-lime);
}

.vdn-contact-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 32px;
}

.vdn-contact-card {
    display: block;
    padding: 20px;
    border-radius: 24px;
    border: 0;
    background: rgba(255, 255, 255, 0.1);
    color: var(--vdn-white);
    box-shadow: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.vdn-contact-card:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.16);
}

.vdn-contact-card i {
    margin-bottom: 14px;
    color: var(--vdn-lime);
    font-size: 1.35rem;
}

.vdn-contact-card strong {
    display: block;
    color: var(--vdn-white);
}

.vdn-contact-card span {
    display: block;
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.9rem;
}

.vdn-newsletter-form {
    display: flex;
    gap: 12px;
    margin-top: 32px;
}

.vdn-newsletter-form input {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    background: var(--vdn-white);
    color: var(--vdn-ink);
    font: inherit;
    outline: none;
}

.vdn-newsletter-form button {
    min-height: 52px;
    padding: 0 26px;
    border: 0;
    border-radius: 999px;
    background: var(--vdn-lime);
    color: var(--vdn-ink);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    white-space: nowrap;
}

.vdn-contact-page-form-band {
    display: grid;
    grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(30px, 5vw, 72px);
    align-items: start;
}

.vdn-contact-page-copy {
    position: sticky;
    top: 118px;
}

.vdn-contact-form-panel {
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(162, 122, 74, 0.24);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 20px 55px rgba(67, 65, 66, 0.08);
}

.vdn-contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.vdn-contact-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--vdn-deep);
    font-weight: 800;
}

.vdn-contact-form-field.is-full {
    grid-column: 1 / -1;
}

.vdn-contact-form-field span {
    font-size: 0.9rem;
}

.vdn-contact-form-field input,
.vdn-contact-form-field select,
.vdn-contact-form-field textarea {
    width: 100%;
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid rgba(67, 92, 72, 0.18);
    border-radius: 16px;
    background: var(--vdn-white);
    color: var(--vdn-ink);
    font: inherit;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.vdn-contact-form-field textarea {
    min-height: 150px;
    padding: 16px;
    resize: vertical;
}

.vdn-contact-form-field input:focus,
.vdn-contact-form-field select:focus,
.vdn-contact-form-field textarea:focus {
    border-color: rgba(0, 151, 72, 0.58);
    box-shadow: 0 0 0 4px rgba(0, 151, 72, 0.1);
}

.vdn-contact-consent {
    grid-column: 1 / -1;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: var(--vdn-deep-muted);
    font-weight: 700;
    line-height: 1.45;
}

.vdn-contact-consent input {
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    accent-color: var(--vdn-green);
    flex: 0 0 auto;
}

.vdn-contact-submit {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 26px;
    border: 0;
    border-radius: 999px;
    background: var(--vdn-green);
    color: var(--vdn-white);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    box-shadow: 0 18px 34px rgba(0, 151, 72, 0.22);
}

.vdn-footer {
    padding: 72px 0 0;
    background:
        radial-gradient(circle at top left, rgba(145, 191, 78, 0.24), transparent 34%),
        linear-gradient(135deg, var(--vdn-ink), #203327 78%);
    color: rgba(255, 255, 255, 0.74);
}

.vdn-footer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(150px, 0.65fr) minmax(160px, 0.7fr) minmax(220px, 0.9fr);
    gap: 46px;
    align-items: start;
}

.vdn-footer a {
    color: inherit;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.vdn-footer a:hover {
    color: var(--vdn-lime);
}

.vdn-footer-kicker {
    display: block;
    margin-bottom: 14px;
    color: var(--vdn-lime);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.vdn-footer-brand {
    display: grid;
    gap: 16px;
}

.vdn-footer-brand strong {
    display: block;
    max-width: 360px;
    color: var(--vdn-white);
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 0.95;
    letter-spacing: -0.04em;
}

.vdn-footer-baseline {
    max-width: 360px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.05rem;
    font-weight: 700;
}

.vdn-footer-description {
    max-width: 440px;
    margin: 0;
}

.vdn-footer-title {
    margin: 0 0 18px;
    color: var(--vdn-white);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.vdn-footer-links,
.vdn-footer-contact {
    display: grid;
    gap: 12px;
    font-weight: 700;
}

.vdn-footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}

.vdn-footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: var(--vdn-white);
    transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.vdn-footer-social-link:hover {
    background: var(--vdn-white);
    color: var(--vdn-green);
    transform: translateY(-2px);
}

.vdn-footer-region {
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

.vdn-footer-region p {
    margin: 0 0 18px;
}

.vdn-footer-region-logo {
    display: block;
    width: min(260px, 100%);
    opacity: 0.9;
}

.vdn-footer-region-logo:hover {
    opacity: 1;
}

.vdn-footer-region-logo svg {
    width: 100%;
    height: auto;
}

.vdn-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 0;
    padding: 24px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.88rem;
}

.vdn-footer-bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.vdn-footer-warning {
    margin-top: 42px;
    padding: 24px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.96rem;
    font-weight: 700;
    text-align: center;
}

.vdn-legal-hero {
    padding: clamp(54px, 8vw, 96px) 0 clamp(58px, 8vw, 104px);
}

.vdn-legal-grid {
    display: block;
    max-width: 940px;
}

.vdn-legal-title {
    margin: 16px 0 18px;
    max-width: 760px;
    font-size: clamp(2.35rem, 4.8vw, 4.15rem);
    line-height: 1.02;
    letter-spacing: -0.055em;
}

.vdn-legal-intro {
    margin: 0;
    max-width: 760px;
    color: rgba(67, 65, 66, 0.74);
    font-size: clamp(1.04rem, 1.5vw, 1.24rem);
    line-height: 1.58;
    font-weight: 600;
}

.vdn-about-page {
    overflow: hidden;
    --vdn-about-shell: min(1380px, calc(100vw - 72px));
}

.vdn-about-page .vdn-shell {
    width: var(--vdn-about-shell);
}

.vdn-about-hero {
    padding: clamp(54px, 6vw, 86px) 0 clamp(28px, 4vw, 52px);
}

.vdn-about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(54px, 8vw, 118px);
    align-items: center;
}

.vdn-about-hero-grid.is-without-image {
    grid-template-columns: minmax(0, 760px);
    min-height: auto;
}

.vdn-about-hero-copy {
    max-width: 680px;
}

.vdn-about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}

.vdn-about-actions .vdn-button {
    flex: 0 1 auto;
    min-height: 54px;
    padding-inline: 28px;
}

.vdn-about-hero-media {
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 640px;
    margin: 0;
}

.vdn-about-hero-media.is-empty {
    display: none;
}

.vdn-about-hero-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 560px;
    border-radius: var(--vdn-radius);
    object-fit: contain;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 22px 50px rgba(53, 41, 24, 0.08);
    outline: 1px solid rgba(26, 21, 22, 0.05);
}

.vdn-about-hero-badge {
    max-width: min(390px, calc(100% - 48px));
}

.vdn-about-stats {
    margin-top: 0;
    padding-bottom: 40px;
    padding-top:60px;
}

.vdn-about-stats-card {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--vdn-border);
    border-radius: var(--vdn-radius);
    background: rgba(234, 223, 206, 0.72);
    box-shadow: 0 22px 50px rgba(53, 41, 24, 0.08);
    gap: 1px;
}

.vdn-about-stat {
    min-height: 160px;
    padding: 32px;
    background: #ffffff;
}

.vdn-about-stat strong {
    display: block;
    margin-bottom: 14px;
    color: var(--vdn-ink);
    font-size: clamp(2.4rem, 4.6vw, 4.25rem);
    font-weight: 900;
    line-height: 0.88;
}

.vdn-about-stat span {
    display: block;
    color: rgba(67, 65, 66, 0.76);
    font-size: 1.10rem;
    line-height: 1.35;
    font-weight: 800;
}

.vdn-about-section {
    padding: 74px 0;
}

.vdn-about-stats + .vdn-about-section {
    padding-top: 54px;
}

.vdn-about-section-head {
    display: grid;
    grid-template-columns: minmax(240px, 0.42fr) minmax(0, 0.58fr);
    gap: clamp(28px, 5vw, 80px);
    align-items: end;
    margin-bottom: 34px;
}

.vdn-about-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(340px, 0.78fr);
    gap: 22px;
    align-items: stretch;
}

.vdn-about-story-card,
.vdn-about-side-card,
.vdn-about-value-card,
.vdn-about-process-card,
.vdn-about-cta-card {
    border: 1px solid var(--vdn-border);
    border-radius: var(--vdn-radius);
    background: #ffffff;
    box-shadow: 0 22px 50px rgba(53, 41, 24, 0.08);
}

.vdn-about-story-card {
    padding: clamp(32px, 4vw, 56px);
    max-width: none;
    margin: 0;
}

.vdn-about-story-card strong {
    color: var(--vdn-ink);
    font-weight: 900;
}

.vdn-about-side-card {
    display: flex;
    min-height: 100%;
    padding: clamp(30px, 4vw, 46px);
    flex-direction: column;
    justify-content: space-between;
    border-color: rgba(0, 147, 68, 0.12);
    background: var(--vdn-deep);
    color: #ffffff;
}

.vdn-about-side-card strong {
    display: block;
    margin-bottom: 44px;
    color: #ffffff;
    font-size: clamp(4.25rem, 7vw, 7rem);
    line-height: 0.76;
    font-weight: 900;
}

.vdn-about-side-card h3 {
    margin-bottom: 16px;
    color: #ffffff;
}

.vdn-about-side-card .vdn-section-copy {
    max-width: none;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
}

.vdn-about-values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.vdn-about-value-card {
    display: flex;
    min-height: 565px;
    padding: 28px;
    flex-direction: column;
    border-radius: 26px;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.vdn-about-value-card:hover {
    border-color: rgba(0, 147, 68, 0.35);
    box-shadow: 0 24px 48px rgba(53, 41, 24, 0.085);
    transform: translateY(-4px);
}

.vdn-about-value-card span {
    display: inline-flex;
    width: fit-content;
    height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(0, 147, 68, 0.08);
    color: var(--vdn-deep);
    font-size: 0.82rem;
    font-weight: 900;
}

.vdn-about-value-card h3 {
    margin-top: 34px;
}

.vdn-about-process-card {
    display: grid;
    grid-template-columns: minmax(280px, 0.36fr) minmax(0, 0.64fr);
    gap: 42px;
    padding: clamp(32px, 5vw, 64px);
    align-items: start;
}

.vdn-about-process-intro {
    position: static;
}

.vdn-about-process-intro .vdn-rich-text {
    margin-top: 24px;
}

.vdn-about-process-intro .vdn-section-copy {
    max-width: none;
}

.vdn-about-process-list {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--vdn-border);
}

.vdn-about-process-step {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid var(--vdn-border);
}

.vdn-about-process-step span {
    color: var(--vdn-deep);
    font-size: 0.88rem;
    font-weight: 900;
}

.vdn-about-process-step h3 {
    margin-bottom: 10px;
}

.vdn-about-cta {
    padding: 40px 0 96px;
}

.vdn-about-cta-card {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) auto;
    gap: 28px;
    align-items: center;
    padding: clamp(32px, 4vw, 54px);
    border-color: rgba(0, 147, 68, 0.12);
    background: var(--vdn-deep);
    color: #ffffff;
    box-shadow: 0 28px 60px rgba(0, 122, 62, 0.18);
}

.vdn-about-cta-card .vdn-eyebrow,
.vdn-about-cta-card .vdn-section-title,
.vdn-about-cta-card .vdn-section-copy {
    color: #ffffff;
}

.vdn-about-cta-card .vdn-section-copy {
    max-width: 650px;
    margin-top: 20px;
    color: rgba(255, 255, 255, 0.78);
}

.vdn-about-cta-card .vdn-button {
    min-width: 172px;
    min-height: 52px;
    justify-self: end;
    padding-inline: 28px;
    white-space: nowrap;
    background: #ffffff;
    color: var(--vdn-deep);
    font-size: 0.95rem;
    box-shadow: none;
}

.vdn-legal-card {
    margin-top: clamp(30px, 5vw, 54px);
    padding: clamp(26px, 4vw, 54px);
    border: 1px solid var(--vdn-border);
    border-radius: var(--vdn-radius);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--vdn-soft-shadow);
}

.vdn-legal-card h2,
.vdn-legal-card h3 {
    margin: 0 0 14px;
    color: var(--vdn-ink);
    font-size: clamp(1.22rem, 1.8vw, 1.62rem);
    line-height: 1.18;
    letter-spacing: -0.035em;
}

.vdn-legal-card p {
    margin: 0;
    color: rgba(67, 65, 66, 0.82);
    font-size: 1.02rem;
    line-height: 1.65;
}

.vdn-legal-body {
    display: grid;
    gap: 18px;
    white-space: pre-line;
}

.vdn-legal-section-body {
    display: grid;
    gap: 12px;
    color: rgba(67, 65, 66, 0.82);
    font-size: 1.02rem;
    line-height: 1.65;
}

.vdn-legal-default-grid {
    display: grid;
    gap: 28px;
}

.vdn-legal-default-grid article {
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(162, 122, 74, 0.2);
}

.vdn-legal-default-grid article:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.vdn-cookie-settings-link {
    cursor: pointer;
}

#tarteaucitronRoot {
    --vdn-tac-green: var(--vdn-deep);
    --vdn-tac-border: rgba(162, 122, 74, 0.32);
    font-family: Roboto, Arial, sans-serif !important;
}

#tarteaucitronRoot * {
    box-sizing: border-box !important;
    font-family: Roboto, Arial, sans-serif !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig {
    right: auto !important;
    bottom: 20px !important;
    left: 50% !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px 12px;
    width: min(1040px, calc(100vw - 40px)) !important;
    padding: 18px 20px !important;
    border: 1px solid var(--vdn-tac-border) !important;
    border-radius: 24px !important;
    background: rgba(251, 247, 239, 0.98) !important;
    box-shadow: 0 22px 54px rgba(26, 21, 22, 0.18) !important;
    color: var(--vdn-ink) !important;
    text-align: left !important;
    transform: translateX(-50%);
}

#tarteaucitronRoot #tarteaucitronAlertBig[hidden],
#tarteaucitronRoot #tarteaucitronAlertBig[style*="display: none"],
#tarteaucitronRoot #tarteaucitronAlertBig[style*="display:none"] {
    display: none !important;
    pointer-events: none !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig[style*="opacity: 0"],
#tarteaucitronRoot #tarteaucitronAlertBig[style*="opacity:0"] {
    pointer-events: none !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    flex: 1 1 420px;
    padding: 0 !important;
    color: rgba(67, 65, 66, 0.82) !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    line-height: 1.48 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig button,
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 0.88rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

#tarteaucitronRoot #tarteaucitronAlertBig button:hover,
#tarteaucitronRoot .tarteaucitronAllow:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover {
    transform: translateY(-1px);
}

#tarteaucitronRoot button:focus:not(:focus-visible),
#tarteaucitronRoot a:focus:not(:focus-visible) {
    outline: none !important;
}

#tarteaucitronRoot button:focus-visible,
#tarteaucitronRoot a:focus-visible {
    outline: 3px solid rgba(0, 147, 68, 0.28) !important;
    outline-offset: 3px !important;
}

#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
    display: none !important;
}

#tarteaucitronRoot #tarteaucitronPersonalize2,
#tarteaucitronRoot .tarteaucitronAllow {
    background: var(--vdn-tac-green) !important;
    color: var(--vdn-white) !important;
}

#tarteaucitronRoot #tarteaucitronAllDenied2,
#tarteaucitronRoot .tarteaucitronDeny {
    background: var(--vdn-red) !important;
    color: var(--vdn-white) !important;
}

#tarteaucitronRoot #tarteaucitronCloseAlert {
    border-color: var(--vdn-tac-border) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--vdn-earth) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--vdn-earth) !important;
    font-size: 0.86rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-decoration: underline;
    text-underline-offset: 4px;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    flex-basis: 100%;
    text-align: right !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover {
    transform: none;
}

#tarteaucitronRoot #tarteaucitronIcon {
    display: none !important;
}

.vdn-back-to-top {
    position: fixed;
    right: var(--vdn-floating-action-edge) !important;
    bottom: var(--vdn-floating-action-edge) !important;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--vdn-floating-action-size) !important;
    height: var(--vdn-floating-action-size) !important;
    padding: 0 !important;
    border: 0;
    background: var(--vdn-deep);
    color: var(--vdn-white);
    border-radius: 999px !important;
    box-shadow: var(--vdn-soft-shadow);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px);
    transition: opacity 180ms ease, transform 180ms ease, background 180ms ease;
}

.vdn-back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.vdn-back-to-top:hover {
    background: #007a38;
    transform: translateY(-2px);
}

.vdn-back-to-top:focus-visible {
    outline: 3px solid rgba(0, 147, 68, 0.28);
    outline-offset: 3px;
}

.vdn-back-to-top i {
    font-size: 1.45rem;
    line-height: 1;
}

body .wci-floating-button {
    right: var(--vdn-floating-action-edge) !important;
    bottom: calc(var(--vdn-floating-action-edge) + var(--vdn-floating-action-size) + var(--vdn-floating-action-gap)) !important;
    width: var(--vdn-floating-action-size) !important;
    height: var(--vdn-floating-action-size) !important;
    font-size: 1.55rem !important;
    box-shadow: 0 18px 44px rgba(26, 21, 22, 0.18) !important;
}

body .wci-floating-button i {
    line-height: 1;
}

#tarteaucitronRoot #tarteaucitronBack {
    background: rgba(26, 21, 22, 0.56) !important;
    backdrop-filter: blur(10px);
}

#tarteaucitronRoot #tarteaucitron {
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: min(940px, calc(100vw - 32px)) !important;
    max-height: min(760px, calc(100vh - 32px)) !important;
    border: 1px solid var(--vdn-tac-border) !important;
    border-radius: 24px !important;
    background: var(--vdn-warm) !important;
    box-shadow: var(--vdn-shadow) !important;
    color: var(--vdn-ink) !important;
    overflow: hidden !important;
    transform: translate(-50%, -50%) !important;
}

#tarteaucitronRoot #tarteaucitronClosePanel {
    top: 24px !important;
    right: 24px !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(162, 122, 74, 0.24) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.84) !important;
    color: var(--vdn-earth) !important;
    font-size: 0 !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 12px 28px rgba(26, 21, 22, 0.08) !important;
}

#tarteaucitronRoot #tarteaucitronClosePanel::before {
    content: "×";
    font-size: 1.55rem;
    line-height: 1;
}

#tarteaucitronRoot #tarteaucitronClosePanel:focus-visible {
    outline: 2px solid rgba(139, 104, 66, 0.24) !important;
    outline-offset: 2px !important;
}

#tarteaucitronRoot #tarteaucitronServices {
    max-height: min(700px, calc(100vh - 64px)) !important;
    padding: 30px 34px 26px !important;
    overflow: auto !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset,
#tarteaucitronRoot .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitronSave {
    width: 100% !important;
    min-width: 0 !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 14px 18px;
    align-items: center;
    margin: 0 0 14px !important;
    padding: 22px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.62) !important;
    text-align: left !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset #dialogTitle {
    grid-column: 1 / -1;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset .tarteaucitronH1,
#tarteaucitronRoot #tarteaucitronMainLineOffset #dialogTitle,
#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronInfo,
#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog,
#tarteaucitronRoot #tarteaucitronMainLineOffset .tarteaucitronName {
    border: 0 !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronInfo {
    display: contents !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronInfo p {
    grid-column: 1 / -1;
    max-width: 840px;
    margin: 0 !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronInfo br {
    display: none !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset .tarteaucitronName {
    grid-column: 1;
    grid-row: 3;
    margin: 0 !important;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog {
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
    margin: 0 !important;
    white-space: nowrap;
}

#tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronScrollbarAdjust {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
    margin: 0 !important;
}

#tarteaucitronRoot .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitronSave {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

#tarteaucitronRoot #tarteaucitronServices .tarteaucitronH1,
#tarteaucitronRoot #dialogTitle {
    display: block !important;
    margin: 0 54px 14px 0 !important;
    color: var(--vdn-ink) !important;
    font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    text-align: left !important;
}

#tarteaucitronRoot #tarteaucitronInfo {
    width: auto !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    background: transparent !important;
    color: rgba(67, 65, 66, 0.78) !important;
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

#tarteaucitronRoot #tarteaucitronServices #tarteaucitronInfo {
    width: 100% !important;
}

#tarteaucitronRoot .tarteaucitronAsk {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start !important;
}

#tarteaucitronRoot .tarteaucitronLine {
    margin: 12px 0 !important;
    padding: 16px !important;
    border: 1px solid rgba(162, 122, 74, 0.22) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.68) !important;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

#tarteaucitronRoot .tarteaucitronLine.tarteaucitronIsAllowed {
    border-color: rgba(0, 147, 68, 0.44) !important;
    background: rgba(0, 147, 68, 0.055) !important;
    box-shadow: inset 0 0 0 1px rgba(0, 147, 68, 0.1) !important;
}

#tarteaucitronRoot .tarteaucitronLine.tarteaucitronIsDenied {
    border-color: rgba(178, 57, 73, 0.44) !important;
    background: rgba(178, 57, 73, 0.055) !important;
    box-shadow: inset 0 0 0 1px rgba(178, 57, 73, 0.1) !important;
}

#tarteaucitronRoot .tarteaucitronTitle button,
#tarteaucitronRoot .asCatToggleBtn,
#tarteaucitronRoot .tarteaucitronH2,
#tarteaucitronRoot .tarteaucitronH3 {
    color: var(--vdn-ink) !important;
    font-weight: 900 !important;
}

#tarteaucitronRoot .tarteaucitronName,
#tarteaucitronRoot .tarteaucitronListCookies {
    color: rgba(67, 65, 66, 0.82) !important;
}

#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronDeny {
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 0.82rem !important;
}

#tarteaucitronRoot #tarteaucitronAllAllowed.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronAllAllowed[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronAllDenied[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitronAllDenied2.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronAllDenied2[aria-pressed="true"],
#tarteaucitronRoot .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronAllow.tarteaucitronIsSelected,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronAllow[aria-pressed="true"],
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronDeny.tarteaucitronIsSelected,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronDeny[aria-pressed="true"] {
    border-color: rgba(255, 255, 255, 0.72) !important;
    box-shadow:
        0 0 0 4px rgba(0, 147, 68, 0.18),
        inset 0 0 0 1px rgba(255, 255, 255, 0.38) !important;
}

#tarteaucitronRoot #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronAllDenied[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitronAllDenied2.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronAllDenied2[aria-pressed="true"],
#tarteaucitronRoot .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronDeny.tarteaucitronIsSelected,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronDeny[aria-pressed="true"] {
    box-shadow:
        0 0 0 4px rgba(178, 57, 73, 0.18),
        inset 0 0 0 1px rgba(255, 255, 255, 0.38) !important;
}

#tarteaucitronRoot #tarteaucitronAllAllowed.tarteaucitronIsSelected::before,
#tarteaucitronRoot #tarteaucitronAllAllowed[aria-pressed="true"]::before,
#tarteaucitronRoot .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow::before,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronAllow.tarteaucitronIsSelected::before,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronAllow[aria-pressed="true"]::before {
    content: "✓";
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    color: currentColor;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1;
}

#tarteaucitronRoot #tarteaucitronAllDenied.tarteaucitronIsSelected::before,
#tarteaucitronRoot #tarteaucitronAllDenied[aria-pressed="true"]::before,
#tarteaucitronRoot #tarteaucitronAllDenied2.tarteaucitronIsSelected::before,
#tarteaucitronRoot #tarteaucitronAllDenied2[aria-pressed="true"]::before,
#tarteaucitronRoot .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny::before,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronDeny.tarteaucitronIsSelected::before,
#tarteaucitronRoot .tarteaucitronLine .tarteaucitronDeny[aria-pressed="true"]::before {
    content: "×";
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    color: currentColor;
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 760px) {
    :root {
        --vdn-floating-action-size: 56px;
        --vdn-floating-action-gap: 14px;
        --vdn-floating-action-edge: 16px;
    }

    body .wci-floating-button {
        bottom: calc(var(--vdn-floating-action-edge) + var(--vdn-floating-action-size) + var(--vdn-floating-action-gap)) !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig {
        bottom: 12px !important;
        align-items: stretch;
        width: calc(100vw - 24px) !important;
        padding: 16px !important;
        border-radius: 20px !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
    #tarteaucitronRoot #tarteaucitronAlertBig button {
        flex-basis: 100%;
        width: 100%;
        text-align: center !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
        text-align: center !important;
    }

    #tarteaucitronRoot #tarteaucitronServices {
        padding: 20px !important;
    }

    #tarteaucitronRoot #tarteaucitronClosePanel {
        top: 20px !important;
        right: 20px !important;
    }

    #tarteaucitronRoot #tarteaucitronMainLineOffset {
        grid-template-columns: 1fr;
        padding: 18px !important;
    }

    #tarteaucitronRoot #tarteaucitronServices .tarteaucitronH1,
    #tarteaucitronRoot #dialogTitle {
        margin-right: 76px !important;
        font-size: 1.55rem !important;
    }

    #tarteaucitronRoot .tarteaucitronAsk .tarteaucitronAllow,
    #tarteaucitronRoot .tarteaucitronAsk .tarteaucitronDeny {
        flex: 1 1 180px;
    }

    #tarteaucitronRoot #tarteaucitronMainLineOffset #dialogTitle,
    #tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronInfo p,
    #tarteaucitronRoot #tarteaucitronMainLineOffset .tarteaucitronName,
    #tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronScrollbarAdjust,
    #tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog {
        grid-column: 1;
        grid-row: auto;
    }

    #tarteaucitronRoot #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog {
        justify-self: end;
        white-space: normal;
        text-align: right !important;
    }
}

.vdn-age-gate {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(26, 21, 22, 0.62);
    backdrop-filter: blur(14px);
}

.vdn-age-gate[hidden] {
    display: none;
}

.vdn-age-gate-dialog {
    width: min(560px, 100%);
    padding: clamp(28px, 5vw, 46px);
    border: 1px solid rgba(229, 216, 194, 0.84);
    border-radius: 34px;
    background: var(--vdn-warm);
    box-shadow: 0 34px 100px rgba(26, 21, 22, 0.32);
    text-align: center;
}

.vdn-age-gate-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--vdn-deep);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.vdn-age-gate-title {
    margin: 0;
    color: var(--vdn-ink);
    font-size: clamp(1.65rem, 3vw, 2.55rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.vdn-age-gate-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 32px;
}

.vdn-age-gate-message {
    margin: 22px 0 0;
    color: var(--vdn-red);
    font-weight: 800;
}

.vdn-empty {
    padding: 28px;
    border: 1px solid rgba(67, 65, 66, 0.14);
    border-radius: var(--vdn-radius);
    background: var(--vdn-white);
    color: var(--vdn-graphite);
}

html.vdn-ajax-active {
    cursor: progress;
}

[data-vdn-ajax-region] {
    transition: opacity 180ms ease, filter 180ms ease, transform 180ms ease;
}

[data-vdn-ajax-region].is-loading {
    opacity: 0.48;
    filter: blur(1.5px);
    transform: translateY(3px);
    pointer-events: none;
}

[data-vdn-ajax-region].is-entering :is(
    .vdn-region-map-card,
    .vdn-results-band,
    .vdn-region-card-block,
    .vdn-domain-card,
    .vdn-product-card,
    .vdn-hero-card,
    .vdn-filter-chip,
    .vdn-filter-list a
) {
    animation: vdnAjaxItemIn 420ms cubic-bezier(0.2, 0.7, 0.25, 1) both;
    animation-delay: calc(var(--vdn-stagger, 0) * 34ms);
}

[data-vdn-ajax-region].is-entering .vdn-results-count-card strong,
[data-vdn-ajax-region].is-entering .vdn-results-toolbar strong,
[data-vdn-ajax-region].is-entering .vdn-hero-card strong {
    animation: vdnAjaxCountIn 360ms cubic-bezier(0.2, 0.8, 0.25, 1) both;
}

@keyframes vdnAjaxItemIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

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

@keyframes vdnAjaxCountIn {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.96);
    }

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

@media (prefers-reduced-motion: reduce) {
    [data-vdn-ajax-region],
    [data-vdn-ajax-region].is-loading {
        transition: none;
        transform: none;
        filter: none;
    }

    [data-vdn-ajax-region].is-entering :is(
        .vdn-region-map-card,
        .vdn-results-band,
        .vdn-region-card-block,
        .vdn-domain-card,
        .vdn-product-card,
        .vdn-hero-card,
        .vdn-filter-chip,
        .vdn-filter-list a
    ),
    [data-vdn-ajax-region].is-entering .vdn-results-count-card strong,
    [data-vdn-ajax-region].is-entering .vdn-results-toolbar strong,
    [data-vdn-ajax-region].is-entering .vdn-hero-card strong {
        animation: none;
    }
}

@media (max-width: 980px) {
    :root {
        --vdn-page: min(100vw - 28px, 760px);
    }

    .vdn-about-page {
        --vdn-about-shell: min(100vw - 28px, 760px);
    }

    .vdn-nav {
        display: none;
    }

    .vdn-mobile-nav {
        display: block;
    }

    .vdn-hero-grid,
    .vdn-domain-hero,
    .vdn-about-hero-grid,
    .vdn-product-detail-grid,
    .vdn-legal-grid,
    .vdn-contact-band,
    .vdn-contact-page-form-band {
        grid-template-columns: 1fr;
    }

    .vdn-contact-page-copy {
        position: static;
    }

    .vdn-about-hero-grid.is-without-image {
        grid-template-columns: 1fr;
    }

    .vdn-about-hero {
        padding-top: 58px;
    }

    .vdn-about-hero-grid {
        min-height: auto;
    }

    .vdn-about-hero-media {
        justify-self: start;
    }

    .vdn-about-stats-card,
    .vdn-about-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vdn-about-stat:nth-child(2n) {
        border-right: 0;
    }

    .vdn-about-stat:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(162, 122, 74, 0.18);
    }

    .vdn-about-section-head,
    .vdn-about-story-grid,
    .vdn-about-process-card,
    .vdn-about-cta-card {
        grid-template-columns: 1fr;
    }

    .vdn-about-process-intro {
        position: static;
    }

    .vdn-legal-hero {
        padding-top: 58px;
    }

    .vdn-footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vdn-hero-grid {
        padding: 56px 0 72px;
    }

    .vdn-home-hero .vdn-hero-media {
        display: none;
    }

    .vdn-hero-card {
        bottom: -24px;
    }

    .vdn-domains-hero-layout {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 36px;
        padding: 56px 0 58px;
    }

    .vdn-domains-hero-tools {
        max-width: 680px;
    }

    .vdn-region-hero-map {
        width: min(100%, 760px);
        max-width: 760px;
        justify-self: center;
    }

    .vdn-region-story-grid {
        grid-template-columns: 1fr;
    }

    .vdn-product-detail-grid {
        gap: 42px;
        padding-top: 64px;
        padding-bottom: 72px;
    }

    .vdn-product-detail-content {
        padding-top: 0;
    }

    .vdn-product-visual {
        position: relative;
        top: auto;
        min-height: 560px;
    }

    .vdn-product-visual-stage {
        min-height: 560px;
        padding: 10px 18px 0;
    }

    .vdn-product-visual-stage::before {
        width: min(82%, 440px);
        height: 70%;
    }

    .vdn-product-visual img.vdn-product-hero-image {
        max-width: min(82%, 420px);
        max-height: 560px;
    }

    .vdn-domain-media {
        min-height: 430px;
    }

    .vdn-domain-main-image {
        min-height: 430px;
    }

    .vdn-domain-portrait-image {
        right: 18px;
        bottom: -34px;
        width: min(38%, 220px);
    }

    .vdn-card-grid,
    .vdn-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vdn-wine-layout {
        grid-template-columns: 1fr;
    }

    .vdn-wine-sidebar {
        position: static;
        gap: 18px;
    }

    .vdn-wine-sidebar.is-collapsed {
        gap: 0;
    }

    .vdn-wine-sidebar.is-collapsed .vdn-wine-sidebar-head {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .vdn-pagination {
        gap: 8px;
        margin-top: 34px;
    }

    .vdn-pagination-link,
    .vdn-pagination-ellipsis {
        min-width: 40px;
        height: 40px;
        padding: 0 13px;
    }

    .vdn-region-map-card {
        grid-template-columns: 1fr;
    }

    .vdn-region-map-visual {
        min-height: 460px;
    }

    .vdn-domains-directory .vdn-region-map-card .vdn-region-map-visual {
        min-height: 500px;
    }

    .vdn-region-story-media {
        min-height: 320px;
    }

    .vdn-region-block {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .vdn-results-band {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .vdn-results-count-card {
        justify-items: start;
        justify-self: start;
    }
}

@media (max-width: 620px) {
    :root {
        --vdn-page: min(100vw - 22px, 480px);
    }

    .vdn-about-page {
        --vdn-about-shell: min(100vw - 22px, 480px);
    }

    .vdn-header-inner {
        min-height: 68px;
    }

    .vdn-brand-logo {
        max-width: 180px;
        max-height: 42px;
    }

    .vdn-hero-title {
        font-size: 3rem;
    }

    .vdn-about-hero {
        padding: 46px 0 38px;
    }

    .vdn-about-hero-grid {
        gap: 28px;
    }

    .vdn-about-hero-badge {
        left: 14px;
        bottom: -16px;
        max-width: calc(100% - 28px);
    }

    .vdn-about-actions .vdn-button {
        width: 100%;
    }

    .vdn-about-stats-card,
    .vdn-about-values-grid {
        grid-template-columns: 1fr;
    }

    .vdn-about-stat {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(162, 122, 74, 0.18);
    }

    .vdn-about-stat:last-child {
        border-bottom: 0;
    }

    .vdn-about-section {
        padding-top: 56px;
    }

    .vdn-about-section-head {
        gap: 20px;
    }

    .vdn-about-story-card,
    .vdn-about-side-card,
    .vdn-about-value-card,
    .vdn-about-process-card,
    .vdn-about-cta-card {
        padding: 24px;
        border-radius: 24px;
    }

    .vdn-about-process-step {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 14px;
    }

    .vdn-about-cta {
        padding: 56px 0 72px;
    }

    .vdn-news-detail {
        padding-top: 64px;
    }

    .vdn-news-detail-header {
        margin-bottom: 28px;
    }

    .vdn-news-detail-media {
        height: clamp(240px, 70vw, 420px);
        border-radius: 24px;
    }

    .vdn-news-detail-body {
        padding-top: 28px;
    }

    .vdn-news-detail-card {
        border-radius: 24px;
    }

    .vdn-domains-hero-layout {
        gap: 32px;
        padding: 48px 0 44px;
    }

    .vdn-domains-hero-tools {
        gap: 16px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    .vdn-domains-hero-tools-title {
        font-size: 2.2rem;
    }

    .vdn-region-hero-map {
        padding: 10px;
        border-radius: 22px;
    }

    .vdn-region-hero-map .vdn-region-map-visual {
        min-height: 360px;
        border-radius: 18px;
    }

    .vdn-region-story-media {
        min-height: 260px;
        border-radius: 22px;
    }

    .vdn-domains-directory {
        padding-top: 34px;
    }

    .vdn-section {
        padding: 58px 0;
    }

    .vdn-section-head {
        display: block;
    }

    .vdn-card-grid,
    .vdn-product-grid {
        grid-template-columns: 1fr;
    }

    .vdn-product-frame {
        height: 250px;
        margin-top: 38px;
    }

    .vdn-product-frame img {
        height: 300px;
    }

    .vdn-product-visual {
        min-height: 460px;
    }

    .vdn-product-visual-stage {
        min-height: 460px;
        padding-inline: 0;
    }

    .vdn-product-visual-stage::before {
        width: 92%;
        height: 66%;
        bottom: 3%;
    }

    .vdn-product-visual img.vdn-product-hero-image {
        max-width: 86%;
        max-height: 460px;
    }

    .vdn-variant-row,
    .vdn-product-technical-row {
        grid-template-columns: 1fr;
    }

    .vdn-domain-media,
    .vdn-domain-main-image {
        min-height: 320px;
    }

    .vdn-domain-portrait-image {
        bottom: -24px;
    }

    .vdn-region-map-card {
        padding: 14px;
        border-radius: 24px;
    }

    .vdn-region-map-visual {
        min-height: 340px;
        border-radius: 20px;
    }

    .vdn-domains-directory .vdn-region-map-card .vdn-region-map-visual {
        min-height: 340px;
    }

    .vdn-region-map-header h3 {
        font-size: 2.7rem;
    }

    .vdn-region-map-panel {
        padding: 20px;
        border-radius: 22px;
    }

    .vdn-region-map-links {
        grid-template-columns: 1fr;
    }

    .vdn-results-band {
        margin-bottom: 30px;
        padding: 24px 0;
    }

    .vdn-results-count-card {
        width: 100%;
        border-radius: 20px;
    }

    .vdn-map-label {
        font-size: 19px;
    }

    .vdn-map-count {
        display: none;
    }

    .vdn-footer {
        padding-top: 54px;
    }

    .vdn-contact-card-grid,
    .vdn-contact-form-grid,
    .vdn-newsletter-form {
        grid-template-columns: 1fr;
    }

    .vdn-newsletter-form {
        flex-direction: column;
    }

    .vdn-footer-inner {
        grid-template-columns: 1fr;
    }

    .vdn-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .vdn-age-gate-actions {
        flex-direction: column;
    }
}
