 .packs-main{padding-top:2rem;padding-bottom:3rem;max-width:1150px}.packs-main h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.15;color:#4b2b68}.pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:2rem 0}.pack-card{display:flex;flex-direction:column;background:#fff;border:1px solid #decfe7;border-radius:1.25rem;padding:1.25rem;box-shadow:0 6px 20px #392b4010}.pack-card>a:first-child{color:inherit;text-decoration:none}.pack-card img{width:100%;height:260px;object-fit:contain;background:#faf8fc;border-radius:.6rem}.pack-card h2{font-size:1.5rem;line-height:1.2;margin:1rem 0 .4rem}.pack-card .button{margin-top:auto;align-self:flex-start}.pack-meta{font-size:.9rem;color:#62516b}.pack-detail{display:grid;grid-template-columns:320px 1fr;gap:2.5rem;align-items:start;margin:2rem 0}.pack-detail>img{width:100%;max-height:480px;object-fit:contain}.pack-request,.letter-invite{padding:1.5rem;background:#f5eefb;border-radius:1.2rem;margin:1.5rem 0}.letter-invite{background:#fff8eb}.setup-note{padding:1rem;border:2px dashed #826b95;border-radius:.8rem;background:white}.help-home{margin-block:2rem;padding:1.7rem;border-radius:1.2rem;background:#f5eefb}.pack-card a:focus-visible{outline:3px solid #73539b;outline-offset:4px}@media(max-width:850px){.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-detail{grid-template-columns:240px 1fr;gap:1.5rem}}@media(max-width:600px){.pack-grid,.pack-detail{grid-template-columns:1fr}.pack-detail>img{max-height:340px}.pack-card img{height:300px}}

/* Reusable character cards. Only containers with pack-card-set use this design. */
.pack-card-set { color:#3f3850; }
.pack-card-set.pack-category-section { margin-block:3rem; }
.pack-card-set.pack-category-section>h2 { color:#4b2b68; font-family:'Baloo 2',sans-serif; font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; margin:0 0 1.25rem; }
.pack-card-set .pack-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; align-items:stretch; margin:0; }
.pack-card-set .pack-grid--related { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pack-card-set .pack-card { --card-tint:#fff9e9; --category-tint:#f7df9a; display:flex; flex-direction:column; min-width:0; height:100%; padding:0; overflow:hidden; background:#fff; border:1px solid #dfd3e6; border-radius:20px; box-shadow:0 6px 20px #392b4010; transition:transform .18s ease,box-shadow .18s ease; box-sizing:border-box; }
.pack-card-set .pack-card--experiences { --card-tint:#f6f0fb; --category-tint:#e3d3f0; }
.pack-card-set .pack-card--changes { --card-tint:#eef7f5; --category-tint:#cbe5de; }
.pack-card-set .pack-card__visual { position:relative; width:100%; aspect-ratio:1; flex:none; overflow:hidden; background:var(--card-tint); border-radius:19px 19px 0 0; }
.pack-card-set .pack-card__visual img { display:block; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border-radius:0; background:transparent; object-fit:contain; object-position:center bottom; }
.pack-card-set .pack-card__category { position:absolute; top:12px; left:12px; max-width:calc(100% - 24px); padding:5px 10px; border-radius:10px; background:var(--category-tint); color:#44334f; font-size:.78rem; font-weight:800; line-height:1.3; box-sizing:border-box; }
.pack-card-set .pack-card__body { display:flex; flex-direction:column; flex:1; min-width:0; padding:1.25rem; }
.pack-card-set .pack-card .pack-card__body h3 { font-family:'Baloo 2',sans-serif; color:#4b2b68; font-size:1.45rem; line-height:1.2; margin:0 0 .6rem; }
.pack-card-set .pack-card .pack-card__body h3 a { color:inherit; text-decoration:none; }
.pack-card-set .pack-card .pack-card__body h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.pack-card-set .pack-card .pack-card__meta { color:#574761; font-size:.9rem; line-height:1.5; margin:0 0 .65rem; }
.pack-card-set .pack-card .pack-card__description { color:#574761; font-size:1rem; line-height:1.55; margin:0 0 1.2rem; }
.pack-card-set .pack-card__button { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:.75rem .8rem; box-sizing:border-box; margin-top:auto; border:2px solid #dda632; border-radius:26px; background:#dda632; color:#352342; font-family:inherit; font-size:1rem; line-height:1.35; font-weight:800; text-align:center; text-decoration:none; box-shadow:0 3px 0 #bd8b25; }
.pack-card-set .pack-card__button::before,.pack-card-set .pack-card__button::after { content:none!important; }
.pack-card-set .pack-card__button:hover { background:#ecc052; }
.pack-card-set .pack-card a:focus-visible { outline:3px solid #4b2b68; outline-offset:3px; border-radius:4px; }
.pack-card-set .pack-card__button:focus-visible { border-radius:26px; outline-offset:4px; }
@media(hover:hover) { .pack-card-set .pack-card:hover { transform:translateY(-3px); box-shadow:0 10px 26px #392b401b; } }
@media(min-width:640px) and (max-width:900px) { .pack-card-set .pack-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) {
 .pack-card-set .pack-grid, .pack-card-set .pack-grid--related { grid-template-columns:1fr; gap:1rem; }
 .pack-card-set .pack-card { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:start; border-radius:16px; }
 .pack-card-set .pack-card__visual { width:100px; height:100px; aspect-ratio:1; border-radius:15px 0 0 0; }
 .pack-card-set .pack-card__category { top:5px; left:5px; max-width:90px; padding:3px 5px; font-size:.62rem; line-height:1.2; border-radius:6px; }
 .pack-card-set .pack-card__body { padding:.85rem; height:100%; box-sizing:border-box; }
 .pack-card-set .pack-card .pack-card__body h3 { font-size:1.15rem; margin-bottom:.4rem; }
 .pack-card-set .pack-card .pack-card__meta { font-size:.8rem; margin-bottom:.7rem; }
 .pack-card-set .pack-card .pack-card__description { display:none; }
 .pack-card-set .pack-card__button { font-size:.85rem; min-height:44px; padding:.6rem .45rem; }
}
@media(prefers-reduced-motion:reduce) { .pack-card-set .pack-card { transition:none; } .pack-card-set .pack-card:hover { transform:none; } }
