/* Shared finishing details: artwork stays unobstructed in every interaction state. */
:root{--ui-accent:#9870c9;--ui-text:#47423f;--ui-soft:#f2ebf7;--ui-border:#e9e1eb;--ui-radius:22px}
body{color:var(--ui-text);text-rendering:optimizeLegibility}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8c65b6;outline-offset:4px}
.site-header{gap:26px}.site-header nav a{color:#59504e;font-weight:450}.site-header nav a:hover{color:#8960b5}.search-toggle,.menu-toggle{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s,color .2s}.search-toggle:hover,.menu-toggle:hover{background:#efe5f6}.menu-toggle{display:none;flex-direction:column}.menu-toggle>span{flex-shrink:0}.library-count{box-shadow:0 3px 12px #73518a05}.library-count>span{color:#956bb8}
.header-search{gap:12px;padding:16px;background:#f0e8f6;border:1px solid #e9dfef;border-radius:20px;margin-bottom:20px}.header-search[hidden]{display:none}.header-search input[type=search]{border:1px solid transparent;border-radius:13px;padding-inline:18px;background:#fff}.header-search .button{border-radius:13px}
.coloring-hero{min-height:680px;padding-top:55px;padding-bottom:75px}.hero-kicker{color:#8b7b77}.coloring-hero-copy>p{color:#7a6f68;line-height:1.85}.hero-free-note{color:#8a7b73}.hero-button{border-radius:17px}.scroll-cue{color:#947d9f}
.category-band{background:#f0e7f6;border-top:1px solid #e9dff0;border-bottom:1px solid #e9dff0}.category-links>a{padding-block:20px;color:#74617e;transition:color .25s}.category-links>a:hover{color:#674481}.category-links>a>span:first-child{color:#9e7bb9}
.section-heading{align-items:center;margin-bottom:30px}.section-heading h2,.how-section h2{color:var(--ui-accent);line-height:1.3}.section-heading p{line-height:1.75;color:#85766e}.text-link{color:#8b61b6;font-weight:500;gap:11px}.text-link:hover{color:#694291}
.card-grid{gap:34px 25px}.sheet-link{border-radius:24px;border:1px solid #ede7e1;box-shadow:0 3px 16px #4f334804;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s}.sheet-link img{border-radius:24px;padding:15px;transition:transform .5s var(--ease-out)}.sheet-link:hover,.sheet-link:focus-visible{transform:translateY(-5px);border-color:#d4bde6;box-shadow:0 14px 30px #70557d12}.sheet-link:hover img{transform:scale(1.018)}.color-card:focus-within .sheet-link{border-color:#b89acb}.sheet-label{left:15px;top:15px;padding:4px 10px;line-height:1.5;background:#f5eff9;border-color:#ebe1f0;color:#9875b2;font-weight:400}.card-meta{margin-top:13px;color:#9672ad;font-size:10px;letter-spacing:.15px;align-items:center;gap:8px}.card-meta>span{font-size:7px;letter-spacing:1px;color:#a69789}.color-card h3{font-weight:500;font-size:14px;line-height:1.55;margin-top:5px;color:#504844}.color-card h3 a{transition:color .2s}.color-card h3 a:hover{color:#9365bc}
.popular-card{border-radius:24px;transition:transform .35s var(--ease-out),box-shadow .35s}.popular-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #71547a0c}.popular-description{line-height:1.65;letter-spacing:.1px}.popular-card h3{margin-top:7px}.feature-copy p{line-height:1.8}.feature-cards .sheet-link{border-color:#ffffff90}.collection-feature{padding-block:62px}.collection-feature+.collection-feature{margin-top:20px}.creative-banner{border:1px solid #dfd1eb;border-radius:26px}.creative-banner h2{color:#8f65b6;line-height:1.35}.creative-banner p{line-height:1.8}.creative-banner .button{border-radius:15px}
.button:not(.detail-download):not(.detail-print){transition:background .25s,transform .25s var(--ease-out),box-shadow .25s}.button:not(.detail-download):not(.detail-print):hover{transform:translateY(-2px);box-shadow:0 5px 13px #87689b1a}
.archive-main{padding-bottom:80px}.archive-main>p{font-size:15px;line-height:1.8}.browse-pills{gap:9px}.browse-pills a{border-color:#e6dce9;font-size:12px;padding:8px 17px;transition:color .2s,background .2s,border-color .2s,transform .2s}.browse-pills a:hover{background:#eee3f6;border-color:#d4bde3;color:#7e54a2;transform:translateY(-2px)}.filter-form{padding:16px;border:1px solid #e8ddeb;background:#f1eaf5;border-radius:21px;align-items:center;gap:12px}.filter-form input,.filter-form select{border-radius:13px;min-height:48px;background:#fff;color:#76676f}.filter-form .button{border-radius:13px;min-height:48px}.empty-state{border:1px solid #e3d6eb;background:#f3ecf7;padding:52px 24px}.empty-state h2{color:#9870c9;font-size:27px}.empty-state p{color:#8b788f}.pagination .page-numbers{border-radius:10px;font-size:13px;min-width:36px}.pagination .page-numbers.current{background:#e9dcf2;color:#795298}
.site-footer{background:#f1eaf5;border-top:1px solid #e6dbea}.footer-top{padding-top:48px;padding-bottom:38px;gap:45px}.site-footer h3{color:#6f557d;font-size:13px}.site-footer p,.footer-top>div>a:not(.brand){color:#8c7a91;line-height:1.85}.footer-top>div>a:not(.brand):hover{color:#73469b}.footer-bottom{color:#a08caa;font-size:10px;border-color:#e3d8e9}.footer-doodle{color:#b798c6}.how-section .steps p{line-height:1.85;color:#897a72}
@media(max-width:1100px){.site-header{gap:20px}.sheet-link img{padding:12px}.card-grid{gap:31px 20px}.collection-feature{padding-block:50px}}
@media(max-width:800px){.site-header{gap:13px}.menu-toggle{display:inline-flex}.site-header.menu-open nav{box-shadow:0 18px 40px #6c547e16;border-color:#e6d9ed}.site-header nav a{line-height:1.65}.coloring-hero{min-height:620px;padding-top:50px}.section-heading{align-items:flex-start}.sheet-link,.sheet-link img{border-radius:21px}.sheet-link img{padding:11px}.filter-form{flex-wrap:wrap}.filter-form input[type=search]{flex-basis:100%}.filter-form select{flex:1;min-width:0}.footer-top{gap:30px}.collection-feature{padding-block:43px}}
@media(max-width:540px){.site-header{gap:10px}.search-toggle,.menu-toggle{width:42px;height:42px}.library-count{min-width:81px}.library-count>span{font-size:8px}.coloring-hero{min-height:565px;padding:54px 8px 76px}.coloring-hero-copy>p{line-height:1.85}.hero-free-note{font-size:8px}.category-links{gap:23px}.category-links>a{padding-block:15px}.section-heading{gap:13px;margin-bottom:25px}.section-heading p{font-size:12px}.section-heading .text-link{font-size:11px}.card-grid{gap:26px 15px}.sheet-link,.sheet-link img{border-radius:18px}.sheet-link img{padding:9px}.sheet-label{left:10px;top:10px;font-size:7px;padding:3px 8px}.card-meta{margin-top:10px;font-size:8px;gap:4px}.card-meta>span{font-size:6px;letter-spacing:.5px}.color-card h3{font-size:12px;line-height:1.6;margin-top:4px}.popular-grid{gap:15px}.popular-card{border-radius:19px;padding:15px}.popular-description{font-size:8px}.collection-feature{padding-block:38px}.creative-banner{border-radius:22px;padding:28px 22px}.filter-form{padding:12px;gap:9px;border-radius:18px}.filter-form input,.filter-form select,.filter-form .button{font-size:12px;min-height:46px}.filter-form .button{padding-inline:18px}.browse-pills a{font-size:10px;padding:7px 13px}.archive-main{padding-bottom:55px}.site-footer .brand{font-size:21px}.footer-top{padding-top:37px;padding-bottom:30px;gap:26px}.footer-bottom{font-size:9px;line-height:1.8}.header-search{padding:11px;gap:8px;border-radius:16px}.header-search input[type=search]{font-size:11px;padding-inline:11px}.header-search .button{font-size:11px;padding:12px;gap:7px}.empty-state{padding:35px 18px}.empty-state h2{font-size:24px}}
@media(max-width:380px){.site-header{gap:6px}.playful-brand{width:92px}.logo-color{font-size:20px}.logo-online{font-size:10px}.logo-page{font-size:16px}.library-count{min-width:70px}.library-count>span{font-size:7px}.search-toggle,.menu-toggle{width:40px;height:40px}}
@media(hover:none){.sheet-link:hover,.popular-card:hover{transform:none;box-shadow:none}.sheet-link:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.sheet-link,.sheet-link img,.popular-card,.search-toggle,.menu-toggle,.browse-pills a,.color-card h3 a{transition:none!important}}
@media print{.header-search{display:none!important}.sheet-link{box-shadow:none!important}}

.home-intro {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: 2rem;
    margin-block: 1.5rem 2rem;
    padding: clamp(2rem, 5vw, 5rem);
    border-radius: 2rem;
    background: radial-gradient(ellipse at 82% 35%, #ffead1, transparent 55%), #f4ecff;
    overflow: hidden;
}
.home-intro h1 {
    margin: 0;
    font: 400 clamp(2.2rem, 5vw, 5rem)/1.04 Chango, sans-serif;
    color: #392947;
    letter-spacing: -.045em;
}
.home-intro h1 em { display: block; font-style: normal; color: #7450a1; }
.home-intro-copy p { max-width: 43ch; margin: 1.3rem 0 1.6rem; font-size: 1.1rem; line-height: 1.6; }
.home-art-stack { position: relative; width: 100%; height: clamp(14rem, 23vw, 22rem); }
.home-art-stack img {
    position: absolute; height: 90%; width: 60%; object-fit: contain;
    padding: .6rem; background: white; border-radius: .8rem;
    box-shadow: 0 .7rem 1.5rem #56426326;
}
.home-art-stack img:first-child { left: 4%; transform: rotate(-12deg); }
.home-art-stack img:last-child { right: 2%; bottom: 0; transform: rotate(9deg); }
@media (max-width: 720px) {
    .home-intro { grid-template-columns: 1fr; gap: 1.6rem; padding: 2rem 1.4rem; }
    .home-art-stack { height: 11rem; max-width: 20rem; justify-self: center; }
}
.policy-links { display:flex; flex-wrap:wrap; gap:.65rem 1.4rem; padding-block:1rem 2rem; }
.policy-links a { text-decoration:underline; text-underline-offset:.2em; }
.prose form textarea,.prose form input[type=email] { width:min(100%,38rem); padding:.65rem; font:inherit; }

@media screen {
    :root { --ui-accent:#654879; --studio-line:#e3dbe4; --studio-ink:#382d3e; }
    body { background:#faf8f5; color:var(--studio-ink); }
    .site-header { border-bottom:1px solid var(--studio-line); }
    .site-header nav a { font-weight:550; }
    .home-intro { border:1px solid #e2d6e7; box-shadow:0 12px 32px #49324809; }
    .home-art-stack { background:radial-gradient(#9677a533 1px,transparent 1px) center / 12px 12px; }
    .section-heading { border-bottom:1px solid var(--studio-line); padding-bottom:1.15rem; }
    .color-card { min-width:0; }
    .color-card h3 { font-size:clamp(.9rem,1.2vw,1.1rem); line-height:1.4; overflow-wrap:anywhere; }
    .sheet-link { background:white; box-shadow:0 4px 12px #342b3809; }
    .card-meta,.sheet-label { color:#6a467c; }
    .filter-form { background:#fff; box-shadow:0 6px 20px #48314d08; }
    .browse-pills a { color:#593f65; background:#fff; }
    .wrap.prose {
        max-width:52rem; margin-block:clamp(1.5rem,5vw,5rem);
        background:#fff; padding:clamp(1.3rem,5vw,4rem);
        border:1px solid var(--studio-line); border-radius:1.5rem;
        box-shadow:0 10px 32px #382e3d09; line-height:1.75; overflow-wrap:anywhere;
    }
    .prose h1,.archive-main h1 { color:var(--studio-ink); font-size:clamp(2rem,5vw,3.8rem); line-height:1.12; }
    .prose h2 { margin:2rem 0 .6rem; font-size:clamp(1.25rem,2vw,1.7rem); }
    .prose form :is(input[type=email],textarea) { border:1px solid #a398aa; border-radius:.65rem; background:#fcfafc; }
    .site-footer { background:#302636; }
    .site-footer :is(h3,.brand,.brand-purple) { color:#fff6ee; }
    .site-footer p,.site-footer .footer-top>div>a:not(.brand),.footer-bottom,.policy-links a { color:#e6d7e9; }
    .site-footer .footer-top>div>a:hover,.policy-links a:hover { color:white; }
    .policy-links a { display:inline-flex; align-items:center; min-height:44px; }
    .footer-bottom { border-color:#5c4a62; }
    .coloring-detail .detail-artwork { box-shadow:0 10px 35px #352c3910; border:1px solid var(--studio-line); }
    :is(.detail-copy,.archive-main,.home-intro-copy) { min-width:0; overflow-wrap:anywhere; }
}
@media screen and (max-width:700px) {
    .section-heading { flex-wrap:wrap; align-items:baseline; }
    .policy-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.15rem 1rem; }
    .header-search input[type=search],.filter-form input[type=search] { min-width:0; }
    .footer-top { grid-template-columns:1fr; }
    .home-intro h1 { font-size:clamp(1.95rem,8vw,3rem); }
    .archive-main .card-grid,.gallery-section .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .coloring-detail .detail-actions { flex-wrap:wrap; }
    .prose form input[type=email],.prose form textarea { font-size:16px; }
}

@media screen {
    .home-intro {
        position:relative; isolation:isolate; background:#322341;
        background-image:radial-gradient(ellipse at 83% 75%,#72577b,transparent 55%);
        border-color:#44324e; color:#fff6ed;
    }
    .home-intro h1 { color:#fff7e8; font-size:clamp(2rem,4vw,4.3rem); }
    .home-intro h1 em { color:#f6bc9c; }
    .home-intro-copy p { color:#f0dfef; }
    .home-intro .button.hero-button { color:#302238; background:#ffd194; border-radius:100px; }
    .home-art-stack { background:radial-gradient(#f4d8c966 1px,transparent 1px) center / 14px 14px; }
    .home-art-stack::before {
        content:""; position:absolute; inset:-4% 10%; z-index:-1;
        border-radius:50%; background:#dbada1; box-shadow:0 0 0 12px #eec6ac18;
    }
    .card-grid .color-card { padding:clamp(8px,1vw,16px); border:1px solid #e5dce1; border-radius:20px; background:#fffcf9; }
    .card-grid .sheet-link { border-radius:13px; }
    .card-grid .card-meta,.card-grid .color-card h3 { margin-inline:4px; }
    .collection-feature .feature-copy h2 { font-size:clamp(1.7rem,3vw,2.75rem); }
    .how-section .steps > div { padding:1.25rem; background:white; border:1px solid #e6dce3; border-radius:20px; }
}
@media screen and (min-width:850px) {
    .collection-feature .feature-layout { display:grid; grid-template-columns:minmax(190px,.75fr) minmax(0,2fr); align-items:center; }
    .collection-feature .feature-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(0,1fr)); gap:1rem; }
    .collection-feature .sheet-link { max-height:20rem; }
    .collection-feature .sheet-link img { object-fit:contain; max-height:20rem; }
}
@media screen and (prefers-reduced-motion:no-preference) {
    .home-art-stack { transition:transform .45s ease-out; }
    .home-art-stack img { animation:paper-settle 1.4s cubic-bezier(.2,.8,.25,1) both; }
    .home-art-stack img:last-child { animation-delay:.12s; }
    @keyframes paper-settle { from { translate:0 18px; rotate:-4deg; } to { translate:0 0; rotate:0deg; } }
}

@media screen {
    .site-header.wrap { height:auto; min-height:94px; margin-block:14px; padding:10px clamp(14px,2vw,30px); background:#fffdf9; border:1px solid #e5dce4; border-radius:24px; box-shadow:0 6px 24px #34223a09; }
    .site-header .playful-brand { scale:.82; transform-origin:left center; }
    .site-header .library-count { flex-direction:row; gap:7px; min-width:0; height:44px; padding:0 16px; border-radius:30px; transform:none; background:#402d50; color:#fff3dc; }
    .site-header .library-count strong { font-size:17px; }
    .site-header .library-count>span { color:#fff3dc; font-size:12px; }
    .site-header .search-toggle,.site-header .menu-toggle { background:#f4edf6; }
    .site-footer { background:linear-gradient(120deg,#32233d,#422d4b); border-top:4px solid #e5b993; }
    .site-footer .footer-top { display:grid; grid-template-columns:2fr 1fr 1.35fr; align-items:start; padding-block:clamp(32px,5vw,72px); }
    .footer-identity p { max-width:29ch; }
    .footer-top nav { display:grid; align-content:start; justify-items:start; }
    .footer-top nav h3 { margin:0 0 10px; color:#ffd9ae; font-size:16px; }
    .footer-top nav a,.site-footer .footer-bottom a { padding:7px 0; color:#f1e8f4; font-size:14px; line-height:1.45; }
    .footer-top nav a:hover,.footer-bottom a:hover { text-decoration:underline; text-underline-offset:4px; }
    .site-footer .footer-bottom { padding-block:16px; font-size:12px; }
}
@media screen and (max-width:800px) {
    .site-header.wrap { min-height:74px; gap:8px; }
    .site-header nav { top:calc(100% + 6px); }
    .site-header .search-toggle { margin-left:auto; }
}
@media screen and (max-width:600px) {
    .site-header .library-count { display:none; }
    .site-footer .footer-top { grid-template-columns:1fr 1fr; gap:24px 16px; }
    .footer-identity { grid-column:1/-1; }
    .footer-top nav a { padding-block:10px; }
}

@media screen {
    .site-footer.paper-footer { background:#faf8f5; padding:16px 0 24px; border:0; color:#382d43; }
    .paper-inner { box-sizing:border-box; overflow:hidden; border:1px solid #ded2e7; border-radius:26px; background:#eee7f5; }
    .footer-mast,.paper-base { display:flex; align-items:center; gap:24px; padding:24px clamp(18px,3vw,48px); }
    .footer-mast nav,.paper-base nav { display:flex; align-items:center; flex-wrap:wrap; gap:4px 22px; }
    .footer-mast nav { margin-left:auto; }
    .footer-mast .playful-brand { width:120px; }
    .paper-footer nav a { color:#493653; font:500 15px/1.45 Rubik,sans-serif; padding-block:10px; }
    .paper-footer nav a:hover { text-decoration:underline; text-underline-offset:5px; }
    .footer-up { flex:none; display:grid; place-items:center; width:44px; height:44px; background:#463053; color:white; border-radius:50%; font-size:22px; }
    .paper-base { justify-content:space-between; border-top:1px solid #ded2e7; background:#f7f3fa; padding-block:10px; }
    .paper-base nav a,.paper-base small { font-size:13px; }
}
@media screen and (max-width:840px) {
    .footer-mast { display:grid; grid-template-columns:1fr auto; gap:14px; }
    .footer-up { grid-column:2; grid-row:1; }
    .footer-mast nav { grid-column:1/-1; margin:0; }
    .paper-base { align-items:flex-start; flex-direction:column; gap:4px; padding-block:16px; }
}

@media screen and (max-width:600px) {
    .home-intro { gap:1rem; margin-block:10px 18px; padding:22px 20px 16px; border-radius:22px; }
    .home-intro-copy p { margin:10px 0 14px; font-size:16px; line-height:1.5; }
    .home-art-stack { height:126px; max-width:235px; }
    .home .category-band { background:transparent; border:0; }
    .home .category-links { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:6px; overflow:visible; }
    .home .category-links>a { flex:0 0 auto; padding:8px 11px; min-height:42px; border-radius:14px; border:1px solid #ddcfe5; background:#f3edf6; color:#503958; font-size:12px; }
    .home .category-arrow,.home .little-doodle,.home .heading-star,.home .card-meta>span { display:none; }
    .home .gallery-section,.home .popular-section,.home .how-section { padding-block:30px; }
    .home .section-heading { flex-direction:row; align-items:center; justify-content:space-between; gap:8px; margin-bottom:16px; padding-bottom:10px; }
    .home .section-heading h2,.home .how-section h2 { font-size:clamp(21px,5.3vw,28px); line-height:1.2; }
    .home .card-grid { gap:16px 10px; }
    .home .card-meta,.home .sheet-label { font-size:10px; }
    .home .popular-description { display:none; }
    .home .collection-feature { padding-block:24px; }
    .home .feature-copy .eyebrow,.home .feature-doodle,.home .feature-copy p { display:none; }
    .home .feature-copy h2 { font-size:21px; max-width:none; margin:0 0 8px; }
    .home .feature-cards { display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:calc((100% - 14px)/2.15); gap:10px; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:8px; }
    .home .feature-cards .color-card { scroll-snap-align:start; }
    .home .feature-layout { min-width:0; grid-template-columns:minmax(0,1fr); }
    .home .steps { display:grid; grid-template-columns:1fr; width:100%; max-width:none; gap:0; text-align:left; background:white; border:1px solid #e4dce5; border-radius:18px; }
    .home .steps>div { display:grid; grid-template-columns:36px 1fr; gap:3px 12px; width:100%; max-width:none; background:transparent; border:0; padding:14px; }
    .home .steps>div+div { border-top:1px solid #eee6ef; border-radius:0; }
    .home .steps>div>span { width:36px; height:36px; grid-row:span 2; margin:0; }
    .home .steps h3,.home .steps p { margin:0; }
}

.print-guide {
    display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    margin-block:clamp(30px,5vw,72px); overflow:hidden;
    border:1px solid #dfd4e5; border-radius:26px; background:#fffdf9;
}
.print-guide-intro {
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
    gap:24px; padding:clamp(24px,4vw,56px); color:#fff7eb; background:#46304f;
}
.print-guide-intro h2 { color:inherit; font:400 clamp(25px,3vw,42px)/1.12 Chango,sans-serif; max-width:15ch; margin:0; }
.print-guide-intro a { display:inline-flex; align-items:center; gap:14px; padding:12px 18px; border-radius:24px; background:#ffdaa8; color:#39273d; font-weight:600; }
.print-guide-list { margin:0; padding:12px clamp(18px,3vw,42px); list-style:none; counter-reset:print-step; }
.print-guide-list li { counter-increment:print-step; display:grid; grid-template-columns:34px 1fr; column-gap:14px; align-content:center; padding:18px 0; }
.print-guide-list li+li { border-top:1px solid #e9dfe7; }
.print-guide-list li::before { content:counter(print-step); grid-row:span 2; display:grid; place-items:center; align-self:start; height:34px; border-radius:50%; background:#eee3f3; color:#63416f; font-weight:600; }
.print-guide-list h3 { margin:0; font:600 18px/1.35 Rubik,sans-serif; color:#36283d; }
.print-guide-list p { margin:4px 0 0; font-size:15px; line-height:1.5; color:#635764; }
@media (max-width:700px) {
    .print-guide { grid-template-columns:minmax(0,1fr); border-radius:20px; }
    .print-guide-intro { gap:15px; padding:22px; }
    .print-guide-intro h2 { max-width:20ch; }
}
