/* Shared storefront finishing, with editorial styles scoped to the homepage. */
.announcement--scrolling{display:block;overflow:hidden;min-height:32px;padding:6px 16px;font-size:10px;line-height:20px;letter-spacing:1px}
.announcement--scrolling>span{display:block;animation:announcement-scroll 25s linear infinite;position:relative;white-space:nowrap;width:max-content}
.site-header{background:#faf8f5f5;box-shadow:0 5px 24px #39272206}
.header-main{min-height:0;padding-block:5px;gap:28px}
.header-main .brand-name{font-size:31px;letter-spacing:3px}
.header-main .brand-caption{font-size:8px;letter-spacing:5px;margin-top:5px}
.header-actions{gap:25px}
.header-action,.icon-button,.currency-toggle{transition:color .2s,background .2s}
.header-actions .icon-button{border-radius:50%}
.header-actions .icon-button:hover{background:var(--rose)}
.main-nav{background:#fffdf9;border-color:#e9e1da}
.nav-inner{justify-content:center;gap:clamp(8px,2vw,30px)}
.nav-item{position:static;min-height:53px}
.nav-link{position:relative;padding:19px 4px 19px 9px;font-size:10px;letter-spacing:1.25px;font-weight:600}
.nav-link:after{content:'';position:absolute;bottom:9px;left:9px;right:4px;height:1px;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform .22s}
.nav-item:hover .nav-link:after,.nav-item.open .nav-link:after,.nav-link:focus-visible:after{transform:scaleX(1)}
.nav-item>button.nav-submenu-toggle{display:flex;align-items:center;justify-content:center;padding:12px 5px;min-width:24px;min-height:44px;background:transparent}
.nav-arrow{width:13px;height:13px;stroke-width:1.4;transition:transform .2s}
.nav-item.open .nav-arrow{transform:rotate(180deg)}
.mega-menu{background:#fffdf9;border-top:2px solid var(--wine);padding:34px 40px;gap:42px;box-shadow:0 18px 35px #39272214;grid-template-columns:1fr 1fr 260px}
.mega-links{gap:12px}.mega-links>a{padding:6px 0;line-height:1.5;letter-spacing:.6px}
.mega-links>a:hover{text-decoration:none;color:var(--wine)}
.mega-image{height:245px;border-radius:3px}.mega-title{font-size:33px}.mega-intro p{font-size:34px}
.home-page .hero{margin-top:28px;min-height:570px;border-radius:5px;background:#eee5dc}
.home-page .hero-copy{padding:66px 48px 34px 60px;background:radial-gradient(ellipse at top left,#fffaf3,transparent 90%)}
.home-page .hero h1{font-size:clamp(46px,5vw,76px);line-height:1.02;letter-spacing:-1.8px;margin:28px 0 24px}
.home-page .hero-copy>p{font-size:13px;line-height:1.9;max-width:330px}
.home-page .hero-copy .button{font-size:10px;padding:19px 27px;min-height:52px;box-shadow:0 6px 16px #713e3d15}
.home-page .hero-image{min-height:570px}.home-page .hero-foot{padding-top:36px;letter-spacing:1.5px}
.home-page .round-button{width:39px;height:39px;border-color:#ffffff70;background:#fffdf9df}










.home-page .category-products{padding-top:66px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.home-page .section-heading h2{font-size:42px;letter-spacing:-.5px}.home-page .category-arrivals{font-size:12px;margin-bottom:0}
.home-page .product-filters{gap:10px;flex-wrap:wrap}
.home-page .product-filters button{border:1px solid var(--line);border-radius:20px;padding:9px 16px;font-size:10px;white-space:nowrap}
.home-page .product-filters button.active{background:var(--wine);color:white;border-color:var(--wine)}
.home-page .product-photo{border-radius:3px;overflow:hidden;background:#eee8e2}
.home-page .product-photo img{transition:transform .5s}.home-page .product-photo:hover img{transform:scale(1.025)}
.home-page .product-meta{padding-top:16px}.home-page .product-name{font-size:12px;line-height:1.6}
.home-page .brand-strip{margin-top:28px;padding-block:28px}
.home-page .story{margin-top:64px;border-radius:4px;overflow:hidden;background:#eee5dc}
.home-page .story-copy{padding:60px}.home-page .story h2{font-size:54px;line-height:1.05}
.home-page .newsletter{background:#efe5df;margin-top:65px;padding-block:48px;border-block:1px solid #e7d9cf}
.home-page .newsletter h2{font-size:39px}.home-page .service-strip{padding-block:35px}
@media(min-width:801px) and (max-width:1100px){.nav-inner{gap:6px}.nav-link{font-size:9px;letter-spacing:.65px;padding-left:5px}.header-actions{gap:18px}.home-page .hero-copy{padding:50px 30px}.home-page .hero,.home-page .hero-image{min-height:510px}.mega-menu{grid-template-columns:1fr 1fr 210px}}
@media(max-width:800px){
 .header-main{min-height:0;padding-block:6px;gap:6px}.header-main .brand-name{font-size:26px}.header-main .brand-caption{font-size:7px}.header-actions{gap:10px}.announcement--scrolling{font-size:9px;letter-spacing:.5px;min-height:30px;padding:5px 12px}
 .nav-inner{display:block}.nav-item{min-height:52px}.nav-link{padding:18px 22px;font-size:11px;letter-spacing:1px}.nav-link:after{display:none}.nav-item>button.nav-submenu-toggle{width:48px;min-height:48px}.mega-menu{padding:10px 25px 24px;border-top:0;box-shadow:none;grid-template-columns:1fr}.mega-links>a{font-size:11px}.main-nav.mobile-open{padding-bottom:10px}
 .home-page .hero{margin-top:18px;min-height:450px}.home-page .hero-image{min-height:450px}.home-page .hero-copy{padding:40px 24px 28px}.home-page .hero h1{font-size:46px}.home-page .hero-copy>p{font-size:11px}.home-page .hero-copy .button{font-size:8px;padding:16px;min-height:46px}
 .home-page .category-products{padding-top:42px}.home-page .section-heading h2{font-size:34px}.home-page .product-filters{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.home-page .story-copy{padding:35px 28px}.home-page .story h2{font-size:43px}.home-page .newsletter{margin-top:44px}
}
@media(max-width:520px){
 .home-page .hero{display:flex;flex-direction:column-reverse}.home-page .hero-image{min-height:320px}.home-page .hero-image>img{object-position:50% 20%}.home-page .hero-copy{padding:30px 25px}.home-page .hero h1{font-size:45px;margin:17px 0}.home-page .hero-copy>.eyebrow{font-size:8px;letter-spacing:1.6px}.home-page .hero-copy>p{font-size:12px;margin-bottom:22px}.home-page .hero-copy .button{font-size:9px;padding:17px 23px}.home-page .hero-foot{padding-top:24px;font-size:8px}.home-page .hero-side{display:none}.home-page .hero-controls{right:16px;bottom:16px}.home-page .image-caption{display:block;left:16px;bottom:18px;font-size:7px;max-width:60%}
 .home-page .section-heading h2{font-size:30px}.home-page .category-arrivals{font-size:10px}.home-page .product-filters button{padding:8px 13px;font-size:9px}.home-page .story{margin-top:40px}.home-page .story h2{font-size:44px}.home-page .newsletter h2{font-size:33px}.home-page .brand-strip{gap:12px;font-size:5px}.header-main .brand-name{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-arrow,.nav-link:after,.home-page .category-image img,.home-page .product-photo img{transition:none}}

@media(prefers-reduced-motion:reduce){.announcement--scrolling>span{animation:none;margin-inline:auto;max-width:100%;white-space:normal;text-align:center}}

/* Image-only category banners. */
.hero.image-banner{display:block;position:relative;min-height:0;background:transparent;margin-top:18px;overflow:hidden}
.hero.image-banner[hidden]{display:none}
.hero-banner-link{display:block;width:100%}
.hero.image-banner #hero-photo{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}
.hero.image-banner .hero-controls{position:absolute;right:20px;bottom:20px;z-index:2}
@media(max-width:700px){.hero.image-banner .hero-controls{right:12px;bottom:12px}.hero.image-banner .round-button{width:34px;height:34px}}
