/* Account access and collection art direction. */
.customer-menu{position:relative;color:var(--text);flex-shrink:0;font:600 12px/1.4 var(--sans)}.customer-menu summary{list-style:none;display:flex;align-items:center;gap:7px;padding:12px 10px;border:1px solid var(--border);border-radius:25px;cursor:pointer;transition:background .2s,border-color .2s}.customer-menu summary::-webkit-details-marker{display:none}.customer-menu svg{fill:none;stroke:currentColor;stroke-width:1.6}.customer-menu summary:hover,.customer-menu[open] summary{background:var(--mint);border-color:var(--primary)}.customer-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:260px;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 18px 60px #002b1a24;z-index:100;color:var(--text)}.customer-menu-panel strong{font-size:16px}.customer-menu-panel p{font:400 13px/1.5 var(--sans);margin:8px 0 14px}.customer-menu-panel a,.customer-menu-panel button{display:block;width:100%;padding:12px;border-radius:9px;font:600 14px/1.4 var(--sans);text-decoration:none;color:var(--text);border:0;text-align:left;background:none}.customer-menu-panel a:hover,.customer-menu-panel button:hover{background:var(--mint);color:var(--primary)}.customer-menu-panel .customer-login-link{background:var(--primary);color:var(--surface);margin-bottom:6px;display:flex;justify-content:space-between}.customer-menu-panel .customer-login-link:hover{color:var(--text)}.customer-menu-panel form{margin:0}.navigation .customer-menu{margin:16px 0}.navigation .customer-menu summary{font-size:15px;justify-content:center}.navigation .customer-menu-panel{position:static;width:auto;box-shadow:none;margin-top:8px}.customer-menu :focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.account-shell{max-width:1160px}.account-shell>h1{font-size:clamp(30px,3.8vw,54px);margin:12px 0 32px}.access-layout{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--border);border-radius:24px;overflow:hidden;background:var(--surface)}.access-benefits{padding:40px;background:var(--mint)}.access-symbol{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--border);border-radius:50%;font:36px Georgia,serif;color:var(--primary);margin-bottom:30px}.access-benefits h2{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:20px 0 32px}.access-benefits ul{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:24px}.access-benefits li{display:grid;gap:5px;padding-left:18px;border-left:2px solid var(--primary)}.access-benefits li span{font-size:14px;line-height:1.6}.access-form-panel{padding:36px}.access-tabs{display:flex;padding:5px;background:var(--mint);border-radius:12px;gap:6px;margin-bottom:30px}.access-tabs a{flex:1;text-align:center;padding:12px;text-decoration:none;font:600 15px var(--sans);color:var(--text);border-radius:8px;transition:background .2s,box-shadow .2s}.access-tabs a[aria-current]{background:var(--surface);box-shadow:0 2px 8px #002b1a12;color:var(--primary)}.access-form-panel h2{font-size:28px;margin-bottom:12px}.access-form-panel>p{font-size:14px;line-height:1.6}.access-form-panel .account-login{border:0;padding:0;margin:24px 0 14px;max-width:none}.access-form-panel .form-verification{padding:16px;margin-block:20px}.access-form-panel .form-verification p{font-size:13px;line-height:1.5}.access-form-panel .verification-controls{flex-wrap:wrap}.access-form-panel .consent{font-size:13px}.access-form-panel .access-submit{width:100%;display:flex;justify-content:space-between}.access-form-panel .hint{font-size:12px;margin:12px 0}.access-switch{text-align:center;border-top:1px solid var(--border);padding-top:20px}.access-switch a{color:var(--primary);font-weight:600}
/* A contained stage replaces disconnected decorations. */
.shop-page .offer-hero{border-radius:24px;padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:440px;border:1px solid var(--border);background:var(--surface);color:var(--text);overflow:hidden}.offer-story{padding:clamp(24px,4vw,58px);align-self:center}.shop-page .offer-hero h1{font-size:clamp(34px,4.2vw,64px);line-height:1.08;margin:20px 0;max-width:none}.shop-page .offer-hero p{max-width:none;line-height:1.65}.offer-story .text-link{margin-top:24px}.festival-edition{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--border);border-radius:30px;padding:7px 12px;font:600 11px/1.4 var(--sans);letter-spacing:.06em;margin-top:20px}.festival-stage{position:relative;min-height:420px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,var(--fest-glow),transparent 62%),linear-gradient(145deg,var(--fest-wash),var(--surface));isolation:isolate}.festival-stage:before{content:"";position:absolute;inset:7%;border:1px solid color-mix(in srgb,var(--fest-main) 30%,transparent);border-radius:50% 50% 4px 4px}.festival-stage:after{content:"";position:absolute;inset:12%;border:1px solid color-mix(in srgb,var(--fest-gold) 45%,transparent);border-radius:50% 50% 4px 4px}.festival-stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.festival-poster{position:absolute;inset:10% 16% 16%;display:grid;place-items:center;transition:opacity .5s;z-index:1}.festival-poster svg{width:100%;height:100%;filter:drop-shadow(0 18px 12px #38230e21);stroke:var(--fest-main)}.festival-stage[data-rendered=true] .festival-poster{opacity:0}.festival-rings{position:absolute;width:76%;aspect-ratio:1;top:5%;left:12%;border:1px solid color-mix(in srgb,var(--fest-main) 20%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--fest-gold) 9%,transparent),0 0 0 50px color-mix(in srgb,var(--fest-gold) 5%,transparent)}.festival-spark{position:absolute;width:5px;height:5px;background:var(--fest-gold);border-radius:50%;box-shadow:0 0 12px var(--fest-gold);left:var(--x);top:var(--y)}.festival-caption{position:absolute;bottom:24px;left:24px;right:24px;text-align:center;z-index:3;color:var(--text);font:600 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase}.festival-garland{position:absolute;left:9%;right:9%;top:6%;display:flex;justify-content:space-between;z-index:3}.festival-garland span{width:28px;height:40px}.festival-garland svg{width:100%;height:100%}.offer-hero .eyebrow{color:var(--primary)}
html[data-theme=dark] .festival-stage{--fest-wash:#182d26!important;--fest-glow:#61492366!important}html[data-theme=dark] .customer-menu-panel .customer-login-link{color:#08261a}html[data-theme=dark] .access-benefits{background:#173b2d}
@media(min-width:1200px){.site-header:has(.customer-menu){gap:9px}.site-header:has(.customer-menu) .desktop-navigation{gap:8px}.site-header:has(.customer-menu) .nav-parent>a{font-size:13px}}
@media(min-width:1200px) and (max-width:1499px){.site-header:has(.customer-menu) .brand{width:145px;flex-basis:145px}.site-header:has(.customer-menu) .desktop-navigation{gap:4px}.site-header:has(.customer-menu) .nav-parent>a{font-size:12px}.site-header:has(.customer-menu) .theme-toggle{padding:9px}}
@media(max-width:1199px){.site-header>.customer-menu{display:none}}
@media(max-width:760px){.access-layout{grid-template-columns:1fr;border-radius:18px}.access-benefits{padding:22px;order:2}.access-benefits .access-symbol,.access-benefits .eyebrow{display:none}.access-benefits h2{font-size:24px;margin:0 0 20px}.access-benefits ul{gap:16px;margin-bottom:18px}.access-benefits li span{font-size:13px}.access-form-panel{padding:20px}.access-tabs{margin-bottom:24px}.access-form-panel h2{font-size:25px}.account-shell>h1{margin-bottom:24px}.access-form-panel .form-verification{padding:12px}.shop-page .offer-hero{grid-template-columns:1fr;min-height:0}.offer-story{padding:26px}.shop-page .offer-hero h1{font-size:34px!important;margin:16px 0}.festival-stage{min-height:280px}.festival-poster{inset:8% 22% 16%}.festival-garland span{width:22px;height:28px}.festival-caption{font-size:9px;bottom:17px}.offer-story .text-link{margin-top:14px}.festival-edition{font-size:10px}.festival-rings{width:52%;left:24%;top:4%}}
@media(prefers-reduced-motion:reduce){.customer-menu *,.access-tabs a,.festival-poster{transition:none!important}}
/* Native dialog keeps keyboard focus inside the slide-in cart. */
.festival-stage canvas{visibility:hidden}.festival-stage[data-rendered=true] canvas{visibility:visible}
.cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;background:var(--surface,#fff);color:var(--text,#173d2c);box-shadow:-16px 0 70px #071c262b;overflow:hidden;z-index:9999}.cart-drawer[open]{display:flex;flex-direction:column;animation:cart-slide .35s cubic-bezier(.2,.7,.2,1)}.cart-drawer::backdrop{background:#071c2670;backdrop-filter:blur(3px)}.cart-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--border)}.cart-drawer-head p{margin:0 0 6px;font:600 10px var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--primary)}.cart-drawer-head h2{font-size:30px;margin:0}.cart-drawer-head h2 span{font:400 15px var(--sans)}.drawer-close{border:1px solid var(--border);border-radius:50%;width:42px;height:42px;background:none;color:inherit;font:28px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.drawer-close:hover{transform:rotate(90deg);background:var(--mint)}.drawer-status{font-size:13px;line-height:1.5;margin:0;padding:10px 24px;background:var(--mint)}.drawer-status:empty{display:none}.drawer-status[data-error=true]{color:#a32f21;background:#fff0eb}.cart-drawer-body{padding:0 24px 24px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}.cart-drawer-body[aria-busy=true]{opacity:.6;pointer-events:none}.drawer-product{display:grid;grid-template-columns:82px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--border);position:relative}.drawer-product-photo{display:flex;align-items:center;border-radius:10px;background:#f1f7f3;overflow:hidden;aspect-ratio:1}.drawer-product-photo img{width:100%;height:100%;object-fit:contain}.drawer-product-photo picture{width:100%}.drawer-product-title{font:600 16px/1.4 var(--sans);text-decoration:none;color:inherit;display:block}.drawer-product-title:hover{color:var(--primary)}.drawer-product p{font-size:13px;margin:6px 0 12px}.drawer-product>strong{grid-column:2;font:600 15px var(--sans)}.drawer-quantity{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.drawer-quantity label{font-size:12px;display:flex;align-items:center;gap:7px}.drawer-quantity input{width:52px;padding:7px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:inherit;font:14px var(--sans)}.drawer-quantity button,.drawer-coupon button{border:1px solid var(--border);border-radius:8px;padding:9px;background:var(--mint);color:var(--text);font:600 11px var(--sans);cursor:pointer}.drawer-quantity button:hover,.drawer-coupon button:hover{border-color:var(--primary);color:var(--primary)}.drawer-coupon{padding-top:24px}.drawer-coupon label{font:600 14px var(--sans)}.drawer-coupon>div{display:flex;gap:8px;margin-top:10px}.drawer-coupon input{min-width:0;width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit;font:14px var(--sans)}.drawer-coupon small,.drawer-tax-note{font-size:11px;line-height:1.6}.drawer-totals{margin:24px 0 12px}.drawer-totals>div{display:flex;justify-content:space-between;gap:12px;margin:12px 0;font-size:14px}.drawer-totals dd{margin:0;font-weight:600}.drawer-grand-total{padding-top:16px;border-top:1px solid var(--border);font-size:20px!important}.cart-drawer-foot{padding:18px 24px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);display:grid;gap:10px}.cart-drawer-foot .button{display:flex;justify-content:space-between;padding:16px 20px;font-size:14px}.cart-drawer-foot>button{background:none;border:0;color:var(--text);padding:7px;cursor:pointer;font:500 13px var(--sans)}.drawer-empty{text-align:center;padding:60px 0}.drawer-empty>span{display:block;font-size:38px;color:var(--primary)}.drawer-empty h3{font-size:28px;line-height:1.2}.drawer-empty p{font-size:14px;line-height:1.6;margin:20px 0}.cart-drawer :focus-visible{outline:2px solid var(--primary);outline-offset:3px}@keyframes cart-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}@media(max-width:480px){.cart-drawer-head{padding:20px}.cart-drawer-body{padding-inline:20px}.drawer-product{gap:12px;grid-template-columns:66px 1fr}.cart-drawer-foot{padding:16px 20px}.drawer-product-title{font-size:14px}.drawer-product p{font-size:12px}}@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none}.drawer-close{transition:none}}

/* Keep the edition caption clear of ornamental frames. */
.festival-stage:before{inset:7% 7% 18%}.festival-stage:after{inset:12% 12% 22%}.shop-page:has(.offer-hero){padding-top:clamp(28px,4vw,60px)}

/* The native top-layer dialog must retain a visible system pointer. */
body .cart-drawer,body .cart-drawer *{cursor:auto!important}body .cart-drawer :is(a,button){cursor:pointer!important}body .cart-drawer input{cursor:text!important}
@media(prefers-reduced-motion:reduce){.festival-stage canvas{visibility:hidden!important}.festival-stage .festival-poster{opacity:1!important}}
