[object Object]

← back to Dw Marketing Reels

auto-save: 2026-08-04T16:35:00 (1 files) — flipbooks/franquemont-london-reel/

6a68353f4b56c5538416451ef36e32bb520fc06b · 2026-08-04 16:35:06 -0700 · Steve Abrams

Files touched

Diff

commit 6a68353f4b56c5538416451ef36e32bb520fc06b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Aug 4 16:35:06 2026 -0700

    auto-save: 2026-08-04T16:35:00 (1 files) — flipbooks/franquemont-london-reel/
---
 flipbooks/franquemont-london-reel/index.html | 579 +++++++++++++++++++++++++++
 1 file changed, 579 insertions(+)

diff --git a/flipbooks/franquemont-london-reel/index.html b/flipbooks/franquemont-london-reel/index.html
new file mode 100644
index 0000000..770887b
--- /dev/null
+++ b/flipbooks/franquemont-london-reel/index.html
@@ -0,0 +1,579 @@
+<!doctype html>
+<html lang="en" data-resolution="portrait">
+<head>
+<meta charset="UTF-8" />
+<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
+<style>
+  :root { --ink:#1c1a17; --cream:#f4efe6; --paper:#fbf8f1; --gold:#b08d57; }
+  html,body { margin:0; padding:0; width:1080px; height:1920px; overflow:hidden;
+    background:radial-gradient(120% 120% at 50% 0%, #2a2622 0%, #14110e 72%);
+    font-family:"Helvetica Neue",system-ui,sans-serif; }
+  #main-composition { position:relative; width:1080px; height:1920px; overflow:hidden; }
+  .stage { position:absolute; inset:0; perspective:3000px; perspective-origin:50% 46%; }
+
+  /* LEFT verso: brand + room + name */
+  .verso { position:absolute; top:173px; left:54px; width:486px; height:1574px;
+    background:var(--paper); border-radius:8px 2px 2px 8px; overflow:hidden;
+    box-shadow: inset -30px 0 46px rgba(0,0,0,.12), 0 34px 66px rgba(0,0,0,.5);
+    display:flex; flex-direction:column; }
+  .wordmark { flex:0 0 auto; text-align:center; padding:87px 0 47px; }
+  .wordmark .wm { font-family:Georgia, serif; font-size:35px; color:var(--ink); letter-spacing:.02em; line-height:1; }
+  .wordmark .wsub { margin-top:8px; font-size:12px; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); }
+  .wordmark .wr { width:64px; height:2px; background:var(--gold); margin:44px auto 0; }
+  .roomstack { position:relative; flex:1 1 auto; margin:0 27px 27px; border-radius:4px; overflow:hidden; background:#e9e3d7; }
+  .room { position:absolute; inset:0; opacity:0; }
+  .room .rimg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
+  .room.fallback .rimg { transform:scale(1.4); filter:blur(3px) brightness(.82) saturate(1.05); }
+  .room .rtint { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%); }
+  .room.fallback .rtint { background:linear-gradient(180deg, rgba(20,16,12,.30) 0%, rgba(20,16,12,.62) 100%); }
+  .rcap { position:absolute; left:0; right:0; bottom:0; padding:24px 27px; color:#fff; }
+  .rcap .rpat { font-family:Georgia, serif; font-size:30px; line-height:1.05; text-shadow:0 2px 14px rgba(0,0,0,.5); }
+  .rcap .rcol { margin-top:8px; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:#e7d8bd; }
+
+  /* RIGHT recto: page-turn stack of pattern swatches */
+  .leaf { position:absolute; top:173px; left:540px; width:486px; height:1574px;
+    transform-origin:left center; transform-style:preserve-3d; will-change:transform; }
+  .leaf .face { position:absolute; inset:0; backface-visibility:hidden; overflow:hidden; border-radius:2px 8px 8px 2px;
+    background:var(--paper); box-shadow: 24px 28px 54px rgba(0,0,0,.42), inset 24px 0 42px rgba(0,0,0,.08); }
+  .leaf .back { transform:rotateY(180deg); background:linear-gradient(90deg,#efe9dc,#fbf8f1 22%);
+    box-shadow:-22px 28px 54px rgba(0,0,0,.36), inset -24px 0 42px rgba(0,0,0,.08); }
+  .leaf .art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
+  .leaf .shade { position:absolute; inset:0; opacity:0; pointer-events:none; background:linear-gradient(90deg, rgba(0,0,0,.42), rgba(0,0,0,0) 62%); }
+
+  /* cover + outro cards */
+  .card { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--cream); }
+  .card .kicker { font-size:17px; letter-spacing:.44em; text-transform:uppercase; color:var(--gold); }
+  .card .big { font-family:Georgia, serif; font-size:76px; line-height:1.0; margin:22px 60px; }
+  .card .sub { font-size:19px; letter-spacing:.18em; text-transform:uppercase; color:#c9bfae; }
+  .card .rule { width:120px; height:2px; background:var(--gold); margin:32px 0; }
+  .card .url { margin-top:28px; font-size:17px; letter-spacing:.24em; text-transform:uppercase; color:var(--cream); }
+</style>
+</head>
+<body>
+  <div id="main-composition" data-composition-id="flipbook" data-width="1080" data-height="1920" data-start="0" data-duration="62.3">
+
+    <div class="card" id="cover">
+      <div class="kicker">Designer Wallcoverings presents</div>
+      <div class="big">Franquemont London</div>
+      <div class="rule"></div>
+      <div class="sub">The Collection</div>
+    </div>
+
+    <div class="stage" id="stage">
+      <div class="verso">
+        <div class="wordmark"><div class="wm">Designer Wallcoverings</div><div class="wsub">est. lookbook</div><div class="wr"></div></div>
+        <div class="roomstack">
+      <div class="room" id="room0">
+        <img class="rimg" src="assets/room/r0.jpg" alt="Java Slate Blue room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Slate Blue</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room1">
+        <img class="rimg" src="assets/room/r1.jpg" alt="Java Glowing Ember room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Glowing Ember</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room2">
+        <img class="rimg" src="assets/room/r2.jpg" alt="Floral Stripe Midnight Truffle room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Floral Stripe Midnight Truffle</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room3">
+        <img class="rimg" src="assets/room/r3.jpg" alt="Woolf Dusky Blue room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Woolf Dusky Blue</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room4">
+        <img class="rimg" src="assets/room/r4.jpg" alt="Floral Zigzag Slate Blue room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Floral Zigzag Slate Blue</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room5">
+        <img class="rimg" src="assets/room/r5.jpg" alt="Vine Blots Sunlit Amber room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Vine Blots Sunlit Amber</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room6">
+        <img class="rimg" src="assets/room/r6.jpg" alt="Vine Blots Artichoke &amp; Dusty Blue room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Vine Blots Artichoke &amp; Dusty Blue</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room7">
+        <img class="rimg" src="assets/room/r7.jpg" alt="Vine Blots Crimson &amp; Fuchsia Blaze room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Vine Blots Crimson &amp; Fuchsia Blaze</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room8">
+        <img class="rimg" src="assets/room/r8.jpg" alt="Vine Blots Sky &amp; Sand room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Vine Blots Sky &amp; Sand</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room9">
+        <img class="rimg" src="assets/room/r9.jpg" alt="Vine Blots Fuchsia Blaze room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Vine Blots Fuchsia Blaze</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room10">
+        <img class="rimg" src="assets/room/r10.jpg" alt="Vine Blots Dusty Blue room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Vine Blots Dusty Blue</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room11">
+        <img class="rimg" src="assets/room/r11.jpg" alt="Vine Blots Apple &amp; Sand room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Vine Blots Apple &amp; Sand</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room12">
+        <img class="rimg" src="assets/room/r12.jpg" alt="Java Magenta Blush room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Magenta Blush</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room13">
+        <img class="rimg" src="assets/room/r13.jpg" alt="Java Arctic room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Arctic</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room14">
+        <img class="rimg" src="assets/room/r14.jpg" alt="Java Olive room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Olive</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room15">
+        <img class="rimg" src="assets/room/r15.jpg" alt="Java Burnt Orange room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Burnt Orange</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room16">
+        <img class="rimg" src="assets/room/r16.jpg" alt="Java Blush room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Blush</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room17">
+        <img class="rimg" src="assets/room/r17.jpg" alt="Java Indigo room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Indigo</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room18">
+        <img class="rimg" src="assets/room/r18.jpg" alt="Java Verdant Green room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Verdant Green</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room19">
+        <img class="rimg" src="assets/room/r19.jpg" alt="Java Graphite room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Graphite</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room20">
+        <img class="rimg" src="assets/room/r20.jpg" alt="Java Rust room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Java Rust</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room21">
+        <img class="rimg" src="assets/room/r21.jpg" alt="Verster Oxblood room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Verster Oxblood</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room22">
+        <img class="rimg" src="assets/room/r22.jpg" alt="Verster Hay room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Verster Hay</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room23">
+        <img class="rimg" src="assets/room/r23.jpg" alt="Verster Moss room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Verster Moss</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room24">
+        <img class="rimg" src="assets/room/r24.jpg" alt="Verster Carmine room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Verster Carmine</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+      <div class="room" id="room25">
+        <img class="rimg" src="assets/room/r25.jpg" alt="Verster Rust room" />
+        <div class="rtint"></div>
+        <div class="rcap"><div class="rpat">Verster Rust</div><div class="rcol">Franquemont London · all</div></div>
+      </div>
+        </div>
+      </div>
+      
+      <div class="leaf" id="leaf0">
+        <div class="face front"><img class="art" src="assets/img/p0.jpg" alt="Java Slate Blue" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf1">
+        <div class="face front"><img class="art" src="assets/img/p1.jpg" alt="Java Glowing Ember" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf2">
+        <div class="face front"><img class="art" src="assets/img/p2.jpg" alt="Floral Stripe Midnight Truffle" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf3">
+        <div class="face front"><img class="art" src="assets/img/p3.jpg" alt="Woolf Dusky Blue" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf4">
+        <div class="face front"><img class="art" src="assets/img/p4.jpg" alt="Floral Zigzag Slate Blue" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf5">
+        <div class="face front"><img class="art" src="assets/img/p5.jpg" alt="Vine Blots Sunlit Amber" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf6">
+        <div class="face front"><img class="art" src="assets/img/p6.jpg" alt="Vine Blots Artichoke &amp; Dusty Blue" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf7">
+        <div class="face front"><img class="art" src="assets/img/p7.jpg" alt="Vine Blots Crimson &amp; Fuchsia Blaze" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf8">
+        <div class="face front"><img class="art" src="assets/img/p8.jpg" alt="Vine Blots Sky &amp; Sand" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf9">
+        <div class="face front"><img class="art" src="assets/img/p9.jpg" alt="Vine Blots Fuchsia Blaze" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf10">
+        <div class="face front"><img class="art" src="assets/img/p10.jpg" alt="Vine Blots Dusty Blue" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf11">
+        <div class="face front"><img class="art" src="assets/img/p11.jpg" alt="Vine Blots Apple &amp; Sand" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf12">
+        <div class="face front"><img class="art" src="assets/img/p12.jpg" alt="Java Magenta Blush" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf13">
+        <div class="face front"><img class="art" src="assets/img/p13.jpg" alt="Java Arctic" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf14">
+        <div class="face front"><img class="art" src="assets/img/p14.jpg" alt="Java Olive" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf15">
+        <div class="face front"><img class="art" src="assets/img/p15.jpg" alt="Java Burnt Orange" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf16">
+        <div class="face front"><img class="art" src="assets/img/p16.jpg" alt="Java Blush" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf17">
+        <div class="face front"><img class="art" src="assets/img/p17.jpg" alt="Java Indigo" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf18">
+        <div class="face front"><img class="art" src="assets/img/p18.jpg" alt="Java Verdant Green" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf19">
+        <div class="face front"><img class="art" src="assets/img/p19.jpg" alt="Java Graphite" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf20">
+        <div class="face front"><img class="art" src="assets/img/p20.jpg" alt="Java Rust" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf21">
+        <div class="face front"><img class="art" src="assets/img/p21.jpg" alt="Verster Oxblood" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf22">
+        <div class="face front"><img class="art" src="assets/img/p22.jpg" alt="Verster Hay" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf23">
+        <div class="face front"><img class="art" src="assets/img/p23.jpg" alt="Verster Moss" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf24">
+        <div class="face front"><img class="art" src="assets/img/p24.jpg" alt="Verster Carmine" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+      <div class="leaf" id="leaf25">
+        <div class="face front"><img class="art" src="assets/img/p25.jpg" alt="Verster Rust" /><div class="shade"></div></div>
+        <div class="face back"></div>
+      </div>
+    </div>
+
+    <div class="card" id="outro">
+      <div class="kicker">Shop the collection</div>
+      <div class="big">Franquemont London</div>
+      <div class="url">designerwallcoverings.com</div>
+    </div>
+
+    <audio id="bgm" src="assets/audio/jazz.wav" data-start="0" data-duration="62.3" data-track-index="20" data-volume="0.34"></audio>
+    <audio id="vo0" src="assets/audio/vo1.wav" data-start="3.7" data-track-index="21" data-volume="1"></audio>
+    <audio id="vo1" src="assets/audio/vo2.wav" data-start="48.85" data-track-index="22" data-volume="1"></audio>
+
+    <script>
+      window.__timelines = window.__timelines || {};
+      const tl = gsap.timeline({ paused: true });
+
+      gsap.set("#leaf0", { rotateY:0, zIndex:26 });
+      gsap.set("#leaf1", { rotateY:0, zIndex:25 });
+      gsap.set("#leaf2", { rotateY:0, zIndex:24 });
+      gsap.set("#leaf3", { rotateY:0, zIndex:23 });
+      gsap.set("#leaf4", { rotateY:0, zIndex:22 });
+      gsap.set("#leaf5", { rotateY:0, zIndex:21 });
+      gsap.set("#leaf6", { rotateY:0, zIndex:20 });
+      gsap.set("#leaf7", { rotateY:0, zIndex:19 });
+      gsap.set("#leaf8", { rotateY:0, zIndex:18 });
+      gsap.set("#leaf9", { rotateY:0, zIndex:17 });
+      gsap.set("#leaf10", { rotateY:0, zIndex:16 });
+      gsap.set("#leaf11", { rotateY:0, zIndex:15 });
+      gsap.set("#leaf12", { rotateY:0, zIndex:14 });
+      gsap.set("#leaf13", { rotateY:0, zIndex:13 });
+      gsap.set("#leaf14", { rotateY:0, zIndex:12 });
+      gsap.set("#leaf15", { rotateY:0, zIndex:11 });
+      gsap.set("#leaf16", { rotateY:0, zIndex:10 });
+      gsap.set("#leaf17", { rotateY:0, zIndex:9 });
+      gsap.set("#leaf18", { rotateY:0, zIndex:8 });
+      gsap.set("#leaf19", { rotateY:0, zIndex:7 });
+      gsap.set("#leaf20", { rotateY:0, zIndex:6 });
+      gsap.set("#leaf21", { rotateY:0, zIndex:5 });
+      gsap.set("#leaf22", { rotateY:0, zIndex:4 });
+      gsap.set("#leaf23", { rotateY:0, zIndex:3 });
+      gsap.set("#leaf24", { rotateY:0, zIndex:2 });
+      gsap.set("#leaf25", { rotateY:0, zIndex:1 });
+      gsap.set("#room0", { opacity:1 });
+      gsap.set("#room1", { opacity:0 });
+      gsap.set("#room2", { opacity:0 });
+      gsap.set("#room3", { opacity:0 });
+      gsap.set("#room4", { opacity:0 });
+      gsap.set("#room5", { opacity:0 });
+      gsap.set("#room6", { opacity:0 });
+      gsap.set("#room7", { opacity:0 });
+      gsap.set("#room8", { opacity:0 });
+      gsap.set("#room9", { opacity:0 });
+      gsap.set("#room10", { opacity:0 });
+      gsap.set("#room11", { opacity:0 });
+      gsap.set("#room12", { opacity:0 });
+      gsap.set("#room13", { opacity:0 });
+      gsap.set("#room14", { opacity:0 });
+      gsap.set("#room15", { opacity:0 });
+      gsap.set("#room16", { opacity:0 });
+      gsap.set("#room17", { opacity:0 });
+      gsap.set("#room18", { opacity:0 });
+      gsap.set("#room19", { opacity:0 });
+      gsap.set("#room20", { opacity:0 });
+      gsap.set("#room21", { opacity:0 });
+      gsap.set("#room22", { opacity:0 });
+      gsap.set("#room23", { opacity:0 });
+      gsap.set("#room24", { opacity:0 });
+      gsap.set("#room25", { opacity:0 });
+      gsap.set("#stage", { opacity: 0 });
+      gsap.set("#outro", { opacity: 0 }); gsap.set("#outro .big", { y: 34, opacity: 0 }); gsap.set("#outro .url", { opacity: 0 });
+      gsap.set("#cover .big", { y: 40, opacity: 0 }); gsap.set("#cover .kicker,#cover .sub,#cover .rule", { opacity: 0 });
+
+      // cover
+      tl.to("#cover .kicker", { opacity:1, duration:0.5 }, 0.2);
+      tl.to("#cover .big", { opacity:1, y:0, duration:0.8, ease:"power3.out" }, 0.4);
+      tl.to("#cover .rule,#cover .sub", { opacity:1, duration:0.5 }, 1.0);
+      tl.to("#cover", { opacity:0, duration:0.5, ease:"power1.in" }, 3.00);
+      tl.to("#stage", { opacity:1, duration:0.6, ease:"power1.out" }, 3.00);
+
+      // page turns + room crossfades
+      
+    tl.to("#leaf0", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 4.2);
+    tl.to("#leaf0 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 4.2);
+    tl.to("#leaf0 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 4.7);
+    tl.set("#leaf0", { zIndex: 1000 }, 4.7);
+    tl.set("#leaf0", { opacity: 0 }, 5.200);
+    tl.to("#room0", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 4.7);
+    tl.to("#room1", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 4.7);
+    tl.to("#leaf1", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 5.8);
+    tl.to("#leaf1 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 5.8);
+    tl.to("#leaf1 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 6.3);
+    tl.set("#leaf1", { zIndex: 1001 }, 6.3);
+    tl.set("#leaf1", { opacity: 0 }, 6.800);
+    tl.to("#room1", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 6.3);
+    tl.to("#room2", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 6.3);
+    tl.to("#leaf2", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 7.4);
+    tl.to("#leaf2 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 7.4);
+    tl.to("#leaf2 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 7.9);
+    tl.set("#leaf2", { zIndex: 1002 }, 7.9);
+    tl.set("#leaf2", { opacity: 0 }, 8.400);
+    tl.to("#room2", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 7.9);
+    tl.to("#room3", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 7.9);
+    tl.to("#leaf3", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 9);
+    tl.to("#leaf3 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 9);
+    tl.to("#leaf3 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 9.5);
+    tl.set("#leaf3", { zIndex: 1003 }, 9.5);
+    tl.set("#leaf3", { opacity: 0 }, 10.000);
+    tl.to("#room3", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 9.5);
+    tl.to("#room4", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 9.5);
+    tl.to("#leaf4", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 10.6);
+    tl.to("#leaf4 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 10.6);
+    tl.to("#leaf4 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 11.1);
+    tl.set("#leaf4", { zIndex: 1004 }, 11.1);
+    tl.set("#leaf4", { opacity: 0 }, 11.600);
+    tl.to("#room4", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 11.1);
+    tl.to("#room5", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 11.1);
+    tl.to("#leaf5", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 12.2);
+    tl.to("#leaf5 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 12.2);
+    tl.to("#leaf5 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 12.7);
+    tl.set("#leaf5", { zIndex: 1005 }, 12.7);
+    tl.set("#leaf5", { opacity: 0 }, 13.200);
+    tl.to("#room5", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 12.7);
+    tl.to("#room6", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 12.7);
+    tl.to("#leaf6", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 13.8);
+    tl.to("#leaf6 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 13.8);
+    tl.to("#leaf6 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 14.3);
+    tl.set("#leaf6", { zIndex: 1006 }, 14.3);
+    tl.set("#leaf6", { opacity: 0 }, 14.800);
+    tl.to("#room6", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 14.3);
+    tl.to("#room7", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 14.3);
+    tl.to("#leaf7", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 15.4);
+    tl.to("#leaf7 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 15.4);
+    tl.to("#leaf7 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 15.9);
+    tl.set("#leaf7", { zIndex: 1007 }, 15.9);
+    tl.set("#leaf7", { opacity: 0 }, 16.400);
+    tl.to("#room7", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 15.9);
+    tl.to("#room8", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 15.9);
+    tl.to("#leaf8", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 17);
+    tl.to("#leaf8 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 17);
+    tl.to("#leaf8 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 17.5);
+    tl.set("#leaf8", { zIndex: 1008 }, 17.5);
+    tl.set("#leaf8", { opacity: 0 }, 18.000);
+    tl.to("#room8", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 17.5);
+    tl.to("#room9", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 17.5);
+    tl.to("#leaf9", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 18.6);
+    tl.to("#leaf9 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 18.6);
+    tl.to("#leaf9 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 19.1);
+    tl.set("#leaf9", { zIndex: 1009 }, 19.1);
+    tl.set("#leaf9", { opacity: 0 }, 19.600);
+    tl.to("#room9", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 19.1);
+    tl.to("#room10", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 19.1);
+    tl.to("#leaf10", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 20.2);
+    tl.to("#leaf10 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 20.2);
+    tl.to("#leaf10 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 20.7);
+    tl.set("#leaf10", { zIndex: 1010 }, 20.7);
+    tl.set("#leaf10", { opacity: 0 }, 21.200);
+    tl.to("#room10", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 20.7);
+    tl.to("#room11", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 20.7);
+    tl.to("#leaf11", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 21.8);
+    tl.to("#leaf11 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 21.8);
+    tl.to("#leaf11 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 22.3);
+    tl.set("#leaf11", { zIndex: 1011 }, 22.3);
+    tl.set("#leaf11", { opacity: 0 }, 22.800);
+    tl.to("#room11", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 22.3);
+    tl.to("#room12", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 22.3);
+    tl.to("#leaf12", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 23.4);
+    tl.to("#leaf12 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 23.4);
+    tl.to("#leaf12 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 23.9);
+    tl.set("#leaf12", { zIndex: 1012 }, 23.9);
+    tl.set("#leaf12", { opacity: 0 }, 24.400);
+    tl.to("#room12", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 23.9);
+    tl.to("#room13", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 23.9);
+    tl.to("#leaf13", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 25);
+    tl.to("#leaf13 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 25);
+    tl.to("#leaf13 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 25.5);
+    tl.set("#leaf13", { zIndex: 1013 }, 25.5);
+    tl.set("#leaf13", { opacity: 0 }, 26.000);
+    tl.to("#room13", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 25.5);
+    tl.to("#room14", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 25.5);
+    tl.to("#leaf14", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 26.6);
+    tl.to("#leaf14 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 26.6);
+    tl.to("#leaf14 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 27.1);
+    tl.set("#leaf14", { zIndex: 1014 }, 27.1);
+    tl.set("#leaf14", { opacity: 0 }, 27.600);
+    tl.to("#room14", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 27.1);
+    tl.to("#room15", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 27.1);
+    tl.to("#leaf15", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 28.2);
+    tl.to("#leaf15 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 28.2);
+    tl.to("#leaf15 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 28.7);
+    tl.set("#leaf15", { zIndex: 1015 }, 28.7);
+    tl.set("#leaf15", { opacity: 0 }, 29.200);
+    tl.to("#room15", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 28.7);
+    tl.to("#room16", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 28.7);
+    tl.to("#leaf16", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 29.8);
+    tl.to("#leaf16 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 29.8);
+    tl.to("#leaf16 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 30.3);
+    tl.set("#leaf16", { zIndex: 1016 }, 30.3);
+    tl.set("#leaf16", { opacity: 0 }, 30.800);
+    tl.to("#room16", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 30.3);
+    tl.to("#room17", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 30.3);
+    tl.to("#leaf17", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 31.4);
+    tl.to("#leaf17 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 31.4);
+    tl.to("#leaf17 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 31.9);
+    tl.set("#leaf17", { zIndex: 1017 }, 31.9);
+    tl.set("#leaf17", { opacity: 0 }, 32.400);
+    tl.to("#room17", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 31.9);
+    tl.to("#room18", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 31.9);
+    tl.to("#leaf18", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 33);
+    tl.to("#leaf18 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 33);
+    tl.to("#leaf18 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 33.5);
+    tl.set("#leaf18", { zIndex: 1018 }, 33.5);
+    tl.set("#leaf18", { opacity: 0 }, 34.000);
+    tl.to("#room18", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 33.5);
+    tl.to("#room19", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 33.5);
+    tl.to("#leaf19", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 34.6);
+    tl.to("#leaf19 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 34.6);
+    tl.to("#leaf19 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 35.1);
+    tl.set("#leaf19", { zIndex: 1019 }, 35.1);
+    tl.set("#leaf19", { opacity: 0 }, 35.600);
+    tl.to("#room19", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 35.1);
+    tl.to("#room20", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 35.1);
+    tl.to("#leaf20", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 36.2);
+    tl.to("#leaf20 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 36.2);
+    tl.to("#leaf20 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 36.7);
+    tl.set("#leaf20", { zIndex: 1020 }, 36.7);
+    tl.set("#leaf20", { opacity: 0 }, 37.200);
+    tl.to("#room20", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 36.7);
+    tl.to("#room21", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 36.7);
+    tl.to("#leaf21", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 37.8);
+    tl.to("#leaf21 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 37.8);
+    tl.to("#leaf21 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 38.3);
+    tl.set("#leaf21", { zIndex: 1021 }, 38.3);
+    tl.set("#leaf21", { opacity: 0 }, 38.800);
+    tl.to("#room21", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 38.3);
+    tl.to("#room22", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 38.3);
+    tl.to("#leaf22", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 39.4);
+    tl.to("#leaf22 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 39.4);
+    tl.to("#leaf22 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 39.9);
+    tl.set("#leaf22", { zIndex: 1022 }, 39.9);
+    tl.set("#leaf22", { opacity: 0 }, 40.400);
+    tl.to("#room22", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 39.9);
+    tl.to("#room23", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 39.9);
+    tl.to("#leaf23", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 41);
+    tl.to("#leaf23 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 41);
+    tl.to("#leaf23 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 41.5);
+    tl.set("#leaf23", { zIndex: 1023 }, 41.5);
+    tl.set("#leaf23", { opacity: 0 }, 42.000);
+    tl.to("#room23", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 41.5);
+    tl.to("#room24", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 41.5);
+    tl.to("#leaf24", { rotateY: -180, duration: 1, ease: "power2.inOut" }, 42.6);
+    tl.to("#leaf24 .shade", { opacity: 0.5, duration: 0.500, ease:"power1.in" }, 42.6);
+    tl.to("#leaf24 .shade", { opacity: 0, duration: 0.500, ease:"power1.out" }, 43.1);
+    tl.set("#leaf24", { zIndex: 1024 }, 43.1);
+    tl.set("#leaf24", { opacity: 0 }, 43.600);
+    tl.to("#room24", { opacity: 0, duration: 0.4, ease:"power1.inOut" }, 43.1);
+    tl.to("#room25", { opacity: 1, duration: 0.4, ease:"power1.inOut" }, 43.1);
+    tl.to("#leaf25 .art", { scale: 1.05, duration: 4.90, ease:"power1.out" }, 44.2);
+    tl.to("#room25 .rimg", { scale: 1.06, duration: 4.90, ease:"power1.out" }, 44.2);
+
+      // outro
+      tl.to("#stage", { opacity:0, duration:0.6, ease:"power1.in" }, 48.70);
+      tl.to("#outro", { opacity:1, duration:0.5 }, 48.90);
+      tl.to("#outro .big", { opacity:1, y:0, duration:0.7, ease:"power2.out" }, 49.10);
+      tl.to("#outro .url", { opacity:1, duration:0.5 }, 49.60);
+
+      gsap.set("#bgm", { volume: 0.34 });
+      tl.to("#bgm", { volume: 0.17, duration: 0.4 }, 3.40);
+      tl.to("#bgm", { volume: 0.34, duration: 0.6 }, 6.30);
+      tl.to("#bgm", { volume: 0.17, duration: 0.4 }, 48.55);
+      tl.to("#bgm", { volume: 0.34, duration: 0.6 }, 51.45);
+      tl.to("#bgm", { volume: 0, duration: 1.0, ease:"power1.in" }, 61.20);
+
+      window.__timelines["flipbook"] = tl;
+    </script>
+  </div>
+</body>
+</html>
\ No newline at end of file

← a02cf7a auto-save: 2026-08-04T16:04:49 (6 files) — server.js data/fe  ·  back to Dw Marketing Reels  ·  auto-save: 2026-08-05T07:09:54 (1 files) — data/video-sugges 9fc4c0f →