/* Viva 0.2 — editorial masthead, first viewport, moving brand ribbons, tactile buttons. */
:root{--viva-announcement:32px;--viva-header:96px;--viva-ribbon:44px;--viva-admin-offset:0px}
body{position:relative}body.admin-bar{--viva-admin-offset:32px}
.marquee{position:relative;display:block;overflow:hidden;isolation:isolate}
.marquee-track{display:flex;width:max-content;animation:viva-marquee 36s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;justify-content:space-around;flex:none;min-width:100vw;gap:clamp(40px,6vw,105px);padding:0 30px}
.marquee-item{display:inline-flex;align-items:center;gap:clamp(40px,6vw,105px);flex:none;white-space:nowrap;font-size:10px;letter-spacing:.16em;line-height:1}
.marquee-item b{font-size:10px;font-weight:400}
.announcement{height:var(--viva-announcement);padding:0;color:var(--ivory);background:var(--cacao);text-align:initial;letter-spacing:normal}
.announcement .marquee-group{height:var(--viva-announcement)}
.announcement .marquee-track{animation-duration:42s}
.announcement .marquee-item{font-size:9px}
.marquee-toggle{position:absolute;right:0;top:0;height:100%;width:32px;z-index:1;background:var(--cacao);color:var(--ivory);border:0;font-size:12px;padding:0;box-shadow:none}
.marquee-toggle:focus-visible{outline:1px solid var(--ivory);outline-offset:-4px}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquees-paused .marquee-track{animation-play-state:paused}
@keyframes viva-marquee{to{transform:translateX(-50%)}}
.site-header{grid-template-columns:200px minmax(0,1fr) 200px;height:var(--viva-header);min-height:0;gap:30px;padding:10px var(--space);border-bottom:1px solid var(--line);background:var(--ivory)}
.brand{grid-column:1;grid-row:1;justify-content:flex-start;margin:0;width:max-content}
.brand img{width:174px;max-height:76px;object-fit:contain;object-position:left center}
#main-navigation{grid-column:2;grid-row:1;justify-self:center}
.primary-links{justify-content:center;gap:clamp(20px,2.5vw,45px);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.primary-links a{position:relative;display:block;padding:14px 0;text-decoration:none}
.primary-links a::after{content:'';position:absolute;bottom:8px;left:0;right:0;height:1px;background:var(--cacao);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.primary-links a:hover::after,.primary-links .current-menu-item a::after{transform:scaleX(1)}
.header-tools{grid-column:3;grid-row:1;gap:23px;justify-content:flex-end}
.header-tools a,.header-tools button{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:36px;background:none;border:0;padding:0;box-shadow:none;border-radius:0;color:var(--cacao)}
.header-tools a:hover{opacity:.65;text-decoration:none}.cart-link{gap:5px}
.cart-count{margin:0;font-size:9px;border:0;min-width:12px;width:auto;height:auto}
.search-toggle::before{content:none!important}
.home .site-header{position:absolute;top:var(--viva-announcement);left:0;right:0;background:rgba(253,246,226,.94);backdrop-filter:blur(12px);z-index:25}
.home .search-panel{position:absolute;left:0;right:0;top:calc(var(--viva-announcement) + var(--viva-header));background:var(--ivory);z-index:24}
.home-fold{height:calc(100vh - var(--viva-announcement) - var(--viva-admin-offset));height:calc(100svh - var(--viva-announcement) - var(--viva-admin-offset));display:flex;flex-direction:column}
.hero.hero-editorial{display:flex;position:relative;isolation:isolate;flex:1;min-height:0;overflow:hidden;background:var(--cacao);align-items:flex-end}
.hero-editorial .hero-photo{position:absolute;inset:0;z-index:-2;min-height:0;height:auto;background:var(--cacao)}
.hero-editorial .hero-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 48%}
.hero-editorial::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(44,12,9,.84),rgba(44,12,9,.24) 52%,rgba(44,12,9,.08) 78%)}
.hero-editorial .hero-copy{width:100%;padding:calc(var(--viva-header) + 30px) var(--space) clamp(28px,4vh,56px);display:block;color:var(--ivory)}
.hero-editorial .eyebrow{font-size:10px;letter-spacing:.2em;margin:0 0 24px}
.hero-editorial h1{font-size:clamp(70px,8.8vw,148px);line-height:.92;letter-spacing:-.045em;max-width:1000px;margin:0 0 28px;color:var(--ivory);text-wrap:balance}
.hero-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.hero-footer>p{margin:0;max-width:430px;font-size:13px;line-height:1.6}
.hero-footer .button{flex:none;min-width:205px}
.ribbon.marquee{flex:0 0 var(--viva-ribbon);height:var(--viva-ribbon);padding:0;border:0;border-top:1px solid var(--cacao);background:var(--rose);color:var(--cacao);display:block;gap:0}
.ribbon .marquee-group{height:var(--viva-ribbon)}
.ribbon .marquee-item,.ribbon .marquee-group span:last-of-type{display:inline-flex}
.ribbon .marquee-track{animation-duration:32s}
/* Defined edges and a hard offset shadow. Hover lifts; press depresses. */
.button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button:not(.is-link),.search-panel button,.viva-form button[type=submit]{
    display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:48px;padding:14px 23px;background:var(--ivory);color:var(--cacao);border:1.5px solid var(--cacao);border-radius:0!important;box-shadow:5px 5px 0 var(--cacao);font-family:var(--sans);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.045em;text-decoration:none;transform:translate(0,0);transition:transform .16s,box-shadow .16s,background .16s}
