*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f8faf5;color:#163b2d;font:16px Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #dfe4d9;background:#f8faf5f0;position:sticky;top:0;z-index:10;backdrop-filter:blur(16px)}.wordmark{font-size:30px;font-weight:650;letter-spacing:-1.5px}.wordmark>span{display:block;letter-spacing:3.3px;font-size:9px;margin-top:7px}nav{display:flex;align-items:center;gap:37px;font-size:14px}.nav-cta{border:1px solid #b8c7a7;padding:14px 23px;border-radius:30px}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;min-height:660px;padding-left:6%;overflow:hidden}.hero-copy{padding:70px 0 75px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:600;display:block}.eyebrow>span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#65873a;margin-right:8px}h1{font-size:clamp(52px,5.6vw,85px);line-height:1.06;letter-spacing:-4px;font-weight:500;margin:32px 0 24px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#728a35}.hero-copy>p{font-size:18px;line-height:1.75;color:#758071}.button{background:#194b34;color:white;display:inline-flex;padding:20px 23px;border-radius:40px;align-items:center;gap:42px;font-size:14px;margin-top:20px}.button>span{font-size:22px}.hero-bottom{display:flex;gap:28px;font-size:9px;letter-spacing:1.4px;margin-top:49px;color:#7c8477}.hero-visual{position:relative;padding:35px 5% 60px 0}.hero-visual>img{width:100%;height:550px;object-fit:cover;border-radius:240px 240px 14px 14px}.round-label{position:absolute;top:38px;left:-54px;width:142px;height:142px;border-radius:50%;background:#dcee8a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:10px;letter-spacing:2px;transform:rotate(-13deg);animation:bob 6s ease-in-out infinite}.round-label b{font-family:Georgia,serif;font-size:20px;font-style:italic;letter-spacing:0;margin-top:7px;font-weight:400}.round-label>span{font-size:29px;margin-top:8px}.photo-label{position:absolute;bottom:100px;left:20px;background:#fbfcf1e8;backdrop-filter:blur(10px);padding:20px 27px;border-radius:12px;font-size:14px;line-height:1.6;box-shadow:0 10px 30px #14372814}.hero-index{position:absolute;bottom:24px;right:6%;font-size:9px;letter-spacing:2px}.ticker{background:#dfee9f;overflow:hidden;padding:23px 0;font-size:27px;letter-spacing:-.6px}.ticker>div{display:flex;align-items:center;gap:46px;white-space:nowrap;animation:marquee 32s linear infinite;width:max-content}.ticker span{font-size:34px;color:#617d2f}.approach{padding:105px 9%;display:grid;grid-template-columns:1fr 1fr;gap:10%;border-bottom:1px solid #dfe4d9}h2{font-size:clamp(35px,4vw,58px);line-height:1.1;font-weight:400;letter-spacing:-2px;margin:23px 0}.approach-copy p:first-child{font-size:25px;line-height:1.5;color:#234934}.approach-copy p{font-size:16px;line-height:1.8;color:#798273}.approach-copy a{display:flex;justify-content:space-between;border-bottom:1px solid #7f8e69;padding:16px 0;max-width:270px;font-size:14px}.programs{padding:90px 6%}.section-top{display:flex;align-items:center;justify-content:space-between}.section-top>span{font-size:10px;line-height:1.8;letter-spacing:1.5px;color:#839076}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.program-grid>a{background:#eaf0df;border-radius:15px;padding:32px;transition:transform .3s,background .3s}.program-grid>a:nth-child(2){background:#dce8c3}.program-grid>a:nth-child(3){background:#194b34;color:#fff}.program-grid>a:hover{transform:translateY(-7px)}.program-number{font-size:10px;letter-spacing:1.4px;opacity:.65}.program-grid h3{font-size:35px;font-weight:400;letter-spacing:-1px;margin:38px 0 20px}.program-grid p{font-size:15px;line-height:1.7;opacity:.75;max-width:260px}.program-grid a>div{display:flex;justify-content:space-between;font-size:13px;border-top:1px solid #95a18366;margin-top:30px;padding-top:20px}.source-note{font-size:12px;color:#798273;line-height:1.8;max-width:850px;margin-top:24px}.source-note a{text-decoration:underline}.platform{margin:0 6% 90px;background:#173f2e;color:white;border-radius:20px;padding:65px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px}.platform-mark{font-size:clamp(60px,6vw,90px);letter-spacing:-5px;font-weight:700;line-height:.85;color:#e1edbe}.platform-mark span{color:#c7eb67}.platform h2{font-size:39px}.platform p{line-height:1.7;color:#b9c8b6;font-size:15px}.light{background:#dbee94;color:#19412b}footer{display:flex;flex-wrap:wrap;padding:30px 6% 40px;align-items:center;justify-content:space-between;border-top:1px solid #dfe4d9;font-size:14px;color:#758071}footer .wordmark{color:#194b34}footer small{width:100%;font-size:11px;margin-top:35px;opacity:.7}a:focus-visible{outline:3px solid #7b983e;outline-offset:6px}.reveal{animation:appear .6s both}.hero-copy{animation:appear .8s ease-out}.hero-visual{animation:appear 1s ease-out}@keyframes appear{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{50%{transform:translateY(10px) rotate(-8deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:900px){nav{gap:18px}.hero{min-height:550px}.hero-copy{padding-top:50px}h1{font-size:58px}.hero-visual img{height:480px}.round-label{width:110px;height:110px;left:-25px}.hero-bottom{display:block;line-height:2}.program-grid>a{padding:22px}.program-grid h3{font-size:28px}.platform{padding:40px}}@media(max-width:650px){header{height:80px;padding:0 6%}.wordmark{font-size:25px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:12px 15px}.hero{display:block;padding:0 6%}.hero-copy{padding:40px 0 30px}h1{font-size:58px;letter-spacing:-3px}.hero-copy>p{font-size:16px}.hero-bottom{display:none}.hero-visual{padding:20px 0 50px}.hero-visual img{height:390px;border-radius:160px 160px 10px 10px}.round-label{left:auto;right:-7px;top:4px}.hero-index{bottom:17px}.photo-label{bottom:80px;left:15px}.ticker{font-size:23px;padding:17px 0}.approach{padding:60px 7%;grid-template-columns:1fr;gap:10px}.approach-copy p:first-child{font-size:22px}.programs{padding:60px 6%}.section-top>span{display:none}.program-grid{grid-template-columns:1fr;gap:15px}.program-grid>a{padding:28px}.program-grid h3{font-size:34px;margin:25px 0 16px}.program-grid p{max-width:none}.platform{grid-template-columns:1fr;padding:35px;margin-bottom:55px;gap:20px}.platform-mark{font-size:66px}.platform h2{font-size:35px}footer{gap:22px}footer>span{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/* Gentle, compositor-only motion, with a manual pause and system preference. */
.reveal{animation:none}
.hero-visual>img{animation:photo-drift 9s ease-in-out infinite;transform-origin:center 60%}
.photo-label{animation:label-float 6s ease-in-out infinite}
.round-label>span{display:inline-block;animation:flower-turn 18s linear infinite}
.hero-copy .eyebrow{animation:appear .7s ease-out both}
.hero-copy h1{animation:appear .9s .08s ease-out both}
.hero-copy>p{animation:appear .9s .18s ease-out both}
.hero-copy>.button{animation:appear .9s .28s ease-out both}
.motion-reveal{opacity:0;translate:0 28px;transition:opacity .8s var(--motion-delay,0ms),translate .8s cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms)}
.motion-reveal.motion-visible{opacity:1;translate:0 0}
.button,.nav-cta{transition:box-shadow .25s,background .25s,transform .25s}
.button span,.program-grid>a>div>span,.approach-copy a span{display:inline-block;transition:transform .25s}
.button:hover span,.program-grid>a:hover>div>span,.approach-copy a:hover span{transform:translate(3px,-3px)}
.button:hover{box-shadow:0 10px 30px #234e3826}
.program-grid>a{transition:transform .3s,box-shadow .3s}
.program-grid>a:hover{box-shadow:0 16px 40px #234e3812}
.motion-toggle{background:transparent;border:1px solid #87957a66;border-radius:24px;padding:8px 12px;font:inherit;font-size:11px;color:inherit;cursor:pointer}
.motion-toggle:focus-visible{outline:2px solid #52752d;outline-offset:4px}
.motion-paused *,.page-hidden *{animation-play-state:paused!important}
.motion-paused .motion-reveal{opacity:1;translate:none;transition:none}
@keyframes photo-drift{0%,100%{transform:translateY(0) rotate(-.5deg) scale(1)}50%{transform:translateY(-9px) rotate(.5deg) scale(1.025)}}
@keyframes label-float{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes flower-turn{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;translate:none}.hero-visual>img,.photo-label{transform:none}}
