:root{--cream:#fffaf3;--plum:#491c3d;--ink:#674d60;--rose:#ab596f;--line:#e9bdc6;--lavender:#84648e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--plum);background:var(--cream);font-family:ui-rounded,'Avenir Next',Avenir,'Segoe UI',sans-serif;-webkit-text-size-adjust:100%}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #80548b;outline-offset:5px}.skip-link{position:absolute;top:-100px;left:16px;z-index:9;padding:12px;background:white}.skip-link:focus{top:12px}.page{max-width:1280px;margin:auto;background:radial-gradient(ellipse at 50% 0%,#fbe6e9 0,transparent 45%)}.masthead{position:relative;z-index:1;text-align:center;padding:18px 20px 0}.brand{display:flex;align-items:center;flex-direction:column;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4.7vw,3.8rem);line-height:1.13;letter-spacing:-1.5px}.brand-book{width:96px;height:60px;margin-bottom:4px}.flourish{color:#be8196;letter-spacing:5px;font-size:16px;margin:8px 0 12px}nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 34px;padding:0 0 10px}nav a{font-size:14px;letter-spacing:1px;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}nav a:hover,nav a[aria-current]{border-color:#c994a6}.hero{margin-top:-155px;pointer-events:none}.hero img{width:100%;height:auto;display:block;mask-image:linear-gradient(to bottom,transparent,black 15%,black 89%,transparent)}.welcome{text-align:center;padding:0 20px 28px;margin-top:-28px;position:relative}.welcome h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,3.55vw,2.85rem);font-weight:400;letter-spacing:-1px;line-height:1.2;margin:0 0 18px}.welcome p{font-size:clamp(14px,1.6vw,18px);line-height:1.7;letter-spacing:.7px;color:var(--ink);margin:0}.small-only{display:none}.categories{max-width:1100px;padding:0 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:auto}.card{scroll-margin-top:20px;border:2px solid var(--line);border-radius:26px;background:rgba(255,250,243,.85);padding:8px 20px 26px;text-align:center;box-shadow:0 3px 0 #e6c7ca30;overflow:hidden}.art{width:100%;aspect-ratio:1.2;background-image:url('assets/category-art.webp');background-size:300% auto;background-repeat:no-repeat;background-position:0 center;mix-blend-mode:multiply}.coloring{background-position:50% center}.learners{background-position:100% center}.card h2{font:400 clamp(1.8rem,3.5vw,2.8rem)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-1px;margin:-4px 0 9px}.card p{font-size:15px;line-height:1.65;color:var(--ink);letter-spacing:.4px;margin:0 0 16px}button:not(.close){border:0;background:var(--rose);color:#fff;border-radius:999px;padding:12px 25px;font-size:14px;letter-spacing:.6px;min-height:44px;transition:background .15s,transform .15s}button:not(.close):hover{background:#8e455b;transform:translateY(-1px)}button span{margin-left:10px}.wide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 25px 10px}.wide .art{max-height:300px;aspect-ratio:1.35}.wide h2{font-size:clamp(1.8rem,3.8vw,2.8rem)}button.lavender{background:var(--lavender)}button.lavender:hover{background:#6d4c78}footer{text-align:center;padding:32px 20px 30px;color:var(--ink)}.footer-flourish{color:#bd7f94;font-size:20px;letter-spacing:7px}footer p{font-size:13px;letter-spacing:2px;margin:17px 0}footer p span{color:#bb8133;padding:0 10px}footer small{font-size:11px;letter-spacing:.6px}dialog{border:2px solid var(--line);border-radius:26px;max-width:480px;width:calc(100% - 36px);padding:38px 28px;text-align:center;background:var(--cream);color:var(--plum);box-shadow:0 20px 80px #491c3d26}dialog::backdrop{background:#412b4266;backdrop-filter:blur(3px)}dialog h2{font:400 36px Georgia,serif;margin:12px 0}dialog p{line-height:1.7;color:var(--ink)}.close{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--plum);font-size:30px;width:44px;height:44px}.dialog-star{font-size:44px;color:#bb8133}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px}.soon{font-size:13px;font-weight:600;margin:24px 0}.dismiss{margin-top:4px}@media(min-width:1280px){.page{box-shadow:0 0 90px #ead6db40}}@media(max-width:650px){.masthead{padding:20px 14px 0}.brand{font-size:clamp(1.85rem,7.6vw,3rem);letter-spacing:-1px}.brand-book{width:80px;height:50px}.flourish{margin:7px 0}nav{gap:8px 20px}nav a{font-size:11px;letter-spacing:.4px;padding:7px 0}.hero{margin-top:-40px}.welcome{margin-top:-8px;padding:0 24px 24px}.welcome h1{font-size:clamp(1.65rem,5.8vw,2.3rem);letter-spacing:-.6px;margin-bottom:12px}.small-only{display:initial}.welcome p{font-size:13px}.categories{padding:0 14px;gap:14px}.card{padding:2px 10px 20px;border-radius:20px}.card h2{font-size:clamp(1.1rem,4.7vw,1.7rem);letter-spacing:-.5px}.card p{font-size:12px;line-height:1.6;letter-spacing:0;min-height:38px}.art{aspect-ratio:1.05}.card button{font-size:11px;padding:10px 13px;letter-spacing:0}.card button span{margin-left:4px}.wide{padding:4px 12px 14px;grid-template-columns:1fr 1.1fr;gap:4px}.wide h2{font-size:clamp(1.3rem,5vw,1.8rem)}.wide p{min-height:0}.wide .art{aspect-ratio:.95}footer{padding-top:26px}footer p{font-size:10px;letter-spacing:1px}footer p span{padding:0 3px}}@media(max-width:350px){.categories{grid-template-columns:1fr}.wide{grid-column:auto;display:block}.wide .art{aspect-ratio:1.2}.card p{min-height:0}.card h2{font-size:1.8rem}nav{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none!important}}

/* Character illustrations keep the original homepage tile geometry. */
.card .art{background-size:contain;background-position:center;background-repeat:no-repeat}.card .art.books{background-image:url('assets/home-tile-stories.jpg')}.card .art.coloring{background-image:url('assets/home-tile-coloring.jpg')}.card .art.learners{background-image:url('assets/home-tile-learning.jpg')}

/* Match the navigation underline, directly under the title words. */
.masthead .brand,.masthead .brand:focus,.masthead .brand:focus-visible{outline:none;box-shadow:none;background:transparent;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.masthead .brand>span{display:inline-block;transform:none;text-decoration:none}
.masthead .brand:active>span,.masthead .brand.title-pressed>span,.masthead .brand:focus-visible>span{text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#c994a6;text-decoration-thickness:2px;text-underline-offset:7px;text-decoration-skip-ink:none}
