@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--ink:#202322;--muted:#666d68;--orange:#dc670d;--deep:#ae4909;--cream:#fff8ef;--line:#e8e4dd;--shadow:0 16px 45px rgba(39,34,23,.065)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.55 'DM Sans',system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;line-height:1.17;letter-spacing:-.035em}h2{font-size:clamp(2rem,3.6vw,3.15rem);margin:8px 0 12px}h3{font-size:1.2rem}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}section[id]{scroll-margin-top:100px}.wrap{width:min(1240px,calc(100% - 72px));margin-inline:auto}.eyebrow{color:var(--orange);font-size:.77rem;font-weight:800;letter-spacing:.145em}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,252,247,.96);backdrop-filter:blur(16px);border-bottom:1px solid #ece5d9}.header-inner{width:min(1450px,calc(100% - 44px));margin:auto;min-height:91px;display:flex;align-items:center;gap:30px}.brand{flex:0 0 218px}.brand img{width:218px;height:auto}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(11px,1.55vw,25px);flex:1;white-space:nowrap}.nav a{font-size:.81rem;font-weight:700;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:var(--orange)}.header-actions{display:flex;gap:8px}.icon-btn{background:transparent;border:0;width:38px;height:38px;display:grid;place-items:center;color:var(--ink);border-radius:50%}.icon-btn:hover{background:#f7e5cf}.icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu-toggle{display:none}.hero{background:var(--cream);min-height:620px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%);overflow:hidden}.hero-copy{width:min(620px,calc(100% - 70px));justify-self:end;padding:105px 45px 105px 0;align-self:center}.hero h1{font-size:clamp(2.7rem,4vw,4.5rem);line-height:1.11;margin:20px 0 25px;max-width:610px}.hero h1 em{font-style:normal;color:var(--orange)}.hero-copy p{font-size:1.12rem;max-width:490px;color:#565d58}.hero-visual{position:relative;min-height:620px}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:54% center}.hero-note{position:absolute;left:-32px;bottom:56px;background:#fff;padding:20px 26px;border-radius:17px;box-shadow:var(--shadow);display:flex;flex-direction:column;font-size:.9rem}.hero-note strong{font-family:Manrope;color:var(--deep)}.button-row,.section-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.button-row{margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 22px;border-radius:9px;font-weight:800;font-size:.88rem;min-height:52px;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(140,65,16,.14)}.btn.primary{color:#fff;background:var(--orange)}.btn.primary:hover{background:var(--deep)}.btn.outline{border:1px solid #e1b386;color:var(--deep)}.btn.light{color:var(--deep);background:white}.text-link{color:var(--deep);font-weight:800;font-size:.92rem;padding:12px}.text-link:hover{text-decoration:underline}.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-top:-32px;position:relative;z-index:2}.pillar{display:flex;align-items:center;gap:15px;background:#fff;min-height:104px;border:1px solid #f3eee6;padding:18px;border-radius:17px;box-shadow:var(--shadow);font-family:Manrope;font-weight:800;font-size:.86rem;line-height:1.35;transition:transform .2s,box-shadow .2s}.pillar:hover{transform:translateY(-6px);box-shadow:0 22px 42px rgba(39,34,23,.11)}.pillar-icon{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff1df;color:var(--orange);font-size:1.6rem}.section{padding-top:105px;padding-bottom:105px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:31px}.section-head p,.tools-grid>div>p{color:var(--muted);margin:0}.arrows{display:flex;gap:9px}.arrows button,.calendar-controls button{border:1px solid #e3dfd8;background:#fff;color:var(--ink);border-radius:50%;width:43px;height:43px;font-size:1.25rem}.arrows button:hover,.calendar-controls button:hover{border-color:var(--orange);color:var(--orange)}.horizontal{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px 2px 18px}.horizontal::-webkit-scrollbar{display:none}.horizontal>*{scroll-snap-align:start;flex-shrink:0}.book-card{width:clamp(230px,23%,285px);border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.book-image{height:230px;background:#faf6ef;border-radius:12px;display:grid;place-items:center;padding:16px}.book-image img{max-height:100%;object-fit:contain;box-shadow:0 8px 18px #0002}.book-card h3{font-size:1rem;margin:20px 0 8px}.book-card p{min-height:50px;font-size:.84rem;color:var(--muted);margin-bottom:20px}.card-actions{display:flex;justify-content:space-between;gap:8px;font-size:.81rem;font-weight:800;color:var(--deep)}.card-actions a:hover{text-decoration:underline}.class-section{background:#fff6ea;padding:95px 0}.class-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,6vw,95px);align-items:center}.class-visual{height:590px;position:relative}.class-visual img{width:100%;height:100%;object-fit:cover;border-radius:24px}.image-badge{position:absolute;bottom:22px;left:22px;background:#fff;padding:10px 15px;border-radius:8px;color:var(--deep);font-size:.7rem;font-weight:800;letter-spacing:.13em}.class-copy h2{max-width:610px}.lead{font-weight:800;margin:24px 0 15px}.check-list{list-style:none;margin:0 0 25px;padding:0}.check-list li{padding:5px 0 5px 31px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--orange);font-weight:800}.schedule{display:flex;gap:15px;margin-bottom:28px}.schedule>div{display:flex;align-items:center;gap:12px;background:#fff;border-radius:13px;padding:13px 20px;min-width:170px}.schedule strong{font:800 2rem Manrope;color:var(--orange)}.schedule span{font-size:.78rem;line-height:1.3;font-weight:700}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px}.word-panel,.calendar-panel{border:1px solid var(--line);border-radius:24px;padding:36px;background:#fff;min-width:0}.tools-grid h2{font-size:2.35rem}.orange{color:var(--orange)}.today-word{background:#fff3e5;border-radius:15px;padding:16px 20px;margin:24px 0;display:grid;grid-template-columns:1fr auto;gap:2px}.today-word small{grid-column:1/-1;font-size:.68rem;letter-spacing:.14em;color:var(--deep);font-weight:800}.today-word strong{font-size:1.45rem}.today-word span{align-self:center;font-weight:700}.search-box{border:1px solid #e3dfd8;border-radius:9px;display:flex;align-items:center;padding:0 13px;gap:8px}.search-box span{font-size:1.7rem;color:#777}.search-box input{border:0;outline:none;width:100%;height:47px;background:none;min-width:0}.letters{display:flex;flex-wrap:wrap;gap:3px;margin:17px 0}.letters button{border:0;background:transparent;color:var(--muted);font-size:.77rem;padding:4px 5px;border-radius:5px}.letters button.active,.letters button:hover{background:var(--orange);color:white}.word-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:.75rem;letter-spacing:.07em;padding:10px;border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid #f0ede9}td:first-child{font-size:1.05rem}.subtle-button{border:0;background:transparent;color:var(--deep);padding:15px 0;font-weight:800}.subtle-button[hidden]{display:none}.calendar-card{margin-top:26px;display:grid;grid-template-columns:43% 1fr;background:#fff4e5;border-radius:18px;min-height:220px;overflow:hidden}.calendar-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e56c11;color:white}.calendar-date strong{font:800 5rem Manrope;line-height:1}.calendar-date span{font-weight:700}.thought{padding:30px;align-self:center}.thought span{font-size:.71rem;letter-spacing:.15em;color:var(--orange);font-weight:800}.thought p{font:800 1.35rem/1.4 Manrope;margin:15px 0 0}.calendar-controls{display:flex;justify-content:center;gap:9px;margin:18px 0 24px}.calendar-controls button{width:auto;height:auto;border-radius:8px;font-size:.82rem;padding:9px 13px}.calendar-sample{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:22px}.calendar-sample img{width:90px;height:78px;object-fit:cover;border-radius:6px}.calendar-sample div{display:flex;flex-direction:column}.calendar-sample span{font-size:.8rem;color:var(--muted)}.schools{background:#f9f9f7}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.school-grid article{background:white;border-radius:18px;padding:31px;min-height:236px;border:1px solid #eceae5}.school-grid article>span{font-size:.7rem;letter-spacing:.12em;color:var(--orange);font-weight:800}.school-grid h3{font-size:1.32rem;margin:24px 0 10px}.school-grid p{font-size:.9rem;color:var(--muted)}.school-grid a{font-weight:800;color:var(--deep);font-size:.85rem}.school-cta{display:flex;justify-content:space-between;align-items:center;margin-top:23px;padding:22px 28px;border-radius:12px;background:#f7e6d1;color:var(--deep);font-weight:800}.school-cta span{font-size:1.4rem}.lesson-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.lesson-grid article{border-radius:16px;overflow:hidden;background:#242b27;color:white;position:relative;min-height:310px}.lesson-grid img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .4s}.lesson-grid article:hover img{transform:scale(1.04)}.lesson-grid article:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#161918b8)}.lesson-grid article>div{position:absolute;z-index:1;bottom:20px;left:21px;right:15px}.lesson-grid small{color:#ffe1bd;font-weight:800;letter-spacing:.14em}.lesson-grid h3{margin:6px 0 0;font-size:1.15rem}.opinions-section{background:#fff7ec}.opinion-card{width:calc((100% - 40px)/3);min-height:330px;background:white;border-radius:17px;padding:28px;display:flex;flex-direction:column}.quote-mark{font:800 3rem Georgia;color:var(--orange);height:45px}.opinion-card blockquote{font-size:.96rem;line-height:1.65;margin:12px 0 24px;flex:1}.person{display:flex;gap:12px;align-items:center}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e8b875;color:#6a2d0b;font-weight:800}.person div:last-child{display:flex;flex-direction:column}.person strong{font-size:.85rem}.person span{font-size:.72rem;color:var(--muted)}.section-actions{margin-top:22px}.activity-card{width:calc((100% - 40px)/3);border:1px solid var(--line);border-radius:17px;overflow:hidden;background:white;transition:transform .2s}.activity-card:hover{transform:translateY(-4px)}.activity-photo{height:220px;background:#f3e2ca}.activity-photo img{width:100%;height:100%;object-fit:cover}.activity-photo.missing{background:#efe1cc}.activity-card>div:last-child{padding:21px}.activity-card span{font-size:.72rem;color:var(--orange);font-weight:800;letter-spacing:.07em}.activity-card h3{margin:10px 0 8px;font-size:1.07rem}.activity-card p{font-size:.83rem;color:var(--muted);margin:0}.donation{background:#bf520a;color:white}.donation-inner{min-height:255px;display:flex;justify-content:space-between;align-items:center;gap:30px}.donation .eyebrow{color:#ffe0b6}.donation h2{margin:7px 0}.donation p{margin:0;max-width:540px;font-size:1.05rem}footer{background:#202622;color:#f6f5ef;padding-top:65px}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:45px;padding-bottom:60px}.footer-grid h3{font-size:1rem;letter-spacing:0;margin-bottom:20px}.footer-grid a,.footer-grid p{display:block;color:#c7cfc8;font-size:.84rem;line-height:1.8;margin:0 0 8px}.footer-grid a:hover{color:white;text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #4d554f;padding:19px 0;color:#acb6ad;font-size:.76rem}@media(max-width:1240px){.brand{flex-basis:160px}.brand img{width:160px}.header-inner{gap:15px}.nav{gap:10px}.nav a{font-size:.72rem}}@media(max-width:1050px){.header-inner{min-height:76px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffaf3;padding:18px 32px 26px;box-shadow:var(--shadow);white-space:normal;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{font-size:1rem;padding:10px;border-bottom:1px solid var(--line)}.header-actions{margin-left:auto}.menu-toggle{display:grid}.hero{grid-template-columns:54% 46%}.hero-copy{padding:70px 25px 70px 0}.hero h1{font-size:clamp(2.3rem,4.4vw,3.4rem)}.pillars{grid-template-columns:repeat(5,1fr)}.pillar{flex-direction:column;align-items:start}.lesson-grid{grid-template-columns:repeat(2,1fr)}.lesson-grid article{min-height:350px}}@media(max-width:760px){.wrap{width:min(100% - 32px,540px)}.header-inner{width:calc(100% - 30px)}.brand,.brand img{width:165px;flex-basis:165px}.hero{display:flex;flex-direction:column}.hero-copy{width:calc(100% - 36px);padding:67px 0 44px;align-self:center}.hero h1{font-size:clamp(2.45rem,9vw,3.5rem)}.hero-visual{min-height:340px;height:360px}.hero-note{left:18px;bottom:18px;padding:11px 15px}.pillars{margin-top:20px;grid-template-columns:repeat(2,1fr)}.pillar{min-height:104px;flex-direction:row}.pillar:last-child{grid-column:1/-1}.section{padding-top:75px;padding-bottom:75px}.section-head{align-items:end}.section-head .text-link{font-size:.8rem;white-space:nowrap}.book-card{width:76%}.class-section{padding:70px 0}.class-grid,.tools-grid{grid-template-columns:1fr}.class-grid{gap:35px}.class-visual{height:370px}.word-panel,.calendar-panel{padding:25px}.school-grid{grid-template-columns:1fr}.school-grid article{min-height:0}.lesson-grid{gap:12px}.lesson-grid article{min-height:230px}.lesson-grid h3{font-size:.89rem}.lesson-grid article>div{left:14px;bottom:15px}.opinion-card,.activity-card{width:100%}.activity-photo{height:240px}.donation-inner{padding:50px 0;min-height:0;align-items:start;flex-direction:column}.footer-grid{grid-template-columns:repeat(2,1fr);gap:35px}.footer-bottom{gap:10px;flex-direction:column}.schedule{flex-wrap:wrap}}@media(min-width:540px) and (max-width:900px){.opinion-card,.activity-card{width:calc((100% - 20px)/2)}}@media(max-width:380px){.brand,.brand img{width:145px;flex-basis:145px}.header-actions{gap:1px}.icon-btn{width:34px}.button-row{gap:7px}.btn{padding:12px 14px}.pillar{gap:8px;padding:12px}.pillar-icon{width:36px;height:36px}.lesson-grid article{min-height:180px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.person img.avatar{width:46px;height:46px;object-fit:cover;border-radius:50%}
/* School programme: a distinct, calm field for institutional information. */
.schools{background:#25453c;color:#fff}.schools .eyebrow{color:#ffbf82}.schools .section-head p{color:#d6e5db;font-size:1.08rem}.schools .section-head h2{max-width:950px;font-size:clamp(2rem,3.4vw,3.05rem)}.school-grid article{border:1px solid rgba(255,255,255,.13);background:#f8f7ef;color:var(--ink);min-height:255px;box-shadow:0 18px 40px rgba(10,26,19,.09)}.school-grid article>span{color:#b14d0c}.school-cta{background:#e9b886;color:#452909;min-height:78px}.school-cta:hover{background:#f5cea4}
/* Show the full landscape image with no crop. */
.activities-track .activity-card{width:calc((100% - 20px)/2)}.activity-photo{height:auto;aspect-ratio:16/9;background:#f5f1e8;display:flex;align-items:center;justify-content:center}.activity-photo img{width:100%;height:100%;object-fit:contain}.activity-card .activity-info{min-height:140px}.activity-card h3{font-size:1.16rem}.activity-card p{font-size:.88rem}.auto-track{scroll-snap-type:none;overscroll-behavior-inline:contain}.auto-track>*{scroll-snap-align:none}.donation-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.donation-outline{border:1px solid #fff;color:#fff}.donation-outline:hover{background:#fff;color:#9b3c06}
@media(min-width:540px) and (max-width:900px){.activities-track .activity-card{width:calc((100% - 20px)/2)}}@media(max-width:539px){.activities-track .activity-card{width:100%}.activity-photo{aspect-ratio:16/9}.school-grid article{min-height:0}}
/* Publications feature, adapted from the supplied reference recording. */
.books-feature{background:#bd3d13;color:#fff;overflow:hidden}.books-feature-grid{min-height:610px;display:grid;grid-template-columns:46% 54%;align-items:center;gap:16px}.books-feature-copy{padding:65px 0 70px;position:relative;z-index:2}.books-feature .eyebrow{color:#ffd9c0}.books-feature h2{font-size:clamp(2.7rem,4.45vw,4.4rem);line-height:1.08;letter-spacing:-.045em;max-width:575px;margin:24px 0 27px}.books-feature p{color:#ffe3d5;font-size:1.08rem;line-height:1.72;max-width:520px;margin-bottom:34px}.books-feature-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.books-feature-actions>span{font-size:.78rem;font-weight:700;color:#ffddca}.book-browse{color:#132a22;background:#fff8ec;border-radius:100px;padding-inline:24px}.book-browse:hover{background:#fff;box-shadow:0 10px 25px #5b220f4d}.book-fan{height:475px;position:relative;isolation:isolate}.fan-cover{position:absolute;display:block;width:33%;max-width:205px;border-radius:12px;box-shadow:0 22px 34px rgba(74,23,8,.32);transform:var(--fan-pose);transition:transform .35s ease,box-shadow .35s ease;outline-offset:6px}.fan-cover img{display:block;width:100%;height:auto;border-radius:10px}.fan-cover:hover,.fan-cover:focus-visible{z-index:10;transform:translateY(-25px) rotate(0deg) scale(1.07);box-shadow:0 30px 55px rgba(59,19,7,.42)}.fan-orange{--fan-pose:rotate(-9deg);left:3%;top:17%;z-index:1}.fan-blue{--fan-pose:rotate(1deg);left:30%;top:4%;z-index:3}.fan-green{--fan-pose:rotate(9deg);left:55%;top:19%;z-index:2}.fan-cream{--fan-pose:rotate(9deg);left:69%;top:30%;z-index:4}.books-catalogue{scroll-margin-top:110px}.books-catalogue .book-image img{height:100%;width:auto;max-width:100%;object-fit:contain}
@media(max-width:1100px){.books-feature-grid{grid-template-columns:48% 52%}.books-feature h2{font-size:clamp(2.5rem,4.3vw,3.8rem)}.book-fan{height:380px}.fan-cover{width:35%}.fan-orange{left:0}.fan-blue{left:25%}.fan-green{left:51%}.fan-cream{left:68%}}
@media(max-width:760px){.books-feature-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:0}.books-feature-copy{padding:65px 0 0}.books-feature h2{font-size:clamp(2.5rem,9vw,3.8rem);max-width:530px}.books-feature p{font-size:1rem;max-width:530px}.book-fan{height:330px;margin:18px 0 35px}.fan-cover{width:31%;max-width:180px}.fan-orange{left:2%;top:18%}.fan-blue{left:26%;top:5%}.fan-green{left:51%;top:20%}.fan-cream{left:68%;top:30%}}
@media(max-width:420px){.book-fan{height:230px;margin-bottom:27px}.books-feature-actions{gap:9px}.books-feature-actions>span{font-size:.72rem}.fan-cover{border-radius:6px}.fan-cover img{border-radius:6px}}
@media(prefers-reduced-motion:reduce){.fan-cover:hover,.fan-cover:focus-visible{transform:var(--fan-pose)}}
/* The four-book fan changes as a group every ten seconds. */
.book-fan-group{position:absolute;inset:0;opacity:0;transform:translateX(18px);pointer-events:none;visibility:hidden;transition:opacity .65s ease,transform .65s ease,visibility .65s ease}.book-fan-group.is-active{opacity:1;transform:translateX(0);pointer-events:auto;visibility:visible}.book-fan-group .fan-cover img{aspect-ratio:1024/1320;object-fit:cover}.class-visual{height:auto;aspect-ratio:4/3}.class-visual img{object-fit:cover}
@media(prefers-reduced-motion:reduce){.book-fan-group{transition:none}}
/* Place the complete group portrait on the left with left-aligned hero copy. */
.hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:clamp(26px,3vw,54px);padding:38px max(24px,calc((100vw - 1380px)/2));min-height:610px}.hero-visual{grid-column:1;grid-row:1;min-height:0;height:auto;align-self:center}.hero-visual>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;border-radius:20px}.hero-copy{grid-column:2;grid-row:1;justify-self:start;align-self:center;width:100%;padding:30px 0;text-align:left}.hero h1{font-size:clamp(2.5rem,3.65vw,4.25rem);max-width:610px}.hero-note{position:static;box-shadow:none;background:transparent;border-left:3px solid var(--orange);border-radius:0;padding:0 0 0 15px;margin-top:27px;font-size:.86rem}.hero-note strong{color:var(--deep)}
@media(max-width:760px){.hero{padding:0;gap:0;min-height:0}.hero-copy{order:1;width:calc(100% - 36px);padding:60px 0 30px}.hero-visual{order:2;width:calc(100% - 36px);height:auto;min-height:0;align-self:center;margin-bottom:35px}.hero-visual>img{height:auto;aspect-ratio:4/3;object-fit:contain}.hero-note{margin-top:20px}}
/* Revised hero orientation: text stays left, group portrait sits on the right. */
.hero{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}.hero-copy{grid-column:1;grid-row:1}.hero-visual{grid-column:2;grid-row:1}
/* Two complete lesson images at 4:3, moving horizontally. */
.lesson-head-actions{display:flex;align-items:center;gap:14px}.lesson-grid{display:flex;grid-template-columns:none;gap:20px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 18px}.lesson-grid::-webkit-scrollbar{display:none}.lesson-grid article{flex:0 0 calc((100% - 20px)/2);min-height:0;height:auto;aspect-ratio:auto;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}.lesson-grid article img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transform:none}.lesson-grid article:hover img{transform:none}.lesson-grid article:after{display:none}.lesson-grid article>div{position:static;padding:16px 20px 19px}.lesson-grid small{color:var(--deep)}.lesson-grid h3{color:var(--ink);margin:4px 0 0;font-size:1.12rem}
@media(max-width:760px){.hero{display:flex;flex-direction:column}.hero-copy{order:1}.hero-visual{order:2}.lesson-head-actions{gap:3px}.lesson-head-actions .text-link{padding-right:0}}
@media(max-width:539px){.lesson-grid article{flex-basis:100%}.lesson-grid article>div{padding:14px 16px}}
/* Full-bleed hero: darken only as much as needed behind the overlaid text. */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-start;min-height:720px;padding:60px max(28px,calc((100vw - 1240px)/2));background:#193024;color:#fff;overflow:hidden}.hero-visual{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;margin:0}.hero-visual>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 35%;border-radius:0}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,29,22,.91) 0%,rgba(12,29,22,.81) 28%,rgba(12,29,22,.51) 51%,rgba(12,29,22,.12) 76%,rgba(12,29,22,.05) 100%)}.hero-copy{position:relative;z-index:1;grid-column:auto;grid-row:auto;justify-self:auto;align-self:auto;width:min(630px,100%);max-width:630px;padding:0;margin:0;text-align:left}.hero .eyebrow{color:#ffdbbb}.hero h1{color:#fff;font-size:clamp(2.7rem,4vw,4.35rem);text-shadow:0 2px 12px rgba(0,0,0,.16)}.hero h1 em{color:#ffba79}.hero-copy p{color:#fff3e9}.hero .btn.outline{color:#fff;border-color:rgba(255,255,255,.78);background:rgba(8,23,17,.14)}.hero .btn.outline:hover{background:rgba(255,255,255,.17)}.hero .text-link{color:#fff}.hero-note{border-left-color:#ffad65}.hero-note strong,.hero-note span{color:#fff}
@media(max-width:760px){.hero{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;min-height:780px;padding:28px 18px}.hero-visual{order:0;width:100%;height:100%;min-height:0;margin:0;align-self:stretch}.hero-visual>img{height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 28%}.hero-visual:after{background:linear-gradient(180deg,rgba(11,28,21,.04) 0%,rgba(11,28,21,.22) 27%,rgba(11,28,21,.77) 56%,rgba(11,28,21,.96) 100%)}.hero-copy{order:0;width:100%;padding:0 0 12px}.hero h1{font-size:clamp(2.35rem,9vw,3.45rem)}}

