body.opening-active{overflow-x:hidden;background:#fceadd}body.opening-active>.top{display:none}body.opening-active:before{opacity:.09}#gate{display:none!important}.opening-scene{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 30% 5%,#fff8e7,transparent 55%),radial-gradient(ellipse at 70% 90%,#ffd7d8,transparent 60%),#fbe9da;display:grid;place-items:center;color:#6d3c4e;transition:background .7s}.opening-bokeh{position:absolute;inset:-30px;pointer-events:none;z-index:-1;filter:blur(22px);opacity:.6;background:radial-gradient(circle at 10% 85%,#ee9fbb88 0 5%,transparent 14%),radial-gradient(circle at 75% 25%,#fffcd6 0 7%,transparent 19%),radial-gradient(circle at 90% 80%,#ffd68a66 0 3%,transparent 12%),radial-gradient(circle at 30% 20%,#fff 0 3%,transparent 10%)}.opening-brand{position:absolute;left:6%;top:30px;font:italic 26px 'Bodoni Moda',Georgia,serif;z-index:5}.opening-music{position:absolute;right:6%;top:30px;z-index:5;background:#fff9f566;border:1px solid #b7758c55;border-radius:30px;color:#825165;padding:9px 14px;font-size:10px}.opening-overline{font:italic 21px 'Bodoni Moda',Georgia,serif;letter-spacing:.3px}.opening-seed{text-align:center;width:100%;position:relative;padding:80px 20px 100px;animation:arrive 1.4s both}.seed-heart{display:block;position:relative;width:170px;height:170px;margin:40px auto 60px;border:0;background:none;padding:0;filter:drop-shadow(0 12px 14px #b84b7d44);animation:seed-beat 2.3s ease-in-out infinite;isolation:isolate}.seed-heart:before{content:'';position:absolute;inset:-50px;border-radius:50%;background:radial-gradient(circle,#e95d9a44,transparent 65%);z-index:-1}.seed-heart svg{width:100%;height:100%;display:block}.seed-heart:hover{filter:drop-shadow(0 10px 24px #d4458a77)}.seed-pointer{position:absolute;left:calc(50% - 165px);top:57%;font-size:38px;transform:rotate(-18deg);color:#8f626d}.seed-pointer span{position:absolute;font:italic 18px 'Bodoni Moda',Georgia,serif;white-space:nowrap;right:-5px;top:45px;transform:rotate(12deg)}.opening-for{font-size:8px;letter-spacing:3px;color:#a87581}.opening-footer{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2.5px;color:#a77d83;z-index:3;pointer-events:none}.opening-banner{position:absolute;inset:0;z-index:4;background:radial-gradient(ellipse at 25% 0,#ff6798,#d90758 60%,#a10044);color:#fff3e9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:banner-reveal .8s cubic-bezier(.2,.8,.2,1) both}.opening-banner p{font:italic 20px 'Bodoni Moda',Georgia,serif;margin:0 0 24px;color:#ffe4e7}.opening-banner h1{font-size:clamp(76px,13vw,170px);font-weight:600;line-height:.85;letter-spacing:-3px;margin:0;text-shadow:0 8px 35px #65033030;animation:banner-type 1.2s .2s both}.banner-name{font:italic clamp(28px,4vw,45px) 'Bodoni Moda',Georgia,serif;letter-spacing:3px;margin-top:30px;animation:arrive 1s .7s both}.opening-banner svg{width:240px;height:25px;margin-top:12px}.opening-tree-scene{width:min(1200px,100%);padding:85px 6% 70px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:20px;min-height:100svh;animation:arrive 1s both}.opening-poem{position:relative;z-index:2;text-align:left;padding-top:20px}.opening-poem .opening-overline{font-size:12px;letter-spacing:2px;font-family:'DM Sans',sans-serif;font-style:normal;text-transform:uppercase;color:#a16b7a}.opening-poem h2{font-size:clamp(50px,6.5vw,88px);line-height:1.02;margin:25px 0 22px;letter-spacing:-2px}.opening-poem h2 em{font-size:1.4em;color:#a34572;font-weight:400}.opening-message{font:italic 22px/1.7 'Bodoni Moda',Georgia,serif;color:#956c72;max-width:360px}.opening-tree-art{position:relative;align-self:center}.opening-tree-art>svg{width:100%;display:block;max-height:78svh;overflow:visible}.opening-branches path{stroke-dasharray:650;stroke-dashoffset:650;animation:opening-grow 2.5s var(--branch-time) cubic-bezier(.3,.6,.3,1) forwards}.opening-leaf{opacity:0;transform-box:view-box;transform-origin:0px 0px;animation:opening-bloom .8s var(--leaf-time) cubic-bezier(.1,.7,.2,1.3) forwards}.opening-actions{opacity:0;animation:arrive 1s 4.6s forwards;margin-top:25px;display:flex;align-items:flex-start;flex-direction:column;gap:14px}.opening-actions .primary{background:#aa4d76;width:auto;max-width:100%;padding:16px 27px;border-radius:30px}.opening-actions .primary:hover{background:#913a61}.opening-replay{border:0;background:none;padding:8px 0;font-size:10px;color:#a57583;letter-spacing:.5px}.opening-skip{position:absolute;bottom:50px;right:6%;background:none;border:0;color:#915c70;padding:10px;font-size:10px;z-index:8}.opening-scene[data-scene=banner] .opening-brand,.opening-scene[data-scene=banner] .opening-footer,.opening-scene[data-scene=banner] .opening-skip{color:#ffe1e9}.opening-scene[data-scene=banner] .opening-music{color:white;border-color:#ffffff55;background:#ffffff11}.opening-fall{position:absolute;top:35%;left:var(--fall-left);color:var(--fall-color);font:20px Georgia;opacity:0;animation:opening-fall 7s var(--fall-delay) linear infinite;pointer-events:none}.sr-only{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.opening-seed.seed-leaving{animation:seed-leaving .65s ease forwards}@keyframes seed-beat{50%{transform:scale(1.09) rotate(-3deg)}}@keyframes seed-leaving{to{opacity:0;transform:translateY(35px) scale(.8)}}@keyframes banner-reveal{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}}@keyframes banner-type{from{opacity:0;transform:translateY(25px) scale(.9);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes opening-grow{to{stroke-dashoffset:0}}@keyframes opening-bloom{from{opacity:0;transform:scale(.1)}to{opacity:.95;transform:scale(1)}}@keyframes opening-fall{15%{opacity:.8}90%{opacity:.4}to{transform:translate(-45px,280px) rotate(120deg);opacity:0}}@media(max-width:700px){.opening-brand,.opening-music{top:22px}.opening-tree-scene{display:flex;flex-direction:column-reverse;justify-content:center;gap:0;padding:60px 25px 85px}.opening-tree-art{width:min(74vw,320px);margin-top:-10px}.opening-tree-art>svg{max-height:42svh}.opening-poem{text-align:center;padding:0}.opening-poem .opening-overline{font-size:8px;margin:0}.opening-poem h2{font-size:38px;margin:12px 0 8px;line-height:1}.opening-poem h2 br{display:none}.opening-poem h2 em{font-size:1.15em}.opening-message{font-size:18px;line-height:1.4;margin:15px auto;max-width:330px}.opening-actions{align-items:center;gap:7px;margin-top:16px}.opening-actions .primary{font-size:12px;padding:13px 25px}.opening-footer{font-size:7px;bottom:17px}.opening-skip{bottom:37px;right:4%;font-size:9px}.seed-heart{width:145px;height:145px;margin-top:40px}.seed-pointer{left:calc(50% - 140px);top:55%}.opening-banner h1{font-size:clamp(75px,20vw,125px)}.opening-banner p{font-size:18px}}@media(max-height:680px) and (max-width:700px){.opening-tree-art>svg{max-height:35svh}.opening-tree-scene{padding-top:40px}.opening-message{font-size:16px}.opening-poem h2{font-size:31px}}@media(prefers-reduced-motion:reduce){.opening-branches path{stroke-dashoffset:0}.opening-leaf{opacity:.95}.opening-actions{opacity:1}.seed-heart,.opening-fall{animation:none}}

/* Keep the tree geometry independent of font metrics and Safari text origins. */
.opening-tree-art{flex-shrink:0;min-width:0}.opening-tree-art>svg{height:auto;aspect-ratio:13 / 15}
