.kit-sale-banner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.35rem 1.5rem; border:1px solid #4e8bb5; border-left:5px solid #ffc16c; border-radius:6px; background:linear-gradient(115deg,#102b43,#0a141f); color:#f4f8fc; }
.kit-sale-banner[hidden] { display:none; }
.kit-sale-banner p { margin:0 0 .4rem; line-height:1.45; }
.kit-sale-banner .sale-eyebrow { color:#ffcd89; font-size:.8rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.kit-sale-banner strong { font-size:1.7rem; color:#fff; }
.kit-sale-banner small { display:block; color:#d4e1ec; line-height:1.5; }
.kit-sale-banner .button { flex-shrink:0; white-space:nowrap; margin:0; }
.home-sale { max-width:1400px; margin:1.5rem auto 0; width:calc(100% - 3rem); }
.shop-main>.kit-sale-banner { margin:0 0 2rem; }
.product-price del { display:block; flex-basis:100%; font-family:var(--body); color:#abbcc9; font-size:1rem; }
.product-price .sale-tag { display:block; flex-basis:100%; color:#ffcd89; font-family:var(--body); font-size:.85rem; line-height:1.5; }
.checkout .sale-savings { color:#ffcd89; }
@media(max-width:620px) { .kit-sale-banner { align-items:stretch; flex-direction:column; gap:1rem; padding:1.1rem; } .kit-sale-banner .button { width:100%; text-align:center; } .home-sale { width:calc(100% - 2rem); } }

.anniversary-promo { position:relative; isolation:isolate; display:grid; grid-template-columns:10rem minmax(0,1fr) 13rem; align-items:center; gap:clamp(1.25rem,3vw,3rem); overflow:hidden; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid #228bd1; border-radius:12px; background:radial-gradient(ellipse at 5% 100%,#07558c 0,transparent 48%),radial-gradient(ellipse at 95% 0,#11334f 0,transparent 55%),#060d16; box-shadow:0 0 36px #069cff1c,inset 0 1px #69c9ff55; }
.anniversary-promo[hidden] { display:none; }
.anniversary-promo::before { content:""; position:absolute; z-index:-1; inset:0; background:repeating-linear-gradient(125deg,transparent 0 45px,#81c8ff06 46px 47px); pointer-events:none; }
.anniversary-promo::after { content:""; position:absolute; z-index:-1; inset:-70% -30%; background:linear-gradient(110deg,transparent 42%,#9bdeff17 49%,transparent 56%); transform:translateX(-75%); animation:anniversary-sweep 1.8s ease-out .25s 1 both; pointer-events:none; }
.anniversary-emblem { display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:1; border:1px solid #42baff77; border-radius:50%; background:radial-gradient(circle,#0b3657bb,transparent 70%); box-shadow:0 0 0 9px #32adff09,0 0 0 10px #32adff22,0 0 45px #0c9fff25; transform:rotate(-8deg); }
.anniversary-year { color:#f7fbff; font:900 6.6rem/.9 var(--display); letter-spacing:-.07em; text-shadow:4px 4px 0 #049fff66; }
.anniversary-year-label { margin-top:.8rem; color:#8fd5ff; font-size:.51rem; font-weight:900; letter-spacing:.14em; }
.anniversary-copy { min-width:0; }
.anniversary-kicker { margin:0 0 .7rem; color:#8ed7ff; font-size:.7rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.anniversary-copy h2 { color:#fff; font-size:clamp(2.7rem,4.1vw,4.4rem); line-height:.97; letter-spacing:-.02em; }
.anniversary-copy h2 span { display:block; color:#65c8ff; }
.anniversary-thanks { margin:.85rem 0 .5rem; color:#edf5fc; font-size:.9rem; }
.anniversary-copy small { display:block; max-width:32rem; color:#b5c9d9; font-size:.73rem; line-height:1.6; }
.anniversary-action { display:flex; flex-direction:column; align-items:center; gap:1rem; }
.anniversary-offer { display:flex; flex-direction:column; align-items:center; margin:0; color:#ffcf72; text-transform:uppercase; }
.anniversary-offer[hidden] { display:none; }
.anniversary-up-to { font-size:.76rem; font-weight:900; letter-spacing:.2em; }
.anniversary-offer strong { display:flex; align-items:flex-start; font:900 5.6rem/.98 var(--display); letter-spacing:-.05em; }
.anniversary-percent { margin:.2em 0 0 .06em; font-size:.5em; }
.anniversary-off { font-size:.9rem; font-weight:900; letter-spacing:.15em; }
.anniversary-cta { width:100%; min-height:3.3rem; border-radius:5px; border:1px solid #ffe1a0; background:#ffcd72; color:#111b26; box-shadow:0 6px 25px #ffbd4920; text-transform:uppercase; }
.anniversary-cta:hover { background:#ffe1a4; }
.anniversary-cta:focus-visible { outline-color:#fff; }
@keyframes anniversary-sweep { to { transform:translateX(75%); } }
@media(max-width:1000px) { .anniversary-promo { grid-template-columns:minmax(0,1fr) 11rem; gap:1.5rem; } .anniversary-emblem { display:none; } .anniversary-copy h2 { font-size:clamp(2.5rem,5vw,3.8rem); } }
@media(max-width:620px) { .anniversary-promo { grid-template-columns:minmax(0,1fr); gap:1.25rem; padding:1.5rem; text-align:center; } .anniversary-copy h2 { font-size:clamp(2.35rem,9vw,3.8rem); } .anniversary-copy h2 span { display:inline; } .anniversary-kicker { font-size:.62rem; letter-spacing:.12em; } .anniversary-thanks { font-size:.83rem; } .anniversary-action { gap:.8rem; } .anniversary-offer strong { font-size:4.5rem; } .anniversary-cta { max-width:22rem; } .anniversary-copy small { margin-inline:auto; } }
@media(prefers-reduced-motion:reduce) { .anniversary-promo::after { animation:none; display:none; } .anniversary-cta { transition:none; } }
