.product-home { max-width: 1240px; margin: 0 auto; padding: 34px 34px 70px; }
.product-home-heading { text-align: center; margin: 12px auto 42px; }
.product-home-heading .eyebrow { color: #61785f; letter-spacing: 2px; }
.product-home-heading h1 { margin: 18px 0; font-size: clamp(32px, 4vw, 52px); font-weight: 800; letter-spacing: -2px; line-height: 1.2; }
.product-home-heading h1 em { color: #387651; font-style: normal; }
.product-heading-tail { display: inline-block; white-space: nowrap; }
.product-home-heading > p:last-child { color: #6b756d; font-size: 15px; line-height: 1.85; }
.product-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.product-card { --accent: #8b591a; --tint: #fff3d9; display: flex; flex-direction: column; position: relative; padding: 25px; border: 1px solid #dfd9cc; border-radius: 26px; background: linear-gradient(160deg, #fffdf8 35%, var(--tint)); color: var(--ink); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.product-card:hover { transform: translateY(-5px); border-color: var(--accent); box-shadow: 0 18px 40px #1d342511; }
.product-card:focus-visible, .product-path-card:focus-visible, .product-back:focus-visible { outline: 3px solid var(--accent, #387651); outline-offset: 5px; }
.product-card-sprout { --accent: #286b45; --tint: #edf6df; }
.product-card-ziling { --accent: #5151a1; --tint: #eeedfb; }
.product-stage-label { color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .8px; }
.product-art { display: grid; place-items: center; height: 218px; margin: 15px 0 12px; }
.product-art img { width: 210px; max-width: 100%; height: 210px; object-fit: contain; filter: drop-shadow(0 12px 12px #25302516); }
.product-card-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.product-card-heading h2 { margin: 0; font-size: 28px; font-weight: 850; letter-spacing: 1px; }
.product-card-heading > span { color: var(--accent); font-size: 12px; font-weight: 700; }
.product-card > p { margin: 15px 0; color: #677269; font-size: 13px; line-height: 1.8; }
.product-content-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 23px; }
.product-content-tags span { padding: 5px 9px; border-radius: 7px; background: #ffffffaa; color: var(--accent); font-size: 10px; }
.product-enter { display: flex; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 17px; border-top: 1px solid #112b2a13; color: var(--accent); font-size: 13px; }
.product-enter > span { font-size: 20px; line-height: 1; }
.product-choice-note { margin: 29px 0 0; text-align: center; color: #738072; font-size: 12px; line-height: 1.8; }
.product-selection { max-width: 940px; margin: 0 auto; }
.product-back { display: inline-block; margin-bottom: 20px; color: #58715e; text-decoration: none; font-size: 13px; }
.product-selection-heading { display: flex; align-items: center; gap: 28px; margin: 0 0 32px; }
.product-selection-heading img { width: 148px; height: 148px; object-fit: contain; }
.product-selection-heading h1 { margin: 9px 0; font-size: clamp(26px, 3vw, 36px); line-height: 1.3; }
.product-selection-heading p:last-child { color: #6b756d; font-size: 14px; line-height: 1.8; }
.product-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.product-path-card { --accent: #286b45; display: flex; flex-direction: column; gap: 15px; padding: 30px; border: 1px solid #d6decf; border-radius: 22px; background: #fffdf8; color: var(--ink); text-decoration: none; }
.product-path-card:hover { border-color: var(--accent); box-shadow: 0 12px 28px #2635230a; }
.product-device-grid .product-path-card { --accent: #8b591a; border-color: #e7dcc4; }
.product-device-recommended { background: #fff3d9; }
.product-path-full { background: #eef3e6; }
.product-path-kicker { color: #607864; font-size: 11px; font-weight: 700; }
.product-path-card h2 { margin: 0; font-size: 26px; }
.product-path-card p { margin: 0; color: #6a756c; font-size: 14px; line-height: 1.85; }
.product-path-card strong { display: flex; justify-content: space-between; margin-top: auto; padding-top: 18px; color: var(--accent); font-size: 13px; }
body[data-learning-product="ziling"] .product-path-card { --accent: #5151a1; border-color: #dcdbea; }
body[data-learning-product="ziling"] .product-path-full { background: #eeedfa; }
body[data-learning-product="ziling"] .product-path-kicker { color: #6b69a0; }
.product-context { max-width: 1172px; margin: 10px auto 0; padding: 12px 16px; border: 1px solid #d7dece; border-radius: 12px; background: #fffdf8; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-context > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 12px; }
.product-context a { color: #326f4d; text-decoration: none; }
.product-context > div > span { color: #a2ab9d; }
.product-six-step-note { color: #778271; font-size: 11px; white-space: nowrap; }
.product-scope-empty { margin: 18px 0; padding: 18px; border: 1px solid #dedbcc; border-radius: 12px; background: #fff9e8; color: #796b40; line-height: 1.7; }
#product-six-step-button:disabled { color: #7c8677; opacity: .7; cursor: default; }
body:is([data-learning-product="sprout"], [data-learning-product="ziling"]) :is(.textbook-review-entry, .lexicon-preview-entry, .sense-human-review-entry) { display: none; }
body:is([data-learning-product="sprout"], [data-learning-product="ziling"]) :is([data-learning-target="challenge"], #recall-start) { display: none; }
@media (max-width: 900px) { .product-card-grid { gap: 14px; } .product-card { padding: 20px; } .product-card-heading { flex-direction: column; } .product-art { height: 185px; } .product-art img { width: 180px; height: 180px; } .product-context { margin-left: 26px; margin-right: 26px; } }
@media (max-width: 640px) { .product-home { padding: 20px 20px 42px; } .product-home-heading { margin: 6px auto 28px; } .product-home-heading h1 { letter-spacing: -.7px; } .product-home-heading > p:last-child { font-size: 13px; } .product-card-grid, .product-path-grid { grid-template-columns: 1fr; } .product-card { padding: 22px; } .product-art { height: 180px; margin: 8px 0; } .product-card-heading { flex-direction: row; } .product-card > p { font-size: 14px; } .product-selection-heading { align-items: flex-start; gap: 15px; } .product-selection-heading img { width: 85px; height: 85px; } .product-selection-heading h1 { font-size: 25px; } .product-selection-heading .eyebrow { font-size: 9px; } .product-path-card { padding: 25px; } .product-context { margin: 6px 20px 0; align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .product-card { transition: none; } .product-card:hover { transform: none; } }

/* BEGIN ziling-junior-title-only-20261018 */
html[data-ziling-junior-title-only="true"] #learning-workspace > :not(.hero),
html[data-ziling-junior-title-only="true"] #learning-workspace > .hero > :not(h1),
html[data-ziling-junior-title-only="true"] #product-context .product-six-step-note,
html[data-ziling-junior-title-only="true"] .legal-footer { display: none !important; }
/* END ziling-junior-title-only-20261018 */

/* BEGIN ziling-junior-grade9-20261018 */
.ziling-junior-grade9 { max-width: 920px; margin: 0 auto 60px; padding: 0 24px; }
.ziling-junior-grade9 h2 { font-size: 24px; letter-spacing: 0; }
.ziling-junior-grade9 nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ziling-junior-grade9 a { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid #c5d7d2; border-radius: 8px; color: #143d37; background: #fff; text-decoration: none; }
.ziling-junior-grade9 a:hover { border-color: #257666; background: #f0faf6; }
.ziling-junior-grade9 a:focus-visible { outline: 3px solid #257666; outline-offset: 4px; }
.ziling-junior-grade9 strong { font-size: 22px; }
.ziling-junior-grade9 span { font-size: 14px; color: #566c66; line-height: 1.7; }
@media (max-width: 640px) { .ziling-junior-grade9 nav { grid-template-columns: 1fr; } }
/* END ziling-junior-grade9-20261018 */

/* Scoped to Ziling; the other product entrances retain their existing design. */
html[data-ziling-stage] body{background:#f7f5ef;color:#28283e}
html[data-ziling-stage] .noise{opacity:.12;pointer-events:none}
html[data-ziling-stage] .topbar{border-bottom:1px solid #29283e12;background:transparent}
html[data-ziling-stage] .product-back{color:#67647e;font-size:13px}
html[data-ziling-stage] .product-context{border:0;background:transparent;max-width:1120px;padding:10px 0}
html[data-ziling-stage] .product-context a{color:#65588c}
html[data-ziling-stage] .product-home{max-width:1200px;padding:25px 36px 50px}
.zl-selection{max-width:none}
.zl-selection .product-selection-heading{position:relative;min-height:160px;gap:24px;margin:15px 0 32px;flex-direction:row-reverse;justify-content:space-between;padding-right:35px}
.zl-selection .product-selection-heading img{width:168px;height:168px;transform:rotate(-9deg);filter:drop-shadow(0 15px 18px #6f59b32b)}
.zl-selection .product-selection-heading .eyebrow,.zl-overline{font-size:11px;font-weight:750;letter-spacing:2px;color:#76718c}
.zl-selection .product-selection-heading h1{font-size:clamp(32px,4vw,52px);letter-spacing:-2px;line-height:1.25;font-weight:800;margin:12px 0}
.zl-selection h1 em{font-style:normal;color:#7664b1}
.zl-selection .product-selection-heading p:last-child{font-size:14px;color:#7c7989;margin-bottom:0}
.zl-stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.zl-stage{position:relative;display:flex;flex-direction:column;border:1px solid #dbd4e8;border-radius:28px;text-decoration:none;color:#32304c;background:#eeebf7;overflow:hidden;transition:transform .25s,box-shadow .25s}
.zl-stage:hover{transform:translateY(-6px);box-shadow:0 22px 45px #34274a1b}
.zl-stage:focus-visible,.zl-edition:focus-visible{outline:3px solid #a884db;outline-offset:5px}
.zl-card-top{display:flex;align-items:center;justify-content:space-between;padding:22px 27px 0;font-size:11px;letter-spacing:2px;font-weight:700}
.zl-corner{display:grid;place-items:center;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;font-size:18px;opacity:.7}
.zl-scene{height:210px;display:flex;align-items:center;justify-content:center;margin-top:-10px}
.zl-scene svg{height:100%;width:100%;overflow:visible}
.zl-card-copy{padding:0 30px 24px}
.zl-card-copy h2{font-size:32px;font-weight:800;letter-spacing:1px;margin:0 0 10px}
.zl-card-copy p{font-size:14px;line-height:1.8;margin:0;color:#726c8a}
.zl-tags{display:flex;gap:8px;margin:20px 0 24px;flex-wrap:wrap}
.zl-tags span{padding:6px 11px;border:1px solid #a69bbd55;border-radius:30px;font-size:11px}
.zl-enter{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #a69bbd66;padding-top:18px;font-size:14px;font-weight:750}
.zl-enter span{font-size:24px;line-height:1}
.zl-senior{color:#f4f0ff;background:#252d50;border-color:#252d50}
.zl-senior .zl-card-copy p{color:#c0c2d6}
.zl-senior .zl-tags span{border-color:#a6a8d455;color:#d5d7eb}
.zl-senior .zl-enter{border-color:#a6a8d444}
.zl-selection .product-choice-note{margin-top:23px;color:#87818e;letter-spacing:.5px}
html[data-ziling-stage="junior"] #learning-workspace{display:none!important}
html[data-ziling-stage="junior"] .product-context .product-six-step-note{display:none}
.zl-editions{max-width:1120px;margin:25px auto 65px;padding:0 36px}
.zl-edition-heading{text-align:center;margin-bottom:35px}
.zl-edition-heading h1{font-size:clamp(30px,3.6vw,46px);line-height:1.3;letter-spacing:-1.5px;margin:15px 0 12px;color:#353047}
.zl-edition-heading>p:last-child{font-size:14px;color:#89818d}
.zl-edition-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.zl-edition{display:flex;position:relative;flex-direction:column;padding:28px 30px 25px;overflow:hidden;background:#ece8f5;color:#3a3355;border:1px solid #ddd6e8;border-radius:24px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.zl-edition:hover{transform:translateY(-5px);box-shadow:0 20px 35px #4a33501a}
.zl-edition-no{font-size:11px;letter-spacing:2px;color:#827197}
.zl-book{height:205px;display:grid;place-items:center;position:relative}
.zl-book:before{content:"";position:absolute;width:180px;height:30px;background:#38304e14;filter:blur(10px);border-radius:50%;bottom:8px}
.zl-book>span{width:137px;height:167px;display:flex;flex-direction:column;align-items:flex-start;padding:19px 17px 14px 23px;box-sizing:border-box;border-radius:4px 12px 12px 4px;border-left:7px solid #675388;background:#8c74b0;color:#fff9f1;box-shadow:5px 5px 0 #fffaf0,8px 8px 0 #cbc2d8,12px 14px 20px #46305c22;transform:rotate(-9deg);font-size:9px;letter-spacing:2px}
.zl-book b{font-family:Georgia,serif;font-size:53px;font-weight:400;line-height:1.5;letter-spacing:-3px}
.zl-book small{margin-top:auto;font-size:10px;letter-spacing:1px}
.zl-edition h2{font-size:29px;margin:8px 0 7px;letter-spacing:1px}
.zl-edition p{font-size:13px;line-height:1.8;color:#86778f;margin:0 0 20px}
.zl-edition strong{display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid #826b9c44;font-size:14px}
.zl-fltrp{background:#f5eade;border-color:#e7d9ca;color:#644632}
.zl-fltrp .zl-edition-no,.zl-fltrp p{color:#9a7961}
.zl-fltrp .zl-book>span{transform:rotate(9deg);background:#b8744f;border-left-color:#915333;box-shadow:5px 5px 0 #fffaf0,8px 8px 0 #ddc5b1,12px 14px 20px #71442222}
.zl-fltrp .zl-book b{font-size:35px;line-height:2.1;letter-spacing:-2px}
.zl-fltrp strong{border-color:#ae886344}
html[data-ziling-stage="senior"] #learning-workspace{max-width:1120px;margin:auto;padding:0 30px}
.zl-senior-hero{position:relative;overflow:hidden;border-radius:28px;background:#252d50;padding:38px!important;margin-top:20px!important;color:#f5f0ff;isolation:isolate}
.zl-senior-hero h1{position:relative;z-index:1;font-size:clamp(32px,4vw,48px)!important;line-height:1.3!important;letter-spacing:-1px!important;max-width:65%}
.zl-senior-hero h1 em{color:#f5c69e!important;font-style:normal}
.zl-senior-hero .eyebrow{color:#c3bddb!important;position:relative;z-index:1}
.zl-senior-hero .hero-copy{color:#d0cce1!important;position:relative;z-index:1;max-width:65%;font-size:14px}
.zl-senior-art{position:absolute;right:-25px;top:10px;width:50%;pointer-events:none;z-index:-1}
.zl-senior-art svg{width:100%}
.zl-senior-hero .learning-mode-tabs{position:relative;margin-top:30px!important;gap:8px}
.zl-senior-hero .learning-mode-tab{border-radius:30px!important;border:1px solid #8389b155!important;background:#353c5c!important;color:#e8e5f5!important}
.zl-senior-hero .learning-mode-tab.active{background:#f6e1c8!important;color:#453b4b!important;border-color:#f6e1c8!important}
@media(min-width:1500px){.zl-scene{height:240px}.zl-card-copy{padding-bottom:30px}}
@media(max-width:900px){.zl-selection .product-selection-heading{min-height:125px;padding-right:0}.zl-selection .product-selection-heading img{width:130px;height:130px}.zl-scene{height:175px}.zl-card-copy{padding:0 23px 23px}.zl-card-copy h2{font-size:28px}.zl-stage-grid,.zl-edition-grid{gap:16px}.zl-book{height:185px}}
@media(max-width:600px){html[data-ziling-stage] .product-home{padding:18px 20px 35px}.zl-selection .product-selection-heading{gap:12px;margin:0 0 24px}.zl-selection .product-selection-heading img{width:84px;height:100px}.zl-selection .product-selection-heading h1{font-size:32px;letter-spacing:-1px}.zl-selection .product-selection-heading .eyebrow{font-size:9px;letter-spacing:1px}.zl-stage-grid,.zl-edition-grid{grid-template-columns:1fr;gap:18px}.zl-stage{border-radius:23px}.zl-scene{height:185px}.zl-tags{margin:14px 0 18px}.zl-editions{padding:0 20px;margin-top:15px}.zl-edition-heading{margin-bottom:25px}.zl-book{height:170px}.zl-book>span{transform:rotate(-7deg) scale(.88)}.zl-fltrp .zl-book>span{transform:rotate(7deg) scale(.88)}.zl-edition{padding:23px 25px}.zl-senior-hero{padding:26px!important;border-radius:22px}.zl-senior-hero h1,.zl-senior-hero .hero-copy{max-width:100%}.zl-senior-art{width:70%;opacity:.28;right:-20%;top:20px}html[data-ziling-stage="senior"] #learning-workspace{padding:0 18px}}
@media(prefers-reduced-motion:reduce){.zl-stage,.zl-edition{transition:none}.zl-stage:hover,.zl-edition:hover{transform:none}}

/* Tablet stage chooser: compact illustrations, retain readable text and tap targets. */
@media (min-width: 601px) and (max-width: 1366px) {
  html[data-ziling-stage="choose"] .product-home {
    max-width: 1040px;
    padding-top: 16px;
    padding-bottom: 28px;
  }
  .zl-selection .product-selection-heading {
    min-height: 100px;
    margin: 4px 0 20px;
    gap: 18px;
    padding-right: 8px;
  }
  .zl-selection .product-selection-heading img {
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
  }
  .zl-selection .product-selection-heading h1 {
    font-size: 34px;
    line-height: 1.22;
    margin: 8px 0;
    letter-spacing: -1px;
  }
  .zl-stage-grid { gap: 20px; }
  .zl-stage { border-radius: 22px; }
  .zl-card-top { padding: 17px 23px 0; }
  .zl-corner { width: 32px; height: 32px; }
  .zl-scene { height: 124px; margin-top: 0; }
  .zl-scene svg { width: 82%; height: 100%; }
  .zl-card-copy { padding: 0 23px 20px; }
  .zl-card-copy h2 { font-size: 28px; margin-bottom: 8px; }
  .zl-card-copy p { font-size: 14px; line-height: 1.7; }
  .zl-tags { margin: 13px 0 16px; }
  .zl-enter { min-height: 44px; padding-top: 13px; }
  .zl-selection .product-choice-note { margin-top: 16px; }
}
@media (min-width: 901px) and (max-width: 1366px) and (max-height: 820px) {
  .zl-selection .product-selection-heading { margin-bottom: 14px; }
  .zl-selection .product-selection-heading img { width: 84px; height: 84px; flex-basis: 84px; }
  .zl-selection .product-selection-heading h1 { font-size: 32px; }
  .zl-scene { height: 108px; }
  .zl-card-copy { padding-bottom: 17px; }
  .zl-tags { margin: 11px 0 13px; }
}
