/* Home visual 2026-11 — shared layout. Store colors/fonts in store.css */
.hv{--hv-bg:#fff;--hv-ink:#121212;--hv-muted:#5d5d5d;--hv-accent:#ff6a13;--hv-card:#fff;--hv-line:#e7e7e7;--hv-radius:10px;--hv-display:inherit;--hv-btn-bg:#121212;--hv-btn-ink:#fff;--hv-btn-radius:6px;--hv-alt-bg:transparent;--hv-alt-ink:#121212;background:var(--hv-bg);color:var(--hv-ink);padding:22px 0 64px;overflow-x:clip}
.hv *{box-sizing:border-box}
.hv-wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.hv-sec{margin-top:44px}.hv-sec:first-child{margin-top:0}
.hv h1,.hv h2,.hv h3{color:inherit}
.hv a{text-decoration:none}
.hv-arr{display:inline-block;margin-left:8px;transition:transform .2s}
a:hover>.hv-arr,a:hover .hv-arr{transform:translateX(3px)}
.hv-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;opacity:.85}
.hv-rule{display:block;width:56px;height:5px;background:var(--hv-accent);margin:0 0 18px}
.hv-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;min-height:48px;background:var(--hv-btn-bg);color:var(--hv-btn-ink)!important;font-weight:700;font-size:15px;line-height:1.1;border-radius:var(--hv-btn-radius);width:max-content;max-width:100%;border:2px solid var(--hv-btn-bg);transition:filter .2s,transform .2s}
.hv-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.hv-btn--alt{background:var(--hv-alt-bg);color:var(--hv-alt-ink)!important;border-color:currentColor}
/* hero */
.hv-hero__stage{position:relative;overflow:hidden;border-radius:var(--hv-radius);aspect-ratio:16/7;background:#ccc;isolation:isolate}
.hv-hero__stage picture,.hv-hero__stage>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:-1}
.hv-hero__copy{position:relative;max-width:min(48%,560px);height:100%;padding:clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.hv-hero--dark .hv-hero__copy{color:#fff}
.hv-hero__title{font-family:var(--hv-display);font-size:clamp(42px,5.6vw,80px);line-height:.95;margin:0 0 18px;letter-spacing:-.02em}
.hv-hero__sub{font-size:18px;line-height:1.45;margin:0 0 26px;max-width:340px}
.hv-hero__tag{position:absolute;right:16px;bottom:14px;display:flex;flex-direction:column;gap:2px;max-width:min(320px,60%);background:rgba(255,255,255,.9);color:#121212!important;padding:9px 14px;border-radius:12px;font-size:13px;line-height:1.3;backdrop-filter:blur(6px);box-shadow:0 6px 24px rgba(0,0,0,.12)}
.hv-hero__tagname{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hv-hero__tagprice del{opacity:.55;margin-right:6px}.hv-hero__tagprice br{display:none}.hv-hero__tagprice ins{text-decoration:none;font-weight:700}
.hv-hero--aside{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;border:1px solid var(--hv-line);border-radius:var(--hv-radius);overflow:hidden}
.hv-hero--aside .hv-hero__stage{border-radius:0}
.hv-aside{display:flex;flex-direction:column;padding:22px 0;background:var(--hv-card)}
.hv-aside a{display:flex;justify-content:space-between;align-items:center;padding:10px 22px;color:var(--hv-ink)!important;font-size:14px;font-weight:600}
.hv-aside a:hover{color:var(--hv-accent)!important}
.hv-aside__all{color:var(--hv-accent)!important;font-weight:800!important;font-size:15px!important}
/* heads + products */
.hv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 18px}
.hv-head h2{font-family:var(--hv-display);font-size:clamp(26px,3vw,38px);line-height:1.05;margin:0}
.hv-more{font-weight:700;font-size:14px;color:var(--hv-ink)!important;white-space:nowrap}
.hv-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:18px}
.hv-card{display:flex;flex-direction:column;background:var(--hv-card);border:1px solid var(--hv-line);border-radius:var(--hv-radius);padding:12px;min-width:0}
.hv-card__img{display:block;border-radius:calc(var(--hv-radius) - 3px);overflow:hidden;background:#fff}
.hv-card__img img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;display:block;transition:transform .35s}
.hv-card:hover .hv-card__img img{transform:scale(1.04)}
.hv-card__name{font-size:15px;line-height:1.3;margin:12px 0 6px;font-weight:700}
.hv-card__name a{color:var(--hv-ink)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hv-price{font-size:15px;margin:0 0 12px;color:var(--hv-ink)}.hv-price br{display:none}.hv-price del{opacity:.5;margin-right:6px}.hv-price ins{text-decoration:none;font-weight:700}
.hv-card__btn{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;border-radius:var(--hv-btn-radius);border:1.5px solid var(--hv-ink);color:var(--hv-ink)!important;font-weight:700;font-size:14px;transition:background .2s,color .2s}
.hv-card__btn:hover{background:var(--hv-ink);color:var(--hv-bg)!important}
/* tiles */
.hv-tiles{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:16px}
.hv-tile{position:relative;display:block;border-radius:var(--hv-radius);overflow:hidden;aspect-ratio:8/5;background:#ddd}
.hv-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s}
.hv-tile:hover img{transform:scale(1.05)}
.hv-tile__label{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;color:#fff;font-family:var(--hv-display);font-size:22px;background:linear-gradient(transparent,rgba(0,0,0,.45))}
.hv-tile__cta{font-family:inherit;font-size:14px;font-weight:700}
.hv-tiles-sec--below .hv-tile{aspect-ratio:auto;display:flex;flex-direction:column;background:var(--hv-card);border:1px solid var(--hv-line)}
.hv-tiles-sec--below .hv-tile img{position:static;aspect-ratio:7/4.4;height:auto}
.hv-tiles-sec--below .hv-tile__label{position:static;background:none;color:var(--hv-ink);padding:14px 18px}
/* feature */
.hv-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(22px,4vw,60px);align-items:center}
.hv-feature--rev .hv-feature__media{order:2}
.hv-feature__media{display:block;border-radius:var(--hv-radius);overflow:hidden}
.hv-feature__media img{display:block;width:100%;height:auto;transition:transform .45s}
.hv-feature__media:hover img{transform:scale(1.03)}
.hv-feature__copy h2{font-family:var(--hv-display);font-size:clamp(30px,3.6vw,50px);line-height:1;margin:0 0 14px}
.hv-feature__copy p{font-size:17px;margin:0 0 22px;color:var(--hv-muted)}
/* promo */
.hv-promo{position:relative;border-radius:var(--hv-radius);overflow:hidden;min-height:clamp(260px,30vw,400px);display:flex;align-items:center;isolation:isolate}
.hv-promo picture,.hv-promo picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.hv-promo__copy{padding:36px clamp(24px,5vw,64px);max-width:560px}
.hv-promo--dark .hv-promo__copy{color:#fff}
.hv-promo--center{justify-content:center;text-align:center}.hv-promo--center .hv-btn{margin:0 auto}
.hv-promo--right{justify-content:flex-end}
.hv-promo h2{font-family:var(--hv-display);font-size:clamp(32px,4vw,56px);line-height:.98;margin:0 0 12px}
.hv-promo p{font-size:17px;margin:0 0 22px}
/* band (brand links over image) */
.hv-band{position:relative;border-radius:var(--hv-radius);overflow:hidden;min-height:300px;display:flex;align-items:center;justify-content:flex-end;isolation:isolate}
.hv-band picture,.hv-band picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.hv-band__copy{padding:30px clamp(20px,4vw,56px);display:flex;flex-direction:column;align-items:flex-end;gap:18px;max-width:100%}
.hv-band h2{font-family:var(--hv-display);font-size:clamp(34px,4.6vw,64px);line-height:.95;margin:0;text-align:right}
.hv-band__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 22px;background:rgba(255,255,255,.92);border-radius:14px;padding:12px 20px}
.hv-band__links a{font-weight:700;color:var(--hv-ink)!important;padding:6px 0}
/* logos row */
.hv-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-radius:var(--hv-radius);overflow:hidden;background:var(--hv-card);border:1px solid var(--hv-line)}
.hv-logos a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 8px;color:var(--hv-ink)!important;font-weight:700;font-size:14px;border-right:1px solid var(--hv-line);transition:background .2s}
.hv-logos a:last-child{border-right:0}
.hv-logos a:hover{background:rgba(255,255,255,.6)}
.hv-logos img{width:auto;height:34px;max-width:90%}
/* site-wide: header + footer tokens from store.css */
body.hv-site .header-top-inner,body.hv-site .header-top .dk-topbar{background:var(--hvs-top-bg,#111)!important;color:var(--hvs-top-ink,#fff)!important}
body.hv-site .header-top .dk-topbar a,body.hv-site .header-top .dk-topbar li,body.hv-site .header-top .dk-promo{color:var(--hvs-top-ink,#fff)!important}
body.hv-site .header-main-inner{background:var(--hvs-head-bg,#fff)!important;border-bottom-color:var(--hvs-line,#eceee8)!important}
body.hv-site .header-bottom-inner{background:var(--hvs-nav-bg,#fff)!important;border-bottom:1px solid var(--hvs-line,transparent)}
body.hv-site .header-bottom .nav-menu-primary .nav-ul>li>a,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li>.wrap>a,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li .caret,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li .caret svg{color:var(--hvs-nav-ink,#121212)!important;fill:var(--hvs-nav-ink,#121212)!important;font-weight:var(--hvs-nav-weight,600)}
body.hv-site .header-bottom .nav-menu-primary .nav-ul>li:hover>a,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li.current-menu-item>a,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li:hover>.wrap>a,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li.current-menu-item>.wrap>a{color:var(--hvs-nav-hover,var(--hvs-accent,#ff6a13))!important}
body.hv-site .header-bottom .nav-menu-primary .nav-ul>li>a::after,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li>.wrap::after{background:var(--hvs-accent,#ff6a13)!important;height:3px}
body.hv-site .header-main .aws-search-form{border-radius:var(--hvs-search-radius,10px)!important;background:var(--hvs-search-bg,#fff)!important;border:1px solid var(--hvs-search-line,#d9d9d9)!important;overflow:hidden}
body.hv-site .header-main .aws-search-field{background:transparent!important}
body.hv-site .header-main .aws-search-btn{background:var(--hvs-search-btn,#121212)!important}
body.hv-site .header-main .nv-cart svg,body.hv-site .header-main .nv-icon svg{fill:var(--hvs-icon,#121212)!important;color:var(--hvs-icon,#121212)}
body.hv-site .header-main .cart-count{background:var(--hvs-accent,#ff6a13)!important;color:#fff!important}
body.hv-site #site-footer.site-footer,body.hv-site #site-footer .hfg_footer,body.hv-site #site-footer .footer-top,body.hv-site #site-footer .footer-top-inner,body.hv-site #site-footer .footer-bottom,body.hv-site #site-footer .footer-bottom-inner{background:var(--hvs-foot-bg,#f4f4f2)!important;color:var(--hvs-foot-ink,#222)!important}
body.hv-site #site-footer .footer-top a,body.hv-site #site-footer .footer-top .widget-title,body.hv-site #site-footer .footer-bottom,body.hv-site #site-footer .footer-top p,body.hv-site #site-footer .footer-top strong{color:var(--hvs-foot-ink,#222)!important}
body.hv-site #site-footer .footer-top a:hover{color:var(--hvs-foot-hover,var(--hvs-accent))!important}
body.hv-site #site-footer .footer-top .widget-title{font-family:var(--hvs-display,inherit);font-size:14px!important;letter-spacing:.06em;text-transform:uppercase}
body.hv-site #site-footer .footer-bottom{border-top-color:var(--hvs-foot-line,rgba(127,127,127,.25))!important}
body.hv-site #site-footer .footer-top .hfg-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)!important}
body.hv-site #site-footer .footer-top .hfg-grid>.builder-item:nth-child(3){order:2}
body.hv-site #site-footer .footer-top .hfg-grid>.builder-item:nth-child(2){order:3}
body.hv-site #site-footer .footer-top .widget_custom_html:has(#mc_embed_signup){display:none!important}
body.hv-site .hv-foot-logo{display:inline-block;margin:0 0 18px}
body.hv-site .hv-foot-logo img{width:auto;height:auto;max-width:190px;max-height:72px;filter:var(--hvs-foot-logo-filter,none)}
body.hv-site #site-footer .hv-foot-shop ul{columns:2;column-gap:24px}
body.hv-site #site-footer .hv-foot-shop li a{min-height:36px!important}
/* responsive */
@media (max-width:1024px){.hv-grid{grid-template-columns:repeat(min(var(--cols,4),3),minmax(0,1fr))}.hv-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.hv-logos a:nth-child(3n){border-right:0}.hv-logos a{border-bottom:1px solid var(--hv-line)}.hv-hero--aside{grid-template-columns:1fr}.hv-aside{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:6px 8px;border-bottom:1px solid var(--hv-line);scrollbar-width:none}.hv-aside a{white-space:nowrap;padding:10px 12px}.hv-aside a span{display:none}}
@media (max-width:767px){
 .hv{padding-top:14px}.hv-wrap{padding:0 14px}.hv-sec{margin-top:34px}
 .hv-hero__stage{aspect-ratio:800/1100}
 .hv-hero__copy{max-width:100%;height:auto;padding:26px 22px}
 .hv-hero__title{font-size:clamp(34px,10vw,46px);margin-bottom:14px}.hv-rule{margin-bottom:14px}
 .hv-hero__sub{font-size:15px;margin-bottom:16px}
 .hv-hero__stage{display:flex;flex-direction:column}
 .hv-hero__tag{position:absolute;left:12px;right:12px;bottom:12px;max-width:none}
 .hv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .hv-card{padding:9px}.hv-card__name{font-size:14px}.hv-card__btn{font-size:13px;padding:8px}
 .hv-tiles{grid-template-columns:1fr;gap:12px}
 .hv-feature{grid-template-columns:1fr}.hv-feature--rev .hv-feature__media{order:0}
 .hv-promo{min-height:0;aspect-ratio:800/600;align-items:flex-start}
 .hv-promo--stack{display:block;aspect-ratio:auto;background:var(--hv-promo-bg,#151515)}.hv-promo--stack.hv-promo--light{background:var(--hv-promo-bg,var(--hv-card))}
 .hv-promo--stack picture,.hv-promo--stack picture img{position:relative;inset:auto;display:block;height:auto;aspect-ratio:800/600;z-index:0}.hv-promo--right{justify-content:flex-start}
 .hv-promo__copy{padding:26px 22px}.hv-promo h2{font-size:34px}
 .hv-band{min-height:380px;justify-content:flex-start;align-items:flex-end}.hv-band__copy{align-items:flex-start}.hv-band h2{text-align:left}.hv-band__links{justify-content:flex-start}
 .hv-head h2{font-size:26px}
 body.hv-site #site-footer .footer-top .hfg-grid{grid-template-columns:1fr!important}
}

/* header layout per approved reference */
body.hv-site .builder-item--header_cart_icon .component-wrap{display:flex;align-items:center;gap:14px}
body.hv-site .hv-acct{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--hvs-icon,#121212)!important}
body.hv-site .hv-acct:hover{color:var(--hvs-accent)!important}
body.hv-site .header-bottom .nav-menu-primary .nav-ul>li>a,body.hv-site .header-bottom .nav-menu-primary .nav-ul>li>.wrap>a{text-transform:var(--hvs-nav-case,none);letter-spacing:var(--hvs-nav-track,0);font-size:var(--hvs-nav-size,13.5px)!important;font-family:var(--hvs-nav-font,inherit)}
@media (min-width:960px){
 body.hv-site .header-main .container,body.hv-site .header-bottom .container{max-width:1280px!important;margin-inline:auto!important;padding-inline:20px!important}
 body.hv-hdr-center .header-main .site-logo img{max-width:190px!important;max-height:64px!important}
 body.hv-site .header-bottom .nav-menu-primary .nav-ul{justify-content:var(--hvs-nav-align,center)!important}
 body.hv-hdr-center .header-main .row--wrapper{position:relative;justify-content:flex-end}
 body.hv-hdr-center .header-main .row--wrapper>.builder-item.hfg-item-first{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto!important;max-width:none!important;flex:none!important;z-index:2}
 body.hv-hdr-center .header-main .row--wrapper>.builder-item.hfg-item-last{margin-left:auto!important;width:auto!important;max-width:none!important;flex:0 0 auto!important}
 body.hv-hdr-center .header-main .site-logo{justify-content:center!important}
 body.hv-hdr-compact .header-main .row--wrapper>.builder-item.hfg-item-last{justify-content:flex-end}
 body.hv-hdr-compact .header-main .builder-item--header_search{width:250px!important;flex:0 0 250px!important;margin-left:auto}
 body.hv-hdr-compact .header-main .builder-item--header_search .aws-search-form{height:40px!important}
 body.hv-hdr-flat .header-main .header-main-inner{border-bottom:0!important}
 body.hv-hdr-flat .header-bottom .row--wrapper{min-height:44px}
 body.hv-hdr-divider .header-main .site-logo .brand{position:relative;padding-right:22px;display:inline-flex}
 body.hv-hdr-divider .header-main .site-logo .brand::after{content:"";position:absolute;right:0;top:10%;bottom:10%;width:2px;background:var(--hvs-accent)}
}
