:root { --cream:#fbf7ee; --ink:#18362f; --green:#217c68; --mint:#dceee5; --coral:#d95f68; --gold:#e4aa45; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; }
.site-header { position:relative; z-index:10; display:flex; align-items:center; justify-content:space-between; width:min(1180px,calc(100% - 40px)); margin:auto; padding:24px 0; }
.brand { color:var(--ink); font-size:1.35rem; font-weight:900; letter-spacing:-.05em; text-decoration:none; }
.brand span { color:var(--coral); }
nav { display:flex; align-items:center; gap:26px; }
nav > a:not(.button) { color:#49665f; font-size:.9rem; font-weight:750; text-decoration:none; }
.button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:0 24px; border-radius:999px; background:var(--green); color:white; font-weight:850; text-decoration:none; box-shadow:0 10px 24px rgba(33,124,104,.2); }
.button:hover { background:#176755; transform:translateY(-1px); }
.button-small { min-height:40px; padding:0 18px; font-size:.88rem; }
.hero { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:70px; width:min(1180px,calc(100% - 40px)); min-height:650px; margin:auto; padding:64px 0 105px; }
.eyebrow { margin:0 0 18px; color:var(--green); font-size:.78rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:760px; margin-bottom:24px; font-family:Georgia,serif; font-size:clamp(3.2rem,7vw,6.4rem); font-weight:500; letter-spacing:-.055em; line-height:.93; }
h1 em { color:var(--coral); font-weight:500; }
.hero-lede { max-width:650px; color:#4f665f; font-size:clamp(1.05rem,2vw,1.25rem); line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:34px; }
.text-link { color:var(--ink); font-size:.92rem; font-weight:850; text-underline-offset:4px; }
.trust-note { margin:22px 0 0; color:#71857f; font-size:.82rem; }
.story-stack { position:relative; min-height:440px; }
.story-card { position:absolute; display:flex; flex-direction:column; justify-content:flex-end; width:320px; height:390px; padding:32px; border-radius:18px; box-shadow:0 24px 55px rgba(24,54,47,.18); }
.story-card span { margin-bottom:12px; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.story-card strong { font-family:Georgia,serif; font-size:1.8rem; font-weight:500; line-height:1.15; }
.card-back { top:0; right:40px; background:#f3c26b; color:#573713; transform:rotate(8deg); }
.card-middle { top:35px; right:85px; background:#bcd9cd; transform:rotate(-5deg); }
.card-front { top:70px; right:55px; overflow:hidden; background:var(--green); color:white; transform:rotate(2deg); }
.card-front::before { position:absolute; top:30px; right:-45px; width:190px; height:190px; border:40px solid rgba(255,255,255,.09); border-radius:50%; content:""; }
.card-front i { position:absolute; top:40px; left:35px; color:#f6c567; font-family:Georgia,serif; font-size:4rem; }
.proof { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.3); border-block:1px solid #d9e3dd; }
.proof p { margin:0; padding:28px; color:#5b716b; text-align:center; }
.proof strong { margin-right:8px; color:var(--ink); font-family:Georgia,serif; font-size:1.8rem; }
.section { width:min(1100px,calc(100% - 40px)); margin:auto; padding:110px 0; }
.intro-section { text-align:center; }
h2 { max-width:760px; margin:0 auto 22px; font-family:Georgia,serif; font-size:clamp(2.3rem,5vw,4.2rem); font-weight:500; letter-spacing:-.04em; line-height:1.05; }
.section-lede { max-width:680px; margin:0 auto; color:#59716a; font-size:1.1rem; line-height:1.7; }
.copyright-notice { max-width:850px; margin:34px auto 0; padding:22px 24px; border:1px solid #c9d9d1; border-left:5px solid var(--green); border-radius:12px; background:rgba(255,255,255,.72); text-align:left; }
.copyright-notice strong { color:var(--ink); }
.copyright-notice p { margin:8px 0 0; color:#59716a; font-size:.88rem; line-height:1.65; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:62px; text-align:left; }
.feature-grid article { padding:28px; border:1px solid #dce4de; border-radius:14px; background:rgba(255,255,255,.62); }
.feature-grid span { color:var(--coral); font-family:Georgia,serif; font-size:1.6rem; }
.feature-grid h3 { margin:32px 0 12px; font-size:1.05rem; }
.feature-grid p,.audience-section p,.audience-section li,.create-grid p { color:#5a7069; line-height:1.6; }
.audience-section { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:70px; width:100%; padding-inline:max(20px,calc((100% - 1100px)/2)); }
.audience-section h2 { margin-inline:0; }
.families { background:var(--mint); }
.educators { background:#f6e7df; }
.audience-section ul { display:grid; gap:10px; margin:30px 0 0; padding:0; list-style:none; }
.audience-section li::before { margin-right:10px; color:var(--green); content:"✓"; font-weight:900; }
blockquote { margin:0; padding:42px; border-radius:18px; background:var(--white); color:var(--ink); font-family:Georgia,serif; font-size:clamp(1.5rem,3vw,2.2rem); line-height:1.3; box-shadow:0 18px 45px rgba(24,54,47,.1); }
.create-section { text-align:center; }
.create-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:50px; }
.create-grid article { min-height:180px; padding:28px; border-radius:14px; background:var(--white); text-align:left; }
.create-grid b { color:var(--coral); font-family:Georgia,serif; font-size:1.5rem; }
.create-grid p { margin:22px 0 0; }
.rights-note { margin:24px 0 0; color:#738780; font-size:.8rem; }
.closing { padding:100px 20px; background:var(--ink); color:white; text-align:center; }
.closing .eyebrow { color:#8fd0bd; }
.closing h2 { margin-bottom:34px; }
.button-light { background:#fff; color:var(--ink); box-shadow:none; }
.button-light:hover { background:#f6c567; color:var(--ink); }
footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:35px max(20px,calc((100% - 1100px)/2)); background:#122b25; color:#b8cbc5; font-size:.85rem; }
footer p { margin:0; }
footer .brand { color:white; }
.page-hero { width:min(1000px,calc(100% - 40px)); margin:auto; padding:100px 0 120px; text-align:center; }
.page-hero h1 { margin-inline:auto; font-size:clamp(3rem,6.5vw,5.8rem); }
.page-hero .hero-lede { margin-inline:auto; }
.page-hero .hero-actions { justify-content:center; }
.families-page { background:radial-gradient(circle at 50% 45%,rgba(220,238,229,.9),transparent 62%); }
.educators-page { background:radial-gradient(circle at 50% 45%,rgba(246,231,223,.9),transparent 62%); }
.process-page { background:radial-gradient(circle at 50% 45%,rgba(243,194,107,.25),transparent 62%); }
.library-page { background:radial-gradient(circle at 50% 45%,rgba(220,238,229,.95),transparent 65%); }
.levels-page { background:radial-gradient(circle at 50% 45%,rgba(243,194,107,.3),transparent 65%); }
.detail-section { text-align:center; }
.detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:56px; text-align:left; }
.detail-grid article { padding:32px; border:1px solid #dce4de; border-radius:16px; background:var(--white); }
.detail-grid span { color:var(--coral); font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.detail-grid h3 { margin:28px 0 12px; font-size:1.12rem; }
.detail-grid p,.split-section p,.steps-card li,.process-list p { color:#5a7069; line-height:1.7; }
.split-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.split-section h2 { margin-inline:0; }
.steps-card { padding:38px; border-radius:18px; background:var(--mint); }
.steps-card h3 { margin-bottom:24px; font-size:1.2rem; }
.steps-card ul { display:grid; gap:14px; margin:0; padding-left:22px; }
.process-list { display:grid; max-width:850px; gap:18px; margin:56px auto 0; text-align:left; }
.process-list article { display:grid; grid-template-columns:auto 1fr; gap:24px; padding:30px; border:1px solid #dce4de; border-radius:16px; background:var(--white); }
.process-list b { display:grid; width:46px; height:46px; place-items:center; border-radius:50%; background:var(--green); color:white; font-family:Georgia,serif; font-size:1.3rem; }
.process-list h3 { margin-bottom:10px; }
.process-list p { margin-bottom:0; }
.compact-top { padding-top:20px; }
.path-links { display:grid; gap:16px; }
.path-links a { display:flex; flex-direction:column; gap:8px; padding:28px; border:1px solid #dce4de; border-radius:16px; background:var(--white); text-decoration:none; }
.path-links a:hover { border-color:var(--green); }
.path-links span { color:#5a7069; }
.catalog-note { max-width:720px; margin:30px auto 0; padding:20px 24px; border-radius:14px; background:rgba(255,255,255,.7); color:#526a63; line-height:1.7; }
.catalog-note a { color:var(--green); font-weight:800; text-underline-offset:3px; }
.catalog-section { padding-top:70px; text-align:center; }
.book-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:58px; text-align:left; }
.book-catalog article { display:flex; flex-direction:column; min-height:390px; padding:34px; border:1px solid #dce4de; border-radius:18px; background:var(--white); box-shadow:0 14px 35px rgba(24,54,47,.05); }
.book-number { color:var(--coral); font-family:Georgia,serif; font-size:1.45rem; }
.book-catalog h3 { margin:24px 0 14px; font-family:Georgia,serif; font-size:1.65rem; font-weight:500; line-height:1.2; }
.book-catalog p { color:#586f68; line-height:1.7; }
.book-catalog .recommendation { margin-bottom:26px; }
.recommendation strong { color:var(--ink); }
.download-link { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:auto; padding:15px 18px; border-radius:10px; background:var(--green); color:#fff; font-size:.9rem; font-weight:850; text-decoration:none; }
.download-link:hover { background:#176755; }
.download-link span { font-size:1.2rem; }
.level-invite { padding-top:35px; }
.progression-section,.growth-section,.practical-section { text-align:center; }
.progression-table { overflow-x:auto; margin-top:48px; border:1px solid #dce4de; border-radius:16px; background:var(--white); }
.progression-table table { width:100%; border-collapse:collapse; text-align:left; }
.progression-table th,.progression-table td { padding:22px; border-bottom:1px solid #e3e9e5; line-height:1.5; }
.progression-table thead th { background:var(--mint); color:var(--ink); font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.progression-table tbody th { color:var(--ink); }
.progression-table tbody td { color:#586f68; }
.progression-table tr:last-child th,.progression-table tr:last-child td { border-bottom:0; }
.level-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:52px; text-align:left; }
.level-steps article { padding:32px; border:1px solid #dce4de; border-radius:16px; background:var(--white); }
.level-steps b { color:var(--coral); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.level-steps h3 { margin:26px 0 12px; }
.level-steps p { margin-bottom:0; color:#586f68; line-height:1.75; }
.growth-section.tinted { width:100%; padding-inline:max(20px,calc((100% - 1100px)/2)); background:var(--mint); }
.centered-actions { justify-content:center; }
.secondary-light { background:#f6c567; }
.discovery-section { padding-top:80px; }
nav a[aria-current="page"] { color:var(--ink); text-decoration:underline; text-underline-offset:6px; }
@media (max-width:850px) { nav > a:not(.button){display:none}.hero{grid-template-columns:1fr;padding-top:45px}.story-stack{min-height:390px}.story-card{left:50%;width:280px;height:340px}.card-back{transform:translateX(-42%) rotate(8deg)}.card-middle{transform:translateX(-58%) rotate(-5deg)}.card-front{transform:translateX(-50%) rotate(2deg)}.feature-grid,.create-grid{grid-template-columns:repeat(2,1fr)}.audience-section{grid-template-columns:1fr;gap:36px}.proof{grid-template-columns:1fr}.proof p+ p{border-top:1px solid #d9e3dd}}
@media (max-width:850px) { .detail-grid,.split-section{grid-template-columns:1fr}.split-section{gap:36px}.page-hero{padding-block:70px 90px} }
@media (max-width:850px) { .book-catalog{grid-template-columns:1fr}.level-steps{grid-template-columns:1fr}.book-catalog article{min-height:0} }
@media (max-width:520px) { .hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{text-align:center}.feature-grid,.create-grid,.detail-grid{grid-template-columns:1fr}.section{padding-block:78px}.audience-section{padding-block:78px}.story-stack{min-height:350px}.story-card{width:240px;height:300px;padding:24px}.story-card strong{font-size:1.45rem}.process-list article{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.button:hover{transform:none} }
