:root{--ink:#223246;--ink-2:#36475a;--cream:#fbf8f0;--paper:#fffdf8;--marigold:#d7a93c;--accent:#6d4c72;--line:#d9d8cf;--muted:#5f6a6f;--shadow:0 22px 65px rgba(25,43,52,.11)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 1.05rem/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--accent)}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(3.2rem,7vw,6.5rem)}h2{font-size:clamp(2.3rem,4vw,4rem)}h3{font-size:clamp(1.7rem,2.3vw,2.5rem)}em{font-weight:400;color:var(--accent)}p{margin-bottom:1.15rem}.wrap{width:min(100% - 3rem,1180px);margin-inline:auto}.eyebrow{color:var(--accent);font-size:.83rem;font-weight:750;text-transform:uppercase;letter-spacing:.2em;line-height:1.5;margin-bottom:1.25rem}.skip-link{position:absolute;z-index:100;top:-100px;left:1rem;background:#fff;padding:.6rem 1rem}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--marigold);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{background:var(--cream);border-bottom:1px solid rgba(34,50,70,.13);position:relative;z-index:2}.header-inner{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-brand{text-decoration:none;color:var(--ink);line-height:1.1;display:inline-flex;flex-direction:column}.site-brand span{font:400 1.62rem Georgia,"Times New Roman",serif;letter-spacing:-.04em}.site-brand small{font-size:.67rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-top:.42rem}.primary-nav{display:flex;gap:2.25rem;align-items:center}.primary-nav a{text-decoration:none;font-size:.9rem;font-weight:650}.primary-nav a[aria-current="page"]{border-bottom:2px solid var(--marigold);padding-bottom:.25rem}
.hero{min-height:655px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:5vw;padding-block:5.5rem 6.5rem}.hero-copy{padding-bottom:2rem}.hero h1{max-width:700px;margin-bottom:2rem}.hero h1 em{display:block}.hero-lede{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.32rem,2vw,1.67rem);line-height:1.45;max-width:540px;color:var(--ink-2);margin-bottom:2rem}.text-link{font-weight:700;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:.3rem}.text-link span{margin-left:.4rem}.hero-art{height:520px;background:#fff;border:12px solid #fff;box-shadow:var(--shadow);position:relative;transform:rotate(2deg);overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-placeholder{padding:2rem;text-align:center}.hero-placeholder span{font-size:clamp(3.5rem,6vw,5.2rem);letter-spacing:-.05em;padding:0}.hero-placeholder small{max-width:16rem;line-height:1.5}.art-caption{position:absolute;bottom:0;left:0;right:0;padding:.6rem .8rem;background:rgba(255,253,248,.93);font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;text-align:center;color:var(--ink)}
.intro-section{background:#f0eaf0;padding-block:7rem}.intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,8vw,9rem);align-items:center}.portrait-frame{aspect-ratio:4/5;max-width:400px;background:#e2d7e1;padding:12px;box-shadow:12px 12px 0 rgba(109,76,114,.16)}.portrait-frame>img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;border:1px solid rgba(34,50,70,.24);color:var(--accent);background:radial-gradient(circle at 50% 33%,rgba(255,255,255,.7),transparent 60%),#f4eef3}.portrait-placeholder span{font:400 6rem Georgia,"Times New Roman",serif;letter-spacing:-.13em;padding-right:.13em}.portrait-placeholder small{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.intro-copy h2{max-width:610px;margin-bottom:1.75rem}.intro-copy p:not(.eyebrow){max-width:630px}.button{appearance:none;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.78rem 1.35rem;background:var(--ink);color:#fff;text-decoration:none;font:700 .91rem/1.25 system-ui,sans-serif;text-align:center;cursor:pointer;transition:background .15s,color .15s,transform .15s}.button:hover{background:#354b62;color:#fff;transform:translateY(-2px)}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{background:var(--ink);color:#fff}.intro-copy .button{margin-top:1rem}
.book-section{padding-block:7.5rem 8rem}.section-heading{text-align:center;margin-bottom:3.5rem}.section-heading h2{max-width:780px;margin-inline:auto}.book-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(3rem,8vw,9rem)}.book-visual{width:min(100%,380px);margin:auto;position:relative;box-shadow:var(--shadow);border:10px solid #fff;background:#fff}.book-visual img{width:100%;aspect-ratio:4/5;object-fit:cover}.cover-note{position:absolute;inset:auto 0 0;background:rgba(255,253,248,.94);font-size:.7rem;font-weight:700;line-height:1.35;letter-spacing:.075em;text-align:center;text-transform:uppercase;padding:.75rem .5rem;color:var(--ink)}.book-rule{display:block;width:70px;border-top:3px solid var(--marigold);margin-bottom:1.75rem}.book-copy h3{max-width:650px;margin-bottom:1.5rem}.book-copy p{max-width:580px}.book-audience{font-weight:700;color:var(--accent)}.purchase-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.availability{border-left:3px solid var(--marigold);padding-left:1rem;color:var(--muted);font-style:italic}
.newsletter-wrap{padding-block:0 7rem}.newsletter{background:var(--ink);color:#fff;display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,5vw,5rem);padding:clamp(2.5rem,5vw,5rem);align-items:start}.newsletter .eyebrow{color:#f0cd70}.newsletter h2{margin-bottom:1.2rem}.newsletter-copy p:last-child{color:#e1e8e6;max-width:430px}.newsletter-form label{font-weight:650;font-size:.9rem}.newsletter-form>label{display:block;margin:0 0 .5rem}.newsletter-row{display:flex;gap:.5rem}.newsletter-row input{width:100%;min-width:0}.newsletter button{border:1px solid #e5c362;background:#e5c362;color:var(--ink);min-width:128px;font-weight:750;padding:.7rem 1rem;cursor:pointer}.newsletter button:hover{background:#f1d684}.newsletter fieldset{border:0;margin:1rem 0 0;padding:0}.newsletter legend{font-size:.9rem;font-weight:650;margin-bottom:.35rem}.newsletter .check{display:inline-flex;align-items:center;gap:.35rem;margin-right:1.3rem;font-weight:400}.newsletter .check input{width:1.1rem;height:1.1rem;accent-color:#e5c362}.form-fineprint{font-size:.83rem;line-height:1.55;color:#cbd7d6;margin:.85rem 0 0}.form-fineprint a{color:inherit}.newsletter-pending{border:1px solid #82939e;padding:1.5rem}.newsletter-pending p{margin-bottom:.35rem}
input[type="text"],input[type="email"],input[type="tel"],textarea{border:1px solid #abb6b1;border-radius:0;background:#fff;color:var(--ink);font:inherit;min-height:49px;padding:.65rem .75rem;width:100%}textarea{resize:vertical}.contact-section{background:#f0eaf0;padding-block:7rem;scroll-margin-top:1rem}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,8vw,8rem)}.contact-grid h2{max-width:450px}.contact-grid>div:first-child>p:not(.eyebrow){max-width:390px}.contact-note{font-size:.9rem;color:var(--muted);padding-top:1rem}.contact-card{background:var(--paper);padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow)}.contact-form label,.contact-form legend{font-size:.88rem;font-weight:700}.contact-form>label{display:block;margin:.7rem 0 .35rem}.contact-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-row>div>label{display:block;margin:.5rem 0 .35rem}.optional{color:var(--muted);font-size:.75rem;font-weight:400}.method-field{border:0;margin:1.4rem 0 .55rem;padding:0}.method-field legend{margin-bottom:.4rem}.radio-row{display:flex;gap:1.3rem;flex-wrap:wrap}.radio-row label{font-weight:400}.radio-row input{accent-color:var(--accent);width:1.1rem;height:1.1rem;vertical-align:middle}.contact-form .form-fineprint{color:var(--muted);margin:1rem 0 1.3rem}.contact-form .button{width:100%}.honeypot{position:absolute;left:-9999px}.form-status{padding:.7rem 1rem;border-left:4px solid;margin-bottom:1.5rem}.form-status.success{border-color:var(--accent);background:#e5f3e9}.form-status.error{border-color:#a6453c;background:#fff0ed}[hidden]{display:none!important}
.site-footer{background:#182736;color:#dce4e5;padding-block:3.5rem}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr auto;gap:2rem;align-items:start}.footer-inner strong{font:400 1.5rem Georgia,"Times New Roman",serif;color:#fff}.footer-inner p{font-size:.82rem;margin:.6rem 0}.footer-links{display:flex;flex-direction:column;gap:.45rem;font-size:.83rem}.footer-links a{text-decoration:none}.footer-inner small{font-size:.75rem;color:#c7d2d6;white-space:nowrap}
.page-hero{padding-block:6rem 5rem}.page-hero h1{max-width:800px}.page-hero>p:last-child{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;max-width:650px;color:var(--ink-2)}.about-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem);align-items:start;padding-bottom:7rem}.about-portrait{width:100%}.about-body{padding-top:2.5rem}.about-body h2{margin-bottom:1.5rem}.prose{max-width:730px}.prose p{margin-bottom:1.35rem}.prose h2{font-size:clamp(1.65rem,2.3vw,2.25rem);margin:2.4rem 0 .9rem}.peek-section{background:#f0eaf0;padding-block:7rem}.peek-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:4rem;align-items:center}.peek-copy p:not(.eyebrow){max-width:380px}.peek-image{margin:0;background:#fff;padding:10px;box-shadow:var(--shadow)}.peek-image img{width:100%;height:auto}.peek-image figcaption{font-size:.72rem;text-align:right;padding:.4rem .5rem;color:var(--muted)}.peek-note{font-size:.88rem;color:var(--muted)}.page-about .newsletter-wrap{padding-top:7rem}
.legal-page{padding-block:6rem 8rem}.legal-page h1{font-size:clamp(2.8rem,5vw,4.6rem);max-width:900px}.legal-intro{font-size:1.3rem;max-width:670px;color:var(--muted);margin-bottom:3rem}.legal-prose{border-top:1px solid var(--line);padding-top:1.2rem}.legal-prose h2{scroll-margin-top:2rem}.generic-page{padding-block:5rem 8rem;min-height:55vh}
.printables-page{padding-block:6rem 0}.printables-intro{max-width:770px;margin-bottom:4rem}.printables-intro h1{font-size:clamp(3.5rem,6vw,5.7rem)}.printables-intro>p:not(.eyebrow){font-size:1.18rem}.printables-adult{font-size:.88rem!important;color:var(--muted)}.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:7rem}.age-column{min-width:0}.age-heading{border-bottom:2px solid var(--ink);display:flex;gap:1rem;align-items:baseline;margin-bottom:1.4rem}.age-heading h2{font-size:2.5rem;margin-bottom:.65rem}.age-mark{font-size:.8rem;color:var(--accent);font-weight:750}.print-card{display:grid;grid-template-columns:135px 1fr;gap:1.2rem;background:var(--paper);padding:1rem;margin-bottom:1rem;border:1px solid var(--line)}.print-thumb{aspect-ratio:4/5;background:#efe8ef;display:flex;align-items:center;justify-content:center;overflow:hidden}.print-thumb img{width:100%;height:100%;object-fit:cover}.pdf-fallback{font:400 2.2rem Georgia,serif;color:var(--accent)}.print-card h3{font-size:1.48rem;margin:0 0 .45rem}.print-card p{font-size:.88rem;line-height:1.5;color:var(--muted);margin-bottom:.7rem}.print-card .button{font-size:.8rem;min-height:40px;padding:.55rem .85rem}.empty-card{border:1px dashed #a88fa8;padding:2rem;color:var(--muted);min-height:160px}.printables-page .newsletter-wrap{padding-bottom:7rem}
@media(max-width:900px){.hero{gap:2rem}.hero-art{height:460px}.intro-grid,.about-grid{gap:3rem}.peek-grid{grid-template-columns:1fr;gap:2.5rem}.peek-copy p:not(.eyebrow){max-width:720px}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner small{grid-column:1/-1}.contact-grid{gap:2rem}.print-card{grid-template-columns:110px 1fr}}
@media(max-width:680px){.wrap{width:min(100% - 2rem,1180px)}.header-inner{min-height:84px;align-items:flex-start;flex-direction:column;justify-content:center;gap:.75rem;padding-block:1rem}.site-brand span{font-size:1.36rem}.primary-nav{gap:1.5rem}.primary-nav a{font-size:.82rem}.hero,.intro-grid,.book-grid,.newsletter,.contact-grid,.about-grid,.age-grid{grid-template-columns:1fr}.hero{min-height:0;padding-block:4.5rem;gap:3rem}.hero-copy{padding:0}.hero-art{height:auto;max-height:520px;width:min(85%,380px);margin-inline:auto}.hero-art img{height:430px}.intro-section,.book-section,.contact-section,.peek-section{padding-block:4.5rem}.intro-grid{gap:3.5rem}.portrait-frame{width:min(85%,350px);margin-inline:auto}.book-section{padding-bottom:4.5rem}.book-grid{gap:3rem}.book-visual{width:min(75%,340px)}.section-heading{margin-bottom:2.5rem}.newsletter-wrap{padding-bottom:4.5rem}.newsletter{padding:2rem}.newsletter-row{flex-direction:column}.newsletter button{min-height:48px}.contact-grid{gap:2rem}.contact-card{padding:1.4rem}.page-hero{padding-block:4rem}.about-grid{padding-bottom:4.5rem}.about-body{padding:0}.peek-grid{gap:2rem}.page-about .newsletter-wrap{padding-top:4.5rem}.legal-page,.printables-page{padding-top:4rem}.age-grid{gap:3rem;margin-bottom:4.5rem}.footer-inner{grid-template-columns:1fr}.footer-inner small{grid-column:auto}}
@media(max-width:420px){h1{font-size:3.1rem}.contact-form .field-row{grid-template-columns:1fr;gap:.3rem}.radio-row{gap:.65rem}.print-card{grid-template-columns:95px 1fr;gap:.8rem}.print-card h3{font-size:1.25rem}.print-card .button{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Supplied Nikki Marie May wordmark */
.header-inner{min-height:112px}.site-brand{display:flex;align-items:center;gap:.75rem;flex-direction:column}.brand-logo{width:160px;height:auto;display:block}.site-brand .brand-descriptor{font:650 .65rem/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.19em;color:var(--accent);margin-top:-.2rem}.footer-logo{width:180px;height:auto}.footer-brand p{font-size:.82rem;margin:.15rem 0}.primary-nav{flex-wrap:wrap}.newsletter-row input:disabled,.contact-form input:disabled,.contact-form textarea:disabled{background:#f1f1ed}.button:disabled,.newsletter button:disabled{opacity:.65;cursor:not-allowed;transform:none}.integration-note{font-size:.82rem;color:#d9e0df;margin:1rem 0 0}.contact-form .integration-note{color:var(--muted)}@media(max-width:680px){.header-inner{min-height:0}.brand-logo{width:140px}.site-brand{align-items:flex-start}.primary-nav{gap:1rem}.footer-logo{width:160px}}
.newsletter-honeypot{position:absolute;left:-5000px}.mailchimp-badge{display:inline-block;background:#fff;padding:.35rem .5rem;margin-top:1rem}.mailchimp-badge img{width:180px;height:auto;display:block}

.book-visual .title-page-art{aspect-ratio:auto;height:auto;object-fit:contain}.book-visual .title-page-note{position:static;display:block}

.home-opening .hero{padding-bottom:6rem}.author-statement{padding-block:0 2rem;text-align:center}.author-statement::before{content:"";display:block;width:70px;border-top:3px solid var(--marigold);margin:0 auto 2rem}.author-statement h2{font-size:clamp(2.1rem,3.5vw,3.55rem);max-width:900px;margin:0 auto 1.3rem}.author-statement p{font:400 clamp(1.18rem,1.8vw,1.5rem)/1.55 Georgia,"Times New Roman",serif;color:var(--ink-2);max-width:800px;margin:0 auto}@media(max-width:680px){.home-opening .hero{padding-bottom:4rem}.author-statement{padding-bottom:1.5rem}}

.age-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}@media(max-width:1000px){.age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.age-grid{grid-template-columns:1fr}}

.printables-cta{background:#f0eaf0;border-top:4px solid var(--marigold);padding:clamp(2rem,4vw,3.5rem);text-align:center}.printables-cta .eyebrow{margin-bottom:.75rem}.printables-cta h2{font-size:clamp(2rem,3.3vw,3.3rem);max-width:900px;margin:0 auto}
.contact-form .form-status{margin:1rem 0 0;padding:0;border:0;background:none;font-size:.95rem;font-weight:650;line-height:1.5}.contact-form .form-status.success{color:var(--accent);background:none}.contact-form .form-status.error{color:#9b3f36;background:none}
