:root{--navy:#124978;--green:#4b8729;--aqua:#069ec8;--sans:'Zen Kaku Gothic New',sans-serif;--serif:'Shippori Mincho B1',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--navy);background:#f1fbff;font-family:var(--sans);font-weight:500;line-height:1.9}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:800}h2{font-size:clamp(25px,3.05vw,42px);line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ef9517;outline-offset:4px}.green{color:var(--green)}.aqua{color:var(--aqua)}.mobile-only{display:none}.skip{position:fixed;top:-80px;z-index:99;background:white;padding:10px}.skip:focus{top:0}.scenery{position:fixed;inset:0;background:linear-gradient(#f5fcff88,#f5fcffbb),url('assets/nature-hero.jpg') center/cover;z-index:-1;pointer-events:none}header{height:74px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:#ffffffed;border-bottom:1px solid #85c7db44;position:relative;z-index:20}.brand{font-family:var(--serif);font-size:13px;font-weight:700;display:flex;align-items:baseline;gap:7px;position:relative}.brand b{font:500 39px/.9 Georgia,serif}.brand b span{color:#397927}.brand i{width:23px;height:11px;background:linear-gradient(135deg,#9cbf32,#327624);border-radius:100% 0 100% 0;position:absolute;right:-16px;bottom:5px;transform:rotate(-25deg)}nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.nav-cta{background:#ff8919;color:white;padding:9px 21px;border-radius:30px}.nav-cta span{margin-left:12px}.menu{display:none}.hero{position:relative;min-height:620px;height:min(56vw,820px);overflow:hidden;background:#d9f3fa}.hero-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;animation:hero-breathe 18s ease-in-out infinite alternate}.hero-copy{position:absolute;top:13%;left:8%;width:43%;text-align:center;z-index:3}.hero-location{font-size:12px;font-weight:700;letter-spacing:.16em;margin-bottom:14px}.hero h1 small{display:block;font-size:clamp(24px,2.8vw,42px);line-height:1.3;letter-spacing:.14em}.seed-word{display:block;font:500 clamp(100px,12.5vw,185px)/1.02 Georgia,serif;letter-spacing:-.055em;color:#104a81;position:relative;width:max-content;margin:auto}.seed-word>span{color:#276e67}.seed-word i{position:absolute;bottom:13%;right:-8%;width:25%;height:25%;background:linear-gradient(135deg,#a8cc28,#4c8e20 65%,#287828);border-radius:100% 0 100% 0;transform:rotate(-20deg);box-shadow:inset 0 0 0 1px #fff8}.seed-word i:after{content:'';height:1px;width:90%;position:absolute;left:5%;top:55%;background:#fff8;transform:rotate(-30deg)}.tagline{display:block;font-size:clamp(19px,2.2vw,33px);letter-spacing:.12em;white-space:nowrap}.hero-sub{font-family:var(--serif);font-size:18px;line-height:1.8;font-weight:600;letter-spacing:.05em;margin:23px 0}.cta{display:flex;align-items:center;justify-content:center;gap:25px;width:max-content;max-width:100%;border:1px solid #ffb462;background:linear-gradient(110deg,#ffa324,#ff7813);color:white;border-radius:40px;padding:15px 27px;box-shadow:0 6px 18px #f2932540,inset 0 1px 0 #fff9;font-size:15px;font-weight:900;transition:transform .25s,box-shadow .25s}.cta:hover{transform:translateY(-3px);box-shadow:0 10px 20px #f2932550}.cta span{font-size:24px;line-height:1}.hero .cta{margin:auto;font-size:14px;padding:12px 27px}.hero-light{position:absolute;inset:0;background:radial-gradient(ellipse at 31% 44%,#ffffff20,transparent 60%);pointer-events:none}.scroll{position:absolute;bottom:20px;left:50%;font-size:10px;letter-spacing:.18em;text-align:center;z-index:3}.scroll span{display:block;animation:bob 2s infinite}.ai-label{position:absolute;bottom:12px;right:15px;font-size:9px;color:#144f6d;background:#ffffffd9;padding:2px 8px;border-radius:10px}.sparkles{position:absolute;inset:0;pointer-events:none}.sparkles i{position:absolute;width:5px;height:5px;background:white;border-radius:50%;box-shadow:0 0 15px 4px #fff9;animation:sparkle 5s ease-in-out infinite}.sparkles i:nth-child(1){top:30%;left:7%}.sparkles i:nth-child(2){top:65%;left:59%;animation-delay:1s}.sparkles i:nth-child(3){top:12%;left:64%;animation-delay:2s}.sparkles i:nth-child(4){top:74%;left:17%;animation-delay:3s}.sparkles i:nth-child(5){top:83%;left:80%;animation-delay:1.5s}.sparkles i:nth-child(6){top:46%;left:43%;animation-delay:2.5s}.philosophy{position:relative;min-height:330px;overflow:hidden;background:#eff8f6}.philosophy>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 60%}.philosophy-copy{position:relative;width:56%;margin-left:42%;padding:75px 4% 65px 0;text-align:center}.philosophy h2{font-size:clamp(32px,4.2vw,58px);white-space:nowrap}.philosophy p{font-family:var(--serif);font-weight:700;font-size:14px;line-height:2.15;margin-top:18px}.wave-line{width:68%;height:13px;border-top:2px solid #169ebb;border-radius:50%;margin:7px auto 0;transform:rotate(-4deg)}.nature-body{background:linear-gradient(90deg,#f4fcff40,#ffffffcf 15%,#ffffffcf 85%,#f4fcff40)}.section{max-width:1210px;margin:0 auto;padding:55px 40px}.heading{text-align:center;margin-bottom:30px}.heading>p:not(.eyebrow){font-size:14px;font-weight:700;margin-top:8px}.eyebrow{font-size:10px;letter-spacing:.18em;color:#639eab;margin-bottom:10px}.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.worry{background:#fffffff0;border:1px solid #dcf3fb;border-radius:15px;overflow:hidden;box-shadow:0 6px 23px #338da313}.worry-image{height:180px;position:relative;overflow:hidden}.worry-image img{width:100%;height:100%;object-fit:cover;object-position:35% 55%;filter:saturate(.7)}.worry:nth-child(2) img{object-position:57% 40%}.worry-image.third img{object-position:85% 50%}.worry-image>span{position:absolute;right:23px;top:0;font:italic 75px var(--serif);color:#247398cc}.worry p{text-align:center;font-size:16px;font-weight:700;line-height:1.65;padding:17px 10px}.worry strong{font-size:22px;color:#038fc2}.soft-note{text-align:center;font-size:13px;color:#527386;margin-top:24px}.inline-seed{font-family:Georgia,serif;font-size:1.24em;font-weight:500;letter-spacing:-.03em;margin:0 .09em}.strengths{padding-top:15px}.strength-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.strength{position:relative;text-align:center}.strength-no{font:500 29px Georgia;color:#129bb8;display:block;margin-bottom:9px}.strength h3{font-size:18px;line-height:1.65;margin-bottom:17px;font-weight:900}.round-photo{aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid #fff;box-shadow:0 0 0 1px #a9dedc,0 12px 30px #4aa5b019}.round-photo img{height:100%;width:100%;object-fit:cover;object-position:55% 45%;transition:transform 1s}.strength:hover img{transform:scale(1.08)}.round-photo.right img{object-position:75% 50%}.round-photo.left img{object-position:12% 40%}.lessons{padding-top:25px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lesson{background:white;overflow:hidden;border-radius:12px;box-shadow:0 5px 18px #3c91af1c;border:1px solid #d2eefa}.lesson>h3{background:linear-gradient(110deg,#144f87,#037ba5);color:white;font-size:18px;text-align:center;padding:8px;letter-spacing:.1em}.lesson-play{position:relative;display:block;width:100%;border:0;padding:0;aspect-ratio:16/10;overflow:hidden}.lesson-play img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.lesson-play:hover img{transform:scale(1.05)}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffed;color:#1676ad;box-shadow:0 4px 18px #14578733;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;padding-left:3px}.lesson-play small{position:absolute;left:7px;bottom:7px;background:#ffffffec;border-radius:6px;padding:2px 8px;font-size:9px}.lesson>p{font-size:14px;padding:17px 19px;line-height:1.85}.movie-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;font-size:12px}.movie-link button{background:#fff;border:1px solid #7bc5d7;border-radius:30px;padding:9px 20px;font-size:12px}.library{padding:25px 0}.filters{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.filters button{background:white;border:1px solid #7cb7cb;padding:7px 22px;border-radius:20px;font-size:12px}.filters button[aria-pressed=true]{background:#176797;color:white}.library #video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.library-card{background:white;border:1px solid #badee9;border-radius:10px;overflow:hidden;padding:0;text-align:left}.library-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.library-card span{font-size:13px;font-weight:700;display:block;padding:12px}.growth{padding-top:25px}.growth-layout{display:grid;grid-template-columns:53% 47%;align-items:center}.growth-choices{display:flex;flex-direction:column;gap:13px;position:relative;z-index:2}.growth-choice{display:flex;align-items:center;text-align:left;background:#ffffffd9;border:1px solid #c6eaf0;box-shadow:0 3px 15px #659fab11;padding:14px 20px;border-radius:12px;transition:transform .3s,border-color .3s}.growth-choice.active{border-color:#42abbe;transform:translateX(8px);box-shadow:0 5px 17px #408ca61a}.growth-choice span:not(.arrow){flex:1;font-size:15px;font-weight:700;line-height:1.65}.growth-choice small{display:block;font-size:10px;margin-bottom:4px}.before{color:#587383}.after{color:#368661}.growth-choice .arrow{font-size:39px;color:#16a0c3;width:50px;text-align:center;line-height:1}.growth-visual{position:relative;margin-left:20px}.growth-visual img{aspect-ratio:1.2;object-fit:cover;border-radius:60% 50% 50% 35%;border:8px solid #fff8}.growth-message{text-align:center;font-family:var(--serif);font-size:17px;color:#477b26;line-height:1.8;margin-top:13px;transform:rotate(-3deg)}.growth-message span,.growth-message strong{display:block}.closing-grid{display:grid;grid-template-columns:1fr 1fr 1.13fr;gap:22px;padding-bottom:65px}.info-panel{background:linear-gradient(#e1f6ffbb,#ffffffd9);border:1px solid #d0ebf1;border-radius:13px;padding:22px 19px}.info-panel h2{font-family:var(--sans);font-size:19px;text-align:center;line-height:1.65;margin-bottom:20px;font-weight:900}.course-tabs{display:flex;gap:4px}.course-tabs button{border:0;background:#e0edf3;color:#357393;border-radius:7px;padding:8px 4px;font-size:11px;flex:1}.course-tabs button[aria-pressed=true]{background:#fff3d6;color:#af630a;box-shadow:inset 0 0 0 1px #efc370}.course-body{padding-top:20px}.course-kicker{font-size:9px;letter-spacing:.13em;color:#23999a}.course-body h3{font-family:var(--serif);font-size:23px;line-height:1.6;margin:10px 0}.course-body p{font-size:12px;min-height:70px}.course-body img{aspect-ratio:1.55;object-fit:cover;border-radius:10px;margin-top:15px}.faq details{background:white;border:1px solid #e2f0f6;border-radius:8px;margin-bottom:9px}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:7px;align-items:center;cursor:pointer;font-size:12px;font-weight:700;padding:12px 10px}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:#119cbf;font-size:18px}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;padding:0 12px 13px;line-height:1.8}.little-seed{text-align:center;padding-top:27px;font-family:var(--serif)}.little-seed span{font-size:20px;font-weight:700}.little-seed p{font-size:11px;margin-top:8px}.final-cta{text-align:center;background:#ffffffe0}.final-cta h2{font-family:var(--serif);font-size:24px;color:#28795b}.teacher-photo{overflow:hidden;border-radius:10px}.teacher-photo img{width:100%;aspect-ratio:1.8;object-fit:cover;object-position:30% 30%}.final-cta p{font-size:13px;margin:17px 0}.final-cta .cta{width:100%;font-size:12px;padding:13px 10px;gap:12px}.final-cta>small{font-size:9px;margin-top:8px;display:block}.final-cta address{font-style:normal;font-size:11px;margin-top:18px;line-height:1.8}footer{position:relative;min-height:345px;overflow:hidden;text-align:center;background:#d9f5fe;padding:60px 20px 40px}footer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;opacity:.7;filter:saturate(.85)}footer:after{content:'';position:absolute;inset:0;background:linear-gradient(#ffffffbc,#ffffffb9,transparent)}.footer-brand{position:relative;z-index:2}.footer-brand>p:first-child{font-family:var(--serif);font-size:14px;font-weight:700;letter-spacing:.13em}.footer-brand>a{font-family:var(--serif);font-size:23px;font-weight:700}.footer-brand>a span{font:55px Georgia;letter-spacing:-.04em}.footer-links{display:flex;gap:25px;justify-content:center;font-size:10px;margin-top:25px}.draft-note{position:relative;z-index:2;max-width:640px;margin:22px auto 0;background:#ffffffb9;padding:7px 15px;font-size:10px;border-radius:12px}.motion{position:fixed;z-index:30;right:15px;bottom:15px;font-size:10px;border:1px solid #8dc5da;background:#fffffff0;border-radius:30px;padding:8px 12px}.mobile-cta{display:none}.video-dialog{border:1px solid #b7dee9;background:#f6fcff;color:var(--navy);border-radius:15px;padding:20px;width:min(900px,94vw);max-height:90svh;overflow:auto}.video-dialog::backdrop{background:#052e48bb;backdrop-filter:blur(10px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.dialog-top h2{font-family:var(--sans);font-size:19px}.close-dialog{background:white;border:1px solid #b5d7e4;border-radius:8px;padding:6px 12px;white-space:nowrap;font-size:12px}#player{width:100%;max-height:65svh;background:#0e3248;aspect-ratio:16/9}#video-description,#video-error{font-size:12px;margin-top:12px}.dialog-open{overflow:hidden}.reveal{opacity:1}@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}}.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1;transform:none}html:has(.motion-off){scroll-behavior:auto}@keyframes hero-breathe{to{transform:scale(1.035)}}@keyframes sparkle{0%,100%{opacity:0;transform:translateY(10px) scale(.6)}50%{opacity:.95;transform:translateY(-10px) scale(1.1)}}@keyframes bob{50%{transform:translateY(6px)}}
@media(max-width:1050px){nav{gap:17px}.hero{min-height:540px}.hero-copy{left:5%;width:46%;top:14%}.hero-sub{font-size:15px;margin:17px 0}.hero .cta{font-size:12px}.section{padding-left:30px;padding-right:30px}.philosophy-copy{padding-top:50px;padding-bottom:50px}.philosophy{min-height:270px}.philosophy p{font-size:12px}.worry-image{height:140px}.worry strong{font-size:19px}.strength-grid{gap:15px}.strength h3{font-size:16px}.closing-grid{gap:12px}.info-panel{padding:18px 12px}.info-panel h2{font-size:17px}.final-cta h2{font-size:20px}.final-cta .cta{font-size:11px;gap:5px}}
@media(max-width:760px){html{scroll-padding-top:20px}body{font-size:14px}header{height:62px;padding:0 6%}.brand{font-size:11px}.brand b{font-size:34px}.menu{display:block;background:transparent;border:0;font-size:23px;width:44px;height:44px}nav{display:none;position:absolute;top:62px;left:0;right:0;padding:20px 6%;background:#fffffffa;box-shadow:0 10px 20px #24546515}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px}nav .nav-cta{text-align:center}.hero{height:650px;min-height:0;background:#e8f9ff}.hero-art{height:390px;object-position:65% center;mask-image:linear-gradient(black 75%,transparent);-webkit-mask-image:linear-gradient(black 75%,transparent)}.hero-copy{left:6%;width:88%;top:300px}.hero-location{font-size:10px;margin-bottom:8px}.hero h1 small{font-size:23px}.seed-word{font-size:105px}.tagline{font-size:19px;letter-spacing:.12em}.hero-sub{font-size:13px;margin:13px 0 16px;line-height:1.9}.hero .cta{padding:11px 23px;font-size:13px;min-height:48px}.scroll{display:none}.ai-label{font-size:8px;top:12px;bottom:auto;right:10px}.philosophy{min-height:385px}.philosophy>img{height:265px;object-position:24% 50%;mask-image:linear-gradient(black 60%,transparent);-webkit-mask-image:linear-gradient(black 60%,transparent)}.philosophy-copy{width:100%;margin:0;padding:225px 20px 30px}.philosophy h2{font-size:32px}.philosophy p{font-size:11px;line-height:2;margin-top:10px}.wave-line{width:56%;height:9px;margin-top:5px}.section{padding:37px 6%}.heading{margin-bottom:24px}h2{font-size:26px;line-height:1.65}.heading>p:not(.eyebrow){font-size:12px;margin-top:9px}.eyebrow{font-size:8px;letter-spacing:.14em}.nature-body{background:linear-gradient(90deg,#f7fcff66,#ffffffdc 8%,#ffffffdc 92%,#f7fcff66)}.worry-grid{gap:9px}.worry{border-radius:10px}.worry-image{height:96px}.worry p{font-size:10px;padding:10px 3px;line-height:1.7}.worry strong{font-size:12px}.worry-image>span{font-size:44px;right:5px}.soft-note{font-size:11px;margin-top:20px}.strengths{padding-top:15px}.strength-grid{grid-template-columns:1fr 1fr;gap:24px 20px}.strength-no{font-size:22px;margin-bottom:6px}.strength h3{font-size:15px;margin-bottom:10px}.round-photo{border-width:5px}.mobile-only{display:block}.inline-seed{font-size:1.18em}.lessons{padding-top:15px}.lesson-grid{grid-template-columns:1fr;gap:21px}.lesson>h3{font-size:17px;padding:7px}.lesson-play{aspect-ratio:16/9}.lesson>p{font-size:13px;padding:15px 20px}.lesson>p br{display:none}.movie-link{flex-direction:column;gap:12px;text-align:center;margin-top:22px;font-size:11px}.movie-link button{font-size:11px}.library #video-grid{grid-template-columns:1fr;gap:15px}.filters{gap:6px}.filters button{font-size:11px;padding:7px 16px}.growth{padding-top:15px}.growth-layout{grid-template-columns:1fr;gap:25px}.growth-choice{padding:13px 14px}.growth-choice span:not(.arrow){font-size:13px}.growth-choice small{font-size:9px}.growth-choice .arrow{width:35px;font-size:32px}.growth-choice.active{transform:translateX(3px)}.growth-visual{margin:0 15px}.growth-visual img{aspect-ratio:1.4}.growth-message{font-size:15px}.closing-grid{grid-template-columns:1fr;gap:22px;padding-bottom:40px}.info-panel{padding:25px 22px}.info-panel h2{font-size:20px}.course-tabs button{font-size:12px;padding:9px}.course-body h3{font-size:25px}.course-body p{font-size:13px;min-height:0}.course-body img{aspect-ratio:1.7}.faq summary{font-size:13px;padding:13px 12px}.little-seed{padding-top:20px}.final-cta h2{font-size:27px}.final-cta .cta{font-size:14px;padding:15px 12px;gap:15px}.final-cta>small{font-size:10px}.final-cta p{font-size:14px}.final-cta address{font-size:12px}.teacher-photo img{aspect-ratio:1.7}.motion{bottom:80px;right:10px;font-size:9px;padding:7px 10px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:#fffffff0;backdrop-filter:blur(7px);padding:9px 15px calc(9px + env(safe-area-inset-bottom));z-index:25;border-top:1px solid #c3e5ee}.mobile-cta .cta{width:100%;font-size:13px;min-height:47px;padding:10px 15px}footer{min-height:350px;padding:45px 20px 110px}.footer-brand>a{font-size:18px}.footer-brand>a span{font-size:47px}.footer-brand>p:first-child{font-size:12px}.draft-note{font-size:9px}.dialog-top h2{font-size:14px}.video-dialog{padding:13px}.close-dialog{font-size:11px;padding:6px 9px}#video-description{font-size:11px}.dialog-open .mobile-cta,.dialog-open .motion{visibility:hidden}}
@media(max-width:350px){.hero{height:615px}.hero-art{height:350px}.hero-copy{top:270px}.tagline{font-size:17px}.seed-word{font-size:98px}.philosophy h2{font-size:27px}.philosophy p{font-size:10px}h2{font-size:23px}.worry strong{font-size:10px}.worry p{font-size:9px}.worry-image{height:80px}.strength-grid{gap:20px 13px}.strength h3{font-size:13px}.final-cta h2{font-size:24px}.final-cta .cta{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none}}

@media(max-width:760px){.hero-location{display:inline-block;background:#edfbffd9;padding:2px 10px;border-radius:20px}.hero-art{mask-image:linear-gradient(black 62%,transparent 96%);-webkit-mask-image:linear-gradient(black 62%,transparent 96%)}}

.cta,.nav-cta{color:#123553!important}

@media(max-width:360px){.final-cta h2{font-size:18px}}

/* Layered motion remains decorative and never delays an action. */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:80;background:linear-gradient(90deg,#74b733,#12b6ce,#ffae38);transform:scaleX(0);transform-origin:left;pointer-events:none}
.light-rain{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.light-rain i{position:absolute;left:var(--x);top:-30px;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle at 32% 27%,#fff 0 22%,#fffce0 42%,#b9efff 68%,#76dce000 85%);box-shadow:0 0 0 1px #55c8d68c,0 0 9px 2px #b2f3ffe0,0 0 21px 6px #e0fdff80;animation:orb-rain var(--duration) var(--delay) ease-in-out infinite;will-change:transform,opacity}.light-rain i:nth-child(3n){background:radial-gradient(circle at 30% 25%,#fff 0 22%,#fff2c1 45%,#f7dca055 70%,transparent 86%);box-shadow:0 0 0 1px #ead18b88,0 0 10px 2px #fff2c8d9,0 0 20px 6px #fff8d380}
.hero-copy>*{animation:hero-arrive 1.3s cubic-bezier(.2,.7,.2,1) both}.hero-copy h1{animation-delay:.16s}.hero-copy .hero-sub{animation-delay:.35s}.hero-copy .cta{animation-delay:.55s}.hero-light{animation:sunlight 8s ease-in-out infinite alternate}.seed-word i{transform-origin:bottom left;animation:leaf-wave 6s ease-in-out infinite}.philosophy>img,footer>img{translate:0 var(--parallax-y,0px);scale:1.06}.growth-visual>img{translate:0 var(--parallax-y,0px)}
.heading h2{position:relative}.heading h2:after{content:'';display:block;width:62px;height:2px;margin:13px auto 0;background:linear-gradient(90deg,#86ba41,#0cadd0);transform:scaleX(0);transition:transform 1s .3s;transform-origin:left}.heading.visible h2:after{transform:scaleX(1)}
.js .reveal{transition-duration:1s;transition-timing-function:cubic-bezier(.16,.7,.2,1);transition-delay:var(--stagger,0ms)}.js .motion-card.reveal{transform:translateY(35px) scale(.97)}.js .motion-card.reveal.visible{transform:none}.js .growth-visual.reveal{transform:translateX(24px)}.js .growth-visual.reveal.visible{transform:none}
.motion-section .round-photo img,.motion-section .teacher-photo img,.motion-section .course-body img{animation:photo-drift 12s ease-in-out infinite alternate;animation-play-state:paused}.motion-section.in-view .round-photo img,.motion-section.in-view .teacher-photo img,.motion-section.in-view .course-body img{animation-play-state:running}.strength:nth-child(even) img{animation-delay:-5s}.round-photo{transition:box-shadow .5s}.strength:hover .round-photo{box-shadow:0 0 0 5px #8bd6bf44,0 16px 30px #4aa5b02b}.strength-no{animation:soft-float 4s ease-in-out infinite;animation-play-state:paused}.in-view .strength-no{animation-play-state:running}.strength:nth-child(even) .strength-no{animation-delay:-2s}
.wave-line{transform-origin:left;animation:line-grow 1.5s both;animation-play-state:paused}.in-view .wave-line{animation-play-state:running}.lesson-play .play:after{content:'';position:absolute;inset:-7px;border:1px solid #ffffffb0;border-radius:50%;animation:play-ring 3s ease-out infinite;animation-play-state:paused}.in-view .play:after{animation-play-state:running}
.cta{position:relative;overflow:hidden}.cta:before{content:'';position:absolute;top:-50%;left:-65%;width:35%;height:200%;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:skewX(-23deg);animation:button-shine 7s ease-in-out infinite;pointer-events:none}.cta:hover span{translate:5px 0}.cta span{transition:translate .25s}.worry,.lesson,.info-panel{transition:box-shadow .35s,border-color .35s}.worry:hover,.lesson:hover,.info-panel:hover{border-color:#8ccedb;box-shadow:0 12px 30px #247b9b20}.faq summary span{transition:transform .3s}.video-dialog[open]{animation:dialog-arrive .35s ease-out}nav.open{animation:dialog-arrive .3s ease-out}
@keyframes hero-arrive{from{opacity:0;translate:0 18px;filter:blur(4px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes sunlight{from{opacity:.35}to{opacity:1;background-color:#fff8d514}}
@keyframes leaf-wave{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(-10deg)}}
@keyframes orb-rain{0%{transform:translate3d(0,-20px,0) scale(.55);opacity:0}10%,82%{opacity:.88}45%{transform:translate3d(var(--drift),48vh,0) scale(1.12)}100%{transform:translate3d(0,110vh,0) scale(.7);opacity:0}}
@keyframes photo-drift{from{transform:scale(1.02)}to{transform:scale(1.085)}}
@keyframes soft-float{50%{translate:0 -5px}}
@keyframes line-grow{from{scale:0 1;opacity:0}to{scale:1 1;opacity:1}}
@keyframes play-ring{0%{scale:.9;opacity:0}20%{opacity:.8}100%{scale:1.5;opacity:0}}
@keyframes button-shine{0%,75%{left:-65%;opacity:0}78%{opacity:1}95%,100%{left:130%;opacity:0}}
@keyframes dialog-arrive{from{opacity:0;translate:0 12px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
@media(max-width:760px){.light-rain i:nth-child(n+13){display:none}.js .growth-visual.reveal{transform:translateY(22px)}}
.motion-off .light-rain{display:none}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .reveal{opacity:1!important;transform:none!important}.motion-off .heading h2:after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.light-rain{display:none}.hero-copy>*{filter:none}.heading h2:after{transform:scaleX(1)}.js .motion-card.reveal,.js .growth-visual.reveal{transform:none}}

/* Mobile portrait key visual: a single framed scene with a centered message. */
.mobile-hero-title,.mobile-hero-cta{display:none}
@media(max-width:760px){
.hero{height:auto;min-height:0;aspect-ratio:9/16;max-height:none}
.hero-art{height:100%;width:100%;object-fit:cover;object-position:center;mask-image:none;-webkit-mask-image:none}
.hero-copy{top:36%;left:8%;width:84%;text-align:center}
.hero-location{font-size:9px;letter-spacing:.12em;margin:0 0 12px;padding:0;background:none}
.hero h1 .mobile-hero-title{display:block;font-family:var(--serif);font-size:clamp(35px,10.7vw,72px);line-height:1.5;letter-spacing:.035em;text-shadow:0 2px 16px #fff,0 0 30px #fff}
.mobile-hero-title>span{display:block}.mobile-hero-title>span:first-child{color:#397e40}.mobile-hero-title>span:last-child{color:#124978}
.hero h1 small{display:inline;font-size:12px;letter-spacing:.1em;vertical-align:baseline;margin-right:6px}
.hero .seed-word{display:inline-block;font-size:38px;line-height:1.2;letter-spacing:-.055em;margin-top:10px}
.hero .tagline,.hero-sub,.hero-copy>.cta{display:none}
.hero .mobile-hero-cta{display:flex;position:absolute;z-index:5;bottom:25px;left:50%;transform:translateX(-50%);width:max-content;font-size:12px;padding:10px 23px;min-height:44px;white-space:nowrap}
.hero .mobile-hero-cta:hover{transform:translateX(-50%) translateY(-3px)}
.hero .ai-label{font-size:7px;top:8px;right:8px;padding:1px 6px}
}
@media(min-width:500px) and (max-width:760px){.hero-location{font-size:13px}.hero .seed-word{font-size:52px}.hero h1 small{font-size:17px}.hero .mobile-hero-cta{bottom:40px;font-size:16px;padding:15px 30px}}
/* Softer portrait composition: headline centered in the open sky. */
@media(max-width:760px){.hero-copy{top:39.5%}.hero-location{display:none}.hero h1 .mobile-hero-title{line-height:1.42;letter-spacing:.015em;font-size:clamp(35px,10.9vw,72px);text-shadow:0 2px 12px #fff9}.hero .seed-word{font-size:32px;margin-top:16px}.hero h1 small{font-size:10px}.hero-copy h1{animation-name:portrait-title-arrive}.hero-light{background:transparent}}
@keyframes portrait-title-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}

/* Center the message in the complete mobile first screen, including header. */
@media(max-width:760px){
.hero{height:calc(100svh - 127px - env(safe-area-inset-bottom));min-height:440px;aspect-ratio:auto}
.hero-copy{top:calc(50svh - 62px);left:3%;width:94%;transform:translateY(-50%)}
.hero h1 .mobile-hero-title{font-size:clamp(42px,13vw,88px);font-weight:800;line-height:1.24;letter-spacing:-.045em;text-shadow:0 2px 0 #fff,0 0 18px #ffffffe6;-webkit-text-stroke:.35px currentColor}
.mobile-hero-title>span:first-child{color:#276e35}.mobile-hero-title>span:last-child{font-size:1.2em;letter-spacing:.035em;color:#0d426c;margin-top:8px}
.hero h1>small,.hero h1>.seed-word,.hero .mobile-hero-cta{display:none}
}
@media(max-width:760px) and (max-height:620px){.hero-copy{top:45%}}

@media(max-width:760px){.hero-art{object-fit:fill}}

/* Single-line black headline, with a staggered typographic entrance. */
@media(max-width:760px){
.hero-copy{left:2%;width:96%}
.hero-copy h1{animation:none}
.hero h1 .mobile-hero-title{display:inline-flex;position:relative;align-items:baseline;justify-content:center;white-space:nowrap;color:#000;font-size:clamp(28px,11.3vw,82px);font-weight:800;line-height:1.35;letter-spacing:-.055em;-webkit-text-stroke:.55px #000;text-shadow:0 2px 12px #ffffffd9;padding:8px 0}
.hero h1 .mobile-hero-title>.headline-letter{display:inline-block;color:#000;font-size:1em;letter-spacing:inherit;margin:0;transform-origin:50% 80%;animation:headline-impact .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.15s + var(--letter)*.075s)}
.hero h1 .mobile-hero-title:after{content:'';position:absolute;bottom:0;left:4%;width:92%;height:2px;background:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);transform-origin:center;animation:headline-rule 1s 1s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes headline-impact{from{opacity:0;transform:translateY(20px) scale(1.2)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes headline-rule{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.65}}

/* Stable hero: no photograph zoom or scroll-driven resize. */
.hero-art{animation:none!important;transform:none!important;scale:1!important;translate:none!important;will-change:auto}
.hero-light{animation:none!important}
.philosophy{min-height:440px;isolation:isolate;background:#f7f5e9}
.poster-art{position:absolute;inset:0;z-index:-1}.poster-art img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;translate:none;scale:1;mask-image:none;-webkit-mask-image:none}
.philosophy-copy{position:relative;width:55%;margin:0 0 0 auto;padding:48px 7% 60px 0;text-align:right}
.philosophy-copy h2{font-family:var(--serif);font-size:clamp(34px,4vw,58px);font-weight:700;letter-spacing:.08em;line-height:1.6;color:#25452e;white-space:normal;text-shadow:0 1px 12px #fff9}
.philosophy-copy h2 span{display:block}.philosophy-copy p{font-size:13px;line-height:2.2;margin-top:22px;color:#304c35}
.nav-cta{font-size:11px;padding:9px 14px}.nav-cta span{margin-left:7px}.final-cta .cta{font-size:11px;gap:7px}.hero .cta{font-size:12px}
@media(max-width:760px){
.hero{height:calc(var(--stable-screen-height,100svh) - 127px - env(safe-area-inset-bottom))}
.hero-copy{top:calc(var(--stable-screen-height,100svh)/2 - 62px)}
.scenery{display:none}.mobile-cta{backdrop-filter:none}.mobile-cta .cta{font-size:clamp(10px,3.2vw,14px);gap:9px;white-space:nowrap;padding:10px 8px}
.philosophy{min-height:0;aspect-ratio:3/4}.philosophy-copy{position:absolute;top:8%;right:7%;width:86%;margin:0;padding:0;text-align:right}
.philosophy-copy h2{font-size:clamp(27px,8.1vw,52px);line-height:1.6;letter-spacing:.08em}
.philosophy-copy p{font-size:clamp(9px,2.55vw,15px);line-height:1.9;margin-top:15px}
.final-cta .cta{font-size:clamp(10px,2.85vw,13px);gap:5px;white-space:nowrap;padding:15px 8px}
nav .nav-cta{font-size:12px}
}

/* Let the seed poster dissolve over the bottom edge of the opening scene. */
.philosophy{position:relative;z-index:1;margin-top:-56px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 56px);mask-image:linear-gradient(to bottom,transparent 0,#000 56px)}
.philosophy-copy{padding-top:72px}
@media(max-width:760px){.philosophy{margin-top:-48px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 48px);mask-image:linear-gradient(to bottom,transparent 0,#000 48px)}.philosophy-copy{top:12%;padding-top:0}}

/* Preserve original photograph proportions around both students.
   Only the empty sky between the portraits adapts to screen height. */
.natural-portraits{display:none}
@media(max-width:760px){
.natural-portraits{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none}
.natural-portraits img{position:absolute;left:0;width:100%;height:auto;max-width:none;animation:none;transform:none}
.portrait-top{top:0;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 28%,transparent 37%);mask-image:linear-gradient(to bottom,#000 0%,#000 28%,transparent 37%)}
.portrait-bottom{bottom:0;-webkit-mask-image:linear-gradient(to bottom,transparent 53%,#000 62%,#000 100%);mask-image:linear-gradient(to bottom,transparent 53%,#000 62%,#000 100%)}
}
@media(max-width:760px){.natural-portraits{container-type:inline-size}.portrait-top{top:calc(17% - 30.205cqw)}.portrait-bottom{bottom:calc(30% - 53.303cqw)}}

/* Mobile: full-width concern cards and five-subject slide showcase. */
.subject-lessons{grid-template-columns:1fr;max-width:780px;margin-inline:auto;gap:30px}
.slide-loop{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;pointer-events:none}
.slide-pending{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#edfaff,#fff);color:#21627e}
.slide-pending>span{font:700 38px var(--serif)}
.slide-pending small{font-size:13px;letter-spacing:.12em}
@media(max-width:760px){
.worry-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.worry{border-radius:16px}
.worry-image{height:auto;aspect-ratio:16/10}
.worry p{font-size:17px;padding:18px 12px 22px;line-height:1.8}
.worry strong{font-size:25px}
.worry-image>span{font-size:68px;right:20px}
.subject-lessons{gap:26px}
.subject-lessons .lesson>h3{font-size:22px;padding:11px}
}

/* Desktop hero uses the same black letter-by-letter headline as mobile. */
@media(min-width:761px){
  .hero-copy{top:47%;left:3%;width:94%;transform:translateY(-50%)}
  .hero-copy h1{animation:none}
  .hero h1 .mobile-hero-title{display:inline-flex;position:relative;align-items:baseline;justify-content:center;white-space:nowrap;color:#000;font-family:var(--serif);font-size:clamp(52px,7.4vw,112px);font-weight:800;line-height:1.35;letter-spacing:-.055em;-webkit-text-stroke:.55px #000;text-shadow:0 2px 12px #ffffffd9;padding:8px 0}
  .hero h1 .mobile-hero-title>.headline-letter{display:inline-block;color:#000;font-size:1em;letter-spacing:inherit;margin:0;transform-origin:50% 80%;animation:headline-impact .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.15s + var(--letter)*.075s)}
  .hero h1 .mobile-hero-title:after{content:'';position:absolute;bottom:0;left:4%;width:92%;height:2px;background:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);transform-origin:center;animation:headline-rule 1s 1s cubic-bezier(.2,.7,.2,1) both}
  .hero-copy>.cta{margin:32px auto 0}
}

/* Position the desktop headline inside the clear sky of the revised artwork. */
@media(min-width:761px){
  .hero-copy{top:47%;left:4%;width:58%}
  .hero h1 .mobile-hero-title{font-size:clamp(42px,5.3vw,82px)}
}

/* Opening sequence: headline, underline, light, students, then glowing rain. */
.hero-people{position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 49%,#000 65%);mask-image:linear-gradient(to right,transparent 49%,#000 65%);animation:students-reveal 1.05s 3.3s ease-out both}
.hero-people img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.hero-light{z-index:2}.hero-copy{z-index:3}
.hero h1 .mobile-hero-title:after{animation:headline-rule .65s 1.65s cubic-bezier(.2,.7,.2,1) both}
.hero h1 .mobile-hero-title:before{content:'';position:absolute;z-index:4;left:-16%;top:-8%;width:19%;height:115%;background:linear-gradient(90deg,transparent,#fff5 25%,#fff 50%,#fff5 75%,transparent);filter:blur(8px);transform:translateX(0) skewX(-18deg);opacity:0;pointer-events:none;animation:headline-sweep .85s 2.3s ease-in-out both}
.headline-flash{position:absolute;z-index:5;left:-7%;top:40%;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle,#fff 0 9%,#fff9 17%,#fff0 65%);filter:drop-shadow(0 0 13px #fff) drop-shadow(0 0 21px #ffe7a0);opacity:0;pointer-events:none;animation:headline-spark .9s 2.28s ease-out both}
.headline-flash:before,.headline-flash:after{content:'';position:absolute;left:50%;top:50%;background:#fff;box-shadow:0 0 9px 3px #fff9;transform:translate(-50%,-50%)}
.headline-flash:before{width:2px;height:95px}.headline-flash:after{width:95px;height:2px}
.hero-copy>.cta{animation-delay:4.25s}
@keyframes headline-sweep{0%{opacity:0;transform:translateX(0) skewX(-18deg)}18%{opacity:.85}72%{opacity:.7}100%{opacity:0;transform:translateX(620%) skewX(-18deg)}}
@keyframes headline-spark{0%,100%{opacity:0;transform:scale(.25) rotate(-20deg)}24%{opacity:1;transform:scale(1.15) rotate(0)}58%{opacity:.85;transform:scale(.8) rotate(20deg)}}
@keyframes students-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:760px){
  .hero-people{display:none}
  .natural-portraits{z-index:1;opacity:0;animation:students-reveal 1.05s 3.3s ease-out both}
  .headline-flash{width:24px;height:24px;left:-5%}
  .headline-flash:before{height:64px}.headline-flash:after{width:64px}
}
.motion-off .hero-people,.motion-off .natural-portraits{opacity:1!important}
.motion-off .headline-flash,.motion-off .hero h1 .mobile-hero-title:before{display:none}
@media(prefers-reduced-motion:reduce){.hero-people,.natural-portraits{opacity:1!important}.headline-flash,.hero h1 .mobile-hero-title:before{display:none}}
.hero .sparkles{opacity:0;animation:students-reveal .4s 4.65s ease-out both}

/* The three concerns read as individual, spacious stories. */
.worries{max-width:none;background:linear-gradient(180deg,#f8fcff 0%,#edf8fb 100%)}
.worry-grid{grid-template-columns:minmax(0,1fr);max-width:1050px;margin-inline:auto;gap:25px}
.worry{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);min-height:270px;align-items:stretch;border-radius:19px;overflow:hidden}
.worry-image{height:auto;min-height:270px;aspect-ratio:auto}
.worry-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.worry p{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:28px 44px;font-size:clamp(21px,2vw,27px);line-height:1.5}
.worry p br{display:none}
.worry strong{display:block;font-size:clamp(30px,3vw,40px);line-height:1.45}
.worry:nth-child(even) .worry-image{order:2}
.worry:nth-child(even) p{order:1}
@media(max-width:760px){
  .worry-grid{gap:22px}
  .worry{display:block;min-height:0}
  .worry-image{min-height:0;aspect-ratio:16/10}
  .worry p{align-items:center;text-align:center;padding:20px 18px 25px;font-size:18px}
  .worry strong{font-size:clamp(25px,6.3vw,30px)}
}

/* Four concerns and the updated SeeD message. */
.worry-index{display:block;color:#69b7b8;font:700 16px/1.2 var(--sans);letter-spacing:.18em;margin-bottom:12px}
.worry strong{font-size:clamp(25px,2.7vw,37px);line-height:1.42;text-wrap:balance}
.worry:nth-child(3) strong{font-size:clamp(24px,2.4vw,32px)}
.strength h3{min-height:5em;display:flex;align-items:center;justify-content:center}
.philosophy-copy p{font-size:clamp(15px,1.35vw,20px);line-height:1.9}
@media(max-width:760px){
  .worry-index{font-size:14px;margin-bottom:8px}
  .worry strong{font-size:clamp(24px,6vw,29px)}
  .worry:nth-child(3) strong{font-size:clamp(24px,6vw,29px)}
  .strength-grid{grid-template-columns:minmax(0,1fr);max-width:460px;margin-inline:auto;gap:14px}
  .strength{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:16px;min-height:140px;padding:13px;background:#fff;border:1px solid #d8eef3;border-radius:18px;text-align:left;box-shadow:0 10px 24px #1249780a}
  .strength-no{grid-column:2;grid-row:1;align-self:end;font-size:18px}
  .strength h3{grid-column:2;grid-row:2;display:block;min-height:0;margin:0;align-self:start;font-size:16px;line-height:1.65}
  .round-photo{grid-column:1;grid-row:1/3;width:112px;margin:0;border-width:4px}
  .philosophy-copy p{font-size:clamp(14px,3.8vw,18px);line-height:1.7}
}

/* Three text colors: navy, SeeD green and black. Concerns use black. */
:root{--ink:#000}
.brand b span,.green,.philosophy-copy h2,.philosophy-copy h2 span,
.growth-choice .after,.growth-choice .after small,.growth-message,
.growth-message span,.growth-message strong,.final-cta h2{color:var(--green)}
.nav-cta,.cta{color:var(--navy)!important}
.philosophy-copy p,.eyebrow,.soft-note,.strength-no,
.growth-choice .before,.growth-choice .before small,.growth-choice .arrow,
.course-tabs button,.course-tabs button[aria-pressed=true],.course-kicker,
.faq summary span,.play,.slide-pending,.ai-label{color:var(--navy)}
.worries,.worries .aqua,.worries .worry-index,
.worries .worry strong,.worries .worry-image>span{color:var(--ink)}
.worries .worry-image>span{opacity:.35}
.lesson>h3{color:var(--navy);background:linear-gradient(110deg,#e1f2f8,#d4eaf2)}
.filters button[aria-pressed=true]{color:var(--navy);background:#e1f2f8}

/* A small warm light follows the pointer without covering controls. */
.hope-light{position:fixed;left:0;top:0;width:34px;height:34px;border-radius:50%;z-index:25;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0) translate(-50%,-50%);background:radial-gradient(circle,#fff 0 9%,#fff2ae 18%,#ffd65d 30%,#e9a92666 46%,transparent 72%);filter:drop-shadow(0 0 7px #f6ca62);transition:opacity .3s ease}
.hope-light::after{content:'';position:absolute;inset:14px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px #fff5bf,0 0 13px 5px #ffdf75}
.hope-light.is-visible{opacity:.95}
.hope-light.is-bursting{opacity:0;transition:opacity .08s}
.hope-burst{position:fixed;left:0;top:0;width:1px;height:1px;z-index:26;pointer-events:none;transform:translate3d(var(--x),var(--y),0);animation:hope-burst-life .65s both}
.hope-burst::before{content:'';position:absolute;left:-4px;top:-4px;width:8px;height:8px;border:2px solid #f9bb32;border-radius:50%;box-shadow:0 0 12px 3px #ffe28a;animation:hope-burst-ring .5s ease-out both}
.hope-burst i{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:#fff8d1;box-shadow:0 0 0 1px #efab27,0 0 9px 3px #ffd45b;animation:hope-burst-spark .55s ease-out both}
@keyframes hope-burst-life{0%,70%{opacity:1}100%{opacity:0}}
@keyframes hope-burst-ring{to{opacity:0;transform:scale(6)}}
@keyframes hope-burst-spark{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.45)}}
.motion-off .hope-light,.motion-off .hope-burst{display:none}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.hope-light,.hope-burst{display:none!important}}

.footer-brand>a span{font-size:inherit}

.teacher-photo.instagram-diary{aspect-ratio:16/9;background:#101820}.instagram-diary video{display:block;width:100%;height:100%;object-fit:contain}.instagram-diary-link{display:block;width:fit-content;margin:10px auto 0;font-size:11px;color:#526f61;border-bottom:1px solid #adc6b8;padding:2px 0}.instagram-diary video:focus-visible{outline:3px solid #ef9517}

.instagram-diary video{filter:brightness(.55) contrast(1.1)}

/* Intermittent poor-TV reception: grain, horizontal tracking and brief picture jitter. */
.instagram-diary{position:relative;isolation:isolate}
.instagram-diary:before,.instagram-diary:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2}
.instagram-diary:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.85' d='M0 0h180v120H0z'/%3E%3C/svg%3E");background-size:180px 120px;mix-blend-mode:screen;opacity:.08;animation:tv-grain 3.6s steps(1,end) infinite}
.instagram-diary:after{background:repeating-linear-gradient(0deg,transparent 0 2px,#0006 2px 3px),linear-gradient(transparent 44%,#d1efff22 46%,#ffffff66 47%,#0008 49%,transparent 52%);background-size:100% 100%,100% 220%;opacity:.22;animation:tv-tracking 4.8s steps(1,end) infinite}
.instagram-diary video{animation:none;transform:none}
@keyframes tv-grain{0%,18%,37%,73%,100%{background-position:0 0;opacity:.07}19%{background-position:41px -28px;opacity:.3}20%{background-position:-28px 49px;opacity:.18}21%{background-position:80px 20px;opacity:.32}23%{opacity:.07}74%{background-position:-53px 33px;opacity:.28}76%{background-position:62px -41px;opacity:.34}78%{opacity:.07}}
@keyframes tv-tracking{0%,100%{background-position:0 0,0 -130%;opacity:.18}17%{background-position:0 0,0 70%;opacity:.55}19%{background-position:0 0,0 105%;opacity:.38}21%{opacity:.18}72%{background-position:0 0,0 20%;opacity:.5}75%{background-position:0 0,0 85%;opacity:.6}78%{opacity:.18}}
@keyframes tv-signal{0%,16%,22%,71%,79%,100%{transform:translateX(0) skewX(0)}17%{transform:translateX(-3px) skewX(.7deg)}18%{transform:translateX(4px) skewX(-.6deg)}20%{transform:translateX(-2px)}72%{transform:translateX(3px) skewX(-.5deg)}74%{transform:translateX(-4px) skewX(.8deg)}77%{transform:translateX(2px)}}
.motion-off .instagram-diary video,.motion-off .instagram-diary:before,.motion-off .instagram-diary:after{animation:none;transform:none}.motion-off .instagram-diary:before{opacity:0}.motion-off .instagram-diary:after{opacity:.12}
@media(prefers-reduced-motion:reduce){.instagram-diary video,.instagram-diary:before,.instagram-diary:after{animation:none;transform:none}.instagram-diary:before{opacity:0}.instagram-diary:after{opacity:.12}}

/* A brief reception glitch; the regular photo motion remains a centered zoom-in. */
.instagram-diary video{animation:tv-glitch 5.2s steps(1,end) infinite}
@keyframes tv-glitch{0%,22%,26%,72%,76%,100%{transform:none}23%{transform:translateX(-5px) skewX(.35deg)}24%{transform:translateX(4px) skewX(-.35deg)}25%{transform:none}73%{transform:translateX(5px) skewX(-.3deg)}74%{transform:translateX(-3px)}75%{transform:none}}
.motion-off .instagram-diary video{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.instagram-diary video{animation:none;transform:none}}
