/* Seasonal page palettes. */
body[data-season=christmas] .page-head.section-head-green{background:radial-gradient(ellipse at 50% 0,#356348,transparent 70%),#193f2d!important}
body[data-season=christmas] .page-head.section-head-white{background:#fffdf9!important;border-bottom-color:#d9c4a1}
body[data-season=christmas] .section-head-white h1,body[data-season=christmas] .section-head-white h1 em{color:#254b3d}
body[data-season=christmas] .section-head-white p{color:#486153}
body[data-season=christmas] .section-head-white .eyebrow{color:#a43c43}
body[data-season=christmas] .section-head-white .fantasy-stars span,body[data-season=christmas] .section-head-white .flourish{color:#a77b37}
body[data-season=christmas] .page-head.section-head-red{background:radial-gradient(ellipse at 50% 0,#bd5358,transparent 75%),#8f2933!important;border-bottom-color:#dcb977}
body[data-season=christmas] .section-head-red .eyebrow{color:#ffe3ad}
body[data-season=christmas] .section-head-red p{color:#fff3e4}
/* Trim the loose decorative strip and vertical space between home sections. */
body[data-season=christmas] .statement{padding:48px 8%}
body[data-season=christmas] .statement:before,body[data-season=christmas] .statement:after{display:none}
body[data-season=christmas] .statement .eyebrow{margin-bottom:15px}
.christmas-products.section{padding-top:42px}
.christmas-products:before{display:none}
.christmas-products .section-top{padding-top:0}
/* A friendly character sharing the edge of the form. */
.contact-with-besi{padding-top:48px;gap:0;grid-template-columns:.85fr 1.15fr;position:relative;align-items:center}
.contact-with-besi>aside{position:relative;padding-right:28px}
.contact-with-besi h1{font-family:'Questrial',Arial,sans-serif;font-size:clamp(38px,4.2vw,60px);line-height:1.12;letter-spacing:-1.5px}
.contact-with-besi>aside>p{max-width:390px}
.contact-with-besi #contact-form{position:relative;z-index:2;box-shadow:0 12px 35px #66517c12}
.besi-companion{position:relative;width:calc(100% + 65px);max-width:480px;margin:8px -65px -12px 0;z-index:3;pointer-events:none}
.besi-companion img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 10px 12px #8f54751a)}
.besi-bubble{position:absolute;left:0;bottom:18px;background:#fff8ed;padding:10px 18px;border:1px solid #efd6df;border-radius:24px;color:#8e4968;font-size:14px}
.contact-thanks[hidden]{display:none}
.contact-thanks{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:30px;padding:35px 20px;min-height:500px;text-align:left}
.contact-thanks img{width:40%;max-width:340px;height:auto;max-height:430px;object-fit:contain;animation:besi-hello 1s ease-out}
.contact-thanks h2{font-size:clamp(34px,4vw,52px)}
.contact-thanks p{font-size:19px}.contact-thanks .text-link{display:block;width:fit-content;margin-top:25px}
.contact-with-besi.is-sent>aside,.contact-with-besi.is-sent>#contact-form{display:none}
@keyframes besi-hello{from{transform:translateY(14px) scale(.95);opacity:0}to{transform:none;opacity:1}}
/* Lightweight loading cue: never covers content or delays navigation. */
.forest-loading{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:150;pointer-events:none;display:flex;align-items:center;gap:10px;border:1px solid #e6d2e2;border-radius:30px;background:#fffaf3f2;color:#76517d;box-shadow:0 5px 22px #3c2a3812;padding:10px 20px;font:14px 'Roboto',Arial,sans-serif;white-space:nowrap;animation:loading-dismiss .3s 2.5s forwards}
.forest-loading>span{font-size:24px;color:#c97195;animation:mimo-pulse .9s ease-in-out infinite}
.forest-loading i{width:6px;height:6px;border-radius:50%;background:#d4b471;animation:mimo-pulse .7s ease-in-out infinite alternate}
.forest-loading.is-ready{animation:loading-dismiss .25s forwards}
@keyframes mimo-pulse{50%{transform:scale(1.2);opacity:.55}}
@keyframes loading-dismiss{to{opacity:0;visibility:hidden}}
@media(max-width:760px){
 .contact-with-besi{grid-template-columns:1fr;padding-top:32px;gap:0}
 .contact-with-besi>aside{padding-right:0}
 .besi-companion{width:180px;margin:0 auto -30px;max-height:210px}
 .besi-companion img{max-height:210px}.besi-bubble{left:140px;bottom:75px;max-width:150px;font-size:12px;padding:8px 12px}
 .contact-with-besi #contact-form{padding:30px 22px}
 .contact-thanks{flex-direction:column;text-align:center;gap:12px;padding:20px 0}
 .contact-thanks img{width:65%;max-height:300px}.contact-thanks .text-link{margin:24px auto 0}
 body[data-season=christmas] .statement{padding:30px 7%}.christmas-products.section{padding-top:30px}
}
@media(max-width:400px){.besi-bubble{left:125px;max-width:110px}}
@media(prefers-reduced-motion:reduce){.forest-loading>span,.forest-loading i,.contact-thanks img{animation:none}}
.amazon-shop-button{gap:14px}.amazon-shop-button img{width:82px;height:30px;object-fit:contain;filter:none}
body[data-season=christmas] .page-head.shop-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:4%;text-align:left;padding:88px 7% 48px;border-radius:0 0 48px 48px;background:radial-gradient(ellipse at 85% 40%,#eadff1,transparent 50%),radial-gradient(ellipse at 15% 100%,#f8e5cf,transparent 60%),#fffdf9!important}
body[data-season=christmas] .shop-hero h1{font-size:clamp(40px,4.5vw,65px);max-width:650px;color:#254b3d}
body[data-season=christmas] .shop-hero h1 em{color:#a83d48}
body[data-season=christmas] .shop-hero p{margin:22px 0 26px;max-width:510px;color:#526854;font-size:18px}
body[data-season=christmas] .shop-hero .eyebrow{color:#a83d48;font-size:10px;line-height:1.7}
.shop-note{display:block;margin-top:20px;color:#6a6577;font-size:12px;letter-spacing:.3px}
.shop-hero-books{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;padding:15px 0 25px;min-width:0}
.shop-book{display:block;position:relative;width:47%;max-width:230px;transform:rotate(-8deg);transition:transform .3s}
.shop-book img{display:block;width:100%;height:auto;filter:drop-shadow(10px 18px 13px #5f3e5e33);border-radius:3px}
.shop-book-two{transform:rotate(8deg);margin-top:40px;width:42%;max-width:190px}
.shop-book:hover,.shop-book:focus-visible{transform:rotate(0) translateY(-5px)}
.shop-book>span{display:block;width:max-content;max-width:115%;margin:18px auto 0;padding:7px 12px;border-radius:30px;background:#fffdf9;color:#865e8c;font-size:11px;text-align:center;box-shadow:0 4px 12px #684e6010}
.shop-spark{position:absolute;color:#c49a53;font-size:42px}.shop-spark-one{top:-6px;right:8%}.shop-spark-two{bottom:6px;left:5%;color:#ba6687}
.simple-sum{background:#fff9ef;padding:16px 18px;border-radius:16px;color:#4b6454}.simple-sum strong{font-weight:600;display:block;margin:4px 0 8px}
#contact-form .simple-sum input{max-width:160px;margin-top:0}
@media(max-width:760px){body[data-season=christmas] .page-head.shop-hero{grid-template-columns:1fr;gap:24px;padding:76px 7% 36px;border-radius:0 0 30px 30px}.shop-hero-books{max-width:390px;width:100%;margin:auto}.shop-book{max-width:155px}.shop-book-two{max-width:135px}body[data-season=christmas] .shop-hero p{font-size:16px}.amazon-shop-button{gap:10px;flex-wrap:wrap}.amazon-shop-button img{width:68px;height:25px}}
@media(prefers-reduced-motion:reduce){.shop-book{transition:none}}
.statement-snow{position:relative;overflow:hidden;isolation:isolate}
.statement-snow>.seasonal-snow{z-index:0}
.statement-snow>.eyebrow,.statement-snow>h2{position:relative;z-index:1}
.statement-snow .seasonal-snow span{animation-name:statement-snow-fall}
@keyframes statement-snow-fall{to{transform:translate3d(24px,480px,0)}}
.home-compact>.intro.section{padding-top:48px;padding-bottom:42px}
.home-compact>.home-characters.section{padding-top:42px;padding-bottom:36px}
.home-compact>.family.section{margin-top:20px;margin-bottom:20px;padding-top:40px;padding-bottom:40px}
.home-compact>.professional.section{padding-top:40px;padding-bottom:44px}
.products .product-buy-first{display:flex;width:fit-content;max-width:100%;margin-top:22px;margin-bottom:14px;padding:13px 18px;gap:10px;font-size:14px}
.products .product-buy-first img{width:66px;height:25px;flex-shrink:0}
.products .product-buy-first+small{margin-top:12px}
@media(max-width:760px){
 .home-compact>.intro.section{padding-top:32px;padding-bottom:30px}
 .home-compact>.home-characters.section{padding-top:30px;padding-bottom:24px}
 .home-compact>.family.section{margin-top:12px;margin-bottom:12px;padding-top:30px;padding-bottom:30px}
 .home-compact>.professional.section{padding-top:28px;padding-bottom:32px}
 .products .product-buy-first{font-size:13px;padding:12px 16px;gap:8px;flex-wrap:wrap}
}
/* A real padded row keeps the purchase action clear of the cover on every layout. */
.products .product-purchase-space{padding:30px 0 22px;clear:both}
.products .product-purchase-space .product-buy-first{margin:0}
.products .product-purchase-space+small{margin-top:0}
@media(max-width:760px){.products .product-purchase-space{padding-top:26px;padding-bottom:20px}}

/* Amazon purchase actions: readable yellow and the supplied official logo. */
body a.amazon-shop-button,body[data-season=christmas] a.amazon-shop-button,body .gift-buy-options a.gift-cta.amazon-shop-button:nth-child(n){display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#ffdf66!important;color:#171d25!important;border:1px solid #e4bc35!important;text-shadow:none;flex-wrap:nowrap;line-height:1.25;padding:14px 22px;max-width:100%;font-weight:600}
body a.amazon-shop-button:hover,body[data-season=christmas] a.amazon-shop-button:hover{background:#ffd347!important;color:#171d25!important}
body a.amazon-shop-button:focus-visible{outline:3px solid #254b3d;outline-offset:4px}
body a.amazon-shop-button img{display:block;width:82px;height:30px;object-fit:contain;filter:none;flex:0 0 82px}
body a.amazon-shop-button span{color:inherit;white-space:nowrap}
@media(max-width:400px){body a.amazon-shop-button{gap:9px;padding:13px 17px;font-size:14px}body a.amazon-shop-button img{width:72px;height:27px;flex-basis:72px}}

/* Seamless message strip: two identical, gapless halves, each wider than the viewport. */
.ribbon-marquee.ribbon{width:100%;margin:0;border-radius:0}
.ribbon-marquee .ribbon-track{display:flex;gap:0;width:max-content;animation:ribbon-slide 65s linear infinite}
.ribbon-marquee .ribbon-copy{display:flex;flex:none;gap:40px;padding:0 40px 0 0;min-width:100vw;justify-content:space-around;box-sizing:border-box}
/* A little storybook keepsake for family reading time. */
body[data-season=christmas] .home-compact>.family.section{position:relative;isolation:isolate;margin:38px 4% 36px;padding:48px 4%;border:1px solid #e7cbb8;border-radius:40px;box-shadow:0 12px 40px #80503c0a;background:radial-gradient(ellipse at 0 0,#fff7d9,transparent 65%),linear-gradient(120deg,#fff9f0,#fae9e4);gap:6%;align-items:center;overflow:hidden}
.family .family-copy{min-height:0;gap:20px;position:relative;align-items:flex-start}
.family-keepsake{display:flex;align-items:center;gap:10px;color:#a94a58;background:#fffdf8;border:1px solid #eed7c5;border-radius:30px;padding:9px 15px;font-size:20px;transform:rotate(-3deg);box-shadow:0 4px 0 #eacfc333}
.family-keepsake span{font-size:9px;letter-spacing:1.5px;font-weight:600}
.family .family-copy>.eyebrow{font-size:10px;letter-spacing:1.6px;margin:8px 0 0}
.family .family-copy h2{font-family:'Fredoka',sans-serif;font-weight:500;font-size:clamp(38px,4.2vw,60px);line-height:1.13;letter-spacing:-1px}
.family .family-copy h2 em{color:#b24050}
.family-little-stars{color:#c49350;letter-spacing:9px;font-size:20px}
.family .family-copy p{max-width:430px;font-size:16px;line-height:1.8}
.family .family-photo{min-height:460px;border:8px solid #fffdf8;border-radius:30px!important;box-shadow:0 12px 25px #7a4b3720;transform:rotate(2deg)!important}
.family .family-copy .button{margin-top:3px;background:#a44354;color:white;border-radius:30px}
@media(max-width:760px){body[data-season=christmas] .home-compact>.family.section{margin:24px 5%;padding:30px 7%;border-radius:28px;gap:28px}.family .family-copy h2{font-size:42px}.family .family-photo{min-height:0;aspect-ratio:1!important;transform:rotate(1deg)!important}.family .family-photo img{position:absolute}.ribbon-marquee .ribbon-copy{gap:24px;padding-right:24px}.ribbon-marquee .ribbon-track{animation-duration:65s}}
@media(prefers-reduced-motion:reduce){.ribbon-marquee .ribbon-track{animation:none;width:100%}.ribbon-marquee .ribbon-copy{min-width:0;width:100%;padding:0 20px;flex-wrap:wrap;gap:16px}.ribbon-marquee .ribbon-copy+.ribbon-copy{display:none}}

/* A softly lit winter clearing for the characters. */
body[data-season=christmas] .festive-characters{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 10% 15%,#ffe9c7b3,transparent 36%),radial-gradient(ellipse at 90% 65%,#eddfedb3,transparent 36%),linear-gradient(170deg,#e7f0e5,#f6f4e8 55%,#e1ecdf);border-top:1px solid #d8e2cf;border-bottom:1px solid #d8e2cf;padding-top:64px!important;padding-bottom:64px!important}
.festive-characters:before{content:'✦ · ✧ · ✦ · ✧ · ✦ · ✧ · ✦';position:absolute;top:0;left:-3%;width:106%;height:45px;border-bottom:2px solid #809a7080;border-radius:0 0 50% 50%;text-align:center;color:#c89845;font-size:25px;letter-spacing:clamp(12px,4vw,65px);line-height:42px;text-shadow:0 0 10px #fff4ba;pointer-events:none;z-index:1}
.festive-characters:after{content:'';position:absolute;bottom:-30px;left:-5%;width:110%;height:65px;border-radius:50% 50% 0 0;background:#fffdf9;pointer-events:none;z-index:1}
.festive-characters>.section-top,.festive-characters>.characters{position:relative;z-index:2}
.festive-characters .character-stage{border:3px solid #fffdf4;box-shadow:0 7px 0 #c3d1b780,0 10px 24px #43644910;background-image:radial-gradient(circle at 20% 15%,#fff9e9b3,transparent 65%)}
.festive-characters .char h3{color:#254b3d}.festive-characters .char>span{color:#985065}
.festive-characters>.seasonal-snow{z-index:3;pointer-events:none}
.festive-characters .seasonal-snow span{animation-name:character-snow-fall;opacity:.8;box-shadow:0 0 3px #adc1b2}
@keyframes character-snow-fall{to{transform:translate3d(35px,1500px,0)}}
body a.amazon-shop-button img{width:60px!important;height:22px!important;flex:0 0 60px!important}
@media(max-width:760px){body[data-season=christmas] .festive-characters{padding-top:54px!important;padding-bottom:48px!important}.festive-characters:before{font-size:20px;letter-spacing:16px}.festive-characters .character-stage{border-width:2px}body a.amazon-shop-button img{width:54px!important;height:20px!important;flex-basis:54px!important}}

/* A compact purchase button and a clear link beneath each book. */
body a.amazon-shop-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:44px;padding:11px 19px;border-radius:16px!important;background:linear-gradient(135deg,#ffe987,#ffd34f)!important;border:1px solid #efbe36!important;box-shadow:0 4px 0 #dba72b25,0 8px 18px #b88b2412;font-family:Fredoka,sans-serif;font-size:15px;line-height:1.2;text-decoration:none;box-sizing:border-box}
body a.amazon-shop-button img{position:static;transform:none;box-shadow:none;border-radius:0;align-self:center}
.christmas-gift{width:min(760px,calc(100vw - 28px))}
.christmas-gift .gift-layout{padding:36px 28px 20px}
.christmas-gift .gift-copy h2{max-width:580px;font-size:1.9rem}
.christmas-gift .gift-books{max-width:650px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.gift-product{display:flex;flex-direction:column;align-items:center;min-width:0;gap:12px}
.christmas-gift .gift-book{flex:1;width:100%;gap:14px}
.christmas-gift .gift-books .gift-book img{width:100%;max-width:154px;height:auto;aspect-ratio:1;object-fit:contain;transform:rotate(-3deg)}
.christmas-gift .gift-product:nth-child(2) .gift-book img{transform:rotate(3deg)}
.christmas-gift .gift-book span{font-size:.86rem;min-height:3.75em;max-width:190px}
body .christmas-gift a.amazon-shop-button{font-size:13px;padding:10px 12px;gap:6px;width:100%;white-space:nowrap}
body .christmas-gift a.amazon-shop-button img{width:54px!important;height:20px!important;flex:0 0 54px!important}
.christmas-gift .gift-cover-caption{margin-top:22px}
@media(max-width:580px){.christmas-gift .gift-layout{padding:38px 20px 18px}.christmas-gift .gift-copy h2{font-size:1.5rem}.christmas-gift .gift-books{grid-template-columns:1fr;gap:18px}.gift-product{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:17px;text-align:left}.christmas-gift .gift-book{display:contents}.christmas-gift .gift-books .gift-book img{grid-column:1;grid-row:1 / 3;width:90px}.christmas-gift .gift-book span{grid-column:2;min-height:0;font-size:.9rem;align-self:end}.gift-product .amazon-shop-button{grid-column:2;justify-self:start;align-self:start;max-width:190px}.christmas-gift .gift-cover{padding-top:14px}.christmas-gift .gift-copy p{font-size:.88rem}.christmas-gift .gift-cover-caption{font-size:.75rem}}
