.activities-page { padding-block: 58px 95px; }
.activities-hero { display: grid; grid-template-columns: 1fr .7fr; align-items: center; gap: clamp(28px,5vw,76px); padding: clamp(30px,5vw,62px); border: 1px solid #ead8c0; border-radius: 26px; background: linear-gradient(135deg,#fff6d9 0%,#f3edf8 55%,#e8f5f1 100%); box-shadow: 0 14px 30px #45325d12; }
.activities-hero h1 { max-width: 650px; font-size: clamp(45px,6vw,76px); line-height: 1.03; }
.activities-hero h1 em { color: #d45c3e; font-style: normal; }
.activities-hero .lead { max-width: 610px; color: #5f536b; font-size: 18px; line-height: 1.65; }
.activities-hero figure { margin: 0; display: flex; justify-content: center; max-height: 390px; overflow: hidden; border-radius: 20px; background: #fff; transform: rotate(1.5deg); box-shadow: 0 10px 22px #45325d1a; }
.activities-hero figure img { display: block; width: 100%; height: 390px; object-fit: contain; object-position: center 10%; }
.activity-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; padding-top: 74px; }
.activity-intro h2 { font-size: clamp(34px,4vw,51px); line-height: 1.08; }
.activity-intro p { max-width: 520px; color: #675c6d; font-size: 16px; }
.download-all { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 26px 0 30px; padding: 25px 28px; border-radius: 20px; background: #472a68; color: #fff; }
.download-all strong { display: block; font-family: 'Baloo 2',sans-serif; font-size: 25px; line-height: 1.2; }
.download-all small { display: block; margin-top: 5px; color: #f4eaf9; font-size: 14px; }
.colouring-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 17px; }
.colouring-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #eadacc; border-radius: 18px; background: #fff; box-shadow: 0 8px 20px #45325d10; }
.colouring-card figure { margin: 0; height: 245px; overflow: hidden; background: #fff; }
.colouring-card img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center 8%; }
.colouring-card div { display: flex; flex-direction: column; flex: 1; align-items: flex-start; padding: 16px; border-top: 1px solid #efe5da; }
.colouring-card h3 { font-size: 21px; margin: 0 0 11px; }
.colouring-card a { margin-top: auto; font-weight: 900; color: #49286a; text-underline-offset: 4px; }
.activity-note { margin: 28px 0 0; padding: 18px 21px; border-left: 5px solid #e5ad4f; border-radius: 8px; background: #fff7df; color: #5c5065; }
.spot-difference { scroll-margin-top: 30px; }
.puzzle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.puzzle-card { overflow: hidden; border: 1px solid #eadacc; border-radius: 20px; background: #fff; box-shadow: 0 8px 20px #45325d10; }
.puzzle-card figure { margin: 0; aspect-ratio: 2.25 / 1; overflow: hidden; background: #fff9ec; }
.puzzle-card figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.puzzle-card > div { padding: 20px; }
.puzzle-card h3 { margin: 2px 0 7px; font-size: 25px; }
.puzzle-card > div > p:not(.puzzle-count) { min-height: 48px; margin: 0 0 18px; color: #675c6d; }
.puzzle-card .button { display: inline-flex; }
.puzzle-count { margin: 0; color: #d45c3e; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.coming-next { margin-top: 72px; padding: clamp(28px,4vw,48px); border-radius: 22px; background: #eaf5f2; text-align: center; }
.coming-next h2 { font-size: clamp(30px,4vw,43px); }
.coming-next p { max-width: 680px; margin: 10px auto 0; color: #5f536b; }
@media(max-width:1000px) { .colouring-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { .puzzle-grid { grid-template-columns: 1fr; } .puzzle-card { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(250px,.7fr); } }
@media(max-width:700px) { .activities-page { padding-top: 32px; } .activities-hero { grid-template-columns: 1fr; } .activities-hero figure { max-height: 300px; } .activities-hero figure img { height: 300px; } .activity-intro { display: block; } .download-all { align-items: flex-start; flex-direction: column; } .colouring-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .colouring-card figure { height: 210px; } .puzzle-card { display: block; } }
@media(max-width:440px) { .colouring-grid { grid-template-columns: 1fr; } .colouring-card { display: grid; grid-template-columns: 42% 58%; } .colouring-card figure { height: 185px; } .colouring-card div { border-top: 0; border-left: 1px solid #efe5da; } }

.book-nook { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: clamp(25px,5vw,70px); margin-top: 72px; padding: clamp(30px,5vw,55px); border: 1px solid #ddcfba; border-radius: 24px; background: linear-gradient(135deg,#f1eaf7,#fff6d9); box-shadow: 0 12px 28px #45325d12; }
.book-nook h2 { font-size: clamp(34px,4.5vw,54px); line-height: 1.08; margin: 7px 0 13px; }
.book-nook p { max-width: 650px; color: #62556b; }
.book-nook-note { font-size: 14px; }
.book-nook-mark { display: grid; place-items: center; min-height: 250px; padding: 25px; border-radius: 24px; background: #fffaf1; border: 1px solid #eadacc; text-align: center; transform: rotate(1.5deg); }
.book-nook-mark span { font-size: 72px; line-height: 1; }
.book-nook-mark strong { display: block; margin-top: 12px; font-family: 'Baloo 2',sans-serif; font-size: 34px; line-height: 1; }
.book-nook-mark small { display: block; margin-top: 8px; font-weight: 800; color: #7a687f; }
@media(max-width:700px) { .book-nook { grid-template-columns: 1fr; } .book-nook-mark { min-height: 190px; } }

.sticker-book-promo{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:28px;margin-top:72px;padding:clamp(28px,5vw,50px);border:1px solid #e2d2bb;border-radius:24px;background:linear-gradient(135deg,#fff7dd,#f0e9f7 58%,#e8f5f1);box-shadow:0 10px 25px #45325d10}.sticker-book-promo h2{font-size:clamp(32px,4.3vw,50px);margin:5px 0 11px;line-height:1.08}.sticker-book-promo p:not(.eyebrow){max-width:680px;color:#62556b}.sticker-book-promo-mark{display:grid;place-items:center;width:min(210px,100%);aspect-ratio:1;margin:auto;border:12px solid #fff;border-radius:34% 48% 40% 46%;background:#f0bd4f;color:#fff;font-size:92px;box-shadow:0 10px 24px #45325d20;transform:rotate(5deg)}@media(max-width:700px){.sticker-book-promo{grid-template-columns:1fr}.sticker-book-promo-mark{width:145px}}
