@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--ink:#1f241f;--cream:#f7f2e8;--paper:#fffdf8;--sage:#c8d5bd;--green:#405943;--blue:#2f55d4;--red:#e95f4f;--yellow:#f2cc55;--brown:#7c6554;--line:rgba(31,36,31,.16);--shadow:0 22px 60px rgba(48,48,38,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,92vw);margin:auto}.nav{position:sticky;top:0;z-index:60;background:rgba(247,242,232,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.navin{min-height:78px;display:flex;align-items:center;gap:20px}.brand{margin-right:auto;font-weight:800;font-size:21px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:1.8px;text-transform:uppercase;margin-top:6px;font-weight:700;color:#667064}.links{display:flex;gap:15px;font-size:12px;font-weight:800}.links a{position:relative}.links a:after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--blue);transition:.25s}.links a:hover:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:999px;border:1px solid var(--ink);font-weight:800;transition:.25s;background:transparent}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 rgba(31,36,31,.09)}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.red{background:var(--red);color:white;border-color:var(--red)}.btn.paper{background:var(--paper)}.mobile-toggle{display:none;background:none;border:0;font-size:24px}.hero{min-height:760px;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;padding:70px max(4vw,30px) 55px;background:linear-gradient(110deg,#f8f1e5 0 63%,#d9e0cf 63%)}.hero-copy{position:relative;z-index:4;max-width:720px}.micro{font-size:11px;text-transform:uppercase;letter-spacing:2.5px;font-weight:800}.display{font-family:'Fraunces',Georgia,serif;font-size:clamp(62px,8vw,116px);line-height:.82;letter-spacing:-5px;margin:20px 0 26px}.display .blue{color:var(--blue)}.display .red{color:var(--red)}.hero p{font-size:18px;max-width:530px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-art{position:relative;height:620px}.hero-art .main-img{position:absolute;inset:4% 2% 0 8%;width:88%;height:90%;object-fit:cover;border-radius:49% 51% 47% 53% / 42% 44% 56% 58%;box-shadow:var(--shadow)}.blob{position:absolute;border-radius:999px;z-index:2}.blob.b1{width:160px;height:90px;background:var(--yellow);top:5%;left:-3%;transform:rotate(-14deg)}.blob.b2{width:120px;height:120px;background:var(--red);right:-3%;bottom:12%;border-radius:42% 58% 62% 38%}.doodle{position:absolute;z-index:5;font-family:'Fraunces',serif;font-weight:700}.doodle.sun{top:1%;right:6%;font-size:42px;color:var(--red);animation:float 5s ease-in-out infinite}.doodle.flower{bottom:2%;left:3%;font-size:54px;color:var(--blue);animation:float 6s ease-in-out infinite reverse}.scribble{display:inline-block;border:2px solid currentColor;border-radius:50%;padding:0 .15em;transform:rotate(-3deg)}@keyframes float{50%{transform:translateY(-12px) rotate(5deg)}}.ticker{overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper);padding:12px 0;white-space:nowrap}.ticker-track{display:inline-flex;gap:40px;animation:ticker 28s linear infinite;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.ticker-track span:before{content:'✿';color:var(--red);margin-right:40px}@keyframes ticker{to{transform:translateX(-50%)}}.section{padding:105px 0;position:relative}.section.tight{padding:70px 0}.soft{background:#e7eadf}.paper{background:var(--paper)}.blue-section{background:var(--blue);color:white}.red-section{background:var(--red);color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.kicker{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:800}.h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(45px,6vw,78px);line-height:.92;letter-spacing:-2.5px;margin:12px 0 24px}.lead{font-size:18px;max-width:640px}.cutout{position:relative;min-height:520px}.cutout img{width:100%;height:520px;object-fit:cover;border-radius:45% 55% 44% 56% / 54% 43% 57% 46%;box-shadow:var(--shadow)}.caption-chip{position:absolute;background:var(--yellow);padding:12px 16px;font-weight:800;transform:rotate(-4deg);bottom:5%;left:-5%;border:1px solid var(--ink)}.big-quote{font-family:'Fraunces',serif;font-size:clamp(42px,5.2vw,72px);line-height:.96;max-width:920px;margin:0 auto;text-align:center;letter-spacing:-2px}.cloud-row{display:flex;justify-content:space-around;gap:18px;margin-top:45px;flex-wrap:wrap}.cloud{width:170px;height:72px;background:var(--blue);border-radius:50px;position:relative}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%}.cloud:before{width:80px;height:80px;left:25px;top:-32px}.cloud:after{width:62px;height:62px;right:22px;top:-22px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}.service-card{min-height:250px;border:1px solid var(--ink);padding:24px;position:relative;overflow:hidden;background:var(--paper);transition:.3s}.service-card:nth-child(2){background:#e3e9da}.service-card:nth-child(3){background:#f2e0da}.service-card:nth-child(4){background:#efe5b8}.service-card:hover{transform:translateY(-8px) rotate(-1deg)}.service-card .num{font-size:12px;font-weight:800}.service-card h3{font-family:'Fraunces',serif;font-size:31px;line-height:1;margin:45px 0 10px}.service-card .mark{position:absolute;right:18px;top:12px;font-size:45px}.editorial{display:grid;grid-template-columns:.8fr 1.4fr .8fr;gap:18px;align-items:end}.editorial img{width:100%;object-fit:cover}.editorial img:nth-child(1){height:350px;border-radius:100px 100px 12px 12px}.editorial img:nth-child(2){height:520px;border-radius:12px}.editorial img:nth-child(3){height:300px;border-radius:50% 50% 12px 12px}.poster{padding:100px 0;background:var(--paper);overflow:hidden}.poster-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.poster-title{font-size:clamp(68px,8vw,126px);line-height:.72;letter-spacing:-6px;font-weight:800;color:var(--blue);margin:0}.poster-title span{display:block}.poster-title span:nth-child(2){margin-left:9%}.poster-title span:nth-child(3){margin-left:2%}.poster-title span:nth-child(4){margin-left:15%}.poster-copy{max-width:420px}.poster-stickers{display:flex;gap:15px;font-size:44px;margin:18px 0}.pagehero{padding:105px 0 80px;position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--ink)}.pagehero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end}.pagehero h1{font-family:'Fraunces',serif;font-size:clamp(62px,8vw,112px);line-height:.82;letter-spacing:-5px;margin:14px 0}.pagehero p{font-size:18px;max-width:560px}.page-symbol{font-size:140px;line-height:1;text-align:center;transform:rotate(8deg)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--ink);padding:28px;min-height:230px}.card h3{font-family:'Fraunces',serif;font-size:30px;line-height:1;margin:8px 0 12px}.card img{height:210px;width:100%;object-fit:cover;margin-bottom:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ink)}.step{padding:28px;min-height:260px;border-right:1px solid var(--ink);background:var(--paper)}.step:last-child{border-right:0}.step b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--yellow);margin-bottom:55px}.faq details{border-top:1px solid var(--ink);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--ink)}.faq summary{font-family:'Fraunces',serif;font-size:24px;font-weight:700;cursor:pointer}.faq p{max-width:800px}.form{background:var(--paper);border:1px solid var(--ink);padding:34px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800;margin:10px 0 5px}.form input,.form select,.form textarea{width:100%;padding:14px 12px;border:1px solid #a6a69d;background:#fff;font:inherit;border-radius:0}.form textarea{min-height:120px}.gallery{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:12px}.gallery img{width:100%;height:320px;object-fit:cover}.gallery img:nth-child(2){transform:translateY(35px)}.cta{padding:100px 0;background:var(--blue);color:white;position:relative;overflow:hidden}.cta .h2{max-width:850px}.cta .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.cta:after{content:'✿';position:absolute;right:5%;top:8%;font-size:130px;color:var(--yellow);transform:rotate(18deg)}.footer{background:#20251f;color:#f8f2e8;padding:70px 0 28px}.footergrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px}.footer h4{font-family:'Fraunces',serif;font-size:20px}.footer a{display:block;margin:8px 0;color:#d8dfd3}.note{font-size:12px;color:#777}.reveal{opacity:0;transform:translateY(28px);transition:.8s cubic-bezier(.2,.7,.2,1)}.reveal.on{opacity:1;transform:none}.reveal.rotate{transform:translateY(28px) rotate(-2deg)}.reveal.rotate.on{transform:rotate(-2deg)}
@media(max-width:960px){.links{display:none}.mobile-toggle{display:block}.navin>.btn{display:none}.hero{grid-template-columns:1fr;padding-top:55px;background:var(--cream)}.hero-art{height:520px;margin-top:30px}.split,.poster-grid,.pagehero-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step{border-bottom:1px solid var(--ink)}.editorial{grid-template-columns:1fr 1fr}.editorial img:nth-child(3){display:none}.cards{grid-template-columns:1fr 1fr}.footergrid{grid-template-columns:1fr 1fr}.display{letter-spacing:-3px}.poster-title{letter-spacing:-4px}.pagehero h1{letter-spacing:-3px}.mobile-menu{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:20px 4vw;border-bottom:1px solid var(--ink)}.mobile-menu.open{display:grid;gap:12px}.mobile-menu a{font-weight:800;padding:8px 0}}
@media(max-width:620px){.section,.poster,.cta{padding:72px 0}.hero{min-height:auto;padding:45px 5vw}.hero-art{height:390px}.display{font-size:58px;letter-spacing:-3px}.h2{font-size:45px}.service-grid,.cards,.grid2,.steps,.gallery,.footergrid{grid-template-columns:1fr}.service-card{min-height:210px}.step{border-right:0}.editorial{grid-template-columns:1fr}.editorial img:nth-child(1){display:none}.editorial img:nth-child(2){height:420px}.gallery img,.gallery img:nth-child(2){height:280px;transform:none}.page-symbol{font-size:90px}.poster-title{font-size:68px;letter-spacing:-4px}.poster-grid{gap:35px}.cutout,.cutout img{min-height:0;height:390px}.cloud{transform:scale(.8)}.navin{min-height:70px}.mobile-menu{top:70px}}

