.btn.amz{background:#FF9900;color:#1C1C1E}.btn.amz-s{font-size:16px;padding:9px 18px}
.flake{position:fixed;top:-50px;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg stroke='%23ffffff' stroke-width='3' stroke-linecap='round' fill='none'%3E%3Cpath d='M20 3v34M5 11.5l30 17M5 28.5l30-17'/%3E%3Cpath d='M15 6l5 5 5-5M15 34l5-5 5 5M6 17l7 0-3-6M34 23l-7 0 3 6M6 23l7 0-3 6M34 17l-7 0 3-6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 1.5px rgba(40,70,120,.55));will-change:transform;animation:fall linear infinite}
@keyframes fall{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(var(--sway),52vh,0) rotate(180deg)}100%{transform:translate3d(0,110vh,0) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.flake{display:none}}
.holiday{display:block;margin:22px 0 0;padding:10px 16px;border-radius:14px;border:3px solid #1C1C1E;box-shadow:4px 4px 0 #1C1C1E;background:repeating-linear-gradient(-45deg,#B3152E 0 18px,#C8283F 18px 36px);color:#fff;font-weight:800;text-decoration:none;text-align:center}
body.xmas{color:#E6EEF8;background:radial-gradient(circle at 3px 3px,rgba(255,255,255,.85) 2.2px,transparent 2.8px) 0 0/97px 83px,radial-gradient(circle at 2px 2px,rgba(255,255,255,.4) 1.4px,transparent 1.9px) 31px 47px/61px 71px,linear-gradient(180deg,#13214A 0%,#1E3A72 45%,#2C5290 100%);background-color:#1E3A72}
body.xmas header.top{border-bottom:0;position:relative;background:#fff}
body.xmas header.top::after{content:"";position:absolute;left:0;right:0;bottom:-20px;height:26px;pointer-events:none;z-index:2;
 background:radial-gradient(ellipse 7px 10px at 14px 16px,#E0383E 95%,transparent 100%),radial-gradient(ellipse 7px 10px at 44px 16px,#F2B632 95%,transparent 100%),radial-gradient(ellipse 7px 10px at 74px 16px,#2E9B5E 95%,transparent 100%),radial-gradient(ellipse 7px 10px at 104px 16px,#2BA6C9 95%,transparent 100%),linear-gradient(#2a2a2a,#2a2a2a) 0 5px/100% 2px no-repeat;
 background-size:120px 26px,120px 26px,120px 26px,120px 26px,100% 2px;background-repeat:repeat-x,repeat-x,repeat-x,repeat-x,no-repeat;filter:drop-shadow(0 0 4px rgba(255,210,90,.7))}
body.xmas .holiday{margin-top:34px;background:repeating-linear-gradient(-45deg,#B3152E 0 18px,#C8283F 18px 36px);border:3px solid #1C1C1E;box-shadow:4px 4px 0 #0B1530}
body.xmas main h1,body.xmas main h2,body.xmas main h3{color:#fff;text-shadow:3px 3px 0 #0B1530}
body.xmas main p{color:#DCE7F5}
body.xmas .hero p.lead{color:#DCE7F5}
body.xmas .hero img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
body.xmas .tag{background:#F2B632;color:#1C1C1E}
body.xmas .card,body.xmas .card p,body.xmas .card h3{color:#1C1C1E;text-shadow:none}
body.xmas .card,body.xmas .grid a,body.xmas .btn,body.xmas .pic img{box-shadow:5px 5px 0 #0B1530}
body.xmas .fact{color:#1C1C1E}
body.xmas .steps .card{border-top:10px solid #B3152E}
body.xmas .steps .card:nth-child(2){border-top-color:#1F6B45}
body.xmas .steps .card:nth-child(3){border-top-color:#F2B632}
body.xmas .steps b{color:#B3152E}
body.xmas .pager .btn{background:#1F6B45;color:#fff}
body.xmas footer{position:relative;margin-top:120px;background:#1F6B45;color:#E8F3EC;border-top:0}
body.xmas footer::before{content:"";position:absolute;left:0;right:0;top:-88px;height:90px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 90' preserveAspectRatio='none'%3E%3Cpath d='M0 50 Q100 10 200 45 T400 40 T600 50 T800 35 T1000 48 T1200 40 V90 H0Z' fill='%23ffffff'/%3E%3Cpath d='M0 70 Q150 40 300 66 T600 62 T900 68 T1200 60 V90 H0Z' fill='%23E6F0F8'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
body.xmas footer .wrap > div:last-child a{color:#fff}
body.xmas footer .social a{color:#1C1C1E;background:#fff}

@font-face{font-family:"Grandstander";src:url(/fonts/grandstander-900.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Grandstander";src:url(/fonts/grandstander-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Nunito";src:url(/fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{--ink:#1C1C1E;--turq:#1FA5A0;--turq-d:#16807C;--orange:#F2A23A;--cream:#FFF6E9;--card:#FFFFFF;--pink:#F7A6A0;--gold:#D4A537;--muted:#5B5B60}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.6 "Nunito",system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--turq-d)}
h1,h2,h3{font-family:"Grandstander","Nunito",sans-serif;font-weight:900;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(30px,6vw,46px)}h2{font-size:clamp(24px,4.5vw,32px)}h3{font-size:21px;font-weight:700}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
header.top{padding:14px 0;border-bottom:3px solid var(--ink);background:var(--card)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
header.top img{height:56px;width:auto}
header.top nav a{font-family:"Grandstander";font-weight:700;color:var(--ink);text-decoration:none;margin-left:16px}
.card{background:var(--card);border:3px solid var(--ink);border-radius:22px;box-shadow:6px 6px 0 var(--ink);padding:24px}
.btn{display:inline-block;font-family:"Grandstander";font-weight:700;background:var(--orange);color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:12px 22px;text-decoration:none;box-shadow:4px 4px 0 var(--ink);font-size:18px;cursor:pointer}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.hero{padding:40px 0 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.hero p.lead{font-size:20px;color:var(--muted)}
.tag{display:inline-block;background:var(--gold);border:3px solid var(--ink);border-radius:12px;padding:4px 14px;font-family:"Grandstander";font-weight:700;transform:rotate(-2deg)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}
.steps .card{padding:20px}.steps b{font-family:"Grandstander";font-size:34px;color:var(--turq)}
section{margin:36px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.grid a{display:block;background:var(--card);border:3px solid var(--ink);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.grid a span{display:block;padding:8px 10px;font-family:"Grandstander";font-weight:700;font-size:15px;line-height:1.25}
.grid img{aspect-ratio:850/980;object-fit:cover;border-bottom:3px solid var(--ink);background:#fff}
.scene{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;margin:28px 0}
.pic{position:relative}
.pic img{border:3px solid var(--ink);border-radius:18px;background:#fff}
.pic .badge{position:absolute;top:-14px;left:16px;background:var(--turq);color:#fff;border:3px solid var(--ink);border-radius:999px;padding:2px 14px;font-family:"Grandstander";font-weight:700;font-size:15px}
.fact{border-left:8px solid var(--turq);background:#E9F6F5;padding:14px 18px;border-radius:0 14px 14px 0;font-size:20px;font-weight:700}
.src{font-size:14px;color:var(--muted)}
.box{margin-top:18px}.box h3{display:flex;gap:8px;align-items:center}
.pager .s{display:none}.pager{display:flex;justify-content:space-between;gap:12px;margin:24px 0}
.signup{background:var(--turq);color:#fff}
.signup h2{color:#fff}
.signup form{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.signup input[type=email]{flex:1 1 240px;min-width:0;font:inherit;padding:12px 16px;border:3px solid var(--ink);border-radius:999px}
.signup small{display:block;margin-top:10px;opacity:.95}
.signup .soon{background:rgba(255,255,255,.18);border-radius:12px;padding:10px 14px;margin-top:12px}
footer{margin-top:48px;padding:28px 0;border-top:3px solid var(--ink);background:var(--card);font-size:15px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
footer img{height:56px;width:56px}
.social{display:flex;gap:10px;flex-wrap:wrap}.social a{font-family:"Grandstander";font-weight:700;color:var(--ink);text-decoration:none;border:3px solid var(--ink);border-radius:999px;padding:6px 14px;background:var(--cream)}
@media (max-width:760px){.pager .t{display:none}.pager .s{display:inline}.hero,.scene{grid-template-columns:1fr}.steps{grid-template-columns:1fr}header.top img{height:44px}header.top nav a{margin-left:10px;font-size:15px}.card{box-shadow:4px 4px 0 var(--ink)}}

/* ---- Design pass, Oct 2026: series shelf, per-book colors, cross-sell ---- */
:root{--c-egypt:#F2B632;--c-india:#E8734A;--c-japan:#D8273E;--c-kenya:#B9532E;--c-christmas:#B3152E}
.b-egypt,.bk-egypt{--bk:var(--c-egypt);--bk-ink:#1C1C1E}
.b-india,.bk-india{--bk:var(--c-india);--bk-ink:#1C1C1E}
.b-japan,.bk-japan{--bk:var(--c-japan);--bk-ink:#fff}
.b-kenya,.bk-kenya{--bk:var(--c-kenya);--bk-ink:#fff}
.b-christmas,.bk-christmas{--bk:var(--c-christmas);--bk-ink:#fff}
header.top,main,footer{position:relative;z-index:1}
header.top{z-index:3}
header.top nav a.nav-xmas{color:var(--c-christmas)}
header.top nav a[aria-current]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px;text-decoration-color:var(--orange)}
.tag+h1{margin-top:14px}
body[class*="bk-"]:not(.xmas) .tag{background:var(--bk);color:var(--bk-ink)}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 0}
.btn.ghost{background:#fff}
.btn.sm{font-size:15px;padding:7px 14px;box-shadow:3px 3px 0 var(--ink)}
.sub{margin:-4px 0 18px}
/* series shelf */
.shelf-sec{margin:24px 0 40px}
.shelf{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.book{position:relative;display:flex;flex-direction:column;background:#fff;border:3px solid var(--ink);border-top:10px solid var(--bk);border-radius:18px;padding:12px;box-shadow:5px 5px 0 var(--ink)}
.book .cv img{border:2px solid var(--ink);border-radius:10px;aspect-ratio:600/788;object-fit:cover}
.book h3{margin:12px 0 2px;font-size:20px}
.book p{flex:1;margin:0 0 12px;font-size:14px;line-height:1.4;color:var(--muted)}
.book .acts{display:flex;flex-direction:column;gap:9px}.book .acts .btn{text-align:center;padding:7px 8px}.book .acts .btn:first-child{background:#fff}
.ribbon{position:absolute;z-index:2;top:-18px;right:-10px;background:#F2B632;border:3px solid var(--ink);border-radius:10px;padding:1px 12px;font-family:"Grandstander";font-weight:700;font-size:15px;transform:rotate(5deg)}
/* book page head */
.bookhead{display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:center;margin-bottom:30px}
.bookcover{border:3px solid var(--ink);border-radius:12px;box-shadow:6px 6px 0 var(--ink);transform:rotate(-2deg)}
/* scene page */
.scene .box{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:14px 18px 16px;box-shadow:4px 4px 0 var(--ink)}
.scene .box h3{font-size:19px;margin:0 0 6px}
.scene .box p{margin:0}
.scene .box .fact{margin-top:4px}
.buyrow{display:flex;gap:16px;align-items:center;margin-top:24px}
.buyrow img{width:70px;border:2px solid var(--ink);border-radius:6px;box-shadow:3px 3px 0 var(--ink)}
.buyt{margin:0 0 8px;font-family:"Grandstander";font-weight:700}
/* cross-sell */
.more{margin:44px 0 0}
.minis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mini{display:block;background:#fff;border:3px solid var(--ink);border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:4px 4px 0 var(--ink)}
.mini img{aspect-ratio:300/394;object-fit:cover;border-bottom:3px solid var(--ink)}
.mini span{display:block;padding:7px 10px;background:var(--bk);color:var(--bk-ink);font-family:"Grandstander";font-weight:700;font-size:16px}
/* holiday theme: white cards keep dark text */
body.xmas main :is(.book,.box,.mini) :is(h3,p,span){color:var(--ink);text-shadow:none}
body.xmas main .book p{color:var(--muted)}
body.xmas main .mini span{color:var(--bk-ink)}
body.xmas main .buyt{color:#fff}
body.xmas .book,body.xmas .scene .box,body.xmas .mini,body.xmas .bookcover{box-shadow:5px 5px 0 #0B1530}
body.xmas .book{border-top-color:var(--bk)}
@media (max-width:980px){.shelf{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.bookhead{grid-template-columns:1fr;gap:18px}.bookcover{width:170px}.minis{grid-template-columns:repeat(2,1fr)}.hero{padding-top:28px}.hero>div:last-child img{max-width:210px;margin:0 auto}.ctas .btn{font-size:16px;padding:10px 18px}}
@media (max-width:600px){header.top .wrap{flex-wrap:wrap;justify-content:center;row-gap:8px}header.top nav{width:100%;display:flex;justify-content:space-between}header.top nav a{margin-left:0;font-size:16px}header.top img{height:46px}
.shelf{grid-template-columns:repeat(2,1fr);gap:14px}.book{padding:9px}.book h3{font-size:17px}.book .acts .btn{font-size:14px}}
