:root{--paper:#fffaf2;--ink:#293c45;--soft:#f7e5db;--coral:#ae5144;--sage:#76937c;--gold:#d7a64c;--sky:#79aaba;--white:#fffdf9;--muted:#53666e}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.65}body.preview-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--sky);outline-offset:5px}.shell{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:fixed;left:16px;top:-90px;z-index:90;padding:12px 18px;background:var(--ink);color:white;border-radius:8px}.skip:focus{top:12px}header{background:rgba(255,250,242,.96);border-bottom:1px solid rgba(41,60,69,.1);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.nav{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:8px 0}.brand img{width:108px;height:auto}.navlinks{display:flex;align-items:center;gap:28px}.navlinks a{text-decoration:none;font-size:.9rem;font-weight:600}.navlinks a:hover{color:var(--coral)}.navlinks [aria-current="page"]{color:var(--coral);border-bottom:2px solid #c76556}.order{padding:10px 17px;border-radius:999px;background:var(--ink);color:white!important}
.hero{position:relative;overflow:hidden;text-align:center;padding:66px 0 42px;background:radial-gradient(circle at 15% 20%,rgba(215,166,76,.16),transparent 28%),radial-gradient(circle at 85% 30%,rgba(121,170,186,.2),transparent 28%),linear-gradient(145deg,#fffaf2,#f6e1d6 54%,#e4eee4)}.hero:before,.hero:after{content:"✦";position:absolute;color:#c49a50;font-size:2.7rem}.hero:before{left:10%;top:24%;transform:rotate(-10deg)}.hero:after{right:10%;bottom:30%;font-size:1.8rem}.kicker{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700;color:var(--coral);margin:0 0 12px}.hero h1{font:400 clamp(2.1rem,6.4vw,4.8rem)/1.05 "Libre Caslon Display",serif;margin:0 auto;letter-spacing:-.025em}.hero h1 span{display:block;white-space:nowrap}.flourish{display:flex;gap:13px;align-items:center;justify-content:center;margin:18px auto 16px;color:var(--coral);font-size:1.45rem}.flourish i{height:1px;width:48px;background:#bb8b69}.intro{font-size:1.05rem;max-width:710px;margin:auto}.browse{display:inline-flex;gap:28px;align-items:center;text-decoration:none;border-radius:999px;padding:12px 23px;margin-top:26px;background:var(--ink);color:var(--paper);font-weight:600;font-size:.95rem}.browse:hover,.order:hover{background:#3f565d}.hero-note{font-size:.74rem;color:var(--muted);margin:20px 0 0}.hero-note span{margin:0 7px}.welcome{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-bottom:1px solid #d8dbce;padding:23px 0}.welcome p{margin:0;display:flex;align-items:center;justify-content:center;gap:12px;font-size:.82rem}.welcome b{color:var(--coral);font-size:.72rem;font-weight:600;letter-spacing:.08em}.activities{padding:65px 0 80px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.section-head h2,.print-section h2,.story-invitation h2{font:400 clamp(2.2rem,4.2vw,3.3rem)/1.1 "Libre Caslon Display",serif;margin:0}.section-head>p{font-size:.92rem;color:var(--muted);margin:0}.browse-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.filters{display:flex;flex-wrap:wrap;gap:9px}.filters[hidden]{display:none}.filters button{border:1px solid #cdd2c6;background:transparent;border-radius:999px;padding:9px 15px;color:var(--muted);font-size:.81rem;font-weight:600;min-height:44px}.filters button:hover{border-color:var(--sage);background:#edf2e8}.filters button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.result-count{font-size:.78rem;color:var(--muted);white-space:nowrap;margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.card{display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--white);box-shadow:0 8px 25px rgba(41,60,69,.055);border:1px solid #e2e2d7;transition:box-shadow .2s,transform .2s}.card[hidden]{display:none}.card:hover{box-shadow:0 13px 32px rgba(41,60,69,.11);transform:translateY(-3px)}.preview{position:relative;aspect-ratio:1/1.16;background:#eaf0e5;padding:22px 33px 32px;width:100%;border:0;text-align:center;color:var(--ink)}.card:nth-child(2n) .preview{background:#f5e5d9}.card:nth-child(3n) .preview{background:#e9eef0}.preview img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(41,60,69,.12));transition:transform .25s}.preview:hover img{transform:scale(1.025)}.preview:disabled .enlarge{display:none}.enlarge{position:absolute;bottom:8px;left:10px;right:10px;font-size:.66rem;font-weight:600;color:var(--muted)}.card-body{display:flex;flex:1;flex-direction:column;padding:23px}.category{font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:#5b7360;font-weight:700;margin:0 0 8px}.card h3{font:400 1.75rem/1.12 "Libre Caslon Display",serif;margin:0 0 12px}.description{font-size:.87rem;margin:0 0 20px;color:var(--muted)}.file-info{font-size:.69rem;color:var(--muted);margin:auto 0 13px}.file-info span{padding:0 5px}.download{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:12px 15px;border-radius:999px;background:var(--coral);color:white;text-decoration:none;font-size:.86rem;font-weight:700;min-height:46px}.download:hover{background:#944337}.download>span{font-size:1.2rem;line-height:1}.print-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:44px 0 65px;border-top:1px solid #d8dbce}.print-section h2{font-size:2.6rem}.print-section>div>p:not(.kicker){font-size:.88rem;color:var(--muted)}.print-help details{border-bottom:1px solid #d8dbce}.print-help summary{cursor:pointer;position:relative;padding:20px 27px 20px 0;font-size:.9rem;font-weight:600;list-style:none}.print-help summary::-webkit-details-marker{display:none}.print-help summary:after{content:"+";position:absolute;right:2px;color:var(--coral);font-size:1.3rem;top:13px}.print-help details[open] summary:after{content:"−"}.print-help p{font-size:.86rem;color:var(--muted);margin:0 18px 22px 0}.story-invitation{padding:54px 0 58px;text-align:center;background:#eaf0e5}.story-invitation h2{font-size:clamp(2rem,3.5vw,2.8rem)}.story-invitation p:not(.kicker){font-size:.9rem}.story-link{display:inline-flex;gap:24px;align-items:center;font-weight:600;font-size:.88rem;text-underline-offset:5px}footer{padding:28px 0;background:#293c45;color:#f7f2e9}.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.72rem}.foot a{text-underline-offset:3px}
dialog{width:min(870px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid #d3d7ca;border-radius:20px;box-shadow:0 28px 100px #0005}dialog::backdrop{background:rgba(25,42,44,.7);backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px}.dialog-top .kicker{font-size:.59rem;margin-bottom:5px}.dialog-top h2{font:400 1.8rem/1.1 "Libre Caslon Display",serif;margin:0}.close,.previous,.next{background:transparent;border:1px solid #bfc9bd;border-radius:50%;width:44px;height:44px;color:var(--ink);flex-shrink:0;font-size:1.2rem}.close{font-size:1.6rem}.close:hover,.previous:hover,.next:hover{background:#e3eadf}.dialog-art{background:#e7ecdf;padding:16px;display:flex;justify-content:center}.dialog-art img{height:min(57dvh,630px);width:auto;object-fit:contain;background:white;box-shadow:0 5px 20px #293c451c}.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px 0}.dialog-bottom .download{min-width:230px}.preview-pager{display:flex;gap:13px;align-items:center;font-size:.8rem}.dialog-note{text-align:right;padding:0 25px 16px;margin:6px 0 0;font-size:.67rem;color:var(--muted)}
@media(min-width:901px){.card h3{min-height:2.24em}}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.navlinks{gap:18px}.navlinks .optional{display:none}.welcome p{font-size:.73rem;gap:8px}.print-section{gap:35px}.hero:before{left:5%;top:18%}.hero:after{right:5%}.card h3{font-size:1.7rem}}
@media(max-width:620px){.shell{width:calc(100% - 32px)}.nav{min-height:82px;gap:15px;padding:6px 0}.brand img{width:82px}.navlinks{gap:13px}.navlinks a{font-size:.76rem}.order{padding:9px 12px}.hero{padding:43px 0 29px}.hero .kicker{font-size:.61rem;letter-spacing:.12em}.hero h1{font-size:clamp(2rem,8.5vw,3.2rem)}.hero:before,.hero:after{display:none}.intro{font-size:.89rem;max-width:340px}.flourish{margin:13px 0}.browse{margin-top:21px;font-size:.84rem}.hero-note{font-size:.61rem}.hero-note span{margin:0 3px}.desktop-break{display:none}.welcome{gap:8px;padding:18px 0}.welcome p{flex-direction:column;gap:2px;text-align:center;font-size:.64rem;line-height:1.45}.welcome b{font-size:.65rem}.activities{padding:40px 0 45px}.section-head{display:block;margin-bottom:23px}.section-head>p{font-size:.83rem;margin-top:14px}.section-head h2{font-size:2.4rem}.kicker{font-size:.65rem}.browse-tools{display:block;margin-bottom:19px}.filters{gap:7px}.filters button{padding:8px 12px;font-size:.73rem}.result-count{margin-top:13px;font-size:.7rem}.grid{grid-template-columns:1fr;gap:24px}.preview{aspect-ratio:1/1.13;padding:22px 38px 34px}.card-body{padding:22px}.card h3{font-size:1.9rem}.description{font-size:.89rem;margin-bottom:20px}.file-info{font-size:.73rem}.download{font-size:.87rem;min-height:48px}.enlarge{font-size:.68rem}.print-section{grid-template-columns:1fr;gap:12px;padding:34px 0 40px}.print-section h2{font-size:2.2rem}.print-section>div>p:not(.kicker){margin:13px 0 0}.print-help summary{font-size:.85rem}.story-invitation{padding:38px 0}.foot{display:block;text-align:center;font-size:.65rem}.foot>span{display:block;margin-top:12px}.foot div span{display:block}.dialog-top{padding:16px;gap:10px}.dialog-top h2{font-size:1.45rem}.dialog-art{padding:10px}.dialog-art img{height:auto;max-height:53dvh;width:auto;max-width:100%}.dialog-bottom{padding:13px 16px 0;flex-direction:column;gap:12px}.dialog-bottom .download{width:100%;min-width:0}.dialog-note{padding:0 16px 14px;text-align:center;font-size:.65rem}.previous,.next{height:44px;width:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@media(max-width:360px){.brand img{width:68px}.nav{gap:10px}.navlinks{gap:10px}.navlinks a{font-size:.7rem;white-space:nowrap}.order{padding:9px 10px}}

    footer .footer-brand{width:190px;margin:0 auto 26px}
    footer .footer-brand a{display:block}
    footer .footer-brand img{display:block;width:100%;height:auto;filter:invert(1);mix-blend-mode:screen}