/* ===== V3: garden-motion system inspired by the supplied recording ===== */
:root{--garden:#71845f;--garden-dark:#31422f;--cream:#fffaf0;--peach:#f1a09b;--sun:#f3c654;--sky:#a9d7dc;--ink:#29352a}
body{overflow-x:hidden}
.motion-intro{height:220vh;background:#f4d563;position:relative;z-index:2}
.motion-stage{height:100vh;position:sticky;top:0;overflow:hidden;background:linear-gradient(#f5d96c 0 68%,#a8c887 68%);isolation:isolate}
.motion-stage .intro-nav{position:absolute;z-index:30;left:0;right:0;top:0;padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;color:var(--garden-dark)}
.intro-brand{font-family:Georgia,serif;font-size:27px;font-weight:700;line-height:.85}.intro-brand small{display:block;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-top:8px}
.intro-links{display:flex;gap:22px;font:700 12px Arial,sans-serif}.intro-links a{color:inherit;text-decoration:none}
.intro-tour{border:1.5px solid currentColor;border-radius:99px;padding:11px 17px;color:inherit;text-decoration:none;font:700 11px Arial,sans-serif}
.intro-sun{position:absolute;width:12vw;height:12vw;min-width:120px;min-height:120px;border-radius:50%;background:#f5a84e;left:8vw;top:15vh;transform:translateY(calc(var(--p,0)*-80px)) rotate(calc(var(--p,0)*20deg));box-shadow:0 0 0 18px rgba(255,255,255,.12)}
.intro-cloud{position:absolute;width:160px;height:58px;background:#fff;border-radius:80px;z-index:2;opacity:.92}.intro-cloud:before,.intro-cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.intro-cloud:before{width:78px;height:78px;left:28px;top:-34px}.intro-cloud:after{width:60px;height:60px;right:25px;top:-22px}.c1{left:4vw;top:42vh;transform:translateX(calc(var(--p,0)*-180px))}.c2{right:7vw;top:25vh;transform:translateX(calc(var(--p,0)*180px)) scale(.75)}
.garden-mascot{position:absolute;z-index:8;left:50%;top:44%;width:min(34vw,430px);aspect-ratio:1;transform:translate(-50%,-50%) scale(calc(1 + var(--p,0)*.45));transform-origin:center}
.flower-face{position:absolute;inset:25%;border-radius:50%;background:#f7b34e;border:9px solid #fff3ce;display:grid;place-items:center;z-index:4;box-shadow:0 15px 30px #6c54272a}.flower-face:before{content:"♥";font-size:clamp(38px,5vw,72px);color:#617a50;transform:rotate(calc(var(--p,0)*-10deg))}.petal{position:absolute;left:38%;top:2%;width:24%;height:46%;background:#fff8e8;border-radius:60% 60% 48% 48%;transform-origin:50% 104%;box-shadow:0 4px 12px #755f2420}.petal:nth-child(1){transform:rotate(calc(0deg + var(--p,0)*5deg))}.petal:nth-child(2){transform:rotate(calc(45deg + var(--p,0)*9deg))}.petal:nth-child(3){transform:rotate(calc(90deg + var(--p,0)*13deg))}.petal:nth-child(4){transform:rotate(calc(135deg + var(--p,0)*17deg))}.petal:nth-child(5){transform:rotate(calc(180deg + var(--p,0)*21deg))}.petal:nth-child(6){transform:rotate(calc(225deg + var(--p,0)*25deg))}.petal:nth-child(7){transform:rotate(calc(270deg + var(--p,0)*29deg))}.petal:nth-child(8){transform:rotate(calc(315deg + var(--p,0)*33deg))}
.intro-copy{position:absolute;z-index:12;left:50%;top:70%;transform:translate(-50%,calc(-50% + var(--p,0)*-70px));text-align:center;width:min(720px,88vw);opacity:calc(1 - var(--p,0)*1.55);color:var(--garden-dark)}.intro-copy .eyebrow{font:800 11px Arial;letter-spacing:.18em;text-transform:uppercase}.intro-copy h1{font:700 clamp(45px,7vw,96px)/.85 Georgia,serif;margin:10px 0}.intro-copy p{font:600 14px/1.5 Arial;max-width:520px;margin:auto}.scroll-cue{margin-top:20px;font:800 10px Arial;letter-spacing:.15em;text-transform:uppercase}
.ground-front{position:absolute;z-index:10;left:-8%;right:-8%;bottom:-10vh;height:35vh;background:#6f8e58;border-radius:50% 50% 0 0/40% 40% 0 0;transform:translateY(calc(var(--p,0)*28vh)) scaleX(1.1)}
.ground-front:before{content:"";position:absolute;inset:-35px 12% auto;height:110px;background:url('assets/garden-border.png') center bottom/contain repeat-x;filter:saturate(.9)}
.intro-reveal{position:absolute;z-index:6;inset:0;background:var(--cream);clip-path:polygon(0 calc(100% - var(--p,0)*100%),100% calc(84% - var(--p,0)*84%),100% 100%,0 100%)}
.intro-next{position:absolute;z-index:7;left:50%;top:55%;width:min(760px,84vw);transform:translate(-50%,calc(60px - var(--p,0)*110px));opacity:clamp(0,calc((var(--p,0) - .38)*2.4),1);text-align:center;color:var(--ink)}.intro-next .mini{font:800 11px Arial;letter-spacing:.17em;text-transform:uppercase}.intro-next h2{font:700 clamp(42px,7vw,94px)/.9 Georgia,serif;margin:10px 0 16px}.intro-next h2 em{font-weight:400;color:#d95f58}.intro-next p{max-width:600px;margin:auto;font:500 15px/1.6 Arial}
.butterfly-float{position:absolute;z-index:15;width:80px;filter:drop-shadow(0 8px 7px #0002);transition:none}.bf1{left:16%;top:56%;transform:translate(calc(var(--p,0)*130px),calc(var(--p,0)*-180px)) rotate(calc(-15deg + var(--p,0)*55deg))}.bf2{right:14%;top:44%;width:55px;transform:translate(calc(var(--p,0)*-110px),calc(var(--p,0)*120px)) rotate(calc(15deg + var(--p,0)*-45deg))}

.motion-section{min-height:100vh;position:relative;overflow:hidden;padding:11vh 5vw;background:var(--cream)}
.motion-section.green{background:#73885e;color:white}.motion-section.yellow{background:#f4d563}.motion-section.pink{background:#efa19d}.motion-kicker{font:800 11px Arial;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px}.motion-big{font:700 clamp(58px,10vw,150px)/.78 Georgia,serif;letter-spacing:-.055em;margin:0;max-width:1200px}.motion-big .script{font-weight:400;font-style:italic}.motion-copy{font:500 17px/1.55 Arial;max-width:550px;margin:34px 0}.garden-word{position:relative;display:inline-block}.garden-word:after{content:"";position:absolute;left:4%;right:0;height:20px;bottom:-7px;background:url('assets/butterfly-line.png') center/100% 100% no-repeat;opacity:.8}
.pin-photo{margin-top:50px;height:62vh;position:relative}.pin-photo img{position:absolute;width:58%;height:100%;object-fit:cover;border-radius:180px 180px 28px 28px;right:4%;clip-path:inset(calc((1 - var(--seen,0))*100%) 0 0 0 round 180px 180px 28px 28px)}.pin-photo .side-type{position:absolute;left:0;bottom:2%;font:700 clamp(60px,10vw,145px)/.74 Georgia,serif;z-index:2}.pin-photo .side-type span{display:block;transform:translateX(calc((1 - var(--seen,0))*-120px));opacity:var(--seen,0)}
.grow-line{height:420px;position:relative;margin-top:30px}.grow-stem{position:absolute;left:50%;bottom:0;width:8px;height:calc(var(--seen,0)*100%);background:#49623f;border-radius:10px;transform:translateX(-50%)}.grow-flower{position:absolute;width:120px;left:50%;top:0;transform:translate(-50%,calc((1 - var(--seen,0))*220px)) scale(var(--seen,0));transition:none}.grow-leaf{position:absolute;width:110px;opacity:var(--seen,0)}.gl1{left:calc(50% - 100px);top:48%;transform:rotate(-35deg) scale(var(--seen,0));transform-origin:right bottom}.gl2{left:50%;top:64%;transform:rotate(35deg) scale(var(--seen,0));transform-origin:left bottom}
.motion-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.motion-card{min-height:380px;border-radius:36px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transform:translateY(calc((1 - var(--seen,0))*90px)) rotate(calc((1 - var(--seen,0))*3deg));opacity:var(--seen,0)}.motion-card:nth-child(1){background:#3d6fe8}.motion-card:nth-child(2){background:#ee5b4e}.motion-card:nth-child(3){background:#f2c54b;color:#29352a}.motion-card img{position:absolute;width:140px;top:30px;right:25px}.motion-card h3{font:700 36px/1 Georgia;margin:0 0 12px}.motion-card p{font:500 14px/1.5 Arial}
.photo-band{height:85vh;position:relative;overflow:hidden}.photo-band img{width:100%;height:120%;object-fit:cover;transform:translateY(calc(var(--local,0)*-15%))}.photo-band .overlay-word{position:absolute;inset:0;display:grid;place-items:center;color:white;font:700 clamp(70px,14vw,190px)/.8 Georgia;text-shadow:0 6px 30px #0004;transform:scale(calc(.7 + var(--local,0)*.3));opacity:calc(.3 + var(--local,0)*.7)}
@media(max-width:800px){.intro-links{display:none}.garden-mascot{width:68vw}.intro-sun{width:100px;height:100px}.motion-cards{grid-template-columns:1fr}.motion-big{font-size:18vw}.pin-photo img{width:86%;right:-12%}.pin-photo .side-type{font-size:17vw}.motion-stage .intro-nav{padding:18px 20px}}
.home-motion>header.nav{display:none}

/* ===== V4 — recording-led, code-drawn garden experience ===== */
.v4-home{--v4-ink:#2e3d2d;--v4-cream:#fffaf0;--v4-yellow:#f2d565;--v4-orange:#f2a34c;--v4-green:#73885f;--v4-dark:#34462f;--v4-pink:#e99ca0;--v4-white:#fffdf7;background:var(--v4-cream);color:var(--v4-ink);font-family:Arial,sans-serif;overflow-x:hidden}.v4-home *{box-sizing:border-box}.v4-home .nav,.v4-home .footer{display:none}.v4-nav{position:fixed;z-index:100;top:0;left:0;right:0;height:74px;padding:0 3.2vw;display:flex;align-items:center;gap:34px;color:var(--v4-dark);mix-blend-mode:multiply}.v4-logo{font:700 24px/.9 Georgia,serif;margin-right:auto}.v4-logo small{display:block;font:700 8px/1 Arial;letter-spacing:.2em;margin-top:8px}.v4-nav nav{display:flex;gap:26px;font-size:11px;font-weight:700}.v4-pill{font-size:10px;font-weight:800;border:1.4px solid currentColor;border-radius:99px;padding:11px 16px}.v4-opening{height:260vh;position:relative;background:var(--v4-yellow)}.v4-pin{position:sticky;top:0;height:100vh;overflow:hidden;background:linear-gradient(var(--v4-yellow) 0 73%,#9bbb75 73%);isolation:isolate}.v4-sun{position:absolute;left:8vw;top:14vh;width:10vw;min-width:105px;aspect-ratio:1;border-radius:50%;background:var(--v4-orange);transform:translateY(calc(var(--v4p)*-80px))}.v4-cloud{position:absolute;width:105px;height:34px;border-radius:60px;background:var(--v4-white);transition:none}.v4-cloud:before,.v4-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.v4-cloud:before{width:50px;height:50px;left:15px;top:-23px}.v4-cloud:after{width:38px;height:38px;right:14px;top:-15px}.cloud-a{left:2vw;top:39vh;transform:translateX(calc(var(--v4p)*-160px))}.cloud-b{right:4vw;top:24vh;transform:translateX(calc(var(--v4p)*170px)) scale(.75)}.v4-daisy{position:absolute;z-index:6;left:50%;top:39%;width:min(28vw,350px);aspect-ratio:1;transform:translate(-50%,-50%) scale(calc(1 + var(--v4p)*.52)) rotate(calc(var(--v4p)*14deg));filter:drop-shadow(0 12px 15px #6c54271a)}.v4-daisy>i{position:absolute;left:39%;top:1%;width:22%;height:49%;background:#fffdf2;border-radius:55% 55% 47% 47%;transform-origin:50% 101%;border:1px solid #f3ead6}.v4-daisy>i:nth-child(1){transform:rotate(0deg)}.v4-daisy>i:nth-child(2){transform:rotate(45deg)}.v4-daisy>i:nth-child(3){transform:rotate(90deg)}.v4-daisy>i:nth-child(4){transform:rotate(135deg)}.v4-daisy>i:nth-child(5){transform:rotate(180deg)}.v4-daisy>i:nth-child(6){transform:rotate(225deg)}.v4-daisy>i:nth-child(7){transform:rotate(270deg)}.v4-daisy>i:nth-child(8){transform:rotate(315deg)}.v4-daisy>b{position:absolute;z-index:3;inset:28%;border-radius:50%;display:grid;place-items:center;background:var(--v4-orange);color:var(--v4-green);font:700 clamp(28px,4vw,54px) Georgia}.v4-open-copy{position:absolute;z-index:9;left:50%;top:72%;width:min(760px,88vw);text-align:center;transform:translate(-50%,calc(-50% - var(--v4p)*80px));opacity:clamp(0,calc(1 - var(--v4p)*1.9),1)}.v4-open-copy p,.v4-bloom-copy>p,.v4-number{font-size:9px;font-weight:800;letter-spacing:.22em}.v4-open-copy h1{font:700 clamp(48px,6.6vw,94px)/.8 Georgia,serif;letter-spacing:-.055em;margin:9px 0 22px}.v4-open-copy small{font-size:8px;font-weight:800;letter-spacing:.18em}.v4-meadow{position:absolute;z-index:8;left:-3%;right:-3%;bottom:-2px;height:20vh;background:#6f8d59;border-radius:50% 50% 0 0/20% 20% 0 0;transform:translateY(calc(var(--v4p)*22vh))}.v4-meadow i{position:absolute;bottom:70%;width:14px;height:60px;background:#3f633a;border-radius:100% 0;transform-origin:bottom}.v4-meadow i:after{content:"";position:absolute;top:-16px;left:-13px;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,#e8a541 0 22%,#fffaf0 24% 52%,transparent 54%)}.v4-meadow i:nth-child(1){left:8%;height:50px}.v4-meadow i:nth-child(2){left:21%;height:75px}.v4-meadow i:nth-child(3){left:34%;height:55px}.v4-meadow i:nth-child(4){left:64%;height:68px}.v4-meadow i:nth-child(5){left:76%;height:48px}.v4-meadow i:nth-child(6){left:88%;height:73px}.v4-meadow i:nth-child(7){left:53%;height:44px}.v4-cream-reveal{position:absolute;z-index:4;inset:0;background:var(--v4-cream);clip-path:polygon(0 calc(102% - var(--v4p)*102%),100% calc(90% - var(--v4p)*90%),100% 100%,0 100%)}.v4-bloom-copy{position:absolute;z-index:5;left:50%;top:54%;width:min(820px,86vw);text-align:center;transform:translate(-50%,calc(70px - var(--v4p)*120px));opacity:clamp(0,calc((var(--v4p) - .42)*2.7),1)}.v4-bloom-copy h2{font:700 clamp(48px,7vw,98px)/.83 Georgia,serif;letter-spacing:-.055em;margin:12px 0 22px}.v4-bloom-copy h2 em{font-weight:400;color:#cf625d}.v4-bloom-copy>span{display:block;max-width:560px;margin:0 auto;font-size:13px;line-height:1.55}.v4-rule{height:1px;background:#374733;width:90px;margin:0 auto 20px}.v4-actions{display:flex;justify-content:center;gap:8px;margin-top:24px}.v4-actions a,.v4-outline{border:1px solid currentColor;border-radius:99px;padding:11px 16px;font-size:9px;font-weight:800;letter-spacing:.08em}.v4-actions a:first-child{background:var(--v4-dark);color:white;border-color:var(--v4-dark)}.v4-butterfly{position:absolute;z-index:10;width:45px;height:30px;transform-origin:center}.v4-butterfly span{position:absolute;top:1px;width:22px;height:26px;background:#f0a248;border:2px solid #5e472f}.v4-butterfly span:first-child{left:0;border-radius:80% 15% 60% 25%;transform:rotate(-22deg)}.v4-butterfly span:nth-child(2){right:0;border-radius:15% 80% 25% 60%;transform:rotate(22deg)}.v4-butterfly b{position:absolute;left:21px;top:6px;width:4px;height:21px;background:#5e472f;border-radius:9px}.butterfly-a{left:14%;top:55%;transform:translate(calc(var(--v4p)*190px),calc(var(--v4p)*-230px)) rotate(calc(-12deg + var(--v4p)*80deg))}.butterfly-b{right:13%;top:46%;transform:scale(.7) translate(calc(var(--v4p)*-190px),calc(var(--v4p)*160px)) rotate(calc(12deg - var(--v4p)*60deg))}.v4-editorial{position:relative;min-height:100vh;padding:11vh 5vw;overflow:hidden}.v4-cream{background:var(--v4-cream)}.v4-green{background:var(--v4-green);color:white}.v4-yellow{background:var(--v4-yellow)}.v4-pink{background:var(--v4-pink)}.v4-number{position:relative;z-index:4;margin-bottom:5vh}.v4-curious{position:relative;min-height:69vh}.v4-curious h2{position:relative;z-index:3;margin:0;font:700 clamp(78px,13vw,190px)/.68 Georgia,serif;letter-spacing:-.07em}.v4-curious h2 span{display:block;transform:translateX(calc((1 - var(--v4seen))*-12vw));opacity:var(--v4seen)}.v4-curious h2 span:last-child{margin-left:19vw}.v4-photo-window{position:absolute;z-index:2;right:5vw;top:-2vh;width:min(43vw,610px);height:58vh;border-radius:160px 160px 28px 28px;overflow:hidden;clip-path:inset(calc((1 - var(--v4seen))*100%) 0 0 0 round 160px 160px 28px 28px)}.v4-photo-window img{width:100%;height:100%;object-fit:cover}.v4-orbit{position:absolute;width:16vw;aspect-ratio:1;border:1px solid #bd665f;border-radius:50%;left:10vw;bottom:-1vh;transform:scale(var(--v4seen)) rotate(calc(var(--v4seen)*90deg))}.v4-orbit:before,.v4-orbit:after{content:"";position:absolute;border:1px solid #bd665f;border-radius:50%;inset:18%}.v4-orbit:after{inset:39%;background:#bd665f}.v4-sidecopy{max-width:390px;margin:0 0 15px 57%;font-size:14px;line-height:1.55}.v4-textlink{margin-left:57%;font-size:9px;font-weight:800;letter-spacing:.12em}.v4-care-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:72vh;align-items:center;gap:5vw}.v4-care-grid h2,.v4-help,.v4-story-copy h2,.v4-final h2{font:700 clamp(70px,9.5vw,145px)/.77 Georgia,serif;letter-spacing:-.06em;margin:0}.v4-care-grid h2 em,.v4-help em,.v4-story-copy em,.v4-final h2 em{font-weight:400}.v4-care-grid p{max-width:480px;font-size:14px;margin:28px 0}.v4-code-garden{height:70vh;position:relative}.v4-code-garden .stem{position:absolute;bottom:0;left:50%;width:8px;height:calc(var(--v4seen)*78%);background:#30462d;border-radius:10px;transform:translateX(-50%)}.v4-code-garden .leaf{position:absolute;width:110px;height:54px;background:#4c6644;border-radius:100% 0 100% 0;opacity:var(--v4seen);transform-origin:bottom right}.v4-code-garden .l1{left:calc(50% - 105px);bottom:22%;transform:rotate(-24deg) scale(var(--v4seen))}.v4-code-garden .l2{left:50%;bottom:38%;transform:scaleX(-1) rotate(-25deg) scale(var(--v4seen))}.v4-code-garden .l3{left:calc(50% - 102px);bottom:54%;transform:rotate(-18deg) scale(var(--v4seen))}.v4-code-garden .flower{position:absolute;left:50%;top:3%;width:170px;aspect-ratio:1;transform:translate(-50%,calc((1 - var(--v4seen))*230px)) scale(var(--v4seen)) rotate(calc(var(--v4seen)*30deg))}.v4-code-garden .flower i{position:absolute;left:40%;top:2%;width:20%;height:52%;background:#fffaf0;border-radius:60% 60% 50% 50%;transform-origin:50% 95%}.v4-code-garden .flower i:nth-child(1){transform:rotate(0)}.v4-code-garden .flower i:nth-child(2){transform:rotate(60deg)}.v4-code-garden .flower i:nth-child(3){transform:rotate(120deg)}.v4-code-garden .flower i:nth-child(4){transform:rotate(180deg)}.v4-code-garden .flower i:nth-child(5){transform:rotate(240deg)}.v4-code-garden .flower i:nth-child(6){transform:rotate(300deg)}.v4-code-garden .flower b{position:absolute;inset:33%;background:#e9a14b;border-radius:50%;z-index:2}.v4-help{max-width:1050px}.v4-support-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:9vh;border-top:1px solid #4d573f;border-bottom:1px solid #4d573f}.v4-support{min-height:330px;padding:34px;border-right:1px solid #4d573f;display:flex;flex-direction:column;align-items:flex-start;transform:translateY(calc((1 - var(--v4seen))*70px));opacity:var(--v4seen)}.v4-support:last-child{border-right:0}.v4-support span{width:65px;height:65px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;font:700 25px Georgia;margin-bottom:auto}.v4-support b{font:700 28px Georgia;margin-top:35px}.v4-support p{font-size:12px;max-width:310px}.v4-support u{font-size:9px;font-weight:800;text-decoration:none;letter-spacing:.12em;margin-top:10px}.v4-image-scene{height:100vh;position:relative;overflow:hidden;background:#333}.v4-image-scene img{width:100%;height:120%;object-fit:cover;transform:translateY(calc(var(--v4photo)*-16%));filter:saturate(.9)}.v4-image-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-shadow:0 3px 20px #0005}.v4-image-label small{font-size:9px;font-weight:800;letter-spacing:.3em}.v4-image-label strong{font:700 clamp(90px,16vw,220px)/.75 Georgia;letter-spacing:-.06em;transform:scale(calc(.65 + var(--v4photo)*.35));opacity:calc(.25 + var(--v4photo)*.75)}.v4-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center;min-height:75vh}.v4-story-copy p{max-width:430px;font-size:14px;line-height:1.6;margin-top:28px}.v4-story-photo{height:70vh;border-radius:50% 50% 12px 12px/34% 34% 12px 12px;overflow:hidden;transform:translateY(calc((1 - var(--v4seen))*90px));opacity:var(--v4seen)}.v4-story-photo img{width:100%;height:100%;object-fit:cover}.v4-final{min-height:100vh}.v4-final h2{position:relative;z-index:3;max-width:1100px}.v4-final>p{max-width:500px;font-size:14px;margin:30px 0;position:relative;z-index:3}.v4-final .v4-actions{justify-content:flex-start;position:relative;z-index:3}.v4-final-sun{position:absolute;right:10vw;top:15vh;width:24vw;aspect-ratio:1;border-radius:50%;background:var(--v4-yellow);transform:scale(calc(.4 + var(--v4seen)*.6))}.v4-final-cloud{position:absolute;right:5vw;bottom:10vh;width:25vw;height:9vw;border-radius:100px;background:#fff6e6;transform:translateX(calc((1 - var(--v4seen))*150px))}.v4-final-cloud:before,.v4-final-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.v4-final-cloud:before{width:11vw;height:11vw;left:3vw;top:-5vw}.v4-final-cloud:after{width:9vw;height:9vw;right:3vw;top:-4vw}.v4-footer{background:var(--v4-dark);color:#f8f3e8;padding:45px 5vw;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.v4-footer strong{display:block;font:700 30px Georgia}.v4-footer span{font-size:9px;letter-spacing:.16em}.v4-footer nav{display:flex;gap:20px;font-size:11px}.v4-footer small{grid-column:1/-1;opacity:.65;font-size:10px}
@media(max-width:800px){.v4-nav nav{display:none}.v4-nav{height:64px}.v4-logo{font-size:20px}.v4-daisy{width:64vw}.v4-open-copy{top:73%}.v4-care-grid,.v4-story-grid{grid-template-columns:1fr}.v4-curious{min-height:72vh}.v4-curious h2{font-size:21vw}.v4-curious h2 span:last-child{margin-left:0}.v4-photo-window{width:78vw;right:-18vw;top:22vh;height:48vh}.v4-sidecopy,.v4-textlink{margin-left:0}.v4-support-row{grid-template-columns:1fr}.v4-support{border-right:0;border-bottom:1px solid #4d573f;min-height:280px}.v4-code-garden{height:55vh}.v4-story-photo{height:55vh}.v4-footer{grid-template-columns:1fr}.v4-footer nav{flex-wrap:wrap}.v4-final-sun{width:45vw}.v4-bloom-copy h2{font-size:13vw}}

/* V5 — recording-inspired moving garden journey. All decorative art is CSS/code, not image assets. */
.garden-journey{height:430vh;background:#f4cd58;position:relative;color:#243326}
.journey-pin{height:100vh;position:sticky;top:0;overflow:hidden;background:#f4cd58;--trainp:0}
.journey-head{position:absolute;z-index:6;left:5vw;top:11vh;width:min(650px,55vw);transform:translateY(calc(var(--trainp)*-90px));opacity:clamp(0,calc(1 - var(--trainp)*2.1),1)}
.journey-head small{font-size:9px;font-weight:800;letter-spacing:.16em}
.journey-head h2{font:700 clamp(60px,8vw,122px)/.76 Georgia,serif;letter-spacing:-.065em;margin:12px 0 18px}
.journey-head h2 em{font-size:.48em;font-weight:400;letter-spacing:-.035em}
.journey-head p{max-width:480px;font-size:13px;line-height:1.55}
.journey-sky{position:absolute;inset:0;pointer-events:none}.j-sun{position:absolute;width:11vw;aspect-ratio:1;border-radius:50%;background:#e98c55;right:8vw;top:9vh;transform:rotate(calc(var(--trainp)*120deg)) scale(calc(1 - var(--trainp)*.2))}.j-sun:before{content:"";position:absolute;inset:-22%;border:3px dashed #e98c55;border-radius:50%}
.jcloud{position:absolute;width:12vw;height:3.8vw;background:#fff8e8;border-radius:999px}.jcloud:before,.jcloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.jcloud:before{width:5vw;height:5vw;left:1.5vw;top:-2.4vw}.jcloud:after{width:4vw;height:4vw;right:1.8vw;top:-1.8vw}.jc1{left:10vw;top:13vh;transform:translateX(calc(var(--trainp)*-35vw))}.jc2{left:55vw;top:28vh;transform:scale(.65) translateX(calc(var(--trainp)*-50vw))}.jc3{left:82vw;top:18vh;transform:scale(.45) translateX(calc(var(--trainp)*-70vw))}
.garden-track{position:absolute;left:0;right:0;bottom:19vh;height:22px;border-top:5px solid #3c4b37;border-bottom:5px solid #3c4b37}.garden-track span{position:absolute;top:-14px;width:9px;height:43px;background:#8d6749;transform:rotate(90deg)}.garden-track span:nth-child(1){left:4%}.garden-track span:nth-child(2){left:14%}.garden-track span:nth-child(3){left:24%}.garden-track span:nth-child(4){left:34%}.garden-track span:nth-child(5){left:44%}.garden-track span:nth-child(6){left:54%}.garden-track span:nth-child(7){left:64%}.garden-track span:nth-child(8){left:74%}.garden-track span:nth-child(9){left:84%}.garden-track span:nth-child(10){left:94%}
.garden-train{position:absolute;z-index:5;bottom:calc(19vh + 19px);left:0;height:180px;width:1430px;display:flex;align-items:flex-end;gap:22px;transform:translateX(calc(105vw - var(--trainp)*2350px))}.garden-engine{width:235px;height:142px;position:relative;background:#59704e;border:4px solid #283a2b;border-radius:18px 48px 12px 12px;box-shadow:inset 0 0 0 5px #78906c}.engine-cab{position:absolute;right:12px;top:-72px;width:92px;height:80px;background:#f7f1e5;border:4px solid #283a2b;border-radius:42px 42px 6px 6px;display:grid;place-items:center;font-size:30px;color:#d66561}.engine-nose{position:absolute;left:-36px;bottom:16px;width:55px;height:76px;background:#d96d62;border:4px solid #283a2b;border-radius:50% 8px 8px 50%}.engine-chimney{position:absolute;left:38px;top:-60px;width:44px;height:65px;background:#405943;border:4px solid #283a2b;border-radius:6px 6px 14px 14px}.engine-chimney:before{content:"";position:absolute;left:-10px;top:-13px;width:58px;height:18px;background:#405943;border:4px solid #283a2b;border-radius:999px}.wheel{position:absolute!important;bottom:-29px!important;width:56px!important;height:56px!important;background:#f7f1e5!important;border:8px solid #283a2b!important;border-radius:50%!important;animation:wheelSpin 1.2s linear infinite}.wheel:after{content:"";position:absolute;inset:14px;background:#e7a648;border-radius:50%}.garden-engine .w1{left:35px}.garden-engine .w2{right:28px}.steam{position:absolute;left:42px;top:-128px}.steam i{position:absolute;width:34px;height:34px;border:3px solid #fff8e8;border-radius:50%;opacity:calc(.2 + var(--trainp)*.7)}.steam i:nth-child(1){transform:translate(0,calc(var(--trainp)*-20px))}.steam i:nth-child(2){transform:translate(38px,calc(var(--trainp)*-50px)) scale(.75)}.steam i:nth-child(3){transform:translate(70px,calc(var(--trainp)*-80px)) scale(.5)}
.garden-car{position:relative;width:205px;height:112px;border:4px solid #283a2b;border-radius:15px 15px 8px 8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;box-shadow:inset 0 0 0 5px #ffffff44}.garden-car:before{content:"";position:absolute;left:-27px;bottom:28px;width:25px;height:5px;background:#283a2b}.garden-car .wheel:first-of-type{left:24px}.garden-car .wheel:last-of-type{right:24px}.garden-car strong{font:700 20px Georgia;letter-spacing:.04em}.car-icon{font-size:39px;line-height:1}.car-learn{background:#f5eee1}.car-play{background:#df8d91}.car-nourish{background:#d7a849}.car-rest{background:#8ba17e}.car-belong{background:#f0b071}.car-play .car-icon{animation:flowerTurn 3s linear infinite}.car-rest .car-icon{transform:rotate(-14deg)}
@keyframes wheelSpin{to{transform:rotate(360deg)}}@keyframes flowerTurn{to{transform:rotate(360deg)}}
.journey-garden{position:absolute;left:0;right:0;bottom:0;height:19vh;background:#71835c;border-top:4px solid #30452e}.journey-garden:before{content:"";position:absolute;left:0;right:0;top:-14px;height:18px;background:repeating-linear-gradient(115deg,#47613f 0 7px,transparent 7px 17px)}.journey-garden i{position:absolute;bottom:12%;width:15px;height:15px;background:#fff7e7;border-radius:50%}.journey-garden i:before,.journey-garden i:after{content:"";position:absolute;width:15px;height:15px;background:#fff7e7;border-radius:50%}.journey-garden i:before{left:-10px}.journey-garden i:after{left:10px}.journey-garden i:nth-child(1){left:7%;bottom:35%}.journey-garden i:nth-child(2){left:18%;bottom:17%;transform:scale(.7)}.journey-garden i:nth-child(3){left:31%;bottom:48%}.journey-garden i:nth-child(4){left:43%;bottom:22%;transform:scale(.8)}.journey-garden i:nth-child(5){left:57%;bottom:37%;transform:scale(.65)}.journey-garden i:nth-child(6){left:68%;bottom:15%}.journey-garden i:nth-child(7){left:78%;bottom:48%;transform:scale(.75)}.journey-garden i:nth-child(8){left:88%;bottom:27%}.journey-garden i:nth-child(9){left:96%;bottom:45%;transform:scale(.6)}
.journey-end{position:absolute;z-index:7;right:7vw;top:15vh;width:min(520px,42vw);opacity:clamp(0,calc((var(--trainp) - .72)*4.2),1);transform:translateX(calc((1 - var(--trainp))*120px));text-align:right}.journey-end span{font-size:9px;font-weight:800;letter-spacing:.18em}.journey-end strong{display:block;font:700 clamp(58px,7vw,105px)/.76 Georgia,serif;letter-spacing:-.06em;margin:12px 0 24px}.journey-end a{display:inline-block;border:1px solid #283a2b;border-radius:99px;padding:12px 18px;font-size:9px;font-weight:800;letter-spacing:.1em;background:#f7f1e5}
@media(max-width:800px){.garden-journey{height:350vh}.journey-head{width:86vw;top:12vh}.journey-head h2{font-size:16vw}.garden-train{transform:translateX(calc(110vw - var(--trainp)*2150px));bottom:25vh;transform-origin:left bottom;scale:.72}.garden-track{bottom:25vh}.journey-garden{height:25vh}.journey-end{right:7vw;top:18vh;width:80vw}.journey-end strong{font-size:15vw}.j-sun{width:24vw}.jcloud{width:28vw;height:9vw}.jcloud:before{width:12vw;height:12vw;top:-6vw}.jcloud:after{width:10vw;height:10vw;top:-5vw}.jc2{left:60vw}.jc3{display:none}}
\n\n/* V6 — ambient hero motion. Decorative code only; approved hero layout/content remains unchanged. */\n.v4-opening .hero-ambient{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}\n.hero-butterfly{position:absolute;width:46px;height:32px;filter:drop-shadow(0 5px 8px rgba(49,64,42,.08));will-change:transform}\n.hero-butterfly i{position:absolute;top:3px;width:23px;height:25px;background:#e78b75;border:2px solid #30462d}\n.hero-butterfly i:first-child{right:50%;border-radius:90% 25% 80% 30%;transform-origin:100% 60%;animation:heroWingL .34s ease-in-out infinite alternate}\n.hero-butterfly i:nth-child(2){left:50%;border-radius:25% 90% 30% 80%;transform-origin:0 60%;animation:heroWingR .34s ease-in-out infinite alternate}\n.hero-butterfly b{position:absolute;left:50%;top:8px;width:4px;height:19px;border-radius:8px;background:#30462d;transform:translateX(-50%)}\n.hb-one{top:27%;left:-7%;animation:heroFlyOne 15s linear infinite}\n.hb-two{top:54%;left:-10%;scale:.72;animation:heroFlyTwo 19s linear 3.5s infinite}\n.hb-three{top:17%;right:-8%;scale:.55;animation:heroFlyThree 22s linear 1s infinite}.hb-two i{background:#e4ad45}.hb-three i{background:#d66e7b}\n@keyframes heroWingL{to{transform:rotateY(58deg) rotate(-12deg)}}@keyframes heroWingR{to{transform:rotateY(-58deg) rotate(12deg)}}\n@keyframes heroFlyOne{0%{transform:translate(-5vw,8px) rotate(-7deg)}22%{transform:translate(28vw,-46px) rotate(8deg)}48%{transform:translate(58vw,28px) rotate(-5deg)}72%{transform:translate(84vw,-32px) rotate(8deg)}100%{transform:translate(116vw,12px) rotate(-4deg)}}\n@keyframes heroFlyTwo{0%{transform:translate(-8vw,0) rotate(8deg)}30%{transform:translate(34vw,38px) rotate(-7deg)}62%{transform:translate(72vw,-42px) rotate(8deg)}100%{transform:translate(120vw,15px) rotate(-5deg)}}\n@keyframes heroFlyThree{0%{transform:translate(8vw,0) rotate(-8deg)}35%{transform:translate(-32vw,48px) rotate(6deg)}68%{transform:translate(-72vw,-26px) rotate(-7deg)}100%{transform:translate(-118vw,22px) rotate(5deg)}}\n.hero-flower{position:absolute;bottom:2.5%;width:74px;height:155px;transform-origin:50% 100%;animation:heroFlowerSway 4.8s ease-in-out infinite alternate;will-change:transform}\n.hero-flower span{position:absolute;bottom:0;left:50%;width:5px;height:112px;border-radius:9px;background:#476143;transform:translateX(-50%)}\n.hero-flower span:before,.hero-flower span:after{content:"";position:absolute;width:34px;height:18px;background:#6f8b63;top:43px;border-radius:100% 0 100% 0;transform-origin:100% 100%}.hero-flower span:before{right:2px;transform:rotate(-26deg)}.hero-flower span:after{left:2px;transform:scaleX(-1) rotate(-26deg)}\n.hero-flower b{position:absolute;left:50%;top:0;width:27px;height:27px;border-radius:50%;background:#e5a747;transform:translateX(-50%);box-shadow:0 -24px 0 4px #fff6df,21px -10px 0 4px #fff6df,13px 15px 0 4px #fff6df,-13px 15px 0 4px #fff6df,-21px -10px 0 4px #fff6df}\n.hf-one{left:4%;scale:.82;animation-delay:-1s}.hf-two{left:16%;scale:.55;animation-duration:5.8s}.hf-three{right:17%;scale:.68;animation-delay:-2.2s}.hf-four{right:4%;scale:.92;animation-duration:6.4s;animation-delay:-.7s}\n@keyframes heroFlowerSway{0%{transform:rotate(-5deg)}100%{transform:rotate(6deg)}}\n.hero-leaf{position:absolute;width:28px;height:16px;background:#708c64;border-radius:100% 0 100% 0;opacity:.75;animation:heroLeafFall 10s linear infinite;will-change:transform}.hl-one{left:18%;top:-8%;animation-delay:1s}.hl-two{left:62%;top:-10%;animation-delay:4.4s;scale:.72}.hl-three{left:84%;top:-12%;animation-delay:7s;scale:.55}\n@keyframes heroLeafFall{0%{transform:translate3d(0,-8vh,0) rotate(0);opacity:0}10%{opacity:.75}45%{transform:translate3d(70px,48vh,0) rotate(170deg)}80%{opacity:.7}100%{transform:translate3d(-35px,108vh,0) rotate(390deg);opacity:0}}\n.v4-opening .v4-cloud{animation:heroCloudDrift 9s ease-in-out infinite alternate}.v4-opening .cloud-b{animation-duration:12s;animation-delay:-4s}@keyframes heroCloudDrift{to{translate:24px 5px}}\n.v4-opening .v4-sun{animation:heroSunBreathe 6s ease-in-out infinite alternate}@keyframes heroSunBreathe{to{scale:1.045;rotate:4deg}}\n@media(max-width:700px){.hero-flower{width:55px;height:125px}.hero-flower span{height:90px}.hf-two,.hf-three{display:none}.hero-butterfly{scale:.72}.hb-three{display:none}}\n@media(prefers-reduced-motion:reduce){.hero-butterfly,.hero-flower,.hero-leaf,.v4-opening .v4-cloud,.v4-opening .v4-sun{animation:none!important}}\n
/* V7 — reference-video kinetic motion: prominent, code-built and on-brand */
.hero-garden-parade{position:absolute;z-index:8;left:0;bottom:8.5%;width:620px;height:92px;display:flex;align-items:flex-end;gap:10px;pointer-events:none;animation:heroParade 13s linear infinite;filter:drop-shadow(0 7px 0 rgba(47,69,43,.10))}
.parade-engine{position:relative;width:132px;height:63px;border:3px solid #30452e;border-radius:14px 24px 10px 10px;background:#70865f;display:grid;place-items:center;color:#fff6e8;font:700 25px Georgia}.parade-engine:before{content:"";position:absolute;right:12px;top:-39px;width:51px;height:40px;background:#f8f1e5;border:3px solid #30452e;border-radius:22px 22px 3px 3px}.parade-engine b{z-index:2}.parade-chimney{position:absolute;left:18px;top:-34px;width:23px;height:36px;background:#d46c61;border:3px solid #30452e;border-radius:4px}.parade-chimney:before{content:"";position:absolute;left:-6px;top:-8px;width:29px;height:9px;background:#d46c61;border:3px solid #30452e;border-radius:20px}.parade-engine>i,.parade-wagon>i{position:absolute;bottom:-14px;width:27px;height:27px;background:#f8f1e5;border:5px solid #30452e;border-radius:50%;animation:paradeWheel .75s linear infinite}.parade-engine>i:nth-of-type(1){left:20px}.parade-engine>i:nth-of-type(2){right:18px}.parade-wagon{position:relative;width:102px;height:54px;border:3px solid #30452e;border-radius:12px 12px 7px 7px;display:grid;place-items:center;font-size:28px}.parade-wagon:before{content:"";position:absolute;left:-13px;bottom:15px;width:11px;height:3px;background:#30452e}.parade-wagon>i:nth-of-type(1){left:14px}.parade-wagon>i:nth-of-type(2){right:14px}.pw1{background:#f5e9d8;color:#d56b63}.pw2{background:#e2a947;color:#fff6e8}.pw3{background:#dc9296;color:#fff6e8}.puff{position:absolute;left:18px;top:-62px;width:20px;height:20px;border:2px solid #fff7e7;border-radius:50%;animation:puff 2s ease-out infinite}.p2{animation-delay:1s}.hero-garden-parade:after{content:"";position:absolute;left:-100vw;right:-100vw;bottom:-17px;height:3px;background:#30452e;opacity:.55}
@keyframes heroParade{0%{transform:translateX(-720px)}45%,55%{transform:translateX(calc(50vw - 300px))}100%{transform:translateX(calc(100vw + 120px))}}@keyframes paradeWheel{to{transform:rotate(360deg)}}@keyframes puff{0%{opacity:0;transform:translate(0,10px) scale(.5)}25%{opacity:.85}100%{opacity:0;transform:translate(35px,-38px) scale(1.5)}}

.kinetic-play{height:430vh;background:#f8f1e5;position:relative}.kinetic-pin{height:100vh;position:sticky;top:0;overflow:hidden;display:grid;place-items:center;background:#f8f1e5;--kp:0}.kinetic-copy{position:absolute;z-index:3;top:9vh;width:min(660px,78vw);text-align:center;font:600 clamp(22px,2.5vw,38px)/1.08 Georgia,serif;color:#30452e;opacity:clamp(0,calc((.28 - var(--kp))*9),1);transform:translateY(calc(var(--kp)*-90px))}.kinetic-kid{position:absolute;z-index:4;left:50%;top:53%;width:min(350px,31vw);height:min(480px,54vh);transform:translate(-50%,-50%) scale(calc(.84 + var(--kp)*.22));clip-path:polygon(8% 3%,92% 0,100% 91%,78% 100%,7% 95%,0 14%);opacity:clamp(0,calc((.52 - var(--kp))*7),1)}.kinetic-kid img{width:100%;height:100%;object-fit:cover}.kinetic-cloud{position:absolute;width:170px;height:58px;border-radius:99px;background:#8fa583;opacity:clamp(0,calc((.56 - var(--kp))*7),1)}.kinetic-cloud:before,.kinetic-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.kinetic-cloud:before{width:74px;height:74px;left:27px;top:-31px}.kinetic-cloud:after{width:58px;height:58px;right:25px;top:-20px}.kc1{left:10vw;top:46%;transform:translateX(calc(var(--kp)*-42vw))}.kc2{right:8vw;top:27%;scale:.75;transform:translateX(calc(var(--kp)*45vw))}.kinetic-words{position:absolute;z-index:7;inset:0;display:grid;place-items:center;pointer-events:none}.kinetic-words span{position:absolute;font:800 clamp(100px,19vw,300px)/.72 'DM Sans',sans-serif;letter-spacing:-.08em;transform-origin:center;opacity:0}.kinetic-words span:nth-child(1){color:#e3a83f;opacity:clamp(0,calc((var(--kp) - .28)*10),calc((.58 - var(--kp))*10));transform:scale(calc(.15 + var(--kp)*2.4)) rotate(calc((.42 - var(--kp))*5deg))}.kinetic-words span:nth-child(2){color:#d66e72;opacity:clamp(0,calc((var(--kp) - .48)*10),calc((.78 - var(--kp))*10));transform:scale(calc(-.5 + var(--kp)*2.5))}.kinetic-words span:nth-child(3){color:#405943;opacity:clamp(0,calc((var(--kp) - .68)*10),1);transform:scale(calc(-1.15 + var(--kp)*2.7))}.kinetic-doodles i{position:absolute;font-style:normal;font-size:42px;color:#d66e72;opacity:clamp(0,calc((var(--kp) - .15)*5),1)}.kinetic-doodles i:nth-child(1){left:9%;top:20%;transform:translateY(calc(var(--kp)*120px)) rotate(calc(var(--kp)*180deg))}.kinetic-doodles i:nth-child(2){right:12%;top:35%;color:#e3a83f;transform:translateY(calc(var(--kp)*-150px)) rotate(calc(var(--kp)*-90deg))}.kinetic-doodles i:nth-child(3){left:18%;bottom:17%;color:#405943;transform:translateX(calc(var(--kp)*90px))}.kinetic-doodles i:nth-child(4){right:20%;bottom:14%;transform:translateX(calc(var(--kp)*-110px)) rotate(calc(var(--kp)*220deg))}
.v4-support{transform:translateY(calc((1 - var(--v4seen))*120px)) rotate(calc((1 - var(--v4seen))*-4deg));opacity:clamp(0,calc(var(--v4seen)*2.2 - .35),1)}.v4-support:nth-child(2){transition-delay:.08s;transform:translateY(calc((1 - var(--v4seen))*170px)) rotate(calc((1 - var(--v4seen))*3deg))}.v4-support:nth-child(3){transition-delay:.16s;transform:translateY(calc((1 - var(--v4seen))*220px)) rotate(calc((1 - var(--v4seen))*-2deg))}
@media(max-width:800px){.hero-garden-parade{scale:.68;transform-origin:left bottom;bottom:10%}.kinetic-play{height:360vh}.kinetic-kid{width:55vw}.kinetic-words span{font-size:26vw}.kinetic-cloud{scale:.65}.kc1{left:2vw}.kc2{right:0}}
@media(prefers-reduced-motion:reduce){.hero-garden-parade{animation:none;left:4%;transform:none}.kinetic-play{height:auto}.kinetic-pin{height:100vh;position:relative}}

/* V8 — corrected reference interaction: ambient hero + hover typography */
.hero-garden-parade{display:none!important}
.ref-curiosity{min-height:100vh;position:relative;overflow:hidden;background:#f8f1e5;padding:12vh 6vw 0;display:flex;flex-direction:column;align-items:center;text-align:center}.ref-eyebrow{font-size:12px;font-weight:800;letter-spacing:.28em;color:#405943;margin:0 0 24px}.ref-curiosity h2{position:relative;z-index:3;max-width:800px;margin:0;font:600 clamp(28px,3.2vw,50px)/1.04 Georgia,serif;color:#344734}.ref-child{position:absolute;z-index:2;bottom:-2vh;left:50%;width:min(470px,38vw);height:58vh;transform:translateX(-50%);clip-path:ellipse(43% 48% at 50% 52%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.ref-child img{width:100%;height:100%;object-fit:cover}.ref-curiosity:hover .ref-child{transform:translateX(-50%) translateY(-10px) scale(1.025)}.ref-cloud{position:absolute;width:180px;height:64px;border-radius:99px;background:#94b9d7;animation:refCloud 7s ease-in-out infinite alternate}.ref-cloud:before,.ref-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.ref-cloud:before{width:76px;height:76px;left:30px;top:-28px}.ref-cloud:after{width:64px;height:64px;right:27px;top:-20px}.rc-a{left:8vw;top:45%;animation-delay:-2s}.rc-b{right:9vw;top:31%;scale:.72;animation-duration:9s}.rc-c{right:17vw;bottom:8%;scale:.45;animation-delay:-5s}@keyframes refCloud{to{transform:translateX(42px) translateY(-8px)}}.ref-butterfly{position:absolute;z-index:5;left:-8%;top:63%;width:34px;height:28px;animation:refButterfly 11s linear infinite}.ref-butterfly i{position:absolute;top:2px;width:18px;height:22px;background:#e6a73d;border-radius:80% 20% 70% 30%;transform-origin:100% 60%;animation:wing .35s ease-in-out infinite alternate}.ref-butterfly i:nth-child(2){right:0;transform-origin:0 60%;scale:-1 1}.ref-butterfly b{position:absolute;left:15px;top:8px;width:4px;height:15px;border-radius:4px;background:#405943}@keyframes refButterfly{0%{transform:translate(-5vw,30px) rotate(-8deg)}35%{transform:translate(40vw,-80px) rotate(7deg)}68%{transform:translate(73vw,10px) rotate(-4deg)}100%{transform:translate(115vw,-90px) rotate(6deg)}}
.word-playground{background:#f8f1e5;padding:5vh 0 12vh}.word-stage{position:relative;min-height:110vh;width:min(1400px,100%);margin:auto;overflow:hidden}.word-photo{position:absolute;right:4vw;top:9vh;width:48vw;height:86vh;border-radius:42% 42% 7% 7%/20% 20% 7% 7%;overflow:hidden;background:#d9e2cc;box-shadow:0 28px 70px rgba(48,69,43,.13)}.wp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .5s ease,transform 1.05s cubic-bezier(.2,.8,.2,1)}.wp-img.is-active{opacity:1;transform:scale(1)}.hover-words{position:absolute;z-index:8;left:2vw;top:5vh;width:60vw;display:flex;flex-direction:column;align-items:flex-start}.hover-word{appearance:none;border:0;background:none;padding:0;margin:-1.8vw 0;cursor:pointer;text-align:left;color:inherit;position:relative;transition:transform .45s cubic-bezier(.2,.9,.2,1),filter .35s ease;transform-origin:left center}.hover-word span{display:block;font:800 clamp(118px,16.2vw,250px)/.77 'DM Sans',sans-serif;letter-spacing:-.095em}.hw-learn span{color:#e3a83f}.hw-grow{margin-left:10vw}.hw-grow span{color:#db6d72}.hw-play{margin-left:2vw}.hw-play span{color:#2e64bd}.hover-word small{position:absolute;left:102%;top:45%;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.15em;color:#405943;opacity:0;transform:translateX(-15px);transition:.35s ease}.hover-word:hover,.hover-word.is-active{transform:translateX(22px) scale(1.035);z-index:10}.hover-word:hover small,.hover-word.is-active small{opacity:1;transform:none}.hover-words:has(.hover-word:hover) .hover-word:not(:hover){filter:saturate(.45);transform:scale(.96);opacity:.42}.hover-hint{position:absolute;z-index:9;left:5vw;bottom:2vh;font-size:11px;font-weight:800;letter-spacing:.2em;color:#405943}.photo-doodle{position:absolute;z-index:5;font-size:50px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.pd-one{left:5%;top:7%;color:#f4d86c}.pd-two{right:5%;top:18%;color:#fff}.pd-three{right:8%;bottom:7%;color:#df7377}.word-stage[data-active="grow"] .pd-one{transform:translate(30px,20px) rotate(35deg) scale(1.25)}.word-stage[data-active="play"] .pd-two{transform:translate(-35px,35px) rotate(90deg) scale(1.35)}.photo-sprout{position:absolute;z-index:4;bottom:-8px;width:7px;height:120px;background:#405943;border-radius:9px;transform-origin:bottom;transition:transform .8s cubic-bezier(.2,.9,.2,1)}.photo-sprout:before,.photo-sprout:after{content:"";position:absolute;width:38px;height:21px;background:#6f8b63;border-radius:100% 0 100% 0;top:40px}.photo-sprout:before{right:3px;transform:rotate(-25deg)}.photo-sprout:after{left:3px;transform:scaleX(-1) rotate(-25deg)}.ps-one{left:8%;transform:scaleY(.55)}.ps-two{right:12%;height:165px;transform:scaleY(.35)}.word-stage[data-active="grow"] .photo-sprout{transform:scaleY(1)}
.ref-cards{padding:11vh 5vw 14vh;background:#f8f1e5;text-align:center}.ref-card-grid{width:min(1260px,100%);margin:40px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.ref-card{min-height:520px;padding:60px 42px 42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;color:#fff;text-align:center;transition:transform .45s cubic-bezier(.2,.9,.2,1),border-radius .45s ease}.ref-card:hover{transform:translateY(-28px) rotate(-1deg);border-radius:34px}.ref-card:nth-child(2):hover{transform:translateY(-28px) rotate(1deg)}.card-blue{background:#3868ca}.card-earth{background:#8b634b}.card-coral{background:#df665f}.ref-card h3{font:600 clamp(28px,2.5vw,40px)/1 Georgia,serif;margin:35px 0 18px}.ref-card p{max-width:320px;font-size:16px;opacity:.9}.ref-card span{margin-top:auto;font-size:11px;font-weight:800;letter-spacing:.16em}.code-icon{position:relative;width:110px;height:100px}.icon-book i{position:absolute;top:25px;width:47px;height:54px;border:5px solid #fff;border-radius:5px 5px 18px 5px}.icon-book i:first-child{left:8px;transform:rotate(-6deg)}.icon-book i:nth-child(2){right:8px;transform:rotate(6deg)}.icon-book b{position:absolute;left:52px;top:26px;width:5px;height:58px;background:#fff}.icon-house i{position:absolute;left:23px;top:33px;width:65px;height:55px;border:5px solid #fff}.icon-house i:before{content:"";position:absolute;left:4px;top:-39px;width:47px;height:47px;border-left:5px solid #fff;border-top:5px solid #fff;transform:rotate(45deg)}.icon-house b{position:absolute;left:50px;bottom:12px;width:17px;height:32px;background:#fff}.icon-heart i{font-style:normal;font-size:92px;line-height:1;color:#fff;display:block;animation:heartBeat 2.3s ease-in-out infinite}@keyframes heartBeat{50%{transform:scale(1.08)}}
@media(max-width:800px){.ref-curiosity{min-height:820px;padding-top:100px}.ref-curiosity h2 br{display:none}.ref-child{width:74vw;height:52vh}.rc-a{left:-18vw}.rc-b{right:-20vw}.word-stage{min-height:900px}.word-photo{right:-6vw;top:300px;width:84vw;height:570px}.hover-words{left:4vw;top:30px;width:96vw}.hover-word span{font-size:27vw}.hw-grow{margin-left:12vw}.hover-word small{display:none}.ref-card-grid{grid-template-columns:1fr}.ref-card{min-height:390px}.ref-card:hover{transform:none}.hover-hint{display:none}}
@media(prefers-reduced-motion:reduce){.ref-cloud,.ref-butterfly,.icon-heart i{animation:none!important}.hover-word,.wp-img,.ref-card{transition:none!important}}

/* V9 — hand-drawn liquid letter interaction + strict content separation */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&display=swap');
.word-playground{padding:8vh 0 12vh;background:#f8f1e5}
.word-stage{min-height:880px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:5vw;align-items:center;padding:4vh 5vw;width:min(1500px,100%);overflow:visible}
.hover-words{position:relative;left:auto;top:auto;width:auto;z-index:8;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.hover-word{margin:-.8vw 0;max-width:100%;overflow:visible;transform:none!important;filter:none!important;opacity:1!important}
.hw-grow,.hw-play{margin-left:0}
.hover-word span.liquid-word{display:flex;align-items:center;white-space:nowrap;font-family:'Caveat','Segoe Print','Bradley Hand',cursive;font-weight:700;font-size:clamp(100px,11vw,185px);line-height:.72;letter-spacing:-.075em;overflow:visible}
.liquid-letter{display:inline-block;position:relative;transform-origin:50% 62%;will-change:transform;transition:transform 520ms cubic-bezier(.18,.9,.22,1.28),filter 300ms ease;backface-visibility:hidden}
.liquid-letter::after{content:"";position:absolute;left:15%;right:15%;bottom:.02em;height:.055em;border-radius:99px;background:currentColor;opacity:0;transform:scaleX(.25);transition:opacity .25s ease,transform .45s cubic-bezier(.2,.9,.2,1)}
.hover-word:hover .liquid-letter::after,.hover-word:focus-visible .liquid-letter::after{opacity:.13;transform:scaleX(1)}
.hover-word small{position:static;display:block;margin:14px 0 24px 8px;white-space:normal;font-size:11px;font-weight:800;letter-spacing:.14em;color:#405943;opacity:.62;transform:none;transition:opacity .3s ease}
.hover-word:hover small,.hover-word.is-active small{opacity:1;transform:none}
.hover-words:has(.hover-word:hover) .hover-word:not(:hover){opacity:.35!important;filter:saturate(.55)!important}
.word-photo{position:relative;right:auto;top:auto;width:100%;height:min(74vh,720px);min-height:560px;border-radius:42% 42% 7% 7%/20% 20% 7% 7%;overflow:hidden;grid-column:2;grid-row:1;background:#d9e2cc}
.hover-words{grid-column:1;grid-row:1}
.hover-hint{position:absolute;left:5vw;bottom:1vh;z-index:9}
/* Decorative animation is confined to the visual/photo area, never the copy area. */
.word-photo .photo-doodle,.word-photo .photo-sprout{pointer-events:none}
/* Hero ambient motion stays away from the copy band. */
.hero-ambient{clip-path:polygon(0 0,100% 0,100% 58%,82% 58%,82% 100%,0 100%)}
.hf-one{left:2%}.hf-two{left:11%}.hf-three{right:12%}.hf-four{right:2%}
.hb-one{top:18%}.hb-two{top:34%}.hb-three{top:12%}
/* No text over photography: image and label become separate blocks. */
.v4-image-scene{height:auto;overflow:hidden;background:#fffaf0}
.v4-image-scene img{height:78vh;min-height:560px;transform:none;object-fit:cover}
.v4-image-label{position:relative;inset:auto;min-height:250px;background:#34462f;color:#fff;text-shadow:none;padding:48px 5vw;display:flex;align-items:flex-start;justify-content:center;text-align:center}
.v4-image-label strong{font-family:'Caveat','Segoe Print','Bradley Hand',cursive;font-size:clamp(92px,14vw,200px);line-height:.72;letter-spacing:-.035em;transform:none;opacity:1}
.v4-image-label small{margin-bottom:18px}
/* Separate BE CURIOUS copy and photo rather than layering them. */
.v4-curious{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:center;min-height:69vh}
.v4-curious h2{grid-column:1;position:relative;z-index:3}
.v4-curious h2 span:last-child{margin-left:0}
.v4-photo-window{grid-column:2;position:relative;right:auto;top:auto;width:100%;height:58vh}
.v4-orbit{display:none}
.v4-sidecopy,.v4-textlink{margin-left:0;max-width:430px}
@media(max-width:900px){.word-stage{grid-template-columns:1fr;gap:45px;min-height:auto;padding:70px 5vw}.hover-words,.word-photo{grid-column:1;grid-row:auto}.hover-word span.liquid-word{font-size:clamp(86px,22vw,145px)}.word-photo{height:62vh;min-height:460px}.hover-hint{display:none}.v4-curious{grid-template-columns:1fr}.v4-curious h2,.v4-photo-window{grid-column:1}.v4-photo-window{position:relative!important;right:auto!important;top:auto!important;width:100%!important;height:55vh!important}.v4-image-scene img{height:62vh;min-height:440px}}
@media(prefers-reduced-motion:reduce){.liquid-letter{transition:none!important;transform:none!important}}

/* V10 — reference-motion corrections: decorative motion never crosses copy */
.v4-daisy{
  opacity:clamp(0,calc((.48 - var(--v4p))*12),1);
  transition:opacity .08s linear;
}
.v4-bloom-copy{z-index:12}
.v4-opening:has(.v4-bloom-copy) .v4-butterfly{z-index:3}

/* Curiosity clouds are driven by section scroll progress, like the reference */
.ref-curiosity{--cloudScroll:0}
.ref-cloud{animation:none!important;will-change:transform}
.rc-a{transform:translate3d(calc(var(--cloudScroll)*28vw),calc(var(--cloudScroll)*-4vh),0)}
.rc-b{transform:translate3d(calc(var(--cloudScroll)*-24vw),calc(var(--cloudScroll)*7vh),0) scale(.72)}
.rc-c{transform:translate3d(calc(var(--cloudScroll)*-18vw),calc(var(--cloudScroll)*-8vh),0) scale(.45)}

/* Cards enter as three separate panels, instead of simply appearing in place */
.ref-card-grid{overflow:visible;perspective:1200px}
.ref-card{opacity:0;will-change:transform,opacity;transition:transform .9s cubic-bezier(.18,.88,.24,1),opacity .6s ease,border-radius .45s ease}
.ref-card:nth-child(1){transform:translate3d(-18vw,90px,0) rotate(-2deg)}
.ref-card:nth-child(2){transform:translate3d(0,140px,0) scale(.96)}
.ref-card:nth-child(3){transform:translate3d(18vw,90px,0) rotate(2deg)}
.ref-cards.cards-in .ref-card{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
.ref-cards.cards-in .ref-card:nth-child(1){transition-delay:.02s}
.ref-cards.cards-in .ref-card:nth-child(2){transition-delay:.12s}
.ref-cards.cards-in .ref-card:nth-child(3){transition-delay:.22s}
.ref-cards.cards-in .ref-card:hover{transform:translateY(-18px) rotate(-1deg)}
.ref-cards.cards-in .ref-card:nth-child(2):hover{transform:translateY(-18px) rotate(1deg)}

/* Keep photography and typography in separate surfaces */
.v4-image-scene{height:auto;background:#f8f1e5;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:stretch}
.v4-image-scene img{height:78vh;min-height:620px;transform:translateY(calc(var(--v4photo)*-3%));object-fit:cover}
.v4-image-label{position:relative;inset:auto;background:#405943;color:#fff;text-shadow:none;min-height:620px;height:78vh;padding:6vw 4vw;align-items:flex-start;justify-content:center}
.v4-image-label strong{font-size:clamp(70px,9vw,150px)}

@media(max-width:800px){
 .ref-card:nth-child(1),.ref-card:nth-child(2),.ref-card:nth-child(3){transform:translate3d(0,70px,0) scale(.97)}
 .ref-cards.cards-in .ref-card{transform:none}
 .v4-image-scene{grid-template-columns:1fr}
 .v4-image-scene img,.v4-image-label{height:auto;min-height:480px}
 .v4-image-label{min-height:360px}
}
@media(prefers-reduced-motion:reduce){.ref-card{opacity:1!important;transform:none!important}.ref-cloud{transform:none!important}.v4-daisy{transition:none}}

/* V11 — motion matched more closely to the supplied reference recording */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&display=swap');

/* Clouds travel UP through the scene as the page travels DOWN. */
.ref-curiosity{--cloudY:0px;--cloudXA:0px;--cloudXB:0px;--cloudXC:0px}
.ref-cloud{animation:none!important;will-change:transform}
.rc-a{transform:translate3d(var(--cloudXA),var(--cloudY),0)!important}
.rc-b{transform:translate3d(var(--cloudXB),calc(var(--cloudY) * .72),0) scale(.72)!important}
.rc-c{transform:translate3d(var(--cloudXC),calc(var(--cloudY) * 1.12),0) scale(.45)!important}

/* Handwritten words stay horizontal. Individual glyphs are free to move in X + Y. */
.hover-word span.liquid-word{font-family:'Caveat','Segoe Print','Bradley Hand',cursive!important;font-weight:600!important;letter-spacing:-.055em!important;display:flex!important;flex-direction:row!important;align-items:baseline!important;white-space:nowrap!important}
.liquid-letter{transition:transform 620ms cubic-bezier(.16,.9,.2,1.18)!important;transform-origin:50% 60%!important}
.hover-word:hover,.hover-word.is-active{transform:none!important}
.hover-words:has(.hover-word:hover) .hover-word:not(:hover){transform:none!important;opacity:.48}

/* Reference cards: permanently rounded, then the whole row rises from below with scroll. */
.ref-cards{--cardY:58vh;overflow:hidden;min-height:112vh;padding-top:11vh}
.ref-card-grid{transform:translate3d(0,var(--cardY),0)!important;will-change:transform;transition:none!important;gap:14px!important}
.ref-card{opacity:1!important;border-radius:34px!important;transform:none!important;transition:transform .35s cubic-bezier(.2,.9,.2,1),box-shadow .35s ease!important;overflow:hidden}
.ref-card:nth-child(1),.ref-card:nth-child(2),.ref-card:nth-child(3),.ref-cards.cards-in .ref-card{transform:none!important;transition-delay:0s!important}
.ref-card:hover,.ref-cards.cards-in .ref-card:hover,.ref-cards.cards-in .ref-card:nth-child(2):hover{transform:translateY(-12px)!important;box-shadow:0 22px 44px rgba(46,54,39,.14)}

@media(max-width:800px){
 .ref-cards{min-height:auto;--cardY:0px;overflow:visible}
 .ref-card-grid{transform:none!important;gap:12px!important}
 .ref-card{border-radius:26px!important}
}
@media(prefers-reduced-motion:reduce){.ref-card-grid{transform:none!important}.ref-cloud{transform:none!important}}

/* V12 — reference-style sequential card throw from the left */
.ref-cards{--cardY:0px!important;overflow:hidden!important;min-height:100vh!important}
.ref-card-grid{transform:none!important;transition:none!important;perspective:1400px;gap:14px!important}
.ref-card{
  opacity:0!important;
  border-radius:34px!important;
  overflow:hidden!important;
  transform-origin:50% 80%;
  will-change:transform,opacity;
  transition:
    transform .82s cubic-bezier(.16,1.12,.32,1),
    opacity .24s ease-out,
    box-shadow .3s ease!important;
}
/* All three are thrown in from the LEFT, with slightly different starting angles. */
.ref-card:nth-child(1){transform:translate3d(-72vw,54px,0) rotate(-8deg) scale(.94)!important}
.ref-card:nth-child(2){transform:translate3d(-82vw,30px,0) rotate(6deg) scale(.94)!important}
.ref-card:nth-child(3){transform:translate3d(-92vw,66px,0) rotate(-5deg) scale(.94)!important}
.ref-cards.cards-in .ref-card{opacity:1!important;transform:translate3d(0,0,0) rotate(0deg) scale(1)!important}
.ref-cards.cards-in .ref-card:nth-child(1){transition-delay:.02s!important}
.ref-cards.cards-in .ref-card:nth-child(2){transition-delay:.20s!important}
.ref-cards.cards-in .ref-card:nth-child(3){transition-delay:.38s!important}
.ref-cards.cards-in .ref-card:hover{transform:translate3d(0,-12px,0) rotate(-.6deg) scale(1.01)!important;box-shadow:0 22px 44px rgba(46,54,39,.14)}
.ref-cards.cards-in .ref-card:nth-child(2):hover{transform:translate3d(0,-12px,0) rotate(.6deg) scale(1.01)!important}
@media(max-width:800px){
 .ref-cards{min-height:auto!important;overflow:hidden!important}
 .ref-card-grid{gap:12px!important}
 .ref-card{border-radius:26px!important}
 .ref-card:nth-child(1),.ref-card:nth-child(2),.ref-card:nth-child(3){transform:translate3d(-110vw,35px,0) rotate(-5deg) scale(.96)!important}
 .ref-cards.cards-in .ref-card{transform:none!important}
}
@media(prefers-reduced-motion:reduce){.ref-card{opacity:1!important;transform:none!important;transition:none!important}}

/* V13 — pinned, scroll-scrubbed sequential card throw */
@media (min-width:801px){
  .ref-cards{
    position:relative!important;
    min-height:300vh!important;
    overflow:clip!important;
    padding-top:0!important;
  }
  .ref-cards .ref-cards-inner{
    position:sticky!important;
    top:0!important;
    min-height:100vh!important;
    height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .ref-card-grid{transform:none!important;overflow:visible!important}
  .ref-card{
    opacity:1!important;
    border-radius:34px!important;
    transition:box-shadow .3s ease!important;
    will-change:transform!important;
  }
  .ref-card:nth-child(1),.ref-card:nth-child(2),.ref-card:nth-child(3),
  .ref-cards.cards-in .ref-card:nth-child(1),.ref-cards.cards-in .ref-card:nth-child(2),.ref-cards.cards-in .ref-card:nth-child(3){
    transition-delay:0s!important;
  }
}

/* V14 — FIXED pinned scroll throw. This final block intentionally overrides V12/V13. */
@media (min-width:801px){
  .ref-cards{
    position:relative!important;
    min-height:430vh!important;
    overflow:clip!important;
    padding:0!important;
  }
  .ref-cards .ref-cards-inner{
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    min-height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .ref-card-grid{transform:none!important;overflow:visible!important;perspective:1400px!important}
  .ref-card,
  .ref-cards.cards-in .ref-card,
  .ref-cards.cards-in .ref-card:nth-child(1),
  .ref-cards.cards-in .ref-card:nth-child(2),
  .ref-cards.cards-in .ref-card:nth-child(3){
    opacity:1!important;
    border-radius:34px!important;
    transition:box-shadow .3s ease!important;
    will-change:transform!important;
  }
}

/* V15 — Shiloh logo-inspired floral reskin. Animation systems remain unchanged. */
:root{
  --ink:#294225;--cream:#fff8f2;--paper:#fffdf9;--sage:#dce8d2;--green:#355d2d;
  --blue:#ef7595;--red:#f15f87;--yellow:#f7b7c8;--brown:#67834f;
  --sh-pink:#f46f96;--sh-pink-deep:#d94e78;--sh-blush:#ffd8e3;--sh-green:#315c2b;--sh-leaf:#6f934c;--sh-cream:#fff8f2;
  --line:rgba(49,92,43,.16);--shadow:0 22px 60px rgba(49,92,43,.12)
}
body,.v4-home{background:var(--sh-cream);color:var(--sh-green)}
.v4-nav{background:rgba(255,248,242,.94)!important;border-color:rgba(49,92,43,.14)!important}
.v4-logo,.v4-nav a{color:var(--sh-green)!important}.v4-pill{border-color:var(--sh-green)!important}
.v4-opening,.v4-cream,.ref-curiosity{background:var(--sh-cream)!important}
.v4-bloom-copy h2 em,.v4-care-grid h2 em,.v4-story-copy h2 em,.v4-final h2 em{color:var(--sh-pink-deep)!important}
.v4-rule{background:var(--sh-green)!important}.v4-actions a:first-child{background:var(--sh-green)!important;color:white!important;border-color:var(--sh-green)!important}
.ref-cloud{background:#f5b5c7!important;opacity:.72}.ref-cloud:before,.ref-cloud:after{background:inherit!important}
.word-playground{background:#fffaf6!important}.hover-word{color:var(--sh-green)!important}.hover-word.is-active{color:var(--sh-pink-deep)!important}
.word-photo{border-color:rgba(49,92,43,.15)!important}.photo-doodle{color:var(--sh-pink)!important}
.ref-cards{background:#fff8f2!important}.ref-eyebrow{color:var(--sh-green)!important}
.card-blue{background:#f47f9e!important}.card-earth{background:#6f934f!important}.card-coral{background:#f5a9bc!important;color:#294225!important}
.ref-card{border:0!important}.ref-card .code-icon{filter:none!important}
.v4-green{background:#315c2b!important}.v4-yellow{background:#ffd9e4!important;color:#294225!important}.v4-pink{background:#f47f9e!important;color:#294225!important}
.v4-support{border-color:#315c2b!important}.v4-footer{background:#294225!important;color:#fff8f2!important}

/* Hide the old two primitive butterflies; V15 uses the richer ambient set. */
.v4-butterfly{display:none!important}
.hero-ambient{pointer-events:none!important;z-index:3!important}

/* Logo-inspired five-petal flowers — all CSS, no decorative image asset. */
.logo-flower{position:absolute;width:86px;height:112px;z-index:2;transform-origin:50% 100%;animation:shFlowerSway 4.8s ease-in-out infinite alternate}
.logo-flower>i{position:absolute;left:31px;top:11px;width:25px;height:38px;border-radius:70% 70% 58% 58%;background:linear-gradient(145deg,#ffd3df 5%,#f47598 58%,#dc4f79);transform-origin:50% 32px;box-shadow:inset 4px 4px 7px rgba(255,255,255,.48)}
.logo-flower>i:nth-child(1){transform:rotate(0deg) translateY(-18px)}.logo-flower>i:nth-child(2){transform:rotate(72deg) translateY(-18px)}.logo-flower>i:nth-child(3){transform:rotate(144deg) translateY(-18px)}.logo-flower>i:nth-child(4){transform:rotate(216deg) translateY(-18px)}.logo-flower>i:nth-child(5){transform:rotate(288deg) translateY(-18px)}
.logo-flower>b{position:absolute;left:35px;top:29px;width:18px;height:18px;border-radius:50%;background:#ffd05f;box-shadow:inset 0 0 0 5px #ef9c3e;z-index:3}
.logo-flower>span{position:absolute;left:42px;top:52px;width:5px;height:58px;border-radius:5px;background:#52793b}
.logo-flower>span:before,.logo-flower>span:after{content:"";position:absolute;width:25px;height:13px;background:#71994f;border-radius:100% 0 100% 0;top:18px}.logo-flower>span:before{right:1px;transform:rotate(20deg)}.logo-flower>span:after{left:2px;top:33px;transform:scaleX(-1) rotate(18deg)}
.lf-one{left:5.5%;bottom:5%;transform:scale(.88);animation-delay:-1.1s}.lf-two{right:5%;bottom:7%;transform:scale(1.02);animation-delay:-2.4s}.lf-three{right:18%;bottom:1.5%;transform:scale(.68);animation-delay:-.4s}
@keyframes shFlowerSway{0%{rotate:-4deg}100%{rotate:5deg}}

/* More detailed butterflies: paired gradient wings, body, antennae + independent free-flight paths. */
.hero-butterfly{position:absolute;width:44px;height:34px;z-index:3;transform-origin:center;will-change:transform;filter:drop-shadow(0 3px 2px rgba(49,92,43,.12))}
.hero-butterfly i{position:absolute;top:7px;width:20px;height:24px;background:linear-gradient(135deg,#ffcad8,#f16f95 70%);border:1.5px solid #8d4d63}
.hero-butterfly i:first-child{left:2px;border-radius:85% 30% 70% 38%;transform-origin:100% 55%;animation:wingL .34s ease-in-out infinite alternate}
.hero-butterfly i:nth-child(2){right:2px;border-radius:30% 85% 38% 70%;transform-origin:0 55%;animation:wingR .34s ease-in-out infinite alternate}
.hero-butterfly b{position:absolute;left:20px;top:8px;width:5px;height:24px;border-radius:50%;background:#315c2b;z-index:2}
.hero-butterfly em,.hero-butterfly em:before{position:absolute;content:"";width:14px;height:1.5px;background:#315c2b;top:4px;left:19px;transform:rotate(-45deg);transform-origin:left center}
.hero-butterfly em:before{top:0;left:4px;transform:rotate(88deg)}
@keyframes wingL{to{transform:scaleX(.28) rotate(-9deg)}}@keyframes wingR{to{transform:scaleX(.28) rotate(9deg)}}
.hb-one{animation:flyOne 11s ease-in-out infinite}.hb-two{animation:flyTwo 14s ease-in-out infinite -4s}.hb-three{animation:flyThree 12.5s ease-in-out infinite -7s}.hb-four{animation:flyFour 15s ease-in-out infinite -2s}.hb-five{animation:flyFive 13s ease-in-out infinite -9s}.hb-six{animation:flySix 16s ease-in-out infinite -5s}.hb-seven{animation:flySeven 10.5s ease-in-out infinite -1s}
@keyframes flyOne{0%{left:4%;top:31%;transform:rotate(-12deg) scale(.8)}35%{left:20%;top:17%;transform:rotate(12deg) scale(.92)}68%{left:33%;top:35%;transform:rotate(-5deg) scale(.84)}100%{left:4%;top:31%;transform:rotate(-12deg) scale(.8)}}
@keyframes flyTwo{0%{right:7%;top:23%;transform:rotate(8deg) scale(.72)}38%{right:20%;top:40%;transform:rotate(-16deg) scale(.86)}72%{right:8%;top:56%;transform:rotate(12deg) scale(.78)}100%{right:7%;top:23%;transform:rotate(8deg) scale(.72)}}
@keyframes flyThree{0%{left:61%;top:13%;transform:rotate(-8deg) scale(.62)}42%{left:76%;top:28%;transform:rotate(17deg) scale(.76)}76%{left:67%;top:43%;transform:rotate(-13deg) scale(.67)}100%{left:61%;top:13%;transform:rotate(-8deg) scale(.62)}}
@keyframes flyFour{0%{left:8%;top:64%;transform:rotate(10deg) scale(.64)}35%{left:18%;top:51%;transform:rotate(-15deg) scale(.72)}70%{left:10%;top:39%;transform:rotate(11deg) scale(.66)}100%{left:8%;top:64%;transform:rotate(10deg) scale(.64)}}
@keyframes flyFive{0%{right:4%;top:66%;transform:rotate(-9deg) scale(.78)}44%{right:15%;top:52%;transform:rotate(15deg) scale(.88)}78%{right:25%;top:67%;transform:rotate(-12deg) scale(.72)}100%{right:4%;top:66%;transform:rotate(-9deg) scale(.78)}}
@keyframes flySix{0%{left:42%;top:7%;transform:rotate(8deg) scale(.55)}40%{left:51%;top:18%;transform:rotate(-12deg) scale(.64)}74%{left:44%;top:27%;transform:rotate(15deg) scale(.58)}100%{left:42%;top:7%;transform:rotate(8deg) scale(.55)}}
@keyframes flySeven{0%{right:32%;top:72%;transform:rotate(-8deg) scale(.58)}42%{right:41%;top:59%;transform:rotate(13deg) scale(.7)}76%{right:31%;top:48%;transform:rotate(-14deg) scale(.62)}100%{right:32%;top:72%;transform:rotate(-8deg) scale(.58)}}

/* Keep moving garden art out of the central copy safety zone. */
.v4-open-copy,.v4-bloom-copy{z-index:8!important}.hero-ambient{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
@media(max-width:800px){.hb-six,.hb-seven,.lf-three{display:none}.logo-flower{transform:scale(.72)}.hero-butterfly{transform:scale(.75)}}
@media(prefers-reduced-motion:reduce){.hero-butterfly,.hero-butterfly i,.logo-flower{animation:none!important}}

/* V16 — hero ambient layer fix + refined logo-inspired butterflies */
.v4-opening .v4-pin{isolation:isolate}
.v4-opening .hero-ambient{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;overflow:hidden!important;pointer-events:none!important;z-index:6!important;clip-path:none!important}
.v4-opening .v4-open-copy,.v4-opening .v4-bloom-copy{position:relative;z-index:12!important}

/* Butterflies are code-built and live only inside the homepage opening hero. */
.v4-opening .hero-butterfly{display:block!important;position:absolute!important;width:58px;height:46px;z-index:2;transform-origin:center;will-change:left,right,top,transform;filter:drop-shadow(0 5px 5px rgba(37,72,34,.16))}
.v4-opening .hero-butterfly i{position:absolute;top:9px;width:27px;height:30px;border:2px solid rgba(73,68,78,.72);box-shadow:inset 4px 4px 8px rgba(255,255,255,.5);background:radial-gradient(circle at 62% 33%,#fff4f7 0 10%,transparent 11%),radial-gradient(circle at 42% 67%,#8d4161 0 8%,transparent 9%),linear-gradient(140deg,#ffd7e2 0 28%,#f47f9e 29% 70%,#d95880 71% 100%)}
.v4-opening .hero-butterfly i:first-child{left:1px;border-radius:92% 30% 72% 42% / 78% 38% 78% 46%;transform-origin:100% 58%;animation:v16WingL .38s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.v4-opening .hero-butterfly i:nth-child(2){right:1px;border-radius:30% 92% 42% 72% / 38% 78% 46% 78%;transform-origin:0 58%;animation:v16WingR .38s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.v4-opening .hero-butterfly i:after{content:"";position:absolute;width:11px;height:10px;border-radius:50%;background:rgba(255,230,238,.78);top:5px;left:7px;border:1px solid rgba(107,62,81,.25)}
.v4-opening .hero-butterfly b{position:absolute;left:50%;top:10px;width:6px;height:29px;border-radius:60% 60% 45% 45%;background:linear-gradient(#42683a,#294b2c);transform:translateX(-50%);z-index:4;box-shadow:0 -3px 0 1px #294b2c}
.v4-opening .hero-butterfly em{position:absolute;left:50%;top:5px;width:1.5px;height:13px;background:#294b2c;transform:translateX(-4px) rotate(-31deg);transform-origin:bottom;z-index:5}
.v4-opening .hero-butterfly em:before{content:"";position:absolute;left:7px;top:0;width:1.5px;height:13px;background:#294b2c;transform:rotate(62deg);transform-origin:bottom}
.v4-opening .hero-butterfly em:after{content:"";position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:#294b2c;box-shadow:13px 7px 0 #294b2c}
@keyframes v16WingL{0%{transform:perspective(80px) rotateY(4deg) rotate(-4deg)}100%{transform:perspective(80px) rotateY(66deg) rotate(-11deg)}}
@keyframes v16WingR{0%{transform:perspective(80px) rotateY(-4deg) rotate(4deg)}100%{transform:perspective(80px) rotateY(-66deg) rotate(11deg)}}

/* Give each butterfly a slightly different logo-compatible wing color. */
.v4-opening .hb-two i,.v4-opening .hb-six i{background:radial-gradient(circle at 62% 33%,#fff9fb 0 10%,transparent 11%),radial-gradient(circle at 42% 67%,#315c2b 0 8%,transparent 9%),linear-gradient(140deg,#ffd8e5,#ed6e96 68%,#c94b78)}
.v4-opening .hb-three i{background:radial-gradient(circle at 62% 33%,#fff 0 10%,transparent 11%),radial-gradient(circle at 42% 67%,#c7537b 0 8%,transparent 9%),linear-gradient(140deg,#fff0f5,#f7a9be 65%,#e77c9d)}
.v4-opening .hb-four i,.v4-opening .hb-seven i{background:radial-gradient(circle at 62% 33%,#fff 0 10%,transparent 11%),radial-gradient(circle at 42% 67%,#315c2b 0 8%,transparent 9%),linear-gradient(140deg,#f6d4df,#e986a3 58%,#b95a7a)}
.v4-opening .hb-five i{background:radial-gradient(circle at 62% 33%,#fff 0 10%,transparent 11%),radial-gradient(circle at 42% 67%,#d95880 0 8%,transparent 9%),linear-gradient(140deg,#ffe8ef,#f596af 60%,#d95e84)}

/* Continuous free-flight loops: never scroll-driven. Paths stay around the hero perimeter/copy-safe areas. */
.v4-opening .hb-one{animation:v16Fly1 13s ease-in-out infinite!important}.v4-opening .hb-two{animation:v16Fly2 16s ease-in-out -5s infinite!important}.v4-opening .hb-three{animation:v16Fly3 14s ease-in-out -8s infinite!important}.v4-opening .hb-four{animation:v16Fly4 17s ease-in-out -3s infinite!important}.v4-opening .hb-five{animation:v16Fly5 15s ease-in-out -10s infinite!important}.v4-opening .hb-six{animation:v16Fly6 18s ease-in-out -6s infinite!important}.v4-opening .hb-seven{animation:v16Fly7 12s ease-in-out -2s infinite!important}
@keyframes v16Fly1{0%,100%{left:2%;top:24%;transform:rotate(-13deg) scale(.78)}25%{left:13%;top:12%;transform:rotate(11deg) scale(.92)}55%{left:25%;top:22%;transform:rotate(-6deg) scale(.82)}78%{left:15%;top:39%;transform:rotate(14deg) scale(.88)}}
@keyframes v16Fly2{0%,100%{right:3%;top:18%;transform:rotate(9deg) scale(.74)}30%{right:14%;top:29%;transform:rotate(-15deg) scale(.9)}60%{right:7%;top:47%;transform:rotate(12deg) scale(.8)}82%{right:20%;top:38%;transform:rotate(-7deg) scale(.86)}}
@keyframes v16Fly3{0%,100%{left:67%;top:8%;transform:rotate(-8deg) scale(.6)}32%{left:80%;top:18%;transform:rotate(17deg) scale(.75)}64%{left:72%;top:33%;transform:rotate(-14deg) scale(.67)}84%{left:61%;top:20%;transform:rotate(10deg) scale(.7)}}
@keyframes v16Fly4{0%,100%{left:3%;top:69%;transform:rotate(12deg) scale(.64)}28%{left:11%;top:54%;transform:rotate(-14deg) scale(.77)}58%{left:23%;top:66%;transform:rotate(9deg) scale(.7)}80%{left:13%;top:77%;transform:rotate(-8deg) scale(.72)}}
@keyframes v16Fly5{0%,100%{right:2%;top:67%;transform:rotate(-10deg) scale(.8)}31%{right:14%;top:55%;transform:rotate(15deg) scale(.9)}63%{right:25%;top:70%;transform:rotate(-12deg) scale(.75)}84%{right:12%;top:80%;transform:rotate(8deg) scale(.84)}}
@keyframes v16Fly6{0%,100%{left:45%;top:5%;transform:rotate(8deg) scale(.52)}35%{left:54%;top:12%;transform:rotate(-12deg) scale(.65)}65%{left:47%;top:20%;transform:rotate(15deg) scale(.58)}83%{left:38%;top:11%;transform:rotate(-8deg) scale(.61)}}
@keyframes v16Fly7{0%,100%{right:31%;top:78%;transform:rotate(-9deg) scale(.58)}30%{right:42%;top:67%;transform:rotate(13deg) scale(.72)}61%{right:32%;top:56%;transform:rotate(-15deg) scale(.64)}82%{right:22%;top:68%;transform:rotate(10deg) scale(.69)}}

/* Make the logo flowers visibly part of the first hero garden, without entering the text safety zone. */
.v4-opening .logo-flower{z-index:1}.v4-opening .lf-one{left:2.5%;bottom:3%}.v4-opening .lf-two{right:2.5%;bottom:4%}.v4-opening .lf-three{right:14%;bottom:0}
@media(max-width:800px){.v4-opening .hero-butterfly{width:48px;height:39px}.v4-opening .hero-butterfly i{width:23px;height:26px}.v4-opening .hb-six,.v4-opening .hb-seven{display:none!important}}
@media(prefers-reduced-motion:reduce){.v4-opening .hero-butterfly,.v4-opening .hero-butterfly i{animation:none!important}}

/* V17 — hero photo, protected copy, natural ambient butterflies */
.v4-opening .v4-pin{overflow:hidden!important}
.v4-opening .v4-bloom-copy{
  position:absolute!important;
  left:50%!important;
  top:auto!important;
  bottom:6vh!important;
  width:min(860px,88vw)!important;
  transform:translate(-50%,calc(44px - var(--v4p)*64px))!important;
  padding:0 20px 8px!important;
  z-index:20!important;
}
.v4-opening .v4-bloom-copy h2{margin:10px 0 16px!important;line-height:.86!important}
.v4-opening .v4-bloom-copy>span{max-width:590px!important}

/* The hero photo owns its own space — never behind text. */
.hero-photo-reveal{
  position:absolute;z-index:10;right:7vw;top:13vh;
  width:min(31vw,470px);height:min(38vh,390px);
  border-radius:48% 52% 44% 56% / 42% 46% 54% 58%;
  overflow:hidden;
  opacity:clamp(0,calc((var(--v4p) - .38)*3.2),1);
  transform:translateY(calc((1 - var(--v4p))*70px)) rotate(2deg);
  box-shadow:0 18px 50px rgba(47,76,42,.13);
  pointer-events:none;
}
.hero-photo-reveal img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero-photo-reveal:after{content:"";position:absolute;inset:0;border:1px solid rgba(49,92,43,.15);border-radius:inherit;pointer-events:none}

/* Keep flowers below the copy baseline and never over letters. */
.v4-opening .logo-flower{z-index:8!important}
.v4-opening .lf-one{left:2.8%!important;bottom:1.5%!important;transform:scale(.82)}
.v4-opening .lf-two{right:2.8%!important;bottom:1.5%!important;transform:scale(.82)}
.v4-opening .lf-three{right:16%!important;bottom:0!important;transform:scale(.68)}

/* Butterflies: five independent flight lanes, no scroll coupling, no bunching. */
.v4-opening .hb-six,.v4-opening .hb-seven{display:none!important}
.v4-opening .hero-butterfly{z-index:14!important;width:48px!important;height:39px!important}
.v4-opening .hero-butterfly i{width:23px!important;height:27px!important;top:8px!important}
.v4-opening .hero-butterfly b{top:9px!important;height:25px!important}
.v4-opening .hb-one{left:5%;top:24%;animation:v17Fly1 18s cubic-bezier(.45,.05,.55,.95) -2s infinite!important}
.v4-opening .hb-two{left:72%;top:19%;animation:v17Fly2 22s cubic-bezier(.45,.05,.55,.95) -9s infinite!important}
.v4-opening .hb-three{left:90%;top:42%;animation:v17Fly3 20s cubic-bezier(.45,.05,.55,.95) -4s infinite!important}
.v4-opening .hb-four{left:8%;top:58%;animation:v17Fly4 24s cubic-bezier(.45,.05,.55,.95) -13s infinite!important}
.v4-opening .hb-five{left:79%;top:66%;animation:v17Fly5 21s cubic-bezier(.45,.05,.55,.95) -7s infinite!important}
@keyframes v17Fly1{0%,100%{transform:translate(0,0) rotate(-12deg) scale(.72)}20%{transform:translate(8vw,-5vh) rotate(6deg) scale(.78)}45%{transform:translate(14vw,3vh) rotate(14deg) scale(.74)}70%{transform:translate(8vw,10vh) rotate(-8deg) scale(.8)}86%{transform:translate(2vw,5vh) rotate(-16deg) scale(.75)}}
@keyframes v17Fly2{0%,100%{transform:translate(0,0) rotate(8deg) scale(.62)}22%{transform:translate(7vw,4vh) rotate(-11deg) scale(.68)}47%{transform:translate(10vw,13vh) rotate(12deg) scale(.64)}72%{transform:translate(2vw,17vh) rotate(-8deg) scale(.7)}88%{transform:translate(-3vw,8vh) rotate(5deg) scale(.65)}}
@keyframes v17Fly3{0%,100%{transform:translate(0,0) rotate(-9deg) scale(.7)}24%{transform:translate(-7vw,5vh) rotate(13deg) scale(.76)}50%{transform:translate(-11vw,12vh) rotate(-7deg) scale(.72)}75%{transform:translate(-5vw,19vh) rotate(10deg) scale(.78)}90%{transform:translate(1vw,9vh) rotate(-5deg) scale(.73)}}
@keyframes v17Fly4{0%,100%{transform:translate(0,0) rotate(10deg) scale(.58)}25%{transform:translate(7vw,-7vh) rotate(-13deg) scale(.65)}50%{transform:translate(12vw,-1vh) rotate(9deg) scale(.61)}75%{transform:translate(7vw,7vh) rotate(-8deg) scale(.67)}90%{transform:translate(1vw,4vh) rotate(5deg) scale(.62)}}
@keyframes v17Fly5{0%,100%{transform:translate(0,0) rotate(-8deg) scale(.64)}23%{transform:translate(8vw,-6vh) rotate(12deg) scale(.7)}48%{transform:translate(12vw,2vh) rotate(-10deg) scale(.66)}73%{transform:translate(5vw,8vh) rotate(9deg) scale(.72)}89%{transform:translate(-2vw,4vh) rotate(-5deg) scale(.68)}}

@media(max-width:900px){
  .hero-photo-reveal{right:5vw;top:14vh;width:42vw;height:30vh}
  .v4-opening .v4-bloom-copy{bottom:5vh!important;width:94vw!important}
  .v4-opening .v4-bloom-copy h2{font-size:11vw!important}
  .v4-opening .hb-three,.v4-opening .hb-five{display:none!important}
}
@media(max-width:600px){
  .hero-photo-reveal{left:50%;right:auto;top:14vh;width:72vw;height:27vh;transform:translateX(-50%) translateY(calc((1 - var(--v4p))*55px)) rotate(1deg)}
  .v4-opening .v4-bloom-copy{bottom:4vh!important;padding-bottom:12px!important}
  .v4-opening .v4-bloom-copy h2{font-size:12.5vw!important}
  .v4-opening .v4-bloom-copy>span{font-size:12px!important}
  .v4-opening .lf-three{display:none!important}
}
@media(prefers-reduced-motion:reduce){.v4-opening .hero-butterfly{animation:none!important}}

/* V18 — reference-led homepage restructure */
.trust-strip{position:relative;z-index:8;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fffaf4;border-top:1px solid rgba(49,92,43,.12);border-bottom:1px solid rgba(49,92,43,.12);padding:34px 4vw}.trust-strip>div{min-height:112px;padding:8px 30px;text-align:center;border-right:1px solid rgba(49,92,43,.16);display:flex;flex-direction:column;align-items:center;gap:7px}.trust-strip>div:last-child{border-right:0}.trust-icon{font-size:25px;color:#e34c7b}.trust-strip strong{font:700 18px Georgia,serif;color:#315c2b}.trust-strip small{max-width:230px;color:#53614f;line-height:1.45}
.word-playground{display:none!important}
.ref-curiosity{height:260vh;min-height:260vh;padding:0!important;overflow:visible!important}.ref-curiosity>*{position:fixed}.ref-curiosity .ref-eyebrow{top:18vh;left:50%;transform:translateX(-50%);z-index:3}.ref-curiosity h2{position:fixed!important;top:25vh;left:50%;transform:translateX(-50%);width:min(900px,88vw);z-index:3}.ref-curiosity .ref-child{position:fixed!important;bottom:-3vh}.ref-curiosity .ref-cloud{position:fixed!important}.ref-curiosity:not(.is-pinned)>*{visibility:hidden}.ref-curiosity.is-pinned>*{visibility:visible}
.ref-cards{height:390vh!important;min-height:390vh!important;padding:0!important;overflow:visible!important;background:#fff8f2!important}.ref-cards-inner{position:sticky!important;top:0!important;height:100vh!important;min-height:100vh!important;padding:9vh 5vw 6vh!important;overflow:hidden!important;display:flex;flex-direction:column;justify-content:center}.stage-title{font:600 clamp(32px,3.4vw,58px)/1 Georgia,serif;color:#315c2b;max-width:800px;margin:0 auto 28px}.ref-card-grid{grid-template-columns:repeat(4,1fr)!important;gap:16px!important;margin-top:20px!important}.ref-card{min-height:460px!important;border-radius:42px!important;padding:48px 28px 34px!important;opacity:1!important;will-change:transform}.ref-card h3{font-size:clamp(25px,2vw,34px)!important}.card-blue{background:#ef789b!important}.card-earth{background:#72984f!important}.card-coral{background:#f2a1b7!important;color:#294225!important}.card-sun{background:#efb54b!important;color:#294225!important}.stage-symbol{font-size:58px;line-height:1;color:inherit;margin-bottom:8px}
.care-bloom{height:300vh;background:#315c2b;position:relative}.care-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;padding:7vh 5vw;color:#fff}.care-copy{position:relative;z-index:5;max-width:650px}.care-copy h2{font:600 clamp(64px,7vw,122px)/.82 Georgia,serif;margin:50px 0 28px}.care-copy h2 em{font-weight:400;color:#f47f9e}.care-copy p{font-size:18px;line-height:1.55;max-width:560px}.care-photo{position:relative;z-index:2;justify-self:end;width:82%;height:72vh;border-radius:48% 48% 30px 30px;overflow:hidden;transform:scale(calc(.86 + var(--carep,0)*.14));opacity:calc(.5 + var(--carep,0)*.5)}.care-photo img{width:100%;height:100%;object-fit:cover}.vine{position:absolute;z-index:4;width:32vw;height:92vh;bottom:-12vh;pointer-events:none;opacity:calc(.25 + var(--carep,0)*.75);transform-origin:bottom center}.vine-left{left:41%;transform:rotate(calc(-16deg + var(--carep,0)*14deg)) scaleY(calc(.25 + var(--carep,0)*.75))}.vine-right{right:-8%;transform:rotate(calc(20deg - var(--carep,0)*14deg)) scaleY(calc(.18 + var(--carep,0)*.82))}.vine:before{content:"";position:absolute;left:50%;bottom:0;width:8px;height:100%;border-radius:99px;background:#73944e;transform:translateX(-50%)}.vine i{position:absolute;width:100px;height:46px;border-radius:100% 0 100% 0;background:#8aab61}.vine i:nth-child(1){left:48%;bottom:22%;transform:rotate(-28deg)}.vine i:nth-child(2){right:47%;bottom:40%;transform:scaleX(-1) rotate(-28deg)}.vine i:nth-child(3){left:48%;bottom:58%;transform:rotate(-20deg)}.vine i:nth-child(4){right:47%;bottom:74%;transform:scaleX(-1) rotate(-20deg)}.bloom{position:absolute;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle,#efb54b 0 20%,#f47f9e 21% 55%,transparent 56%);transform:scale(calc(var(--carep,0)*1.15));transition:none}.b1{left:39%;bottom:82%}.b2{left:58%;bottom:50%}.b3{left:39%;bottom:70%}.b4{left:56%;bottom:34%}
.needs-section{background:#eef5e9;padding:12vh 7vw;text-align:center}.needs-section h2{font:600 clamp(38px,4.5vw,72px)/1 Georgia,serif;color:#315c2b;max-width:850px;margin:0 auto 55px}.needs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1280px;margin:auto}.needs-grid a{background:#fffaf4;border-radius:28px;padding:38px 30px;min-height:260px;color:#315c2b;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .35s ease,box-shadow .35s ease}.needs-grid a:hover{transform:translateY(-9px);box-shadow:0 22px 45px rgba(49,92,43,.12)}.needs-grid span{font-size:40px;color:#e34c7b}.needs-grid b{font:700 21px Georgia,serif;margin:18px 0 10px}.needs-grid p{margin:0;line-height:1.5;color:#566153}
.garden-gallery{min-height:100vh;background:#fff8f2;padding:10vh 5vw;display:grid;grid-template-columns:.62fr 1.38fr;gap:5vw;align-items:center}.gallery-copy h2{font:600 clamp(55px,6vw,105px)/.88 Georgia,serif;color:#315c2b;margin:20px 0}.gallery-copy h2 em{color:#e34c7b;font-weight:400}.gallery-copy>p:not(.ref-eyebrow){max-width:430px;line-height:1.55;color:#53614f}.gallery-controls{display:flex;gap:10px;margin-top:35px}.gallery-controls button{width:52px;height:52px;border:1px solid #315c2b;border-radius:50%;background:transparent;color:#315c2b;font-size:22px;cursor:pointer}.gallery-frame{position:relative;height:72vh;border-radius:38px;overflow:hidden;background:#eadfce}.gallery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1s ease}.gallery-slide.is-active{opacity:1;transform:scale(1)}
.home-faq{padding:11vh 7vw;background:#f7e9ef;text-align:center}.home-faq h2{font:600 clamp(42px,5vw,76px)/1 Georgia,serif;color:#315c2b;margin:0 0 48px}.faq-list{max-width:980px;margin:auto;text-align:left}.faq-item{border-bottom:1px solid rgba(49,92,43,.28)}.faq-q{width:100%;border:0;background:transparent;padding:26px 5px;display:flex;justify-content:space-between;align-items:center;font:700 20px Georgia,serif;color:#315c2b;cursor:pointer}.faq-q span{font:400 30px Arial;transition:transform .3s}.faq-a{max-height:0;overflow:hidden;padding:0 5px;color:#53614f;line-height:1.55;transition:max-height .45s ease,padding .45s ease}.faq-item.open .faq-a{max-height:160px;padding:0 5px 26px}.faq-item.open .faq-q span{transform:rotate(45deg)}.faq-more{display:inline-block;margin-top:38px;color:#315c2b;font-weight:800;font-size:12px;letter-spacing:.12em}
.home-tour{background:#fff8f2;padding:10vh 7vw 12vh;display:grid;grid-template-columns:1fr 1fr;gap:4vw}.tour-form,.tour-side{max-width:650px;width:100%}.tour-form h2{font:600 clamp(45px,5vw,78px)/1 Georgia,serif;color:#315c2b;margin:10px 0 15px}.tour-form>p{color:#53614f}.tour-form form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.tour-form label{font-size:12px;font-weight:800;color:#315c2b;display:flex;flex-direction:column;gap:8px}.tour-form label:nth-last-of-type(1){grid-column:1/-1}.tour-form input,.tour-form textarea{border:1px solid rgba(49,92,43,.22);border-radius:16px;background:#fff;padding:15px 16px;font:inherit}.tour-form textarea{min-height:120px;resize:vertical}.tour-form button{grid-column:1/-1;border:0;border-radius:999px;background:#315c2b;color:#fff;padding:17px;font-weight:800;cursor:pointer}.tour-side{display:flex;flex-direction:column;gap:22px}.tour-photo{height:58vh;border-radius:36px;overflow:hidden}.tour-photo img{width:100%;height:100%;object-fit:cover}.tour-note{background:#f47f9e;border-radius:28px;padding:30px;color:#294225}.tour-note strong{font:700 28px Georgia,serif}.tour-note a{color:#294225;font-size:12px;font-weight:800;letter-spacing:.1em}
@media(max-width:900px){.trust-strip{grid-template-columns:1fr 1fr}.trust-strip>div:nth-child(2){border-right:0}.ref-curiosity{height:auto!important;min-height:100vh!important;padding:90px 5vw 0!important}.ref-curiosity>*{position:relative!important;visibility:visible!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important}.ref-curiosity .ref-child{height:52vh!important;width:75vw!important;margin:50px auto 0}.ref-cards{height:auto!important;min-height:auto!important}.ref-cards-inner{position:relative!important;height:auto!important;min-height:auto!important;padding:80px 5vw!important}.ref-card-grid{grid-template-columns:1fr!important}.ref-card{transform:none!important}.care-bloom{height:auto}.care-pin{position:relative;height:auto;grid-template-columns:1fr;padding:80px 6vw}.care-photo{width:100%;height:58vh;margin-top:45px}.vine{display:none}.needs-grid{grid-template-columns:1fr 1fr}.garden-gallery,.home-tour{grid-template-columns:1fr}.gallery-frame{height:58vh}.tour-form form{grid-template-columns:1fr}.tour-form label,.tour-form label:nth-last-of-type(1),.tour-form button{grid-column:1}.tour-photo{height:50vh}}
@media(max-width:560px){.trust-strip,.needs-grid{grid-template-columns:1fr}.trust-strip>div{border-right:0;border-bottom:1px solid rgba(49,92,43,.16)}}

/* V19 — exact 8-page scope + PDF content pass */
@media (max-width:1180px){.v4-nav nav{gap:10px!important}.v4-nav nav a{font-size:10px!important}.v4-logo{font-size:17px!important}.v4-pill{padding:11px 14px!important}}
@media (max-width:900px){.v4-nav{flex-wrap:wrap!important;height:auto!important;padding:12px 18px!important}.v4-nav nav{order:3;width:100%;display:flex!important;overflow-x:auto;padding:10px 0 2px;justify-content:flex-start}.v4-nav nav a{white-space:nowrap}.v4-pill{margin-left:auto}.trust-strip{margin-top:0}}

/* V20 — unmistakable logo + 8-page website visibility */
.v20-brand{display:flex!important;align-items:center!important;min-width:150px!important;text-decoration:none!important}
.v20-brand img{display:block!important;width:150px!important;max-height:62px!important;object-fit:contain!important;object-position:left center!important}
.site-header .v20-brand img{width:158px!important;max-height:66px!important}
.eight-page-explorer{padding:12vh 6vw;background:#fff8f2;text-align:center;position:relative;overflow:hidden}
.eight-page-explorer:before,.eight-page-explorer:after{content:"✿";position:absolute;color:#f47f9e;opacity:.22;font-size:150px;line-height:1;pointer-events:none}.eight-page-explorer:before{left:-25px;top:35px;transform:rotate(-18deg)}.eight-page-explorer:after{right:-18px;bottom:20px;transform:rotate(20deg)}
.eight-page-explorer h2{font:600 clamp(42px,5.3vw,82px)/.95 Georgia,serif;color:#315c2b;max-width:1000px;margin:14px auto 55px}.eight-page-explorer h2 em{font-weight:400;color:#e34c7b}
.eight-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1280px;margin:auto;text-align:left}
.eight-page-grid a{min-height:210px;border-radius:28px;background:#fff;border:1px solid rgba(49,92,43,.12);padding:28px;display:flex;flex-direction:column;text-decoration:none;color:#315c2b;box-shadow:0 14px 34px rgba(49,92,43,.06);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.eight-page-grid a:nth-child(2n){background:#f9e1e8}.eight-page-grid a:nth-child(3n){background:#e6efdc}.eight-page-grid a:hover{transform:translateY(-8px) rotate(-.5deg);box-shadow:0 24px 48px rgba(49,92,43,.12)}
.eight-page-grid span{font:800 12px Arial,sans-serif;letter-spacing:.14em;color:#e34c7b}.eight-page-grid b{font:700 25px/1.05 Georgia,serif;margin:24px 0 10px}.eight-page-grid small{font:500 14px/1.45 Arial,sans-serif;color:#5b6657}
@media(max-width:1050px){.eight-page-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.v20-brand img,.site-header .v20-brand img{width:125px!important;max-height:52px!important}.eight-page-grid{grid-template-columns:1fr}.eight-page-explorer{padding:85px 20px}}

/* V21 — reference placement + combined curiosity + clean bloom motion */
.v21-hero{height:100vh!important;min-height:760px!important;background:#fff8f2!important;overflow:hidden!important}
.v21-hero .v4-pin{height:100vh!important;min-height:760px!important;position:relative!important;display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;align-items:center!important;gap:5vw!important;padding:110px 5vw 55px!important;overflow:hidden!important}
.v21-hero-copy{position:relative;z-index:25;max-width:690px;align-self:center}
.v21-hero-logo{display:block;width:205px;max-height:88px;object-fit:contain;object-position:left center;margin:0 0 28px}
.v21-kicker{font:800 11px Arial,sans-serif;letter-spacing:.28em;color:#315c2b;margin:0 0 18px}
.v21-hero-copy h1{font:600 clamp(62px,6.4vw,116px)/.84 Georgia,serif;color:#315c2b;letter-spacing:-.055em;margin:0;max-width:760px}
.v21-hero-copy h1 em{display:block;color:#e34c7b;font-weight:400;white-space:nowrap}
.v21-intro{max-width:590px;font:500 17px/1.55 Arial,sans-serif;color:#53614f;margin:28px 0 25px}
.v21-hero-copy .v4-actions{justify-content:flex-start!important;margin-top:22px!important}
.v21-hero-photo{position:relative;z-index:11;width:100%;height:min(67vh,680px);margin:0;border-radius:34px;overflow:hidden;box-shadow:0 22px 60px rgba(49,92,43,.12)}
.v21-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}
.v21-hero .hero-ambient{z-index:12!important}.v21-hero .logo-flower{z-index:13!important}
.v21-hero .lf-one{left:1.5%!important;bottom:2%!important}.v21-hero .lf-two{right:1.5%!important;bottom:2%!important}.v21-hero .lf-three{right:44%!important;bottom:-1%!important}
.v21-hero .hero-butterfly{z-index:15!important;opacity:.9}.v21-hero .hb-one{left:2%!important;top:18%!important}.v21-hero .hb-two{left:46%!important;top:13%!important}.v21-hero .hb-three{left:93%!important;top:22%!important}.v21-hero .hb-four{left:42%!important;top:74%!important}.v21-hero .hb-five{left:94%!important;top:69%!important}
/* no old scroll-reveal hero layers */
.v21-hero .v4-open-copy,.v21-hero .v4-bloom-copy,.v21-hero .hero-photo-reveal,.v21-hero .v4-cream-reveal,.v21-hero .v4-meadow,.v21-hero .v4-cloud,.v21-hero .v4-sun,.v21-hero .v4-daisy,.v21-hero>.v4-butterfly{display:none!important}

/* BE CURIOUS now belongs to the family-benefit strip rather than a separate scene. */
.trust-strip{grid-template-columns:1.2fr repeat(4,1fr)!important;align-items:stretch;padding:0!important;background:#fff8f2!important}
.v21-trust-title{padding:46px 4vw!important;text-align:left!important;align-items:flex-start!important;justify-content:center!important;border-right:1px solid rgba(49,92,43,.16)!important;min-height:220px!important}
.v21-trust-title span{font:800 10px Arial,sans-serif;letter-spacing:.22em;color:#315c2b}
.v21-trust-title h2{font:600 clamp(50px,5vw,84px)/.72 Georgia,serif;color:#8ba080;margin:28px 0 0;letter-spacing:-.05em}
.trust-strip>div:not(.v21-trust-title){min-height:220px!important;justify-content:center!important}

/* Curiosity scene scrolls normally. Clouds travel upward and fully leave the viewport. */
.ref-curiosity{position:relative!important;height:115vh!important;min-height:820px!important;overflow:hidden!important;padding:13vh 5vw 0!important}
.ref-curiosity>*{position:absolute!important;visibility:visible!important}
.ref-curiosity .ref-eyebrow{position:relative!important;display:block!important;top:auto!important;left:auto!important;transform:none!important;text-align:center!important}
.ref-curiosity h2{position:relative!important;top:auto!important;left:auto!important;transform:none!important;margin:55px auto 0!important;text-align:center!important}
.ref-curiosity .ref-child{position:absolute!important;left:50%!important;bottom:-3vh!important}
.ref-curiosity .ref-cloud{position:absolute!important;will-change:transform;visibility:visible!important}

/* Care: no stems/vines; only separate flowers that slowly bloom in the corners. */
.care-bloom .vine{display:none!important}.care-corner-blooms{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.corner-bloom{position:absolute;width:58px;height:58px;opacity:0;transform:scale(.05) rotate(-20deg);animation:v21Bloom 7s ease-in-out infinite}
.corner-bloom:before{content:"✿";position:absolute;inset:0;font:58px/1 Georgia,serif;color:#f47f9e;filter:drop-shadow(0 4px 5px rgba(0,0,0,.08))}
.cb1{left:3%;top:12%;animation-delay:0s}.cb2{right:4%;top:9%;animation-delay:1.4s}.cb3{left:4%;bottom:8%;animation-delay:2.8s}.cb4{right:5%;bottom:7%;animation-delay:4.2s}.cb5{left:48%;bottom:3%;animation-delay:5.3s}
@keyframes v21Bloom{0%,12%{opacity:0;transform:scale(.05) rotate(-18deg)}28%,72%{opacity:.95;transform:scale(1) rotate(4deg)}88%,100%{opacity:0;transform:scale(.35) rotate(12deg)}}

@media(max-width:1000px){.v21-hero{height:auto!important;min-height:0!important}.v21-hero .v4-pin{height:auto!important;min-height:0!important;grid-template-columns:1fr!important;padding:120px 6vw 70px!important}.v21-hero-photo{height:54vh;min-height:430px}.v21-hero-copy h1 em{white-space:normal}.trust-strip{grid-template-columns:1fr 1fr!important}.v21-trust-title{grid-column:1/-1!important}.ref-curiosity{height:100vh!important;min-height:720px!important}}
@media(max-width:620px){.v21-hero-logo{width:165px}.v21-hero-copy h1{font-size:15vw}.v21-hero-photo{min-height:350px;height:46vh}.trust-strip{grid-template-columns:1fr!important}.v21-trust-title{grid-column:auto!important}.ref-curiosity h2{font-size:10vw!important}.corner-bloom{transform:scale(.8)}}

/* V22 — restore the original sunflower/garden opening animation exactly.
   V21 layout rules only apply when .v21-hero is present, which the restored opening is not. */

/* V23 — BE CURIOUS + information are one composition. */
.curious-banner{display:grid!important;grid-template-columns:minmax(360px,.95fr) minmax(0,1.55fr)!important;min-height:62vh!important;padding:0!important;background:#fff8f2!important;border-top:1px solid rgba(49,92,43,.12);border-bottom:1px solid rgba(49,92,43,.12);align-items:stretch!important}
.curious-banner>.v21-trust-title{min-height:62vh!important;padding:7vh 4.5vw!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:flex-start!important;border-right:1px solid rgba(49,92,43,.16)!important;text-align:left!important}
.curious-banner .v21-trust-title span{font:800 10px Arial,sans-serif;letter-spacing:.24em;color:#315c2b;margin-bottom:auto}
.curious-banner .v21-trust-title h2{font:600 clamp(86px,9vw,165px)/.72 Georgia,serif!important;letter-spacing:-.065em!important;color:#8ba080!important;margin:0!important}
.curious-info-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important;min-width:0}
.curious-info{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 34px;gap:9px;min-height:0!important;border-right:1px solid rgba(49,92,43,.16);border-bottom:1px solid rgba(49,92,43,.16)}
.curious-info:nth-child(2n){border-right:0}.curious-info:nth-child(n+3){border-bottom:0}
.curious-info .trust-icon{font-size:28px;color:#e34c7b}.curious-info strong{font:700 clamp(20px,1.65vw,29px) Georgia,serif;color:#315c2b}.curious-info small{max-width:310px;color:#53614f;line-height:1.55;font-size:14px}

/* V23 — clouds are scroll-driven only: start inside the scene, then rise completely above it. */
.ref-curiosity{position:relative!important;height:125vh!important;min-height:900px!important;overflow:hidden!important;padding:12vh 5vw 0!important}
.ref-curiosity .ref-cloud{position:absolute!important;animation:none!important;will-change:transform;z-index:1!important}
.ref-curiosity .rc-a{left:7vw!important;top:60%!important;bottom:auto!important}
.ref-curiosity .rc-b{right:8vw!important;top:46%!important;bottom:auto!important}
.ref-curiosity .rc-c{right:18vw!important;top:82%!important;bottom:auto!important}
.ref-curiosity .ref-eyebrow,.ref-curiosity h2,.ref-curiosity .ref-child,.ref-curiosity .ref-butterfly{z-index:3!important}
@media(max-width:900px){.curious-banner{grid-template-columns:1fr!important;min-height:0!important}.curious-banner>.v21-trust-title{min-height:360px!important;padding:60px 7vw!important}.curious-info-grid{grid-template-columns:1fr 1fr!important}.curious-info{min-height:220px!important}.ref-curiosity{height:110vh!important;min-height:760px!important;overflow:hidden!important}.ref-curiosity .ref-cloud{position:absolute!important}}
@media(max-width:560px){.curious-info-grid{grid-template-columns:1fr!important}.curious-info{border-right:0!important;border-bottom:1px solid rgba(49,92,43,.16)!important}.curious-info:last-child{border-bottom:0!important}.curious-banner .v21-trust-title h2{font-size:24vw!important}}

/* V24 — keep the curiosity scene pinned while its clouds scroll upward and out. */
.ref-curiosity{height:280vh!important;min-height:280vh!important;padding:0!important;overflow:visible!important;position:relative!important}
.ref-curiosity-pin{position:sticky!important;top:0!important;height:100vh!important;overflow:hidden!important;background:var(--sh-cream)!important;padding:12vh 5vw 0!important;text-align:center;display:flex;flex-direction:column;align-items:center}
.ref-curiosity-pin .ref-eyebrow{position:relative!important;z-index:3!important;margin:0 0 24px!important}
.ref-curiosity-pin h2{position:relative!important;z-index:3!important;margin:30px auto 0!important;max-width:900px!important}
.ref-curiosity-pin .ref-child{position:absolute!important;left:50%!important;bottom:-3vh!important;z-index:3!important}
.ref-curiosity-pin .ref-cloud{position:absolute!important;animation:none!important;will-change:transform;z-index:1!important}
.ref-curiosity-pin .rc-a{left:7vw!important;top:60%!important}.ref-curiosity-pin .rc-b{right:8vw!important;top:46%!important}.ref-curiosity-pin .rc-c{right:18vw!important;top:82%!important}
.ref-curiosity-pin .ref-butterfly{z-index:4!important}
.thrive-explorer h2{max-width:1100px!important}
@media(max-width:900px){.ref-curiosity{height:220vh!important;min-height:220vh!important}.ref-curiosity-pin{height:100vh!important;min-height:720px!important;padding:90px 5vw 0!important}.ref-curiosity-pin h2{font-size:10vw!important}.ref-curiosity-pin .ref-child{width:75vw!important;height:52vh!important}}

/* V25 — preserve sunflower opening, but final hero reveal matches the supplied left-copy/right-photo placement. */
.v4-opening .v4-bloom-copy{
  left:5vw!important; right:auto!important; top:50%!important; bottom:auto!important;
  width:43vw!important; max-width:690px!important; text-align:left!important;
  transform:translateY(calc(-38% + (1 - var(--v4p))*65px))!important;
  padding:0!important;
}
.v4-opening .v4-bloom-copy h2{font-size:clamp(58px,6.1vw,108px)!important;line-height:.84!important;margin:10px 0 22px!important}
.v4-opening .v4-bloom-copy>span{margin:0!important;max-width:570px!important;font-size:15px!important;line-height:1.55!important}
.v4-opening .v4-bloom-copy .v4-rule{margin:0 0 20px!important}
.v4-opening .v4-bloom-copy .v4-actions{justify-content:flex-start!important}
.v4-opening .hero-photo-reveal{
  left:auto!important; right:4.5vw!important; top:50%!important;
  width:44vw!important; height:62vh!important; max-height:650px!important;
  border-radius:28px!important;
  transform:translateY(calc(-48% + (1 - var(--v4p))*55px)) rotate(0deg)!important;
}

/* V25 — BE CURIOUS is its own editorial composition; the four-item banner sits directly underneath. */
.be-curious-feature{position:relative;min-height:78vh;background:#fff8f2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:end;gap:5vw;padding:10vh 5vw 0;overflow:hidden}
.be-curious-copy{position:relative;z-index:2;padding-bottom:7vh}
.be-curious-copy span{display:block;font:800 10px Arial,sans-serif;letter-spacing:.24em;color:#315c2b;margin-bottom:20vh}
.be-curious-copy h2{font:600 clamp(105px,13vw,220px)/.67 Georgia,serif;letter-spacing:-.07em;color:#8ba080;margin:0;transform:translateX(-.05em)}
.be-curious-photo{margin:0 0 0 auto;width:min(34vw,520px);height:47vh;min-height:430px;border-radius:170px 170px 0 0;overflow:hidden;align-self:end}
.be-curious-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.curious-banner-below{display:block!important;min-height:0!important;padding:0!important}
.curious-banner-below .curious-info-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;grid-template-rows:1fr!important;width:100%}
.curious-banner-below .curious-info{min-height:205px!important;border-right:1px solid rgba(49,92,43,.16)!important;border-bottom:0!important;padding:34px 28px!important}
.curious-banner-below .curious-info:last-child{border-right:0!important}

@media(max-width:900px){
 .v4-opening .v4-bloom-copy{left:6vw!important;top:auto!important;bottom:5vh!important;width:88vw!important;transform:none!important;text-align:left!important}
 .v4-opening .hero-photo-reveal{right:5vw!important;top:15vh!important;width:46vw!important;height:31vh!important;transform:none!important}
 .be-curious-feature{grid-template-columns:1fr;min-height:auto;padding-top:90px}
 .be-curious-copy span{margin-bottom:70px}.be-curious-photo{width:70vw;height:45vh;min-height:360px}
 .curious-banner-below .curious-info-grid{grid-template-columns:1fr 1fr!important}
 .curious-banner-below .curious-info{border-bottom:1px solid rgba(49,92,43,.16)!important}
}
@media(max-width:560px){
 .v4-opening .hero-photo-reveal{width:72vw!important;height:27vh!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important}
 .be-curious-copy h2{font-size:25vw}.be-curious-photo{width:88vw}
 .curious-banner-below .curious-info-grid{grid-template-columns:1fr!important}
 .curious-banner-below .curious-info{border-right:0!important}
}

/* V26 — simplified homepage per client review */
/* Keep the sunflower opening sequence intact, but remove butterflies from the hero. */
.v4-opening .hero-butterfly,.v4-opening>.v4-pin>.v4-butterfly{display:none!important}

/* The discovery content is now the information banner only. */
.be-curious-feature,.ref-curiosity{display:none!important}

/* Section 03 is now the photo slideshow on the same deep-green background as the former CARE scene. */
.gallery-care-replacement{position:relative;min-height:100vh;background:#315c2b!important;color:#fff;overflow:hidden;isolation:isolate}
.gallery-care-replacement .gallery-copy,.gallery-care-replacement .gallery-frame{position:relative;z-index:3}
.gallery-care-replacement .gallery-copy .ref-eyebrow{color:#fff!important}
.gallery-care-replacement .gallery-copy h2{color:#fff!important}
.gallery-care-replacement .gallery-copy h2 em{color:#f47f9e!important}
.gallery-care-replacement .gallery-copy>p:not(.ref-eyebrow){color:rgba(255,255,255,.86)!important}
.gallery-care-replacement .gallery-controls button{border-color:#fff!important;color:#fff!important;background:rgba(255,255,255,.04)!important}
.gallery-care-replacement .gallery-frame{box-shadow:0 28px 70px rgba(0,0,0,.18)}

/* Slow flower blooms only — no stems. */
.gallery-blooms{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.gallery-bloom{position:absolute;width:68px;height:68px;opacity:0;transform:scale(.05) rotate(-18deg);animation:v26GalleryBloom 8s ease-in-out infinite}
.gallery-bloom:before{content:"✿";position:absolute;inset:0;font:68px/1 Georgia,serif;color:#f47f9e;filter:drop-shadow(0 5px 7px rgba(0,0,0,.08))}
.gb1{left:2.5%;top:8%;animation-delay:0s}.gb2{right:3%;top:12%;animation-delay:1.25s}.gb3{left:3.5%;bottom:8%;animation-delay:2.6s}.gb4{right:2%;bottom:7%;animation-delay:3.8s}.gb5{left:44%;top:4%;animation-delay:5s}.gb6{right:43%;bottom:2%;animation-delay:6.2s}
@keyframes v26GalleryBloom{0%,12%{opacity:0;transform:scale(.05) rotate(-18deg)}30%,70%{opacity:.9;transform:scale(1) rotate(0)}88%,100%{opacity:0;transform:scale(.15) rotate(12deg)}}
@media(max-width:900px){.gallery-care-replacement{min-height:auto}.gallery-bloom{width:48px;height:48px}.gallery-bloom:before{font-size:48px}}
@media(prefers-reduced-motion:reduce){.gallery-bloom{animation:none;opacity:.65;transform:scale(1)}}

/* V27 — PDF-grounded Learning for Every Stage */
.stage-intro{max-width:820px;margin:-10px auto 10px;text-align:center;color:#496247;font-size:clamp(15px,1.15vw,19px);line-height:1.55}.stage-note{max-width:900px;margin:22px auto 0;text-align:center;color:#496247;font-size:14px;line-height:1.45}.stage-note strong{color:#315c2b}.ref-card p{line-height:1.5!important}


/* V34 FINAL SUNFLOWER — unified inner pages + mobile */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-menu{display:none}
.final-nav{background:rgba(255,250,243,.96);border-bottom:1px solid rgba(49,92,43,.14)}
.final-nav .navin{min-height:84px;width:min(1380px,94vw)}
.final-brand{display:flex;align-items:center;margin-right:auto}.final-brand img{width:132px;height:64px;object-fit:contain}
.final-nav .links{gap:14px;align-items:center}.final-nav .links a{font-size:11px;color:#315c2b}.final-nav .links a:hover{color:#e34c7b}
.final-nav .nav-cta{font-size:12px;white-space:nowrap;background:#315c2b;border-color:#315c2b}
.final-pagehero{background:linear-gradient(135deg,#fff9f0 0%,#fff9f0 64%,#edf3e6 64%);padding-top:92px}
.final-pagehero .page-symbol{color:#e34c7b;font-family:Georgia,serif}.final-pagehero h1{color:#315c2b}.final-pagehero p{color:#4e5f4b}
.memorial-card{margin-top:30px;padding:30px;border:1px solid rgba(49,92,43,.2);background:#fff9f0;border-radius:28px}.memorial-card span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#7a8775}.memorial-card strong{display:block;font:600 34px Georgia,serif;color:#315c2b;margin:8px 0}.memorial-card p{margin-bottom:0}
.fact-row{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.fact-row span{padding:10px 14px;border:1px solid rgba(49,92,43,.25);border-radius:999px;background:#fff;color:#315c2b;font-weight:700;font-size:13px}
.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}.schedule-grid>div{padding:24px;border:1px solid rgba(49,92,43,.22);background:#fff;border-radius:22px;min-height:145px}.schedule-grid b{font:600 24px Georgia,serif;color:#315c2b}.schedule-grid p{margin:8px 0 0}
.note-box{padding:18px 20px;background:#f3ead4;border-left:4px solid #e9bd47;margin-top:22px;border-radius:0 14px 14px 0}
.seven-steps{grid-template-columns:repeat(7,1fr)}.seven-steps .step{min-height:280px;padding:20px}.seven-steps .step b{margin-bottom:38px}.seven-steps h3{font:600 22px Georgia,serif;color:#315c2b}.seven-steps p{font-size:13px}
.meal-rhythm{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.meal-rhythm>div{background:#fff;border:1px solid rgba(49,92,43,.2);border-radius:24px;padding:28px}.meal-rhythm span{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.18em;color:#7a8775}.meal-rhythm strong{display:block;font:600 30px Georgia,serif;color:#315c2b;margin-top:8px}
.resource-cards{grid-template-columns:repeat(4,1fr)}.contact-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.contact-facts p{padding:18px;background:#fff;border:1px solid rgba(49,92,43,.15);border-radius:16px;margin:0}.contact-facts a{text-decoration:underline}
.form-layout{align-items:start}.form{border-radius:28px;border-color:rgba(49,92,43,.2);box-shadow:0 20px 50px rgba(49,92,43,.08)}.form input,.form select,.form textarea{border-radius:10px;border-color:#c7cec2}.form .btn{margin-top:16px}
.final-footer{background:#27452a}.footer-logo img{width:150px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.footer-contact{color:#dbe5d7;font-size:13px}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:38px;padding-top:22px;font-size:12px;color:#dbe5d7}
.mobile-sticky-cta{display:none}
@media(max-width:1180px){.final-nav .links{gap:10px}.final-nav .links a{font-size:10px}.final-nav .nav-cta{padding:10px 14px}.seven-steps{grid-template-columns:repeat(4,1fr)}.seven-steps .step:nth-child(4){border-right:0}}
@media(max-width:960px){body{padding-bottom:66px}.final-nav .navin{min-height:72px}.final-brand img{width:108px;height:54px}.final-nav .links,.final-nav .nav-cta{display:none}.final-nav .mobile-toggle{display:block;color:#315c2b;font-size:26px;cursor:pointer}.final-nav .mobile-menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fffaf3;padding:18px 5vw 24px;border-bottom:1px solid rgba(49,92,43,.18);box-shadow:0 20px 35px rgba(49,92,43,.1);max-height:calc(100vh - 72px);overflow:auto}.final-nav .mobile-menu.open{display:grid;gap:0}.final-nav .mobile-menu a{padding:13px 0;border-bottom:1px solid rgba(49,92,43,.1);font-weight:800;color:#315c2b}.final-nav .mobile-menu .mobile-enroll{margin-top:14px;padding:14px 18px;border:0;border-radius:999px;background:#e34c7b;color:#fff;text-align:center}.mobile-sticky-cta{display:flex;position:fixed;z-index:100;left:12px;right:12px;bottom:10px;height:50px;align-items:center;justify-content:center;background:#315c2b;color:#fff;border-radius:999px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.22)}.schedule-grid{grid-template-columns:1fr 1fr}.meal-rhythm{grid-template-columns:1fr 1fr}.resource-cards{grid-template-columns:1fr 1fr}.seven-steps{grid-template-columns:1fr 1fr}.seven-steps .step{border-right:1px solid var(--ink)}.seven-steps .step:nth-child(2n){border-right:0}.final-pagehero{padding-top:70px}.final-pagehero .page-symbol{font-size:90px}}
@media(max-width:620px){.final-pagehero{padding:58px 0 52px;background:#fff9f0}.final-pagehero h1{font-size:54px;line-height:.88;letter-spacing:-3px}.final-pagehero .page-symbol{display:none}.final-pagehero .actions{display:grid;grid-template-columns:1fr 1fr}.final-pagehero .actions .btn{padding:10px 12px;font-size:12px}.section{padding:68px 0}.h2{font-size:43px;line-height:.95}.lead{font-size:17px}.schedule-grid,.meal-rhythm,.resource-cards,.contact-facts,.seven-steps{grid-template-columns:1fr}.seven-steps .step{border-right:0!important;min-height:auto}.seven-steps .step b{margin-bottom:18px}.grid2{grid-template-columns:1fr}.form{padding:22px 18px}.footergrid{grid-template-columns:1fr}.footer{padding-bottom:90px}.cutout,.cutout img{height:330px}.service-card h3{margin-top:28px}.memorial-card strong{font-size:29px}}

/* V35 FINAL FIXES — visible global chrome, mobile hero, mobile slide cards */
/* The original V4 homepage intentionally hid the shared header/footer. The final site uses them. */
.v4-home .final-nav{display:block!important;position:sticky!important;top:0!important;z-index:1000!important;background:rgba(255,250,243,.98)!important;visibility:visible!important;opacity:1!important}
.v4-home .final-footer{display:block!important;visibility:visible!important;opacity:1!important}
.v4-home .mobile-menu{z-index:1001!important}
/* Remove only the falling green leaf decoration requested by client. */
.v4-opening .hero-leaf{display:none!important}
/* Restore butterflies in the sunflower opening. */
.v4-opening .hero-butterfly{display:block!important}

@media(max-width:900px){
  /* Shorter, cleaner mobile sunflower scroll sequence. */
  .v4-opening{height:205vh!important}
  .v4-pin{height:calc(100svh - 72px)!important;min-height:590px!important;top:72px!important}
  .v4-daisy{width:min(58vw,280px)!important;top:34%!important}
  .v4-open-copy{top:69%!important;width:88vw!important}
  .v4-open-copy h1{font-size:clamp(44px,13vw,68px)!important;line-height:.84!important}
  .v4-bloom-copy{top:49%!important;width:90vw!important}
  .v4-bloom-copy h2{font-size:clamp(42px,12vw,64px)!important}
  .v4-bloom-copy>span{font-size:12px!important;max-width:88vw!important}
  .v4-actions{flex-wrap:wrap!important}
  .v4-meadow{height:16vh!important}
  .hero-photo-reveal{inset:12% 5% 8%!important}
  .hero-flower{transform:scale(.72);transform-origin:bottom center}
  .hf-two,.hf-three{display:none!important}
  .v4-opening .hero-butterfly{width:40px!important;height:32px!important;opacity:.9}
  .v4-opening .hb-four,.v4-opening .hb-five{display:none!important}

  /* Mobile cards use the same staged left-to-right entrance instead of becoming static. */
  .ref-cards{height:330vh!important;min-height:330vh!important;padding:0!important;overflow:visible!important;background:#f8f1e5!important}
  .ref-cards-inner{position:sticky!important;top:72px!important;height:calc(100svh - 72px)!important;min-height:600px!important;padding:34px 18px 22px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .ref-cards .ref-eyebrow{margin:0 0 7px!important}
  .stage-title{font-size:clamp(31px,8.7vw,46px)!important;line-height:.94!important;margin:0 auto 9px!important}
  .stage-intro{font-size:13px!important;line-height:1.35!important;margin:0 auto 14px!important;max-width:560px!important}
  .ref-card-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 auto!important;width:min(100%,560px)!important;transform:none!important}
  .ref-card{min-height:190px!important;padding:18px 13px 14px!important;border-radius:22px!important;opacity:1!important;will-change:transform!important}
  .ref-card .stage-symbol{font-size:31px!important}
  .ref-card h3{font-size:20px!important;margin:12px 0 7px!important}
  .ref-card p{font-size:11px!important;line-height:1.28!important;margin:0!important}
  .ref-card span{font-size:8px!important;margin-top:9px!important}
  .stage-note{font-size:10px!important;line-height:1.25!important;margin:10px auto 0!important}
}
@media(max-width:520px){
  .v4-opening{height:190vh!important}
  .v4-pin{min-height:540px!important}
  .v4-daisy{width:min(55vw,230px)!important;top:31%!important}
  .v4-open-copy{top:67%!important}
  .v4-bloom-copy{top:47%!important}
  .ref-cards{height:350vh!important;min-height:350vh!important}
  .ref-cards-inner{padding:24px 12px 18px!important;min-height:560px!important}
  .stage-title{font-size:30px!important}
  .stage-intro{font-size:11px!important;margin-bottom:10px!important}
  .ref-card{min-height:172px!important;padding:14px 10px 11px!important}
  .ref-card h3{font-size:18px!important;margin:8px 0 5px!important}
  .ref-card p{font-size:10px!important}
}

/* V36 About tribute placeholders */
.tribute-section{overflow:hidden}
.tribute-heading{max-width:820px;margin-bottom:34px}
.tribute-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:34px;align-items:stretch}
.tribute-placeholder{min-height:500px;border:2px dashed rgba(45,74,47,.28);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(247,225,187,.46));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;color:var(--green,#355b3c)}
.tribute-placeholder-mark{font-size:58px;line-height:1;margin-bottom:16px}
.tribute-placeholder strong{font-size:clamp(1.35rem,2.5vw,2rem);margin-bottom:8px}
.tribute-placeholder span{font-size:1.05rem;margin-bottom:12px}
.tribute-placeholder small{max-width:330px;opacity:.68;line-height:1.5}
.tribute-card{height:100%;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,54px)}
.tribute-note{margin-top:24px;padding:20px;border-radius:20px;background:rgba(255,255,255,.55);border:1px solid rgba(45,74,47,.12)}
.tribute-note b{display:block;margin-bottom:7px}
.tribute-note p{margin:0;font-size:.95rem;opacity:.78}
.tribute-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.tribute-mini{min-height:145px;border-radius:24px;background:rgba(255,255,255,.6);border:1px dashed rgba(45,74,47,.24);padding:22px;display:flex;flex-direction:column;justify-content:flex-end}
.tribute-mini span{font-size:.75rem;letter-spacing:.12em;opacity:.55;margin-bottom:auto}
.tribute-mini strong{margin-bottom:4px}
.tribute-mini small{opacity:.65}
@media(max-width:760px){.tribute-layout{grid-template-columns:1fr;gap:18px}.tribute-placeholder{min-height:340px;border-radius:26px;padding:28px}.tribute-gallery{grid-template-columns:1fr}.tribute-mini{min-height:120px}.tribute-heading{margin-bottom:22px}}

/* V37 — single-line UI typography + always-visible Schedule a Tour */
/* Keep display/UI copy on one line. JS below progressively reduces font size when needed. */
.final-nav .links a,
.final-nav .nav-cta,
.mobile-menu a,
.btn,
.kicker,
.ref-eyebrow,
.stage-title,
.ref-card h3,
.service-card h3,
.card h3,
.step h3,
.meal-rhythm strong,
.fact-row span,
.pagehero h1,
.final-pagehero h1,
.h2,
.tribute-placeholder strong,
.tribute-mini strong,
.footer h4,
.mobile-sticky-cta{
  white-space:nowrap;
}

/* Permanent floating tour action on every viewport. */
.mobile-sticky-cta{
  display:flex!important;
  position:fixed!important;
  z-index:2500!important;
  right:24px!important;
  bottom:24px!important;
  left:auto!important;
  width:auto!important;
  min-width:168px;
  height:52px;
  padding:0 24px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#315c2b!important;
  color:#fff!important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.25);
}
.mobile-sticky-cta:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,0,0,.28)}

@media(max-width:960px){
  body{padding-bottom:76px!important}
  .mobile-sticky-cta{
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    width:auto!important;
    min-width:0;
    height:52px;
    padding:0 18px;
    font-size:13px;
  }
  .final-nav .mobile-menu a{font-size:clamp(10px,3.5vw,14px)}
}

@media(max-width:620px){
  .final-pagehero h1,.pagehero h1{font-size:clamp(27px,10vw,48px)!important;letter-spacing:-1.5px!important}
  .h2{font-size:clamp(25px,8.7vw,39px)!important;letter-spacing:-1.2px!important}
  .btn{font-size:clamp(9px,2.9vw,12px)!important;padding-left:10px!important;padding-right:10px!important}
  .kicker,.ref-eyebrow{font-size:clamp(8px,2.5vw,11px)!important}
  .ref-card h3{font-size:clamp(13px,4.5vw,18px)!important}
  .service-card h3,.card h3,.step h3{font-size:clamp(15px,5vw,21px)!important}
  .tribute-placeholder strong{font-size:clamp(18px,6vw,27px)!important}
}

/* V38 final polish — FAQ alignment, card text safety, clean sunflower transition */
/* Remove the green leaf blades while keeping the small bottom flowers. */
.v4-opening .hero-flower span::before,
.v4-opening .hero-flower span::after,
.v4-opening .logo-flower > span::before,
.v4-opening .logo-flower > span::after,
.v4-opening .hero-leaf{display:none!important}

/* Sunflower and butterflies are only part of the opening animation. */
.v4-opening .v4-daisy,
.v4-opening .hero-butterfly{
  opacity:var(--opening-decor-opacity,1)!important;
  transition:opacity .18s linear!important;
}

/* Never clip program-card copy on desktop. */
.ref-card{overflow:visible!important;height:auto!important}
.ref-card h3{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.04!important;
}
.ref-card p,.ref-card span{overflow:visible!important;text-overflow:clip!important}

/* FAQ questions: balanced left alignment with a fixed plus column. */
.faq-q{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  gap:16px!important;
  text-align:left!important;
  justify-content:initial!important;
  align-items:center!important;
  white-space:normal!important;
}
.faq-q>span{justify-self:end!important;text-align:right!important}

@media(max-width:620px){
  .faq-q{
    padding:22px 4px!important;
    font-size:clamp(17px,5.1vw,22px)!important;
    line-height:1.08!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
    gap:10px!important;
  }
  .faq-q>span{font-size:28px!important}
  .ref-card h3{font-size:clamp(15px,4.2vw,18px)!important;line-height:1.04!important}
}


/* V39 — balanced wrapping + cleaner final hero/about spacing */
/* Remove the decorative pink corner/bottom flowers from the opening completely. */
.v4-opening .logo-flower{display:none!important}

/* Opening butterflies belong only to the sunflower intro and are gone before the final hero. */
.v4-opening .hero-butterfly,
.v4-opening .v4-daisy{
  opacity:var(--opening-decor-opacity,1)!important;
  transition:opacity .12s linear!important;
}

/* Undo V37's global forced one-line typography. Allow intentional, balanced wrapping. */
.final-nav .links a,
.final-nav .nav-cta,
.mobile-menu a,
.btn,
.kicker,
.ref-eyebrow,
.stage-title,
.ref-card h3,
.service-card h3,
.card h3,
.step h3,
.meal-rhythm strong,
.fact-row span,
.pagehero h1,
.final-pagehero h1,
.h2,
.tribute-placeholder strong,
.tribute-mini strong,
.footer h4{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
/* UI controls stay compact. */
.final-nav .links a,.final-nav .nav-cta,.btn,.kicker,.ref-eyebrow,.mobile-sticky-cta{white-space:nowrap!important}

/* Large headings wrap within the actual content column instead of overflowing it. */
.final-pagehero .pagehero-grid>div:first-child{min-width:0;max-width:900px}
.final-pagehero h1,.pagehero h1{max-width:100%;font-size:clamp(54px,6.2vw,104px)!important;line-height:.92!important;letter-spacing:-.045em!important;text-wrap:balance}
.h2,.stage-title{max-width:100%;text-wrap:balance;line-height:.98!important}

/* Cards may use two clean lines; nothing gets clipped. */
.ref-card,.service-card,.card,.step{min-width:0!important;overflow:visible!important}
.ref-card h3,.service-card h3,.card h3,.step h3{max-width:100%;text-wrap:balance;line-height:1.08!important}
.ref-card p,.service-card p,.card p,.step p{overflow:visible!important;display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important}
.ref-card{min-height:480px!important;height:auto!important}

/* About: remove oversized dead space and make the tribute itself fill the section deliberately. */
body:not(.v4-home) .final-pagehero{min-height:0!important;padding-top:clamp(62px,7vw,100px)!important;padding-bottom:clamp(58px,7vw,96px)!important}
.tribute-section{padding-top:clamp(72px,7vw,108px)!important;padding-bottom:clamp(72px,7vw,108px)!important}
.tribute-heading{max-width:920px!important;margin-bottom:26px!important}
.tribute-layout{align-items:stretch!important}
.tribute-placeholder{min-height:420px!important}
.tribute-card{min-height:420px!important}
.tribute-gallery{margin-top:16px!important}
.tribute-mini{min-height:130px!important}

/* FAQ: clean left alignment and predictable plus column on all sizes. */
.faq-q{grid-template-columns:minmax(0,1fr) 38px!important;text-align:left!important;text-wrap:pretty}
.faq-q>span{justify-self:end!important}

@media(max-width:900px){
  .final-pagehero h1,.pagehero h1{font-size:clamp(44px,9vw,72px)!important;letter-spacing:-.035em!important}
  .h2,.stage-title{font-size:clamp(34px,7.4vw,52px)!important}
  .ref-card{min-height:190px!important;height:auto!important}
}
@media(max-width:620px){
  .final-pagehero h1,.pagehero h1{font-size:clamp(38px,11vw,54px)!important;line-height:.94!important;letter-spacing:-.03em!important}
  .h2,.stage-title{font-size:clamp(31px,9vw,43px)!important;line-height:1!important}
  .faq-q{padding:21px 2px!important;grid-template-columns:minmax(0,1fr) 32px!important;gap:12px!important;font-size:clamp(17px,5vw,21px)!important;line-height:1.14!important}
  .tribute-placeholder,.tribute-card{min-height:0!important}
  .tribute-placeholder{padding:32px 22px!important}
  .tribute-gallery{grid-template-columns:1fr!important}
}


/* V40 — About page: reveal content must never reserve invisible blank space. */
.about-page .reveal,
.about-page .reveal.rotate{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}
.about-page .section,
.about-page .tribute-section{
  min-height:0!important;
  height:auto!important;
}
.about-page .tribute-layout,
.about-page .tribute-gallery{
  opacity:1!important;
  visibility:visible!important;
}
.about-page .tribute-section{overflow:visible!important}
.about-page .service-grid{margin-bottom:0!important}
@media(max-width:760px){
  .about-page .section{padding-top:64px!important;padding-bottom:64px!important}
  .about-page .tribute-section{padding-top:64px!important;padding-bottom:64px!important}
}

/* V44 — mobile-first sunflower intro polish */
@media (max-width:960px){
  /* The intro owns the phone viewport. Site chrome appears only after the reveal. */
  .v4-home.intro-active .final-nav{
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-100%)!important;
  }
  .v4-home .final-nav{transition:opacity .28s ease,transform .28s ease,visibility .28s ease!important}
  .v4-home.intro-active .mobile-sticky-cta{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .v4-home .mobile-sticky-cta{transition:opacity .25s ease,visibility .25s ease!important}

  .v4-opening{height:220svh!important;min-height:0!important}
  .v4-opening .v4-pin{top:0!important;height:100svh!important;min-height:0!important;overflow:hidden!important}
  .v4-opening .v4-daisy{width:min(62vw,255px)!important;top:30%!important;left:50%!important}
  .v4-opening .v4-open-copy{top:65%!important;width:88vw!important;left:6vw!important;text-align:left!important}
  .v4-opening .v4-open-copy h1{font-size:clamp(42px,12.2vw,62px)!important;line-height:.86!important}
  .v4-opening .v4-open-copy p{font-size:10px!important;letter-spacing:.17em!important}

  /* Final hero is two clean zones: photo first, copy second. */
  .v4-opening .hero-photo-reveal{
    left:6vw!important;right:6vw!important;top:8svh!important;width:88vw!important;height:38svh!important;
    transform:none!important;border-radius:26px!important;overflow:hidden!important;
  }
  .v4-opening .hero-photo-reveal img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  .v4-opening .v4-bloom-copy{
    left:6vw!important;right:6vw!important;top:51svh!important;bottom:auto!important;width:88vw!important;
    max-width:none!important;transform:none!important;text-align:left!important;padding:0!important;
  }
  .v4-opening .v4-bloom-copy h2{font-size:clamp(38px,10.8vw,54px)!important;line-height:.88!important;margin:7px 0 13px!important}
  .v4-opening .v4-bloom-copy>span{display:block!important;font-size:12px!important;line-height:1.42!important;max-width:86vw!important}
  .v4-opening .v4-bloom-copy .v4-rule{margin:0 0 12px!important}
  .v4-opening .v4-actions{gap:8px!important;margin-top:15px!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .v4-opening .v4-actions a{min-width:0!important;padding:11px 9px!important;font-size:10px!important;text-align:center!important;white-space:nowrap!important}

  /* Keep intro decoration restrained on phones. */
  .v4-opening .hero-flower,.v4-opening .logo-flower,.v4-opening .hero-leaf{display:none!important}
  .v4-opening .hero-butterfly{transform:scale(.76)!important;transform-origin:center!important}
  .v4-opening .hb-three,.v4-opening .hb-four,.v4-opening .hb-five{display:none!important}
}
@media (max-width:520px){
  .v4-opening{height:205svh!important}
  .v4-opening .hero-photo-reveal{top:7svh!important;height:35svh!important}
  .v4-opening .v4-bloom-copy{top:46svh!important}
  .v4-opening .v4-bloom-copy h2{font-size:clamp(36px,10.5vw,47px)!important}
  .v4-opening .v4-bloom-copy>span{font-size:11px!important}
  .v4-opening .v4-actions a{font-size:9px!important;padding:10px 6px!important}
}

/* V45 — rebuilt mobile sunflower intro: true viewport, no clipping, clean handoff */
@media (max-width:960px){
  /* Navigation must not reserve any space above the intro. */
  .v4-home .final-nav{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;
    width:100%!important;
    z-index:1000!important;
    margin:0!important;
  }
  .v4-home.intro-active .final-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,-100%,0)!important;
  }
  .v4-home:not(.intro-active) .final-nav{
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(0,0,0)!important;
  }

  /* Start the yellow animation at the very first pixel of the page. */
  .v4-home main{margin:0!important;padding:0!important}
  .v4-opening{height:190svh!important;margin:0!important;padding:0!important;background:var(--v4-yellow)!important}
  .v4-opening .v4-pin{
    position:sticky!important;top:0!important;
    width:100%!important;height:100svh!important;min-height:100svh!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
    background:linear-gradient(var(--v4-yellow) 0 78%,#9bbb75 78%)!important;
  }

  /* Mobile intro composition: one clear focal flower with breathing room. */
  .v4-opening .v4-sun{display:none!important}
  .v4-opening .v4-daisy{
    width:min(52vw,215px)!important;
    left:50%!important;top:34%!important;
    transform:translate(-50%,-50%) scale(calc(.9 + var(--v4p)*.28)) rotate(calc(var(--v4p)*8deg))!important;
  }
  .v4-opening .cloud-a{left:5vw!important;top:52%!important;transform:scale(.58)!important}
  .v4-opening .cloud-b{right:4vw!important;top:28%!important;transform:scale(.52)!important}

  /* Intro words stay centered and entirely inside the phone safe area. */
  .v4-opening .v4-open-copy{
    left:50%!important;right:auto!important;top:70%!important;
    width:86vw!important;max-width:430px!important;
    text-align:center!important;
    transform:translate(-50%,calc(-50% - var(--v4p)*42px))!important;
    padding:0!important;margin:0!important;
  }
  .v4-opening .v4-open-copy p{font-size:9px!important;letter-spacing:.16em!important;margin:0 0 9px!important}
  .v4-opening .v4-open-copy h1{
    max-width:100%!important;margin:0 0 14px!important;
    font-size:clamp(38px,10.8vw,50px)!important;
    line-height:.88!important;letter-spacing:-.045em!important;
    text-align:center!important;text-wrap:balance!important;
  }
  .v4-opening .v4-open-copy small{display:block!important;font-size:7px!important;letter-spacing:.14em!important;white-space:normal!important}

  /* Only two restrained butterflies on phones; they leave with the flower. */
  .v4-opening .hb-three,.v4-opening .hb-four,.v4-opening .hb-five,.v4-opening .hb-six,.v4-opening .hb-seven{display:none!important}
  .v4-opening .hero-butterfly{width:38px!important;height:31px!important;scale:.72!important}
  .v4-opening .hb-one{left:8%!important;top:44%!important}
  .v4-opening .hb-two{right:8%!important;top:31%!important}

  /* The post-intro hero is a separate photo zone followed by a separate copy zone. */
  .v4-opening .hero-photo-reveal{
    left:6vw!important;right:6vw!important;top:7svh!important;
    width:88vw!important;height:34svh!important;max-height:330px!important;
    transform:none!important;border-radius:22px!important;
  }
  .v4-opening .v4-bloom-copy{
    left:6vw!important;right:6vw!important;top:45svh!important;bottom:auto!important;
    width:88vw!important;max-width:none!important;
    transform:none!important;text-align:left!important;padding:0!important;margin:0!important;
  }
  .v4-opening .v4-bloom-copy>p{margin:0 0 7px!important;font-size:8px!important;letter-spacing:.17em!important}
  .v4-opening .v4-bloom-copy h2{
    max-width:100%!important;margin:0 0 11px!important;
    font-size:clamp(34px,9.6vw,46px)!important;
    line-height:.9!important;letter-spacing:-.045em!important;
    text-wrap:balance!important;
  }
  .v4-opening .v4-bloom-copy h2 br{display:none!important}
  .v4-opening .v4-bloom-copy .v4-rule{width:58px!important;margin:0 0 11px!important}
  .v4-opening .v4-bloom-copy>span{max-width:100%!important;font-size:11px!important;line-height:1.42!important;margin:0!important}
  .v4-opening .v4-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:14px!important}
  .v4-opening .v4-actions a{font-size:9px!important;padding:10px 6px!important;white-space:nowrap!important}

  /* No decorative flowers/leaves can leak into the normal hero. */
  .v4-opening .hero-flower,.v4-opening .logo-flower,.v4-opening .hero-leaf{display:none!important}
}

@media (max-width:430px){
  .v4-opening{height:185svh!important}
  .v4-opening .v4-daisy{width:min(50vw,196px)!important;top:33%!important}
  .v4-opening .v4-open-copy{top:68%!important;width:84vw!important}
  .v4-opening .v4-open-copy h1{font-size:clamp(36px,10.4vw,45px)!important}
  .v4-opening .hero-photo-reveal{top:5.5svh!important;height:32svh!important}
  .v4-opening .v4-bloom-copy{top:41svh!important}
  .v4-opening .v4-bloom-copy h2{font-size:clamp(32px,9.2vw,41px)!important}
  .v4-opening .v4-bloom-copy>span{font-size:10.5px!important}
}

/* V46 — mobile post-intro hero spacing polish */
@media (max-width:960px){
  /* Let the revealed hero breathe lower in the viewport after the intro. */
  .v4-opening .hero-photo-reveal{
    top:9svh!important;
    height:35svh!important;
    max-height:340px!important;
  }
  .v4-opening .v4-bloom-copy{
    top:49svh!important;
  }
  .v4-opening .v4-bloom-copy>p{
    margin:0 0 11px!important;
    line-height:1.35!important;
  }
  .v4-opening .v4-bloom-copy h2{
    margin:0 0 17px!important;
    line-height:.96!important;
  }
  .v4-opening .v4-bloom-copy .v4-rule{
    margin:0 0 16px!important;
  }
  .v4-opening .v4-bloom-copy>span{
    line-height:1.58!important;
    max-width:82vw!important;
  }
  .v4-opening .v4-actions{
    margin-top:23px!important;
    gap:10px!important;
  }
  .v4-opening .v4-actions a{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}
@media (max-width:430px){
  .v4-opening .hero-photo-reveal{
    top:8svh!important;
    height:33svh!important;
  }
  .v4-opening .v4-bloom-copy{
    top:46svh!important;
  }
  .v4-opening .v4-bloom-copy h2{
    line-height:.97!important;
    margin-bottom:16px!important;
  }
  .v4-opening .v4-bloom-copy>span{
    line-height:1.58!important;
  }
  .v4-opening .v4-actions{
    margin-top:22px!important;
  }
}

/* V47 — mobile hero vertical rhythm: even breathing room throughout */
@media (max-width:960px){
  .v4-opening .hero-photo-reveal{
    top:8.5svh!important;
    height:34svh!important;
  }
  .v4-opening .v4-bloom-copy{
    top:48.5svh!important;
  }
  .v4-opening .v4-bloom-copy>p{
    margin:0 0 14px!important;
    line-height:1.5!important;
  }
  .v4-opening .v4-bloom-copy h2{
    margin:0 0 20px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }
  .v4-opening .v4-bloom-copy .v4-rule{
    margin:0 0 19px!important;
  }
  .v4-opening .v4-bloom-copy>span{
    display:block!important;
    line-height:1.72!important;
    max-width:86vw!important;
  }
  .v4-opening .v4-actions{
    margin-top:27px!important;
    gap:12px!important;
  }
  .v4-opening .v4-actions a{
    min-height:46px!important;
    padding:12px 10px!important;
    line-height:1.2!important;
  }
}
@media (max-width:430px){
  .v4-opening .hero-photo-reveal{
    top:7.5svh!important;
    height:32svh!important;
  }
  .v4-opening .v4-bloom-copy{
    top:44.5svh!important;
  }
  .v4-opening .v4-bloom-copy>p{
    margin-bottom:13px!important;
  }
  .v4-opening .v4-bloom-copy h2{
    line-height:1.1!important;
    margin-bottom:19px!important;
  }
  .v4-opening .v4-bloom-copy .v4-rule{
    margin-bottom:18px!important;
  }
  .v4-opening .v4-bloom-copy>span{
    line-height:1.72!important;
  }
  .v4-opening .v4-actions{
    margin-top:26px!important;
    gap:11px!important;
  }
  .v4-opening .v4-actions a{
    min-height:45px!important;
  }
}

/* V48 — mobile post-intro safe spacing below the revealed navbar */
@media (max-width:960px){
  /* The intro still owns the full viewport while active. Once the normal hero
     is revealed, reserve the real mobile header height plus a clean visual gap. */
  .v4-opening .hero-photo-reveal{
    top:calc(76px + 22px)!important;
    height:33svh!important;
    max-height:330px!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(76px + 22px + 33svh + 34px)!important;
  }
}
@media (max-width:430px){
  .v4-opening .hero-photo-reveal{
    top:calc(72px + 20px)!important;
    height:31svh!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(72px + 20px + 31svh + 32px)!important;
  }
}

/* V49 — requested mobile-only final hero alignment + nav tour CTA */
@media (max-width:960px){
  /* Keep a compact tour action visible in the revealed mobile navbar. */
  .final-nav .navin{gap:10px!important}
  .final-nav .nav-cta{
    display:inline-flex!important;
    min-height:36px!important;
    padding:8px 12px!important;
    margin-left:auto!important;
    font-size:0!important;
    line-height:1!important;
  }
  .final-nav .nav-cta::after{
    content:'Tour';
    font-size:11px!important;
    font-weight:800!important;
  }
  .final-nav .mobile-toggle{margin-left:0!important}

  /* Do not show any site chrome during the sunflower intro. */
  .v4-home.intro-active .final-nav .nav-cta{opacity:0!important;visibility:hidden!important}

  /* The post-intro composition fills the visible phone area evenly. */
  .v4-opening .v4-pin{height:calc(100svh - 72px)!important;min-height:calc(100svh - 72px)!important}
  .v4-opening .hero-photo-reveal{
    top:clamp(28px,4.8svh,42px)!important;
    height:30svh!important;
    max-height:285px!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(clamp(28px,4.8svh,42px) + 30svh + 30px)!important;
    bottom:auto!important;
  }
  /* Explicit separation between “child” and the pink phrase. */
  .v4-opening .v4-bloom-copy h2 em{
    display:block!important;
    margin-top:9px!important;
  }
}
@media (max-width:430px){
  .final-nav .navin{gap:8px!important}
  .final-nav .nav-cta{min-height:34px!important;padding:7px 11px!important}
  .final-nav .nav-cta::after{font-size:10px!important}
  .v4-opening .hero-photo-reveal{
    top:clamp(26px,4.2svh,36px)!important;
    height:29svh!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(clamp(26px,4.2svh,36px) + 29svh + 28px)!important;
  }
  .v4-opening .v4-bloom-copy h2 em{margin-top:8px!important}
}

/* V50 — move ONLY the revealed mobile hero composition lower on the screen. */
@media (max-width:960px){
  .v4-opening .hero-photo-reveal{
    top:clamp(72px,9.5svh,92px)!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(clamp(72px,9.5svh,92px) + 30svh + 30px)!important;
  }
}
@media (max-width:430px){
  .v4-opening .hero-photo-reveal{
    top:clamp(64px,8.5svh,78px)!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(clamp(64px,8.5svh,78px) + 29svh + 28px)!important;
  }
}

/* V51 — mobile-only: lower the complete revealed hero while preserving its internal rhythm. */
@media (max-width:960px){
  .v4-opening .hero-photo-reveal{
    top:clamp(108px,13.5svh,126px)!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(clamp(108px,13.5svh,126px) + 30svh + 30px)!important;
  }
}
@media (max-width:430px){
  .v4-opening .hero-photo-reveal{
    top:clamp(100px,12.5svh,114px)!important;
  }
  .v4-opening .v4-bloom-copy{
    top:calc(clamp(100px,12.5svh,114px) + 29svh + 28px)!important;
  }
}

/* V54 — reliable mobile sunflower animation.
   Uses the original native page scroll as the animation driver. No fixed overlay JS,
   no wheel/touch interception, and the animation section itself cannot leave a yellow band. */
@media (max-width:960px){
  body.v4-home{background:var(--v4-cream)!important}
  body.v4-home .v4-opening{
    position:relative!important;
    height:220svh!important;
    min-height:220svh!important;
    background:var(--v4-cream)!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }
  body.v4-home .v4-opening .v4-pin{
    position:sticky!important;
    top:0!important;
    height:100svh!important;
    min-height:100svh!important;
    width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    background:linear-gradient(var(--v4-yellow) 0 73%,#9bbb75 73%)!important;
  }
  /* Navbar takes no visual space during the animated portion. */
  body.v4-home.intro-active .final-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.v4-home:not(.intro-active) .final-nav{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  /* Prevent old overlay builds/classes from changing flow if cached markup is reused. */
  body.v4-home.mobile-intro-overlay{overflow-x:hidden!important;overflow-y:auto!important}
  body.v4-home .v4-opening.mobile-intro-done{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}

/* V55 approved-center content + tasteful visual polish */
.now-enrolling-bar{background:#405943;color:#fff;padding:18px 0;position:relative;z-index:4}.now-enrolling-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.now-enrolling-inner>div:first-child{display:grid;gap:2px}.now-enrolling-inner span{font-size:11px;letter-spacing:.2em;font-weight:900;color:#f7d26a}.now-enrolling-inner strong{font-family:'Fraunces',Georgia,serif;font-size:25px}.now-enrolling-inner small{opacity:.9}.now-actions{display:flex;gap:8px;flex-wrap:wrap}.now-actions a{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:10px 14px;font-size:12px;font-weight:900}.now-actions a:first-child{background:#fff;color:#405943}
.approved-highlights{padding:92px 0;background:#fffdf8;overflow:hidden}.approved-highlights h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(42px,5vw,70px);line-height:.95;max-width:760px}.approved-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:36px}.approved-grid a{min-height:230px;padding:24px;border:1px solid rgba(31,36,31,.12);border-radius:28px;background:#f7f2e8;display:flex;flex-direction:column;transition:.35s cubic-bezier(.2,.8,.2,1)}.approved-grid a:hover{transform:translateY(-9px) rotate(-.4deg);box-shadow:0 18px 45px rgba(31,36,31,.10)}.approved-grid b{font-family:'Fraunces',serif;font-size:42px;color:#e95f4f}.approved-grid strong{font-size:17px;margin:16px 0 8px}.approved-grid span{font-size:13px;opacity:.78}
.zemira-tribute{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;margin-top:38px}.zemira-photo{margin:0;position:relative}.zemira-photo img{width:100%;max-height:650px;object-fit:cover;object-position:center;border-radius:38px;box-shadow:0 24px 70px rgba(60,50,45,.14)}.zemira-photo figcaption{text-align:center;font-family:'Fraunces',Georgia,serif;font-size:20px;margin-top:14px;color:#405943}.legacy-line{margin-top:24px;padding-top:18px;border-top:1px solid rgba(31,36,31,.15);font-family:'Fraunces',Georgia,serif;font-size:20px;color:#405943}.tribute-section:before,.tribute-section:after{content:'✿';position:absolute;font-size:54px;color:#e95f4f;opacity:.18;animation:tributeFloat 6s ease-in-out infinite}.tribute-section:before{left:4vw;top:16%}.tribute-section:after{right:5vw;bottom:14%;animation-delay:-3s}@keyframes tributeFloat{50%{transform:translateY(-12px) rotate(10deg)}}
.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-page-grid img{width:100%;height:330px;object-fit:cover;border-radius:28px;transition:.35s}.gallery-page-grid img:hover{transform:translateY(-6px) rotate(.5deg)}.big-support{font-size:120px;color:#405943;text-align:center}
.links{gap:10px!important;font-size:10px!important}.final-nav .wrap{width:min(1380px,96vw)}
@media(max-width:1100px){.links{display:none!important}.mobile-toggle{display:block!important}.approved-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.now-enrolling-inner{align-items:flex-start;flex-direction:column}.now-actions{width:100%}.now-actions a{flex:1;text-align:center}.approved-grid{grid-template-columns:1fr}.approved-grid a{min-height:0}.zemira-tribute{grid-template-columns:1fr;gap:24px}.zemira-photo img{max-height:none}.gallery-page-grid{grid-template-columns:1fr 1fr}.gallery-page-grid img{height:220px}.tribute-section:before,.tribute-section:after{display:none}}
@media(prefers-reduced-motion:reduce){.tribute-section:before,.tribute-section:after{animation:none}.approved-grid a,.gallery-page-grid img{transition:none}}
\n\n/* V56 — approved age range leaf inside the sunflower opening only. */
.v4-opening .intro-age-leaf{
  position:absolute;
  z-index:13;
  left:calc(50% + min(13vw,150px));
  top:43%;
  width:132px;
  height:76px;
  padding:15px 22px 13px 27px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fffdf7;
  background:#526f47;
  border-radius:78% 18% 78% 18% / 72% 22% 78% 28%;
  box-shadow:0 12px 26px rgba(46,61,45,.16);
  transform-origin:0 100%;
  transform:rotate(-9deg) scale(clamp(0,calc((var(--v4p) - .10) * 7),1));
  opacity:clamp(0,calc((var(--v4p) - .08) * 9),1);
  pointer-events:none;
}
.v4-opening .intro-age-leaf::after{
  content:"";
  position:absolute;
  left:-24px;
  bottom:3px;
  width:36px;
  height:3px;
  border-radius:999px;
  background:#526f47;
  transform:rotate(28deg);
  transform-origin:right center;
}
.v4-opening .intro-age-leaf span{font-size:8px;font-weight:900;letter-spacing:.2em;line-height:1;margin-bottom:4px}
.v4-opening .intro-age-leaf strong{font:700 28px/.9 Georgia,serif;letter-spacing:-.03em}
@media(max-width:960px){
  .v4-opening .intro-age-leaf{
    left:calc(50% + 16vw);
    top:40%;
    width:108px;
    height:64px;
    padding:12px 17px 11px 21px;
    transform:rotate(-8deg) scale(clamp(0,calc((var(--v4p) - .09) * 8),1));
  }
  .v4-opening .intro-age-leaf strong{font-size:24px}
}
@media(max-width:430px){
  .v4-opening .intro-age-leaf{left:calc(50% + 14vw);top:38%;width:96px;height:58px}
  .v4-opening .intro-age-leaf strong{font-size:22px}
}


/* V57 — visible growing age leaf + animated-luxury childcare polish. */
.v4-opening .intro-age-leaf{
  background:transparent!important; box-shadow:none!important; overflow:visible!important;
  width:170px!important;height:108px!important;padding:0!important;
  display:grid!important;place-items:center!important;
  transform-origin:8% 92%!important;
  transform:rotate(-10deg) scale(clamp(0,calc((var(--v4p) - .035) * 10),1))!important;
  opacity:clamp(0,calc((var(--v4p) - .025) * 13),1)!important;
}
.v4-opening .intro-age-leaf::after{width:58px!important;height:6px!important;left:-40px!important;bottom:12px!important;background:#49683f!important;z-index:0!important}
.v4-opening .age-leaf-shape{position:absolute;inset:0;display:block;background:linear-gradient(145deg,#6f915e 0%,#49683f 72%);border:2px solid rgba(255,255,255,.28);border-radius:92% 12% 92% 12% / 88% 14% 88% 14%;box-shadow:0 18px 38px rgba(46,61,45,.25),inset 0 1px 0 rgba(255,255,255,.3);z-index:0;transform-origin:5% 95%;transform:scaleX(clamp(.12,calc((var(--v4p) - .025) * 12),1));}
.v4-opening .age-leaf-vein{position:absolute;z-index:1;width:72%;height:2px;left:10%;top:58%;background:rgba(255,255,255,.42);transform:rotate(-27deg);transform-origin:left center}.v4-opening .age-leaf-vein:before,.v4-opening .age-leaf-vein:after{content:"";position:absolute;width:36%;height:1px;background:rgba(255,255,255,.28);left:34%;transform-origin:left}.v4-opening .age-leaf-vein:before{transform:rotate(35deg)}.v4-opening .age-leaf-vein:after{transform:rotate(-38deg)}
.v4-opening .intro-age-leaf span,.v4-opening .intro-age-leaf strong{position:relative;z-index:3;color:#fffdf7;text-shadow:0 1px 2px rgba(30,50,30,.18)}
.v4-opening .intro-age-leaf span{align-self:end;margin:0 0 4px;font-size:10px!important}.v4-opening .intro-age-leaf strong{align-self:start;font-size:36px!important}
@media(max-width:960px){.v4-opening .intro-age-leaf{left:calc(50% + 13vw)!important;top:36%!important;width:145px!important;height:92px!important}.v4-opening .intro-age-leaf strong{font-size:31px!important}}
@media(max-width:430px){.v4-opening .intro-age-leaf{left:calc(50% + 8vw)!important;top:34%!important;width:132px!important;height:84px!important}.v4-opening .intro-age-leaf strong{font-size:29px!important}.v4-opening .intro-age-leaf span{font-size:9px!important}}

/* restrained playful details between sections — decorative only, never over copy */
.luxury-play-layer{height:0;position:relative;z-index:8;pointer-events:none}.lux-float,.lux-star,.lux-flower{position:absolute;font-family:Georgia,serif;font-weight:800;opacity:.22}.lux-abc{left:4vw;top:54px;font-size:clamp(28px,4vw,58px);color:#73885f;animation:luxDrift 7s ease-in-out infinite}.lux-123{right:5vw;top:115px;font-size:clamp(25px,3.5vw,50px);color:#cf625d;animation:luxDrift 8s ease-in-out -3s infinite}.lux-star{color:#e5ae42;font-size:28px;animation:luxTwinkle 3.8s ease-in-out infinite}.ls1{left:10vw;top:155px}.ls2{right:15vw;top:40px;animation-delay:-1.8s}.lux-flower{right:2vw;top:220px;color:#e99ca0;font-size:42px;animation:luxTurn 10s linear infinite}
@keyframes luxDrift{50%{transform:translateY(-12px) rotate(3deg)}}@keyframes luxTwinkle{50%{opacity:.55;transform:scale(1.22) rotate(18deg)}}@keyframes luxTurn{to{transform:rotate(360deg)}}
/* section entrance polish */
.ref-card,.approved-grid a,.thrive-grid a,.curious-info{transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease,border-color .42s ease!important}.ref-card:hover,.thrive-grid a:hover,.curious-info:hover{transform:translateY(-7px)!important;box-shadow:0 18px 45px rgba(46,61,45,.10)}
.stage-symbol,.approved-grid b,.trust-icon{display:inline-block;animation:iconBreathe 5s ease-in-out infinite}.approved-grid a:nth-child(2n) b,.curious-info:nth-child(2n) .trust-icon{animation-delay:-2.5s}@keyframes iconBreathe{50%{transform:translateY(-4px) rotate(3deg)}}
@media(max-width:700px){.lux-abc{left:2vw;top:28px;font-size:28px}.lux-123{right:2vw;top:105px;font-size:26px}.ls1{display:none}.lux-flower{font-size:28px;top:190px}.ref-card:hover,.thrive-grid a:hover,.curious-info:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){.lux-float,.lux-star,.lux-flower,.stage-symbol,.approved-grid b,.trust-icon{animation:none!important}}

/* V58 — eight-page architecture + premium interactive childcare system */
@media (min-width:961px){body.v4-home .v4-pin{top:86px!important;height:calc(100vh - 86px)!important}.v4-opening .v4-daisy{top:43%!important}.v4-opening .intro-age-leaf{top:42%!important}.v4-open-copy{top:76%!important}}
/* tactile visual cards */
.service-card,.card,.schedule-grid>div,.step{position:relative;overflow:hidden;cursor:default;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease!important}
.service-card:after,.card:after,.step:after{content:'✦';position:absolute;right:18px;top:14px;font:700 22px Georgia;color:#e9a14b;opacity:.35;transition:.35s}.service-card:nth-child(2n):after,.card:nth-child(2n):after{content:'✿';color:#e95f79}.service-card:hover,.card:hover,.step:hover{transform:translateY(-8px) rotate(-.25deg);box-shadow:0 22px 50px rgba(46,61,45,.10)}.service-card:hover:after,.card:hover:after,.step:hover:after{transform:rotate(25deg) scale(1.25);opacity:.7}
/* Zemira: the emotional centerpiece */
.zemira-story{background:linear-gradient(180deg,#fff9f1,#f7eadf 48%,#e8f0df);position:relative}.zemira-story-shell{width:min(1280px,92vw);margin:auto;display:grid;grid-template-columns:48% 52%;gap:7vw}.zemira-sticky{height:400vh}.zemira-portrait{position:sticky;top:15vh;height:70vh;display:grid;place-items:center}.zemira-portrait img{position:relative;z-index:3;width:min(520px,90%);height:64vh;object-fit:cover;object-position:center 25%;border-radius:46% 46% 30px 30px;box-shadow:0 35px 90px rgba(70,55,45,.16);transition:transform .6s}.portrait-halo{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f5d56d 0 45%,transparent 46%);opacity:.28;animation:haloBreathe 6s ease-in-out infinite}.portrait-caption{position:absolute;z-index:5;left:7%;bottom:5%;background:#fffdf8e8;backdrop-filter:blur(12px);padding:18px 24px;border-radius:20px;box-shadow:0 12px 35px #3a45351a}.portrait-caption small{display:block;font-size:9px;letter-spacing:.2em;color:#cf625d;font-weight:900}.portrait-caption strong{display:block;font:700 25px Georgia;color:#355436;margin-top:5px}.petal{position:absolute;z-index:6;font-size:34px;color:#e87991;animation:petalFloat 6s ease-in-out infinite}.p1{left:2%;top:18%}.p2{right:3%;top:28%;color:#e7b648;animation-delay:-2s}.p3{right:8%;bottom:18%;color:#78966c;animation-delay:-4s}.zemira-chapters{padding:28vh 0 20vh}.legacy-chapter{min-height:82vh;display:flex;flex-direction:column;justify-content:center;max-width:560px;opacity:.38;transform:translateY(35px);transition:.6s}.legacy-chapter.is-active{opacity:1;transform:none}.legacy-chapter>span{font-size:10px;letter-spacing:.22em;font-weight:900;color:#cf625d}.legacy-chapter h2{font:700 clamp(48px,5.2vw,78px)/.92 Georgia;color:#355436;letter-spacing:-.045em;margin:18px 0}.legacy-chapter p{font-size:17px;line-height:1.75;color:#4d594d}.final-legacy{position:relative}.legacy-bloom{width:150px;height:150px;position:relative;margin-top:34px;transition:transform .6s}.legacy-bloom i{position:absolute;left:40%;top:4%;width:20%;height:50%;background:#f4a4b2;border-radius:60%;transform-origin:50% 94%}.legacy-bloom i:nth-child(1){transform:rotate(0)}.legacy-bloom i:nth-child(2){transform:rotate(72deg)}.legacy-bloom i:nth-child(3){transform:rotate(144deg)}.legacy-bloom i:nth-child(4){transform:rotate(216deg)}.legacy-bloom i:nth-child(5){transform:rotate(288deg)}.legacy-bloom b{position:absolute;inset:35%;background:#f3c95f;border-radius:50%}@keyframes haloBreathe{50%{transform:scale(1.07);opacity:.4}}@keyframes petalFloat{50%{transform:translateY(-18px) rotate(12deg)}}
.story-gallery{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:16px;margin-top:38px}.story-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:30px;height:420px}.story-gallery figure:nth-child(2){margin-top:60px}.story-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.story-gallery figure:hover img{transform:scale(1.06)}.story-gallery figcaption{position:absolute;left:18px;bottom:18px;background:#fffdf8d9;padding:9px 14px;border-radius:999px;font-weight:800;color:#355436}
/* Programs: interactive calendar */
.calendar-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.calendar-tabs{display:flex;gap:7px;background:#fff;border:1px solid #dbe2d5;padding:6px;border-radius:999px}.calendar-tabs button{border:0;background:transparent;padding:11px 16px;border-radius:999px;font-weight:800;color:#355436;cursor:pointer}.calendar-tabs button.active{background:#355436;color:#fff}.day-board{margin-top:35px;border:1px solid #d8dfd2;border-radius:30px;background:#fff;display:grid;grid-template-columns:90px 1fr;min-height:390px;overflow:hidden}.day-rail{padding:28px 14px;display:flex;flex-direction:column;justify-content:space-between;background:#eef4e8;font-size:10px;font-weight:900;letter-spacing:.12em;color:#64805c}.day-period{display:none;padding:28px;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}.day-period.active{display:grid}.day-event{border:1px solid #e3dfd6;background:#fffaf1;border-radius:24px;padding:28px;text-align:left;cursor:pointer;transition:.3s;position:relative}.day-event:before{content:'✿';display:block;font-size:30px;color:#e87991;margin-bottom:30px}.day-event:nth-child(2):before{content:'☀';color:#e3b54c}.day-event:nth-child(3):before{content:'ABC';font:800 20px Georgia;color:#78966c}.day-event b{display:block;font:700 24px Georgia;color:#355436}.day-event small{display:block;margin-top:10px;line-height:1.5;color:#596459}.day-event:hover,.day-event.open{transform:translateY(-7px);box-shadow:0 18px 38px #35543618}.day-event.open small{font-weight:700;color:#355436}.classroom-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}.classroom-card{min-height:330px;border:1px solid #dbe1d4;border-radius:28px;background:#fff;padding:26px;text-align:left;position:relative;cursor:pointer;transition:.35s;overflow:hidden}.classroom-card span{font-size:10px;letter-spacing:.2em;font-weight:900;color:#e95f79}.classroom-card strong{display:block;font:700 28px Georgia;color:#355436;margin:70px 0 10px}.classroom-card p{font-size:13px;line-height:1.6}.classroom-card i{position:absolute;right:20px;top:20px;font:700 34px Georgia;color:#e9a14b;opacity:.45}.classroom-card:hover,.classroom-card.active{transform:translateY(-9px);background:#edf4e7;box-shadow:0 20px 50px #35543615}.classroom-card.active i{opacity:1;transform:rotate(8deg)}
/* Every form has explanatory copy beside it */
.form-layout{align-items:start!important}.form-side-copy{position:sticky;top:120px;padding:30px 30px 30px 0}.form-side-copy h2{font:700 clamp(42px,5vw,68px)/.95 Georgia;color:#355436;margin:12px 0 20px}.form-side-copy>p{font-size:16px;line-height:1.7;max-width:500px}.form-side-points{display:grid;gap:10px;margin-top:28px}.form-side-points span{border-top:1px solid #d8dfd2;padding:12px 0;font-size:12px;font-weight:800;color:#526f47}.tour-form{display:grid!important;grid-template-columns:.85fr 1.15fr!important;gap:45px!important;align-items:start!important}.tour-form>form{margin:0!important}
@media(max-width:800px){.zemira-story-shell{grid-template-columns:1fr}.zemira-sticky{height:auto}.zemira-portrait{position:relative;top:auto;height:72vh;margin:80px 0 20px}.zemira-chapters{padding:0 0 80px}.legacy-chapter{min-height:auto;padding:70px 0;opacity:1;transform:none}.story-gallery{grid-template-columns:1fr}.story-gallery figure,.story-gallery figure:nth-child(2){height:300px;margin-top:0}.calendar-head{align-items:flex-start;flex-direction:column}.calendar-tabs{width:100%;overflow:auto}.day-board{grid-template-columns:55px 1fr}.day-period.active{grid-template-columns:1fr}.classroom-cards{grid-template-columns:1fr 1fr}.tour-form{grid-template-columns:1fr!important}.form-side-copy{position:relative;top:auto;padding:0 0 24px}.form-layout{grid-template-columns:1fr!important}}
@media(max-width:520px){.classroom-cards{grid-template-columns:1fr}.zemira-portrait img{height:60vh}.portrait-caption{left:3%;right:3%}}
/* V59 — distinct page identities + memorial garden story */
body:not(.v4-home) main{overflow:hidden}
.programs-page .final-pagehero{background:linear-gradient(135deg,#fff9ee 0 62%,#e9f2df 62%)}
.programs-page .page-symbol{background:#f6d76c;color:#355436;transform:rotate(-7deg);border-radius:28px}
.enrollment-page .final-pagehero{background:radial-gradient(circle at 82% 28%,#f8c7d3 0 10%,transparent 10.2%),linear-gradient(180deg,#fffaf4,#f8eee7)}
.enrollment-page .pagehero-grid:after{content:'✓';font:700 100px Georgia;color:#7d9b6c;opacity:.18;position:absolute;right:18%;bottom:8%}
.transport-page .final-pagehero{background:linear-gradient(180deg,#dfeef2 0 66%,#f7d66c 66%)}
.transport-page .page-symbol{border-radius:999px;background:#fff;color:#47706f;box-shadow:0 18px 50px #35543618}
.meals-page .final-pagehero{background:linear-gradient(120deg,#fff8ec 0 55%,#f6d9b5 55%)}
.meals-page .page-symbol{border-radius:50%;background:#e9f1df;color:#355436}
.parents-page .final-pagehero{background:linear-gradient(180deg,#f6e6ef,#fffaf4)}
.parents-page .page-symbol{background:#fff;border:2px dashed #e87991;color:#e87991;transform:rotate(6deg)}
.contact-page .final-pagehero{background:linear-gradient(135deg,#e8f1df,#fffaf4 62%)}
.contact-page .page-symbol{background:#f6d76c;border-radius:50% 50% 18px 18px;color:#355436}
.service-card{position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s}.service-card:hover{transform:translateY(-8px) rotate(-.5deg);box-shadow:0 22px 50px #35543618}.service-card:after{content:'✦';position:absolute;right:18px;top:15px;font-size:25px;color:#e9a8b7;opacity:.45;transition:.35s}.service-card:nth-child(2):after{content:'ABC';font:900 14px Arial;color:#7e9d70}.service-card:nth-child(3):after{content:'☀';color:#e6b63f}.service-card:nth-child(4):after{content:'123';font:900 14px Arial;color:#e87991}.service-card:hover:after{transform:rotate(14deg) scale(1.18);opacity:.8}
/* Zemira: clean photo, sunrise-to-garden scroll story */
.zemira-garden-story{min-height:360vh;background:linear-gradient(180deg,#fff8ee 0%,#fff2dc 22%,#f9e9e5 48%,#eaf2df 73%,#dcebcf 100%);position:relative;isolation:isolate;overflow:hidden}
.zemira-garden-story .zemira-story-shell{position:relative;z-index:3;min-height:360vh}
.zemira-garden-story .zemira-sticky{height:360vh}.clean-portrait{top:17vh;height:68vh}.clean-portrait img{height:64vh;width:min(520px,92%);border-radius:42px;object-position:center 20%;box-shadow:0 35px 90px rgba(70,55,45,.14)}
.clean-portrait .portrait-halo{width:88%;background:radial-gradient(circle,#f7d35f 0 42%,#f7d35f55 43% 55%,transparent 56%);transform:translateY(-12%)}
.zemira-garden-story .zemira-chapters{padding:28vh 0 22vh}.zemira-garden-story .legacy-chapter{min-height:105vh;max-width:590px}.zemira-garden-story .legacy-chapter h2{font-size:clamp(52px,5.5vw,86px)}
.zemira-sky{position:absolute;inset:0;z-index:1;pointer-events:none}.z-sun{position:sticky;display:block;top:14vh;margin-left:76vw;width:150px;aspect-ratio:1;border-radius:50%;background:#f5cb55;box-shadow:0 0 0 35px #f5cb5520,0 0 80px #f5cb5570;animation:sunBreathe 5s ease-in-out infinite}.z-cloud{position:absolute;width:150px;height:42px;border-radius:99px;background:#fffdf6aa;filter:blur(.2px)}.z-cloud:before,.z-cloud:after{content:'';position:absolute;background:inherit;border-radius:50%}.z-cloud:before{width:70px;height:70px;left:22px;top:-35px}.z-cloud:after{width:55px;height:55px;right:22px;top:-24px}.z-cloud.c1{top:12vh;left:8vw;animation:cloudDrift 16s ease-in-out infinite}.z-cloud.c2{top:38vh;right:4vw;transform:scale(.7);animation:cloudDrift 20s ease-in-out infinite reverse}.z-star{position:absolute;color:#e9b944;font-size:30px;animation:twinkle 2.8s ease-in-out infinite}.z-star.s1{top:25vh;right:28vw}.z-star.s2{top:54vh;left:46vw;animation-delay:-1.2s}.z-learning{position:absolute;font:900 24px/1 Arial;letter-spacing:.08em;color:#e87991;opacity:.28;animation:learningFloat 6s ease-in-out infinite}.z-learning.abc{top:70vh;right:8vw;transform:rotate(8deg)}.z-learning.nums{top:145vh;left:4vw;color:#729067;animation-delay:-3s}
.growing-stem{position:absolute;z-index:2;left:50%;bottom:0;width:8px;height:58%;border-radius:99px;background:linear-gradient(#88a36f,#527249);transform-origin:bottom;transform:scaleY(var(--stem,0));transition:transform .08s linear}.growing-stem .leaf{position:absolute;width:70px;height:34px;background:#88a36f;border-radius:100% 0 100% 0;opacity:.85}.growing-stem .l1{left:7px;bottom:18%;transform:rotate(-18deg)}.growing-stem .l2{right:7px;bottom:38%;transform:scaleX(-1) rotate(-18deg)}.growing-stem .l3{left:7px;bottom:58%;transform:rotate(-18deg)}.growing-stem .l4{right:7px;bottom:78%;transform:scaleX(-1) rotate(-18deg)}
.story-flower{width:170px;height:170px;position:relative;margin-top:38px;animation:flowerBreathe 4s ease-in-out infinite}.story-flower span{position:absolute;left:39%;top:2%;width:22%;height:52%;background:#ef91a8;border-radius:60%;transform-origin:50% 94%}.story-flower span:nth-child(1){transform:rotate(0)}.story-flower span:nth-child(2){transform:rotate(72deg)}.story-flower span:nth-child(3){transform:rotate(144deg)}.story-flower span:nth-child(4){transform:rotate(216deg)}.story-flower span:nth-child(5){transform:rotate(288deg)}.story-flower b{position:absolute;inset:35%;background:#f4ca55;border-radius:50%}
@keyframes sunBreathe{50%{transform:scale(1.07);box-shadow:0 0 0 48px #f5cb5518,0 0 100px #f5cb5580}}@keyframes cloudDrift{50%{transform:translateX(50px)}}@keyframes twinkle{50%{opacity:.25;transform:scale(.65) rotate(20deg)}}@keyframes learningFloat{50%{transform:translateY(-22px) rotate(-5deg)}}@keyframes flowerBreathe{50%{transform:scale(1.06) rotate(3deg)}}
@media(max-width:800px){.zemira-garden-story,.zemira-garden-story .zemira-story-shell{min-height:auto}.zemira-garden-story .zemira-sticky{height:auto}.clean-portrait{top:auto;height:68vh;margin:70px 0 0}.clean-portrait img{height:60vh}.zemira-garden-story .zemira-chapters{padding:30px 0 90px}.zemira-garden-story .legacy-chapter{min-height:auto;padding:70px 0}.growing-stem{left:20px;height:45%}.z-sun{position:absolute;top:4vh;right:4vw;margin:0;width:90px}.z-learning{font-size:18px}.z-cloud{transform:scale(.65)}.z-cloud.c2{display:none}}

/* V60 — scroll-controlled sticky memorial garden */
.zemira-garden-story{--zp:0;--zsun:0;--zcloud1:0;--zcloud2:0;--zstars:0;--zlearn:0;--zbloom:0;overflow:clip}
.zemira-garden-story .zemira-sky{position:sticky;top:78px;height:calc(100vh - 78px);inset:auto;z-index:1;margin-bottom:calc(-100vh + 78px);overflow:hidden;pointer-events:none}
.zemira-garden-story .z-sun{position:absolute;top:clamp(34px,8vh,90px);right:7vw;margin:0;width:clamp(110px,10vw,160px);transform:translateY(calc((1 - var(--zsun))*34vh)) scale(calc(.68 + var(--zsun)*.32));opacity:calc(.35 + var(--zsun)*.65);box-shadow:0 0 0 calc(var(--zsun)*38px) rgba(245,203,85,.12),0 0 calc(35px + var(--zsun)*75px) rgba(245,203,85,.42);animation:none!important;will-change:transform,opacity}
.zemira-garden-story .z-cloud{animation:none!important;will-change:transform,opacity}.zemira-garden-story .z-cloud.c1{top:16%;left:5%;transform:translateX(calc(var(--zcloud1)*32vw)) translateY(calc(var(--zcloud1)*5vh)) scale(calc(.78 + var(--zcloud1)*.18));opacity:calc(.9 - var(--zcloud1)*.38)}.zemira-garden-story .z-cloud.c2{top:36%;right:5%;transform:translateX(calc(var(--zcloud2)*-28vw)) translateY(calc(var(--zcloud2)*-4vh)) scale(calc(.62 + var(--zcloud2)*.14));opacity:calc(.8 - var(--zcloud2)*.25)}
.zemira-garden-story .z-star{animation:none!important;opacity:var(--zstars);transform:translateY(calc((1 - var(--zstars))*22px)) rotate(calc(var(--zp)*55deg)) scale(calc(.55 + var(--zstars)*.45))}.zemira-garden-story .z-learning{animation:none!important;opacity:calc(var(--zlearn)*.3);transform:translateY(calc((1 - var(--zlearn))*38px)) rotate(calc(-8deg + var(--zp)*16deg))}
.zemira-garden-story .zemira-story-shell{position:relative;z-index:3;grid-template-columns:minmax(390px,47%) minmax(0,53%);gap:6vw}.zemira-garden-story .zemira-sticky{height:360vh;position:relative}.zemira-garden-story .zemira-portrait{position:sticky;top:calc(78px + 8vh);height:76vh;align-self:start;overflow:visible}.zemira-garden-story .clean-portrait img{max-height:68vh;object-fit:cover;object-position:center 22%}.zemira-garden-story .portrait-halo,.zemira-garden-story .petal{display:none!important}
.zemira-garden-story .growing-stem{left:calc(47% + 2.7vw);width:7px;height:68%;z-index:2;pointer-events:none}.zemira-garden-story .growing-stem .leaf{transform-origin:0 50%;opacity:calc(.18 + var(--zp)*.72)}
.zemira-garden-story .story-flower{animation:none!important;transform:scale(calc(.15 + var(--zbloom)*.85)) rotate(calc((1 - var(--zbloom))*-18deg));opacity:var(--zbloom);transform-origin:center}
.zemira-garden-story .legacy-chapter{position:relative;z-index:4}
@media(max-width:800px){.zemira-garden-story .zemira-sky{top:68px;height:calc(100vh - 68px);margin-bottom:calc(-100vh + 68px)}.zemira-garden-story .zemira-story-shell{grid-template-columns:1fr;gap:0}.zemira-garden-story .zemira-sticky{height:145vh}.zemira-garden-story .zemira-portrait{position:sticky;top:calc(68px + 5vh);height:74vh;margin:0}.zemira-garden-story .clean-portrait img{height:66vh;max-height:66vh;width:min(92vw,520px)}.zemira-garden-story .zemira-chapters{position:relative;z-index:5;padding:20vh 0 12vh}.zemira-garden-story .legacy-chapter{min-height:92vh;padding:16vh 8vw 12vh;margin-left:34px;background:linear-gradient(90deg,rgba(255,249,241,.9),rgba(255,249,241,.72));border-radius:28px}.zemira-garden-story .growing-stem{left:20px;height:58%;z-index:4}.zemira-garden-story .z-sun{right:5vw;width:92px}.zemira-garden-story .z-cloud.c1{left:-12%;}.zemira-garden-story .z-cloud.c2{display:block;right:-15%}}

/* V61 — pinned, scroll-directed Zemira story: sunrise → learning → sunset → bloom */
.zemira-garden-story{height:460vh;min-height:460vh;background:rgb(var(--zbg,255 248 238));transition:background-color .08s linear;overflow:clip}
.zemira-garden-story .zemira-sky{position:sticky;top:78px;height:calc(100vh - 78px);margin-bottom:calc(-100vh + 78px);overflow:hidden;z-index:1;background:linear-gradient(180deg,rgba(var(--zsky,255 244 215),.72),rgba(255,255,255,0) 70%)}
.zemira-garden-story .zemira-story-shell{position:sticky;top:78px;height:calc(100vh - 78px);min-height:0!important;width:min(1280px,92vw);display:grid;grid-template-columns:minmax(390px,47%) minmax(0,53%);gap:6vw;z-index:3;overflow:hidden;align-items:center}
.zemira-garden-story .zemira-sticky{height:100%;position:relative;display:flex;align-items:center;justify-content:center;min-height:0}
.zemira-garden-story .zemira-portrait{position:relative;top:auto;height:78vh;width:100%;margin:0;display:grid;place-items:center;overflow:visible}
.zemira-garden-story .clean-portrait img{height:min(68vh,700px);width:min(520px,92%);object-fit:cover;object-position:center 22%;border-radius:42px;box-shadow:0 35px 90px rgba(70,55,45,.14)}
.zemira-garden-story .zemira-chapters{position:relative;height:100%;padding:0;overflow:hidden;min-width:0}
.zemira-garden-story .legacy-chapter{position:absolute;inset:0 0 auto 0;min-height:0;height:100%;max-width:590px;display:flex;flex-direction:column;justify-content:center;opacity:var(--co,0);transform:translateY(var(--cy,100vh));transition:none;will-change:transform,opacity;z-index:4;padding:7vh 0}
.zemira-garden-story .legacy-chapter.is-active{opacity:var(--co,0);transform:translateY(var(--cy,100vh))}
.zemira-garden-story .legacy-chapter h2{font-size:clamp(48px,5vw,82px);line-height:.94}
.zemira-garden-story .growing-stem{position:absolute;left:calc(47% + 2.7vw);top:13%;height:72%;width:7px;z-index:2;pointer-events:none}
.zemira-garden-story .z-sun{position:absolute;top:0;right:auto;left:0;margin:0;width:clamp(115px,10vw,165px);background:rgb(var(--zsuncolor,245 203 85));transform:translate(var(--sunx,76vw),var(--suny,62vh)) scale(var(--sunscale,.72));opacity:1;box-shadow:0 0 0 32px rgba(var(--zsuncolor,245 203 85),.12),0 0 90px rgba(var(--zsuncolor,245 203 85),.46);animation:none!important;will-change:transform,background-color}
.zemira-garden-story .z-cloud{animation:none!important;will-change:transform,opacity}.zemira-garden-story .z-cloud.c1{top:18%;left:2%;transform:translateX(var(--cloud1x,0vw)) scale(.82);opacity:var(--cloudop,.9)}.zemira-garden-story .z-cloud.c2{top:38%;right:2%;transform:translateX(var(--cloud2x,0vw)) scale(.68);opacity:var(--cloudop,.82)}
.zemira-garden-story .z-learning{animation:none!important;opacity:var(--learnop,0);filter:drop-shadow(0 5px 12px rgba(0,0,0,.05));will-change:transform,opacity}.zemira-garden-story .z-learning.abc{top:25%;right:8%;transform:translate(var(--abcx,0),var(--abcy,30px)) rotate(-8deg);font-size:clamp(22px,2.2vw,34px)}.zemira-garden-story .z-learning.nums{top:68%;left:4%;transform:translate(var(--numx,0),var(--numy,30px)) rotate(7deg);font-size:clamp(22px,2.2vw,34px)}
.zemira-garden-story .z-star{animation:none!important;opacity:var(--starop,0);transform:translateY(var(--stary,18px)) scale(var(--starscale,.7));font-size:clamp(24px,2vw,34px)}
.zemira-garden-story .story-flower{animation:none!important;transform:scale(var(--flowerScale,.12)) rotate(var(--flowerRot,-18deg));opacity:var(--flowerOp,0);transform-origin:center;will-change:transform,opacity}
.zemira-garden-story .portrait-caption{z-index:7}
@media(max-width:800px){
 .zemira-garden-story{height:430vh;min-height:430vh}
 .zemira-garden-story .zemira-sky{top:68px;height:calc(100vh - 68px);margin-bottom:calc(-100vh + 68px)}
 .zemira-garden-story .zemira-story-shell{top:68px;height:calc(100vh - 68px);grid-template-columns:1fr;grid-template-rows:43% 57%;gap:0;overflow:hidden}
 .zemira-garden-story .zemira-sticky{height:100%}.zemira-garden-story .zemira-portrait{height:100%;align-items:end}
 .zemira-garden-story .clean-portrait img{height:38vh;max-height:38vh;width:min(84vw,430px);border-radius:28px;object-position:center 18%}
 .zemira-garden-story .portrait-caption{left:8%;bottom:2%;padding:10px 14px}.zemira-garden-story .portrait-caption strong{font-size:18px}
 .zemira-garden-story .zemira-chapters{height:100%;overflow:hidden}
 .zemira-garden-story .legacy-chapter{height:100%;padding:5vh 7vw 4vh;max-width:none;background:linear-gradient(180deg,rgba(255,249,241,.82),rgba(255,249,241,.96));border-radius:24px 24px 0 0}
 .zemira-garden-story .legacy-chapter h2{font-size:clamp(36px,11vw,54px);margin:10px 0}.zemira-garden-story .legacy-chapter p{font-size:15px;line-height:1.55}
 .zemira-garden-story .growing-stem{left:18px;top:45%;height:48%;z-index:4}
 .zemira-garden-story .z-sun{width:82px}.zemira-garden-story .z-cloud{width:105px;height:30px}.zemira-garden-story .z-learning{font-size:17px!important}
}

/* V62 — painted sunset memorial canvas; pinned for the full story, with safe visual zones. */
.zemira-garden-story{--paint1:255 236 194;--paint2:246 184 154;--paint3:205 179 207;isolation:isolate}
.zemira-garden-story .zemira-sky{background:
 radial-gradient(ellipse at 72% 92%,rgba(255,205,123,.42),transparent 34%),
 linear-gradient(180deg,rgb(var(--paint3)) 0%,rgb(var(--paint2)) 48%,rgb(var(--paint1)) 100%);}
.zemira-garden-story .zemira-sky:before{content:"";position:absolute;inset:0;opacity:.24;mix-blend-mode:soft-light;pointer-events:none;background:repeating-linear-gradient(7deg,rgba(255,255,255,.15) 0 2px,transparent 2px 8px),repeating-linear-gradient(97deg,rgba(87,65,77,.06) 0 1px,transparent 1px 11px)}
.zemira-garden-story .zemira-sky:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-9%;height:32%;background:linear-gradient(180deg,#78966d,#55734e);border-radius:50% 50% 0 0/28% 28% 0 0;transform:translateY(calc(var(--zp)*4vh));box-shadow:inset 0 18px 40px rgba(255,255,255,.08)}
.zemira-garden-story .z-sun{border:2px solid rgba(255,247,210,.48);box-shadow:0 0 0 20px rgba(var(--zsuncolor),.12),0 0 75px rgba(var(--zsuncolor),.52),0 0 150px rgba(var(--zsuncolor),.18)!important}
.zemira-garden-story .z-cloud{filter:blur(.2px);box-shadow:0 12px 25px rgba(90,74,85,.08)}
.zemira-garden-story .z-learning{font-family:Georgia,serif;font-weight:900;letter-spacing:.08em;text-shadow:0 2px 0 rgba(255,255,255,.32)}
.zemira-garden-story .zemira-story-shell{position:sticky!important;top:78px!important;height:calc(100dvh - 78px)!important;align-items:stretch!important;overflow:hidden!important}
.zemira-garden-story .zemira-sticky{height:100%!important;align-items:center!important}
.zemira-garden-story .zemira-portrait{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4vh 0!important}
.zemira-garden-story .clean-portrait img{height:min(70vh,720px)!important;max-height:70vh!important;position:relative;z-index:3;border:8px solid rgba(255,250,242,.68);box-shadow:0 28px 75px rgba(73,54,55,.22)!important}
.zemira-garden-story .portrait-caption{bottom:8%!important;left:5%!important;max-width:78%;backdrop-filter:blur(10px);background:rgba(255,250,242,.88)!important}
.zemira-garden-story .zemira-chapters{height:100%!important;position:relative!important;overflow:hidden!important}
.zemira-garden-story .legacy-chapter{height:100%!important;padding:9vh 2vw 9vh 0!important;justify-content:center!important;pointer-events:none}
.zemira-garden-story .legacy-chapter h2{max-width:650px;text-wrap:balance}.zemira-garden-story .legacy-chapter p{max-width:650px}
/* painterly foreground flowers remain below the portrait/text safe zones */
.zemira-garden-story .growing-stem{z-index:2!important;filter:drop-shadow(0 4px 8px rgba(50,78,46,.12))}
.zemira-garden-story .story-flower{filter:drop-shadow(0 10px 14px rgba(82,53,69,.15))}
@media(max-width:800px){.zemira-garden-story .zemira-story-shell{top:68px!important;height:calc(100dvh - 68px)!important;grid-template-rows:45% 55%!important}.zemira-garden-story .zemira-portrait{padding:1vh 0!important}.zemira-garden-story .clean-portrait img{height:39vh!important;max-height:39vh!important;border-width:5px}.zemira-garden-story .portrait-caption{bottom:1%!important}.zemira-garden-story .legacy-chapter{padding:4vh 7vw!important}.zemira-garden-story .zemira-sky:after{height:22%}}

/* V63 — one true sticky canvas: the full day→night memorial scene pins as a unit */
.zemira-garden-story{height:520vh!important;min-height:520vh!important;overflow:visible!important;position:relative!important;background:#f7eadf!important}
.zemira-garden-story .zemira-pin{position:sticky!important;top:78px!important;height:calc(100dvh - 78px)!important;width:100%!important;overflow:hidden!important;isolation:isolate;background:linear-gradient(180deg,rgb(var(--paint3)) 0%,rgb(var(--paint2)) 50%,rgb(var(--paint1)) 100%)}
.zemira-garden-story .zemira-sky{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;z-index:1!important;background:radial-gradient(ellipse at 72% 92%,rgba(255,205,123,.42),transparent 34%),linear-gradient(180deg,rgb(var(--paint3)) 0%,rgb(var(--paint2)) 48%,rgb(var(--paint1)) 100%)!important}
.zemira-garden-story .zemira-story-shell{position:relative!important;top:0!important;height:100%!important;width:min(1280px,92vw)!important;margin:auto!important;z-index:3!important}
.zemira-garden-story .z-star.s3{left:46%;top:14%}.zemira-garden-story .z-star.s4{left:68%;top:24%;font-size:18px}.zemira-garden-story .z-star.s5{right:8%;top:10%;font-size:26px}
.zemira-garden-story .z-learning.book{left:52%;top:17%;transform:translateY(var(--abcy,30px)) rotate(5deg);opacity:calc(var(--learnop,0)*.72);font-size:clamp(14px,1.4vw,20px)!important}
.sunset-blooms{position:absolute;left:0;right:0;bottom:3%;height:24%;z-index:2;pointer-events:none}.sunset-blooms i{position:absolute;bottom:0;width:7px;height:var(--bh,0%);background:#3f6b43;border-radius:8px 8px 0 0;transform-origin:bottom;transform:scaleY(var(--gardenGrow,0));opacity:var(--gardenOp,0)}.sunset-blooms i:before{content:"";position:absolute;left:50%;top:-34px;width:44px;height:44px;transform:translateX(-50%) scale(var(--gardenBloom,.05));border-radius:50%;background:radial-gradient(circle,#f3c95f 0 24%,#ef7897 25% 43%,transparent 45%),radial-gradient(ellipse at 50% 5%,#f4a4b2 0 34%,transparent 36%);filter:drop-shadow(0 5px 8px rgba(70,45,55,.12))}.sunset-blooms i:nth-child(1){left:5%;--bh:42%}.sunset-blooms i:nth-child(2){left:18%;--bh:68%}.sunset-blooms i:nth-child(3){left:78%;--bh:55%}.sunset-blooms i:nth-child(4){left:89%;--bh:76%}.sunset-blooms i:nth-child(5){left:96%;--bh:38%}
.zemira-garden-story .z-sun{z-index:2!important}.zemira-garden-story .z-cloud,.zemira-garden-story .z-learning,.zemira-garden-story .z-star{z-index:2!important}
@media(max-width:800px){.zemira-garden-story{height:500vh!important;min-height:500vh!important}.zemira-garden-story .zemira-pin{top:68px!important;height:calc(100dvh - 68px)!important}.zemira-garden-story .zemira-story-shell{grid-template-rows:46% 54%!important}.sunset-blooms{height:18%}.zemira-garden-story .z-learning.book{display:none}}

/* V64 — VERIFIED Zemira pin fix. Sticky was being disabled by the non-home <main> overflow rule. */
body.about-page, body.about-page main{overflow-x:clip!important;overflow-y:visible!important}
body.about-page main{overflow:visible!important}
body.about-page .zemira-garden-story{position:relative!important;height:560vh!important;min-height:560vh!important;overflow:visible!important;contain:none!important;isolation:isolate}
body.about-page .zemira-garden-story .zemira-pin{position:-webkit-sticky!important;position:sticky!important;top:78px!important;height:calc(100vh - 78px)!important;height:calc(100dvh - 78px)!important;overflow:hidden!important;z-index:5!important}
body.about-page .zemira-garden-story .zemira-story-shell{position:relative!important;top:auto!important;height:100%!important;min-height:0!important;overflow:hidden!important}
body.about-page .zemira-garden-story .zemira-sky{position:absolute!important;inset:0!important;height:100%!important;margin:0!important;overflow:hidden!important}
body.about-page .zemira-garden-story .zemira-portrait{position:relative!important;top:auto!important;height:100%!important;margin:0!important}
body.about-page .zemira-garden-story .zemira-chapters{height:100%!important;position:relative!important;overflow:hidden!important}
@media(max-width:800px){
 body.about-page .zemira-garden-story{height:540vh!important;min-height:540vh!important}
 body.about-page .zemira-garden-story .zemira-pin{top:68px!important;height:calc(100dvh - 68px)!important}
}

/* V65 — richer pinned memorial garden */
body.about-page .zemira-garden-story .legacy-chapter h2{color:#fff7e8!important;text-shadow:0 3px 18px rgba(42,48,61,.38),0 1px 2px rgba(38,49,44,.45)!important}
body.about-page .zemira-garden-story .legacy-chapter p{color:#fffaf1!important;text-shadow:0 2px 10px rgba(39,47,56,.48)!important;font-weight:600}
body.about-page .zemira-garden-story .legacy-chapter>span{color:#ffd27a!important;text-shadow:0 2px 8px rgba(46,44,52,.35)}
body.about-page .zemira-garden-story .legacy-chapter:first-child{opacity:1}
.z-butter{position:absolute;z-index:2;font-size:clamp(22px,2vw,34px);opacity:var(--butterOp,0);filter:drop-shadow(0 5px 7px rgba(60,45,55,.14));will-change:transform,opacity}.z-butter.b1{left:8%;top:26%;transform:translate(calc(var(--zp)*18vw),calc(var(--zp)*-7vh)) rotate(-10deg)}.z-butter.b2{right:12%;top:44%;transform:translate(calc(var(--zp)*-15vw),calc(var(--zp)*8vh)) rotate(12deg)}.z-butter.b3{left:43%;top:14%;transform:translate(calc(var(--zp)*8vw),calc(var(--zp)*12vh)) rotate(6deg)}.z-butter.b4{right:30%;top:67%;transform:translate(calc(var(--zp)*-9vw),calc(var(--zp)*-11vh)) rotate(-8deg)}
.zemira-garden-story .z-star.s6{left:12%;top:12%}.zemira-garden-story .z-star.s7{left:30%;top:31%;font-size:18px}.zemira-garden-story .z-star.s8{right:18%;top:39%;font-size:22px}.zemira-garden-story .z-star.s9{right:39%;top:8%;font-size:17px}.zemira-garden-story .z-star.s10{left:58%;top:57%;font-size:25px}
.sunset-blooms i:nth-child(6){left:10%;--bh:58%}.sunset-blooms i:nth-child(7){left:27%;--bh:46%}.sunset-blooms i:nth-child(8){left:37%;--bh:72%}.sunset-blooms i:nth-child(9){left:64%;--bh:48%}.sunset-blooms i:nth-child(10){left:72%;--bh:70%}.sunset-blooms i:nth-child(11){left:84%;--bh:42%}.sunset-blooms i:nth-child(12){left:93%;--bh:61%}
.sunset-blooms i:nth-child(3n):before{background:radial-gradient(circle,#f3c95f 0 24%,#f6a6bb 25% 43%,transparent 45%),radial-gradient(ellipse at 50% 5%,#ffd3dc 0 34%,transparent 36%)}
.sunset-blooms i:nth-child(3n+1):before{background:radial-gradient(circle,#f3c95f 0 24%,#fff3cf 25% 43%,transparent 45%),radial-gradient(ellipse at 50% 5%,#fffaf0 0 34%,transparent 36%)}
@media(max-width:800px){.z-butter{font-size:20px}.zemira-garden-story .z-star.s7,.zemira-garden-story .z-star.s9{display:none}}


/* V66 — balanced, animated memorial garden polish */
body.about-page .zemira-garden-story{height:455vh!important;min-height:455vh!important}
/* Stars are spread across BOTH halves and twinkle independently. */
body.about-page .zemira-garden-story .z-star{opacity:calc(var(--starop,0) * var(--twinkle,1))!important;color:#fff4c8!important;text-shadow:0 0 8px rgba(255,246,199,.9),0 0 18px rgba(255,229,139,.55);animation:zTwinkle 1.9s ease-in-out infinite!important;transform-origin:center}
body.about-page .zemira-garden-story .z-star:nth-of-type(2n){animation-delay:-.65s!important}body.about-page .zemira-garden-story .z-star:nth-of-type(3n){animation-delay:-1.15s!important}
@keyframes zTwinkle{0%,100%{--twinkle:.42;scale:.72;filter:brightness(.9)}50%{--twinkle:1;scale:1.2;filter:brightness(1.25)}}
body.about-page .zemira-garden-story .z-star.s1{left:4%!important;right:auto!important;top:10%!important}.zemira-garden-story .z-star.s2{left:21%!important;top:34%!important}.zemira-garden-story .z-star.s3{left:42%!important;top:9%!important}.zemira-garden-story .z-star.s4{left:61%!important;top:23%!important}.zemira-garden-story .z-star.s5{right:5%!important;top:8%!important}.zemira-garden-story .z-star.s6{left:11%!important;top:58%!important}.zemira-garden-story .z-star.s7{left:31%!important;top:17%!important}.zemira-garden-story .z-star.s8{right:13%!important;top:48%!important}.zemira-garden-story .z-star.s9{right:37%!important;top:7%!important}.zemira-garden-story .z-star.s10{left:52%!important;top:67%!important}
/* Real CSS butterflies with flapping wings; positions deliberately span left/right and different heights. */
body.about-page .z-butter{width:34px;height:28px;font-size:0!important;opacity:var(--butterOp,0);position:absolute;z-index:4;filter:drop-shadow(0 5px 5px rgba(50,40,50,.16));transform-origin:center;will-change:transform,opacity}
body.about-page .z-butter i,body.about-page .z-butter b{position:absolute;top:2px;width:17px;height:23px;background:linear-gradient(145deg,#f48dad,#f8bfd0 60%,#f1c55e);border:2px solid rgba(86,74,69,.55);animation:wingFlap .48s ease-in-out infinite alternate}
body.about-page .z-butter i{right:50%;border-radius:80% 35% 70% 28%;transform-origin:right center}body.about-page .z-butter b{left:50%;border-radius:35% 80% 28% 70%;transform-origin:left center;animation-direction:alternate-reverse}
body.about-page .z-butter:after{content:"";position:absolute;left:50%;top:6px;width:3px;height:17px;border-radius:4px;background:#4f5947;transform:translateX(-50%)}
@keyframes wingFlap{from{transform:perspective(50px) rotateY(8deg) rotateZ(-4deg)}to{transform:perspective(50px) rotateY(68deg) rotateZ(7deg)}}
body.about-page .z-butter.b1{left:4%!important;top:20%!important;transform:translate(calc(var(--zp)*13vw),calc(var(--zp)*-4vh)) rotate(-12deg)}body.about-page .z-butter.b2{right:5%!important;top:31%!important;transform:translate(calc(var(--zp)*-13vw),calc(var(--zp)*7vh)) rotate(12deg)}body.about-page .z-butter.b3{left:29%!important;top:63%!important;transform:translate(calc(var(--zp)*9vw),calc(var(--zp)*-8vh)) rotate(8deg)}body.about-page .z-butter.b4{right:27%!important;top:13%!important;transform:translate(calc(var(--zp)*-8vw),calc(var(--zp)*10vh)) rotate(-8deg)}
/* Prettier garden flowers: stems + leaves + five distinct petals instead of circle blobs. */
body.about-page .sunset-blooms{left:0!important;right:0!important;bottom:0!important;height:27%!important;z-index:2!important}
body.about-page .sunset-blooms i{width:5px!important;background:linear-gradient(#5d8b58,#345f3e)!important;border-radius:6px 6px 0 0!important;transform:scaleY(var(--gardenGrow,0));transform-origin:bottom;opacity:var(--gardenOp,0)!important}
body.about-page .sunset-blooms i:after{content:"";position:absolute;width:20px;height:10px;left:2px;top:45%;background:#6f9a63;border-radius:100% 0 100% 0;transform:rotate(-28deg);box-shadow:-15px 17px 0 -1px #789f6c}
body.about-page .sunset-blooms i:before{content:"✿"!important;display:grid;place-items:center;left:50%!important;top:-35px!important;width:50px!important;height:50px!important;background:none!important;color:#f39ab0!important;font:700 54px/1 Georgia!important;transform:translateX(-50%) scale(var(--gardenBloom,.05)) rotate(calc(var(--flowerRot,0deg)))!important;filter:drop-shadow(0 5px 7px rgba(65,42,52,.16))!important;transform-origin:center!important}
body.about-page .sunset-blooms i:nth-child(3n):before{color:#fff2d2!important}body.about-page .sunset-blooms i:nth-child(3n+1):before{color:#f6b2c3!important}body.about-page .sunset-blooms i:nth-child(4n):before{color:#f5d86f!important}
body.about-page .sunset-blooms i:nth-child(1){left:3%!important;--bh:45%;--flowerRot:-8deg}body.about-page .sunset-blooms i:nth-child(2){left:12%!important;--bh:69%;--flowerRot:7deg}body.about-page .sunset-blooms i:nth-child(3){left:22%!important;--bh:52%;--flowerRot:-5deg}body.about-page .sunset-blooms i:nth-child(4){left:32%!important;--bh:78%;--flowerRot:8deg}body.about-page .sunset-blooms i:nth-child(5){left:41%!important;--bh:40%;--flowerRot:-7deg}body.about-page .sunset-blooms i:nth-child(6){left:49%!important;--bh:63%;--flowerRot:5deg}body.about-page .sunset-blooms i:nth-child(7){left:58%!important;--bh:45%;--flowerRot:-4deg}body.about-page .sunset-blooms i:nth-child(8){left:66%!important;--bh:74%;--flowerRot:7deg}body.about-page .sunset-blooms i:nth-child(9){left:74%!important;--bh:54%;--flowerRot:-8deg}body.about-page .sunset-blooms i:nth-child(10){left:82%!important;--bh:69%;--flowerRot:4deg}body.about-page .sunset-blooms i:nth-child(11){left:90%!important;--bh:46%;--flowerRot:-5deg}body.about-page .sunset-blooms i:nth-child(12){left:97%!important;--bh:62%;--flowerRot:7deg}
/* Final legacy bloom gets its own stem, with bloom centered exactly on top. */
body.about-page .final-legacy .story-flower{margin-top:38px!important;margin-left:72px!important;width:150px!important;height:220px!important;position:relative!important;overflow:visible!important}
body.about-page .final-legacy .story-flower:before{content:"";position:absolute;left:50%;bottom:0;width:7px;height:116px;background:linear-gradient(#60905c,#315d3a);border-radius:7px;transform:translateX(-50%) scaleY(var(--gardenGrow,0));transform-origin:bottom;z-index:0}
body.about-page .final-legacy .story-flower span{top:3px!important;z-index:2}body.about-page .final-legacy .story-flower b{top:52px!important;bottom:auto!important;left:52px!important;right:auto!important;width:46px!important;height:46px!important;z-index:3}
@media(max-width:800px){body.about-page .zemira-garden-story{height:440vh!important;min-height:440vh!important}body.about-page .z-butter{width:27px;height:23px}.zemira-garden-story .z-star.s7,.zemira-garden-story .z-star.s9{display:block!important}.sunset-blooms i:nth-child(odd){display:none}.sunset-blooms i:before{font-size:42px!important;width:40px!important;height:40px!important}}


/* V67 — simplify Zemira memorial: no central stem/hero bloom or classroom words. */
body.about-page .zemira-garden-story .growing-stem,
body.about-page .zemira-garden-story .story-flower,
body.about-page .zemira-garden-story .z-learning{display:none!important}
/* Grass/horizon must sit in front of the setting sun. */
body.about-page .zemira-garden-story .zemira-sky:after{z-index:6!important;pointer-events:none}
body.about-page .zemira-garden-story .z-sun{z-index:1!important;opacity:var(--sunop,1)!important}
/* Keep foreground garden above the horizon and sun. */
body.about-page .zemira-garden-story .sunset-blooms{z-index:7!important}
/* Shorter headings read faster during the pinned story. */
body.about-page .zemira-garden-story .legacy-chapter h2{max-width:520px!important}
\n\n/* V78 — homepage intro leaf refinement only: symmetrical, more visible, identifies daycare. */
.v4-opening .intro-age-leaf{
  width:184px!important;
  height:112px!important;
  left:calc(50% + min(12vw,142px))!important;
  transform:rotate(-7deg) scale(clamp(0,calc((var(--v4p) - .035) * 10),1))!important;
}
.v4-opening .age-leaf-shape{
  inset:2px 4px!important;
  background:linear-gradient(145deg,#769965 0%,#4d7044 72%)!important;
  border-radius:68% 32% 68% 32% / 52% 48% 52% 48%!important;
  clip-path:polygon(0 50%,10% 31%,26% 16%,47% 6%,68% 10%,86% 26%,100% 50%,86% 74%,68% 90%,47% 94%,26% 84%,10% 69%)!important;
  box-shadow:0 18px 40px rgba(46,61,45,.28),inset 0 1px 0 rgba(255,255,255,.34)!important;
}
.v4-opening .age-leaf-vein{width:78%!important;left:10%!important;top:50%!important;transform:rotate(0)!important;background:rgba(255,255,255,.40)!important}
.v4-opening .age-leaf-vein:before{left:22%!important;top:0!important;width:27%!important;transform:rotate(-28deg)!important}
.v4-opening .age-leaf-vein:after{left:49%!important;top:0!important;width:27%!important;transform:rotate(28deg)!important}
.v4-opening .intro-age-leaf span{font-size:9px!important;letter-spacing:.16em!important;margin-bottom:5px!important;white-space:nowrap!important}
.v4-opening .intro-age-leaf strong{font-size:36px!important}
@media(max-width:960px){.v4-opening .intro-age-leaf{width:158px!important;height:96px!important;left:calc(50% + 12vw)!important}.v4-opening .intro-age-leaf strong{font-size:31px!important}.v4-opening .intro-age-leaf span{font-size:8px!important}}
@media(max-width:430px){.v4-opening .intro-age-leaf{width:146px!important;height:90px!important;left:calc(50% + 7vw)!important;top:34%!important}.v4-opening .intro-age-leaf strong{font-size:29px!important}.v4-opening .intro-age-leaf span{font-size:7.5px!important}}


/* V79 — clearer daycare banner + separate botanical age leaf. */
.v4-opening .intro-daycare-banner{
  position:absolute;z-index:13;left:50%;top:29%;
  transform:translateX(-50%) translateY(calc((1 - clamp(0,calc((var(--v4p) - .018) * 14),1)) * 14px));
  opacity:clamp(0,calc((var(--v4p) - .018) * 14),1);
  padding:9px 17px 8px;border:1px solid rgba(65,91,58,.18);border-radius:999px;
  background:rgba(255,252,242,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:#45623f;box-shadow:0 8px 22px rgba(60,78,52,.10);
  font:800 10px/1.1 Arial,sans-serif;letter-spacing:.18em;white-space:nowrap;
}
.v4-opening .intro-age-leaf{
  width:174px!important;height:104px!important;
  left:calc(50% + min(12vw,142px))!important;
  transform:rotate(-5deg) scale(clamp(0,calc((var(--v4p) - .04) * 10),1))!important;
}
.v4-opening .age-leaf-shape{
  inset:2px!important;
  clip-path:none!important;
  border-radius:100% 0 100% 0 / 100% 0 100% 0!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  background:linear-gradient(135deg,#7da06b 0%,#557b4b 58%,#45683f 100%)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 18px 38px rgba(46,61,45,.24),inset 0 1px 0 rgba(255,255,255,.3)!important;
}
.v4-opening .age-leaf-vein{
  width:68%!important;height:2px!important;left:16%!important;top:50%!important;
  transform:rotate(-1deg)!important;background:rgba(248,250,239,.48)!important;
}
.v4-opening .age-leaf-vein:before,.v4-opening .age-leaf-vein:after{width:26%!important;background:rgba(248,250,239,.34)!important}
.v4-opening .age-leaf-vein:before{left:28%!important;transform:rotate(-34deg)!important}
.v4-opening .age-leaf-vein:after{left:54%!important;transform:rotate(34deg)!important}
.v4-opening .intro-age-leaf span{font-size:9px!important;letter-spacing:.22em!important;margin-bottom:4px!important}
.v4-opening .intro-age-leaf strong{font-size:37px!important}
@media(max-width:960px){
 .v4-opening .intro-daycare-banner{top:25%;font-size:9px;padding:8px 14px}
 .v4-opening .intro-age-leaf{width:152px!important;height:91px!important;left:calc(50% + 12vw)!important}
}
@media(max-width:430px){
 .v4-opening .intro-daycare-banner{top:24%;font-size:7.5px;letter-spacing:.13em;padding:7px 11px;max-width:82vw}
 .v4-opening .intro-age-leaf{width:140px!important;height:84px!important;left:calc(50% + 7vw)!important;top:34%!important}
 .v4-opening .intro-age-leaf strong{font-size:29px!important}
}

/* V80 — homepage intro refinement only: higher banner + rebuilt aligned botanical age leaf. */
.v4-opening .intro-daycare-banner{
  top:14%!important;
  padding:13px 24px 12px!important;
  font-size:12px!important;
  letter-spacing:.20em!important;
  background:rgba(255,252,242,.90)!important;
  border-color:rgba(65,91,58,.22)!important;
  box-shadow:0 12px 30px rgba(60,78,52,.12)!important;
}
.v4-opening .intro-age-leaf{
  width:184px!important;height:104px!important;
  left:calc(50% + 108px)!important;
  top:51%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  padding:0!important;
  transform:translateY(-50%) rotate(-2deg) scale(clamp(0,calc((var(--v4p) - .04) * 10),1))!important;
  transform-origin:left center!important;
}
.v4-opening .intro-age-leaf::after{
  content:""!important;display:block!important;position:absolute!important;
  width:70px!important;height:5px!important;left:-55px!important;top:50%!important;bottom:auto!important;
  border-radius:999px!important;background:#49683f!important;z-index:0!important;
  transform:translateY(-50%) rotate(-8deg)!important;transform-origin:right center!important;
}
.v4-opening .age-leaf-shape{
  inset:0!important;
  clip-path:polygon(0 50%,8% 32%,24% 15%,44% 5%,62% 7%,79% 18%,93% 35%,100% 50%,93% 65%,79% 82%,62% 93%,44% 95%,24% 85%,8% 68%)!important;
  border-radius:0!important;
  transform:none!important;
  background:linear-gradient(145deg,#7fa36d 0%,#5f8654 48%,#456b40 100%)!important;
  border:0!important;
  box-shadow:0 18px 38px rgba(46,61,45,.23),inset 0 1px 0 rgba(255,255,255,.25)!important;
}
.v4-opening .age-leaf-vein{
  width:78%!important;height:2px!important;left:8%!important;top:50%!important;
  transform:none!important;background:rgba(248,250,239,.48)!important;z-index:2!important;
}
.v4-opening .age-leaf-vein:before,.v4-opening .age-leaf-vein:after{
  content:""!important;position:absolute!important;width:22%!important;height:1px!important;left:34%!important;
  background:rgba(248,250,239,.32)!important;transform-origin:left center!important;
}
.v4-opening .age-leaf-vein:before{transform:rotate(-31deg)!important}
.v4-opening .age-leaf-vein:after{transform:rotate(31deg)!important}
.v4-opening .intro-age-leaf span,.v4-opening .intro-age-leaf strong{align-self:center!important;text-align:center!important;line-height:1!important}
.v4-opening .intro-age-leaf span{font-size:9px!important;letter-spacing:.22em!important;margin:0 0 5px!important}
.v4-opening .intro-age-leaf strong{font-size:38px!important;margin:0!important}
@media(max-width:960px){
  .v4-opening .intro-daycare-banner{top:13%!important;font-size:10px!important;padding:11px 19px 10px!important}
  .v4-opening .intro-age-leaf{width:158px!important;height:92px!important;left:calc(50% + 74px)!important;top:51%!important}
  .v4-opening .intro-age-leaf::after{width:52px!important;left:-40px!important}
  .v4-opening .intro-age-leaf strong{font-size:32px!important}
}
@media(max-width:430px){
  .v4-opening .intro-daycare-banner{top:12%!important;font-size:8px!important;letter-spacing:.14em!important;padding:9px 14px!important;max-width:88vw!important}
  .v4-opening .intro-age-leaf{width:142px!important;height:82px!important;left:calc(50% + 50px)!important;top:51%!important}
  .v4-opening .intro-age-leaf::after{width:42px!important;left:-31px!important;height:4px!important}
  .v4-opening .intro-age-leaf strong{font-size:29px!important}
  .v4-opening .intro-age-leaf span{font-size:8px!important}
}

/* V81 — intro-only correction: banner clear of bloom + clean aligned age leaf. */
.v4-opening .intro-daycare-banner{
  top:5%!important;
  padding:14px 28px 13px!important;
  font-size:13px!important;
  letter-spacing:.18em!important;
  max-width:min(620px,82vw)!important;
  z-index:18!important;
}
.v4-opening .intro-age-leaf{
  width:168px!important;
  height:112px!important;
  left:calc(50% + 92px)!important;
  top:57%!important;
  padding:0!important;
  z-index:12!important;
  transform:translateY(-50%) rotate(-8deg) scale(clamp(0,calc((var(--v4p) - .04) * 10),1))!important;
  transform-origin:left center!important;
}
.v4-opening .intro-age-leaf::after{
  width:76px!important;height:5px!important;
  left:-58px!important;top:50%!important;
  transform:translateY(-50%) rotate(-4deg)!important;
  background:#49683f!important;
}
.v4-opening .age-leaf-shape{
  inset:0!important;
  clip-path:none!important;
  border-radius:100% 0 100% 0 / 100% 0 100% 0!important;
  transform:rotate(45deg) scale(.72)!important;
  transform-origin:center!important;
  background:linear-gradient(145deg,#789b67 0%,#557b4c 58%,#3f633b 100%)!important;
  box-shadow:0 16px 34px rgba(46,61,45,.22),inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.v4-opening .age-leaf-vein{
  width:70%!important;height:2px!important;left:15%!important;top:50%!important;
  transform:rotate(0)!important;background:rgba(250,251,243,.42)!important;
}
.v4-opening .age-leaf-vein:before,.v4-opening .age-leaf-vein:after{display:none!important}
.v4-opening .intro-age-leaf span,.v4-opening .intro-age-leaf strong{
  position:relative!important;z-index:4!important;text-align:center!important;align-self:center!important;
  transform:rotate(8deg)!important;
}
.v4-opening .intro-age-leaf span{font-size:9px!important;letter-spacing:.20em!important;margin:0 0 5px!important}
.v4-opening .intro-age-leaf strong{font-size:36px!important;margin:0!important}
@media(max-width:960px){
  .v4-opening .intro-daycare-banner{top:4%!important;font-size:11px!important;padding:12px 20px 11px!important;max-width:84vw!important}
  .v4-opening .intro-age-leaf{width:150px!important;height:100px!important;left:calc(50% + 68px)!important;top:56%!important}
  .v4-opening .intro-age-leaf::after{width:58px!important;left:-44px!important}
  .v4-opening .intro-age-leaf strong{font-size:31px!important}
}
@media(max-width:430px){
  .v4-opening .intro-daycare-banner{top:3.5%!important;font-size:9px!important;letter-spacing:.13em!important;padding:10px 15px!important;max-width:90vw!important}
  .v4-opening .intro-age-leaf{width:132px!important;height:88px!important;left:calc(50% + 42px)!important;top:55%!important}
  .v4-opening .intro-age-leaf::after{width:45px!important;left:-34px!important;height:4px!important}
  .v4-opening .intro-age-leaf strong{font-size:28px!important}
  .v4-opening .intro-age-leaf span{font-size:8px!important}
}

/* V82 — intro-only leaf clearance fix. Banner intentionally unchanged. */
.v4-opening .intro-age-leaf{
  top:62%!important;
}
@media(max-width:960px){
  .v4-opening .intro-age-leaf{top:63%!important;}
}
@media(max-width:430px){
  .v4-opening .intro-age-leaf{top:62%!important;}
}


/* V83 — isolated age leaf placement. Uses a unique class so legacy leaf rules cannot pull it under the navbar. */
.v4-opening .intro-age-leaf-v83{
  position:absolute!important;
  z-index:17!important;
  left:calc(50% + 185px)!important;
  top:31%!important;
  width:178px!important;
  height:106px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fffdf7!important;
  background:transparent!important;
  pointer-events:none!important;
  opacity:clamp(0,calc((var(--v4p) - .025) * 13),1)!important;
  transform:translate(-50%,-50%) scale(clamp(0,calc((var(--v4p) - .04) * 10),1))!important;
  transform-origin:center!important;
}
.v4-opening .intro-age-leaf-v83::after{
  content:"";position:absolute;z-index:0;
  left:-54px;top:58%;width:72px;height:5px;border-radius:999px;
  background:#49683f;transform:rotate(-13deg);transform-origin:right center;
}
.v4-opening .intro-age-leaf-v83 .age-leaf-shape{
  position:absolute!important;inset:0!important;z-index:1!important;
  clip-path:polygon(0 50%,8% 32%,23% 17%,43% 7%,63% 9%,81% 21%,94% 37%,100% 50%,94% 63%,81% 79%,63% 91%,43% 93%,23% 83%,8% 68%)!important;
  border-radius:0!important;transform:none!important;
  background:linear-gradient(145deg,#789b67 0%,#557b4c 56%,#3f633b 100%)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 16px 34px rgba(46,61,45,.22),inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.v4-opening .intro-age-leaf-v83 .age-leaf-vein{
  position:absolute!important;z-index:2!important;left:11%!important;top:50%!important;
  width:77%!important;height:2px!important;background:rgba(250,251,243,.42)!important;
  transform:none!important;border-radius:999px!important;
}
.v4-opening .intro-age-leaf-v83 .age-leaf-vein:before,
.v4-opening .intro-age-leaf-v83 .age-leaf-vein:after{display:none!important}
.v4-opening .intro-age-leaf-v83 span,
.v4-opening .intro-age-leaf-v83 strong{position:relative!important;z-index:3!important;text-align:center!important;color:#fffdf7!important;text-shadow:0 1px 2px rgba(30,50,30,.18)!important}
.v4-opening .intro-age-leaf-v83 span{font:900 9px/1 Arial,sans-serif!important;letter-spacing:.20em!important;margin:0 0 5px!important}
.v4-opening .intro-age-leaf-v83 strong{font:700 36px/.9 Georgia,serif!important;letter-spacing:-.03em!important;margin:0!important}
@media(max-width:960px){
  .v4-opening .intro-age-leaf-v83{left:calc(50% + 135px)!important;top:32%!important;width:152px!important;height:92px!important}
  .v4-opening .intro-age-leaf-v83::after{left:-42px;width:56px;height:4px}
  .v4-opening .intro-age-leaf-v83 strong{font-size:31px!important}
}
@media(max-width:430px){
  .v4-opening .intro-age-leaf-v83{left:calc(50% + 88px)!important;top:34%!important;width:128px!important;height:78px!important}
  .v4-opening .intro-age-leaf-v83::after{left:-31px;width:42px;height:4px}
  .v4-opening .intro-age-leaf-v83 span{font-size:7.5px!important}
  .v4-opening .intro-age-leaf-v83 strong{font-size:27px!important}
}

/* V84 — user-supplied leaf PNG, intentionally placed in the hero corner. */
.v4-opening .intro-age-leaf-v83{display:none!important}
.v4-opening .intro-age-leaf-v84{
  position:absolute!important;
  z-index:18!important;
  left:2.25%!important;
  top:2.2%!important;
  width:190px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  margin:0!important;
  pointer-events:none!important;
  opacity:clamp(0,calc((var(--v4p) - .025) * 13),1)!important;
  transform:scale(clamp(0,calc((var(--v4p) - .04) * 10),1)) rotate(-3deg)!important;
  transform-origin:18% 18%!important;
}
.v4-opening .intro-age-leaf-v84 img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:drop-shadow(0 12px 20px rgba(49,92,43,.16))!important;
}
.v4-opening .intro-age-leaf-v84 .age-leaf-copy{
  position:absolute!important;
  z-index:2!important;
  left:46%!important;
  top:52%!important;
  transform:translate(-50%,-50%) rotate(-38deg)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  color:#fffdf7!important;
  text-shadow:0 1px 3px rgba(39,76,34,.3)!important;
}
.v4-opening .intro-age-leaf-v84 span{
  font:900 9px/1 Arial,sans-serif!important;
  letter-spacing:.20em!important;
  margin:0 0 5px!important;
}
.v4-opening .intro-age-leaf-v84 strong{
  font:700 35px/.9 Georgia,serif!important;
  letter-spacing:-.03em!important;
  margin:0!important;
}
@media(max-width:960px){
  .v4-opening .intro-age-leaf-v84{left:2%!important;top:2.5%!important;width:158px!important}
  .v4-opening .intro-age-leaf-v84 strong{font-size:29px!important}
  .v4-opening .intro-age-leaf-v84 span{font-size:8px!important}
}
@media(max-width:620px){
  .v4-opening .intro-age-leaf-v84{left:1.5%!important;top:7.5%!important;width:126px!important}
  .v4-opening .intro-age-leaf-v84 strong{font-size:24px!important}
  .v4-opening .intro-age-leaf-v84 span{font-size:7px!important;margin-bottom:3px!important}
}
@media(max-width:430px){
  .v4-opening .intro-age-leaf-v84{left:1%!important;top:8.5%!important;width:112px!important}
  .v4-opening .intro-age-leaf-v84 strong{font-size:22px!important}
}

/* V85 — tuck supplied age leaf into the upper-left corner and angle it away from the scene. */
.v4-opening .intro-age-leaf-v84{
  left:-1.35%!important;
  top:.65%!important;
  width:152px!important;
  transform:scale(clamp(0,calc((var(--v4p) - .04) * 10),1)) rotate(-18deg)!important;
  transform-origin:28% 24%!important;
}
.v4-opening .intro-age-leaf-v84 .age-leaf-copy{
  left:46%!important;
  top:52%!important;
  transform:translate(-50%,-50%) rotate(-38deg)!important;
}
@media(max-width:960px){
  .v4-opening .intro-age-leaf-v84{left:-1.5%!important;top:1%!important;width:136px!important}
}
@media(max-width:620px){
  .v4-opening .intro-age-leaf-v84{left:-2%!important;top:5.5%!important;width:116px!important}
}
@media(max-width:430px){
  .v4-opening .intro-age-leaf-v84{left:-2.5%!important;top:6.5%!important;width:104px!important}
}

/* V88: homepage tour is intentionally form-only; image/card removed to prevent any overlap */
.home-tour{display:block!important;padding-left:7vw!important;padding-right:7vw!important}
.home-tour>.tour-form{max-width:1120px!important;width:100%!important;margin:0 auto!important;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)!important}
.home-tour .tour-form>form{min-width:0!important;width:100%!important}
@media(max-width:800px){.home-tour>.tour-form{grid-template-columns:1fr!important}}

/* V90 — force opening hero copy to white for readability. */
body.v4-home .v4-opening .v4-open-copy,
body.v4-home .v4-opening .v4-open-copy p,
body.v4-home .v4-opening .v4-open-copy h1,
body.v4-home .v4-opening .v4-open-copy small{
  color:#fff!important;
}
body.v4-home .v4-opening .v4-open-copy h1{
  text-shadow:0 3px 18px rgba(35,63,31,.24)!important;
}

/* V102 — mobile-only scroll-scrubbed individual card slide-ins. Desktop layout/transforms remain untouched. */
.v101-card-group > .v101-card{transform-origin:50% 50%;will-change:transform,opacity}
@media(max-width:760px){.v101-card-group > .v101-card{opacity:var(--v101-o,1)!important;transform:translate3d(var(--v101-x,0px),var(--v101-y,0px),0) rotate(var(--v101-r,0deg)) scale(var(--v101-s,1))!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){.v101-card-group > .v101-card{opacity:1!important;transform:none!important;transition:none!important}}

/* V105 — MOBILE HOMEPAGE ONLY: restore spacing, clean hero buttons, raise sticky CTA. */
@media (max-width:760px){
  html,body,body.v4-home{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  body.v4-home main,body.v4-home .v4-opening,body.v4-home .v4-pin{width:100%!important;max-width:100%!important;overflow-x:clip!important}

  /* Keep the approved mobile hero composition; only normalize spacing around copy/actions. */
  body.v4-home .v4-opening .v4-bloom-copy{padding-left:0!important;padding-right:0!important}
  body.v4-home .v4-opening .v4-bloom-copy>span{margin-left:0!important;margin-right:0!important}
  body.v4-home .v4-opening .v4-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    max-width:330px!important;
    margin:16px 0 0!important;
  }
  body.v4-home .v4-opening .v4-actions a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:11px 16px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Raise the persistent tour CTA so it is not sitting on the browser/phone edge. */
  body.v4-home .mobile-sticky-cta{
    left:16px!important;
    right:16px!important;
    bottom:28px!important;
    width:auto!important;
    height:50px!important;
    border-radius:999px!important;
  }
}
@media (max-width:430px){
  body.v4-home .v4-opening .v4-actions{max-width:100%!important}
  body.v4-home .mobile-sticky-cta{left:14px!important;right:14px!important;bottom:26px!important}
}

/* V106 — MOBILE HOME ONLY: compact, vertically centered Now Enrolling CTA pills. */
@media (max-width:700px){
  body.v4-home .now-enrolling-inner{gap:16px!important;}
  body.v4-home .now-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;align-items:center!important;margin:0!important;padding:0!important;}
  body.v4-home .now-actions a{width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;max-height:46px!important;padding:0 6px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;font-size:10.5px!important;line-height:1!important;border-radius:999px!important;box-sizing:border-box!important;}
}

/* V107 — MOBILE HOME ONLY: raise the Now Enrolling banner. Nothing else changed. */
@media (max-width:700px){
  body.v4-home .now-enrolling-bar{
    margin-top:-110px!important;
    position:relative!important;
    z-index:5!important;
  }
}

/* V109 — MOBILE HOME ONLY: Learning for Every Stage cards never fade. Keep scroll transform only. */
@media (max-width:760px){
  body.v4-home .ref-card-grid.v101-card-group > .ref-card.v101-card{
    opacity:1!important;
  }
}


/* V111 — final homepage polish requested 2026-09-28. */
/* Keep the sunflower center clean: no heart or other glyph. */
body.v4-home .v4-opening .v4-daisy>b{font-size:0!important;color:transparent!important}
body.v4-home .v4-opening .v4-daisy>b::before,body.v4-home .v4-opening .v4-daisy>b::after{content:none!important}

/* Matching decorative voucher leaf on the upper-right of the sunflower intro. */
body.v4-home .v4-opening .intro-voucher-leaf-v111{
  position:absolute;z-index:12;right:-1.35%;top:.65%;width:152px;aspect-ratio:1;pointer-events:none;
  transform:scale(clamp(0,calc((var(--v4p) - .04) * 10),1)) rotate(18deg);transform-origin:72% 24%;
}
body.v4-home .v4-opening .intro-voucher-leaf-v111 img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}
body.v4-home .v4-opening .intro-voucher-leaf-v111 .voucher-leaf-copy{position:absolute;left:54%;top:52%;transform:translate(-50%,-50%) rotate(38deg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-shadow:0 1px 3px rgba(35,63,31,.2)}
body.v4-home .v4-opening .intro-voucher-leaf-v111 span{font-size:8px;font-weight:800;letter-spacing:.12em;line-height:1;margin-bottom:4px}
body.v4-home .v4-opening .intro-voucher-leaf-v111 strong{font:800 17px/1 Arial,sans-serif;letter-spacing:-.02em}

/* Give every bottom meadow flower a clearly defined center plus eight visible petals. */
body.v4-home .v4-opening .v4-meadow i:after{
  top:-18px!important;left:-15px!important;width:44px!important;height:44px!important;border-radius:50%!important;
  background:radial-gradient(circle at center,#e8a541 0 18%,transparent 19%),
             radial-gradient(ellipse at 50% 5%,#fffaf0 0 18%,transparent 20%),
             radial-gradient(ellipse at 82% 18%,#fffaf0 0 17%,transparent 19%),
             radial-gradient(ellipse at 95% 50%,#fffaf0 0 18%,transparent 20%),
             radial-gradient(ellipse at 82% 82%,#fffaf0 0 17%,transparent 19%),
             radial-gradient(ellipse at 50% 95%,#fffaf0 0 18%,transparent 20%),
             radial-gradient(ellipse at 18% 82%,#fffaf0 0 17%,transparent 19%),
             radial-gradient(ellipse at 5% 50%,#fffaf0 0 18%,transparent 20%),
             radial-gradient(ellipse at 18% 18%,#fffaf0 0 17%,transparent 19%)!important;
  filter:drop-shadow(0 2px 2px rgba(70,85,55,.12));
}

/* Second information group in the Thrive section. */
body.v4-home .thrive-support-title{width:min(1260px,90%);margin:70px auto 24px;font:700 clamp(34px,4.2vw,58px)/.95 Georgia,serif;letter-spacing:-.035em;color:#315c2b;text-align:left}
body.v4-home .thrive-support-grid{margin-top:0!important}

@media(max-width:960px){body.v4-home .v4-opening .intro-voucher-leaf-v111{right:-1.5%;top:1%;width:136px}}
@media(max-width:760px){
  body.v4-home .mobile-hide-arrow{display:none!important}
  body.v4-home .thrive-support-title{width:90%;margin-top:48px;margin-bottom:18px;font-size:34px}
}
@media(max-width:620px){body.v4-home .v4-opening .intro-voucher-leaf-v111{right:-2%;top:5.5%;width:116px}body.v4-home .v4-opening .intro-voucher-leaf-v111 strong{font-size:14px}body.v4-home .v4-opening .intro-voucher-leaf-v111 span{font-size:6px}}
@media(max-width:430px){body.v4-home .v4-opening .intro-voucher-leaf-v111{right:-2.5%;top:6.5%;width:104px}body.v4-home .v4-opening .intro-voucher-leaf-v111 strong{font-size:13px}}

/* V112 — mobile intro corner leaves + memorial-style meadow flowers. */
@media(max-width:620px){
  body.v4-home .v4-opening .intro-age-leaf-v84{left:-7%!important;top:-.75%!important;width:116px!important}
  body.v4-home .v4-opening .intro-voucher-leaf-v111{right:-7%!important;top:-.75%!important;width:116px!important}
}
@media(max-width:430px){
  body.v4-home .v4-opening .intro-age-leaf-v84{left:-8%!important;top:-1.25%!important;width:108px!important}
  body.v4-home .v4-opening .intro-voucher-leaf-v111{right:-8%!important;top:-1.25%!important;width:108px!important}
}

/* Match the prettier flower language used in the About Us memorial garden. */
body.v4-home .v4-opening .v4-meadow i:after{
  content:"✿"!important;
  display:grid!important;
  place-items:center!important;
  left:50%!important;
  top:-31px!important;
  width:44px!important;
  height:44px!important;
  border-radius:0!important;
  background:none!important;
  color:#f39ab0!important;
  font:700 47px/1 Georgia,serif!important;
  transform:translateX(-50%) rotate(-4deg)!important;
  filter:drop-shadow(0 4px 5px rgba(65,42,52,.14))!important;
  box-shadow:none!important;
}
body.v4-home .v4-opening .v4-meadow i:nth-child(3n):after{color:#fff2d2!important}
body.v4-home .v4-opening .v4-meadow i:nth-child(3n+1):after{color:#f6b2c3!important}
body.v4-home .v4-opening .v4-meadow i:nth-child(4n):after{color:#f5d86f!important}

/* V113 — mobile intro decorations exit cleanly before the next hero state. */
@media(max-width:760px){
  body.v4-home .v4-opening .intro-age-leaf-v84,
  body.v4-home .v4-opening .intro-voucher-leaf-v111,
  body.v4-home .v4-opening .v4-meadow i{
    opacity:var(--opening-decor-opacity,1)!important;
    visibility:visible;
  }
  body.v4-home .v4-opening .v4-meadow i{
    transition:opacity .12s linear!important;
  }
}

/* V114 — MOBILE HOME ONLY: Now Enrolling is its own normal-flow section.
   Do not pull it upward over the post-intro hero. */
@media (max-width:700px){
  body.v4-home .now-enrolling-bar{
    margin-top:0!important;
    position:relative!important;
    z-index:1!important;
    transform:none!important;
  }
}


/* V137 — Footer Instagram link */
.footer-instagram{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:7px;
  color:inherit;
  text-decoration:none;
  font-weight:700;
}
.footer-instagram svg{
  flex:0 0 auto;
}
.footer-instagram:hover{
  color:#e34c7b;
}
