*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}body,button,a{font-family:var(--body,"Outfit"),sans-serif}body{color:var(--ink);background:var(--paper)}button{font-size:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--focus,#72538c);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display,var(--body)),sans-serif;overflow-wrap:anywhere;font-weight:500;line-height:1.05}p{line-height:1.6}main,section,header,div,figure,button{min-width:0}picture,img{display:block}img{object-fit:cover;width:100%;height:100%}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.arrow{flex-shrink:0;width:1.4rem;height:1.4rem}.site{min-height:100vh}.wrap{max-width:1440px;margin:auto;padding:0 5%}header{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.6rem 0;display:flex}header nav{flex-wrap:wrap;align-items:center;gap:1.5rem;font-size:.8rem;display:flex}header nav>a{padding:.6rem 0}.brand{letter-spacing:-.04em;font-size:1.05rem;font-weight:600}.skip{z-index:100;color:#243934;background:#fff;padding:1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip:focus{transform:translateY(0)}.tilt{transform-style:preserve-3d}.project-status{font-size:.75rem}footer{flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem 0;font-size:.75rem;display:flex}main:focus{outline:none}dialog{color:#3d3541;background:#fff9f5;border:0;border-radius:1.5rem;width:calc(100% - 2rem);max-width:30rem;padding:0;box-shadow:0 30px 120px #39294c33}dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#54456170}.dialog-content{padding:2.5rem}.dialog-content h2{letter-spacing:-.06em;margin:1rem 0;font-size:2.7rem}.dialog-content p{margin:.8rem 0;font-size:.95rem}.dialog-sprout{color:#956484;font-size:3rem;display:block}.dialog-content form button{color:#fff;background:#4d4561;border-radius:2rem;margin-top:1rem;padding:.85rem 1.3rem}@media (width<=650px){header{flex-wrap:wrap;gap:.8rem}header nav{gap:.8rem}.wrap{padding:0 6%}.dialog-content{padding:1.5rem}.brand{font-size:.9rem}}.site{--paper:#e9f1e7;--ink:#38574c;--body:"Outfit";--display:"Outfit";background-image:radial-gradient(#54745b18 .7px,#0000 .7px);background-size:9px 9px}.intro{text-align:center;padding:2.5rem 0 0}.intro>p:first-child{font-size:.85rem}.intro h1{letter-spacing:-.055em;margin:1rem 0;font-size:clamp(3.3rem,6.4vw,6.2rem);line-height:1.02}.intro>p:last-child{font-size:.95rem}.garden{max-width:1100px;min-height:36rem;margin:auto;scroll-margin-top:2rem;position:relative}.garden-lines{stroke:#89a485;stroke-width:2px;width:100%;height:100%;position:absolute;inset:0}.side-stem{stroke-width:14px;stroke:#a6be9c}.garden-centre{text-align:center;width:15rem;position:absolute;top:6rem;left:50%;translate:-50%}.seed-portrait{background:#d0dfc6;border-radius:48% 48% 45% 45%;padding:.7rem;overflow:hidden;rotate:-4deg;box-shadow:inset 0 0 0 1px #a6bda2,8px 14px #c0d1b466}.seed-portrait picture{aspect-ratio:3/4;border-radius:45%;overflow:hidden}.portrait-label{background:#fafbf3;border-radius:2rem;margin-top:-.5rem;padding:.55rem 1rem;font-size:.8rem;display:inline-block;position:relative;rotate:3deg}.garden-leaf{background:var(--tile);text-align:left;border-radius:4rem .6rem;align-items:center;width:19rem;min-height:9rem;display:flex;position:absolute;box-shadow:6px 8px #38574c0d}.leaf-0{--tile:#f1dfa0;top:2.5rem;left:0;rotate:-6deg}.leaf-1{--tile:#cdd5eb;border-radius:.6rem 4rem;top:3rem;right:0;rotate:5deg}.leaf-2{--tile:#e9c7c2;bottom:3.7rem;right:0;rotate:-4deg}.leaf-copy{flex:1;display:block}.leaf-copy>span:first-child{margin-bottom:.3rem;font-size:.65rem;display:block}.leaf-copy h2{letter-spacing:-.035em;margin-bottom:.5rem;font-size:1.8rem}.garden-leaf>.arrow{width:1rem}.garden-pebble{background:#e8cea5;border-radius:50%;width:2.3rem;height:2.8rem;position:absolute;top:5%;left:33%;rotate:40deg;box-shadow:inset -5px -5px 6px #a9916020}.grow-button{color:#f5f7ec;background:#38574c;border-radius:2rem;align-items:center;gap:1rem;padding:.8rem 1.4rem;font-size:.8rem;display:flex;position:absolute;bottom:-.5rem;left:50%;translate:-50%}.closing-note{border-top:1px solid #38574c30;justify-content:space-between;align-items:center;gap:2rem;margin:4rem 0 0;padding:2.5rem 0;display:flex}.closing-note>span{font-size:4rem}.closing-note>p{letter-spacing:-.04em;margin-right:auto;font-size:2.2rem;line-height:1.15}.closing-note>div{font-size:.85rem;line-height:1.7}.site footer{border-top:1px solid #38574c30}@media (width<=1000px){.garden-leaf{gap:.7rem;width:16rem;padding:1.3rem}.garden-centre{width:13rem}.leaf-copy h2{font-size:1.6rem}}@media (width<=750px){.garden{flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 0 0;display:flex}.garden-lines,.garden-pebble{display:none}.garden-centre{width:15rem;margin-bottom:1.5rem;position:relative;top:auto;left:auto;translate:none}.garden-leaf{gap:1rem;width:min(100%,25rem);min-height:8rem;padding:1.5rem 2rem;position:relative;inset:auto;rotate:0deg}.leaf-copy h2{font-size:1.9rem}.grow-button{margin-top:1rem;position:relative;bottom:auto;left:auto;translate:none}.intro{padding-top:2rem}.intro h1{font-size:clamp(3rem,12vw,4rem)}.intro>p:last-child br{display:none}.closing-note{flex-wrap:wrap;gap:1rem}.closing-note>p{font-size:1.8rem}.closing-note>div{width:100%}}.site{background-color:var(--paper);color:var(--ink);font-family:var(--body),sans-serif}p,figcaption,small,.project-status{overflow-wrap:anywhere}.garden-centre{max-width:76%}.garden-leaf{flex-wrap:wrap;max-width:100%}.leaf-copy{flex-basis:6rem;min-width:0}.garden-leaf .arrow{margin-left:auto}.garden-expanded{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem;padding-top:2rem;display:grid}.garden-expanded .garden-centre{grid-column:1/-1;margin:0 auto 2rem;position:relative;top:auto;left:auto;translate:none}.garden-expanded .garden-leaf{width:100%;position:relative;inset:auto;rotate:0deg}.garden-expanded .garden-lines,.garden-expanded .garden-pebble{display:none}.garden-expanded .grow-button{grid-column:1/-1;justify-self:center;position:relative;bottom:auto;left:auto;translate:none}@media (width<=750px){.garden-leaf{padding:1.4rem}}.site .wrap{container-type:inline-size}@container (width<=60em){.garden{flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 0 0;display:flex}.garden-lines,.garden-pebble{display:none}.garden-centre{width:15rem;margin-bottom:1.5rem;position:relative;top:auto;left:auto;translate:none}.garden-leaf{gap:1rem;width:min(100%,25rem);min-height:8rem;padding:1.5rem;position:relative;inset:auto;rotate:0deg}.grow-button{margin-top:1rem;position:relative;bottom:auto;left:auto;translate:none}}@media (width<=750px){.intro h1{font-size:clamp(2rem,12vw,4rem)}}.miniature{pointer-events:none;flex:0 0 5rem;width:5rem;height:5.5rem;display:block;position:relative}.miniature canvas{width:100%;height:100%;position:absolute;inset:0}.miniature-fallback{color:#617b69;place-items:center;height:100%;font-size:3.5rem;display:grid}.miniature.ready .miniature-fallback{visibility:hidden}.garden-leaf{transform-origin:80% 80%;background-image:linear-gradient(140deg,#ffffff32,#0000 60%);border:1px solid #ffffff30;gap:.7rem;padding:1.1rem 1.3rem}.garden-leaf:hover,.garden-leaf:focus-visible{transform:perspective(850px)translateY(-7px)rotateX(5deg)rotateY(-5deg);box-shadow:5px 18px 25px #38574c16,inset 1px 1px #fff5}.garden-leaf.leaf-revealed{animation:.75s cubic-bezier(.22,1,.36,1) both unfold-leaf}.garden-leaf.leaf-1{animation-delay:.1s}.garden-leaf.leaf-2{animation-delay:.2s}@keyframes unfold-leaf{0%{opacity:0;filter:blur(2px);scale:.85}to{opacity:1;filter:blur();scale:1}}.growing-patch{pointer-events:none;position:absolute}.seed-burst{color:#6f886b;position:absolute;top:38%;left:50%}.seed-burst span{font-size:1.1rem;position:absolute}.grow-controls{text-align:center;max-width:100%;position:absolute;bottom:-1.6rem;left:50%;translate:-50%}.grow-controls .grow-button{white-space:normal;justify-content:center;min-height:44px;margin:auto;position:relative;bottom:auto;left:auto;translate:none}.grow-controls p{margin-top:.5rem;font-size:.7rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.garden-expanded .growing-patch{grid-column:1/-1;justify-self:center;position:relative;bottom:auto;left:auto}.garden-expanded .grow-controls{grid-column:1/-1;justify-self:center;position:relative;bottom:auto;left:auto;translate:none}@container (width<=60em){.growing-patch{aspect-ratio:320/220;order:4;width:min(19rem,90%);height:auto;margin-top:-1rem;position:relative;bottom:auto;left:auto}.grow-controls{order:5;position:relative;bottom:auto;left:auto;translate:none}.garden-leaf{gap:.8rem;padding:1rem 1.3rem}.miniature{flex-basis:5rem;width:5rem;max-width:30%;height:5.5rem}}@media (hover:none){.garden-leaf:hover{transform:none;box-shadow:6px 8px #38574c0d}}@container (width<=20em){.garden-leaf{grid-template-columns:1fr auto;gap:.6rem;padding:1.25rem;display:grid}.garden-leaf .miniature{grid-column:1/-1;width:4rem;max-width:none;height:4rem}.leaf-copy h2{font-size:1.5rem}.garden-leaf .leaf-copy{grid-column:1/-1}.garden-leaf .arrow{grid-area:1/2}.garden-leaf .miniature{grid-area:1/1}}.garden{--growth:0}.garden:has(.growing-patch[data-growth="1"]){--growth:1}.garden:has(.growing-patch[data-growth="2"]){--growth:2}.garden:has(.growing-patch[data-growth="3"]){--growth:3}.garden-leaf{--rest-angle:0deg;--open-angle:-1.5deg;translate:0 calc(var(--growth) * -4px);rotate:calc(var(--rest-angle) + var(--growth) * var(--open-angle));transition:translate .65s cubic-bezier(.22,1,.36,1),rotate .65s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s}.leaf-0{--rest-angle:-6deg}.leaf-1{--rest-angle:5deg;--open-angle:1.5deg}.leaf-2{--rest-angle:-4deg}.garden-expanded .garden-leaf{--rest-angle:0deg}@container (width<=60em){.garden-leaf{--rest-angle:0deg;--open-angle:0deg}}.garden-connections{pointer-events:none;stroke:#c1a25e;stroke-width:3px;fill:none;width:100%;height:100%;position:absolute;inset:0}.garden-connections path{stroke-dasharray:.16 1;stroke-dashoffset:1.15px;opacity:0}.garden-expanded .garden-connections{display:none}@container (width<=60em){.garden-connections{display:none}}.garden-connections{z-index:0}.garden-centre,.garden-leaf{z-index:1}.sprout-mark{width:1.75rem;height:1.75rem;font-size:inherit;vertical-align:-.45rem;margin-right:.35rem;display:inline-block}.note-sprout{flex-shrink:0;width:4rem;height:4rem;display:block}.dialog-sprout{width:3rem;height:3rem}.sprout-mark img,.note-sprout img,.dialog-sprout img{object-fit:contain}.growing-patch{width:21rem;height:17rem;bottom:0;left:-1rem}.bonsai-scene{pointer-events:auto;cursor:pointer;background:0 0;border-radius:2rem;width:100%;height:100%;padding:0;display:block;position:relative}.bonsai-scene canvas,.bonsai-fallback{width:100%;height:100%;position:absolute;inset:0}.bonsai-scene.ready .bonsai-fallback{visibility:hidden}.bonsai-scene canvas{pointer-events:none}@container (width<=60em){.growing-patch{aspect-ratio:21/17;width:min(22rem,100%);height:auto;margin-top:-.5rem;bottom:auto;left:auto}}.bonsai-scene:not(.ready) canvas{visibility:hidden}.garden-wind{z-index:2;pointer-events:none;fill:none;stroke:#7b9a81;stroke-width:2.5px;stroke-linecap:round;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.garden-wind path{opacity:0;stroke-dasharray:.17 1.1;stroke-dashoffset:.22px}.garden-wind path:nth-child(2n){stroke:#a4b88a;stroke-width:3px}.bird-container{pointer-events:none;position:absolute;inset:0}.bird-visit{opacity:0;width:3.2rem;height:2.5rem;animation:9s ease-in-out .9s both bird-flight;position:absolute;top:6%;left:50%}.bird-visit svg{stroke:none;width:100%;height:100%;overflow:visible}.bird-wing{transform-origin:34px 30px;animation:9s linear .9s both bird-wingbeat}.bird-head{transform-origin:43px 27px;animation:9s ease-in-out .9s both bird-look}@keyframes bird-flight{0%{opacity:0;transform:translate(-95px,-55px)rotate(-14deg)}12%{opacity:1;transform:translate(-58px,-24px)rotate(4deg)}28%{transform:translate(-6px,-9px)rotate(-6deg)}36%,72%{opacity:1;transform:translate(0)rotate(0)}82%{opacity:1;transform:translate(35px,-20px)rotate(-12deg)}to{opacity:0;transform:translate(90px,-65px)rotate(-8deg)}}@keyframes bird-wingbeat{0%,8%,16%,24%,80%,88%,96%{transform:rotate(-65deg)scaleY(.65)}4%,12%,20%,28%,76%,84%,92%,to{transform:rotate(15deg)scaleY(1)}34%,72%{transform:rotate(0)scaleY(1)}}@keyframes bird-look{0%,40%,57%,72%,to{transform:rotate(0)}47%,51%{transform:rotate(14deg)}63%,67%{transform:rotate(-9deg)}}.garden[data-paused=true] .bird-visit,.garden[data-paused=true] .bird-wing,.garden[data-paused=true] .bird-head{animation-play-state:paused}
