/* Hero */
.hero{padding:72px 0 90px;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(242,198,109,.24),transparent 68%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:64px;align-items:center}.hero h1{margin:18px 0 24px;max-width:760px}.hero-copy .lead{margin-bottom:34px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.hero-proof{display:flex;flex-wrap:wrap;gap:18px;margin-top:35px}.proof-item{display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;color:var(--muted)}.proof-dot{width:32px;height:32px;border-radius:50%;background:var(--sage-soft);display:grid;place-items:center;color:var(--forest)}.hero-visual{position:relative}.hero-visual img{width:100%;filter:drop-shadow(0 25px 60px rgba(36,54,47,.14));animation:float 7s ease-in-out infinite}.hero-card{position:absolute;padding:15px 18px;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:var(--shadow-md);backdrop-filter:blur(14px);font-size:.82rem;font-weight:800}.hero-card.one{left:-25px;bottom:85px}.hero-card.two{right:-10px;top:100px}.hero-card span{display:block;color:var(--muted);font-weight:500;margin-top:3px}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
/* Pathways */
.pathway-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.pathway{min-height:430px;padding:48px;border-radius:var(--radius-lg);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}.pathway::before,.pathway::after{content:"";position:absolute;border-radius:50%;z-index:-1}.pathway::before{width:330px;height:330px;right:-90px;top:-100px;background:rgba(255,255,255,.42)}.pathway::after{width:190px;height:190px;left:-60px;bottom:-70px;background:rgba(255,255,255,.24)}.pathway.kids{background:linear-gradient(135deg,#dcebd8,#f9e8b7)}.pathway.adults{background:linear-gradient(135deg,#d9eaf0,#e8e0f2)}.pathway h3{font-size:clamp(2rem,4vw,3.4rem);margin:12px 0 14px}.pathway p{max-width:470px;color:#4f675d}.pathway .btn{align-self:flex-start;margin-top:26px}
/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:28px 24px;border-left:1px solid var(--line)}.step-number{font-family:var(--font-display);font-size:3rem;color:var(--gold-2);line-height:1}.step h3{font-family:var(--font-body);font-size:1rem;font-weight:800;margin:18px 0 10px}.step p{font-size:.88rem}
/* Quote / CTA */
.quote-band{padding:80px;border-radius:var(--radius-lg);background:var(--forest);color:#fff;position:relative;overflow:hidden}.quote-band::after{content:"✦";position:absolute;right:55px;top:25px;font-size:11rem;color:rgba(242,198,109,.08)}.quote-band h2{max-width:850px;color:white}.quote-band p{color:rgba(255,255,255,.66);margin:22px 0 30px;max-width:620px}
/* Page hero */
.page-hero{padding:90px 0 60px;text-align:center;position:relative}.page-hero .lead{margin:22px auto 0}.page-hero .eyebrow{justify-content:center}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);max-width:980px;margin:18px auto 0}.page-hero.compact{padding-bottom:34px}.page-hero.compact h1{font-size:clamp(2.6rem,5vw,4.7rem)}
/* Library */
.library-toolbar{display:grid;grid-template-columns:1.6fr repeat(3,.7fr);gap:14px;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.68);margin-bottom:42px;position:sticky;top:90px;z-index:30;backdrop-filter:blur(16px)}.search-field{position:relative}.search-field input,.filter-select{width:100%;height:48px;border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:0 15px;color:var(--forest)}.library-count{font-size:.88rem;color:var(--muted);margin-bottom:24px}.empty-state{text-align:center;padding:80px 20px;border:1px dashed var(--line);border-radius:var(--radius);grid-column:1/-1}.empty-state h3{margin-bottom:10px}
/* Category world */
.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.world-card{min-height:240px;padding:30px;border-radius:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.35s var(--ease)}.world-card:hover{transform:translateY(-6px)}.world-card::before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-30px;top:-30px;background:rgba(255,255,255,.4)}.world-card:nth-child(1){background:#dcebd8}.world-card:nth-child(2){background:#f4e3b2}.world-card:nth-child(3){background:#dbeaf0}.world-card:nth-child(4){background:#e8e0f2}.world-card:nth-child(5){background:#f1ddd1}.world-card:nth-child(6){background:#dce8df}.world-card .world-icon{font-size:2rem;margin-bottom:auto}.world-card h3{font-family:var(--font-body);font-weight:800;font-size:1.2rem}.world-card p{font-size:.86rem;margin-top:8px}
/* Book detail */
.book-detail{display:grid;grid-template-columns:minmax(280px,400px) 1fr;gap:72px;align-items:start}.book-detail-cover{position:sticky;top:110px}.book-detail-cover img{border-radius:24px;box-shadow:var(--shadow-lg)}.book-detail-copy h1{font-size:clamp(2.8rem,5vw,5.2rem);margin:10px 0 18px}.book-detail-copy .lead{margin-bottom:24px}.book-facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px}.book-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.book-description{padding-top:34px;border-top:1px solid var(--line)}.book-description h2{font-size:2rem;margin:30px 0 12px}.value-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.value-chip{padding:18px;border-radius:16px;background:var(--sage-soft);font-weight:800;font-size:.85rem}
/* Reader */
.reader-page{background:#f7f0e3}.reader-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.reader-topbar{position:sticky;top:0;z-index:100;background:rgba(255,249,238,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.reader-title{font-weight:800;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-controls{display:flex;align-items:center;gap:8px}.reader-controls button{width:40px;height:40px;border-radius:50%;background:white;border:1px solid var(--line);cursor:pointer}.reader-content{display:grid;grid-template-columns:70px minmax(0,780px) 70px;justify-content:center;align-items:center;gap:24px;padding:50px 20px}.reader-page-card{min-height:620px;padding:clamp(34px,7vw,80px);border-radius:20px;background:#fffdf7;box-shadow:var(--shadow-md);display:flex;flex-direction:column;justify-content:center;text-align:center}.reader-page-card h1{font-size:clamp(2.2rem,5vw,4.3rem);margin-bottom:28px}.reader-page-card p{font-family:var(--font-display);font-size:clamp(1.35rem,2.8vw,2.1rem);line-height:1.65;color:var(--forest)}.reader-nav{width:58px;height:58px;border-radius:50%;background:var(--forest);color:white;cursor:pointer;font-size:1.5rem}.reader-nav:disabled{opacity:.25;cursor:not-allowed}.reader-progress{height:4px;background:rgba(36,54,47,.12);position:fixed;left:0;right:0;bottom:0}.reader-progress span{display:block;height:100%;background:var(--gold-2);width:0;transition:.35s}.reader-page.dark{background:#15251f;color:#f9f4ea}.reader-page.dark .reader-topbar{background:rgba(21,37,31,.92);border-color:rgba(255,255,255,.12)}.reader-page.dark .reader-page-card{background:#20362d}.reader-page.dark .reader-page-card p{color:#f8f1e3}.reader-page.sepia .reader-page-card{background:#f0dfc1}
/* Pricing */
.pricing-toggle{display:flex;justify-content:center;align-items:center;gap:12px;margin:30px 0 50px}.switch{width:64px;height:34px;border-radius:999px;background:var(--sage);padding:4px;cursor:pointer}.switch span{display:block;width:26px;height:26px;border-radius:50%;background:#fff;transition:.3s}.switch.annual span{transform:translateX(30px)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.pricing-card{padding:38px 32px;border-radius:28px;border:1px solid var(--line);background:rgba(255,255,255,.67);position:relative}.pricing-card.featured{background:var(--forest);color:white;transform:translateY(-14px);box-shadow:var(--shadow-lg)}.pricing-card.featured p,.pricing-card.featured li{color:rgba(255,255,255,.7)}.pricing-card h3{font-size:2rem}.price{display:flex;align-items:flex-end;gap:8px;margin:22px 0}.price strong{font-family:var(--font-display);font-size:3.2rem;line-height:1}.price span{font-size:.8rem;color:var(--muted);padding-bottom:7px}.featured .price span{color:rgba(255,255,255,.6)}.pricing-card ul{list-style:none;padding:0;margin:26px 0 32px}.pricing-card li{padding:9px 0;font-size:.9rem;color:var(--muted)}.pricing-card li::before{content:"✓";color:var(--gold-2);font-weight:900;margin-right:10px}.best-badge{position:absolute;right:20px;top:20px;padding:7px 11px;background:var(--gold);color:var(--forest);border-radius:999px;font-size:.7rem;font-weight:900}
/* Auth */
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-visual{background:linear-gradient(145deg,#dcebd8,#f6e6b8);padding:64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-visual::after{content:"";position:absolute;width:540px;height:540px;border-radius:50%;right:-180px;bottom:-180px;background:rgba(255,255,255,.4)}.auth-visual img{width:190px}.auth-visual blockquote{font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);line-height:1.15;max-width:620px;position:relative;z-index:2}.auth-panel{display:grid;place-items:center;padding:50px 24px}.auth-card{width:min(100%,480px)}.auth-card h1{font-size:3.2rem;margin-bottom:12px}.auth-card>p{margin-bottom:32px}.auth-card .form-grid{grid-template-columns:1fr}.auth-links{display:flex;justify-content:space-between;gap:16px;font-size:.82rem;margin-top:16px}.auth-links a{font-weight:800}.social-login{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.social-login button{height:48px;border:1px solid var(--line);border-radius:14px;background:white;cursor:pointer}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;margin:24px 0}.or::before,.or::after{content:"";height:1px;background:var(--line);flex:1}
/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.post-card{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.62);transition:.35s var(--ease)}.post-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}.post-card img{aspect-ratio:16/9;object-fit:cover}.post-card-copy{padding:26px}.post-card-copy h3{font-family:var(--font-body);font-size:1.12rem;line-height:1.45;font-weight:800;margin:10px 0}.post-card-copy p{font-size:.88rem}.post-meta{font-size:.75rem;font-weight:800;color:var(--forest-2)}.article-layout{display:grid;grid-template-columns:minmax(0,780px) 280px;gap:70px;align-items:start}.article-body{font-size:1.06rem}.article-body h2{font-size:2.25rem;margin:50px 0 18px}.article-body h3{font-size:1.55rem;margin:34px 0 14px}.article-body p{margin:18px 0;color:#4f665d}.article-body ul{color:#4f665d}.article-hero-img{border-radius:28px;margin:34px 0 45px}.article-sidebar{position:sticky;top:110px}.sidebar-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.65)}
/* FAQ */
.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.58);overflow:hidden}.faq-question{width:100%;padding:22px 24px;background:transparent;text-align:left;font-weight:800;color:var(--forest);display:flex;justify-content:space-between;gap:18px;cursor:pointer}.faq-answer{display:grid;grid-template-rows:0fr;transition:.35s var(--ease)}.faq-answer>div{overflow:hidden}.faq-answer p{padding:0 24px 22px}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
/* About */
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.story-art{min-height:520px;border-radius:var(--radius-lg);background:linear-gradient(145deg,#dcebd8,#f3e4b3);position:relative;overflow:hidden}.story-art::before{content:"";position:absolute;inset:70px;border:2px solid rgba(36,54,47,.22);border-radius:50%}.story-art::after{content:"Mỗi trang sách, một tia sáng.";position:absolute;inset:auto 40px 45px;font-family:var(--font-display);font-size:2.5rem;line-height:1.1}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden}.stat{padding:34px;text-align:center;background:var(--paper)}.stat strong{display:block;font-family:var(--font-display);font-size:2.8rem}.stat span{font-size:.8rem;color:var(--muted)}
/* Contact */
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.contact-card{padding:34px;border-radius:24px;background:var(--forest);color:white}.contact-card p{color:rgba(255,255,255,.68)}.contact-list{display:grid;gap:18px;margin-top:30px}.contact-item{padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}.contact-form-card{padding:42px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.65)}
/* Legal */
.legal{font-size:1rem}.legal h2{font-size:2rem;margin:42px 0 14px}.legal h3{font-size:1.35rem;margin:28px 0 10px}.legal p,.legal li{color:#52685f}.legal ul{padding-left:20px}.legal .updated{padding:14px 18px;background:var(--sage-soft);border-radius:14px;margin:20px 0 32px}
