/* LearnDoKids Creative Playroom — full homepage (mock match) */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Rubik:wght@700;800&display=swap');

.home-pr {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif !important;
  color: #0d1b33;
  background: #fbf8ff;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.home-pr *, .home-pr *::before, .home-pr *::after { box-sizing: border-box; }
.home-pr h1, .home-pr h2, .home-pr h3 {
  font-family: Rubik, system-ui, sans-serif !important;
  font-weight: 800;
  color: #0d1b33;
  line-height: 1.2;
}
.home-pr a { text-decoration: none; color: inherit; }
.home-pr img { max-width: 100%; height: auto; display: block; }
.home-pr .wrap { max-width: 1120px; margin: 0 auto; padding: 0 1.15rem; }
.home-pr .k {
  font-size: .7rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .07em; color: #db2777; margin-bottom: .2rem;
}

@keyframes pr-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes pr-float-r {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}
@keyframes pr-glow {
  0%, 100% { opacity: .5; transform: scale(1); }
  50% { opacity: .85; transform: scale(1.06); }
}
.home-pr .pr-float { animation: pr-float 4.5s ease-in-out infinite; }
.home-pr .pr-float-r { animation: pr-float-r 5s ease-in-out infinite; }

/* HERO */
.home-pr .pr-hero {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, #fff1f7 0%, #fff7ed 40%, #fbf8ff 100%);
  padding: 2rem 0 2.75rem;
}
.home-pr .pr-blob {
  position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; z-index: 0;
}
.home-pr .pr-blob.a {
  top: -4rem; left: 12%; width: 22rem; height: 22rem;
  background: rgba(249,168,212,.42); animation: pr-glow 6s ease-in-out infinite;
}
.home-pr .pr-blob.b {
  top: 4rem; right: 4%; width: 18rem; height: 18rem;
  background: rgba(252,211,77,.3); animation: pr-glow 6s ease-in-out infinite 1.4s;
}
.home-pr .pr-hero-grid {
  display: grid; gap: 2rem; align-items: center; position: relative; z-index: 1;
}
@media (min-width: 960px) {
  .home-pr .pr-hero-grid { grid-template-columns: 1.05fr .95fr; gap: 2.25rem; }
}
.home-pr .pr-ribbon {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(255,255,255,.95); border: 1px solid #fbcfe8;
  padding: .4rem 1rem; border-radius: 999px;
  font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #831843;
  box-shadow: 0 4px 16px rgba(225,3,125,.08);
}
.home-pr .pr-ribbon .ping { position: relative; width: .55rem; height: .55rem; }
.home-pr .pr-ribbon .ping::before {
  content: ''; position: absolute; inset: 0; border-radius: 50%; background: #f472b6;
  animation: pr-glow 1.2s ease infinite;
}
.home-pr .pr-ribbon .ping::after {
  content: ''; position: absolute; inset: 2px; border-radius: 50%; background: #db2777;
}
.home-pr .pr-h1 {
  font-size: clamp(1.9rem, 5vw, 3.15rem) !important;
  line-height: 1.08 !important; margin: .85rem 0 .7rem !important; letter-spacing: -.02em;
}
.home-pr .pr-h1 .rb span:nth-child(1){color:#e1037d}
.home-pr .pr-h1 .rb span:nth-child(2){color:#f97316}
.home-pr .pr-h1 .rb span:nth-child(3){color:#eab308}
.home-pr .pr-h1 .rb span:nth-child(4){color:#10b981}
.home-pr .pr-h1 .rb span:nth-child(5){color:#0284c7}
.home-pr .pr-h1 .rb span:nth-child(6){color:#8b5cf6}
.home-pr .pr-h1 .rb span:nth-child(7){color:#ec4899}
.home-pr .pr-h1 .rb span:nth-child(8){color:#f59e0b}
.home-pr .pr-h1 .rb span:nth-child(9){color:#14b8a6}
.home-pr .pr-h1 .rb span:nth-child(10){color:#7c3aed}
.home-pr .pr-h1 .grad {
  background: linear-gradient(90deg, #db2777, #9333ea, #0284c7);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.home-pr .pr-lead {
  font-size: 1.02rem; color: #475569; max-width: 34rem; line-height: 1.55; margin: 0 0 1.2rem; font-weight: 500;
}
.home-pr .pr-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 1rem; }
.home-pr .pr-btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: .4rem;
  min-height: 3.1rem; padding: 0 1.45rem; border-radius: 999px !important;
  font-weight: 800 !important; font-size: .95rem; text-decoration: none !important;
  border: 0; cursor: pointer; transition: transform .2s, box-shadow .2s;
  font-family: Rubik, system-ui, sans-serif !important;
}
.home-pr .pr-btn:hover { transform: translateY(-2px); }
.home-pr .pr-btn-main {
  background: linear-gradient(90deg, #e1037d, #c026a0, #9333ea) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px -4px rgba(225,3,125,.45), inset 0 -3px 0 rgba(0,0,0,.12);
}
.home-pr .pr-btn-ghost {
  background: #fff !important; color: #1e293b !important; border: 2px solid #ede9fe !important;
}
.home-pr .pr-trust { display: flex; flex-wrap: wrap; gap: .4rem; }
.home-pr .pr-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  background: rgba(255,255,255,.9); border: 1px solid #fce7f3;
  padding: .35rem .8rem; border-radius: 999px; font-size: .7rem; font-weight: 700; color: #475569;
}

.home-pr .pr-stage { position: relative; max-width: 520px; margin: 0 auto; }
.home-pr .pr-stage-glow {
  position: absolute; inset: 10% 6%;
  background: radial-gradient(circle, rgba(244,114,182,.35), transparent 70%);
  filter: blur(18px); z-index: 0;
}
.home-pr .pr-stage-frame {
  position: relative; z-index: 1; border-radius: 1.6rem; overflow: hidden;
  border: 4px solid #fff; background: #fff;
  box-shadow: 0 24px 48px -12px rgba(190,24,93,.22), 0 0 0 1px #fbcfe8;
}
.home-pr .pr-stage-frame img {
  width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover;
}
.home-pr .pr-stage-cap {
  display: block; padding: .55rem .85rem; font-size: .72rem; font-weight: 700;
  color: #64748b; background: #fff; border-top: 1px solid #fce7f3;
}
.home-pr .pr-badge {
  position: absolute; z-index: 2; display: flex; flex-direction: column;
  padding: .65rem .9rem; border-radius: 1.1rem; border: 2px solid #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.12); max-width: 11.5rem;
}
.home-pr .pr-badge.gold {
  top: 6%; left: -3%; background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #422006;
}
.home-pr .pr-badge.white {
  bottom: 14%; right: -2%; background: #fff; color: #0d1b33;
}
.home-pr .pr-badge strong {
  font-size: .78rem; font-weight: 900; line-height: 1.2; font-family: Rubik, system-ui, sans-serif;
}
.home-pr .pr-badge span { font-size: .65rem; font-weight: 700; opacity: .9; }

/* AGES */
.home-pr .pr-ages-panel { padding: 2.25rem 0 1.5rem; background: #fff; }
.home-pr .pr-ages-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
  gap: .75rem; margin-bottom: 1.2rem;
}
.home-pr .pr-ages-head h2 { margin: .15rem 0 0; font-size: clamp(1.35rem, 3vw, 1.7rem); }
.home-pr .pr-ages-badge {
  font-size: .72rem; font-weight: 700; color: #7c3aed;
  background: #f5f3ff; border: 1px solid #ddd6fe; padding: .4rem .75rem; border-radius: 999px;
}
.home-pr .pr-age-grid {
  display: grid; gap: .85rem; grid-template-columns: 1fr;
}
@media (min-width: 600px) {
  .home-pr .pr-age-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .home-pr .pr-age-grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; }
}
.home-pr .pr-age {
  display: flex; flex-direction: column; align-items: flex-start;
  background: #fdf2f8; border: 1.5px solid #fbcfe8; border-radius: 1.35rem;
  padding: 1.15rem 1rem; text-decoration: none !important; color: inherit;
  transition: transform .18s, box-shadow .18s; min-height: 100%;
}
.home-pr .pr-age:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 14px 28px rgba(225,3,125,.12);
}
.home-pr .pr-age .emoji {
  width: 3.1rem; height: 3.1rem; border-radius: 1rem; background: #fff;
  display: grid; place-items: center; margin-bottom: .5rem; border: 1px solid #fce7f3;
}
.home-pr .pr-age .emoji img { width: 2.4rem; height: 2.4rem; object-fit: contain; }
.home-pr .pr-age .yrs {
  font-size: 1.4rem; font-weight: 800; font-family: Rubik, system-ui, sans-serif; color: #be185d;
}
.home-pr .pr-age .lab { font-size: .88rem; font-weight: 800; margin-top: .1rem; }
.home-pr .pr-age .sub { font-size: .72rem; color: #64748b; margin: .25rem 0 .7rem; flex: 1; }
.home-pr .pr-age .play {
  display: inline-flex; align-items: center; min-height: 2.05rem; padding: .3rem .85rem;
  border-radius: 999px; background: #fff; color: #be185d !important; font-weight: 800;
  font-size: .78rem; border: 1.5px solid #fbcfe8; transition: background .15s, color .15s;
}
.home-pr .pr-age:hover .play {
  background: #e11d48; color: #fff !important; border-color: #e11d48;
  box-shadow: 0 6px 16px rgba(225,29,72,.3);
}
.home-pr .pr-age.amber { background: linear-gradient(180deg,#fffbeb,#fef3c7); border-color: #fde68a; }
.home-pr .pr-age.amber .yrs { color: #b45309; }
.home-pr .pr-age.amber:hover .play { background: #d97706; border-color: #d97706; }
.home-pr .pr-age.mint { background: linear-gradient(180deg,#ecfdf5,#d1fae5); border-color: #a7f3d0; }
.home-pr .pr-age.mint .yrs { color: #047857; }
.home-pr .pr-age.mint:hover .play { background: #059669; border-color: #059669; }
.home-pr .pr-age.sky { background: linear-gradient(180deg,#eff6ff,#dbeafe); border-color: #bfdbfe; }
.home-pr .pr-age.sky .yrs { color: #1d4ed8; }
.home-pr .pr-age.sky:hover .play { background: #2563eb; border-color: #2563eb; }
.home-pr .pr-age.pink { background: linear-gradient(180deg,#fff1f2,#ffe4e6); border-color: #fecdd3; }

/* FEATURE ROW */
.home-pr .pr-feats { padding: .5rem 0 2rem; background: #fff; }
.home-pr .pr-feat-row {
  display: grid; gap: .75rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 700px) {
  .home-pr .pr-feat-row { grid-template-columns: repeat(5, 1fr); }
}
.home-pr .pr-feat {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  background: #fbf8ff; border: 1.5px solid #f3e8ff; border-radius: 1.15rem;
  padding: 1rem .7rem; transition: transform .15s, box-shadow .15s;
}
.home-pr .pr-feat:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(147,51,234,.1);
}
.home-pr .pr-feat .ico {
  width: 2.75rem; height: 2.75rem; border-radius: .9rem; background: #fff;
  display: grid; place-items: center; font-size: 1.35rem; margin-bottom: .5rem;
  border: 1px solid #f3e8ff;
}
.home-pr .pr-feat strong {
  font-size: .82rem; font-family: Rubik, system-ui, sans-serif; display: block;
}
.home-pr .pr-feat em {
  font-style: normal; font-size: .68rem; color: #64748b; margin-top: .15rem;
}

/* POPULAR */
.home-pr .pr-acts { padding: 2.25rem 0 2.75rem; background: #fbf8ff; }
.home-pr .pr-acts-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
  gap: .75rem; margin-bottom: 1rem;
}
.home-pr .pr-acts-head h2 { margin: .15rem 0 .35rem; font-size: clamp(1.35rem, 3vw, 1.7rem); }
.home-pr .pr-acts-sub { margin: 0; color: #64748b; font-size: .9rem; max-width: 36rem; }
.home-pr .pr-link-all { color: #e1037d !important; font-weight: 800; font-size: .9rem; white-space: nowrap; }
.home-pr .pr-link-all:hover { text-decoration: underline; }
.home-pr .pr-pills {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.15rem;
}
.home-pr .pr-pill {
  display: inline-flex; align-items: center; min-height: 2.1rem; padding: .3rem .85rem;
  border-radius: 999px; background: #fff; border: 1.5px solid #e9d5ff;
  font-size: .78rem; font-weight: 700; color: #475569; transition: .15s;
}
.home-pr .pr-pill:hover { border-color: #f9a8d4; color: #be185d; }
.home-pr .pr-pill.is-on {
  background: linear-gradient(90deg, #e1037d, #9333ea); color: #fff !important; border-color: transparent;
}
.home-pr .pr-act-grid {
  display: grid; gap: 1rem; grid-template-columns: 1fr;
}
@media (min-width: 560px) { .home-pr .pr-act-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 960px) { .home-pr .pr-act-grid { grid-template-columns: repeat(4, 1fr); } }
.home-pr .pr-act {
  background: #fff; border: 1.5px solid #f3e8ff; border-radius: 1.25rem; overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 8px 24px rgba(147,51,234,.06);
  transition: transform .15s, box-shadow .15s;
}
.home-pr .pr-act:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(225,3,125,.12);
}
.home-pr .pr-act-top {
  display: flex; justify-content: space-between; align-items: center;
  padding: .55rem .75rem 0;
}
.home-pr .pr-act-top .tag {
  font-size: .68rem; font-weight: 800; color: #7c3aed; background: #f5f3ff;
  padding: .2rem .5rem; border-radius: 999px;
}
.home-pr .pr-act-top .stars {
  font-size: .72rem; font-weight: 800; color: #b45309;
}
.home-pr .pr-act-media {
  display: grid; place-items: center; min-height: 130px;
  background: linear-gradient(160deg, #fdf2f8, #eef2ff); text-decoration: none !important;
}
.home-pr .pr-act-media svg { width: 110px; height: 110px; }
.home-pr .pr-act-emoji { font-size: 3rem; line-height: 1; }
.home-pr .pr-act-body {
  padding: .75rem .9rem 1rem; display: flex; flex-direction: column; flex: 1;
}
.home-pr .pr-act-diffs { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .4rem; }
.home-pr .pr-act-diffs span {
  font-size: .62rem; font-weight: 800; padding: .12rem .4rem; border-radius: 999px;
}
.home-pr .pr-act-diffs .easy { background: #d1fae5; color: #047857; }
.home-pr .pr-act-diffs .med { background: #fef3c7; color: #b45309; }
.home-pr .pr-act-diffs .det { background: #ede9fe; color: #6d28d9; }
.home-pr .pr-act-body h3 { margin: 0 0 .3rem; font-size: .98rem; }
.home-pr .pr-act-body p {
  margin: 0 0 .75rem; font-size: .76rem; color: #64748b; line-height: 1.4; flex: 1;
}
.home-pr .pr-act-foot {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
}
.home-pr .pr-act-foot .free { font-size: .72rem; font-weight: 700; color: #db2777; }
.home-pr .pr-act-foot .go {
  display: inline-flex; align-items: center; min-height: 2rem; padding: .3rem .8rem;
  border-radius: 999px; background: linear-gradient(90deg, #e1037d, #9333ea);
  color: #fff !important; font-weight: 800; font-size: .75rem;
}

/* HOW */
.home-pr .pr-how { padding: 2.5rem 0; background: #fff; }
.home-pr .pr-how-head { text-align: center; max-width: 38rem; margin: 0 auto 1.5rem; }
.home-pr .pr-how-head h2 { margin: .2rem 0 .4rem; font-size: clamp(1.35rem, 3vw, 1.75rem); }
.home-pr .pr-how-head p { margin: 0; color: #64748b; }
.home-pr .pr-how-grid {
  display: grid; gap: .85rem; grid-template-columns: 1fr;
}
@media (min-width: 640px) { .home-pr .pr-how-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .home-pr .pr-how-grid { grid-template-columns: repeat(4, 1fr); } }
.home-pr .pr-how-card {
  background: #fbf8ff; border: 1.5px solid #f3e8ff; border-radius: 1.25rem; padding: 1.15rem 1rem;
}
.home-pr .pr-how-card .num {
  display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  color: #fff; font-weight: 800; font-size: .85rem; margin-bottom: .55rem;
  font-family: Rubik, system-ui, sans-serif;
}
.home-pr .pr-how-card.c1 .num { background: #f472b6; }
.home-pr .pr-how-card.c2 .num { background: #fb923c; }
.home-pr .pr-how-card.c3 .num { background: #34d399; }
.home-pr .pr-how-card.c4 .num { background: #818cf8; }
.home-pr .pr-how-card h3 { margin: 0 0 .35rem; font-size: 1rem; }
.home-pr .pr-how-card p { margin: 0; font-size: .8rem; color: #64748b; line-height: 1.45; }

/* TRUST GRID */
.home-pr .pr-trust-sec { padding: 1.5rem 0 2.75rem; background: #fbf8ff; }
.home-pr .pr-trust-grid {
  display: grid; gap: 1rem; grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .home-pr .pr-trust-grid { grid-template-columns: 1fr 1fr; }
}
.home-pr .pr-panel {
  background: #fff; border: 1.5px solid #f3e8ff; border-radius: 1.5rem;
  padding: 1.35rem 1.25rem; box-shadow: 0 10px 28px rgba(147,51,234,.05);
}
.home-pr .pill-k {
  display: inline-block; font-size: .68rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .05em; color: #db2777; background: #fce7f3;
  padding: .3rem .65rem; border-radius: 999px; margin-bottom: .55rem;
}
.home-pr .pill-k.soft { color: #059669; background: #d1fae5; }
.home-pr .pill-k.light {
  color: #fff; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.35);
}
.home-pr .pr-panel h2 {
  margin: 0 0 .45rem; font-size: clamp(1.2rem, 2.5vw, 1.45rem);
}
.home-pr .pr-panel > p { margin: 0 0 1rem; color: #64748b; font-size: .9rem; }
.home-pr .pr-mini-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-bottom: 1rem;
}
.home-pr .pr-mini {
  background: #fbf8ff; border: 1px solid #f3e8ff; border-radius: 1rem; padding: .75rem .65rem;
  text-align: center;
}
.home-pr .pr-mini span { font-size: 1.25rem; display: block; margin-bottom: .2rem; }
.home-pr .pr-mini strong { display: block; font-size: .78rem; font-family: Rubik, system-ui, sans-serif; }
.home-pr .pr-mini em { display: block; font-style: normal; font-size: .68rem; color: #64748b; }
.home-pr .pr-quest-toast {
  display: flex; flex-wrap: wrap; align-items: center; gap: .65rem;
  background: linear-gradient(90deg, #fff7ed, #fef3c7); border: 1.5px solid #fde68a;
  border-radius: 1rem; padding: .75rem .9rem;
}
.home-pr .pr-quest-toast .qt-ico { font-size: 1.5rem; }
.home-pr .pr-quest-toast strong { display: block; font-size: .82rem; font-family: Rubik, system-ui, sans-serif; }
.home-pr .pr-quest-toast em { display: block; font-style: normal; font-size: .7rem; color: #78716c; }
.home-pr .pr-quest-toast .qt-stars {
  margin-left: auto; font-size: .75rem; font-weight: 800; color: #b45309;
  background: #fff; padding: .3rem .65rem; border-radius: 999px; border: 1px solid #fde68a;
}
.home-pr .pr-trust-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .85rem; }
.home-pr .pr-trust-list li { display: flex; gap: .7rem; align-items: flex-start; }
.home-pr .pr-trust-list .ti {
  width: 2.35rem; height: 2.35rem; border-radius: .75rem; background: #f5f3ff;
  display: grid; place-items: center; flex-shrink: 0; font-size: 1.05rem;
}
.home-pr .pr-trust-list strong {
  display: block; font-size: .88rem; font-family: Rubik, system-ui, sans-serif; margin-bottom: .15rem;
}
.home-pr .pr-trust-list em {
  display: block; font-style: normal; font-size: .78rem; color: #64748b; line-height: 1.4;
}

/* SCHOOLS */
.home-pr .pr-schools { padding: 0 0 1.5rem; background: #fbf8ff; }
.home-pr .pr-schools-banner {
  background: linear-gradient(105deg, #7c3aed 0%, #db2777 55%, #e11d48 100%);
  border-radius: 1.5rem; padding: 1.75rem 1.5rem; color: #fff;
  box-shadow: 0 16px 40px rgba(190,24,93,.25);
}
.home-pr .pr-schools-banner h2 {
  color: #fff !important; margin: .35rem 0 .5rem !important;
  font-size: clamp(1.3rem, 3vw, 1.7rem) !important;
}
.home-pr .pr-schools-banner p {
  margin: 0 0 1.1rem; max-width: 40rem; opacity: .95; font-size: .95rem; line-height: 1.5;
}
.home-pr .pr-schools-banner .pr-btn-ghost.light {
  background: rgba(255,255,255,.15) !important; color: #fff !important;
  border: 2px solid rgba(255,255,255,.45) !important;
}
.home-pr .pr-schools-banner .pr-btn-main.light {
  background: #fff !important; color: #db2777 !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
}

/* FINAL */
.home-pr .pr-final {
  padding: 2.5rem 0 3rem;
  background: linear-gradient(105deg, #e1037d 0%, #9333ea 50%, #6366f1 100%);
  color: #fff;
}
.home-pr .pr-final-split {
  display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem;
}
.home-pr .pr-final-copy { flex: 1 1 55%; min-width: 0; }
.home-pr .pr-final-kicker {
  font-size: .72rem; font-weight: 800; opacity: .92; margin-bottom: .4rem;
  letter-spacing: .04em; text-transform: uppercase;
}
.home-pr .pr-final h2 {
  color: #fff !important; margin: 0 0 .55rem !important;
  font-size: clamp(1.4rem, 3.5vw, 2rem) !important; line-height: 1.2 !important;
}
.home-pr .pr-final-copy > p {
  margin: 0 0 1.15rem; opacity: .92; max-width: 36rem; font-size: .95rem;
}
.home-pr .pr-final-actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem;
}
.home-pr .pr-final .pr-btn-main {
  background: #fff !important; color: #e1037d !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.home-pr .pr-final-note { font-size: .78rem; opacity: .85; font-weight: 600; }
.home-pr .pr-final-visual { flex: 0 1 220px; margin-left: auto; }
.home-pr .pr-final-card {
  background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.35);
  border-radius: 1.25rem; padding: 1.25rem 1.15rem; text-align: center;
  backdrop-filter: blur(8px);
}
.home-pr .pr-final-card img {
  margin: 0 auto .75rem; max-width: 150px; filter: brightness(0) invert(1);
}
.home-pr .pr-final-badge {
  display: inline-block; background: rgba(255,255,255,.95); color: #e1037d;
  font-weight: 800; font-size: .72rem; padding: .4rem .75rem; border-radius: 999px;
}

@media (max-width: 560px) {
  .home-pr .pr-badge.gold, .home-pr .pr-badge.white { max-width: 9rem; padding: .5rem .6rem; }
  .home-pr .pr-actions .pr-btn { width: 100%; }
  .home-pr .pr-final-visual { width: 100%; margin-left: 0; }
}
body:has(.home-pr) { background: #fbf8ff; }

/* 12 quest cards on home */
.home-pr .pr-act-grid-12 {
  display: grid; gap: 1rem; grid-template-columns: 1fr;
}
@media (min-width: 560px) {
  .home-pr .pr-act-grid-12 { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .home-pr .pr-act-grid-12 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
  .home-pr .pr-act-grid-12 { grid-template-columns: repeat(4, 1fr); }
}
.home-pr .pr-act-emoji { font-size: 3rem; line-height: 1; }

/* Schools banner with image */
.home-pr .pr-schools-with-img {
  display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem;
}
.home-pr .pr-schools-with-img .pr-schools-copy { flex: 1 1 280px; min-width: 0; }
.home-pr .pr-schools-with-img .pr-schools-visual {
  flex: 0 1 300px; max-width: 100%;
  border-radius: 1.15rem; overflow: hidden;
  background: rgba(255,255,255,.15);
  border: 2px solid rgba(255,255,255,.3);
}
.home-pr .pr-schools-with-img .pr-schools-visual img {
  width: 100%; height: auto; object-fit: cover; aspect-ratio: 5/4; display: block;
}

/* Final trophy */
.home-pr .pr-final-visual {
  flex: 0 1 200px; margin-left: auto; text-align: center; position: relative;
}
.home-pr .pr-final-float img {
  width: 150px; height: auto; margin: 0 auto;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.25));
}
.home-pr .pr-final-visual .pr-final-badge {
  display: inline-block; margin-top: .75rem;
  background: rgba(255,255,255,.95); color: #e1037d;
  font-weight: 800; font-size: .72rem; padding: .4rem .75rem; border-radius: 999px;
}
@media (max-width: 560px) {
  .home-pr .pr-final-visual { width: 100%; margin-left: 0; }
  .home-pr .pr-final-float img { width: 110px; }
}

/* Quest open buttons on home */
.home-pr button.pr-act-media {
  width: 100%; border: 0; cursor: pointer;
  background: linear-gradient(160deg, #fdf2f8, #eef2ff);
  display: flex; align-items: center; justify-content: center;
  min-height: 7rem; border-radius: 1rem;
}
.home-pr .pr-act-foot button.go {
  border: 0; cursor: pointer; font: inherit;
  background: linear-gradient(90deg, #e1037d, #9333ea);
  color: #fff; border-radius: 999px; padding: .4rem .9rem; font-weight: 800; font-size: .8rem;
}
