/* Prompt 3: shell and Home only. Commerce behavior stays native Woo. */
:root { --vh-ui: "Helvetica Neue", Arial, sans-serif; --vh-header-top: 0px; }
body.admin-bar { --vh-header-top: 32px; }
.home-content [id] { scroll-margin-top: 110px; }
.site-header { position: sticky; top: var(--vh-header-top); background: rgba(250,250,247,.98); transition: box-shadow 180ms ease, background-color 180ms ease; }
.site-header.is-scrolled { background: #fff; box-shadow: 0 3px 16px #20201e0c; }
.header-inner { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); min-height: 88px; max-width: 1536px; padding: 12px var(--vh-gutter); gap: 24px; }
.site-brand { grid-column: 2; grid-row: 1; text-align: center; }
.primary-navigation { grid-column: 1; grid-row: 1; padding: 0; min-width: 0; }
.header-tools { grid-column: 3; grid-row: 1; justify-self: end; padding-right: 155px; }
.header-commerce { grid-column: 3; grid-row: 1; justify-self: end; gap: 24px; }
.site-header, .site-footer, .mobile-menu { font-family: var(--vh-ui); }
.brand-wordmark { font-family: var(--vh-ui); font-size: 28px; letter-spacing: -.035em; font-weight: 700; line-height: 1.1; }
.custom-logo { max-width: 160px; max-height: 42px; }
.header-tools, .header-commerce, .primary-navigation { font-size: 14px; letter-spacing: 0; }
.header-commerce a, .header-search summary, .menu-toggle { min-height: 44px; }
.header-commerce a, .header-search summary, .primary-navigation a { min-width: 44px; }
.primary-navigation > ul { gap: 6px 16px; justify-content: start; }
.primary-navigation a { padding: 12px 0; min-height: 44px; }
.primary-navigation > ul > li { display: flex; align-items: center; flex-wrap: wrap; }
.submenu-toggle { width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--vh-ink); }
.submenu-toggle::after { content: "+"; font-size: 18px; }
.submenu-toggle[aria-expanded="true"]::after { content: "−"; }
.primary-navigation > ul > li > .sub-menu { min-width: 260px; padding: 20px 24px; font-size: 14px; box-shadow: 0 14px 24px #20201e0c; max-height: 65vh; overflow-y: auto; }
.primary-navigation .sub-menu .sub-menu { display: block; font-size: 14px; }
.primary-navigation .has-mega > .sub-menu { width: min(560px, 70vw); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; }
.primary-navigation .has-mega:hover > .sub-menu, .primary-navigation .has-mega:focus-within > .sub-menu { display: grid; }
.primary-navigation .has-mega > .sub-menu > li > a { font-weight: 600; }
.primary-navigation .has-mega .sub-menu .sub-menu { padding-left: 0; }
.primary-navigation .sub-menu[hidden] { display: none !important; }
.primary-navigation .has-mega > .sub-menu:not([hidden]) { display: grid; }
.primary-navigation .sub-menu:not([hidden]) { z-index: 2; }
.search-panel { background: #fff; box-shadow: 0 12px 24px #20201e0c; }
.mobile-menu:not([open]) { display: none; }
.mobile-menu { position: fixed; inset: 0 auto 0 0; width: min(420px, 100%); height: 100%; height: 100dvh; max-width: 100%; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: var(--vh-paper); color: var(--vh-ink); overscroll-behavior: contain; }
.mobile-menu::backdrop { background: #151b1766; }
.mobile-menu[open] { display: flex; flex-direction: column; animation: vh-menu-in 200ms ease both; }
.mobile-menu.is-closing { animation: vh-menu-out 160ms ease both; }
.mobile-menu-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--vh-line); flex-shrink: 0; }
.mobile-menu-top > span { font-size: 20px; font-weight: 600; }
.menu-close { background: transparent; color: inherit; border: 0; padding: 10px; font-size: 14px; }
.menu-close span { font-size: 24px; margin-left: 8px; }
.mobile-menu-content { overflow-y: auto; overscroll-behavior: contain; padding: 12px 24px max(24px,env(safe-area-inset-bottom)); }
.mobile-navigation ul { list-style: none; margin: 0; padding: 0; }
.mobile-navigation a { display: flex; align-items: center; min-height: 48px; text-decoration: none; font-size: 17px; }
.mobile-navigation > ul > li { padding: 8px 0; border-bottom: 1px solid var(--vh-line); }
.mobile-navigation .sub-menu { padding-left: 18px; }
.mobile-navigation .sub-menu a { font-size: 15px; color: var(--vh-muted); }
.mobile-navigation .mobile-account { margin-top: 16px; }
/* Editorial storefront: typography, catalog imagery and deliberate section rhythm. */

/* Home: campaign first, product-driven sections. */
.home-content { font-family: var(--vh-ui); background: #fff; }
.home-content h1, .home-content h2, .home-content h3 { font-family: var(--vh-ui); font-weight: 500; letter-spacing: -.035em; line-height: 1.12; }
.home-content h1, .home-content .has-hero-font-size { font-size: clamp(40px,5vw,72px); }
.home-content h2, .home-content .has-heading-font-size { font-size: clamp(28px,2.7vw,38px); }
.home-content h3 { font-size: 20px; letter-spacing: -.025em; }
.home-content p { font-size: 16px; line-height: 1.6; }
.home-content .eyebrow { font-size: 14px; letter-spacing: .02em; text-transform: none; }
.home-content .starter-label { font-size: 12px; color: #626262; background: #f5f5f3; padding: 10px 20px; }
.home-content > .vh-hero.wp-block-columns { display: grid; grid-template-columns: 1fr; max-width: none; margin: 0; position: relative; isolation: isolate; background: #242424; }
.vh-hero > .wp-block-column { grid-area: 1 / 1; width: 100%; }
.vh-hero .wp-block-image, .vh-hero .wp-block-image img { width: 100%; height: 580px; max-height: 76vh; min-height: 420px; aspect-ratio: auto; }
.vh-hero .wp-block-image img { object-position: center 45%; object-fit: cover; }
.home-content > .vh-hero::after { content: ""; grid-area: 1 / 1; z-index: 0; pointer-events: none; background: linear-gradient(90deg,rgba(0,0,0,.35),transparent 75%); }
.vh-hero .vh-hero-copy { z-index: 1; width: 52%; max-width: 740px; padding: 56px var(--vh-gutter); color: #fff; align-self: center; align-items: start; }
.vh-hero-copy h1 { color: #fff; max-width: 9ch; margin: 16px 0 22px; }
.vh-hero-copy > p { color: #fff; max-width: 30ch; font-size: 16px; }
.vh-hero-copy .wp-block-buttons { margin-top: 20px; }
.vh-section { padding-block: clamp(40px,5vw,72px); }
.vh-section + .vh-section { padding-top: 12px; }
.vh-section > h2 { margin: 0 0 12px; text-align: left; }
.vh-section > p:not(.starter-label) { margin: 0 0 30px; color: var(--vh-muted); max-width: none; }
.vh-collection-section > h2, .vh-collection-section > p { max-width: none !important; }
.vh-collections { gap: 24px; margin-top: 28px; margin-bottom: 0; }
.vh-collections .wp-block-column { position: relative; min-width: 0; }
.vh-collections .wp-block-image { overflow: hidden; background: #f5f5f3; }
.vh-collections img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform 450ms ease; }
.vh-collections h3 { margin: 14px 0 0; }
.vh-collections h3 a { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; }
.vh-collections h3 a::after { content: ""; width: 9px; height: 9px; border-right: 1px solid; border-top: 1px solid; transform: rotate(45deg); margin-right: 6px; flex: 0 0 9px; }
.vh-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; max-width: none !important; }
.vh-section-heading h2 { margin: 0; }
.home-content .wp-block-button__link { font-family: var(--vh-ui); font-size: 14px; font-weight: 500; padding: 15px 28px; min-height: 48px; border: 1px solid #242424; background: #242424; color: #fff; transition: transform 180ms ease, background-color 180ms ease, color 180ms ease; }
.home-content .vh-hero .wp-block-button__link { color: #242424; background: #fff; border-color: #fff; }
.home-content .is-style-outline .wp-block-button__link { background: transparent; color: var(--vh-ink); border: 1px solid currentColor; }
.home-content .vh-section-heading .wp-block-button__link { border: 0; border-bottom: 1px solid currentColor; min-height: 44px; padding: 12px 0 6px; font-size: 14px; }
.home-content .woocommerce ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin-bottom: 0; }
.home-content .woocommerce ul.products li.product { display: flex; flex-direction: column; }
.home-content .woocommerce ul.products li.product .woocommerce-loop-product__title { font: 400 15px/1.5 var(--vh-ui); letter-spacing: 0; overflow-wrap: anywhere; margin: 0 0 8px; padding: 0; }
.home-content .woocommerce ul.products li.product .price { font-size: 15px; line-height: 1.5; color: #626262; overflow-wrap: anywhere; }
.home-content .woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #f5f5f3; margin-bottom: 18px; transition: opacity 180ms ease; }
.home-content .woocommerce ul.products li.product .button { min-height: 44px; margin-top: 14px; padding: 10px 16px; font-size: 14px; background: transparent; color: var(--vh-ink); border-color: var(--vh-line); }
.home-content .woocommerce ul.products li.product .button:hover { border-color: var(--vh-ink); }
.home-content .vh-story.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0; margin-block: 32px 48px; background: #263c34; border: 0; align-items: stretch !important; }
.vh-story .wp-block-image, .vh-story .wp-block-image img { height: 100%; margin: 0; }
.vh-story img { min-height: 460px; max-height: 530px; width: 100%; object-fit: cover; }
.vh-story-copy { align-self: center; color: #fff; padding: clamp(28px,4vw,64px); }
.vh-story-copy h2 { color: #fff; max-width: 14ch; margin: 0 0 24px; font-size: clamp(30px,3.2vw,46px); }
.vh-story-copy p { color: #e8ede9; max-width: 35ch; }
.vh-story-copy .wp-block-buttons { margin-top: 30px; }
.home-content .vh-story .wp-block-button__link { color: #fff; border-color: #fff; }
.site-footer { padding: 52px var(--vh-gutter) 20px; background: #242424; color: #fff; }
.footer-inner { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.site-footer .brand-wordmark { color: #fff; font-size: 36px; }
.footer-heading { font: 500 16px/1.4 var(--vh-ui); color: #fff; margin: 0 0 16px; letter-spacing: 0; }
.footer-menu { display: block; }
.footer-menu a { min-height: 44px; padding: 10px 0; font-size: 14px; color: #d8d8d8; }
.footer-menu a:hover { color: #fff; }
.footer-note { font-size: 15px; color: #bfbfbf; max-width: 30ch; }
.footer-bottom { margin-top: 40px; padding-top: 20px; font-size: 12px; color: #bbb; border-color: #484848; align-items: center; }
.footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }

@keyframes vh-menu-in { from { opacity: .6; transform: translateX(-20px); } to { opacity: 1; transform: none; } }
@keyframes vh-menu-out { to { opacity: 0; transform: translateX(-20px); } }
@media (hover:hover) {
 .home-content .wp-block-button__link:hover { transform: translateY(-1px); background: #324a43; color: #fff; }
 .home-content .vh-hero .wp-block-button__link:hover { background: #eee; color: #242424; }
 .home-content .vh-section-heading .wp-block-button__link:hover { background: transparent; color: #324a43; }
 .vh-collections a:hover img { transform: scale(1.025); }
 .home-content .woocommerce ul.products li.product a:hover img { opacity: .9; }
}
@media (max-width:1023px) {
 html:not(.menu-ready) .site-header { position: relative; }
 .header-inner { grid-template-columns: 1fr minmax(0,1.2fr) 1fr; min-height: 68px; padding: 8px 20px; gap: 8px; }
 .site-brand { order: 2; grid-column: 2; text-align: center; }
 .header-tools { order: 1; grid-column: 1; padding: 0; justify-self: start; gap: 6px; }
 .header-commerce { order: 3; grid-column: 3; }
 .primary-navigation { order: 4; grid-row: 2; grid-column: 1 / -1; width: 100%; }
 .primary-navigation > ul { display: block; }
 .primary-navigation > ul > li { display: block; }
 .primary-navigation .sub-menu { position: static; display: block; min-width: 0; width: auto; border: 0; box-shadow: none; }
 .primary-navigation .mobile-account { display: block; }
 .menu-ready .primary-navigation { display: none; }
 .header-commerce .account-link { display: none; }
 .menu-toggle { padding: 0 6px 0 0; }
 .brand-wordmark { font-size: 23px; }
 .header-tools, .header-commerce { font-size: 14px; }
 .custom-logo { max-width: 130px; max-height: 38px; }
 .home-content .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .vh-hero .vh-hero-copy { width: 58%; }
}
@media (max-width:781px) { body.admin-bar { --vh-header-top: 46px; } }
@media (max-width:767px) {
 .home-content > .vh-hero.wp-block-columns { display: grid; }
 .vh-hero .wp-block-image, .vh-hero .wp-block-image img { height: 460px; min-height: 0; max-height: none; object-position: 67% center; }
 .home-content > .vh-hero::after { background: linear-gradient(0deg,rgba(0,0,0,.83),rgba(0,0,0,.1) 84%); }
 .vh-hero .vh-hero-copy { width: 100%; max-width: none; align-self: end; padding: 28px 20px; }
 .vh-hero-copy h1 { max-width: 9ch; margin: 8px 0 16px; font-size: 44px; }
 .vh-hero-copy .eyebrow { margin-bottom: 0; font-size: 13px; }
 .vh-hero-copy > p:not(.eyebrow) { max-width: 27ch; font-size: 15px; margin-bottom: 0; }
 .vh-hero-copy .wp-block-buttons { margin-top: 20px; }
 .home-content .vh-collections.wp-block-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 20px; }
 .vh-collections img { aspect-ratio: 3 / 4; object-fit: cover; }
 .home-content .vh-collections h3 { font-size: 14px; line-height: 1.4; letter-spacing: 0; margin-top: 8px; }
 .vh-collections h3 a { display: flex; min-height: 44px; align-items: start; }
 .vh-collections h3 a::after { display: none; }
 .vh-section > p:not(.starter-label) { font-size: 15px; margin-bottom: 20px; }
 .vh-section-heading { margin-bottom: 20px; }
 .home-content .vh-story.wp-block-columns { grid-template-columns: 1fr; margin-block: 8px 32px; }
 .vh-story .wp-block-image img { min-height: 0; max-height: none; height: 280px; object-position: center 45%; }
 .vh-story-copy { padding: 30px 24px 36px; }
 .vh-story-copy h2 { font-size: 32px; max-width: 16ch; margin-bottom: 20px; }
 .vh-story-copy p { font-size: 15px; }
 .home-content .woocommerce ul.products { gap: 28px 12px; }
 .home-content .woocommerce ul.products li.product .button { padding: 10px 8px; }
 .footer-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
 .footer-inner > div:first-child { grid-column: 1 / -1; }
 .site-footer { padding-top: 36px; }
 .footer-bottom { gap: 12px; margin-top: 24px; }
}
@media (max-width:600px) { body.admin-bar { --vh-header-top: 0px; } }
@media (prefers-reduced-motion:reduce) {
 .site-header, .home-content *, .mobile-menu { animation: none !important; transition: none !important; }
 .vh-reveal { opacity: 1; transform: none; }
 .home-content .wp-block-button__link:hover, .vh-collections a:hover img { transform: none; }
}

/* Impeccable animate: campaign, navigation continuity, control feedback. */
@font-face { font-family:"Manrope"; src:url("../fonts/manrope-variable.ttf") format("truetype"); font-weight:200 800; font-style:normal; font-display:swap; }
:root { --vh-ui:"Manrope",sans-serif; --vh-motion:cubic-bezier(.16,1,.3,1); }
::selection { background:#d5e5da; color:#15281e; }
input,textarea { caret-color:#263c34; }
.mobile-menu-content { scrollbar-color:#8c998f #f7f8f4; scrollbar-width:thin; }
.home-content h1,.home-content h2 { text-wrap:balance; letter-spacing:-.035em; }
.brand-wordmark { letter-spacing:-.035em; }
.header-tools { padding-right:76px; }
.site-header { border-bottom:0; }
.primary-navigation > ul > li > a { position:relative; }
.primary-navigation > ul > li > a::after { content:""; position:absolute; bottom:6px; inset-inline:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform 240ms var(--vh-motion); }
.primary-navigation > ul > li:hover > a::after,.primary-navigation > ul > li:focus-within > a::after { transform:scaleX(1); }
.submenu-toggle::after,.submenu-toggle[aria-expanded="true"]::after,.mobile-disclosure::after { content:""; display:inline-block; width:8px; height:8px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); transition:transform 180ms var(--vh-motion); vertical-align:3px; }
.submenu-toggle[aria-expanded="true"]::after,.mobile-disclosure[aria-expanded="true"]::after { transform:rotate(225deg); vertical-align:0; }
.navigation-scrim { position:fixed; inset:0; z-index:19; background:rgba(15,25,19,.38); opacity:0; visibility:hidden; pointer-events:none; transition:opacity 240ms ease,visibility 240ms; }
.nav-expanded .navigation-scrim { opacity:1; visibility:visible; pointer-events:auto; }
.search-panel { border:0; padding:32px var(--vh-gutter); }
.header-search[open] .search-panel { animation:vh-panel-in 260ms var(--vh-motion) both; }
.home-content > .vh-hero.wp-block-columns { background:#182d25; overflow:hidden; }
.vh-hero > .wp-block-column:not(.vh-hero-copy) { margin-left:38%; width:62%; }
.vh-hero .wp-block-image,.vh-hero .wp-block-image img { height:640px; min-height:480px; max-height:82vh; }
.home-content > .vh-hero::after { background:linear-gradient(90deg,#182d25 27%,rgba(24,45,37,.93) 38%,rgba(24,45,37,.38) 60%,transparent 82%); }
.vh-hero .vh-hero-copy { width:58%; max-width:840px; }
.home-content .vh-hero h1 { font-size:clamp(48px,6.1vw,88px); font-weight:500; max-width:9ch; line-height:1.07; margin-top:0; }
.vh-hero-copy > p { color:#edf3ee; }
.vh-hero-copy > p:last-child { font-size:11px; margin-top:24px; }
.vh-hero-copy .wp-block-button__link { display:inline-flex; align-items:center; gap:24px; }
.home-content .wp-block-button__link::after { content:""; display:inline-block; width:18px; height:18px; margin-left:16px; vertical-align:middle; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform 180ms var(--vh-motion); }
.home-content .wp-block-button__link { transition:background-color 180ms,color 180ms,box-shadow 180ms; }
.home-content .wp-block-button__link:hover { transform:none; }
.home-content .wp-block-button__link:hover::after { transform:translateX(4px); }
.home-content .wp-block-button__link:active { transform:scale(.98); }
.hero-word { display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.12em; margin-bottom:-.12em; }
.hero-word > span { display:inline-block; }
.motion-ready .hero-word > span { animation:vh-title-in 560ms var(--vh-motion) var(--word-delay) both; }
.motion-ready .wp-block-image { animation:vh-curtain 760ms var(--vh-motion) both; }
.motion-ready .wp-block-image img { animation:vh-photo-settle 800ms var(--vh-motion) both; }
.motion-ready .vh-hero-copy > p,.motion-ready .vh-hero-copy .wp-block-buttons { animation:vh-copy-in 400ms ease 180ms both; }
.vh-collections img { transition:transform 650ms var(--vh-motion); }
.vh-collections h3 a::after { transition:transform 240ms var(--vh-motion); }
.vh-collections a:hover img { transform:scale(1.045); }
.vh-collections h3 a:hover::after { transform:translateX(4px) rotate(45deg); }
.home-content .woocommerce ul.products li.product .button { transition:background-color 180ms,color 180ms,border-color 180ms; }
.home-content .woocommerce ul.products li.product .button:hover { background:#263c34; color:#fff; border-color:#263c34; }
.mobile-menu { width:min(440px,100%); background:#f7f8f4; }
.mobile-menu[open] { animation:vh-drawer-in 340ms var(--vh-motion) both; }
.mobile-menu.is-closing { animation:vh-drawer-out 220ms ease both; }
.mobile-menu::backdrop { background:rgba(15,25,19,.45); }
.mobile-menu-top { padding:20px 24px; }
.mobile-menu-top > span { font-size:13px; letter-spacing:.04em; }
.mobile-menu-content { padding-top:16px; }
.mobile-navigation > ul > li { position:relative; padding:12px 0; }
.mobile-navigation > ul > li > a { width:calc(100% - 52px); font-size:27px; letter-spacing:-.03em; line-height:1.25; }
.mobile-navigation > ul > li > .sub-menu { padding:8px 0 8px 16px; }
.mobile-navigation > ul > li > .sub-menu > li > a { font-size:16px; font-weight:600; color:#263c34; }
.mobile-navigation .sub-menu .sub-menu a { font-size:14px; }
.mobile-disclosure { position:absolute; top:14px; right:0; width:48px; min-height:48px; padding:0; border:0; background:transparent; color:#263c34; }
.mobile-menu[open]:not(.is-closing) .mobile-navigation > ul > li { animation:vh-menu-item 330ms var(--vh-motion) var(--item-delay,0ms) both; }
.menu-close span { font-size:0; display:inline-block; width:18px; height:18px; vertical-align:middle; position:relative; }
.menu-close span::before,.menu-close span::after { content:""; position:absolute; top:8px; left:0; width:18px; height:1.5px; background:currentColor; transform:rotate(45deg); }
.menu-close span::after { transform:rotate(-45deg); }
@keyframes vh-title-in { from { transform:translateY(105%); } to { transform:none; } }
@keyframes vh-curtain { from { clip-path:inset(0 0 0 18%); } to { clip-path:inset(0); } }
@keyframes vh-photo-settle { from { transform:scale(1.055); } to { transform:none; } }
@keyframes vh-copy-in { from { opacity:.35; } to { opacity:1; } }
@keyframes vh-panel-in { from { opacity:0; transform:translateY(-12px); clip-path:inset(0 0 20% 0); } to { opacity:1; transform:none; clip-path:inset(0); } }
@keyframes vh-drawer-in { from { transform:translateX(-100%); } to { transform:none; } }
@keyframes vh-drawer-out { to { transform:translateX(-100%); } }
@keyframes vh-menu-item { from { opacity:0; transform:translateX(-16px); } to { opacity:1; transform:none; } }
@media(min-width:1024px) {
 .primary-navigation > ul > li { position:static; }
 .primary-navigation > ul > li > .sub-menu,.primary-navigation .has-mega > .sub-menu { position:absolute; top:100%; left:0; right:0; width:100%; min-width:0; max-height:calc(100dvh - 150px); padding:36px max(var(--vh-gutter),calc((100vw - 1320px)/2)); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 48px; background:#f7f8f4; border:0; box-shadow:0 18px 32px rgba(16,30,22,.12); }
 .primary-navigation > ul > li.is-expanded > .sub-menu { animation:vh-panel-in 320ms var(--vh-motion) both; }
 .primary-navigation .has-mega > .sub-menu > li > a { font-size:19px; font-weight:500; letter-spacing:-.025em; }
 .primary-navigation .sub-menu .sub-menu { position:static; padding:12px 0 0; border:0; background:transparent; box-shadow:none; }
 .primary-navigation .sub-menu .sub-menu a { font-size:14px; padding:10px 0; color:#505950; transition:color 160ms,transform 160ms; }
 .primary-navigation .sub-menu .sub-menu a:hover { color:#182d25; transform:translateX(4px); }
 .primary-navigation .mega-feature { max-width:360px; justify-self:end; width:100%; }
 .primary-navigation .mega-feature > a { display:block; padding:0; overflow:hidden; }
 .mega-feature img { width:100%; height:220px; object-fit:cover; object-position:center 40%; display:block; transition:transform 600ms var(--vh-motion); }
 .mega-feature a:hover img { transform:scale(1.035); }
 .mega-feature span { display:block; font-size:13px; padding:14px 0 0; }
}
@media(max-width:1023px) { .header-tools { padding-right:0; } }
@media(max-width:767px) {
 .home-content > .vh-hero.wp-block-columns { display:flex; flex-direction:column; }
 .vh-hero .vh-hero-copy { width:100%; padding:32px 20px; max-width:none; order:1; background:#182d25; }
 .home-content .vh-hero h1 { font-size:50px; max-width:10ch; margin:0 0 18px; }
 .vh-hero > .wp-block-column:not(.vh-hero-copy) { width:100%; margin:0; order:2; }
 .vh-hero .wp-block-image,.vh-hero .wp-block-image img { height:350px; min-height:0; max-height:none; object-position:center 42%; }
 .home-content > .vh-hero::after { display:none; }
 .vh-hero-copy > p:not(.eyebrow) { max-width:34ch; }
 .vh-hero-copy > p:last-child { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .motion-ready *, .primary-navigation *, .mobile-menu[open], .mobile-menu.is-closing, .mobile-menu *, .header-search[open] .search-panel { animation:none !important; }
 .hero-word > span,.mega-feature a:hover img,.vh-collections a:hover img,.primary-navigation .sub-menu a:hover { transform:none !important; }
 .navigation-scrim { transition:opacity 80ms linear; }
}

/* 0.5: motion remains present while browsing, including touch devices. */
.vh-hero .wp-block-image { overflow:hidden; }
.vh-hero .wp-block-image img { translate:0 var(--hero-drift,0px); scale:1.18; }
.vh-hero .vh-hero-copy { translate:0 var(--hero-copy-drift,0px); }
.motion-ready .hero-word > span { animation-duration:900ms; }
.motion-ready .wp-block-image { animation-duration:1100ms; }
.motion-ready .wp-block-image img { animation-duration:1250ms; }
.motion-ready .vh-hero-copy > p,.motion-ready .vh-hero-copy .wp-block-buttons { animation-duration:700ms; animation-delay:300ms; }
.vh-story .wp-block-image { overflow:hidden; }
.vh-story .wp-block-image img { translate:0 var(--story-drift,0px); scale:1.16; }
.page-scroll-progress { position:absolute; inset:auto 0 0; height:2px; background:#8fae9b; transform:scaleX(var(--page-progress,0)); transform-origin:left; pointer-events:none; }
.vh-collections .wp-block-image a { display:block; overflow:hidden; }
.vh-collections img { transition:transform 900ms var(--vh-motion); }
@media(hover:hover) and (pointer:fine) {
 .vh-collections a:hover img { transform:scale(1.09); }
 .vh-collections .wp-block-column:hover h3 a::after { transform:translateX(7px) rotate(45deg); }
 .home-content .woocommerce ul.products li.product > a:first-child img { transition:scale 600ms var(--vh-motion); }
 .home-content .woocommerce ul.products li.product:hover > a:first-child img { scale:1.025; }
}
@media(prefers-reduced-motion:reduce) {
 .vh-hero .wp-block-image img,.vh-story .wp-block-image img,.vh-hero .vh-hero-copy { translate:none; scale:1; }
 .page-scroll-progress { display:none; }
 .home-content .woocommerce ul.products li.product:hover > a:first-child img { scale:1; }
}

/* Taste Skill: asymmetric commerce editorial; one palette, native CSS timelines. */
:root { --vh-paper:#f6f7f9; --vh-ink:#192029; --vh-muted:#59626e; --vh-accent:#294cc4; --vh-line:#d9dee5; --taste-surface:#eef1f5; --taste-card:#fcfcfd; --taste-focus:#294cc4; --taste-inverse:#f6f7f9; }
.header-state-marker { position:absolute; top:16px; left:0; width:1px; height:1px; pointer-events:none; }
body,.home-content { background:var(--vh-paper); color:var(--vh-ink); }
.site-header,.site-header.is-scrolled { background:var(--vh-paper); }
.header-inner { min-height:80px; }
.home-content { --vh-wide:1320px; }
.home-content h1,.home-content h2,.home-content h3 { color:var(--vh-ink); font-weight:500; }
.home-content > .vh-hero.wp-block-columns { display:grid; grid-template-columns:.9fr 1.1fr; gap:32px; width:calc(100% - 2 * var(--vh-gutter)); max-width:1320px; margin:24px auto 0; background:transparent; overflow:visible; isolation:isolate; view-timeline-name:--campaign; view-timeline-axis:block; }
.vh-hero > .wp-block-column,.vh-hero > .wp-block-column:not(.vh-hero-copy) { grid-area:auto; width:auto; margin:0; min-width:0; }
.home-content > .vh-hero::after { display:none; }
.vh-hero .vh-hero-copy { width:auto; max-width:none; background:transparent; color:var(--vh-ink); padding:32px 0 48px; translate:none; }
.home-content .vh-hero h1 { font-size:clamp(50px,6.5vw,92px); font-weight:600; letter-spacing:-.04em; max-width:9ch; line-height:1.04; margin:0 0 28px; }
.home-content .vh-hero-copy > p { color:var(--vh-muted); max-width:32ch; font-size:16px; margin:0 0 12px; }
.vh-hero .wp-block-image,.vh-hero .wp-block-image img { height:540px; min-height:0; max-height:70dvh; aspect-ratio:4/5; width:100%; }
.vh-hero .wp-block-image { background:var(--taste-surface); overflow:hidden; }
.vh-hero .wp-block-image img { object-fit:cover; object-position:center; scale:1.08; translate:none; }
.home-content .vh-hero .wp-block-button__link { color:var(--taste-inverse); background:var(--vh-accent); border-color:var(--vh-accent); }
.home-content .wp-block-button__link { white-space:nowrap; padding:16px 22px; min-height:52px; font-size:13px; }
.home-content .wp-block-button__link::after { mask-image:url('../images/arrow-right.svg'); }
.home-content > .vh-section { padding-block:88px; }
.home-content > .vh-section + .vh-section { padding-top:16px; }
.home-content .vh-section > h2 { font-size:clamp(30px,3.4vw,48px); margin:0 0 28px; max-width:20ch; }
.home-content .vh-section > p { color:var(--vh-muted); }
.vh-collections.wp-block-columns { display:grid; grid-template-columns:1.15fr 1fr; gap:32px; margin-top:0; }
.vh-collections > .wp-block-column { display:grid; grid-template-rows:minmax(0,1fr) auto auto; align-content:start; }
.vh-collections > .wp-block-column:first-child { grid-row:span 2; }
.vh-collections .wp-block-image { min-height:0; background:var(--taste-surface); }
.vh-collections .wp-block-image a { height:100%; }
.vh-collections img { height:220px; aspect-ratio:auto; object-fit:cover; object-position:center 45%; }
.vh-collections > .wp-block-column:first-child img { height:100%; min-height:540px; }
.home-content .vh-collections h3 { font-size:25px; margin:14px 0 0; letter-spacing:-.03em; }
.vh-collections p { margin:0; color:var(--vh-muted); font-size:13px; }
.vh-collections h3 a::after { width:20px; height:20px; flex-basis:20px; border:0; background:currentColor; mask:url('../images/arrow-up-right.svg') center/contain no-repeat; transform:none; }
.vh-collections .wp-block-column:hover h3 a::after,.vh-collections h3 a:hover::after { transform:translate(3px,-3px); }
.home-content .woocommerce ul.products { gap:32px 24px; }
.home-content .woocommerce ul.products li.product a img { aspect-ratio:4/5; background:var(--taste-surface); object-fit:contain; margin-bottom:18px; }
.home-content .woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight:500; font-size:14px; line-height:1.6; color:var(--vh-ink); }
.home-content .woocommerce ul.products li.product .price { color:var(--vh-muted); font-size:14px; font-variant-numeric:tabular-nums; }
.home-content .woocommerce ul.products li.product .button { align-self:stretch; margin-top:auto; position:relative; top:12px; border-color:var(--vh-line); color:var(--vh-ink); }
.home-content .woocommerce ul.products li.product .button:hover { background:var(--vh-accent); color:var(--taste-inverse); border-color:var(--vh-accent); }
.home-content .vh-story.wp-block-columns { padding:0; grid-template-columns:1.1fr .9fr; margin-block:24px 88px; background:var(--taste-surface); view-timeline-name:--story; view-timeline-axis:block; }
.vh-story img { min-height:440px; max-height:560px; scale:1.1; translate:none; }
.vh-story-copy { color:var(--vh-ink); padding:40px 48px; }
.home-content .vh-story-copy h2 { color:var(--vh-ink); font-size:clamp(32px,3.7vw,54px); max-width:12ch; line-height:1.08; }
.vh-story-copy p { color:var(--vh-muted); font-size:15px; }
.home-content .vh-story .wp-block-button__link { color:var(--vh-ink); border-color:var(--vh-ink); }
.home-content .vh-story .wp-block-button__link:hover { background:var(--vh-accent); color:var(--taste-inverse); border-color:var(--vh-accent); }
.site-footer { background:var(--taste-surface); color:var(--vh-ink); padding-top:64px; }
.site-footer .brand-wordmark { color:var(--vh-ink); font-size:clamp(42px,6.5vw,92px); font-weight:600; }
.footer-heading { color:var(--vh-ink); font-size:13px; font-weight:600; }
.footer-menu a,.footer-menu a:hover,.footer-note,.footer-bottom { color:var(--vh-muted); }
.footer-bottom { border-color:var(--vh-line); }
.footer-note { margin-top:20px; }
.starter-label { background:var(--taste-surface); color:var(--vh-muted); }
.primary-navigation > ul > li > .sub-menu,.primary-navigation .has-mega > .sub-menu,.primary-navigation .sub-menu .sub-menu,.mobile-menu,.search-panel { background:var(--taste-card); color:var(--vh-ink); }
.primary-navigation .sub-menu .sub-menu a,.primary-navigation .sub-menu .sub-menu a:hover,.mobile-navigation .sub-menu a,.mobile-navigation > ul > li > .sub-menu > li > a,.mobile-disclosure { color:var(--vh-ink); }
.primary-navigation .has-mega > .sub-menu > li > a { font-size:23px; }
.primary-navigation .sub-menu .sub-menu a { color:var(--vh-muted); }
.mobile-menu-top,.mobile-navigation > ul > li { border-color:var(--vh-line); }
.search-form input { background:var(--vh-paper); color:var(--vh-ink); border-color:var(--vh-line); }
.search-form input::placeholder { color:var(--vh-muted); }
.search-form button { background:var(--vh-accent); color:var(--taste-inverse); border-color:var(--vh-accent); }
.page-scroll-progress { background:var(--vh-accent); }
:focus-visible,.site-footer :focus-visible { outline-color:var(--taste-focus); }
::selection { background:var(--vh-accent); color:var(--taste-inverse); }
@supports(animation-timeline:scroll()) {
 @media(prefers-reduced-motion:no-preference) {
  .home-content .vh-hero .wp-block-image img { animation:taste-hero-drift linear both; animation-timeline:--campaign; animation-range:exit 0% exit 100%; }
  .home-content .vh-story .wp-block-image img { animation:taste-story-drift linear both; animation-timeline:--story; animation-range:entry 0% exit 100%; }
  .page-scroll-progress { animation:taste-progress linear both; animation-timeline:scroll(root block); }
 }
}
@keyframes taste-hero-drift { from{translate:0 0;} to{translate:0 24px;} }
@keyframes taste-story-drift { from{translate:0 -20px;} to{translate:0 20px;} }
@keyframes taste-progress { from{transform:scaleX(0);} to{transform:scaleX(1);} }
@media(max-width:1023px) { .header-inner { min-height:68px; } .home-content .vh-hero h1 { font-size:60px; } .vh-story-copy { padding:28px; } }
@media(max-width:767px) {
 .home-content > .vh-hero.wp-block-columns { display:grid; grid-template-columns:1fr; gap:24px; margin-top:0; }
 .vh-hero .vh-hero-copy { padding:32px 0 0; }
 .home-content .vh-hero h1 { font-size:56px; max-width:9ch; margin-bottom:22px; }
 .home-content .vh-hero-copy > p { font-size:15px; max-width:33ch; display:block; }
 .vh-hero .wp-block-image,.vh-hero .wp-block-image img { height:380px; max-height:none; }
 .vh-hero > .wp-block-column:not(.vh-hero-copy) { width:100%; }
 .home-content > .vh-section { padding-block:52px; }
 .home-content .vh-collections.wp-block-columns { grid-template-columns:1fr; gap:32px; }
 .vh-collections > .wp-block-column:first-child { grid-row:auto; }
 .vh-collections img,.vh-collections > .wp-block-column:first-child img { height:auto; min-height:0; aspect-ratio:1.2/1; }
 .home-content .vh-collections h3 { font-size:24px; }
 .home-content .woocommerce ul.products { gap:36px 14px; }
 .home-content .vh-story.wp-block-columns { grid-template-columns:1fr; margin-block:16px 48px; }
 .vh-story img { height:340px; min-height:0; }
 .vh-story-copy { padding:32px 24px; }
 .home-content .vh-story-copy h2 { font-size:40px; }
 .site-footer { padding-top:44px; }
}
@media(prefers-color-scheme:dark) {
 :root { --vh-paper:#14191f; --vh-ink:#ecf0f5; --vh-muted:#b0bac7; --vh-accent:#a1b3ff; --vh-line:#36404b; --taste-surface:#202831; --taste-card:#202831; --taste-focus:#a1b3ff; --taste-inverse:#14191f; }
 .navigation-scrim { background:rgba(5,10,16,.58); }
}
@media(prefers-reduced-motion:reduce) {
 .home-content .vh-hero .wp-block-image img,.home-content .vh-story .wp-block-image img { animation:none; translate:none; scale:1; }
}

.submenu-toggle::after,.submenu-toggle[aria-expanded="true"]::after,.mobile-disclosure::after { width:16px; height:16px; border:0; mask:url('../images/caret-down.svg') center/contain no-repeat; background:currentColor; transform:none; vertical-align:middle; }
.submenu-toggle[aria-expanded="true"]::after,.mobile-disclosure[aria-expanded="true"]::after { transform:rotate(180deg); }
.menu-close span { mask:url('../images/close.svg') center/contain no-repeat; background:currentColor; }
.menu-close span::before,.menu-close span::after { display:none; }

.home-content .vh-hero .wp-block-image img { object-position:center 20%; }
.vh-collections > .wp-block-column:not(:first-child) img { height:100%; min-height:220px; }
.home-content .woocommerce ul.products li.product > a:first-child { flex:1; }
.home-content .woocommerce ul.products li.product .button { top:0; margin-top:16px; }
.home-content .vh-section > .wp-block-buttons { margin-top:36px; }
@media(max-width:767px){.vh-collections > .wp-block-column:not(:first-child) img { height:auto; min-height:0; }}

@media(max-width:1023px){ .vh-js:not(.menu-ready) .primary-navigation { display:none; } }

/* 0.7: reference-led warm storefront, rounded commerce cards. */
:root { color-scheme:light; --vh-paper:#f4f2ee; --vh-ink:#24211e; --vh-muted:#686058; --vh-accent:#39312b; --vh-line:#d9d4cd; --taste-surface:#e9e6e0; --taste-card:#fffdfa; --taste-focus:#6c5140; --taste-inverse:#fffdfa; }
#new-arrivals, #reviews, #review-list { scroll-margin-top:110px; }
body { background:var(--vh-paper); }
.site-header { background:rgba(244,242,238,.96); }
.announcement { display:flex; align-items:center; padding:0 12px; background:#24211e; color:#fffdfa; height:36px; overflow:hidden; }
.announcement-window { overflow:hidden; flex:1; min-width:0; }
.announcement-track { display:flex; width:max-content; }
.announcement-track span { display:block; flex:none; min-width:100vw; padding:8px 64px; white-space:pre; text-align:center; font-size:11px; font-weight:600; letter-spacing:.07em; }
.announcement-pause { width:32px; min-height:30px; padding:0; border:0; border-radius:50%; background:transparent; color:#fffdfa; }
.announcement-pause[hidden] { display:none; }
.announcement.is-paused .announcement-track { animation-play-state:paused; }
@keyframes announcement-travel { to { transform:translateX(-50%); } }
@media(prefers-reduced-motion:no-preference) { .menu-ready .announcement-track { animation:announcement-travel 24s linear infinite; } }
.home-content > .campaign-banner { display:block; max-width:1440px; width:calc(100% - 48px); padding:0; margin:14px auto 42px; background:var(--taste-surface); border-radius:28px; overflow:hidden; view-timeline-name:--campaign; }
.home-content .campaign-banner .wp-block-image { height:auto; margin:0; overflow:hidden; border-radius:28px 28px 0 0; }
.home-content .campaign-banner .wp-block-image img { display:block; width:100%; height:auto; max-height:none; min-height:0; aspect-ratio:2200/1238; object-fit:contain; scale:1; translate:none; animation:none; }
.campaign-banner .wp-block-image a { display:block; overflow:hidden; }
.campaign-caption { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 28px; }
.campaign-caption p { margin:0; color:var(--vh-muted); font-size:14px; }
.home-content .campaign-caption .wp-block-button__link { padding:12px 24px; font-size:13px; border-radius:100px; }
.home-store-sections { max-width:1320px; margin-inline:auto; padding-inline:24px; }
.home-content .store-collection,.home-content .store-reviews { padding:44px 0; margin:0 auto; max-width:1320px; }
.collection-heading { display:flex; align-items:center; justify-content:center; position:relative; margin:0 0 28px; padding-top:22px; }
.collection-heading::before { content:''; position:absolute; height:2px; background:var(--vh-ink); top:0; left:35%; right:35%; transform-origin:left; }
.home-content .collection-heading h2,.home-content .vh-category-section > h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3.2vw,46px); font-weight:400; line-height:1.15; letter-spacing:-.04em; margin:0; text-align:center; }
.home-content .store-collection .woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:0; padding:0; }
.home-content .store-collection ul.products::before,.home-content .store-collection ul.products::after { display:none; }
.home-content .store-collection .woocommerce ul.products li.product { position:relative; display:flex; flex-direction:column; width:auto; float:none; margin:0; padding:8px 8px 14px; background:var(--taste-card); border:1px solid rgba(90,73,55,.055); border-radius:20px; box-shadow:0 5px 18px #39312b06; overflow:hidden; transition:box-shadow .3s,translate .35s; }
.home-content .store-collection .woocommerce ul.products li.product a img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:14px; margin:0 0 12px; background:var(--taste-surface); transition:scale .65s cubic-bezier(.16,1,.3,1); }
.home-content .store-collection .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:inherit; text-align:center; font-weight:500; font-size:13px; line-height:1.6; padding:0 8px; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; }
.home-content .store-collection .woocommerce ul.products li.product .price { text-align:center; color:var(--vh-ink); font-weight:650; margin:5px 0 0; font-size:14px; }
.home-content .store-collection .woocommerce ul.products li.product .button { display:block; width:calc(100% - 12px); margin:12px auto 0; font-size:11px; padding:8px 10px; min-height:36px; border-radius:100px; text-align:center; background:transparent; border:1px solid var(--vh-line); }
.home-content .store-collection .woocommerce ul.products li.product .star-rating { margin:8px auto; }
.product-save { position:absolute; z-index:2; top:15px; left:15px; border:0; width:38px; height:38px; padding:0; display:grid; place-items:center; font-size:25px; color:var(--vh-ink); background:rgba(255,253,250,.93); border-radius:50%; box-shadow:0 2px 9px #24211e12; transition:scale .25s,background .25s; }
.product-save[hidden] { display:none; }
.product-save[aria-pressed=true] { background:#39312b; color:#fffdfa; }
.store-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; background:var(--vh-ink); color:var(--taste-card); border:1px solid var(--vh-ink); text-decoration:none; border-radius:100px; font-size:12px; font-weight:600; min-height:46px; padding:12px 26px; transition:background .25s,translate .25s; }
.store-button:hover { color:#fffdfa; background:#635347; translate:0 -2px; }
.store-button.secondary { background:transparent; color:var(--vh-ink); border-color:var(--vh-line); }
.store-button span[aria-hidden] { font-size:18px; transition:translate .3s; }.store-button:hover span[aria-hidden] { translate:3px -3px; }
.collection-bottom { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:28px; }
.home-content .collection-rail .woocommerce ul.products { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--vh-line) transparent; padding:4px 2px 18px; }
.home-content .collection-rail .woocommerce ul.products li.product { flex:0 0 calc((100% - 80px)/6); scroll-snap-align:start; }
.rail-controls { display:flex; align-items:center; justify-content:center; gap:10px; }
.rail-controls button { width:44px; height:44px; border-radius:50%; border:1px solid var(--vh-line); padding:0; background:var(--taste-card); color:var(--vh-ink); transition:background .2s,scale .2s; }
.rail-controls button:disabled { opacity:.35; cursor:default; }.rail-status { font-size:11px; color:var(--vh-muted); min-width:70px; text-align:center; }
.review-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:10px; color:var(--vh-muted); }
.home-content .review-heading h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(30px,3.6vw,48px); letter-spacing:-.04em; max-width:16ch; line-height:1.12; margin:0; }
.review-summary { display:flex; gap:18px; align-items:center; border-block:1px solid var(--vh-line); margin-block:24px; padding-block:18px; font-size:13px; }
.review-summary strong { font-size:40px; }.review-summary small { font-size:16px; color:var(--vh-muted); }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.review-card { border:1px solid var(--vh-line); background:var(--taste-card); padding:26px; border-radius:22px; }
.review-card blockquote { margin:20px 0 28px; font-size:14px; line-height:1.8; }.review-card footer { display:flex; flex-direction:column; font-size:12px; gap:4px; }.review-card time { color:var(--vh-muted); }.review-card > a { display:block; font-size:11px; margin-top:18px; color:var(--vh-muted); }.review-stars { letter-spacing:3px; }
.review-empty { grid-column:1/-1; text-align:center; background:var(--taste-surface); border-radius:24px; padding:32px 20px; }
.review-empty > span { font-size:36px; }.review-empty h3 { font-size:20px; margin:10px 0; }.review-empty p { color:var(--vh-muted); font-size:13px; }.review-pagination { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; align-items:center; margin-top:24px; }
.home-content .vh-category-section { padding:40px 24px 70px; max-width:1368px; margin:auto; }.home-content .vh-category-section > h2 { margin-bottom:32px; }
.home-content .vh-collections.wp-block-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vh-collections > .wp-block-column:first-child { grid-row:auto; }.vh-collections > .wp-block-column { border-radius:22px; overflow:hidden; background:var(--taste-surface); }
.vh-collections .wp-block-image { border-radius:22px 22px 0 0; }
.vh-collections img,.vh-collections > .wp-block-column:first-child img,.vh-collections > .wp-block-column:not(:first-child) img { width:100%; height:auto; min-height:0; aspect-ratio:1; object-fit:cover; }
.home-content .vh-collections h3 { font-family:Georgia,'Times New Roman',serif; font-size:24px; font-weight:400; padding:18px 22px; margin:0; }
.primary-navigation > ul > li > .sub-menu,.primary-navigation .has-mega > .sub-menu,.search-panel { border-radius:0 0 24px 24px; }.mobile-menu { border-radius:24px 0 0 24px; }
.search-form input,.search-form button,.home-content .wp-block-button__link { border-radius:100px; }
.site-footer { border-radius:32px 32px 0 0; }.footer-inner { max-width:1320px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .home-content .store-collection .woocommerce ul.products li.product:hover { translate:0 -5px; box-shadow:0 14px 26px #39312b12; }
 .home-content .store-collection .woocommerce ul.products li.product:hover img { scale:1.025; }.product-save:hover { scale:1.1; }.rail-controls button:not(:disabled):hover { scale:1.08; background:var(--taste-surface); }
}
@media(prefers-reduced-motion:no-preference) {
 .campaign-banner.motion-ready .wp-block-image { animation:campaign-open 1200ms cubic-bezier(.16,1,.3,1) both; }
 .campaign-banner.motion-ready .campaign-caption { animation:caption-open 900ms 300ms cubic-bezier(.16,1,.3,1) both; }
 @supports(animation-timeline:view()) { .home-content .campaign-banner .wp-block-image img { animation:campaign-zoom linear both; animation-timeline:--campaign; animation-range:exit 0% exit 100%; } }
}
@keyframes campaign-open { from{clip-path:inset(6% 3% 8% 3% round 32px); opacity:.2; transform:translateY(20px);} to{clip-path:inset(0 round 0);opacity:1;transform:none;} }
@keyframes caption-open { from{opacity:0;transform:translateY(18px);} to{opacity:1;transform:none;} }
@keyframes campaign-zoom { from{scale:1;} to{scale:1.045;} }
@media(max-width:1023px) {
 .home-content .store-collection .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .home-content .collection-rail .woocommerce ul.products li.product { flex-basis:calc((100% - 32px)/3); }
 .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .home-content > .campaign-banner { width:calc(100% - 24px); margin-top:8px; margin-bottom:20px; border-radius:18px; }
 .home-content .campaign-banner .wp-block-image { border-radius:18px 18px 0 0; }
 .campaign-caption { flex-direction:column; gap:12px; padding:18px 12px; }.campaign-caption p { font-size:12px; }
 .home-store-sections { padding-inline:14px; }.home-content .store-collection,.home-content .store-reviews { padding-block:28px; }
 .collection-heading { margin-bottom:20px; }.home-content .collection-heading h2 { font-size:32px; }
 .home-content .store-collection .woocommerce ul.products { gap:12px; }.home-content .store-collection .woocommerce ul.products li.product { padding:5px 5px 12px; border-radius:17px; }.home-content .store-collection .woocommerce ul.products li.product a img { border-radius:12px; }
 .home-content .store-collection .woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 4px; font-size:11px; min-height:36px; }.home-content .store-collection .woocommerce ul.products li.product .price { font-size:12px; }
 .home-content .collection-rail .woocommerce ul.products li.product { flex-basis:44%; }.product-save { top:10px;left:10px;width:34px;height:34px;font-size:23px; }
 .collection-bottom { gap:12px; flex-direction:column; margin-top:20px; }.review-heading { flex-direction:column;align-items:start;gap:18px; }.review-grid { grid-template-columns:1fr; }
 .home-content .vh-category-section { padding:28px 14px 42px; }.home-content .vh-collections.wp-block-columns { grid-template-columns:1fr; gap:20px; }.home-content .vh-collections h3 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
 .announcement-track { animation:none; width:100%; }.announcement-track span { min-width:0; width:100%; white-space:normal; padding:2px 8px; font-size:10px; }.announcement-track span[aria-hidden] { display:none; }.announcement { height:auto; min-height:36px; }
 .home-content .campaign-banner .wp-block-image,.home-content .campaign-banner .wp-block-image img,.campaign-caption { animation:none!important;scale:1; }.home-content * { scroll-behavior:auto!important; }
}

.home-content .campaign-banner .wp-block-image { aspect-ratio:auto; min-height:0; max-height:none; }
.home-content .campaign-banner > .screen-reader-text { margin:0; }
html:not(.menu-ready) .announcement-track { width:100%; }
html:not(.menu-ready) .announcement-track span { width:100%;min-width:0;white-space:normal;padding:2px 8px; }
html:not(.menu-ready) .announcement-track span[aria-hidden] { display:none; }
@media(prefers-reduced-motion:reduce){.menu-ready .announcement-track{animation:none;}}

/* 0.7.1: continuous ticker, readable product actions, refined collection CTA. */
.announcement-track .announcement-group { display:flex; flex:none; align-items:center; }
.announcement-track .announcement-group > span { min-width:0; padding:8px 28px; white-space:nowrap; }
.announcement-track .announcement-group > span::after { content:'✦'; padding-left:56px; color:#bbae9b; }
.menu-ready .announcement-track { animation-duration:var(--marquee-duration,24s); }
.home-content .store-collection .woocommerce ul.products li.product .button { color:var(--vh-ink); transition:background .25s,color .25s,border-color .25s; }
.home-content .store-collection .woocommerce ul.products li.product .button:is(:hover,:focus-visible) { color:#fffdfa; background:#39312b; border-color:#39312b; }
.collection-bottom > .store-button { min-height:54px; padding:6px 7px 6px 24px; gap:24px; font-size:13px; font-weight:500; color:#39312b; background:var(--taste-card); border:1px solid #cfc7bd; box-shadow:0 3px 8px #39312b05; transition:background .3s,color .3s,box-shadow .3s,translate .3s; }
.collection-bottom > .store-button > span[aria-hidden] { display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;font-size:21px;color:#fffdfa;background:#39312b;transition:rotate .35s,background .3s,color .3s; }
.collection-bottom > .store-button:is(:hover,:focus-visible) { color:#fffdfa;background:#39312b;border-color:#39312b;box-shadow:0 8px 18px #39312b18; }
.collection-bottom > .store-button:is(:hover,:focus-visible) > span[aria-hidden] { background:#fffdfa;color:#39312b;translate:none;rotate:45deg; }
.home-content .store-collection .product-image-frame { display:block;overflow:hidden;border-radius:14px;margin-bottom:12px;isolation:isolate; }
.home-content .store-collection .woocommerce ul.products li.product .product-image-frame img { display:block;margin:0;border-radius:0;transition:scale .65s cubic-bezier(.2,.7,.2,1); }
.home-content .collection-rail .woocommerce ul.products { padding-top:10px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .home-content .store-collection .woocommerce ul.products li.product:hover { translate:0 -6px;box-shadow:0 15px 30px #39312b18; }
 .home-content .store-collection .woocommerce ul.products li.product:hover .product-image-frame img { scale:1.085; }
 .vh-collections > .wp-block-column { transition:translate .4s,box-shadow .4s; }
 .vh-collections > .wp-block-column:hover { translate:0 -6px;box-shadow:0 15px 30px #39312b14; }
 .vh-collections > .wp-block-column:hover img { scale:1.055; }
}
@media(prefers-reduced-motion:reduce) {
 .announcement-track .announcement-group { width:100%; }
 .announcement-track .announcement-group > span { white-space:normal;width:100%;padding:4px 8px; }
 .announcement-track .announcement-group > span::after { display:none; }
 .announcement-track .announcement-group > span:not(:first-child),.announcement-track .announcement-group + .announcement-group { display:none; }
 .collection-bottom > .store-button,.collection-bottom > .store-button > span[aria-hidden] { transition:none;translate:none;rotate:none; }
}

/* 0.7.2: menu motion is owned by WAAPI so entry/exit can be interrupted safely. */
@media(min-width:1024px) {
 .primary-navigation > ul > li.is-expanded > .sub-menu { animation:none; }
 .primary-navigation > ul > li > .sub-menu { transform-origin:top center; }
 .mega-feature img { border-radius:16px; }
 .navigation-scrim { transition:opacity 360ms ease,visibility 360ms; }
}
@media(prefers-reduced-motion:reduce){ .navigation-scrim { transition:none; } }

/* 0.7.4: ticker runs independently of menu readiness and OS animation settings. */
html .announcement.ticker-ready { height:36px;min-height:36px; }
html .announcement.ticker-ready .announcement-track { animation:none;display:flex;width:max-content; }
html .announcement.ticker-ready .announcement-group { display:flex;width:auto;flex:none; }
html .announcement.ticker-ready .announcement-group > span { display:block;width:auto;min-width:0;flex:none;white-space:nowrap;padding:8px 28px;font-size:11px; }
html .announcement.ticker-ready .announcement-group > span::after { display:inline;content:'✦';padding-left:56px; }

/* 0.7.5: quick action reveal, preserving native Woo href/AJAX/product types. */
.home-content .store-collection .woocommerce ul.products li.product .quick-cart-action { display:flex;align-items:center;justify-content:center;gap:10px;background:#39312b;color:#fffdfa;border-color:#39312b;font-size:12px;font-weight:600;min-height:42px; }
.home-content .store-collection .woocommerce ul.products li.product .quick-cart-action::before { content:'+';font-size:20px;line-height:1;font-weight:400; }
.home-content .store-collection .woocommerce ul.products li.product .quick-cart-action:is(:hover,:focus-visible) { background:#fffdfa;color:#24211e;border-color:#cfc7bd; }
@media(min-width:1024px) and (hover:hover) and (pointer:fine) {
 .home-content .store-collection .woocommerce ul.products li.product .quick-cart-action { position:absolute;z-index:3;top:calc(var(--quick-image-bottom) - 54px);left:18px;right:18px;width:auto;margin:0;padding:10px 12px;box-shadow:0 6px 18px #24211e24;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .26s ease,transform .4s cubic-bezier(.22,1,.36,1),background .2s,color .2s; }
 .home-content .store-collection .woocommerce ul.products li.product:is(:hover,:focus-within) .quick-cart-action { opacity:1;pointer-events:auto;transform:translateY(0); }
 .home-content .store-collection .woocommerce ul.products li.product:has(.quick-cart-action.loading) .quick-cart-action,
 .home-content .store-collection .woocommerce ul.products li.product:has(.quick-cart-action.added) .quick-cart-action { opacity:1;pointer-events:auto;transform:none; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .home-content .store-collection .woocommerce ul.products li.product:is(:hover,:focus-within) .product-image-frame img { scale:1.12; }
}
@media(prefers-reduced-motion:reduce) {
 .home-content .store-collection .woocommerce ul.products li.product .quick-cart-action { transition:none;transform:none; }
}

/* 0.7.6: explicit pointer interaction, independent of OS motion preference. */
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart { transition:translate .42s cubic-bezier(.22,1,.36,1),box-shadow .42s !important; }
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart .product-image-frame img { scale:1;transition:scale .58s cubic-bezier(.22,1,.36,1) !important; }
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart:is(.is-card-hover,:focus-within) { translate:0 -8px;box-shadow:0 18px 34px #39312b24; }
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart:is(.is-card-hover,:focus-within) .product-image-frame img { scale:1.14; }
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart .quick-cart-action { position:relative;top:0;left:auto;right:auto;width:calc(100% - 12px);margin:12px auto 0;opacity:1;pointer-events:auto;transform:none;transition:opacity .3s ease,transform .42s cubic-bezier(.22,1,.36,1),background .2s,color .2s !important; }
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart.pointer-actions .quick-cart-action { position:absolute;top:calc(var(--quick-image-bottom) - 54px);left:18px;right:18px;width:auto;margin:0;opacity:0;pointer-events:none;transform:translateY(18px); }
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart.pointer-actions:is(.is-card-hover,:focus-within) .quick-cart-action,
.home-content .store-collection .woocommerce ul.products li.product.has-quick-cart.pointer-actions .quick-cart-action:is(.loading,.added) { opacity:1;pointer-events:auto;transform:translateY(0); }

/* 0.7.7: soft dropdown and dimmer; no full-height curtain wipe. */
@media(min-width:1024px) {
 .navigation-scrim { background:rgba(36,33,30,.19);transition:opacity 440ms cubic-bezier(.25,.1,.25,1),visibility 440ms; }
 .primary-navigation > ul > li > .sub-menu { clip-path:none;box-shadow:0 16px 32px rgba(36,33,30,.08); }
}

/* 0.7.8: also remove the caption on previously saved WordPress Home content. */
.home-content .campaign-banner > .campaign-caption { display:none; }
.home-content .campaign-banner .wp-block-image { border-radius:inherit; }

/* 0.7.9: reference footer content with configurable real destinations. */
.site-footer.store-footer { background:#191310;color:#fff9f2;border:0;border-radius:0;padding:54px var(--vh-gutter) 24px; }
.store-footer .footer-inner { display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:70px;max-width:1180px; }
.store-footer .footer-heading { font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.25;font-weight:400;color:#fff9f2;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 22px; }
.store-footer .footer-note { color:#bfb7b0;font-size:13px;line-height:1.75;max-width:38ch;margin:0 0 14px; }
.store-footer .footer-support { font-size:16px;line-height:1.6;margin:0; }
.store-footer .footer-support a { color:#fff9f2;text-decoration:none;overflow-wrap:anywhere; }
.store-footer .footer-menu { display:flex;flex-direction:column;align-items:start;gap:6px;max-width:none; }
.store-footer .footer-menu a,.store-footer .footer-link-unset { display:block;padding:10px 0;color:#bfb7b0;font-size:14px;line-height:1.6;text-decoration:none; }
.store-footer .footer-menu a:hover,.store-footer .footer-support a:hover { color:#fff;text-decoration:underline;text-underline-offset:5px; }
.footer-socials { display:flex;gap:12px;margin-top:26px; }
.footer-socials > a,.footer-socials > .footer-social-unset { display:grid;place-items:center;width:36px;height:40px;color:#fff9f2;border-radius:8px; }
.footer-socials svg { display:block;width:19px;height:19px;fill:currentColor; }
.footer-socials > a:hover { background:#39312b; }
.store-footer .footer-bottom { max-width:1180px;border-color:#3b322d;color:#bfb7b0;margin-top:30px;padding-top:22px; }
.store-footer .footer-bottom a { color:#bfb7b0; }
.store-footer :focus-visible { outline:2px solid #fff9f2;outline-offset:4px; }
@media(max-width:767px){
 .site-footer.store-footer { padding:36px 24px 20px; }
 .store-footer .footer-inner { grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px; }
 .footer-store-info { grid-column:1/-1; }
 .store-footer .footer-heading { font-size:19px;margin-bottom:14px; }
 .store-footer .footer-support { font-size:15px; }
 .footer-socials { margin-top:18px; }
 .store-footer .footer-menu a,.store-footer .footer-link-unset { font-size:13px; }
}

/* 0.8.0: deliberate rail glide and compact collection navigation. */
.home-content .collection-rail .woocommerce ul.products { scrollbar-width:none; padding-bottom:12px; }
.home-content .collection-rail .woocommerce ul.products::-webkit-scrollbar { display:none; }
.home-content .collection-rail .woocommerce ul.products.is-sliding { scroll-snap-type:none; scroll-behavior:auto!important; }
.collection-bottom { gap:20px; margin-top:26px; }
.rail-controls { position:relative; gap:12px; padding:6px 7px 11px; border:1px solid #ded7ce; border-radius:32px; background:#fffdfa; box-shadow:0 4px 14px #39312b06; }
.rail-controls button { border:0; background:#f0ece6; width:44px; height:44px; font-size:20px; transition:background .3s,color .3s,transform .3s!important; }
.rail-controls button:not(:disabled):is(:hover,:focus-visible) { background:#39312b; color:#fffdfa; scale:1; transform:translateX(2px); }
.rail-controls button:first-child:not(:disabled):is(:hover,:focus-visible) { transform:translateX(-2px); }
.rail-controls button:active:not(:disabled) { transform:scale(.94); }
.rail-status { min-width:62px; font-size:11px; font-variant-numeric:tabular-nums; letter-spacing:.03em; color:#655c53; }
.rail-progress { position:absolute; bottom:8px; left:68px; right:68px; height:2px; border-radius:4px; background:#e8e1d8; overflow:hidden; }
.rail-progress::after { content:''; display:block; width:35%; height:100%; border-radius:inherit; background:#8c7560; transform:translateX(calc(var(--rail-progress,0)*185.714%)); }
.collection-bottom > .store-button { position:relative; isolation:isolate; overflow:hidden; min-height:60px; padding:7px 9px 7px 25px; gap:27px; border-color:#39312b; background:#39312b; color:#fffdfa; font-weight:600; box-shadow:0 5px 15px #39312b12; transition:background .4s,color .4s,box-shadow .4s,translate .4s!important; }
.collection-bottom > .store-button > span[aria-hidden] { width:40px; height:40px; background:#fffdfa; color:#39312b; transition:rotate .45s,background .4s,color .4s,transform .4s!important; }
.collection-bottom > .store-button:is(:hover,:focus-visible) { background:#695746; border-color:#695746; color:#fffdfa; translate:0 -3px; box-shadow:0 10px 22px #39312b20; }
.collection-bottom > .store-button:is(:hover,:focus-visible) > span[aria-hidden] { rotate:45deg; transform:scale(1.06); background:#fffdfa; color:#39312b; }
.collection-bottom > .store-button:active { translate:0 0; }
.collection-bottom :is(button,a):focus-visible { outline:2px solid #8c7560; outline-offset:4px; }
@media(max-width:767px) {
 .collection-bottom { flex-direction:row; flex-wrap:wrap; gap:12px; }
 .rail-controls { gap:6px; padding-inline:5px; }
 .rail-status { min-width:52px; }
 .rail-progress { left:58px; right:58px; }
 .collection-bottom > .store-button { min-height:58px; padding-left:18px; gap:14px; }
}

/* Use one underline for current, hovered and focused top-level links. */
.primary-navigation > ul > li.current-menu-item > a { text-decoration: none; }
.primary-navigation > ul > li.current-menu-item > a::after { transform: scaleX(1); }

/* Keep the announcement and navigation together while scrolling. */
.announcement { position:sticky; top:var(--vh-header-top,0px); z-index:21; }
.announcement + .site-header { top:calc(var(--vh-header-top,0px) + var(--vh-announcement-height,36px)); }

/* Accessible header commerce icons, including touch-size account access. */
.header-icon { display:block; width:22px; height:22px; flex:none; }
.header-commerce { display:flex; gap:4px; }
.header-commerce a,.header-search summary { justify-content:center; }
.header-commerce .account-link { display:inline-flex; }
@media(min-width:1024px) { .header-tools { padding-right:104px; } }
@media(max-width:1023px) { .header-inner { padding-inline:12px; gap:4px; grid-template-columns:1fr auto 1fr; } .header-commerce { gap:0; } }

/* Compact merchant navigation menus. Existing disclosure motion and keyboard handling retained. */
@media(min-width:1024px) {
 .primary-navigation > ul > li.vh-compact-menu { position:relative; }
 .primary-navigation > ul > li.vh-compact-menu > .sub-menu { left:0; right:auto; width:240px; min-width:240px; padding:8px 14px; grid-template-columns:minmax(0,1fr); gap:0; max-height:calc(100dvh - 170px); overflow-y:auto; background:rgba(255,253,250,.98); border:1px solid #e8e1d8; border-radius:0 0 18px 18px; }
 .primary-navigation > ul > li.vh-compact-menu > .sub-menu > li > a { font-size:13px; font-weight:400; letter-spacing:0; padding:17px 8px; min-height:52px; border-radius:8px; transition:background .2s,color .2s; }
 .primary-navigation > ul > li.vh-compact-menu > .sub-menu > li+li { border-top:1px solid #e9e3dc; }
 .primary-navigation > ul > li.vh-compact-menu > .sub-menu > li > a:is(:hover,:focus-visible) { background:#eee8df; color:#24211e; }
}

/* Category patterns keep the same compact layout inside Home and ordinary pages. */
.entry-content .vh-category-section { box-sizing:border-box;width:calc(100% - 32px);max-width:1120px;padding:36px 0 56px;margin-inline:auto; }
.vh-category-section .vh-collections.wp-block-columns { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0; }
.vh-category-section .vh-collections > .wp-block-column { min-width:0;width:auto;grid-row:auto;display:flex;flex-direction:column; }
.vh-category-section .vh-collections h3 { font-size:21px;line-height:1.35;padding:14px 18px;margin:0; }
.vh-category-section > h2 { margin-bottom:26px; }
@media(max-width:767px) {
 .entry-content .vh-category-section { max-width:400px;padding:28px 0 40px; }
 .vh-category-section .vh-collections.wp-block-columns { grid-template-columns:minmax(0,1fr);gap:20px; }
 .vh-category-section .vh-collections h3 { font-size:20px; }
}

/* Storefront search: a focused, compact surface without moving the page. */
.header-search .search-panel {
 inset-inline: auto var(--vh-gutter); top: calc(100% + 10px);
 width: min(640px, calc(100vw - 2 * var(--vh-gutter))); padding: 28px;
 border: 0; border-radius: 16px; background: #fffdf9;
 box-shadow: 0 18px 54px rgb(43 35 28 / 16%); letter-spacing: normal;
 transform-origin: top right;
}
.header-search[open] .search-panel { animation: vh-search-reveal 280ms cubic-bezier(.16,1,.3,1) both; }
.search-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.search-panel-heading h2 { font-family:var(--vh-display); font-size:28px; line-height:1.2; margin:0; }
.header-search .search-close { display:grid; place-items:center; flex:0 0 40px; min-height:40px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--vh-ink); transition:background 160ms; }
.header-search .search-close:hover { background:#eee8df; }
.header-search .search-form { max-width:none; padding:6px; gap:6px; background:#f4f0ea; border:1px solid #d8cec2; border-radius:12px; transition:border-color 180ms,box-shadow 180ms; }
.header-search .search-form:focus-within { border-color:#725843; box-shadow:0 3px 12px rgb(72 53 37 / 8%); }
.header-search .search-form input[type="search"] { border:0; outline:none; background:transparent; border-radius:8px; padding:12px; font-size:16px; caret-color:#725843; }
.header-search .search-form input::placeholder { color:#6b6259; }
.header-search .search-form button { border:0; border-radius:8px; padding:12px 22px; background:#352d26; color:#fff; font-size:14px; transition:background 160ms,transform 160ms; }
.header-search .search-form button:hover { background:#594737; }
.header-search .search-form button:active { transform:scale(.97); }
.search-panel-hint { margin:14px 0 0; color:#6b6259; font-size:13px; line-height:1.5; }
@keyframes vh-search-reveal { from { opacity:0; transform:translateY(-10px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:600px) {
 .header-search .search-panel { inset-inline:12px; width:auto; padding:20px; top:calc(100% + 6px); }
 .search-panel-heading h2 { font-size:24px; }
 .header-search .search-form button { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) { .header-search[open] .search-panel { animation:none; } }

/* Reserve touch targets; let the logo shrink instead of widening the viewport. */
@media(max-width:1023px) {
 .header-inner { grid-template-columns:88px minmax(0,1fr) 88px; }
 .header-tools { gap:0; min-width:0; }
 .header-commerce { min-width:0; }
 .header-tools .menu-toggle { width:44px; min-width:44px; padding:0; font-size:0; display:grid; place-items:center; }
 .header-tools .menu-toggle::before { content:""; width:20px; height:14px; background:center / contain no-repeat url("../images/list.svg"); }
 .site-brand { min-width:0; width:100%; }
 .site-brand .brand-image { width:min(135px,100%); }
 .site-brand .custom-logo-link { max-width:100%; }
 .site-brand .custom-logo { max-width:100%; height:auto; }
}

/* Mobile navigation uses only the space its links need. */
@media(max-width:1023px) {
 .header-tools .header-search { display:none; }
 .mobile-menu { inset:var(--vh-mobile-menu-top,80px) 12px auto; width:auto; height:auto; max-width:none; max-height:min(65dvh,calc(100dvh - var(--vh-mobile-menu-top,80px) - 16px)); margin:0; border-radius:16px; box-shadow:0 16px 40px rgb(43 35 28 / 15%); }
 .mobile-menu::backdrop { background:rgb(43 35 28 / 12%); }
 .mobile-menu-top { padding:10px 20px; }
 .mobile-menu-content { min-height:0; padding:4px 20px 16px; }
 .mobile-navigation > ul > li { padding:6px 0; }
 .mobile-navigation > ul > li:last-child { border-bottom:0; }
 .mobile-navigation > ul > li > a { font-size:22px; }
 .mobile-menu[open] { animation:vh-mobile-panel-in 220ms cubic-bezier(.16,1,.3,1) both; }
 .mobile-menu.is-closing { animation:vh-mobile-panel-out 180ms ease both; }
}
@keyframes vh-mobile-panel-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@keyframes vh-mobile-panel-out { to { opacity:0; transform:translateY(-8px); } }

/* Give the original logo breathing room, including its long final flourish. */
.site-brand .brand-image { aspect-ratio:2000 / 650; }
.site-brand .brand-image img { width:100%; left:0; top:-107.6923%; }
@media(max-width:1023px) {
 .header-inner { grid-template-columns:44px minmax(0,1fr) 88px; }
 .site-brand .brand-image { width:min(155px,100%); }
}