/* Align navigation with hero copy and trim unused vertical space in selected sections. */
@media(min-width:761px){.header-inner{width:min(1240px,calc(100% - 56px))}.nav{justify-content:flex-start}}
.class-section{padding-block:58px}
.schools,.opinions-section{padding-block:58px}
.books-feature-actions{gap:12px}
.book-buy{background:#fff;color:#ae4909;border-radius:100px;padding-inline:24px}
.book-buy:hover{background:#fff4e6}
.book-browse{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.78)}
.book-browse:hover{background:rgba(255,255,255,.16)}
@media(max-width:760px){.class-section,.schools,.opinions-section{padding-block:44px}}

/* Header links sit beside the account controls while the logo stays aligned with the content. */
@media(min-width:1051px){.header-inner{gap:12px}.nav{justify-content:flex-end;gap:clamp(10px,1.1vw,18px);margin-left:auto}.header-actions{margin-left:0}}
/* Two-column hero with an understated dark backdrop and the complete group photograph. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:660px;padding:0;align-items:stretch;background:#273c31}
.hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:none;padding:65px clamp(30px,4vw,72px) 65px max(28px,calc((100vw - 1240px)/2));background:linear-gradient(135deg,#263b30 0%,#344c3e 100%)}
.hero h1{font-size:clamp(2.6rem,3.6vw,4.1rem);max-width:610px}
.hero-visual{position:relative;inset:auto;z-index:0;width:100%;height:100%;min-height:660px;margin:0;background:#e5e6d5;display:grid;place-items:center}
.hero-visual>img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0}
.hero-visual:after{content:none}
/* Tighten the empty space surrounding the two photo carousels. */
#lessons,#activities{padding-block:46px}
/* Combine organisation and Explore links while providing a dedicated social column. */
.footer-grid{grid-template-columns:minmax(315px,1.45fr) minmax(170px,.8fr) minmax(230px,1fr) minmax(190px,.9fr);gap:clamp(18px,2vw,34px)}
.footer-link-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.footer-social a{display:flex;align-items:center;gap:11px}
.footer-social svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer-social a:nth-of-type(2) svg{fill:currentColor;stroke:none}
.footer-social .insta-dot{fill:currentColor;stroke:none}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.hero-copy{padding-left:32px}.hero h1{font-size:clamp(2.3rem,4.2vw,3.5rem)}}
@media(max-width:900px){.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{order:1;width:100%;padding:52px max(24px,calc((100vw - 680px)/2)) 44px}.hero-visual{order:2;width:100%;height:auto;min-height:0;aspect-ratio:4/3;margin:0;align-self:stretch}.hero-visual>img{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain}.hero h1{font-size:clamp(2.4rem,6vw,3.6rem)}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hero-copy{padding:43px 20px}.hero h1{font-size:clamp(2.2rem,9vw,3.4rem)}.hero-visual{aspect-ratio:4/3}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-link-columns{grid-template-columns:repeat(2,minmax(0,1fr))}#lessons,#activities{padding-block:35px}}
#lessons,#activities{padding-top:24px;padding-bottom:30px}
@media(max-width:560px){#lessons,#activities{padding-top:22px;padding-bottom:25px}}

/* A muted RGB blend adds depth behind the hero copy. */
.hero-copy{background:linear-gradient(125deg,rgb(34,60,56) 0%,rgb(58,78,72) 36%,rgb(94,75,64) 72%,rgb(119,75,55) 100%)}
/* Featured videos: the poster rotates; playback stays in place. */
.video-section{padding:70px 0;background:#f8f5ee}
.video-container{max-width:1040px}
.video-heading{text-align:center;margin-bottom:26px}
.video-heading h2{margin:6px 0 0}
.video-stage{position:relative;width:100%;aspect-ratio:16/9;background:#161918;border-radius:18px;overflow:hidden;box-shadow:0 19px 48px rgba(34,29,20,.14)}
.video-stage>img,.video-stage>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-stage>img{object-fit:cover}
.video-play{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;border:0;background:transparent;color:#fff;cursor:pointer}
.video-play svg{width:68px;height:48px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.25));transition:transform .2s ease}
.video-play svg path:first-child{fill:#e62117}
.video-play svg path:last-child{fill:#fff}
.video-play:hover svg,.video-play:focus-visible svg{transform:scale(1.1)}
.video-play:focus-visible{outline:4px solid #f5a766;outline-offset:-6px}
.video-details{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:19px}
.video-details .eyebrow{font-size:.72rem}
.video-details h3{font-size:1.22rem;margin:7px 0 6px;letter-spacing:0}
.video-details a{color:var(--deep);font-weight:700;font-size:.89rem}
.video-details a:hover{text-decoration:underline}
.video-navigation{display:flex;gap:9px;flex:none}
.video-navigation button{width:43px;height:43px;border-radius:50%;background:white;border:1px solid #e3dfd8;font-size:1.25rem}
.video-navigation button:hover{color:var(--orange);border-color:var(--orange)}
/* Explore links form one desktop row above the other footer columns. */
.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.footer-explore{grid-column:1/-1;border-bottom:1px solid #4d554f;padding-bottom:22px}
.footer-explore h3{margin-bottom:13px}
.footer-explore-links{display:flex;justify-content:space-between;align-items:center;gap:14px;white-space:nowrap}
.footer-explore-links a{margin:0}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-explore-links{flex-wrap:wrap;justify-content:flex-start;gap:10px 23px}}
@media(max-width:560px){.video-section{padding:45px 0}.video-heading{margin-bottom:18px}.video-stage{border-radius:12px}.video-details h3{font-size:1rem}.video-play svg{width:56px}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-explore-links{white-space:normal;gap:8px 18px}}

/* A single, clearly grouped Explore row precedes the other footer links. */
.footer-explore{padding-bottom:25px}
.footer-explore h3{margin:0 0 15px}
.footer-explore-links{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:9px}
.footer-explore-links a{flex:none;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:8px 11px;min-height:39px;background:#2d3830;border-radius:8px;color:#f6f5ef;font-size:.81rem;line-height:1.2;font-weight:700;white-space:nowrap;transition:background .2s}
.footer-explore-links a:hover,.footer-explore-links a:focus-visible{background:#4d5d4f;text-decoration:none}
/* The larger heading replaces the former small eyebrow and subtitle. */
.video-heading h2{font-size:clamp(2.2rem,3.8vw,3.45rem);letter-spacing:.075em;color:var(--deep);margin:0}
.video-stage{box-shadow:0 8px 0 rgba(93,77,58,.14),0 28px 34px -13px rgba(32,28,22,.28),0 52px 66px -30px rgba(32,28,22,.28)}
.video-details{padding-top:28px}
.video-details h3{margin-top:0}
@media(max-width:1100px){.footer-explore-links{flex-wrap:wrap;justify-content:flex-start;gap:10px}}
@media(max-width:560px){.video-heading h2{font-size:clamp(1.85rem,8vw,2.55rem)}.video-details{padding-top:26px}.footer-explore-links a{font-size:.78rem}}

/* Refine the header, split hero, headings and authentic daily calendar. */
.site-header{background-color:rgba(255,252,247,.98);background-image:linear-gradient(rgba(221,199,166,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(221,199,166,.14) 1px,transparent 1px);background-size:24px 24px;border-bottom:3px solid #dc670d}
@media(min-width:1241px){.brand{flex:0 0 320px}.brand img{width:320px}.header-inner{gap:9px}.nav{gap:clamp(8px,.8vw,14px)}.nav a{font-size:.76rem}}
@media(min-width:1051px) and (max-width:1240px){.brand{flex:0 0 235px}.brand img{width:235px}.header-inner{gap:9px}.nav{gap:8px}}
.hero{gap:0;background:rgb(58,78,72)}
.hero-copy{padding-top:54px;padding-bottom:54px}
.hero h1{margin-top:0}
.hero-visual{overflow:hidden}
.hero-note{position:absolute;z-index:2;right:24px;bottom:24px;left:auto;margin:0;padding:12px 17px;border-left:3px solid #ffad65;border-radius:9px;background:rgba(31,54,44,.85);box-shadow:0 12px 26px rgba(17,30,24,.21);font-size:.88rem;text-align:left}
.hero-note strong,.hero-note span{color:#fff}
.tools-grid{padding-top:40px}
.video-heading h2{display:inline-block;padding:10px 38px;border-radius:13px;color:#265241;background:linear-gradient(90deg,rgba(227,186,128,.16),rgba(247,225,192,.75),rgba(227,186,128,.16));box-shadow:0 10px 24px rgba(78,53,24,.13);text-shadow:0 2px 3px rgba(255,255,255,.8)}
.calendar-image{margin:20px 0 0}
.calendar-image img{display:block;width:100%;height:auto;aspect-ratio:1024/718;object-fit:contain;border-radius:14px;box-shadow:0 12px 26px rgba(28,40,30,.15)}
.calendar-image figcaption{color:var(--muted);font-size:.78rem;margin:10px 2px 0}
.calendar-controls{margin:19px 0 0}
.calendar-controls button:disabled{opacity:.45;cursor:default}
.calendar-controls button:disabled:hover{border-color:#e3dfd8;color:var(--ink)}
#activities .eyebrow{font-size:.91rem;letter-spacing:.12em}
@media(max-width:900px){.hero-note{right:20px;bottom:20px}.tools-grid{padding-top:35px}}
@media(max-width:560px){.video-heading h2{padding:9px 18px}.hero-note{right:12px;bottom:12px;padding:8px 10px;font-size:.72rem}.tools-grid{padding-top:28px}.calendar-image{margin-top:16px}}

/* Review refinements: compact section rhythm and an inline registration action. */
.video-heading h2{color:#193d67}
.hero-note{bottom:52px}
#opinions{padding-top:30px}
#activities{padding-bottom:16px}
#activities .activities-track{padding-bottom:4px}
#activities .section-actions{margin-top:0}
#activities .section-actions .text-link{padding:4px 0}
.class-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.class-actions .schedule{display:flex;flex:1 1 300px;gap:9px;margin:0;min-width:0}
.class-actions .schedule>div{min-width:0;flex:1 1 0;gap:8px;padding:10px 12px}
.class-actions .schedule strong{font-size:1.8rem}
.class-actions .schedule span{font-size:.74rem}
.class-actions>.btn{gap:7px;white-space:nowrap;padding:10px 14px;align-self:stretch}
@media(max-width:760px){#opinions{padding-top:26px}.hero-note{bottom:30px}.class-actions .schedule{flex:1 1 100%}.class-actions>.btn{margin-left:auto}}
@media(max-width:560px){.hero-note{bottom:28px}#activities{padding-bottom:12px}}

/* Compact the galleries and keep the activity archive beside its heading. */
.tools-grid{padding-bottom:24px}
.video-section{padding-top:48px}
#lessons .section-head,#opinions .section-head,#activities .section-head{margin-bottom:13px}
#lessons .section-head h2,#opinions .section-head h2,#activities .section-head h2{margin-bottom:0}
.activity-head-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:flex-end}
#activities .activity-head-actions .text-link{padding:8px 0}
.footer-social .brand-mark{width:29px;height:29px;flex:none;fill:none;stroke:none}
.footer-social a{gap:12px;min-height:36px;font-weight:800;line-height:1.4}
.footer-social a span{color:#f6f5ef}
.footer-social .social-youtube span{color:#ff7777}
.footer-social .social-facebook span{color:#86b7ff}
.footer-social .social-instagram span{color:#f5a4cd}
.footer-social .social-x span{color:#fff}
@media(max-width:760px){.tools-grid{padding-bottom:25px}.video-section{padding-top:40px}.activity-head-actions{gap:10px}}
@media(max-width:560px){#lessons .section-head,#opinions .section-head,#activities .section-head{margin-bottom:10px}.activity-head-actions{justify-content:flex-start}.activity-head-actions .text-link{font-size:.75rem;padding:4px 0}}

/* Word Bank page and a sourced visitor total in both footers. */
.word-more-link{display:inline-flex;align-items:center;gap:16px;margin-top:12px;padding:11px 17px;border-radius:9px;background:var(--orange);color:#fff;font-size:.89rem;font-weight:800;transition:transform .2s,background .2s}
.word-more-link:hover,.word-more-link:focus-visible{background:var(--deep);transform:translateY(-2px)}
footer{padding-top:30px}
.footer-grid{padding-bottom:35px}
.footer-explore{padding-bottom:18px}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px}
.footer-bottom>span:last-child{justify-self:end}
.footer-bottom .visitor-count{display:flex;flex-direction:column;align-items:center;gap:0;margin:0;color:#f6f5ef;text-decoration:none;white-space:nowrap;line-height:1.3}
.visitor-count>span{color:#ffd7b3;font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.visitor-count strong{font:800 1.32rem/1.2 Manrope,system-ui,sans-serif;color:#fff}
.visitor-count small{color:#acb6ad;font-size:.67rem;font-weight:500}
.word-page-hero{background:#fff3e5;border-bottom:1px solid #f2dfc6}
.word-page-intro{position:relative;padding:55px 0 95px}
.word-page-hero .eyebrow{display:block;margin:30px 0 7px}
.word-page-hero h1{font-size:clamp(2.8rem,5vw,4.65rem);margin:0 0 12px;color:#2e4036}
.word-page-hero p{font-size:1.1rem;color:#5b635e;margin:0}
.word-back{color:var(--deep);font-size:.85rem;font-weight:800}
.word-back:hover{text-decoration:underline}
.word-total{position:absolute;right:0;bottom:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;border-radius:18px;box-shadow:0 15px 38px rgba(78,51,20,.11);padding:19px 32px;color:#4d5950}
.word-total strong{font:800 2.3rem/1 Manrope;color:var(--orange)}
.word-total span{font-size:.76rem;font-weight:700}
.word-library{position:relative;margin-top:-43px;margin-bottom:80px;padding:35px;background:#fff;border-radius:23px;box-shadow:0 15px 46px rgba(56,46,29,.1)}
.word-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.word-library-search{display:flex;align-items:center;gap:12px;width:min(100%,590px);border:1px solid #ddd9d0;border-radius:11px;padding:0 17px;background:#fff}
.word-library-search:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px #dc670d1e}
.word-library-search svg{width:20px;height:20px;fill:none;stroke:#656e67;stroke-width:2;stroke-linecap:round;flex:none}
.word-library-search input{border:0;outline:0;min-height:52px;min-width:0;width:100%;background:transparent}
#bank-feedback{font-size:.83rem;color:#5e675f;font-weight:700;white-space:nowrap}
.word-library-letters{margin:24px 0 22px;gap:5px}
.word-library-letters button{font-size:.9rem;padding:6px 9px}
.word-library-table{overflow-x:auto;border:1px solid #e9e6de;border-radius:13px}
.word-library-table th{background:#fff5e9;color:#4c584e;font-size:.78rem;padding:17px 23px}
.word-library-table td{padding:14px 23px;font-size:1rem}
.word-library-table td:first-child{font-size:1.18rem;font-weight:700;width:43%}
.word-library-table tr:last-child td{border-bottom:0}
.word-library-table tbody tr:nth-child(even){background:#fffdf9}
.word-library-table tbody tr:hover{background:#fff7ec}
.word-library-table .word-empty{color:var(--muted);text-align:center;padding:35px}
@media(max-width:760px){.word-page-intro{padding:35px 0 80px}.word-page-hero .eyebrow{margin-top:24px}.word-total{right:0;bottom:20px;padding:8px 17px}.word-total strong{font-size:1.5rem}.word-total span{font-size:.68rem}.word-library{margin-top:-10px;margin-bottom:55px;padding:22px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-bottom .visitor-count{align-items:flex-start;order:0}.footer-bottom>span:last-child{justify-self:auto}}
@media(max-width:480px){.word-page-intro{padding-bottom:105px}.word-total{left:0;right:auto}.word-library-toolbar{flex-direction:column;align-items:stretch;gap:7px}.word-library-letters button{padding:5px 7px}.word-library-table th,.word-library-table td{padding:12px 13px}}

/* Keep the Explore links together, and bring the next section closer to the video link. */
.footer-explore h3{margin:0 0 12px}
.video-section{padding-bottom:20px}
#schools{padding-top:40px}
@media(max-width:760px){.video-section{padding-bottom:17px}#schools{padding-top:35px}}

/* Explore is the first footer column, with one link per line. */
.footer-grid{grid-template-columns:minmax(245px,1.15fr) repeat(3,minmax(0,1fr));align-items:start}
.footer-explore{grid-column:auto;border-bottom:0;padding-bottom:0}
.footer-explore-links{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:7px;white-space:normal}
.footer-explore-links a{display:block;width:100%;min-height:36px;padding:9px 12px;text-align:left;white-space:normal}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-explore-links{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:7px}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-explore-links{max-width:340px}}

/* Present Explore in the same simple link style as the other footer columns. */
.footer-explore h3{margin-bottom:20px}
.footer-explore-links{gap:0}
.footer-explore-links a{min-height:0;padding:0;margin:0 0 8px;border-radius:0;background:transparent;color:#c7cfc8;font-size:.84rem;font-weight:400;line-height:1.8}
.footer-explore-links a:hover,.footer-explore-links a:focus-visible{background:transparent;color:#fff;text-decoration:underline}

/* Remove excess space around the publications introduction and actions. */
.books-feature-grid{min-height:0}
.books-feature-copy{padding-top:35px;padding-bottom:28px}
@media(max-width:760px){.books-feature-copy{padding-top:34px;padding-bottom:0}}
