:root{--paper:#fff;--rose:#df5b78;--deep:#000;--wine:#30131c;--line:#393033}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--paper);font-family:'DM Sans',sans-serif}.announcement{padding:11px;background:#0c090a;color:#fff;text-align:center;font-size:12px;letter-spacing:.07em}.announcement span{margin:0 12px;color:#ff9cb0}header{height:86px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:#000;border-bottom:1px solid var(--line)}.brand{color:#fff;font-size:18px;font-weight:700;letter-spacing:.16em;text-decoration:none}.brand span{color:var(--rose);font-family:'Playfair Display';font-size:23px;font-style:italic;letter-spacing:.04em}nav{display:flex;gap:32px}nav a,.text-link{color:#fff;font-size:14px;text-decoration:none}.cart-button{border:0;background:none;color:#fff;font:inherit;cursor:pointer}.cart-button span{display:inline-grid;width:20px;height:20px;margin-left:6px;place-items:center;border-radius:50%;background:var(--rose);color:white;font-size:11px}.hero{display:grid;min-height:570px;grid-template-columns:1fr 1fr;overflow:hidden}.hero-copy{padding:108px 10% 72px 13%;background:#000}.eyebrow{margin:0 0 18px;color:#ff9cb0;font-size:11px;font-weight:700;letter-spacing:.16em}.hero h1,h2{margin:0;color:#fff;font-family:'Playfair Display';font-size:54px;font-weight:600;letter-spacing:-.04em;line-height:1.04}.hero h1 em,h2 em{color:var(--rose);font-weight:600}.intro{max-width:420px;margin:25px 0 30px;color:#fff;font-size:16px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:24px}.button{display:inline-block;padding:15px 22px;border:0;border-radius:0;font-size:11px;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;cursor:pointer}.primary{background:var(--rose);color:#fff}.text-link{font-weight:700}.text-link span{margin-left:7px;color:var(--rose);font-size:20px}.hero-art{position:relative;min-height:570px;overflow:hidden;background:#160f12}.sun{position:absolute;top:72px;right:-45px;width:380px;height:380px;border-radius:50%;background:#352026}.arch{position:absolute;bottom:0;left:16%;width:280px;height:360px;border:2px solid #9b5261;border-bottom:0;border-radius:190px 190px 0 0}.tshirt{position:absolute;z-index:1;top:87px;right:17%;display:grid;width:210px;height:245px;place-items:center;background:#fff;clip-path:polygon(24% 0,38% 8%,62% 8%,76% 0,100% 15%,84% 34%,81% 100%,19% 100%,16% 34%,0 15%);color:#a83f58;filter:drop-shadow(0 14px 12px #000);font-family:'Playfair Display';font-size:20px;text-align:center}.mug{position:absolute;z-index:2;bottom:76px;left:16%;display:grid;width:180px;height:165px;place-items:center;border-radius:8px 8px 48px 48px;background:#c54563;color:#fff;box-shadow:0 17px 12px #0009;font-family:'Playfair Display';font-size:70px}.mug-rim{position:absolute;top:-11px;width:179px;height:25px;border:7px solid #d25370;border-radius:50%;background:#631c2e}.mug-handle{position:absolute;top:39px;right:-52px;width:66px;height:82px;border:17px solid #c54563;border-left:0;border-radius:0 45px 45px 0}.stem{position:absolute;z-index:3;color:#d6627a;font-size:72px}.stem.one{bottom:28px;left:56%}.stem.two{top:34px;right:5%;font-size:50px}.art-label{position:absolute;right:8%;bottom:20px;color:#ffc1cc;font-family:'Playfair Display';font-style:italic}.categories{display:grid;padding:49px 8%;grid-template-columns:repeat(4,1fr);gap:15px;background:#000;border-bottom:1px solid var(--line)}.categories a{padding:8px;color:#fff;text-align:center;text-decoration:none}.category-icon{display:block;height:42px;color:var(--rose);font-size:32px}.categories b,.categories small{display:block}.categories b{margin:6px;font-family:'Playfair Display';font-size:18px}.categories small{color:#fff;font-size:12px}.products{padding:95px 8%;background:#000}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:37px}.section-heading h2,.story h2,.custom-banner h2{font-size:38px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product{cursor:pointer}.product-image{position:relative;display:grid;height:230px;place-items:center;overflow:hidden;border:1px solid #443034}.product-image.mug-bg{background:#211316}.product-image.tumbler-bg{background:#13201c}.product-image.shirt-bg{background:#26171a}.product-image.bottle-bg{background:#1b1727}.product-icon{font-size:110px;filter:drop-shadow(3px 8px 3px #000)}.product-image .badge{position:absolute;top:12px;left:12px;padding:6px 9px;background:#fff;color:#000;font-size:10px;font-weight:700;letter-spacing:.06em}.product h3{margin:15px 0 5px;color:#fff;font-family:'Playfair Display';font-size:18px}.product p{margin:0;color:#fff;font-size:13px}.product p b{margin-left:5px;color:#fff}.custom-banner{display:grid;padding:84px 10%;grid-template-columns:1fr 1fr;gap:60px;background:var(--wine);border-top:1px solid #6f3846;border-bottom:1px solid #6f3846;color:#fff}.custom-banner .eyebrow,.custom-banner h2 em,.steps b{color:#ffb3c0}.custom-banner>div>p:not(.eyebrow){max-width:400px;color:#fff;line-height:1.65}.light{margin-top:10px;background:#fff;color:#000}.steps{display:grid;padding-left:45px;align-content:center;gap:34px;border-left:1px solid #a45566}.steps div{display:flex;align-items:center;gap:24px}.steps b{font-family:'Playfair Display';font-size:30px}.steps span{font-size:16px}.story{display:grid;padding:100px 16%;grid-template-columns:180px 1fr;gap:70px;align-items:start;background:#000}.story-mark{display:grid;width:150px;height:150px;place-items:center;border-radius:50%;background:#351b22;color:#ff9db0;font-family:'Playfair Display';font-size:83px;font-style:italic}.story p:not(.eyebrow){max-width:500px;margin:23px 0;color:#fff;line-height:1.7}footer{display:flex;padding:35px 7%;align-items:center;justify-content:space-between;background:#000;border-top:1px solid var(--line);color:#fff;font-size:12px}.cart-panel{position:fixed;z-index:10;top:0;right:-420px;width:min(420px,90vw);height:100vh;padding:27px;background:#0a0808;color:#fff;box-shadow:-8px 0 30px #000;transition:right .3s ease}.cart-panel.open{right:0}.cart-top{display:flex;padding-bottom:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.cart-top h2{font-size:30px}.close{border:0;background:none;color:#fff;font-size:31px;line-height:1;cursor:pointer}.cart-items{max-height:65vh;padding:18px 0;overflow:auto}.empty{color:#fff;line-height:1.5}.cart-item{display:flex;padding:13px 0;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.cart-item b{display:block;font-family:'Playfair Display';font-size:17px}.cart-bottom{position:absolute;right:27px;bottom:25px;left:27px;padding-top:16px;border-top:1px solid var(--line)}.cart-bottom>div{display:flex;margin-bottom:15px;justify-content:space-between}.wide{width:100%}.overlay{position:fixed;z-index:9;inset:0;background:#000b;opacity:0;pointer-events:none;transition:.3s}.overlay.show{opacity:1;pointer-events:auto}dialog{width:min(760px,92vw);padding:0;border:1px solid #6d3a45;background:#0a0808;color:#fff;box-shadow:0 20px 70px #000}dialog::backdrop{background:#000b}.dialog-close{position:absolute;z-index:2;top:14px;right:16px}.custom-grid{display:grid;grid-template-columns:1fr 1fr}.preview{display:grid;min-height:430px;place-items:center;background:#211418;text-align:center}.preview small{align-self:start;margin-top:-70px;color:#fff}.preview-mug{position:relative;display:grid;width:205px;height:190px;padding:18px;place-items:center;border-radius:8px 8px 55px 55px;background:#f4cfcd;color:#743544;box-shadow:0 14px 8px #000;font-family:'Playfair Display';font-size:19px;text-align:center}.preview-handle{position:absolute;right:-55px;width:70px;height:90px;border:18px solid #f4cfcd;border-left:0;border-radius:0 55px 55px 0}.custom-form{padding:60px 42px}.custom-form h2{margin-bottom:28px;font-size:34px}.custom-form label{display:block;margin:15px 0;font-size:12px;font-weight:700;letter-spacing:.06em}.custom-form input,.custom-form select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #6d5558;background:#fff;color:#000;font:inherit;font-size:14px}@media(max-width:720px){header{height:67px;padding:0 5%}nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:72px 8% 55px}.hero h1{font-size:44px}.hero-art{min-height:400px}.tshirt{transform:scale(.8);transform-origin:top right}.mug{transform:scale(.78);transform-origin:bottom left}.categories{padding:25px;grid-template-columns:repeat(2,1fr)}.products{padding:65px 6%}.product-grid{grid-template-columns:repeat(2,1fr);gap:17px}.product-image{height:165px}.product-icon{font-size:78px}.section-heading h2,.story h2,.custom-banner h2{font-size:31px}.custom-banner{padding:60px 8%;grid-template-columns:1fr;gap:40px}.steps{padding-left:25px}.story{padding:67px 8%;grid-template-columns:1fr;gap:25px}.story-mark{width:100px;height:100px;font-size:56px}footer{flex-direction:column;gap:12px}.custom-grid{grid-template-columns:1fr}.preview{min-height:280px}.custom-form{padding:38px 25px}}
:root { color-scheme: dark; }
[hidden] { display: none !important; }
/* Keep sticky navigation clickable above content, below the cart backdrop. */
header { z-index: 5 !important; }
/* Let the stacked shirt choices occupy two rows without pushing hats away. */
#product-grid { align-items: start; }
#product-grid > .product[data-product="2"] { grid-row: span 2; }
.cart-item { flex-wrap: wrap; gap: 12px; }
.cart-item > div:first-child { min-width: 0; flex: 1 1 160px; overflow-wrap: anywhere; }
.cart-item > div:last-child { flex-wrap: wrap; max-width: 100%; }
.cart-item .quantity-input { width: 64px !important; min-height: 36px; }
.cart-item .quantity-change { min-width: 32px; min-height: 36px; }
dialog { max-height: 90vh; max-height: 90dvh; overflow-y: auto; }
button:focus-visible, a:focus-visible { outline: 2px solid #ffb3c0; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
.magic-mug-preview { margin: 14px 0; padding: 14px; border: 1px solid #ffffff30; border-radius: 12px; background: #25151d; color: #fff; }
.magic-mug-preview strong { font-size: 14px; }
.magic-mug-preview p { margin: 8px 0; font-size: 12px; line-height: 1.5; color: #eedde4; }
.magic-mug-preview .magic-heat-status { color: #ffc0cf; }
.magic-mug-preview > div { display: flex; flex-wrap: wrap; gap: 8px; }
.magic-mug-preview button { min-height: 40px; padding: 8px 12px; border: 1px solid #ffffff44; border-radius: 8px; background: #42212e; color: #fff; cursor: pointer; }
.magic-mug-preview button:disabled { opacity: .5; cursor: default; }
.magic-mug-preview button:focus-visible { outline: 2px solid #ffb3cc; outline-offset: 3px; }
/* Fixed product previews: no bobbing, card lift, zoom, or hover motion. Keep
   customizer canvases outside these rules so deliberate 3D controls still work. */
:root #product-grid .product,
:root #product-grid .product-image,
:root #product-grid .product-model,
:root #product-grid .shirt-model-option,
:root #product-picker[open] .custom-product-options button,
:root #product-picker .custom-product-options button .choice-art,
:root #product-picker .picker-model-host {
  animation: none !important;
  transform: none !important;
  translate: none !important;
  will-change: auto !important;
  transition: border-color .15s ease, background-color .15s ease !important;
}
:root #product-picker::before, :root #product-picker::after,
:root .hero-art .mug, :root .hero-art .tshirt {
  animation: none !important;
  translate: none !important;
  will-change: auto !important;
}
