:root{--ink:#20384f;--muted:#465e6d;--cream:#fff9ef;--teal:#075d57;--yellow:#ffd36e;--line:#dedbd1;--radius:24px;--shadow:0 14px 42px #20384f13}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 ui-sans-serif,system-ui,sans-serif}img{display:block;max-width:100%}a{color:var(--teal);text-underline-offset:.22em}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a24327;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.04;letter-spacing:-.045em}h2{font-size:clamp(2.05rem,5vw,4.25rem)}h3{font-size:1.35rem}p{color:var(--muted)}.shell{width:min(1360px,calc(100% - 72px));margin:auto}.section{padding-block:clamp(56px,8vw,112px)}.intro{margin-bottom:32px;max-width:820px}.intro p{margin:14px 0;max-width:62ch}.eyebrow{display:inline-block;font-size:.72rem;font-weight:850;letter-spacing:.13em;margin-bottom:12px;text-transform:uppercase}.pill{background:#f4e8cc;padding:8px 14px;border-radius:100px}.tint{background:#f4f0e5;border-block:1px solid #e9e2d5}.skip{position:fixed;left:12px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:12px}.scroll-progress{height:3px;background:#ff806e;width:0;position:fixed;z-index:12;top:0}
header{position:sticky;top:0;z-index:10;background:#fff9eff5;backdrop-filter:blur(12px);border-bottom:1px solid #eae2d2}.nav{min-height:75px;display:flex;align-items:center;gap:16px;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-weight:900;line-height:1.15;flex-shrink:0}.brand small,.hero-art small{display:block;font-weight:600;font-size:.7rem;margin-top:4px}.nav nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 9px}.nav nav a{font-size:.78rem;color:var(--ink);text-decoration:none;font-weight:750}.nav nav a:hover{text-decoration:underline}.nav>.button{flex-shrink:0;font-size:.8rem}#menu{display:none}.button{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:46px;text-decoration:none;font-weight:800;border:1px solid transparent;border-radius:100px;padding:10px 18px;text-align:center;line-height:1.2;transition:transform .2s,box-shadow .2s}.button:hover,.world:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.primary,.amazon{background:var(--teal);color:white}.outline{border-color:#70818b;background:transparent;color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0 14px}.textlink{display:inline-block;font-weight:800;margin-top:8px}
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(26px,5vw,90px);align-items:center;padding-block:clamp(34px,7vw,96px)}.hero h1{font-size:clamp(2.6rem,5.5vw,5.7rem);font-weight:900;letter-spacing:-.075em;margin:4px 0 21px}.hero h1 em{font-style:normal;color:var(--teal)}.hero-lede{font-size:clamp(1.05rem,2vw,1.34rem);font-weight:830;color:var(--ink);line-height:1.3;margin-bottom:10px}.hero-copy>p{max-width:53ch}.hero-art{position:relative;border-radius:32px;overflow:hidden;box-shadow:0 26px 62px #223b4d22;background:#9ed7cf;transform:rotate(1.2deg)}.hero-art img:not(figcaption img){width:100%;height:auto;aspect-ratio:1.26;object-fit:cover}.hero-art figcaption{position:absolute;bottom:17px;left:17px;display:flex;align-items:center;gap:9px;padding:9px 14px 9px 9px;border-radius:15px;background:#fff9eff2;font-weight:900;font-size:.72rem;line-height:1.15;letter-spacing:.06em;animation:float 5s ease-in-out infinite}.hero-art small{letter-spacing:0}.benefit-wrap{background:#20384f;color:white}.benefits{display:grid;grid-template-columns:repeat(5,1fr);padding:20px 0;gap:12px}.benefits div{display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-content:center}.benefits span{grid-row:span 2;color:var(--yellow);font-size:1.3rem}.benefits strong{font-size:.86rem}.benefits small{font-size:.72rem;color:#e8eef3}
.worlds,.books,.activities,.printables,.checklist{display:grid;gap:16px}.worlds{grid-template-columns:repeat(4,1fr)}.world{display:flex;flex-direction:column;text-align:left;background:var(--tone);border:0;border-radius:var(--radius);padding:16px;min-width:0;transition:transform .2s,box-shadow .2s}.world img{width:100%;height:130px;object-fit:contain}.world strong{font-size:1.13rem}.world small{font-size:.84rem}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #a8aaa0;border-radius:100px;background:white;padding:8px 14px;min-height:44px;font-weight:700;font-size:.88rem}.filters [aria-pressed=true]{color:white;background:var(--ink);border-color:var(--ink)}#catalog-count{font-size:.85rem;margin:12px 0}.books{grid-template-columns:repeat(4,1fr)}.book,.map-detail,.inside-result,.print,.activities article,.quiz-panel,.checklist label{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.book{display:flex;flex-direction:column}.art{position:relative;background:var(--tone);padding:16px 12px 27px}.art img{width:100%;height:148px;object-fit:contain}.art span{position:absolute;bottom:7px;right:12px;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.bookbody{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:17px;gap:9px}.bookbody .eyebrow{margin:0;font-size:.63rem}.bookbody p,.map-detail p,.inside-result p{font-size:.92rem}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.tags span{background:#f2efe5;border-radius:100px;padding:3px 8px;font-size:.69rem;font-weight:750}.bookbody .button{margin-top:auto;font-size:.8rem;width:100%}
.map-layout,.quiz-layout,.travel,.faq-layout{display:grid;grid-template-columns:1.55fr 1fr;align-items:start;gap:24px}.atlas{background:linear-gradient(15deg,#153a4299,#153a4233),url(assets/hero.webp) center/cover;border-radius:var(--radius);position:relative;min-height:400px;overflow:hidden}.map-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.stop{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:2px solid white;background:var(--tone);border-radius:100%;width:46px;height:46px;font-weight:900;box-shadow:0 4px 12px #17283180}.stop[aria-pressed=true]{background:var(--ink);color:white;scale:1.14}.stop:hover{scale:1.1}.map-detail .bookbody{padding:22px}.map-detail .art img{height:160px}.quiz-section{background:#bfe4db}.quiz-layout{grid-template-columns:1fr 1fr;align-items:center}.quiz-layout p,.travel p,.faq-layout p,.closing p{margin:14px 0}.quiz-panel{padding:24px}.quiz-panel h3{margin:10px 0}.quiz-panel progress,.check-head progress{width:100%;accent-color:var(--teal)}.answers{display:grid;gap:7px}.answers button{background:#f4f0e5;border:1px solid var(--line);border-radius:10px;min-height:45px;text-align:left;padding:7px 12px}.answers button:hover{background:#e5f4ed}.result-list{display:grid;gap:10px;margin-bottom:15px}.result-list article{padding:11px 0;border-bottom:1px solid var(--line)}.result-list strong,.result-list small{display:block}.result-list small{margin:5px 0}.select-label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:750}.select-label select{max-width:100%;min-height:45px;padding:8px;background:white;border:1px solid var(--line);border-radius:12px}.inside-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);max-width:780px;margin-top:15px}.inside-result .peek{height:100%;border-radius:0}.inside-result .button{width:auto}.printables{grid-template-columns:repeat(5,1fr)}.print{padding:12px}.peek{width:100%;background:#fbf8ef;border:1px solid #dedbd1;border-radius:14px;padding:9px;display:grid;place-items:center}.peek img{width:100%;max-height:160px}.print h3{font-size:1rem;margin:12px 0 5px}.print a{font-size:.85rem;font-weight:800;display:inline-block;padding-block:8px}
.activities{grid-template-columns:repeat(3,1fr)}.activities article{padding:22px}.activities article p{margin-top:10px}.activities article a{display:inline-block;margin-top:9px;font-weight:800}.travel{grid-template-columns:1fr 1fr;align-items:center}.travel-image{min-height:300px;background:#a9ddf5 url(assets/hero.webp) 30% 25%/cover;border-radius:var(--radius)}.check-head{display:grid;grid-template-columns:1fr 2fr auto;gap:14px;align-items:center;margin-bottom:20px}.check-head label{font-weight:800}.checklist{grid-template-columns:repeat(3,1fr)}.checklist label{padding:14px;font-weight:750;font-size:.89rem}.checklist select{display:block;width:100%;padding:7px;margin-top:5px;border-radius:9px;min-height:42px;border:1px solid var(--line);background:#faf7ef}.faq-layout{grid-template-columns:1fr 1.5fr}.faq-layout details,footer details{padding:10px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:800;min-height:32px}.closing{padding:85px 0;text-align:center;background:linear-gradient(125deg,#ffdc86,#fdb9aa 64%,#cac6f1)}.closing .actions{justify-content:center}.closing p{color:var(--ink)}footer{background:#20384f;color:white;padding:34px 0}.footer-top{display:flex;gap:26px;justify-content:space-between;align-items:start}.footer-top a,footer p{color:#fff9ef}.footer-top nav{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:.82rem;max-width:65ch}.copyright{font-size:.76rem;margin-top:12px}dialog{border:0;border-radius:20px;width:min(620px,92vw);padding:22px;background:var(--cream);color:var(--ink);box-shadow:var(--shadow);max-height:90vh}dialog::backdrop{background:#182b41a6}dialog form{text-align:right}dialog img{max-height:45vh;margin:12px auto}dialog h2{font-size:2rem}
@keyframes float{50%{transform:translateY(-5px)}}
@media(max-width:1130px){.shell{width:calc(100% - 48px)}.books{grid-template-columns:repeat(3,1fr)}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:14px 24px;border-bottom:1px solid var(--line)}.nav nav.open{display:grid;grid-template-columns:1fr 1fr}.nav nav a{padding:9px;font-size:.9rem}#menu{display:block;margin-left:auto;min-height:44px;border:1px solid var(--line);border-radius:100px;background:white;padding:6px 12px}}
@media(max-width:800px){.hero{grid-template-columns:1fr 1fr;gap:17px}.worlds,.books,.printables,.activities,.checklist{grid-template-columns:repeat(2,1fr)}.benefits{grid-template-columns:repeat(3,1fr)}.faq-layout,.map-layout{grid-template-columns:1fr}.map-detail{display:grid;grid-template-columns:1fr 1.7fr}.atlas{min-height:350px}}
@media(max-width:650px){.shell{width:calc(100% - 32px)}.nav{gap:8px;min-height:68px}.brand{font-size:.85rem}.brand img{width:35px;height:35px}.nav>.button{display:none}.hero{grid-template-columns:1fr}.hero-art{transform:none;border-radius:22px}.hero-art img:not(figcaption img){aspect-ratio:1.43}.benefits{grid-template-columns:1fr 1fr}.benefits small{line-height:1.3}.books{grid-template-columns:1fr}.quiz-layout,.travel,.faq-layout{grid-template-columns:1fr}.map-detail,.inside-result{grid-template-columns:1fr}.map-detail .art img{height:120px}.atlas{min-height:300px}.stop{width:44px;height:44px}.check-head{grid-template-columns:1fr auto}.check-head progress{grid-row:2;grid-column:1/-1}.checklist,.activities{grid-template-columns:1fr}.world img{height:95px}.footer-top{flex-direction:column}.closing{padding:55px 0}.travel-image{min-height:210px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Product-led storefront */
.hero{grid-template-columns:1.02fr 1fr}
.hero h1{font-size:clamp(2.6rem,5.6vw,5.65rem)}
.hero-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.hero-badges span{background:#f1e8d1;border-radius:999px;padding:5px 10px;font-weight:800;font-size:.74rem}
.hero .primary,.closing .primary{background:#ffd36e;color:#23354b}
.hero .primary:hover,.closing .primary:hover{background:#ffbf43}







.picks-section{padding-bottom:clamp(28px,3vw,45px)}
.picks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pick{display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}
.pick-copy{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:1}
.pick-copy .eyebrow{border-radius:100px;background:var(--tone);padding:5px 10px;margin:0;letter-spacing:.075em}
.pick-copy p{margin-bottom:6px}
.pick-copy .button{margin-top:auto}
.cover-stage{background:radial-gradient(ellipse at 40% 40%,#fff9efb0,transparent 72%),var(--tone);padding:22px 16px 30px;display:grid;place-items:center;min-height:238px;perspective:900px}
.paperback{position:relative;display:inline-block;border-radius:3px 2px 2px 3px;transform:rotate(-7deg) rotateY(-13deg);filter:drop-shadow(10px 15px 12px #20384f50);transition:transform .25s ease}
.paperback::after{content:"";position:absolute;inset:0 -4px 0 auto;width:5px;border-radius:0 2px 2px 0;background:repeating-linear-gradient(to right,#f4eddd 0 1px,#ddd5c3 1px 2px);z-index:-1}
.cover-stage .paperback img{width:auto;height:clamp(157px,18vw,232px);max-width:100%;object-fit:contain;border-radius:inherit}
.book:hover .paperback,.pick:hover .paperback{transform:rotate(-2deg) rotateY(0) translateY(-4px)}
.book .cover-stage{min-height:0}
.book .cover-stage .paperback img{height:clamp(155px,16vw,210px)}
.bookbody .amazon,.pick-copy .amazon{background:#ffda82;color:#20384f}
.bookbody .amazon:hover,.pick-copy .amazon:hover{background:#ffca50}
.sample-banner{background:#20384f;color:white}
.sample-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(22px,5vw,72px)}
.sample-copy .eyebrow{color:#ffd36e}
.sample-copy p{color:#edf2f6;margin-top:15px;max-width:55ch}
.sample-copy .primary{background:#ffd36e;color:#20384f}
.sample-copy .outline{border-color:#fff9ef;color:#fff9ef}
.sample-visual{position:relative;isolation:isolate;min-width:0}
.sample-visual>img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:22px;background:#9bd1c3}
.sample-sheet{position:absolute;top:14%;right:6%;width:33%;padding:10px 10px 14px;border-radius:3px;background:#fffdf5;color:#20384f;transform:rotate(8deg);box-shadow:7px 13px 23px #18252f80;text-align:center}
.sample-sheet strong,.sample-sheet small{display:block;line-height:1.25}
.sample-sheet strong{font-size:clamp(.72rem,1.4vw,1rem)}
.sample-sheet small{font-size:clamp(.48rem,.9vw,.66rem);font-weight:800;margin:4px 0}
.sample-visual figcaption{font-size:.75rem;margin-top:8px;color:#e4eef2}
@media(max-width:800px){.picks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-layout{gap:20px}}
@media(max-width:650px){.hero,.sample-layout{grid-template-columns:1fr}.picks-grid{grid-template-columns:1fr}.pick-copy{padding:18px}.cover-stage{min-height:220px}.hero-art figcaption{bottom:10px;left:10px}}
@media(prefers-reduced-motion:reduce){}
.closing-covers{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;max-width:960px;margin:24px auto 28px}
.closing-covers a{border-radius:3px;overflow:hidden;box-shadow:0 8px 15px #20384f35;transition:transform .2s}
.closing-covers a:hover{transform:translateY(-4px)}
.closing-covers img{width:100%;height:100%;object-fit:cover;aspect-ratio:0.77}
.quiz-result{display:flex;align-items:start;gap:12px}
.quiz-result>img{width:64px;height:auto;border-radius:3px}
@media(max-width:750px){.closing-covers{grid-template-columns:repeat(5,minmax(0,1fr));max-width:500px}}
@media(prefers-reduced-motion:reduce){.closing-covers a{transition:none}}

/* Illustrated covers set against full-bleed travel photography. */
.hero-campaign{display:block;background:#102c2d;padding:0;isolation:isolate;position:relative;color:#fff9ef;overflow:hidden}
.hero-campaign::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b2a2a 0%,#0b2a2af0 33%,#0b2a2a63 66%,#0b2a2a35 100%),linear-gradient(0deg,#081f24bd,transparent 42%),url(assets/lifestyle.webp) 65% center/cover}
.hero-layout{padding-block:clamp(42px,5vw,86px)}
.hero-layout .hero-copy{max-width:540px}
.hero-campaign h1{font-size:clamp(2.8rem,5.5vw,5.9rem);line-height:.97}
.hero-campaign h1 em,.hero-campaign .textlink{color:#ffda82}
.hero-campaign p{color:#f2f4ea}
.hero-campaign .pill{background:#ffda82;color:#172c31}
.hero-campaign .outline{color:#fff9ef;border-color:#fff9ef8f;background:#0b2a2a80}
.hero-campaign .hero-badges{gap:7px;margin:22px 0}
.hero-campaign .hero-badges span{display:inline-flex;align-items:center;gap:7px;background:#102e2e;border:1px solid #fff9ef56;color:#fff9ef;padding:5px 10px 5px 5px}
.hero-badges b{display:grid;place-items:center;background:#baf0d9;color:#133a36;min-width:30px;min-height:30px;padding-inline:4px;border-radius:50%;font-size:.8rem}











.picks-section .intro{max-width:880px}
.picks-grid{gap:clamp(12px,1.7vw,26px)}
.campaign{position:relative;isolation:isolate;min-height:495px;display:flex;justify-content:flex-end;border:0;background:#123d38;color:white}
.campaign-photo{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0a2527 5%,#0a2527f0 30%,#0a252749 64%,transparent 90%),var(--campaign-image) center/cover}
.campaign-road{--campaign-image:url(assets/campaign-road.webp)}
.campaign-park{--campaign-image:url(assets/campaign-park.webp)}
.campaign-beach{--campaign-image:url(assets/campaign-beach.webp)}
.campaign-photo .cover-stage{background:none;min-height:0;position:absolute;inset:15px 0 auto;padding:13px 20px;perspective:1100px}
.campaign-photo .cover-stage>span{display:none}
.campaign-photo .paperback{transform:rotate(-8deg) rotateY(-13deg);filter:drop-shadow(12px 18px 14px #071b21b0)}
.campaign-park .paperback{transform:rotate(5deg) rotateY(10deg)}
.campaign-beach .paperback{transform:rotate(8deg) rotateY(-12deg)}
.campaign-photo .cover-stage .paperback img{height:clamp(216px,21vw,284px)}
.campaign .pick-copy{position:relative;flex:0;padding:24px;gap:9px}
.campaign .campaign-badge{background:#ffdb85;color:#142f32;box-shadow:0 3px 12px #0004}
.campaign-park .campaign-badge{background:#c6f1a5}
.campaign-beach .campaign-badge{background:#ffc6aa}
.campaign h3{font-size:clamp(1.6rem,2.8vw,2.85rem);letter-spacing:-.05em}
.campaign p{color:#f3f5ee;margin:0 0 5px}
.campaign .button{font-size:.86rem}
#worlds{padding-block:36px 54px}
#worlds .intro{margin-bottom:20px}
#worlds h2{font-size:clamp(1.8rem,3vw,2.7rem)}
#worlds .world{border:1px solid #20384f20;padding:14px 16px;min-height:80px;justify-content:center}
#worlds .world strong{display:flex;justify-content:space-between;gap:8px;width:100%}
.book .cover-stage{min-height:246px;padding:20px 15px 27px;background:radial-gradient(ellipse at 45% 43%,#fff9ef,transparent 75%),var(--tone)}
.book .cover-stage .paperback img{height:clamp(183px,18vw,252px)}
.book .cover-stage>span{background:#fff9efeb;padding:3px 8px;border-radius:999px}
.closing{background:radial-gradient(ellipse at 30% 10%,#367761,transparent 60%),#153c3a;color:#fff9ef}
.closing p,.closing .outline{color:#fff9ef}.closing .outline{border-color:#fff9ef9a}
.closing-covers{gap:clamp(5px,1vw,14px);max-width:1120px}
.closing-covers a{box-shadow:0 10px 15px #071f2b90;transform:rotate(-3deg)}
.closing-covers a:nth-child(even){transform:rotate(3deg) translateY(5px)}
@media(max-width:900px){.campaign .pick-copy{padding:19px}.campaign{min-height:440px}}
@media(max-width:650px){.hero-layout{padding-block:35px 24px}.hero-campaign::before{background:linear-gradient(180deg,#0b2a2a 2%,#0b2a2ae8 38%,#0b2a2a52 77%,#0b2a2a9a 100%),url(assets/lifestyle.webp) 55% bottom/cover}.hero-campaign h1{font-size:clamp(2.7rem,10vw,4rem)}.campaign{min-height:470px}.campaign-photo .cover-stage .paperback img{height:252px}.book .cover-stage .paperback img{height:230px}}
@media(prefers-reduced-motion:reduce){}
.campaign{min-height:575px}
.campaign .pick-copy{background:linear-gradient(0deg,#0a2527 52%,#0a2527e8 83%,#0a2527ba);min-height:220px}
@media(max-width:900px){.campaign{min-height:510px}}
@media(max-width:650px){.campaign{min-height:535px}}

/* Cinema hero and glass surfaces */
header{background:#fff9efe8;backdrop-filter:saturate(135%) blur(18px)}
.scroll-progress{height:4px;background:linear-gradient(90deg,#2fe0ac,#ffd36e,#ff9079);box-shadow:0 1px 8px #36ceaa65}
.hero-campaign{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:calc(100svh - 75px)}
.hero-campaign::before{z-index:0;background:linear-gradient(90deg,#071e22ef 0%,#09282adf 32%,#102d304e 69%,#0c262a45),linear-gradient(0deg,#071a22a8,transparent 44%);pointer-events:none}
.hero-campaign{background:#102c2d url(assets/lifestyle.webp) 65% center/cover}
.hero-layout{position:relative;z-index:1}
.hero-film{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:right top;opacity:0;pointer-events:none;transition:opacity .55s ease}
.hero-film.is-playing{opacity:1}
.hero-campaign::before{z-index:1}
.hero-layout{z-index:2}
.film-toggle{position:absolute;z-index:3;right:clamp(14px,3vw,38px);bottom:14px;border:1px solid #fff9ef88;border-radius:100px;background:#09292ce0;color:white;font-weight:750;padding:7px 12px;min-height:44px;font-size:.8rem;backdrop-filter:blur(12px)}
.hero-campaign .hero-badges span{background:#163d3d91;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff20}

.campaign .pick-copy{background:linear-gradient(0deg,#09262af7,#0a2527d6);backdrop-filter:blur(11px);border-top:1px solid #e7fcff27}
.book{position:relative;border:1px solid #fff;background:#ffffffcf;box-shadow:0 12px 38px #20384f10;transition:transform .25s,box-shadow .25s}
.book:hover,.book:focus-within{transform:translateY(-5px);box-shadow:0 19px 40px #20384f23}
.book .cover-stage{overflow:hidden}
.book .cover-stage::before{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 42%,#ffffff77 50%,transparent 58%);transform:translateX(-47%);transition:transform .55s;pointer-events:none}
.book:hover .cover-stage::before,.book:focus-within .cover-stage::before{transform:translateX(47%)}
.book .tags span{border:1px solid #20384f16;background:#e9f4ed}
#books{background:radial-gradient(ellipse at 5% 12%,#e6f2e7 0%,transparent 36%),#f8f4e9}
.button:active,.filters button:active,.world:active{transform:scale(.98)}
[data-reveal].reveal-pending{opacity:0;transform:translateY(14px)}
[data-reveal]{transition:opacity .48s ease,transform .48s cubic-bezier(.2,.7,.3,1)}
@media(max-width:650px){.hero-campaign{min-height:calc(100svh - 68px);background-position:57% center}.hero-campaign::before{background:linear-gradient(180deg,#09272aef 0%,#09272adc 37%,#09272a48 75%,#09272a91 100%)}.hero-film{object-position:62% center}.hero-layout{padding-bottom:54px}.film-toggle{bottom:8px}.book .bookbody{padding:20px}.bookbody .amazon{min-height:48px}}
@media(prefers-reduced-motion:reduce){[data-reveal].reveal-pending{opacity:1;transform:none}.hero-film,.book,.book .cover-stage::before{transition:none}}
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:left center}

.featured-showcase {
  display: grid;
  gap: 14px;
  padding-block: 20px;
  text-align: center;
}
.featured-showcase figcaption {
  font-weight: 850;
  letter-spacing: .06em;
}
.featured-showcase figcaption small {
  display: block;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: normal;
}
.featured-covers {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  align-items: center;
  gap: clamp(8px, 1.4vw, 18px);
  width: min(100%, 1100px);
  margin-inline: auto;
}
.featured-covers a {
  display: block;
  width: min(100%, 110px);
  margin-inline: auto;
}
.featured-covers img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 3px;
  box-shadow: 0 5px 12px #132b3830;
}
.featured-covers a:hover img,
.featured-covers a:focus-visible img {
  outline: 2px solid var(--teal);
  outline-offset: 3px;
}
@media (max-width: 900px) {
  .featured-covers {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-width: 550px;
  }
}
@media (max-width: 650px) {
  .hero-campaign {
    --film-height: clamp(220px, 68vw, 390px);
    min-height: 0;
    padding-top: var(--film-height);
    background: #102c2d;
  }
  .hero-campaign::before,
  .hero-campaign .hero-film {
    inset: 0 0 auto;
    height: var(--film-height);
  }
  .hero-campaign::before {
    z-index: 0;
    background: url(assets/lifestyle.webp) center / cover;
  }
  .hero-campaign .hero-film {
    z-index: 1;
    object-position: right top;
  }
  .hero-campaign .film-toggle {
    top: calc(var(--film-height) - 54px);
    bottom: auto;
  }
  .hero-campaign .hero-layout {
    padding-bottom: 24px;
  }
}

.peek img[src$="-coloring.webp"] {
  object-fit: contain;
}
#inside-result .peek img[src$="-coloring.webp"] {
  max-height: 280px;
}
.sample-sheet img[src$="road-trip-coloring.webp"] {
  max-height: clamp(52px, 10vw, 125px);
  object-fit: contain;
}


.sample-sheet img {
  display: block;
  margin-inline: auto;
}

/* The first visit leads directly to printable activities. */
.hero-campaign {
  min-height: clamp(440px, 64svh, 640px);
}
.hero-campaign h1 {
  font-size: clamp(2.65rem, 4.7vw, 4.65rem);
  line-height: 1;
}
.hero-layout .hero-copy {
  max-width: 580px;
}
#free {
  padding-block: clamp(34px, 5vw, 74px);
}
.quick-printables {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.print {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}
.print-art {
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  padding: clamp(8px, 1.35vw, 18px);
  border: 0;
  border-bottom: 1px solid var(--line);
  background: white;
  cursor: zoom-in;
}
.print-art:focus-visible {
  outline-offset: -4px;
}
.print-art img {
  width: 100%;
  height: auto;
  max-height: 390px;
  object-fit: contain;
}
.print-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: clamp(12px, 1.6vw, 22px);
}
.print-body h3 {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.35rem);
}
.print-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin-top: auto;
}
.print-actions .button {
  min-height: 44px;
  padding: 6px 12px;
  font-size: .84rem;
}
.print-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.more-printables {
  margin-block: 18px;
}
.more-printables summary,
.book-collection summary {
  display: list-item;
  width: fit-content;
  cursor: pointer;
  padding: 10px 0;
  font-weight: 800;
  color: var(--teal);
}
.more-printables .printables {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 14px;
}
.printing-tip {
  margin: 0;
  font-size: .9rem;
}
.pdf-shop {
  background: #e8f5ef;
  border-block: 1px solid #c9dfd4;
}
.pdf-lead {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(16px, 4vw, 48px);
  margin-bottom: clamp(20px, 3vw, 34px);
}
.pdf-lead .pdf-intro {
  margin: 0;
}
.pdf-intro h2 {
  font-size: clamp(2.05rem, 4.1vw, 3.55rem);
}
.pdf-intro .eyebrow {
  color: var(--teal);
}
.pdf-lead-art,
.pdf-catalog-art {
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}
.pdf-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 6vw, 84px);
  padding: clamp(24px, 4.5vw, 60px);
  border-radius: var(--radius);
  background: #064d49;
  color: #fff;
  box-shadow: var(--shadow);
}
.pdf-feature h3 {
  max-width: 15ch;
  font-size: clamp(1.95rem, 4vw, 3.6rem);
}
.pdf-feature p {
  max-width: 48ch;
  margin-block: 14px 20px;
  color: #e1f2ea;
}
.pdf-bundle-button {
  background: var(--yellow);
  color: var(--ink);
}
.pdf-bundle-button:hover {
  background: #ffe198;
}
.pdf-bundle-button:focus-visible {
  outline-color: #fff;
}
.pdf-steps {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 20px 20px 20px 44px;
  border: 1px solid #76a49a;
  border-radius: 18px;
  background: #ffffff0e;
}
.pdf-steps li::marker {
  color: var(--yellow);
  font-weight: 800;
}
.pdf-steps span {
  display: block;
  color: #e1f2ea;
  font-size: .9rem;
}
.pdf-catalog {
  margin-top: clamp(24px, 4vw, 46px);
}
.pdf-catalog h3 {
  font-size: clamp(1.5rem, 2.6vw, 2rem);
}
.pdf-catalog p {
  margin-block: 8px 15px;
}
.pdf-catalog-art {
  margin-bottom: 16px;
}
.pdf-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pdf-edition {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 100%;
  padding: 13px 16px;
  border: 1px solid #bed9cc;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
}
.pdf-edition:hover {
  border-color: var(--teal);
}
.pdf-edition:hover .pdf-edition-action {
  text-decoration: underline;
}
.pdf-edition strong,
.pdf-edition small {
  display: block;
  line-height: 1.35;
}
.pdf-edition small {
  margin-top: 4px;
  color: var(--muted);
}
.pdf-edition-action {
  flex-shrink: 0;
  color: var(--teal);
  font-size: .85rem;
  font-weight: 800;
}
.pdf-extras .pdf-edition {
  border-color: #d8c590;
  background: #fff7de;
}
.pdf-extras .pdf-edition:hover {
  border-color: var(--teal);
}
.pdf-edition-with-cover {
  display: grid;
  grid-template-columns: clamp(88px, 19vw, 128px) minmax(0, 1fr);
  gap: clamp(12px, 2.4vw, 24px);
  padding: clamp(12px, 2vw, 18px);
}
.pdf-edition-with-cover img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 4px 10px #10292326;
}
.pdf-edition-with-cover strong {
  font-size: clamp(1.03rem, 2vw, 1.35rem);
}
.pdf-edition-with-cover .pdf-edition-action {
  display: block;
  margin-top: 10px;
}
#activities .textlink {
  display: inline-block;
  margin-top: 12px;
}
.gift-guide,
.book-collection {
  margin-top: clamp(28px, 4vw, 52px);
}
.gift-guide h3 {
  margin-bottom: 14px;
}
.book-collection .check-head {
  margin-block: 12px;
}
.passport-progress {
  grid-template-columns: max-content minmax(0, 1fr);
}
.passport-cards .passport-card {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.passport-card img {
  width: 58px;
  height: 74px;
  object-fit: contain;
}
.passport-card strong,
.passport-choice {
  display: block;
}
.passport-choice {
  margin-top: 7px;
  font-weight: 600;
}
.passport-choice input {
  width: 20px;
  height: 20px;
  accent-color: var(--teal);
  vertical-align: middle;
}
@media (max-width: 650px) {
  .hero-campaign {
    min-height: 0;
  }
  .hero-campaign h1 {
    font-size: clamp(2.3rem, 8vw, 3.35rem);
  }
  .hero-layout .hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-actions {
    order: -1;
    margin-top: 0;
  }
  .quick-printables,
  .more-printables .printables {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pdf-lead,
  .pdf-feature,
  .pdf-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 480px) {
  .quick-printables,
  .more-printables .printables {
    grid-template-columns: minmax(0, 1fr);
  }
}
