/* Recraft woodland. All positions share the SVG terrain's coordinate system. */
.ng-footer-landscape--vectors .ng-footer-tree{width:150px;height:188px;background:none;border-radius:0;margin-left:-68px}
.ng-footer-landscape--vectors .ng-footer-tree--two{width:92px;height:175px;margin-left:-39px}
.ng-footer-landscape--vectors .ng-footer-tree--three{--tree-size:1;left:90%;bottom:100px;height:180px}
@media(max-width:600px){.ng-footer-landscape--vectors .ng-footer-tree--three{left:88%;bottom:76px;width:104px;height:125px;margin-left:-48px}}
.ng-footer-tree img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.ng-footer-grass img{position:absolute;bottom:0;width:auto;max-width:70px;object-fit:contain;object-position:center bottom}
.ng-footer-flowers img{position:absolute;bottom:0;width:auto;max-width:55px;transform:translateX(-50%) rotate(var(--flower-lean));transform-origin:50% 100%}
.ng-footer-flowers svg{position:absolute;bottom:0;width:auto;overflow:visible;transform:translateX(-50%) rotate(var(--flower-lean));transform-origin:50% 100%}
.ng-footer-bees img{position:absolute;width:23px;height:auto;animation:ng-footer-bee 4.6s ease-in-out infinite}
.ng-footer-bees img:nth-child(1){left:8%;bottom:4%;animation-delay:-.6s}
.ng-footer-bees img:nth-child(2){left:52%;top:4%;width:19px;animation-delay:-2.1s}
.ng-footer-bees img:nth-child(3){right:1%;bottom:16%;width:16px;animation-delay:-3.2s}
@media(max-width:600px){.ng-footer-bees img:nth-child(3){display:none}.ng-footer-landscape--vectors .ng-footer-tree--one{width:113px;height:153px;margin-left:-48px}.ng-footer-grass img{max-height:64px;max-width:48px}}
@media(prefers-reduced-motion:reduce){.ng-footer-bees img{animation:none!important}}
.ng-offer-scene{width:240px;height:222px;max-width:88%}
.ng-offer-scene svg{display:block;width:100%;height:100%;overflow:visible}
.ng-offer-scene__disc{fill:var(--ng-meadow)}
.ng-offer-card--school .ng-offer-scene__disc{fill:var(--ng-sun)}
.ng-offer-card--yoga .ng-offer-scene__disc{fill:#d1bfdd}
.ng-offer-card--school .ng-offer-card__content p{color:var(--ng-cream)}
.ng-offer-scene__grow{transform-box:fill-box;transform-origin:50% 100%}
.js .ng-offer-card:not(.is-visible) .ng-offer-scene__grow{transform:scaleY(.05);opacity:0}
.js .ng-offer-card:not(.is-visible) .ng-offer-scene__appear{opacity:0}
.ng-offer-scene__grow{transition:transform .95s cubic-bezier(.22,.7,.24,1),opacity .4s;transition-delay:var(--motif-delay,.2s)}
.ng-offer-scene__appear{transition:opacity .8s;transition-delay:var(--motif-delay,.2s)}
@media(max-width:600px){.ng-offer-grid .ng-offer-card{min-height:520px}}
@media(prefers-reduced-motion:reduce){.ng-offer-scene__grow,.ng-offer-scene__appear{opacity:1!important;transform:none!important;transition:none!important}}
.ng-hero--woodland{min-height:max(820px,100svh);padding-top:160px;padding-bottom:260px;align-items:center;background:#e9eddc}
.ng-hero--woodland .ng-hero__content{width:min(720px,59vw)}
.ng-hero--woodland h1{font-size:clamp(56px,5.6vw,88px);line-height:1.08}
.ng-hero--woodland h1 em::after{bottom:.24em;height:.065em}
.ng-hero--woodland .ng-lead{max-width:560px;font-size:clamp(17px,1.4vw,20px)}
.ng-hero--woodland .ng-scroll-hint{left:50%;transform:translateX(-50%);bottom:20px;font-size:9px;color:#fffaf1;white-space:nowrap}
.ng-woodland{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ng-woodland__canvas{display:block;width:100%;height:100%}
.ng-woodland__mobile{display:none}
/* The desktop header is 92px high. Keep a 24px safety margin for the sky,
   independently of the landscape's xMidYMax slice scaling. Tablet/mobile keep
   their existing scene layout; no JavaScript or monitor-specific offsets. */
.ng-woodland__sky{display:none}
@media(min-width:1051px){
 .ng-woodland__sky{display:block;position:absolute;inset:0;z-index:1}
 .ng-woodland__canvas{position:relative;z-index:0}
 .ng-woodland__canvas .ng-desktop-sky{display:none}
 .ng-sky-sun{position:absolute;right:6%;top:max(116px,12.5%);width:clamp(180px,15.69vw,260px);height:auto;aspect-ratio:1}
 .ng-sky-cloud{position:absolute;height:auto;max-width:none}
 .ng-sky-cloud--one{left:44.375%;top:max(132px,17.3%);width:clamp(150px,12.8125vw,205px)}
 .ng-sky-cloud--two{right:9.4%;top:max(132px,17.1%);width:clamp(170px,15vw,240px)}
}
.ng-hero-foot{color:#254c3a;opacity:.5}
.js .ng-hero:not(.is-grown) .ng-hero-foot{opacity:0}
.js .ng-hero.is-grown .ng-hero-foot{animation:ng-foot-arrive .3s ease both;animation-delay:var(--foot-delay)}
@keyframes ng-foot-arrive{from{opacity:0}to{opacity:.5}}
.ng-stage-grow{transform-box:fill-box;transform-origin:50% 100%}
.js .ng-hero--woodland:not(.is-grown) .ng-stage-grow{transform:scale(.2,0);opacity:0}
.js .ng-hero--woodland.is-grown .ng-stage-grow{animation:ng-plant-emerge 1.65s cubic-bezier(.22,.5,.25,1) both;animation-delay:calc(.85s + var(--arrival,0s))}
.js .ng-hero--woodland.is-grown .ng-stage-terrain{animation:ng-ground-emerge .9s cubic-bezier(.22,.7,.24,1) both;animation-delay:var(--arrival,0s)}
.js .ng-hero--woodland:not(.is-grown) .ng-stage-forest{transform:translateY(180px);opacity:0}
.js .ng-hero--woodland.is-grown .ng-stage-forest{animation:ng-forest-emerge 1.35s cubic-bezier(.22,.7,.24,1) both;animation-delay:.55s}
.js .ng-hero--woodland:not(.is-grown) .ng-stage-appear{opacity:0}
.js .ng-hero--woodland .ng-stage-appear{transition:opacity .7s ease;transition-delay:calc(1.4s + var(--arrival,0s))}
.ng-stage-cloud{opacity:.45;animation:ng-woodland-cloud 34s ease-in-out infinite alternate}
.ng-stage-cloud--second{animation-duration:43s;animation-delay:-15s;opacity:.75}
.ng-stage-bee{animation:ng-woodland-bee 5s ease-in-out infinite;animation-delay:3s}
.ng-stage-bee--second{animation-duration:6.5s;animation-delay:-1.5s}
.ng-stage-bird{animation:ng-woodland-bird 14s ease-in-out infinite alternate}
@keyframes ng-woodland-cloud{from{transform:translateX(-45px)}to{transform:translateX(65px)}}
@keyframes ng-woodland-bee{0%,100%{transform:translate(0,0) rotate(-3deg)}40%{transform:translate(12px,-10px) rotate(4deg)}70%{transform:translate(-6px,5px)}}
@keyframes ng-woodland-bird{from{transform:translate(-12px,4px)}to{transform:translate(20px,-7px)}}
@keyframes ng-ground-emerge{from{transform:scaleY(0);opacity:1}to{transform:scaleY(1);opacity:1}}
@keyframes ng-forest-emerge{from{transform:translateY(180px);opacity:0}to{transform:translateY(0);opacity:.65}}
@keyframes ng-plant-emerge{0%{transform:scale(.18,0);opacity:0}8%{opacity:1}45%{transform:scale(.6,.48)}78%{transform:scale(.93,1.035)}100%{transform:scale(1);opacity:1}}
@media(min-width:1600px){.ng-hero--woodland{padding-bottom:300px}}
@media(max-width:1050px) and (min-width:701px){.ng-hero--woodland{min-height:940px;align-items:flex-start;padding-top:155px}.ng-hero--woodland .ng-hero__content{width:75vw}.ng-hero--woodland h1{font-size:64px}.ng-woodland{top:120px}.ng-woodland__canvas{position:absolute;bottom:0;width:100%;height:auto;aspect-ratio:16/9;max-width:none;margin-left:0}}
@media(max-width:700px){
 /* Let the scene use the remaining visible screen, instead of reserving 410px
    below the copy. Small/zoomed screens can grow naturally without clipping text. */
 .ng-hero--woodland{min-height:calc(100svh - var(--wp-admin--admin-bar--height,0px));padding:96px 22px 0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(240px,1fr);row-gap:8px;align-items:stretch}
 .ng-hero--woodland .ng-hero__content{grid-column:1;grid-row:1;width:100%;align-self:start}
 .ng-hero--woodland h1{font-size:clamp(28px,7.9vw,55px);letter-spacing:-.04em;line-height:1.16}
 .ng-hero--woodland .ng-lead{max-width:100%;font-size:16px;line-height:1.6;margin:18px 0}
 .ng-hero--woodland .ng-actions{gap:10px}
 .ng-hero--woodland .ng-actions .ng-button{padding-inline:14px}
 .ng-hero--woodland .ng-actions .ng-text-link{font-size:12px}
 .ng-hero--woodland .ng-woodland{position:relative;inset:auto;grid-column:1;grid-row:2;width:calc(100% + 44px);height:auto;min-height:0;margin-inline:-22px}
 .ng-woodland__canvas{display:none}
 .ng-woodland__mobile{position:absolute;inset:0;display:block;width:100%;height:100%}
 .ng-hero--woodland>.ng-legacy--hero{position:relative;inset:auto;grid-column:1;grid-row:2;align-self:start;justify-self:start;margin:clamp(14px,4svh,36px) 0 0 26%;width:clamp(50px,15vw,70px)}
 .ng-hero--woodland .ng-scroll-hint{left:50%;font-size:8px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
 .ng-hero .ng-hero-foot{animation:none!important;opacity:.5!important}
 .ng-hero--woodland .ng-stage-grow,.ng-hero--woodland .ng-stage-appear,.ng-hero--woodland .ng-stage-forest{transform:none!important;transition:none!important;animation:none!important}
 .ng-hero--woodland .ng-stage-grow,.ng-hero--woodland .ng-stage-appear{opacity:1!important}
 .ng-stage-cloud,.ng-stage-bee,.ng-stage-bird{animation:none!important}
}
