/* Header and gallery cards; all destinations and labels come from the WP menu. */
.v-top-in { position:relative; gap:24px; }
.v-logo, .v-top-side { flex-shrink:0; }
.v-nav > ul { gap:20px; }
.v-nav > ul > .menu-item > a { display:inline-flex; align-items:center; white-space:nowrap; }
.v-top-cta { white-space:nowrap; }
.v-nav > ul > .v-gallery-parent { position:static; }
.v-nav .v-gallery-parent > .v-gallery-mega {
	left:0; right:0; top:100%; width:100%; min-width:0;
	display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px;
	padding:26px; max-height:calc(100dvh - 120px); overflow-y:auto;
	box-shadow:0 14px 35px rgba(17,17,17,.14);
}
.v-nav .v-gallery-parent.is-open > .v-gallery-mega,
.v-nav:not(.is-enhanced) .v-gallery-parent:hover > .v-gallery-mega,
.v-nav:not(.is-enhanced) .v-gallery-parent:focus-within > .v-gallery-mega { opacity:1; visibility:visible; transform:none; }
.v-nav.is-enhanced .v-gallery-parent:not(.is-open) > .v-gallery-mega { opacity:0; visibility:hidden; transform:translateY(6px); pointer-events:none; }
.v-nav .v-gallery-mega .menu-item + .menu-item { border-top:0; }
.v-nav .v-gallery-mega .v-gallery-card > a { display:block; padding:0; white-space:normal; }
.v-gallery-card-photo { display:block; aspect-ratio:2.2; overflow:hidden; background:var(--bg-2); }
.v-gallery-card-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .2s; }
.v-gallery-card > a:hover .v-gallery-card-photo img { transform:scale(1.03); }
.v-gallery-card-title { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:18px; font-size:21px; font-weight:500; line-height:1.3; text-transform:none; letter-spacing:0; color:var(--ink); }
.v-gallery-card-title > span { color:var(--accent); flex-shrink:0; }
.v-gallery-card-description { display:block; font-size:13px; line-height:1.6; font-weight:400; color:var(--ink-2); margin-top:8px; text-transform:none; letter-spacing:0; }
.v-gallery-card-cta { display:inline-flex; gap:14px; align-items:center; font-size:11px; font-weight:500; line-height:1.6; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); padding-bottom:6px; border-bottom:1px solid var(--line-2); margin-top:15px; }
.v-nav .v-gallery-parent > a[aria-expanded=true] { text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; text-underline-offset:10px; }
.v-nav .v-gallery-parent > a[aria-expanded=true]::after { transform:translateY(-1px) rotate(225deg); }
.v-nav a:focus-visible, .v-drawer a:focus-visible, .v-drawer button:focus-visible, .v-burger:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.v-drawer-head { min-height:68px; height:68px; flex-shrink:0; }
.v-drawer-nav { padding-top:14px; }
.v-drawer-nav > ul > li > a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:53px; padding:15px 0; font-size:16px; font-weight:400; line-height:1.3; }
.v-drawer-nav > ul > li > a::after { content:'›'; font-size:22px; font-weight:400; color:var(--ink-2); }
.v-drawer-account { text-align:center; font-size:13px; padding:8px; color:var(--ink); }
.v-drawer-foot { padding-bottom:max(28px,env(safe-area-inset-bottom)); }
@media(max-width:1400px) { .v-top-cta { display:none; } }
@media(max-width:1200px) {
	.v-nav { display:none; }
	.v-burger { display:block; }
	.v-top-cta { display:none; }
	.v-top-in { height:66px; gap:14px; }
	.v-top-side { gap:14px; }
}
@media(prefers-reduced-motion:reduce) { .v-gallery-card-photo img, .v-nav .v-gallery-mega, .v-drawer { transition:none; } }
