:root{--navy:#0F2E5C;--teal:#0E6E8C;--lime:#A6E34B;--yellow:#F7CB2D;--ink:#1B2430;--muted:#4A5566;--paper:#FFFFFF;--soft:#F3F6F9;--rule:#D9E1EA}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 19px/1.6 "Source Sans 3",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
h1,h2,h3{font-family:Montserrat,system-ui,Arial,sans-serif;line-height:1.2;margin:0 0 .5em;color:var(--navy)}
h1{font-size:clamp(1.9rem,4.6vw,2.9rem);font-weight:800}h2{font-size:clamp(1.45rem,3.1vw,1.95rem);font-weight:800}h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}a{color:var(--teal)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
header.top{background:var(--navy);color:#fff}header.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
header.top .brand{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:1.15rem;color:#fff;text-decoration:none}
header.top nav{display:flex;flex-wrap:wrap;gap:4px 18px}header.top nav a{color:#fff;text-decoration:none;font-size:1rem}header.top nav a:hover{text-decoration:underline}
.hero{background:linear-gradient(180deg,var(--navy),var(--teal));color:#fff}.hero .wrap{padding-top:64px;padding-bottom:64px;max-width:860px}
.hero h1{color:#fff}.hero .lead{font-size:1.25rem;color:#E8F0F7}
.lead2{font-size:1.15rem;color:var(--muted)}
.btn{display:inline-block;padding:13px 22px;border-radius:8px;font-weight:700;text-decoration:none;font-size:1.02rem;margin:6px 10px 6px 0;border:0}
.btn.primary{background:var(--yellow);color:var(--navy)}.btn.ghost{background:transparent;color:#fff;border:2px solid #fff}
.btn.dark{background:var(--navy);color:#fff}.btn.line{background:#fff;color:var(--navy);border:2px solid var(--navy)}.btn.off{background:#C9D2DC;color:#4A5566}
section{padding:52px 0;border-bottom:1px solid var(--rule)}section.alt{background:var(--soft)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:18px}
.card{display:block;background:#fff;border:1px solid var(--rule);border-radius:12px;padding:20px;color:var(--ink);text-decoration:none}
a.card:hover{border-color:var(--teal);box-shadow:0 6px 18px rgba(15,46,92,.12)}
.bookcard img{width:100%;max-width:200px;display:block;margin:0 auto 14px;border-radius:6px;box-shadow:0 8px 20px rgba(15,46,92,.22)}
.card .more{color:var(--teal);font-weight:700}.card .price{font-family:Montserrat,Arial,sans-serif;font-weight:800;color:var(--navy)}
.tag{display:inline-block;background:var(--lime);color:var(--navy);font-weight:700;font-size:.85rem;padding:3px 10px;border-radius:999px;margin-bottom:10px}
.book,.product{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px;align-items:start}
.product{grid-template-columns:minmax(0,1fr) minmax(0,280px)}
.book img,.product img{width:100%;border-radius:8px;box-shadow:0 10px 26px rgba(15,46,92,.25)}
ul.ticks{list-style:none;padding:0;margin:0 0 1em}ul.ticks li{padding-left:32px;position:relative;margin:.4em 0}
ul.ticks li:before{content:"\2713";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--lime);color:var(--navy);font-weight:800;font-size:.85rem;display:grid;place-items:center}
.video{display:block;text-decoration:none;color:var(--ink)}.video img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;display:block}
.video span{display:block;font-weight:700;margin-top:8px;color:var(--navy)}
.links{max-width:520px;text-align:center}.lbtn{display:block;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:15px 18px;border-radius:12px;margin:12px 0}
.lbtn:hover{background:var(--teal)}
.follow a{margin-right:16px;font-weight:700}
footer{background:var(--navy);color:#DCE6F2;font-size:.95rem}footer .wrap{padding-top:32px;padding-bottom:40px}footer a{color:#fff}
.small{font-size:.92rem;color:var(--muted)}
@media (max-width:820px){.grid2,.grid3,.book,.product{grid-template-columns:1fr}.book img{max-width:240px}.product img{max-width:240px}body{font-size:18px}}
.placeholder{border:2px dashed var(--teal);border-radius:8px;padding:18px;color:var(--muted);background:#fff}
