.scene-eleven { background:radial-gradient(ellipse at 50% 48%,#fffdf5 0%,#f8f2e5 63%,#e7e7d8 100%); }
.text-area-eleven { top:23%;width:min(930px,76vw); }
.text-area-eleven .phrase { font-size:clamp(37px,3.75vw,57px); }
.future-art { position:absolute;left:50%;top:38%;width:min(1200px,110vw);height:43%;transform:translateX(-50%);pointer-events:none; }
.future-line { position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:1;transition:opacity .55s ease; }
.future-segment { stroke:#9ea789;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.15s var(--ease); }
.scene-eleven.is-revealed .segment-one,.scene-eleven.has-second .segment-two,.scene-eleven.has-third .segment-three,.scene-eleven.has-fifth .segment-four,.scene-eleven.has-sixth .segment-five { stroke-dashoffset:0; }
.future-point { position:absolute;display:block;width:15px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff9e8 0 23%,#eacb83 48%,#e6c7866b 68%,transparent 75%);box-shadow:0 0 19px 7px #efd79d88;opacity:0;transform:translate(-50%,-50%) scale(.45);transition:opacity .8s ease,transform .9s var(--ease); }
.point-one { left:9%;top:65%;width:17px; }.point-two { left:23%;top:53%;width:12px; }.point-three { left:42%;top:65%;width:19px; }.point-four { left:59%;top:40%;width:13px; }.point-five { left:77%;top:53%;width:18px; }
.scene-eleven.is-revealed .point-one,.scene-eleven.has-second .point-two,.scene-eleven.has-third .point-three,.scene-eleven.has-fifth .point-four,.scene-eleven.has-fifth .point-five { opacity:1;transform:translate(-50%,-50%) scale(1); }
.future-sprig { position:absolute;bottom:-28%;width:clamp(135px,19vw,250px);height:88%;opacity:0;transition:opacity 1s ease,transform 1.2s var(--ease); }
.future-sprig-left { left:1%;transform:translate(-18px,20px) rotate(-11deg); }.future-sprig-right { right:0;transform:translate(18px,18px) rotate(9deg); }
.scene-eleven.has-third .future-sprig-left,.scene-eleven.has-fifth .future-sprig-right { opacity:.7;transform:none; }
.scene-eleven.is-leaving .future-line,.scene-eleven.is-leaving .future-point,.scene-eleven.is-leaving .future-sprig,.scene-eleven.is-leaving .text-area { opacity:0;transition:opacity .55s ease; }
body[data-stage="eleven"] .bee { left:11%;top:63%;transform:translate(-50%,-50%) scale(.48) rotate(-5deg); }
body[data-stage="eleven"] .scene-eleven.has-fourth ~ .bee { left:55%;top:67%;transform:translate(-50%,-50%) scale(.48) rotate(3deg); }
body[data-stage="eleven"] .scene-eleven.has-fifth ~ .bee { left:68%;top:60%;transform:translate(-50%,-50%) scale(.48) rotate(-2deg); }
body[data-stage="eleven"] .scene-eleven.has-sixth ~ .bee { left:78%;top:57%;transform:translate(-50%,-50%) scale(.48) rotate(-4deg); }

.scene-twelve { background:radial-gradient(ellipse at 50% 43%,#fffdf5 0%,#fff6e5 59%,#f0e5cf 100%); }
.final-halo { position:absolute;left:15%;top:30%;width:75%;height:67%;border-radius:50%;background:radial-gradient(ellipse,#ffe3a37d 0%,#f6d79a48 44%,transparent 72%);filter:blur(21px);pointer-events:none;opacity:.55;transition:opacity 1.2s ease,background 1.2s ease; }
.scene-twelve.has-seventh .final-halo { opacity:.79;background:radial-gradient(ellipse,#ffdc929c 0%,#f4ce854d 46%,transparent 73%); }
.scene-twelve.is-preparing-finale .final-halo { left:40%;top:38%;width:57%;height:51%;opacity:.92;background:radial-gradient(ellipse,#ffd986a8 0%,#f4cc7861 38%,transparent 73%); }
.identity-halo { position:absolute;z-index:3;left:60%;top:61%;width:195px;height:170px;border-radius:50%;transform:translate(-50%,-50%) scale(.7);background:radial-gradient(ellipse,#ffdfa9a1 0%,#ffdda85b 38%,transparent 72%);opacity:0;pointer-events:none;transition:opacity .7s ease,transform 1s var(--ease); }
.scene-twelve.is-identity .identity-halo { opacity:1;transform:translate(-50%,-50%) scale(1); }
.final-wave { position:absolute;z-index:2;left:75%;top:65%;width:min(33vw,400px);aspect-ratio:1;border:2px solid #e6bc7191;border-radius:50%;box-shadow:0 0 30px #f4d38a8a,inset 0 0 32px #f4d38a66;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.38); }
.scene-twelve.is-unveiling .final-wave { animation:final-wave-out 1.35s ease-out both; }
@keyframes final-wave-out { 0% { opacity:0;transform:translate(-50%,-50%) scale(.38); } 18% { opacity:.72; } 100% { opacity:0;transform:translate(-50%,-50%) scale(1.85); } }
.final-petals i { position:absolute;z-index:4;top:32%;width:15px;height:24px;border-radius:90% 6% 90% 8%;background:linear-gradient(145deg,#edae8b,#d98772);box-shadow:0 2px 8px #ba795d30;opacity:0;pointer-events:none; }
.final-petals i:nth-child(1) { left:16%;transform:rotate(-26deg); }
.final-petals i:nth-child(2) { left:25%;top:42%;width:11px;height:18px;transform:rotate(31deg); }
.final-petals i:nth-child(3) { right:19%;top:30%;width:12px;height:20px;transform:rotate(29deg); }
.final-petals i:nth-child(4) { right:13%;top:43%;width:10px;height:17px;transform:rotate(-18deg); }
.scene-twelve.is-unveiling .final-petals i:nth-child(1) { animation:final-petal-left 1.45s .08s ease-out both; }
.scene-twelve.is-unveiling .final-petals i:nth-child(2) { animation:final-petal-left 1.25s .22s ease-out both; }
.scene-twelve.is-unveiling .final-petals i:nth-child(3) { animation:final-petal-right 1.4s .13s ease-out both; }
.scene-twelve.is-unveiling .final-petals i:nth-child(4) { animation:final-petal-right 1.25s .3s ease-out both; }
@keyframes final-petal-left { 0% { opacity:0;translate:0 15px; } 25% { opacity:.75; } 100% { opacity:0;translate:-22px -55px; } }
@keyframes final-petal-right { 0% { opacity:0;translate:0 12px; } 25% { opacity:.7; } 100% { opacity:0;translate:17px -49px; } }
.text-area-twelve { top:26%;width:min(930px,75vw); }
.text-area-twelve .phrase { font-size:clamp(37px,3.85vw,59px); }
.scene-twelve.has-ninth .text-area-twelve { top:27%; }
.scene-twelve.has-ninth .phrase { font-size:clamp(51px,5vw,68px);line-height:1.06;letter-spacing:-.048em;color:#58402e; }
.final-line { display:block;opacity:0;transform:translateY(10px);transition:opacity .58s ease,transform .68s var(--ease); }
.final-line.is-shown { opacity:1;transform:none; }
.final-line-name { margin-top:.1em;font-size:1.22em;color:#98583f; }
.final-arc { position:absolute;z-index:1;right:3%;bottom:11%;width:min(670px,52vw);height:57%;overflow:visible;opacity:.63;pointer-events:none; }
.final-arc path { stroke:#b9986f;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.35s var(--ease); }
.scene-twelve.is-revealed .final-arc path { stroke-dashoffset:0; }
.final-flower { position:absolute;z-index:3;right:0;bottom:12%;width:min(580px,43vw);height:auto;pointer-events:none;opacity:0;transform:translateY(18px) rotate(3deg);transform-origin:66% 90%;filter:drop-shadow(7px 13px 10px #604f3c24);transition:opacity 1.2s ease,transform 1.4s var(--ease); }
.scene-twelve.is-revealed .final-flower { opacity:1;transform:none; }
.scene-twelve.has-ninth .final-flower { animation:final-flower-breathe 13s ease-in-out infinite alternate; }
.scene-twelve.is-preparing-finale .final-flower { animation-play-state:paused; }
@keyframes final-flower-breathe { to { transform:translateY(-2px) rotate(.5deg); } }
.final-sprig { position:absolute;left:-1%;bottom:-7%;width:min(185px,15vw);height:38%;pointer-events:none;opacity:0;transform:translateY(18px) rotate(-8deg);transition:opacity 1s ease,transform 1.2s var(--ease); }
.scene-twelve.is-revealed .final-sprig { opacity:.54;transform:none; }
body[data-stage="twelve"] .bee { left:78%;top:57%;transform:translate(-50%,-50%) scale(.48) rotate(-4deg); }
body[data-stage="twelve"] .scene-twelve.has-second ~ .bee { left:73%;top:56%;transform:translate(-50%,-50%) scale(.48) rotate(0deg); }
body[data-stage="twelve"] .scene-twelve.has-third ~ .bee { left:68%;top:59%;transform:translate(-50%,-50%) scale(.48) rotate(3deg); }
body[data-stage="twelve"] .scene-twelve.has-fourth ~ .bee { left:70%;top:64%;transform:translate(-50%,-50%) scale(.48) rotate(-3deg); }
body[data-stage="twelve"] .scene-twelve.has-fifth ~ .bee { left:72%;top:63%;transform:translate(-50%,-50%) scale(.48) rotate(-4deg); }
body[data-stage="twelve"] .scene-twelve.is-identity ~ .bee { left:60%;top:60%;transform:translate(-50%,-50%) scale(.59) rotate(-5deg); }
body[data-stage="twelve"] .scene-twelve.is-identity ~ .bee.is-greeting { transform:translate(-50%,-50%) scale(.59) rotate(7deg) !important; }
body[data-stage="twelve"] .scene-twelve.is-preparing-finale ~ .bee .bee-flight { animation-play-state:paused; }
body[data-stage="twelve"] .bee.is-greeting { transform:translate(-50%,-50%) scale(.48) rotate(7deg) !important; }
body[data-stage="twelve"] .bee.is-greeting .wing-far { animation-duration:.19s; }body[data-stage="twelve"] .bee.is-greeting .wing-near { animation-duration:.16s; }
.final-actions { position:absolute;z-index:32;left:50%;bottom:max(28px,env(safe-area-inset-bottom));width:calc(100% - 28px);transform:translateX(-50%);display:flex;justify-content:center;align-items:center;gap:13px; }
.scene-twelve.is-finishing .final-actions { animation:final-actions-in .5s ease-out both; }
@keyframes final-actions-in { from { opacity:0;translate:0 9px; } to { opacity:1;translate:0 0; } }
.final-actions button { min-height:42px;padding:8px 17px;border:1px solid #a98b67;border-radius:99px;background:#fff9ecdc;color:#594331;font-size:16px;box-shadow:0 5px 17px #644a3521;backdrop-filter:blur(7px); }
.final-actions button:hover { background:#fffdf5;transform:translateY(-2px); }
.final-bridge { position:absolute;z-index:44;inset:0;background:radial-gradient(ellipse at 69% 57%,#fff4d8ec 0%,#fff9eae0 53%,#fffaf0ad 100%);opacity:0;pointer-events:none;transition:opacity .55s ease; }
.final-bridge.is-visible { opacity:1; }

@media (max-width:700px) {
  .text-area-eleven { top:20%;width:calc(100% - 30px); }.text-area-eleven .phrase { font-size:clamp(27px,7.1vw,35px);line-height:1.17; }
  .future-art { top:35%;width:110vw;height:41%; }.future-sprig { bottom:-24%;width:115px;height:78%; }.future-sprig-left { left:-9%; }.future-sprig-right { right:-8%; }
  body[data-stage="eleven"] .bee { left:14%;top:66%;transform:translate(-50%,-50%) scale(.37) rotate(-5deg); }
  body[data-stage="eleven"] .scene-eleven.has-fourth ~ .bee { left:53%;top:68%;transform:translate(-50%,-50%) scale(.37) rotate(3deg); }
  body[data-stage="eleven"] .scene-eleven.has-fifth ~ .bee { left:67%;top:62%;transform:translate(-50%,-50%) scale(.37) rotate(-2deg); }
  body[data-stage="eleven"] .scene-eleven.has-sixth ~ .bee { left:72%;top:59%;transform:translate(-50%,-50%) scale(.37) rotate(-4deg); }
  .text-area-twelve { top:22%;width:calc(100% - 28px); }.text-area-twelve .phrase { font-size:clamp(27px,7.1vw,36px);line-height:1.16; }
  .scene-twelve.has-ninth .text-area-twelve { top:25%; }.scene-twelve.has-ninth .phrase { font-size:clamp(35px,8.7vw,48px); }
  .scene-twelve.has-ninth .text-spark { margin-bottom:13px; }.scene-twelve.has-ninth .text-underline { margin-top:18px; }
  .scene-twelve.is-preparing-finale .final-halo { left:11%;top:38%;width:95%;height:48%; }
  .identity-halo { left:54%;top:61%;width:145px;height:135px; }
  .final-wave { left:62%;top:62%;width:54vw; }
  .final-petals i:nth-child(1) { left:5%; }.final-petals i:nth-child(2) { left:10%;top:40%; }.final-petals i:nth-child(3) { right:6%; }.final-petals i:nth-child(4) { right:9%;top:42%; }
  .final-halo { left:-15%;top:29%;width:130%;height:62%; }.final-arc { right:-17%;bottom:16%;width:112vw;height:49%; }
  .final-flower { right:-12%;bottom:22%;width:110vw; }.final-sprig { left:-9%;bottom:-1%;width:104px;height:30%; }
  body[data-stage="twelve"] .bee { left:72%;top:59%;transform:translate(-50%,-50%) scale(.37) rotate(-4deg); }
  body[data-stage="twelve"] .scene-twelve.has-second ~ .bee { left:67%;top:57%;transform:translate(-50%,-50%) scale(.37) rotate(0deg); }
  body[data-stage="twelve"] .scene-twelve.has-third ~ .bee { left:62%;top:59%;transform:translate(-50%,-50%) scale(.37) rotate(3deg); }
  body[data-stage="twelve"] .scene-twelve.has-fourth ~ .bee { left:67%;top:63%;transform:translate(-50%,-50%) scale(.37) rotate(-3deg); }
  body[data-stage="twelve"] .scene-twelve.has-fifth ~ .bee { left:70%;top:61%;transform:translate(-50%,-50%) scale(.37) rotate(-4deg); }
  body[data-stage="twelve"] .scene-twelve.is-identity ~ .bee { left:54%;top:60%;transform:translate(-50%,-50%) scale(.46) rotate(-5deg); }
  body[data-stage="twelve"] .scene-twelve.is-identity ~ .bee.is-greeting { transform:translate(-50%,-50%) scale(.46) rotate(7deg) !important; }
  body[data-stage="twelve"] .bee.is-greeting { transform:translate(-50%,-50%) scale(.37) rotate(7deg) !important; }
  .final-actions { bottom:max(17px,env(safe-area-inset-bottom));gap:9px; }.final-actions button { padding:8px 12px;font-size:14px; }
}
@media (max-width:375px) and (max-height:640px) {
  .text-area-eleven { top:19%; }.text-area-eleven .phrase { font-size:25px; }
  .future-art { top:34%;height:42%; }
  .text-area-twelve { top:20%; }.text-area-twelve .phrase { font-size:25px; }.scene-twelve.has-ninth .text-area-twelve { top:24%; }.scene-twelve.has-ninth .phrase { font-size:34px; }
  .final-flower { bottom:23%; }.final-actions { flex-wrap:wrap;gap:7px;bottom:max(11px,env(safe-area-inset-bottom)); }.final-actions button { min-height:36px;padding:6px 13px;font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .scene-twelve.is-unveiling .final-wave,.scene-twelve.is-unveiling .final-petals i { display:none; }
  .final-line { transform:none; }
}