.button:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:not(.is-link):hover,.search-panel button:hover,.viva-form button[type=submit]:hover{
    background:var(--rose);color:var(--cacao);transform:translate(-1px,-1px);box-shadow:7px 7px 0 var(--cacao);text-decoration:none}
.button:active,.wp-element-button:active,.woocommerce a.button:active,.woocommerce button.button:active,.wc-block-components-button:not(.is-link):active,.search-panel button:active,.viva-form button[type=submit]:active{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--cacao)}
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{background:var(--rose);color:var(--cacao);border-color:var(--cacao)}
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--ivory);color:var(--cacao)}
.woocommerce ul.products li.product .button{padding:10px 15px;border:1px solid var(--cacao);background:var(--ivory);box-shadow:4px 4px 0 var(--cacao);margin-top:17px;min-height:40px;font-size:10px}
.woocommerce ul.products li.product .button:hover{background:var(--rose);box-shadow:6px 6px 0 var(--cacao)}
.hero-editorial .button,.academy-band .button{box-shadow:5px 5px 0 var(--rose);background:var(--ivory);color:var(--cacao)}
.hero-editorial .button:hover,.academy-band .button:hover{box-shadow:7px 7px 0 var(--rose);background:var(--rose)}
.hero-editorial .button:active,.academy-band .button:active{box-shadow:1px 1px 0 var(--rose)}
.wc-block-components-button:disabled,.woocommerce button.button:disabled{transform:none;opacity:.6;cursor:not-allowed;box-shadow:2px 2px 0 var(--cacao)}
@media(max-width:1100px){:root{--viva-header:86px}.site-header{grid-template-columns:155px minmax(0,1fr) 135px;gap:20px;padding-inline:28px}.brand img{width:150px;max-height:66px}.primary-links{gap:21px;font-size:9px}.header-tools{gap:17px}.hero-editorial h1{max-width:850px;font-size:clamp(70px,9.5vw,110px)}}
@media(max-width:780px){:root{--viva-announcement:30px;--viva-header:78px;--viva-ribbon:40px}body.admin-bar{--viva-admin-offset:46px}
.site-header{grid-template-columns:32px 1fr auto;gap:12px;padding:7px 20px}.menu-toggle{grid-column:1;grid-row:1}.brand{grid-column:2;justify-self:start;margin-left:0}.brand img{width:128px;max-height:60px}.header-tools{grid-column:3;gap:15px}.header-tools .search-toggle{font-size:inherit}.header-tools a.account-link{display:none}.header-tools .cart-link{display:inline-flex}.header-tools svg{width:21px;height:21px}.header-tools .cart-count{font-size:9px}
#main-navigation{grid-column:auto;grid-row:auto;justify-self:auto;display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px;background:var(--ivory);border-bottom:1px solid var(--cacao)}#main-navigation.is-open{display:block}.primary-links{align-items:flex-start;gap:0;font-size:14px}.primary-links a{padding:15px 0}.primary-links a::after{display:none}
.announcement .marquee-item{font-size:8px;letter-spacing:.13em}.marquee-group{padding-inline:24px;gap:44px}.marquee-item{font-size:9px;gap:44px;letter-spacing:.12em}
.hero-editorial .hero-photo{order:0}.hero-editorial .hero-photo img{object-position:50% 43%}
.hero-editorial .hero-copy{padding:calc(var(--viva-header) + 22px) 24px 30px}
.hero-editorial .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:19px}
.hero-editorial h1{font-size:clamp(52px,14.3vw,92px);line-height:.96;max-width:650px;margin-bottom:22px;text-wrap:balance}
.hero-footer{display:flex;flex-direction:column;align-items:flex-start;gap:21px}.hero-footer>p{font-size:11px;max-width:275px}.hero-footer .button{min-width:190px;min-height:46px}
.home .search-panel{padding:20px}.search-panel form>div{gap:10px}.search-panel button{padding:10px 15px;font-size:10px;min-height:44px}
}
@media(max-height:700px) and (min-width:781px){:root{--viva-header:76px}.brand img{max-height:58px}.hero-editorial .hero-copy{padding-top:calc(var(--viva-header) + 18px);padding-bottom:24px}.hero-editorial h1{font-size:clamp(58px,6.7vw,96px);max-width:950px;margin-bottom:20px}.hero-editorial .eyebrow{margin-bottom:15px}.hero-footer>p{font-size:11px}}
@media(max-height:660px) and (max-width:780px){.hero-editorial h1{font-size:clamp(42px,12vw,64px);margin-bottom:15px}.hero-editorial .hero-copy{padding-bottom:23px;padding-top:calc(var(--viva-header) + 12px)}.hero-editorial .eyebrow{margin-bottom:14px}.hero-footer{gap:15px}.hero-footer>p{font-size:10px}.hero-footer .button{min-height:40px;padding:10px 18px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;will-change:auto}.button,.woocommerce a.button,.woocommerce button.button,.wp-element-button,.wc-block-components-button{transition:none}.marquee-toggle{display:none}}
.woocommerce ul.products li.product .button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--cacao)}

/* 0.3: only the two requested marquees change typography and density. */
.marquee-group{justify-content:flex-start;gap:32px;padding-inline:16px}
.marquee-item{gap:32px;font-size:15px;letter-spacing:.12em}
.announcement .marquee-item{font-size:13px}
.announcement .marquee-track{animation-duration:52s}
.ribbon .marquee-track{animation-duration:48s}
@media(max-width:780px){.marquee-group{gap:24px;padding-inline:12px}.marquee-item{gap:24px;font-size:12px}.announcement .marquee-item{font-size:11px}}
