/* A restrained shop frame gives the full-colour, individually illustrated cards room. */
:root {--ink: #211a32; --paper: #fff; --muted: #615d6b; --line: #dedce4; --accent: #ad135e; --pink: #f2d9e8;}
body {background: #fff;}
.announcement {background: #17142b;}
.announcement span {color: #e1dbef;}
header {padding-top: 26px; padding-bottom: 26px;}
.logo > span {color: var(--accent);}
.hero {background: #19152a; color: #fff; border-radius: 6px; min-height: 550px; grid-template-columns: .95fr 1.05fr;}
.hero-copy {padding: 62px 7% 56px 9%; align-self: center; min-width: 0;}
.hero-copy > p:not(.eyebrow) {color: #d8d2e3; font-size: 1.0625rem; max-width: 390px;}
.hero h1 {font-size: clamp(3.4rem, 5.7vw, 6rem); letter-spacing: -.025em; margin-bottom: 28px; overflow-wrap: break-word;}
.hero h1 em {color: #ff7fc1;}
.hero .eyebrow {color: #e5cfed;}
.hero .primary {background: #f549a0; color: #251124; font-weight: 600; padding: 18px 25px;}
.hero .primary:hover {background: #ff8ac8;}
.hero .hero-note {margin-top: 22px; color: #bcb3cd;}
.hero-gallery {background: #211b36; grid-template-columns: 1.12fr 1fr; gap: 28px; padding: 45px 8% 45px 18px;}
.hero-main {transform: rotate(-5deg);}
.hero-side {transform: rotate(6deg); margin-top: 96px !important;}
.hero-gallery img {box-shadow: 0 20px 36px #06030e80; border: 1px solid #ffffff15;}
.hero-gallery figcaption {color: #ddd4eb; font-size: .75rem; line-height: 1.5;}
.occasion-section {padding-top: 44px;}
.occasion-pills button {border-color: #d7d3df;}
.occasion-pills button:hover {background: #f4eff8;}
.style-shortcuts {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px;}
.style-shortcuts button {border: 1px solid #ded7e8; color: #44324f; background: #f6f2fa; font-size: .875rem; padding: 11px 17px; border-radius: 4px;}
.style-shortcuts button:hover {border-color: #855999;}
.style-shortcuts button[aria-pressed=true] {background: #211a32; border-color: #211a32; color: #fff;}
.catalog-filters {background: #f5f4f7; border-color: #e3dfe8;}
.catalog-filters input, .catalog-filters select {border-color: #cdc7d6;}
.product-image, .product:nth-child(n) .product-image {background: #eeedf1; padding: 17px; aspect-ratio: 3 / 4;}
.product-image > .artwork-preview {box-shadow: 0 6px 15px #1c122a26; border-radius: 0;}
.product-image:hover img {transform: scale(1.025);}
.tag {top: 9px; left: 9px; border-radius: 3px; padding: 5px 8px; background: #fff; color: #332341; box-shadow: 0 1px 5px #211a3212;}
.quick-add {border-color: #d4cdda;}
.product h3 {font-weight: 600;}
.product-info {gap: 14px;}
.formats {background: #efedf6;}
.formats article, .format-disclaimer {border-color: #d7d0e3;}
.formats article p, .format-disclaimer {color: #61576f;}
.story {background: #19152a;}
.story h2 em {color: #ff92c9;}
.story > p:not(.eyebrow) {color: #ddd6e6;}
.review-summary, .empty-results {background: #f6f2f9; border-color: #ddd3e6;}
.checkout-note, .review-summary .checkout-note {background: #ece5f3;}
.bag-update-notice {border-left: 3px solid #8b4ca4; padding: 12px 16px; background: #f4eef8; color: #51415d; font-size: .875rem;}
.primary:hover {background: #49334f;}
.hero .primary:hover {background: #ff8ac8;}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {outline: 3px solid #a62a87; outline-offset: 4px;}
.hero a:focus-visible {outline-color: #fff;}
@media (max-width: 1000px) {
  .hero-copy {padding: 44px 7%;}
  .hero-gallery {gap: 20px; padding: 38px 7% 38px 10px;}
}
@media (max-width: 700px) {
  .hero {grid-template-columns: 1fr;}
  .hero-copy {padding: 40px 7%;}
  .hero h1 {font-size: clamp(3.35rem, 12vw, 4.7rem);}
  .hero-gallery {padding: 30px 9% 35px; gap: 26px; min-height: 340px;}
  .hero-gallery figure {max-width: none;}
  .hero-side {margin-top: 55px !important;}
  .hero-copy > p:not(.eyebrow) {max-width: none;}
  .hero-gallery figcaption {font-size: .75rem; letter-spacing: .01em;}
  .product-image, .product:nth-child(n) .product-image {padding: 10px;}
  .style-shortcuts {gap: 8px;}
  .style-shortcuts button {padding: 10px 12px;}
}
