.bwe-tour *,
.bwe-tour *::before,
.bwe-tour *::after{box-sizing:border-box;margin:0;padding:0}
.bwe-tour{
  --cream:#f5f0e6;--cream2:#fdfaf2;--cream3:#ede7d8;--paper:#fff;
  --purple:#9a70d4;--purple-d:#6a48a4;--purple-bg:#2d1a52;
  --coral:#e8845a;--coral-d:#c85535;--sky:#7ab8c8;--olive:#7a9a5a;
  --yellow:#e2ba48;--pink:#e89eb0;
  --ink:#2d2820;--ink-s:#5a5040;--ink-m:#9a9080;
  --border:rgba(45,40,32,0.12);
}
.bwe-tour{scroll-behavior:smooth}
.bwe-tour{font-family:'Fredoka','Trebuchet MS',sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip;position:relative}
body.lock-scroll{overflow:hidden}
/* S92 fix: position:sticky inside .bwe-tour requires NO overflow-x:hidden on
   ancestors. Some host pages (index.html, pricing.html, etc.) set
   body{overflow-x:hidden} which silently breaks .scene-stage sticky behavior,
   causing scenes to render at the top of their 240vh container and leave
   huge blank gaps below as the user scrolls. Promote html and body to
   overflow-x:clip when a tour is on the page. clip provides the same visual
   clipping without creating a scroll container, so sticky stays anchored
   to the viewport. Browser support: Chrome 90+, Firefox 81+, Safari 16+. */
html:has(.bwe-tour),
body:has(.bwe-tour){overflow-x:clip}

@keyframes bwt-fadein{from{opacity:0}to{opacity:1}}
@keyframes bwt-hero-rise{from{opacity:0;transform:translateY(18px) scale(1.035)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes bwt-slideup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes bwt-pulse{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes bwt-bounce-arrow{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes bwt-caret-blink{50%{opacity:0}}
@keyframes bwt-shimmer{0%,100%{opacity:.5}50%{opacity:.9}}/* ───────── CINEMATIC HERO ───────── */

.bwe-tour .hero{position:relative;height:100vh;height:100dvh;min-height:680px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#1a1208;color:#fff}
.bwe-tour .hero-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;background:#1a1208}
.bwe-tour .hero-bg img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.05);filter:saturate(1.05);object-position:center 25%}
.bwe-tour .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,40,32,0.10) 0%,rgba(45,40,32,0.20) 30%,rgba(45,40,32,0.55) 75%,rgba(45,40,32,0.78) 100%);z-index:1}
.bwe-tour .hero-content{position:relative;z-index:2;text-align:center;padding:0 24px;color:#fff;max-width:1100px;animation:bwt-hero-rise 1.4s cubic-bezier(.22,.61,.36,1) both}
.bwe-tour .hero-eye{font-family:'Gaegu',cursive;font-size:20px;letter-spacing:.06em;color:rgba(255,255,255,0.90);margin-bottom:24px;display:inline-flex;align-items:center;gap:10px;font-weight:700}
.bwe-tour .hero-eye .sep{opacity:.55;font-weight:400}
.bwe-tour .hero-eye::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--coral);animation:bwt-pulse 2.4s ease-in-out infinite}
.bwe-tour .hero-h{font-family:'Shrikhand',serif;font-size:clamp(56px,10vw,140px);line-height:.92;letter-spacing:-.03em;color:#fff;margin-bottom:32px;text-shadow:0 4px 30px rgba(0,0,0,0.32)}
.bwe-tour .hero-h .pop{color:#f5c6a8}
.bwe-tour .hero-sub{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(21px,2.5vw,30px);color:rgba(255,255,255,0.94);line-height:1.5;max-width:820px;margin:0 auto 38px;text-shadow:0 2px 20px rgba(0,0,0,0.4)}
.bwe-tour .hero-sub .pop{color:#f5c6a8}
.bwe-tour .hero-meta{font-family:'Gaegu',cursive;font-size:18px;color:rgba(255,255,255,0.85);display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center;font-weight:700}
.bwe-tour .hero-meta strong{color:#fff;font-weight:700}
.bwe-tour .hero-meta .dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.5)}
.bwe-tour .hero-cred{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:3;font-family:'Fredoka',sans-serif;font-size:14px;font-weight:500;color:rgba(255,255,255,0.82);text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;text-shadow:0 1px 8px rgba(0,0,0,0.5)}
.bwe-tour .hero-cred a{color:#fff;text-decoration:underline dotted;text-underline-offset:3px}
.bwe-tour .hero-logo{position:absolute;top:24px;left:28px;z-index:30;font-family:'Shrikhand',serif;font-size:30px;color:rgba(255,255,255,0.94);text-decoration:none;letter-spacing:-.02em;text-shadow:0 2px 18px rgba(0,0,0,0.55);transition:opacity .2s ease,transform .2s ease;line-height:1}
.bwe-tour .hero-logo:hover{opacity:.82;transform:translateY(-1px)}
@media (max-width:600px){.bwe-tour .hero-logo{top:16px;left:18px;font-size:24px}}

/* Embedded-mode modifier: when the tour is dropped inside another page (e.g. /pricing, /teams)
   that already has its own top nav with logo, hide the hero wordmark. The host page's nav
   handles "back to home". */
.bwe-tour.bwe-tour--embedded .hero-logo{display:none}

/* Embed: hide the bottom pricing-full section on embedded contexts. The host pages already
   have their own conversion surface (pricing widget, gift/teams form, etc), and the tour's
   outro card already includes a "Go Pro for $20 →" CTA. Also removes the duplicate
   data-bwe-pricing mount that would cause bwe-pricing.js to render twice on /pricing. */
.bwe-tour.bwe-tour--embedded .pricing-full{display:none}

/* Letterbox-bar fix for two CF Stream videos that have ~10% top/bottom black bars baked in.
   On the standalone /pro-tour page this is needed because bwe-nav.css (which carries the same
   rule for the rest of the site) isn't loaded. The transform crops the bars precisely:
   scale(1.259) = 1 / (1 - 2 * (37/360)). */
.bwe-tour .vmodal iframe[src*="ad0b0202f1e78b87082d009aa1e2f252"],
.bwe-tour .vmodal iframe[src*="68571250ff0c40cd16a44a90586596ac"]{transform:scale(1.259) !important;transform-origin:center center !important}

/* Lead-in section for embedded contexts. Sits above the hero, gives the host page a quiet
   hand-off into the immersive tour. Inherits .bwe-tour CSS vars so it stays on-palette. */
.bwe-tour .bwt-leadin{background:linear-gradient(180deg,var(--cream2) 0%,var(--cream) 100%);padding:96px 24px 80px;text-align:center;position:relative;border-top:1px solid var(--border)}
.bwe-tour .bwt-leadin-eye{font-family:'Gaegu',cursive;font-size:17px;color:var(--purple-d);letter-spacing:.06em;margin-bottom:16px;display:inline-flex;align-items:center;gap:10px}
.bwe-tour .bwt-leadin-eye::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--coral);animation:bwt-pulse 2.4s ease-in-out infinite}
.bwe-tour .bwt-leadin-h{font-family:'Shrikhand',serif;font-size:clamp(36px,5.6vw,64px);line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin:0 auto 18px;max-width:840px}
.bwe-tour .bwt-leadin-h .pop{color:var(--coral)}
.bwe-tour .bwt-leadin-sub{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(18px,2.2vw,24px);color:var(--ink-s);line-height:1.5;max-width:600px;margin:0 auto 36px}
.bwe-tour .bwt-leadin-arrow{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;font-size:22px;animation:bwt-bounce-arrow 1.8s ease-in-out infinite}
.bwe-tour .hero-scroll{position:absolute;bottom:84px;left:50%;transform:translateX(-50%);z-index:3;font-family:'Gaegu',cursive;font-size:14px;color:rgba(255,255,255,0.85);letter-spacing:.06em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;text-shadow:0 1px 8px rgba(0,0,0,0.5)}
.bwe-tour .hero-scroll .arr{font-size:24px;animation:bwt-bounce-arrow 1.8s ease-in-out infinite}/* ───────── SCROLLY ENGINE ───────── *//* Each scene is the host for one chapter. The stage inside is sticky and full-bleed.
   Visual layers fade and transform based on data-progress (0-3) set by JS. */

.bwe-tour .scene{position:relative;height:280vh}
.bwe-tour .scene-stage{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;background:var(--cream)}
.bwe-tour .scene-canvas{position:absolute;inset:0;width:100%;height:100%}
.bwe-tour .scene-layer{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .7s ease,transform .8s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.bwe-tour .scene-layer.is-bg img{width:100%;height:100%;object-fit:cover;display:block}
.bwe-tour .scene-layer.is-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,40,32,0.08) 0%,rgba(45,40,32,0.20) 45%,rgba(45,40,32,0.62) 100%)}
.bwe-tour .scene-layer.is-paper{background:var(--cream)}
.bwe-tour .scene-layer.is-paper::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.16 0 0 0 0 0.13 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.5;mix-blend-mode:multiply}/* Layer visibility per state: list states the layer is visible in, comma-separated */

.bwe-tour .scene[data-progress="0"] .scene-layer[data-on~="0"],
.bwe-tour .scene[data-progress="1"] .scene-layer[data-on~="1"],
.bwe-tour .scene[data-progress="2"] .scene-layer[data-on~="2"],
.bwe-tour .scene[data-progress="3"] .scene-layer[data-on~="3"]{opacity:1}/* Text overlay on every scene. Glass card, positioned via .pos-* classes. */

.bwe-tour .scene-text{position:absolute;z-index:5;max-width:380px;padding:24px 26px;background:rgba(245,240,230,0.94);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:16px;border:1px solid rgba(255,255,255,0.4);box-shadow:0 16px 42px rgba(45,40,32,0.18);pointer-events:none}
.bwe-tour .scene-text.is-dark{background:rgba(20,18,14,0.82);border-color:rgba(255,255,255,0.10);color:#fff}
.bwe-tour .scene-text .st-tag{font-family:'Gaegu',cursive;font-size:15px;color:var(--purple-d);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;display:inline-flex;align-items:center;gap:8px;font-weight:700}
.bwe-tour .scene-text.is-dark .st-tag{color:#f5c6a8}
.bwe-tour .scene-text .st-tag::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--coral)}
.bwe-tour .scene-text .st-h{font-family:'Shrikhand',serif;font-size:clamp(26px,2.8vw,38px);line-height:1.04;letter-spacing:-.018em;color:var(--ink);margin-bottom:13px}
.bwe-tour .scene-text.is-dark .st-h{color:#fff}
.bwe-tour .scene-text .st-h .pop{color:var(--coral)}
.bwe-tour .scene-text .st-h .pop2{color:var(--purple-d)}
.bwe-tour .scene-text.is-dark .st-h .pop2{color:#c4a5e8}
.bwe-tour .scene-text .st-h .pop3{color:var(--olive)}
.bwe-tour .scene-text.is-dark .st-h .pop3{color:#a8c98a}
.bwe-tour .scene-text .st-body{font-family:'Fredoka',sans-serif;font-weight:400;font-size:18px;color:var(--ink-s);line-height:1.55}
.bwe-tour .scene-text.is-dark .st-body{color:rgba(255,255,255,0.92)}

.bwe-tour .pos-bl{bottom:60px;left:40px}
.bwe-tour .pos-tr{top:60px;right:40px}
.bwe-tour .pos-br{bottom:60px;right:40px}
.bwe-tour .pos-tl{top:60px;left:40px}
.bwe-tour .pos-tc{top:60px;left:50%;transform:translateX(-50%);text-align:center}
.bwe-tour .pos-bc{bottom:60px;left:50%;transform:translateX(-50%);text-align:center}/* Per-chapter text-card sizing/position overrides so they never collide with centered visuals */

.bwe-tour .scene[data-scene="2"] .scene-text{max-width:380px;padding:22px 24px}
.bwe-tour .scene[data-scene="2"] .scene-text .st-h{font-size:clamp(24px,2.2vw,32px)}
.bwe-tour .scene[data-scene="2"] .scene-text .st-body{font-size:18px}
.bwe-tour .scene[data-scene="3"] .scene-text{max-width:380px;padding:22px 24px}
.bwe-tour .scene[data-scene="3"] .scene-text .st-h{font-size:clamp(24px,2.2vw,32px)}
.bwe-tour .scene[data-scene="3"] .scene-text .st-body{font-size:18px}
.bwe-tour .scene[data-scene="6"] .scene-text{max-width:380px}/* Tiny chapter index marker in opposite corner */

.bwe-tour .scene-index{position:absolute;z-index:4;font-family:'Gaegu',cursive;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,230,0.75);text-shadow:0 1px 8px rgba(0,0,0,0.4);font-weight:700}
.bwe-tour .scene-index.is-on-paper{color:var(--ink-m);text-shadow:none}
.bwe-tour .idx-tl{top:30px;left:36px}
.bwe-tour .idx-tr{top:30px;right:36px}
.bwe-tour .idx-bl{bottom:30px;left:36px}
.bwe-tour .idx-br{bottom:30px;right:36px}/* Progress rail on the right edge */

.bwe-tour .progress{position:fixed;top:50%;right:22px;transform:translateY(-50%);z-index:300;display:flex;flex-direction:column;gap:14px;opacity:0;transition:opacity .4s ease;pointer-events:none}
.bwe-tour .progress.is-on{opacity:1;pointer-events:auto}
.bwe-tour .progress-dot{width:11px;height:11px;border-radius:50%;background:rgba(245,240,230,0.55);border:1.5px solid rgba(0,0,0,0.15);cursor:pointer;transition:all .25s ease}
.bwe-tour .progress-dot:hover{background:rgba(245,240,230,0.85)}
.bwe-tour .progress-dot.is-active{background:var(--coral);border-color:var(--coral);transform:scale(1.3);box-shadow:0 0 0 5px rgba(232,132,90,0.22)}/* ───────── CHAPTER 1: A blank page ───────── */

.bwe-tour .s1-paper{display:flex;align-items:center;justify-content:center}
.bwe-tour .s1-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;font-family:'Shrikhand',serif;font-size:clamp(120px,18vw,260px);color:rgba(232,132,90,0.10);letter-spacing:-.04em;line-height:.85;pointer-events:none;user-select:none;transition:color .8s ease,transform .8s ease;white-space:nowrap}
.bwe-tour .scene[data-progress="3"] .s1-title{color:rgba(232,132,90,0.16);transform:translate(-50%,-50%) scale(1.06)}
.bwe-tour .s1-cards{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;padding:0 60px;z-index:2}
.bwe-tour .s1-card{background:var(--paper);border:1.5px solid var(--border);border-radius:10px;padding:12px 12px 18px;box-shadow:0 20px 46px rgba(45,40,32,0.18);width:260px;position:relative;transform:translateY(60px) rotate(-2deg) scale(.92);opacity:0;transition:transform 1s cubic-bezier(.22,.61,.36,1),opacity .6s ease}
.bwe-tour .s1-card::before{content:'';position:absolute;top:-1px;left:36%;right:36%;height:14px;background:rgba(232,132,90,0.38);border:1px solid rgba(232,132,90,0.50);border-top:none;border-radius:0 0 5px 5px;z-index:2}
.bwe-tour .s1-card:nth-child(2)::before{background:rgba(154,112,212,0.38);border-color:rgba(154,112,212,0.50)}
.bwe-tour .s1-card:nth-child(3)::before{background:rgba(122,154,90,0.38);border-color:rgba(122,154,90,0.50)}
.bwe-tour .s1-card:nth-child(2){transform:translateY(60px) rotate(1.2deg) scale(.92)}
.bwe-tour .s1-card:nth-child(3){transform:translateY(60px) rotate(-.5deg) scale(.92)}
.bwe-tour .scene[data-progress="1"] .s1-card:nth-child(1),
.bwe-tour .scene[data-progress="2"] .s1-card:nth-child(1),
.bwe-tour .scene[data-progress="2"] .s1-card:nth-child(2),
.bwe-tour .scene[data-progress="3"] .s1-card{opacity:1;transform:translateY(0) rotate(var(--r,-1deg)) scale(1)}
.bwe-tour .s1-card:nth-child(1){--r:-1.6deg}
.bwe-tour .s1-card:nth-child(2){--r:1.4deg}
.bwe-tour .s1-card:nth-child(3){--r:-.5deg}
.bwe-tour .s1-photo{width:100%;height:200px;border-radius:6px;overflow:hidden;background:var(--cream3);margin-bottom:12px;position:relative;border:1.5px solid rgba(45,40,32,0.08)}
.bwe-tour .s1-photo img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 30%}
.bwe-tour .s1-photo-tag{position:absolute;top:8px;left:8px;font-family:'Gaegu',cursive;font-size:11px;color:#fff;background:rgba(0,0,0,0.55);padding:3px 9px;border-radius:100px;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px)}
.bwe-tour .s1-card-name{font-family:'Shrikhand',serif;font-size:22px;color:var(--ink);line-height:1.06;letter-spacing:-.013em;margin-bottom:5px;padding:0 4px}
.bwe-tour .s1-card-meta{font-family:'Fredoka',sans-serif;font-size:16px;font-weight:500;color:var(--ink-s);padding:0 4px}/* ───────── CHAPTER 2: Finding a story ───────── */

.bwe-tour .s2-montage{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(5,1fr);gap:8px;padding:8px}
.bwe-tour .s2-mont{position:relative;overflow:hidden;border-radius:6px;background:var(--cream3);box-shadow:0 4px 12px rgba(0,0,0,0.30);transition:transform .9s cubic-bezier(.22,.61,.36,1),opacity .6s ease,filter 1.1s cubic-bezier(.22,.61,.36,1);filter:grayscale(.92) brightness(.32) blur(.5px)}
.bwe-tour .s2-mont.is-lit{filter:grayscale(0) brightness(1) blur(0)}
.bwe-tour .s2-mont img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 28%}
.bwe-tour .s2-mont::before{content:'';position:absolute;inset:0;background:rgba(20,18,14,0.42);transition:background .9s ease;z-index:1}
.bwe-tour .s2-mont.is-lit::before{background:rgba(20,18,14,0.06)}
.bwe-tour .scene[data-progress="1"] .s2-mont::before,
.bwe-tour .scene[data-progress="2"] .s2-mont::before,
.bwe-tour .scene[data-progress="3"] .s2-mont::before{background:rgba(20,18,14,0)}
.bwe-tour .scene[data-progress="1"] .s2-mont,
.bwe-tour .scene[data-progress="2"] .s2-mont,
.bwe-tour .scene[data-progress="3"] .s2-mont{filter:grayscale(0) brightness(1) blur(0)}
.bwe-tour .scene[data-progress="2"] .s2-mont:not(.is-target),
.bwe-tour .scene[data-progress="3"] .s2-mont:not(.is-target){opacity:0;transform:scale(.4)}
.bwe-tour .s2-mont.is-target{box-shadow:0 0 0 0 rgba(232,132,90,0)}
.bwe-tour .scene[data-progress="1"] .s2-mont.is-target{box-shadow:0 0 0 4px rgba(232,132,90,0.75),0 8px 24px rgba(0,0,0,0.4);transition:box-shadow .6s ease .2s}/* Search bar */

.bwe-tour .s2-search{position:absolute;top:8%;left:50%;transform:translate(-50%,-30px);z-index:6;width:min(720px,86vw);background:rgba(245,240,230,0.96);backdrop-filter:blur(18px);border:1.5px solid rgba(255,255,255,0.5);border-radius:18px;padding:18px 24px;display:flex;align-items:center;gap:14px;box-shadow:0 18px 48px rgba(0,0,0,0.30);opacity:0;transition:opacity .6s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .s2-search::before{content:'pro search';position:absolute;top:-14px;left:22px;background:var(--purple);color:#fff;font-family:'Gaegu',cursive;font-size:13px;padding:4px 12px;border-radius:100px;letter-spacing:.08em;text-transform:uppercase}
.bwe-tour .scene[data-progress="1"] .s2-search,
.bwe-tour .scene[data-progress="2"] .s2-search,
.bwe-tour .scene[data-progress="3"] .s2-search{opacity:1;transform:translate(-50%,0)}
.bwe-tour .s2-search-icon{width:24px;height:24px;color:var(--ink-m);flex-shrink:0}
.bwe-tour .s2-search-q{flex:1;font-family:'Fredoka',sans-serif;font-size:19px;color:var(--ink);overflow:hidden;white-space:nowrap}
.bwe-tour .s2-search-q::after{content:'|';display:inline-block;margin-left:2px;color:var(--coral);animation:bwt-caret-blink 1s steps(1) infinite}/* Norma takeover */

.bwe-tour .s2-hero{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .8s ease}
.bwe-tour .scene[data-progress="3"] .s2-hero{opacity:1}
.bwe-tour .s2-hero img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 28%;transform:scale(calc(1.04 + var(--sp,0) * 0.16));transition:transform .12s linear}
.bwe-tour .s2-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,14,0.30) 0%,rgba(20,18,14,0.05) 35%,rgba(20,18,14,0.15) 55%,rgba(20,18,14,0.78) 100%)}/* Quote at top of takeover */

.bwe-tour .s2-quote{position:absolute;left:50%;top:24%;transform:translateX(-50%);z-index:7;max-width:880px;width:92vw;text-align:center;color:#fff;opacity:0;transition:opacity .9s ease .3s;text-shadow:0 2px 18px rgba(0,0,0,0.65);padding:0 20px}
.bwe-tour .scene[data-progress="3"] .s2-quote{opacity:1}
.bwe-tour .s2-quote-body{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(22px,2.8vw,34px);line-height:1.32;margin-bottom:14px;color:#fff;font-weight:400}
.bwe-tour .s2-quote-attr{font-family:'Gaegu',cursive;font-size:15px;letter-spacing:.06em;color:rgba(255,255,255,0.86)}/* MASSIVE play button at bottom */

.bwe-tour .s2-watch{position:absolute;left:50%;bottom:11%;transform:translateX(-50%) scale(.85);z-index:8;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:auto;opacity:0;transition:opacity .5s ease .5s,transform .8s cubic-bezier(.22,.61,.36,1) .5s;padding:0}
.bwe-tour .scene[data-progress="3"] .s2-watch{opacity:1;transform:translateX(-50%) scale(1)}
.bwe-tour .s2-watch-disc{width:118px;height:118px;border-radius:50%;background:rgba(232,132,90,0.96);display:flex;align-items:center;justify-content:center;box-shadow:0 22px 56px rgba(232,132,90,0.50),0 0 0 8px rgba(255,255,255,0.18),0 0 0 18px rgba(232,132,90,0.18);transition:all .25s ease;position:relative}
.bwe-tour .s2-watch-disc::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(255,255,255,0.30);animation:bwt-shimmer 2.4s ease-in-out infinite}
.bwe-tour .s2-watch:hover .s2-watch-disc{background:rgba(232,132,90,1);box-shadow:0 32px 76px rgba(232,132,90,0.65),0 0 0 8px rgba(255,255,255,0.28),0 0 0 22px rgba(232,132,90,0.24);transform:scale(1.06)}
.bwe-tour .s2-watch-tri{width:0;height:0;border-left:28px solid #fff;border-top:18px solid transparent;border-bottom:18px solid transparent;margin-left:8px}
.bwe-tour .s2-watch-label{font-family:'Fredoka',sans-serif;font-size:18px;font-weight:600;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,0.5);letter-spacing:-.01em}
.bwe-tour .s2-watch-meta{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:500;color:rgba(255,255,255,0.85);letter-spacing:.02em;text-shadow:0 1px 6px rgba(0,0,0,0.5);margin-top:-6px}/* ───────── CHAPTER 3: Weaving ───────── */

.bwe-tour .s3-quad{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:100%;height:100%}
.bwe-tour .s3-cell{position:relative;overflow:hidden;background:#000}
.bwe-tour .s3-cell img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 28%;transition:transform 1.2s ease,filter .8s ease}
.bwe-tour .scene[data-progress="0"] .s3-cell img{transform:scale(1.15);filter:brightness(.6)}
.bwe-tour .scene[data-progress="1"] .s3-cell img{transform:scale(1.05);filter:brightness(.85)}
.bwe-tour .scene[data-progress="2"] .s3-cell img{transform:scale(1);filter:brightness(.55)}
.bwe-tour .scene[data-progress="3"] .s3-cell img{transform:scale(1);filter:brightness(.45)}
.bwe-tour .s3-cell-tag{position:absolute;z-index:3;font-family:'Shrikhand',serif;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,0.7);font-size:clamp(26px,3vw,42px);line-height:1}
.bwe-tour .s3-cell-tag span{font-family:'Gaegu',cursive;font-size:14px;letter-spacing:.1em;text-transform:uppercase;display:block;color:rgba(255,255,255,0.85);margin-top:6px;text-shadow:0 1px 6px rgba(0,0,0,0.5)}
.bwe-tour .s3-cell:nth-child(1) .s3-cell-tag{top:24px;left:30px}
.bwe-tour .s3-cell:nth-child(2) .s3-cell-tag{top:24px;right:30px;text-align:right}
.bwe-tour .s3-cell:nth-child(3) .s3-cell-tag{bottom:24px;left:30px}
.bwe-tour .s3-cell:nth-child(4) .s3-cell-tag{bottom:24px;right:30px;text-align:right}/* SVG threads layer overlays the quad */

.bwe-tour .s3-threads{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;opacity:.4}
.bwe-tour .s3-threads path{stroke:rgba(245,240,230,0.5);stroke-width:1;fill:none;stroke-dasharray:3 6;stroke-dashoffset:260;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease}
.bwe-tour .scene[data-progress="2"] .s3-threads path,
.bwe-tour .scene[data-progress="3"] .s3-threads path{stroke-dashoffset:0}/* Center lesson card */

.bwe-tour .s3-lesson{position:absolute;top:54%;left:50%;transform:translate(-50%,-50%) scale(.85);z-index:5;width:min(490px,86vw);background:rgba(255,255,255,0.96);backdrop-filter:blur(22px);border:1.5px dashed var(--purple);border-radius:18px;padding:24px 22px;box-shadow:0 26px 60px rgba(0,0,0,0.35);opacity:0;transition:opacity .7s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .scene[data-progress="3"] .s3-lesson{opacity:1;transform:translate(-50%,-50%) scale(1)}
.bwe-tour .s3-lesson-tag{font-family:'Gaegu',cursive;font-size:14px;color:var(--purple-d);text-transform:uppercase;letter-spacing:.08em;background:rgba(154,112,212,0.13);padding:5px 13px;border-radius:100px;display:inline-block;margin-bottom:14px}
.bwe-tour .s3-lq{padding:10px 13px 10px 15px;border-left:3px solid var(--coral);background:rgba(232,132,90,0.06);border-radius:0 8px 8px 0;margin-bottom:9px;display:flex;align-items:flex-start;gap:12px;line-height:1.4}
.bwe-tour .s3-lq[data-acc="purple"]{border-left-color:var(--purple);background:rgba(154,112,212,0.06)}
.bwe-tour .s3-lq[data-acc="olive"]{border-left-color:var(--olive);background:rgba(122,154,90,0.06)}
.bwe-tour .s3-lq[data-acc="sky"]{border-left-color:var(--sky);background:rgba(122,184,200,0.07)}
.bwe-tour .s3-lq-by{font-family:'Gaegu',cursive;font-size:14px;color:var(--ink-m);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;width:66px;padding-top:2px}
.bwe-tour .s3-lq-body{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:15.5px;color:var(--ink);flex:1;line-height:1.45}
.bwe-tour .s3-lesson-foot{font-family:'Fredoka',sans-serif;font-size:14.5px;font-weight:500;color:var(--ink-s);text-align:right;padding-top:9px;border-top:1px dashed var(--border);margin-top:6px}
.bwe-tour .s3-lesson-foot strong{color:var(--purple-d);font-weight:600}
.bwe-tour .s3-lesson-foot .arr{color:var(--coral);font-weight:600;margin-left:3px}/* ───────── CHAPTER 4: Building the journey ───────── */

.bwe-tour .s4-paper{background:var(--cream);display:flex;align-items:center;justify-content:flex-end;padding:80px 8% 80px 0}
.bwe-tour .s4-rail{position:relative;width:min(640px,90vw);display:flex;flex-direction:column;gap:18px}
.bwe-tour .s4-rail-title{position:absolute;top:-46px;left:0;font-family:'Shrikhand',serif;font-size:28px;color:var(--ink);letter-spacing:-.015em}
.bwe-tour .s4-rail-title .pop{color:var(--purple-d)}
.bwe-tour .s4-step{background:var(--paper);border:1.5px solid var(--border);border-radius:10px;box-shadow:0 8px 22px rgba(45,40,32,0.10);padding:14px 16px;display:flex;align-items:center;gap:14px;position:relative;opacity:0;transform:translateY(34px) rotate(-2deg);transition:opacity .55s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .s4-step:nth-child(odd){--r:-.6deg}
.bwe-tour .s4-step:nth-child(even){--r:.5deg}
.bwe-tour .s4-step::before{content:'';position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-2deg);width:42px;height:12px;background:rgba(226,186,72,0.55);border:1px solid rgba(226,186,72,0.7);border-radius:1px;z-index:2}
.bwe-tour .scene[data-progress="0"] .s4-step:nth-child(1),
.bwe-tour .scene[data-progress="1"] .s4-step:nth-child(1),
.bwe-tour .scene[data-progress="1"] .s4-step:nth-child(2),
.bwe-tour .scene[data-progress="1"] .s4-step:nth-child(3),
.bwe-tour .scene[data-progress="2"] .s4-step:nth-child(-n+4),
.bwe-tour .scene[data-progress="3"] .s4-step{opacity:1;transform:translateY(0) rotate(var(--r))}
.bwe-tour .s4-step-num{font-family:'Gaegu',cursive;font-size:15px;color:var(--ink-m);width:34px;flex-shrink:0;text-align:center;letter-spacing:.06em;text-transform:uppercase}
.bwe-tour .s4-step-photo{width:54px;height:54px;border-radius:7px;overflow:hidden;background:var(--cream3);flex-shrink:0;position:relative}
.bwe-tour .s4-step-photo img{width:100%;height:100%;object-fit:cover;display:block}
.bwe-tour .s4-step-letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--purple);color:#fff;font-family:'Shrikhand',serif;font-size:26px}
.bwe-tour .s4-step-body{flex:1;min-width:0}
.bwe-tour .s4-step-name{font-family:'Shrikhand',serif;font-size:19px;color:var(--ink);line-height:1.1;letter-spacing:-.012em;margin-bottom:2px}
.bwe-tour .s4-step-country{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:500;color:var(--ink-s)}
.bwe-tour .s4-step-lock{color:var(--ink-m);opacity:.7;flex-shrink:0}
.bwe-tour .s4-toast{position:absolute;bottom:-30px;right:0;background:var(--ink);color:#fff;font-family:'Fredoka',sans-serif;font-size:15px;padding:13px 20px;border-radius:100px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 36px rgba(45,40,32,0.36);opacity:0;transform:translateX(20px);transition:opacity .5s ease,transform .6s ease}
.bwe-tour .scene[data-progress="3"] .s4-toast{opacity:1;transform:translateX(0)}
.bwe-tour .s4-toast-icon{width:18px;height:18px;flex-shrink:0;opacity:.85}
.bwe-tour .s4-toast b{font-weight:600}/* ───────── CHAPTER 5: Sharing ───────── */

.bwe-tour .s5-paper{background:linear-gradient(160deg,var(--cream) 0%,#fdfaf2 100%);display:flex;align-items:center;justify-content:flex-start;padding:60px 40px 60px 8%;gap:60px;flex-wrap:wrap}
.bwe-tour .s5-modal{background:var(--paper);border:1.5px solid var(--border);border-radius:20px;padding:26px 26px 22px;width:340px;max-width:100%;box-shadow:0 22px 50px rgba(45,40,32,0.18);position:relative;transform:rotate(-1.4deg) translateY(40px);opacity:0;transition:opacity .6s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .s5-modal::before{content:'';position:absolute;top:-1px;left:36%;right:36%;height:10px;background:rgba(154,112,212,0.36);border:1px solid rgba(154,112,212,0.46);border-top:none;border-radius:0 0 5px 5px}
.bwe-tour .scene[data-progress="0"] .s5-modal,
.bwe-tour .scene[data-progress="1"] .s5-modal,
.bwe-tour .scene[data-progress="2"] .s5-modal,
.bwe-tour .scene[data-progress="3"] .s5-modal{opacity:1;transform:rotate(-1.4deg) translateY(0)}
.bwe-tour .s5-modal-eye{font-family:'Gaegu',cursive;font-size:13px;color:var(--purple-d);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.bwe-tour .s5-modal-h{font-family:'Shrikhand',serif;font-size:22px;line-height:1.1;color:var(--ink);margin-bottom:14px;letter-spacing:-.012em}
.bwe-tour .s5-modal-h .pop{color:var(--purple-d)}
.bwe-tour .s5-modal-url{display:flex;gap:6px;margin-bottom:14px}
.bwe-tour .s5-modal-url-input{flex:1;background:var(--cream2);border:1.5px solid var(--border);border-radius:8px;padding:9px 12px;font-family:'Fredoka',sans-serif;font-size:13px;color:var(--ink-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bwe-tour .s5-modal-url-btn{background:rgba(154,112,212,0.10);border:1.5px solid rgba(154,112,212,0.32);color:var(--purple-d);font-family:'Fredoka',sans-serif;font-size:13px;font-weight:600;padding:9px 14px;border-radius:8px}
.bwe-tour .s5-modal-send{background:var(--purple);color:#fff;font-family:'Fredoka',sans-serif;font-size:14px;font-weight:600;padding:11px 16px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;border:none}
.bwe-tour .s5-modal-anon{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);font-family:'Fredoka',sans-serif;font-size:13.5px;font-weight:500;color:var(--ink-s);display:flex;justify-content:space-between;align-items:center}
.bwe-tour .s5-modal-toggle{width:34px;height:19px;background:var(--purple);border-radius:100px;position:relative;flex-shrink:0}
.bwe-tour .s5-modal-toggle::after{content:'';position:absolute;top:2px;right:2px;width:15px;height:15px;background:white;border-radius:50%}

.bwe-tour .s5-phone{width:240px;height:480px;background:var(--ink);border-radius:34px;padding:10px;box-shadow:0 30px 70px rgba(45,40,32,0.40);transform:rotate(4deg) translateX(80px);opacity:0;transition:opacity .6s ease,transform .9s cubic-bezier(.22,.61,.36,1) .2s;position:relative}
.bwe-tour .s5-phone::before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:80px;height:5px;background:#0a0a0a;border-radius:100px;z-index:3}
.bwe-tour .scene[data-progress="1"] .s5-phone,
.bwe-tour .scene[data-progress="2"] .s5-phone,
.bwe-tour .scene[data-progress="3"] .s5-phone{opacity:1;transform:rotate(4deg) translateX(0)}
.bwe-tour .s5-phone-screen{width:100%;height:100%;background:var(--cream);border-radius:26px;overflow:hidden;position:relative;padding:24px 16px 16px}
.bwe-tour .s5-phone-eye{font-family:'Gaegu',cursive;font-size:11.5px;color:var(--purple-d);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.bwe-tour .s5-phone-h{font-family:'Shrikhand',serif;font-size:18px;color:var(--ink);line-height:1.05;letter-spacing:-.01em;margin-bottom:14px}
.bwe-tour .s5-phone-h .pop{color:var(--coral)}
.bwe-tour .s5-phone-step{background:var(--paper);border:1px solid var(--border);border-radius:7px;padding:7px;margin-bottom:7px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 5px rgba(45,40,32,0.06)}
.bwe-tour .s5-phone-step-photo{width:36px;height:36px;border-radius:5px;overflow:hidden;background:var(--cream3);flex-shrink:0;position:relative}
.bwe-tour .s5-phone-step-photo img{width:100%;height:100%;object-fit:cover}
.bwe-tour .s5-phone-step-photo .ltr{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--purple);color:#fff;font-family:'Shrikhand',serif;font-size:18px}
.bwe-tour .s5-phone-step-text{flex:1;min-width:0}
.bwe-tour .s5-phone-step-name{font-family:'Shrikhand',serif;font-size:12.5px;color:var(--ink);line-height:1.1;letter-spacing:-.008em}
.bwe-tour .s5-phone-step-meta{font-family:'Fredoka',sans-serif;font-size:11px;font-weight:500;color:var(--ink-s)}
.bwe-tour .s5-phone-step.locked{background:rgba(154,112,212,0.07);border-style:dashed}
.bwe-tour .s5-phone-step.locked .s5-phone-step-name{color:var(--ink-s)}
.bwe-tour .s5-phone-lock{width:11px;height:11px;color:var(--purple-d);flex-shrink:0}

.bwe-tour .s5-annot{position:absolute;font-family:'Gaegu',cursive;font-size:14px;color:var(--ink-s);background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border:1px dashed var(--border);padding:8px 12px;border-radius:10px;z-index:6;max-width:190px;line-height:1.4;opacity:0;transition:opacity .5s ease}
.bwe-tour .scene[data-progress="2"] .s5-annot,
.bwe-tour .scene[data-progress="3"] .s5-annot{opacity:1}
.bwe-tour .s5-annot-1{top:20%;left:34%;transform:rotate(2deg);transition-delay:.15s}
.bwe-tour .s5-annot-2{bottom:22%;left:32%;transform:rotate(-3deg);background:rgba(122,154,90,0.10);border-color:rgba(122,154,90,0.42);color:var(--olive);transition-delay:.3s}/* ───────── CHAPTER 6: The year held ───────── */

.bwe-tour .s6-paper{background:linear-gradient(165deg,var(--cream) 0%,#fdfaf2 100%);display:flex;align-items:center;justify-content:center;padding:80px 32px;flex-direction:column;gap:32px}
.bwe-tour .s6-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,260px));gap:18px;width:100%;max-width:880px}
.bwe-tour .s6-cell{background:var(--paper);border:1.5px solid var(--border);border-radius:12px;padding:14px 14px 11px;box-shadow:0 6px 18px rgba(45,40,32,0.08);position:relative;opacity:0;transform:translateY(20px) rotate(var(--r,-.4deg));transition:opacity .55s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .s6-cell:nth-child(odd){--r:-.5deg}
.bwe-tour .s6-cell:nth-child(even){--r:.4deg}
.bwe-tour .s6-cell:nth-child(3n){--r:-.2deg}
.bwe-tour .s6-cell::before{content:'';position:absolute;top:-1px;left:34%;right:34%;height:7px;background:rgba(232,132,90,0.32);border:1px solid rgba(232,132,90,0.44);border-top:none;border-radius:0 0 3px 3px}
.bwe-tour .s6-cell:nth-child(3n+1)::before{background:rgba(154,112,212,0.32);border-color:rgba(154,112,212,0.44)}
.bwe-tour .s6-cell:nth-child(3n+2)::before{background:rgba(122,154,90,0.32);border-color:rgba(122,154,90,0.44)}
.bwe-tour .scene[data-progress="1"] .s6-cell:nth-child(-n+4),
.bwe-tour .scene[data-progress="2"] .s6-cell,
.bwe-tour .scene[data-progress="3"] .s6-cell{opacity:1;transform:translateY(0) rotate(var(--r))}
.bwe-tour .s6-cell-faces{display:flex;align-items:center;margin-bottom:8px}
.bwe-tour .s6-cf{width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--cream3);border:2px solid #fff;box-shadow:0 2px 5px rgba(45,40,32,0.10);margin-left:-7px;flex-shrink:0}
.bwe-tour .s6-cf:first-child{margin-left:0}
.bwe-tour .s6-cf img{width:100%;height:100%;object-fit:cover}
.bwe-tour .s6-cell-name{font-family:'Shrikhand',serif;font-size:15.5px;color:var(--ink);line-height:1.1;letter-spacing:-.01em;margin-bottom:4px}
.bwe-tour .s6-cell-meta{font-family:'Fredoka',sans-serif;font-size:13.5px;font-weight:500;color:var(--ink-s)}
.bwe-tour .s6-banner{max-width:760px;width:100%;background:linear-gradient(160deg,#fdfaff 0%,#f5eeff 100%);border:1.5px solid rgba(154,112,212,0.30);border-radius:18px;padding:32px 34px;text-align:center;position:relative;box-shadow:0 18px 44px rgba(154,112,212,0.20);opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .s6-banner::before{content:'';position:absolute;top:-1px;left:38%;right:38%;height:9px;background:rgba(154,112,212,0.36);border:1px solid rgba(154,112,212,0.45);border-top:none;border-radius:0 0 4px 4px}
.bwe-tour .scene[data-progress="3"] .s6-banner{opacity:1;transform:translateY(0)}
.bwe-tour .s6-banner-eye{font-family:'Gaegu',cursive;font-size:16px;color:var(--purple-d);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-weight:700}
.bwe-tour .s6-banner-h{font-family:'Shrikhand',serif;font-size:clamp(28px,3.4vw,42px);color:var(--ink);line-height:1.06;letter-spacing:-.015em;margin-bottom:10px}
.bwe-tour .s6-banner-h .pop{color:var(--coral)}
.bwe-tour .s6-banner-sub{font-family:'Fredoka',sans-serif;font-weight:400;font-size:clamp(17px,1.9vw,21px);color:var(--ink-s);line-height:1.55}/* ───────── FACE RIVER (the library) ───────── */

.bwe-tour .riv{padding:110px 0 90px;position:relative;z-index:1;overflow:hidden;background:linear-gradient(180deg,var(--cream) 0%,#fdfaf2 18%,#fdfaf2 82%,var(--cream) 100%)}
.bwe-tour .riv-header{max-width:880px;margin:0 auto 50px;padding:0 24px;text-align:center;position:relative;z-index:2}
.bwe-tour .riv-eye{font-family:'Gaegu',cursive;font-size:18px;color:var(--purple-d);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;display:inline-flex;align-items:center;gap:10px;font-weight:700}
.bwe-tour .riv-eye::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--coral);animation:bwt-pulse 2.4s ease-in-out infinite}
.bwe-tour .riv-h{font-family:'Shrikhand',serif;font-size:clamp(40px,6.4vw,78px);line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin-bottom:20px}
.bwe-tour .riv-h .pop{color:var(--coral)}
.bwe-tour .riv-sub{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(19px,2.1vw,24px);color:var(--ink-s);line-height:1.55;max-width:680px;margin:0 auto}
.bwe-tour .riv-rows{display:flex;flex-direction:column;gap:14px;position:relative}
.bwe-tour .riv-row{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%)}
/* S92 r4: marquee paused until the section is in view, so the wall LANDS when you arrive
   rather than already drifting before you see it. */
.bwe-tour .riv-track{display:flex;gap:14px;width:max-content;animation:riv-scroll 88s linear infinite;animation-play-state:paused}
.bwe-tour .riv-track-r{animation:riv-scroll-r 88s linear infinite;animation-play-state:paused}
.bwe-tour .riv.is-flooding .riv-track,
.bwe-tour .riv.is-flooding .riv-track-r{animation-play-state:running}
.bwe-tour .riv-row-2 .riv-track{animation-duration:104s}
.bwe-tour .riv-row-3 .riv-track{animation-duration:76s}
.bwe-tour .riv-row:hover .riv-track{animation-play-state:paused}
@keyframes riv-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes riv-scroll-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
/* S92 r4: per-row entrance offsets so the wall doesn't just pop uniformly, rows
   crash in from different vertical directions and angles, then settle. */
.bwe-tour .riv-face{position:relative;flex-shrink:0;width:78px;height:78px;border-radius:50%;overflow:hidden;background:var(--cream3);border:3px solid #fff;box-shadow:0 5px 14px rgba(45,40,32,0.16);transition:transform .25s ease,box-shadow .25s ease,opacity .9s ease;opacity:0;--rry:-44px;--rrot:-12deg;transform:scale(.18) translateY(var(--rry)) rotate(var(--rrot))}
.bwe-tour .riv-row-2 .riv-face{--rry:44px;--rrot:12deg}
.bwe-tour .riv-row-3 .riv-face{--rry:-36px;--rrot:-8deg}
.bwe-tour .riv.is-flooding .riv-face{opacity:1;transform:scale(1) translateY(0) rotate(0deg);transition:opacity .65s ease,transform .95s cubic-bezier(.34,1.45,.4,1),box-shadow .25s ease;transition-delay:calc(var(--i,0) * 52ms)}
.bwe-tour .riv-face:hover{transform:scale(1.22) !important;box-shadow:0 10px 26px rgba(45,40,32,0.26);z-index:5;transition-delay:0s !important}
.bwe-tour .riv-face img{width:100%;height:100%;object-fit:cover;display:block}
.bwe-tour .riv-face::after{content:attr(data-name) " \00b7 " attr(data-country);position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);font-family:'Gaegu',cursive;font-size:12px;color:var(--ink-s);background:var(--paper);padding:3px 9px;border-radius:100px;border:1px solid var(--border);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}
.bwe-tour .riv-face:hover::after{opacity:1}
.bwe-tour .riv-foot{margin-top:48px;text-align:center;font-family:'Fredoka',sans-serif;font-size:18px;font-weight:500;color:var(--ink-s)}
.bwe-tour .riv-foot a{color:var(--purple-d);text-decoration:underline dotted;text-underline-offset:3px;font-weight:600}
.bwe-tour .riv-foot a:hover{color:var(--coral)}/* ───────── OUTRO ───────── */

.bwe-tour .outro{padding:100px 24px 130px;text-align:center;position:relative}
.bwe-tour .outro-card{max-width:860px;margin:0 auto;background:linear-gradient(160deg,#fdfaff 0%,#f5eeff 100%);border:1.5px solid rgba(154,112,212,0.30);border-radius:24px;padding:72px 44px 60px;position:relative;box-shadow:0 22px 60px rgba(154,112,212,0.22)}
.bwe-tour .outro-card::before{content:'';position:absolute;top:-1px;left:34%;right:34%;height:11px;background:rgba(154,112,212,0.36);border:1px solid rgba(154,112,212,0.46);border-top:none;border-radius:0 0 5px 5px}
.bwe-tour .outro-eye{font-family:'Gaegu',cursive;font-size:18px;color:var(--purple-d);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;display:inline-flex;align-items:center;gap:8px;font-weight:700}
.bwe-tour .outro-eye::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--coral)}
.bwe-tour .outro-h{font-family:'Shrikhand',serif;font-size:clamp(40px,6vw,72px);line-height:1.03;letter-spacing:-.022em;color:var(--ink);margin-bottom:22px}
.bwe-tour .outro-h .pop{color:var(--coral)}
.bwe-tour .outro-h .pop2{color:var(--purple-d)}
.bwe-tour .outro-body{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(20px,2.2vw,24px);color:var(--ink-s);line-height:1.55;max-width:640px;margin:0 auto 32px}
.bwe-tour .outro-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.bwe-tour .outro-btn{font-family:'Fredoka',sans-serif;font-size:18px;font-weight:600;padding:17px 34px;border-radius:100px;cursor:pointer;border:1.5px solid transparent;transition:all .25s;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.bwe-tour .outro-btn-primary{background:var(--coral);color:white;border-color:var(--coral);box-shadow:0 8px 22px rgba(232,132,90,0.34)}
.bwe-tour .outro-btn-primary:hover{background:var(--coral-d);border-color:var(--coral-d);transform:translateY(-1px);box-shadow:0 14px 34px rgba(232,132,90,0.44)}
.bwe-tour .outro-btn-ghost{background:transparent;color:var(--ink-s);border-color:var(--border)}
.bwe-tour .outro-btn-ghost:hover{border-color:var(--purple);color:var(--purple-d)}
.bwe-tour .outro-btn .arr{transition:transform .2s}
.bwe-tour .outro-btn:hover .arr{transform:translateX(4px)}
.bwe-tour .outro-meta{margin-top:28px;font-family:'Fredoka',sans-serif;font-size:16px;font-weight:500;color:var(--ink-s)}
.bwe-tour .outro-meta a{color:var(--purple-d);text-decoration:underline dotted;text-underline-offset:3px}/* Outro pricing block */

.bwe-tour .outro-price{margin:32px auto 32px;max-width:600px;background:rgba(255,255,255,0.7);border:1.5px solid rgba(154,112,212,0.22);border-radius:14px;padding:20px 24px;box-shadow:0 6px 18px rgba(154,112,212,0.10)}
.bwe-tour .outro-price-row{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:14px;padding:10px 0;text-align:left}
.bwe-tour .outro-price-row + .outro-price-row{border-top:1px dashed rgba(154,112,212,0.22)}
.bwe-tour .outro-price-tag{font-family:'Shrikhand',serif;font-size:20px;color:var(--purple-d);letter-spacing:-.012em}
.bwe-tour .outro-price-row-alt .outro-price-tag{color:var(--coral)}
.bwe-tour .outro-price-amt{font-family:'Shrikhand',serif;font-size:36px;color:var(--ink);letter-spacing:-.02em;line-height:1}
.bwe-tour .outro-price-per{font-family:'Fredoka',sans-serif;font-size:15px;color:var(--ink-s);font-weight:500;margin-left:3px}
.bwe-tour .outro-price-meta{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:500;color:var(--ink-s);text-align:right}
.bwe-tour .outro-price-foot{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(154,112,212,0.22);font-family:'Fredoka',sans-serif;font-size:14.5px;font-weight:500;color:var(--ink-s);text-align:center}
.bwe-tour .outro-price-foot a{color:var(--purple-d);text-decoration:underline dotted;text-underline-offset:3px;margin-left:6px;font-weight:600}
.bwe-tour .outro-price-foot a:hover{color:var(--coral)}/* ───────── VOICES IN THE FIELD (scrollymation) ───────── */

.bwe-tour .voices-intro{padding:80px 24px 30px;background:transparent;position:relative;text-align:center}
.bwe-tour .voices-intro-eye{font-family:'Gaegu',cursive;font-size:17px;color:var(--purple-d);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px;font-weight:700}
.bwe-tour .voices-intro-eye::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--coral);animation:bwt-pulse 2.4s ease-in-out infinite}
.bwe-tour .voices-intro-h{font-family:'Shrikhand',serif;font-size:clamp(34px,5vw,54px);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin:0 auto 16px;max-width:820px}
.bwe-tour .voices-intro-h .pop{color:var(--coral)}
.bwe-tour .voices-intro-h .pop2{color:var(--purple-d)}
.bwe-tour .voices-intro-sub{font-family:'Fredoka',sans-serif;font-weight:400;font-size:clamp(17px,1.9vw,21px);color:var(--ink-s);line-height:1.55;max-width:640px;margin:0 auto}

/* S92 r4: FULL-BLEED CINEMATIC HERO BAND, used for both the home year-intro and the voices-intro
   on home and pro-tour. A horizontal collage of three corpus GIFs fills the section, with a dark
   legibility gradient and white text overlaid. Variants .tour-hero--warm (coral wash, year band)
   and .tour-hero--cool (purple wash, voices band) so the two bands feel related but distinct. */
.bwe-tour .tour-hero{position:relative;height:min(72vh,720px);min-height:520px;width:100%;overflow:hidden;background:#16120f;color:#fff}
.bwe-tour .tour-hero-media{position:absolute;inset:0;z-index:0;display:flex;gap:0}
.bwe-tour .tour-hero-col{flex:1;position:relative;overflow:hidden}
.bwe-tour .tour-hero-col img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08);filter:saturate(1.04) brightness(.86);animation:tour-hero-drift 18s cubic-bezier(.55,.06,.49,1) infinite alternate}
.bwe-tour .tour-hero-col:nth-child(2) img{animation-delay:-6s}
.bwe-tour .tour-hero-col:nth-child(3) img{animation-delay:-12s}
@keyframes tour-hero-drift{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-2%,-2%,0)}}
@media (prefers-reduced-motion:reduce){.bwe-tour .tour-hero-col img{animation:none}}
/* dark legibility wash + color tint */
.bwe-tour .tour-hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(16,12,10,.78) 0%,rgba(16,12,10,.42) 40%,rgba(16,12,10,.42) 60%,rgba(16,12,10,.86) 100%)}
.bwe-tour .tour-hero-tint{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:soft-light;opacity:.7}
.bwe-tour .tour-hero--warm .tour-hero-tint{background:radial-gradient(ellipse at 50% 60%,rgba(232,132,90,.55),transparent 65%)}
.bwe-tour .tour-hero--cool .tour-hero-tint{background:radial-gradient(ellipse at 50% 60%,rgba(154,112,212,.55),transparent 65%)}
/* content */
.bwe-tour .tour-hero-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 5vw}
.bwe-tour .tour-hero-eye{font-family:'Gaegu',cursive;font-size:18px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px;display:inline-flex;align-items:center;gap:10px}
.bwe-tour .tour-hero--warm .tour-hero-eye{color:#f3c8aa}
.bwe-tour .tour-hero--cool .tour-hero-eye{color:#cbb0ef}
.bwe-tour .tour-hero-eye::before{content:'';width:9px;height:9px;border-radius:50%;background:currentColor}
.bwe-tour .tour-hero-h{font-family:'Shrikhand',serif;font-size:clamp(40px,6vw,82px);line-height:1.02;letter-spacing:-.02em;color:#fff;max-width:18ch;margin:0 auto 22px;text-shadow:0 2px 28px rgba(0,0,0,.5)}
.bwe-tour .tour-hero--warm .tour-hero-h .pop{color:#f0a878}
.bwe-tour .tour-hero--warm .tour-hero-h .pop2{color:#c4a5e8}
.bwe-tour .tour-hero--cool .tour-hero-h .pop{color:#c4a5e8}
.bwe-tour .tour-hero--cool .tour-hero-h .pop2{color:#f0a878}
.bwe-tour .tour-hero-sub{font-family:'Fredoka',sans-serif;font-weight:400;font-size:clamp(17px,1.7vw,21px);color:rgba(255,255,255,.92);line-height:1.55;max-width:620px;margin:0 auto;text-shadow:0 1px 12px rgba(0,0,0,.5)}/* Each voice scene: full-bleed cinematic portrait with overlaid text */

.bwe-tour .voice-scene{position:relative;height:280vh}
.bwe-tour .voice-stage{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;background:#16120f;display:block}
/* S92 r3: FULL-BLEED cinematic voice scene. The portrait fills the entire stage
   (clickable to play); text is overlaid bottom-left over a legibility gradient, so it
   can never overflow or get cut off the way the old side-by-side card layout did.
   The portrait does a continuous Ken Burns zoom driven by --sp (set every scroll frame). */
.bwe-tour .voice-portrait{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:none;background:none;cursor:pointer;z-index:0;display:block;overflow:hidden}
.bwe-tour .voice-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 24%;display:block;transform:scale(calc(1.06 + var(--sp,0) * 0.16));transition:transform .12s linear;filter:saturate(1.05) brightness(.96)}
/* dark wash: heavy bottom + left so overlaid text always reads; right stays open to the face */
.bwe-tour .voice-stage::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(7deg,rgba(16,12,10,.94) 0%,rgba(16,12,10,.82) 22%,rgba(16,12,10,.42) 46%,rgba(16,12,10,.08) 68%,transparent 100%),linear-gradient(90deg,rgba(16,12,10,.6) 0%,rgba(16,12,10,.12) 42%,transparent 70%)}
/* per-voice color glow */
.bwe-tour .voice-stage::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:soft-light;opacity:.85}
.bwe-tour .voice-scene[data-vt="purple"] .voice-stage::after{background:radial-gradient(ellipse at 18% 78%,rgba(154,112,212,.55),transparent 58%)}
.bwe-tour .voice-scene[data-vt="coral"] .voice-stage::after{background:radial-gradient(ellipse at 18% 78%,rgba(232,132,90,.55),transparent 58%)}
.bwe-tour .voice-scene[data-vt="olive"] .voice-stage::after{background:radial-gradient(ellipse at 18% 78%,rgba(122,154,90,.55),transparent 58%)}

/* big play disc, vertically centered on the open (right) side of the portrait */
.bwe-tour .voice-portrait-play{position:absolute;right:13%;top:46%;transform:translateY(-50%);z-index:3;width:104px;height:104px;border-radius:50%;background:rgba(232,132,90,.96);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 54px rgba(0,0,0,.42),0 0 0 8px rgba(255,255,255,.16),0 0 0 18px rgba(232,132,90,.20);transition:transform .25s ease,box-shadow .25s ease;animation:vplay-pulse 3s ease-in-out infinite;pointer-events:none}
.bwe-tour .voice-scene[data-vt="purple"] .voice-portrait-play{background:rgba(154,112,212,.96);box-shadow:0 20px 54px rgba(0,0,0,.42),0 0 0 8px rgba(255,255,255,.16),0 0 0 18px rgba(154,112,212,.20)}
.bwe-tour .voice-scene[data-vt="olive"] .voice-portrait-play{background:rgba(122,154,90,.96);box-shadow:0 20px 54px rgba(0,0,0,.42),0 0 0 8px rgba(255,255,255,.16),0 0 0 18px rgba(122,154,90,.20)}
.bwe-tour .voice-portrait:hover .voice-portrait-play{transform:translateY(-50%) scale(1.07)}
.bwe-tour .voice-portrait-tri{width:0;height:0;border-style:solid;border-width:15px 0 15px 26px;border-color:transparent transparent transparent #fff;margin-left:6px}
@keyframes vplay-pulse{0%,100%{box-shadow:0 20px 54px rgba(0,0,0,.42),0 0 0 8px rgba(255,255,255,.16),0 0 0 18px rgba(232,132,90,.20)}50%{box-shadow:0 20px 54px rgba(0,0,0,.42),0 0 0 8px rgba(255,255,255,.16),0 0 0 26px rgba(232,132,90,.05)}}

/* overlaid text column, anchored bottom-left, guaranteed to fit */
.bwe-tour .voice-content{position:absolute;left:0;bottom:0;z-index:2;width:min(680px,82vw);padding:0 5% 8vh 7%;color:#fff;pointer-events:none}
.bwe-tour .voice-content > *{pointer-events:auto}
.bwe-tour .voice-eye{font-family:'Gaegu',cursive;font-size:17px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;display:inline-flex;align-items:center;gap:9px;font-weight:700;color:#f3c8aa;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .45s ease}
.bwe-tour .voice-scene[data-vt="purple"] .voice-eye{color:#cbb0ef}
.bwe-tour .voice-scene[data-vt="olive"] .voice-eye{color:#bcd49a}
.bwe-tour .voice-eye::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.bwe-tour .voice-h{font-family:'Shrikhand',serif;font-size:clamp(33px,4.3vw,56px);line-height:1.05;letter-spacing:-.022em;color:#fff;margin-bottom:22px;text-shadow:0 2px 24px rgba(0,0,0,.45);opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .voice-h .pop{color:#f0a878}
.bwe-tour .voice-scene[data-vt="purple"] .voice-h .pop{color:#c4a5e8}
.bwe-tour .voice-scene[data-vt="olive"] .voice-h .pop{color:#aecb88}
.bwe-tour .voice-quote{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(19px,2.1vw,27px);line-height:1.4;color:rgba(255,255,255,.96);margin-bottom:16px;padding-left:18px;border-left:4px solid var(--coral);text-shadow:0 1px 14px rgba(0,0,0,.4);opacity:0;transform:translateY(20px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .voice-scene[data-vt="purple"] .voice-quote{border-left-color:var(--purple)}
.bwe-tour .voice-scene[data-vt="olive"] .voice-quote{border-left-color:var(--olive)}
.bwe-tour .voice-quote-2{font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(16px,1.7vw,21px);line-height:1.5;color:rgba(255,255,255,.8);margin-bottom:26px;padding-left:18px;border-left:4px solid rgba(255,255,255,.28);text-shadow:0 1px 12px rgba(0,0,0,.4);opacity:0;transform:translateY(20px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .voice-meta-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .5s ease}
.bwe-tour .voice-cred{min-width:0}
.bwe-tour .voice-name{font-family:'Shrikhand',serif;font-size:clamp(20px,2vw,26px);color:#fff;line-height:1.04;letter-spacing:-.015em;margin-bottom:3px;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.bwe-tour .voice-role{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:500;color:rgba(255,255,255,.74);line-height:1.3}
.bwe-tour .voice-cta{display:inline-flex;align-items:center;gap:10px;background:var(--coral);color:#fff;font-family:'Fredoka',sans-serif;font-size:16px;font-weight:600;padding:13px 24px;border-radius:100px;cursor:pointer;border:none;transition:all .22s;box-shadow:0 12px 30px rgba(0,0,0,.34)}
.bwe-tour .voice-cta span{font-weight:500;opacity:.82;font-size:14px}
.bwe-tour .voice-cta:hover{transform:translateY(-1px);filter:brightness(1.06)}
.bwe-tour .voice-scene[data-vt="purple"] .voice-cta{background:var(--purple)}
.bwe-tour .voice-scene[data-vt="olive"] .voice-cta{background:var(--olive)}
.bwe-tour .voice-cta-tri{width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent #fff}

/* reveal sequence: state 0 eye, state 1 headline, state 2 quote, state 3 quote-2 + credit/CTA */
.bwe-tour .voice-scene[data-progress="0"] .voice-eye,
.bwe-tour .voice-scene[data-progress="1"] .voice-eye,
.bwe-tour .voice-scene[data-progress="2"] .voice-eye,
.bwe-tour .voice-scene[data-progress="3"] .voice-eye{opacity:1;transform:translateY(0)}
.bwe-tour .voice-scene[data-progress="1"] .voice-h,
.bwe-tour .voice-scene[data-progress="2"] .voice-h,
.bwe-tour .voice-scene[data-progress="3"] .voice-h{opacity:1;transform:translateY(0)}
.bwe-tour .voice-scene[data-progress="2"] .voice-quote,
.bwe-tour .voice-scene[data-progress="3"] .voice-quote{opacity:1;transform:translateY(0)}
.bwe-tour .voice-scene[data-progress="3"] .voice-quote-2{opacity:1;transform:translateY(0)}
.bwe-tour .voice-scene[data-progress="3"] .voice-meta-row{opacity:1;transform:translateY(0)}

/* on short viewports the second quote is dropped so nothing crowds */
@media (max-height:720px){
  .bwe-tour .voice-quote-2{display:none}
  .bwe-tour .voice-h{font-size:clamp(28px,3.6vw,44px);margin-bottom:16px}
  .bwe-tour .voice-content{padding-bottom:6vh}
}

.bwe-tour .voice-index{position:absolute;top:30px;left:36px;z-index:4;font-family:'Gaegu',cursive;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);text-shadow:0 1px 8px rgba(0,0,0,.5);font-weight:700}/* ───────── PRICING FULL (mounts bwe-pricing.js widget) ───────── */

.bwe-tour .pricing-full{background:linear-gradient(180deg,#fdfaf2 0%,var(--cream) 100%);position:relative;border-top:1.5px solid rgba(45,40,32,0.06)}
.bwe-tour .pricing-full-eye{font-family:'Gaegu',cursive;font-size:18px;color:var(--purple-d);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;display:inline-flex;align-items:center;gap:10px;padding-top:80px;justify-content:center;width:100%;font-weight:700}
.bwe-tour .pricing-full-eye::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--coral);animation:bwt-pulse 2.4s ease-in-out infinite}
.bwe-tour .pricing-full-head{text-align:center;padding:0 24px 8px;font-family:'Shrikhand',serif;font-size:clamp(40px,5.8vw,68px);line-height:1.03;letter-spacing:-.022em;color:var(--ink);max-width:840px;margin:0 auto}
.bwe-tour .pricing-full-head .pop{color:var(--coral)}
.bwe-tour .pricing-full-sub{text-align:center;padding:0 24px 14px;font-family:'Averia Serif Libre',serif;font-style:italic;font-size:clamp(19px,2.1vw,23px);color:var(--ink-s);line-height:1.5;max-width:640px;margin:0 auto 12px}

@media (max-width:1100px){
  .bwe-tour .voice-frame{gap:36px;padding:0 4%}
  .bwe-tour .voice-card{width:320px;max-width:38vw}
  .bwe-tour .voice-h{font-size:clamp(28px,3.8vw,42px)}}

@media (max-width:880px){
  .bwe-tour .voice-scene{height:240vh}
  .bwe-tour .voice-frame{flex-direction:column !important;gap:30px;text-align:center;padding:0 24px}
  .bwe-tour .voice-card{width:min(86vw,360px);max-width:none}
  .bwe-tour .voice-body{max-width:560px;text-align:left}
  .bwe-tour .voices-intro{padding:64px 18px 16px}
  .bwe-tour .pricing-full-eye{padding-top:50px}}/* ───────── VIDEO MODAL ───────── */

.bwe-tour .vmodal{position:fixed;inset:0;z-index:1000;background:radial-gradient(ellipse at center,rgba(45,26,82,0.55) 0%,rgba(8,6,4,0.96) 70%);display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;pointer-events:none;transition:opacity .35s ease,background .5s ease}
.bwe-tour .vmodal[data-tint="purple"]{background:radial-gradient(ellipse at center,rgba(106,72,164,0.62) 0%,rgba(20,12,40,0.96) 65%)}
.bwe-tour .vmodal[data-tint="coral"]{background:radial-gradient(ellipse at center,rgba(232,132,90,0.52) 0%,rgba(40,18,12,0.96) 65%)}
.bwe-tour .vmodal[data-tint="olive"]{background:radial-gradient(ellipse at center,rgba(122,154,90,0.48) 0%,rgba(20,28,16,0.96) 65%)}
.bwe-tour .vmodal.is-open{opacity:1;pointer-events:auto}
.bwe-tour .vmodal-inner{position:relative;width:min(1200px,100%);aspect-ratio:16/9;max-height:90vh;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,0.6)}
.bwe-tour .vmodal-inner #vmodalFrame{position:absolute;inset:0;width:100%;height:100%}
.bwe-tour .vmodal-inner iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.bwe-tour .vmodal-close{position:absolute;top:-44px;right:0;background:rgba(255,255,255,0.12);border:1.5px solid rgba(255,255,255,0.25);color:#fff;font-family:'Fredoka',sans-serif;font-size:14px;padding:8px 16px;border-radius:100px;cursor:pointer;transition:all .2s ease;z-index:10}
.bwe-tour .vmodal-close:hover{background:rgba(255,255,255,0.22);border-color:rgba(255,255,255,0.4)}
.bwe-tour .vmodal-close:focus-visible{outline:2px solid #fff;outline-offset:3px;background:rgba(255,255,255,0.22)}

/* Keyboard-only focus rings on every interactive control in the tour. Uses :focus-visible
   so mouse users don't see them, only keyboard / screen-reader users navigating by Tab. */
.bwe-tour .voice-play:focus-visible,
.bwe-tour .s2-watch:focus-visible,
.bwe-tour .voice-cta:focus-visible,
.bwe-tour .outro-btn:focus-visible{outline:3px solid var(--purple);outline-offset:4px;border-radius:100px}
.bwe-tour .progress-dot:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:50%}
.bwe-tour .hero-logo:focus-visible{outline:2px solid #fff;outline-offset:6px;border-radius:6px;text-decoration:none}/* ───────── RESPONSIVE ───────── */

@media (max-width:1100px){/* Tighter widths: shrink rail/modal+phone offset so text card has room */
  
  .bwe-tour .s4-paper{padding:60px 4% 60px 0}
  .bwe-tour .s4-rail{width:520px;max-width:50vw}
  .bwe-tour .s5-paper{padding:60px 32px 60px 4%;gap:32px}
  .bwe-tour .s5-modal{width:280px}
  .bwe-tour .s5-phone{width:200px;height:400px}
  .bwe-tour .scene-text{max-width:340px}
  .bwe-tour .scene[data-scene="2"] .scene-text,
.bwe-tour .scene[data-scene="3"] .scene-text{max-width:320px}}

@media (max-width:880px){
  .bwe-tour .progress{display:none}
  .bwe-tour .hero{min-height:560px}
  .bwe-tour .hero-h{font-size:clamp(46px,12vw,80px)}
  .bwe-tour .hero-sub{font-size:18px}
  .bwe-tour .scene{height:200vh}
  .bwe-tour .scene-text{max-width:calc(100% - 36px);padding:20px 22px}
  .bwe-tour .scene-text .st-h{font-size:clamp(24px,6vw,32px)}
  .bwe-tour .scene-text .st-body{font-size:15px}
  .bwe-tour .pos-bl,
.bwe-tour .pos-br,
.bwe-tour .pos-bc{bottom:36px;left:18px;right:18px;transform:none;text-align:left}
  .bwe-tour .pos-tl,
.bwe-tour .pos-tr,
.bwe-tour .pos-tc{top:80px;left:18px;right:18px;transform:none;text-align:left}
  .bwe-tour .scene-index{font-size:12px}
  .bwe-tour .idx-tl,
.bwe-tour .idx-tr{top:18px}
  .bwe-tour .idx-bl,
.bwe-tour .idx-br{bottom:18px}
  .bwe-tour .idx-tl,
.bwe-tour .idx-bl{left:20px}
  .bwe-tour .idx-tr,
.bwe-tour .idx-br{right:20px}/* Chapter 1 */
  
  .bwe-tour .s1-title{font-size:clamp(80px,28vw,160px)}
  .bwe-tour .s1-cards{flex-direction:column;gap:14px;padding:0 24px}
  .bwe-tour .s1-card{width:100%;max-width:320px;padding:10px 10px 14px}
  .bwe-tour .s1-photo{height:140px}/* Chapter 2 */
  
  .bwe-tour .s2-montage{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(7,1fr);gap:5px;padding:5px}
  .bwe-tour .s2-search{top:5%;padding:13px 16px;width:calc(100% - 24px)}
  .bwe-tour .s2-search-q{font-size:15px}
  .bwe-tour .s2-search::before{font-size:11px}
  .bwe-tour .s2-quote{top:19%}
  .bwe-tour .s2-quote-body{font-size:19px;line-height:1.34}
  .bwe-tour .s2-watch-disc{width:84px;height:84px;box-shadow:0 14px 30px rgba(232,132,90,0.45),0 0 0 6px rgba(255,255,255,0.14),0 0 0 14px rgba(232,132,90,0.16)}
  .bwe-tour .s2-watch-tri{border-left-width:22px;border-top-width:14px;border-bottom-width:14px;margin-left:6px}
  .bwe-tour .s2-watch-label{font-size:15px}
  .bwe-tour .s2-watch-meta{font-size:12px}
  .bwe-tour .s2-watch{bottom:8%;gap:12px}/* Chapter 3 */
  
  .bwe-tour .s3-cell-tag{font-size:18px}
  .bwe-tour .s3-cell-tag span{font-size:12px}
  .bwe-tour .s3-lesson{width:calc(100% - 28px);padding:18px 16px}
  .bwe-tour .s3-lq{padding:7px 11px;gap:10px}
  .bwe-tour .s3-lq-by{font-size:12.5px;width:56px}
  .bwe-tour .s3-lq-body{font-size:13.5px}/* Chapter 4 */
  
  .bwe-tour .s4-paper{justify-content:center;padding:60px 16px}
  .bwe-tour .s4-rail{width:calc(100% - 24px);max-width:440px}
  .bwe-tour .s4-rail-title{font-size:22px;top:-38px}
  .bwe-tour .s4-step{padding:11px 12px;gap:10px}
  .bwe-tour .s4-step-photo{width:44px;height:44px}
  .bwe-tour .s4-step-name{font-size:15px}
  .bwe-tour .s4-step-country{font-size:12px}
  .bwe-tour .s4-toast{font-size:12px;padding:10px 14px;right:0;bottom:-22px}/* Chapter 5 */
  
  .bwe-tour .s5-paper{flex-direction:column;gap:30px;padding:50px 22px;justify-content:center}
  .bwe-tour .s5-modal{width:280px}
  .bwe-tour .s5-phone{width:180px;height:360px;transform:rotate(3deg)}
  .bwe-tour .s5-annot{font-size:12px;max-width:140px;padding:5px 9px}
  .bwe-tour .s5-annot-1{top:6%;right:5%;left:auto}
  .bwe-tour .s5-annot-2{bottom:6%;right:5%;left:auto}/* Chapter 6 */
  
  .bwe-tour .s6-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .bwe-tour .s6-cell{padding:11px 11px 8px}
  .bwe-tour .s6-cell-name{font-size:12.5px}
  .bwe-tour .s6-cell-meta{font-size:10.5px}
  .bwe-tour .s6-cf{width:22px;height:22px}
  .bwe-tour .s6-banner-h{font-size:21px}
  .bwe-tour .s6-banner-sub{font-size:13.5px}/* River */
  
  .bwe-tour .riv{padding:60px 0 50px}
  .bwe-tour .riv-header{margin-bottom:32px;padding:0 18px}
  .bwe-tour .riv-h{font-size:clamp(30px,8vw,46px)}
  .bwe-tour .riv-sub{font-size:16px}
  .bwe-tour .riv-rows{gap:11px}
  .bwe-tour .riv-face{width:58px;height:58px;border-width:2.5px}
  .bwe-tour .riv-track{gap:11px}
  .bwe-tour .riv-foot{margin-top:28px;font-size:14px;padding:0 18px}/* Outro */
  
  .bwe-tour .outro{padding:50px 18px 70px}
  .bwe-tour .outro-card{padding:42px 24px 38px}
  .bwe-tour .outro-price{padding:14px 16px;margin:22px auto}
  .bwe-tour .outro-price-row{grid-template-columns:1fr;gap:4px;text-align:left}
  .bwe-tour .outro-price-amt{font-size:26px}
  .bwe-tour .outro-price-meta{text-align:left;font-size:12.5px}/* Modal */
  
  .bwe-tour .vmodal{padding:20px}
  .bwe-tour .vmodal-close{top:-38px;font-size:13px;padding:6px 14px}}

@media (prefers-reduced-motion: reduce){
  .bwe-tour *,
.bwe-tour *::before,
.bwe-tour *::after{transition:none !important;animation:none !important}
  .bwe-tour .scene-layer,
.bwe-tour .s1-card,
.bwe-tour .s3-lesson,
.bwe-tour .s5-phone,
.bwe-tour .s5-modal,
.bwe-tour .s4-step,
.bwe-tour .s6-cell,
.bwe-tour .s6-banner,
.bwe-tour .s2-search,
.bwe-tour .s2-hero,
.bwe-tour .s2-quote,
.bwe-tour .s2-watch{opacity:1 !important;transform:none !important}
  .bwe-tour .riv-track,
.bwe-tour .riv-track-r{animation:none !important}
  .bwe-tour .s3-threads path{stroke-dashoffset:0 !important}}


/* Honor prefers-reduced-motion fully: kill every animation and transition inside the
   tour. The JS already disables the scroll engine in this mode (sets all scenes to
   data-progress="3"); this block stops the decorative pulses and bounces that would
   otherwise keep running. We keep `transition-duration: 0.001ms` rather than `none`
   so transitionend listeners (if any) still fire. */
@media (prefers-reduced-motion: reduce) {
  .bwe-tour *,
  .bwe-tour *::before,
  .bwe-tour *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .bwe-tour .riv-track,
  .bwe-tour .riv-track-r { animation: none !important; }
}


/* ═══════════════════════════════════════════════════════════════════════
   S6 FEATURED JOURNEY CARD  ·  the "one Journey, opened" beat
   At state 0 a single Learning Journey sits open and centered, its four
   lessons cascading in. As the reader scrolls it recedes and scales away
   while the full 3x3 year-grid floods in behind it. s6-paper is already
   position:absolute (it is a .scene-layer filling the 100vh stage), so the
   card centers on the viewport without any change to s6-paper itself.
   ═══════════════════════════════════════════════════════════════════════ */
.bwe-tour .s6-featured{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%) scale(1);
  transform-origin:center center;
  width:min(560px,90vw);
  background:linear-gradient(168deg,var(--paper) 0%,var(--cream2) 100%);
  border:1.5px solid var(--border); border-radius:22px;
  padding:30px 30px 26px;
  box-shadow:0 30px 70px rgba(45,40,32,0.20), 0 4px 14px rgba(45,40,32,0.08);
  z-index:6; opacity:1;
  transition:opacity .55s ease, transform .9s cubic-bezier(.22,.61,.36,1);
}
.bwe-tour .s6-feat-tab{
  position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  width:120px; height:9px;
  background:rgba(232,132,90,0.40);
  border:1px solid rgba(232,132,90,0.50); border-top:none;
  border-radius:0 0 5px 5px;
}
.bwe-tour .s6-feat-head{text-align:center; margin-bottom:20px}
.bwe-tour .s6-feat-faces{display:flex; justify-content:center; margin-bottom:12px}
.bwe-tour .s6-feat-face{
  width:46px; height:46px; border-radius:50%; overflow:hidden;
  border:2.5px solid var(--paper); box-shadow:0 3px 8px rgba(45,40,32,0.14);
  margin-left:-10px; background:var(--cream3);
}
.bwe-tour .s6-feat-face:first-child{margin-left:0}
.bwe-tour .s6-feat-face img{width:100%; height:100%; object-fit:cover; display:block}
.bwe-tour .s6-feat-meta{
  font-family:'Gaegu',cursive; font-size:16px; font-weight:700;
  color:var(--purple-d); letter-spacing:.01em; margin-bottom:4px;
}
.bwe-tour .s6-feat-title{
  font-family:'Shrikhand',serif; font-size:clamp(24px,3vw,32px);
  color:var(--ink); line-height:1.05; letter-spacing:-.015em; margin:0;
}
.bwe-tour .s6-feat-lessons{display:flex; flex-direction:column; gap:9px}
.bwe-tour .s6-feat-lesson{
  display:flex; align-items:center; gap:13px;
  background:var(--cream2); border:1px solid var(--border);
  border-radius:13px; padding:9px 13px;
  opacity:0; transform:translateY(12px);
}
.bwe-tour .s6-feat-num{
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:13px;
  color:var(--ink-m); min-width:22px;
}
.bwe-tour .s6-feat-photo{
  width:42px; height:42px; border-radius:9px; overflow:hidden; flex:0 0 auto;
  background:var(--cream3); box-shadow:0 2px 6px rgba(45,40,32,0.12);
}
.bwe-tour .s6-feat-photo img{width:100%; height:100%; object-fit:cover; display:block}
.bwe-tour .s6-feat-body{display:flex; flex-direction:column; gap:1px; flex:1 1 auto; min-width:0}
.bwe-tour .s6-feat-name{
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:16px;
  color:var(--ink); line-height:1.15;
}
.bwe-tour .s6-feat-where{
  font-family:'Fredoka',sans-serif; font-weight:400; font-size:13px;
  color:var(--ink-s); line-height:1.2;
}
.bwe-tour .s6-feat-arr{
  font-family:'Fredoka',sans-serif; font-size:22px; color:var(--ink-m);
  flex:0 0 auto; line-height:1;
}
.bwe-tour .s6-feat-hint{
  display:block; text-align:center; margin-top:16px;
  font-family:'Gaegu',cursive; font-size:15px; color:var(--ink-m); letter-spacing:.02em;
}
/* lesson rows cascade in while the card is the focus (state 0) */
@keyframes s6featrow{to{opacity:1; transform:translateY(0)}}
.bwe-tour .scene[data-progress="0"] .s6-feat-lesson{animation:s6featrow .6s cubic-bezier(.22,.61,.36,1) forwards}
.bwe-tour .scene[data-progress="0"] .s6-feat-lesson:nth-child(1){animation-delay:.18s}
.bwe-tour .scene[data-progress="0"] .s6-feat-lesson:nth-child(2){animation-delay:.30s}
.bwe-tour .scene[data-progress="0"] .s6-feat-lesson:nth-child(3){animation-delay:.42s}
.bwe-tour .scene[data-progress="0"] .s6-feat-lesson:nth-child(4){animation-delay:.54s}
/* recede + scale away as the grid floods in */
.bwe-tour .scene[data-progress="1"] .s6-featured{opacity:0; transform:translate(-50%,-50%) scale(.62); pointer-events:none}
.bwe-tour .scene[data-progress="2"] .s6-featured,
.bwe-tour .scene[data-progress="3"] .s6-featured{opacity:0; transform:translate(-50%,-50%) scale(.42); pointer-events:none}

@media (max-width:680px){
  .bwe-tour .s6-featured{width:92vw; padding:22px 18px 20px; border-radius:18px}
  .bwe-tour .s6-feat-face{width:38px; height:38px}
  .bwe-tour .s6-feat-title{font-size:22px}
  .bwe-tour .s6-feat-lesson{gap:10px; padding:8px 10px}
  .bwe-tour .s6-feat-photo{width:36px; height:36px}
  .bwe-tour .s6-feat-name{font-size:14px}
  .bwe-tour .s6-feat-where{font-size:11.5px}
  .bwe-tour .s6-feat-hint{font-size:13px}
}

/* The old fixed numbered progress rail is superseded by the page-level
   journey timeline below. Hide it everywhere without touching the engine JS. */
.bwe-tour .progress{display:none !important}

/* ═══════════════════════════════════════════════════════════════════════
   PERSISTENT JOURNEY TIMELINE  ·  page-level, follows the reader through
   the whole scrollymation (built + driven by /js/bwe-tour-timeline.js).
   Lives on document.body, NOT inside .bwe-tour, so it spans the home page's
   four separate tour wrappers as one continuous spine.
   ═══════════════════════════════════════════════════════════════════════ */
.bwe-timeline{
  position:fixed; right:22px; left:auto; top:50%; transform:translateY(-50%);
  width:max-content; height:auto; min-height:0; margin:0; padding:0; border:0;
  background:none; -webkit-backdrop-filter:none; backdrop-filter:none;
  display:block; box-sizing:border-box; justify-content:initial; align-items:initial;
  z-index:320; opacity:0; visibility:hidden;
  transition:opacity .45s ease, visibility .45s ease;
  pointer-events:none;
}
.bwe-timeline.is-on{opacity:1; visibility:visible; pointer-events:auto}
.bwe-tl-rail{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:17px;
  padding:6px 0; background:none; border:0; box-shadow:none;
}
.bwe-tl-line{
  position:absolute; top:12px; bottom:12px; left:50%; transform:translateX(-50%);
  width:2px; background:rgba(120,110,95,0.38); border-radius:2px; overflow:hidden; z-index:0;
}
.bwe-tl-line-fill{
  position:absolute; top:0; left:0; width:100%; height:0%;
  background:linear-gradient(180deg,var(--coral),var(--purple));
  border-radius:2px; transition:height .25s linear;
}
.bwe-tl-node{
  position:relative; z-index:1;
  appearance:none; -webkit-appearance:none; background:none; border:none;
  padding:0; margin:0; cursor:pointer; display:block; line-height:0;
}
.bwe-tl-node::after{content:''; position:absolute; left:50%; top:50%; width:34px; height:24px; transform:translate(-50%,-50%); border-radius:12px}
.bwe-tl-dot{
  display:block; width:12px; height:12px; border-radius:50%;
  background:rgba(247,242,232,0.95); border:1.5px solid rgba(45,40,32,0.42);
  box-shadow:0 1px 6px rgba(0,0,0,0.30);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.bwe-tl-node:hover .bwe-tl-dot{transform:scale(1.18)}
.bwe-tl-node.is-done .bwe-tl-dot{background:var(--purple); border-color:var(--purple)}
.bwe-tl-node.is-active .bwe-tl-dot{
  background:var(--coral); border-color:var(--coral); transform:scale(1.38);
  box-shadow:0 0 0 6px rgba(232,132,90,0.18);
}
.bwe-tl-label{
  position:absolute; right:calc(100% + 14px); top:50%;
  transform:translateY(-50%) translateX(8px);
  white-space:nowrap; opacity:0; pointer-events:none;
  font-family:'Fredoka',sans-serif; font-weight:500; font-size:13px;
  color:var(--ink); background:var(--cream2);
  border:1px solid var(--border); border-radius:999px;
  padding:5px 12px; box-shadow:0 4px 14px rgba(45,40,32,0.10);
  transition:opacity .3s ease, transform .3s ease;
}
.bwe-timeline:hover .bwe-tl-label{opacity:1; transform:translateY(-50%) translateX(0); pointer-events:auto}
.bwe-tl-node.is-active .bwe-tl-label{
  opacity:1; transform:translateY(-50%) translateX(0); pointer-events:auto;
  color:var(--coral); border-color:rgba(232,132,90,0.45); font-weight:600;
}
.bwe-tl-node:focus-visible{outline:none}
.bwe-tl-node:focus-visible .bwe-tl-dot{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--ink)}

/* mobile: a slim bottom progress bar + a centered phase-name chip.
   Bottom edge avoids fighting the sticky site header. */
.bwe-tl-mini{
  position:fixed; left:0; right:0; bottom:0; height:3px;
  z-index:320; background:rgba(45,40,32,0.10);
  opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s ease;
}
.bwe-tl-mini.is-on{opacity:1; visibility:visible}
.bwe-tl-mini-fill{
  height:100%; width:0%;
  background:linear-gradient(90deg,var(--coral),var(--purple));
  transition:width .25s linear;
}
.bwe-tl-chip{
  position:fixed; left:50%; bottom:16px; transform:translateX(-50%) translateY(6px);
  z-index:320; opacity:0; visibility:hidden;
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:13px;
  color:var(--ink); background:var(--cream2);
  border:1px solid var(--border); border-radius:999px;
  padding:6px 16px; box-shadow:0 6px 20px rgba(45,40,32,0.16);
  transition:opacity .4s ease, visibility .4s ease, transform .4s ease;
  display:flex; align-items:center; gap:8px;
}
.bwe-tl-chip.is-on{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.bwe-tl-chip::before{
  content:''; width:8px; height:8px; border-radius:50%;
  background:var(--coral); box-shadow:0 0 0 3px rgba(232,132,90,0.22);
}
@media (min-width:900px){.bwe-tl-mini,.bwe-tl-chip{display:none}}
@media (max-width:899px){.bwe-timeline{display:none}}

@media (prefers-reduced-motion: reduce){
  .bwe-tl-line-fill,.bwe-tl-mini-fill{transition:none}
  .bwe-tl-dot{transition:none}
  .bwe-tl-label{transition:none}
}


/* ═══════════════════════════════════════════════════════════════════════
   S93 Phase 2 · CHAPTER 3: THE STORY PAGE
   The actual reading surface a learner opens: a wordless film, a calm
   "before you begin" threshold, a chapter, a wonder prompt, and the math
   woven quietly inside a real life. Reveals are scoped by unique .sp-*
   classes so the data-progress selectors cannot leak into other scenes.
   ═══════════════════════════════════════════════════════════════════════ */
.bwe-tour .sp-page{
  background:linear-gradient(168deg,var(--cream) 0%,var(--cream3) 100%);
  display:flex; align-items:center; justify-content:center; padding:40px 24px;
}
.bwe-tour .sp-frame{display:flex; flex-direction:column; align-items:center; gap:20px; width:100%}
.bwe-tour .sp-lead{text-align:center; max-width:640px}
.bwe-tour .sp-lead-eye{
  font-family:'Gaegu',cursive; font-weight:700; font-size:15px;
  color:var(--purple-d); text-transform:uppercase; letter-spacing:.06em; margin-bottom:5px;
}
.bwe-tour .sp-lead-h{
  font-family:'Shrikhand',serif; font-size:clamp(26px,3.6vw,42px);
  color:var(--ink); line-height:1.04; letter-spacing:-.015em; margin:0;
}
.bwe-tour .sp-reader{
  position:relative; width:min(680px,94vw);
  background:var(--paper); border:1.5px solid var(--border); border-radius:20px;
  box-shadow:0 30px 70px rgba(45,40,32,0.18), 0 4px 14px rgba(45,40,32,0.07);
}
.bwe-tour .sp-film{
  position:relative; width:100%; height:min(36vh,300px); overflow:hidden;
  border-radius:20px 20px 0 0; background:#1a1612;
}
.bwe-tour .sp-film img{width:100%; height:100%; object-fit:cover; display:block}
.bwe-tour .sp-film::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(26,22,18,0) 52%,rgba(26,22,18,0.58) 100%)}
.bwe-tour .sp-film-tag{
  position:absolute; left:16px; bottom:13px; z-index:2;
  font-family:'Gaegu',cursive; font-size:14px; color:rgba(255,255,255,0.92); letter-spacing:.02em;
}
.bwe-tour .sp-watch{
  position:absolute; right:13px; bottom:11px; z-index:3;
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(255,255,255,0.16); border:1.5px solid rgba(255,255,255,0.32);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  color:#fff; font-family:'Fredoka',sans-serif; font-size:13px; font-weight:500;
  padding:7px 14px 7px 11px; border-radius:100px; cursor:pointer; transition:background .2s ease;
}
.bwe-tour .sp-watch:hover{background:rgba(255,255,255,0.30)}
.bwe-tour .sp-watch-tri{width:0; height:0; border-left:9px solid #fff; border-top:6px solid transparent; border-bottom:6px solid transparent}
.bwe-tour .sp-body{position:relative; padding:22px 26px 26px}
.bwe-tour .sp-chapter{
  font-family:'Gaegu',cursive; font-weight:700; font-size:14px; color:var(--coral-d);
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px;
  opacity:0; transform:translateY(8px); transition:opacity .5s ease, transform .6s cubic-bezier(.22,.61,.36,1);
}
.bwe-tour .sp-name{
  font-family:'Shrikhand',serif; font-size:clamp(22px,2.8vw,30px); color:var(--ink);
  line-height:1.08; letter-spacing:-.01em; margin-bottom:11px;
  opacity:0; transform:translateY(8px); transition:opacity .5s ease .05s, transform .6s cubic-bezier(.22,.61,.36,1) .05s;
}
.bwe-tour .sp-excerpt{
  font-family:'Averia Serif Libre',Georgia,serif; font-style:italic;
  font-size:clamp(16px,2vw,20px); line-height:1.5; color:var(--ink-s); margin-bottom:18px;
  opacity:0; transform:translateY(8px); transition:opacity .5s ease .1s, transform .6s cubic-bezier(.22,.61,.36,1) .1s;
}
.bwe-tour .sp-prompt{
  background:var(--cream2); border:1px solid rgba(154,112,212,0.26); border-left:3px solid var(--purple);
  border-radius:0 12px 12px 0; padding:12px 15px; margin-bottom:13px;
  opacity:0; transform:translateY(10px); transition:opacity .55s ease, transform .7s cubic-bezier(.22,.61,.36,1);
}
.bwe-tour .sp-prompt-eye{
  display:block; font-family:'Gaegu',cursive; font-weight:700; font-size:13px;
  color:var(--purple-d); text-transform:uppercase; letter-spacing:.05em; margin-bottom:3px;
}
.bwe-tour .sp-prompt p{font-family:'Fredoka',sans-serif; font-weight:400; font-size:15.5px; line-height:1.4; color:var(--ink)}
.bwe-tour .sp-math{
  background:linear-gradient(135deg,#fdf6ee 0%,#f7efe2 100%);
  border:1px solid rgba(232,132,90,0.30); border-radius:12px; padding:12px 15px;
  opacity:0; transform:translateY(10px); transition:opacity .55s ease, transform .7s cubic-bezier(.22,.61,.36,1);
}
.bwe-tour .sp-math-eye{
  display:block; font-family:'Gaegu',cursive; font-weight:700; font-size:13px;
  color:var(--coral-d); text-transform:uppercase; letter-spacing:.05em; margin-bottom:3px;
}
.bwe-tour .sp-math p{font-family:'Fredoka',sans-serif; font-weight:400; font-size:14.5px; line-height:1.45; color:var(--ink)}
/* threshold overlay over the reading body (state 0 only) */
.bwe-tour .sp-threshold{
  position:absolute; inset:0; z-index:4; border-radius:0 0 20px 20px;
  background:linear-gradient(165deg,rgba(45,40,32,0.94),rgba(45,26,82,0.94));
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  padding:28px 28px; opacity:1; transition:opacity .6s ease;
}
.bwe-tour .sp-th-eye{
  font-family:'Gaegu',cursive; font-weight:700; font-size:14px; color:rgba(255,255,255,0.66);
  text-transform:uppercase; letter-spacing:.12em; margin-bottom:13px;
}
.bwe-tour .sp-th-line{font-family:'Shrikhand',serif; font-size:clamp(20px,2.6vw,27px); color:#fff; line-height:1.16; margin-bottom:11px; max-width:400px}
.bwe-tour .sp-th-sub{font-family:'Fredoka',sans-serif; font-weight:300; font-size:14.5px; color:rgba(255,255,255,0.82); line-height:1.4; max-width:320px}

/* reveal choreography (scoped by unique sp- classes) */
.bwe-tour .scene[data-progress="1"] .sp-threshold,
.bwe-tour .scene[data-progress="2"] .sp-threshold,
.bwe-tour .scene[data-progress="3"] .sp-threshold{opacity:0; pointer-events:none}
.bwe-tour .scene[data-progress="1"] .sp-chapter, .bwe-tour .scene[data-progress="2"] .sp-chapter, .bwe-tour .scene[data-progress="3"] .sp-chapter,
.bwe-tour .scene[data-progress="1"] .sp-name, .bwe-tour .scene[data-progress="2"] .sp-name, .bwe-tour .scene[data-progress="3"] .sp-name,
.bwe-tour .scene[data-progress="1"] .sp-excerpt, .bwe-tour .scene[data-progress="2"] .sp-excerpt, .bwe-tour .scene[data-progress="3"] .sp-excerpt{opacity:1; transform:translateY(0)}
.bwe-tour .scene[data-progress="2"] .sp-prompt, .bwe-tour .scene[data-progress="3"] .sp-prompt{opacity:1; transform:translateY(0)}
.bwe-tour .scene[data-progress="3"] .sp-math{opacity:1; transform:translateY(0)}

@media (max-width:680px){
  .bwe-tour .sp-page{padding:28px 16px}
  .bwe-tour .sp-film{height:26vh}
  .bwe-tour .sp-body{padding:18px 18px 20px}
  .bwe-tour .sp-prompt p{font-size:14px}
  .bwe-tour .sp-math p{font-size:13.5px}
}

/* ═══════════════════════════════════════════════════════════════════════
   S93: home gateway hero ("What does a year with reweave feel like?") becomes
   calm breathing room, no background video, before the immersive scroll.
   Only the warm variant changes; the cool voices hero keeps its film band.
   ═══════════════════════════════════════════════════════════════════════ */
.bwe-tour .tour-hero--warm{background:linear-gradient(168deg,var(--cream2) 0%,var(--cream3) 100%); color:var(--ink)}
.bwe-tour .tour-hero--warm .tour-hero-media{display:none}
.bwe-tour .tour-hero--warm .tour-hero-overlay{display:none}
.bwe-tour .tour-hero--warm .tour-hero-tint{background:radial-gradient(ellipse at 50% 52%,rgba(232,132,90,0.10),transparent 70%); mix-blend-mode:normal; opacity:1}
.bwe-tour .tour-hero--warm .tour-hero-eye{color:var(--coral-d)}
.bwe-tour .tour-hero--warm .tour-hero-eye::before{background:var(--coral)}
.bwe-tour .tour-hero--warm .tour-hero-h{color:var(--ink); text-shadow:none}
.bwe-tour .tour-hero--warm .tour-hero-h .pop{color:var(--coral)}
.bwe-tour .tour-hero--warm .tour-hero-h .pop2{color:var(--purple)}
.bwe-tour .tour-hero--warm .tour-hero-sub{color:var(--ink-s); text-shadow:none}

/* ═══════════════════════════════════════════════════════════════════════
   S93 polish: CHAPTER 4 BROWSE (pro-tour)
   "One was a beginning. There is a whole library to wander." Mock of the
   real product browse surface: searchbar, filter chips, face grid. Reveals
   scoped by unique .br-* classes. Distinct beat from the Library face-river
   that comes later: this one is product UI, that one is the wall flood.
   ═══════════════════════════════════════════════════════════════════════ */
.bwe-tour .br-page{background:linear-gradient(168deg,var(--cream) 0%,var(--cream3) 100%); display:flex; align-items:center; justify-content:center; padding:40px 24px}
.bwe-tour .br-frame{display:flex; flex-direction:column; align-items:center; gap:22px; width:100%}
.bwe-tour .br-lead{text-align:center; max-width:720px}
.bwe-tour .br-lead-eye{font-family:'Gaegu',cursive; font-weight:700; font-size:15px; color:var(--purple-d); text-transform:uppercase; letter-spacing:.06em; margin-bottom:5px}
.bwe-tour .br-lead-h{font-family:'Shrikhand',serif; font-size:clamp(24px,3.4vw,40px); color:var(--ink); line-height:1.06; letter-spacing:-.015em; margin:0}
.bwe-tour .br-panel{width:min(780px,94vw); background:var(--paper); border:1.5px solid var(--border); border-radius:20px; box-shadow:0 30px 70px rgba(45,40,32,0.18), 0 4px 14px rgba(45,40,32,0.07); padding:22px 24px 24px}
.bwe-tour .br-searchbar{display:flex; align-items:center; gap:10px; background:var(--cream2); border:1.5px solid var(--border); border-radius:100px; padding:11px 18px; margin-bottom:14px}
.bwe-tour .br-search-icon{font-size:18px; color:var(--ink-m); line-height:1; flex:0 0 auto}
.bwe-tour .br-search-text{font-family:'Fredoka',sans-serif; font-weight:400; font-size:15px; color:var(--ink-m); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.bwe-tour .br-search-caret{width:2px; height:18px; background:var(--coral); flex:0 0 auto; animation:br-caret 1s steps(2,end) infinite}
@keyframes br-caret{50%{opacity:0}}
.bwe-tour .br-chips{display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:18px; min-height:30px}
.bwe-tour .br-chips-label{font-family:'Gaegu',cursive; font-weight:700; font-size:14px; color:var(--ink-m); text-transform:uppercase; letter-spacing:.06em; margin-right:3px}
.bwe-tour .br-chip{display:inline-flex; align-items:center; gap:5px; font-family:'Fredoka',sans-serif; font-weight:500; font-size:13.5px; color:var(--ink); background:var(--cream2); border:1px solid var(--border); border-radius:100px; padding:5px 12px; opacity:0; transform:translateY(6px) scale(.96); transition:opacity .35s ease, transform .35s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .br-chip::after{content:'\00d7'; color:var(--ink-m); margin-left:3px; font-size:13px; line-height:1}
.bwe-tour .br-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px}
.bwe-tour .br-card{position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:12px; background:var(--cream3); box-shadow:0 3px 10px rgba(45,40,32,0.10); opacity:0; transform:translateY(10px) scale(.96); transition:opacity .5s ease, transform .6s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .br-card img{width:100%; height:100%; object-fit:cover; display:block}
.bwe-tour .br-card::after{content:''; position:absolute; left:0; right:0; bottom:0; height:55%; z-index:1; background:linear-gradient(180deg,rgba(26,22,18,0) 0%,rgba(26,22,18,0.74) 100%)}
.bwe-tour .br-card-name{position:absolute; left:8px; bottom:18px; z-index:2; font-family:'Fredoka',sans-serif; font-weight:600; font-size:13px; color:#fff; line-height:1.1}
.bwe-tour .br-card-where{position:absolute; left:8px; bottom:6px; z-index:2; font-family:'Gaegu',cursive; font-weight:400; font-size:12px; color:rgba(255,255,255,0.86); letter-spacing:.02em; line-height:1}
.bwe-tour .br-hint{text-align:center; margin-top:16px; font-family:'Gaegu',cursive; font-size:16px; color:var(--ink-m); letter-spacing:.02em; opacity:0; transform:translateY(6px); transition:opacity .55s ease, transform .55s ease}

/* reveal choreography (scoped by .br- prefix) */
.bwe-tour .scene[data-progress="1"] .br-chip,
.bwe-tour .scene[data-progress="2"] .br-chip,
.bwe-tour .scene[data-progress="3"] .br-chip{opacity:1; transform:translateY(0) scale(1)}
.bwe-tour .scene[data-progress="1"] .br-chip[data-c="1"], .bwe-tour .scene[data-progress="2"] .br-chip[data-c="1"], .bwe-tour .scene[data-progress="3"] .br-chip[data-c="1"]{transition-delay:0s}
.bwe-tour .scene[data-progress="1"] .br-chip[data-c="2"], .bwe-tour .scene[data-progress="2"] .br-chip[data-c="2"], .bwe-tour .scene[data-progress="3"] .br-chip[data-c="2"]{transition-delay:.08s}
.bwe-tour .scene[data-progress="1"] .br-chip[data-c="3"], .bwe-tour .scene[data-progress="2"] .br-chip[data-c="3"], .bwe-tour .scene[data-progress="3"] .br-chip[data-c="3"]{transition-delay:.16s}
.bwe-tour .scene[data-progress="1"] .br-chip[data-c="4"], .bwe-tour .scene[data-progress="2"] .br-chip[data-c="4"], .bwe-tour .scene[data-progress="3"] .br-chip[data-c="4"]{transition-delay:.24s}
.bwe-tour .scene[data-progress="1"] .br-chip[data-c="5"], .bwe-tour .scene[data-progress="2"] .br-chip[data-c="5"], .bwe-tour .scene[data-progress="3"] .br-chip[data-c="5"]{transition-delay:.32s}
.bwe-tour .scene[data-progress="2"] .br-card, .bwe-tour .scene[data-progress="3"] .br-card{opacity:1; transform:translateY(0) scale(1)}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="1"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="1"]{transition-delay:.02s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="2"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="2"]{transition-delay:.06s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="3"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="3"]{transition-delay:.10s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="4"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="4"]{transition-delay:.14s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="5"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="5"]{transition-delay:.18s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="6"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="6"]{transition-delay:.22s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="7"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="7"]{transition-delay:.26s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="8"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="8"]{transition-delay:.30s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="9"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="9"]{transition-delay:.34s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="10"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="10"]{transition-delay:.38s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="11"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="11"]{transition-delay:.42s}
.bwe-tour .scene[data-progress="2"] .br-card[data-c="12"], .bwe-tour .scene[data-progress="3"] .br-card[data-c="12"]{transition-delay:.46s}
.bwe-tour .scene[data-progress="3"] .br-hint{opacity:1; transform:translateY(0)}

@media (max-width:680px){
  .bwe-tour .br-page{padding:28px 14px}
  .bwe-tour .br-panel{padding:18px 16px 20px}
  .bwe-tour .br-grid{grid-template-columns:repeat(3,1fr); gap:8px}
  .bwe-tour .br-card-name{font-size:11.5px}
  .bwe-tour .br-card-where{font-size:10.5px}
}

/* ═══════════════════════════════════════════════════════════════════════
   CHAPTER 9: THE TAPESTRY  (S94)  ·  unique .tp-* prefix so the
   .scene[data-progress] reveal selectors cannot leak to other scenes.
   A shared woven cloth: one educator pins a lesson, the team adds theirs,
   warp + weft threads stitch the whole year into one private tapestry.
   ═══════════════════════════════════════════════════════════════════════ */
.bwe-tour .tp-cloth{
  display:flex; align-items:center; justify-content:center;
  background:
    repeating-linear-gradient(0deg, rgba(45,40,32,0) 0 13px, rgba(45,40,32,0.022) 13px 14px),
    repeating-linear-gradient(90deg, rgba(45,40,32,0) 0 13px, rgba(45,40,32,0.022) 13px 14px),
    var(--cream);
}

/* the loom: warp (vertical) + weft (horizontal) threads draw in as the cloth fills */
.bwe-tour .tp-threads{position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none}
.bwe-tour .tp-threads path{
  fill:none; stroke:rgba(154,112,212,0.20); stroke-width:1.4; stroke-linecap:round;
  stroke-dasharray:1300; stroke-dashoffset:1300; transition:stroke-dashoffset 1.3s ease;
}
.bwe-tour .tp-threads path:nth-of-type(even){stroke:rgba(232,132,90,0.17)}
.bwe-tour .tp-threads path:nth-of-type(2){transition-delay:.05s}
.bwe-tour .tp-threads path:nth-of-type(4){transition-delay:.12s}
.bwe-tour .tp-threads path:nth-of-type(6){transition-delay:.18s}
.bwe-tour .tp-threads path:nth-of-type(8){transition-delay:.10s}
.bwe-tour .tp-threads path:nth-of-type(10){transition-delay:.16s}
.bwe-tour .tp-threads path:nth-of-type(12){transition-delay:.22s}
.bwe-tour .scene[data-progress="1"] .tp-threads path:not(.tp-stitch),
.bwe-tour .scene[data-progress="2"] .tp-threads path:not(.tp-stitch),
.bwe-tour .scene[data-progress="3"] .tp-threads path:not(.tp-stitch){stroke-dashoffset:0}
/* diagonal stitches fade in once the cloth is full (kept dashed, so no draw animation) */
.bwe-tour .tp-threads .tp-stitch{
  stroke:rgba(122,154,90,0.30); stroke-width:1.6;
  stroke-dasharray:5 8; stroke-dashoffset:0; opacity:0; transition:opacity .9s ease;
}
.bwe-tour .scene[data-progress="2"] .tp-threads .tp-stitch,
.bwe-tour .scene[data-progress="3"] .tp-threads .tp-stitch{opacity:1}

/* team identity chip: lands once the whole cloth is woven */
.bwe-tour .tp-team{
  position:absolute; top:48px; left:50%; transform:translate(-50%,-8px); z-index:3;
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(253,250,242,0.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid var(--border); border-radius:999px; padding:8px 16px;
  box-shadow:0 8px 24px rgba(45,40,32,0.12);
  font-family:'Fredoka',sans-serif; font-size:14px; color:var(--ink-s);
  opacity:0; transition:opacity .6s ease, transform .7s cubic-bezier(.22,.61,.36,1);
  white-space:nowrap;
}
.bwe-tour .scene[data-progress="2"] .tp-team,
.bwe-tour .scene[data-progress="3"] .tp-team{opacity:1; transform:translate(-50%,0)}
.bwe-tour .tp-team-dot{width:8px; height:8px; border-radius:50%; background:var(--coral)}
.bwe-tour .tp-team-name{font-weight:600; color:var(--ink)}
.bwe-tour .tp-team-sep{color:var(--ink-m)}
.bwe-tour .tp-team-role{color:var(--ink-s)}
.bwe-tour .tp-team-lock{
  margin-left:4px; font-family:'Gaegu',cursive; font-size:12px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--purple-d);
  background:rgba(154,112,212,0.12); border:1px solid rgba(154,112,212,0.28);
  border-radius:999px; padding:2px 9px;
}

/* the one woven lesson, pinned first (recedes as the cloth fills, like the year scene) */
.bwe-tour .tp-hero{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:4;
  width:360px; max-width:90vw; background:var(--paper);
  border:1.5px solid var(--border); border-radius:18px; padding:22px 22px 18px;
  box-shadow:0 26px 60px rgba(45,40,32,0.18);
  transition:opacity .6s ease, transform .8s cubic-bezier(.22,.61,.36,1);
}
.bwe-tour .scene[data-progress="1"] .tp-hero{opacity:0; transform:translate(-50%,-50%) scale(.62); pointer-events:none}
.bwe-tour .scene[data-progress="2"] .tp-hero,
.bwe-tour .scene[data-progress="3"] .tp-hero{opacity:0; transform:translate(-50%,-50%) scale(.42); pointer-events:none}
.bwe-tour .tp-hero-h{font-family:'Shrikhand',serif; font-size:26px; line-height:1.1; letter-spacing:-.012em; color:var(--ink); margin-bottom:12px}
.bwe-tour .tp-hero-sub{font-family:'Fredoka',sans-serif; font-size:14px; color:var(--ink-s); margin:10px 0 12px}

/* the stitched tab at the top of every card */
.bwe-tour .tp-tab{position:absolute; top:-1px; left:38%; right:38%; height:9px; background:rgba(232,132,90,0.34); border:1px solid rgba(232,132,90,0.46); border-top:none; border-radius:0 0 4px 4px}

.bwe-tour .tp-aud{display:inline-block; font-family:'Fredoka',sans-serif; font-weight:700; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--purple); margin-bottom:7px}

/* overlapping face stack (the real people in the lesson) */
.bwe-tour .tp-faces{display:flex; align-items:center}
.bwe-tour .tp-face{width:34px; height:34px; border-radius:50%; overflow:hidden; border:2px solid var(--paper); box-shadow:0 2px 6px rgba(45,40,32,0.10); margin-left:-9px; background:var(--cream2)}
.bwe-tour .tp-face:first-child{margin-left:0}
.bwe-tour .tp-face img{width:100%; height:100%; object-fit:cover; display:block}
.bwe-tour .tp-faces-lg .tp-face{width:46px; height:46px; margin-left:-11px}

/* shared-by attribution row */
.bwe-tour .tp-card-by{display:flex; align-items:center; gap:8px; margin-top:14px; padding-top:11px; border-top:1px dashed var(--cream3); font-family:'Gaegu',cursive; font-size:14px; color:var(--ink-s)}
.bwe-tour .tp-av{width:22px; height:22px; border-radius:50%; background:var(--olive); color:#fff; font-family:'Shrikhand',serif; font-size:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0}
.bwe-tour .tp-by-name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.bwe-tour .tp-by-when{color:var(--ink-m); font-size:13px; white-space:nowrap; flex-shrink:0}

/* the woven grid of teammates' lessons */
.bwe-tour .tp-grid{display:grid; grid-template-columns:repeat(4,minmax(190px,232px)); gap:16px; width:100%; max-width:1000px; position:relative; z-index:2}
.bwe-tour .tp-card{position:relative; background:var(--paper); border:1.5px solid var(--border); border-radius:13px; padding:15px 15px 12px; box-shadow:0 6px 18px rgba(45,40,32,0.08); opacity:0; transform:translateY(20px) rotate(var(--r,-.4deg)); transition:opacity .55s ease, transform .7s cubic-bezier(.22,.61,.36,1)}
.bwe-tour .tp-card:nth-child(odd){--r:-.5deg}
.bwe-tour .tp-card:nth-child(even){--r:.45deg}
.bwe-tour .tp-card:nth-child(3n){--r:-.2deg}
.bwe-tour .tp-card .tp-aud{font-size:10px; margin-bottom:6px}
.bwe-tour .tp-card-h{font-family:'Shrikhand',serif; font-size:15.5px; line-height:1.12; letter-spacing:-.01em; color:var(--ink); margin-bottom:9px}
.bwe-tour .tp-card .tp-faces .tp-face{width:30px; height:30px; margin-left:-8px}
.bwe-tour .tp-card .tp-card-by{margin-top:11px; padding-top:9px; font-size:13px}

/* cluster blooms at state 1, the whole cloth floods at state 2 */
.bwe-tour .scene[data-progress="1"] .tp-card:nth-child(-n+4),
.bwe-tour .scene[data-progress="2"] .tp-card,
.bwe-tour .scene[data-progress="3"] .tp-card{opacity:1; transform:translateY(0) rotate(var(--r))}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(5){transition-delay:.04s}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(6){transition-delay:.09s}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(7){transition-delay:.14s}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(8){transition-delay:.19s}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(9){transition-delay:.24s}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(10){transition-delay:.29s}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(11){transition-delay:.34s}
.bwe-tour .scene[data-progress="2"] .tp-card:nth-child(12){transition-delay:.39s}

/* card tab colors cycle so the cloth reads as many hands */
.bwe-tour .tp-card .tp-tab{background:rgba(232,132,90,0.32); border-color:rgba(232,132,90,0.44)}
.bwe-tour .tp-card:nth-child(3n+1) .tp-tab{background:rgba(154,112,212,0.32); border-color:rgba(154,112,212,0.44)}
.bwe-tour .tp-card:nth-child(3n+2) .tp-tab{background:rgba(122,154,90,0.32); border-color:rgba(122,154,90,0.44)}

/* teammate avatar colors cycle (many distinct people) */
.bwe-tour .tp-card:nth-child(5n+1) .tp-av{background:var(--coral)}
.bwe-tour .tp-card:nth-child(5n+2) .tp-av{background:var(--purple)}
.bwe-tour .tp-card:nth-child(5n+3) .tp-av{background:var(--olive)}
.bwe-tour .tp-card:nth-child(5n+4) .tp-av{background:var(--sky)}
.bwe-tour .tp-card:nth-child(5n) .tp-av{background:var(--yellow); color:var(--ink)}
.bwe-tour .tp-av-anon{background:var(--cream3); color:var(--ink-m)}

/* narration, cross-fading bottom-left as the cloth fills */
.bwe-tour .tp-say{
  position:absolute; left:40px; bottom:54px; z-index:5; max-width:412px; padding:20px 22px;
  background:rgba(245,240,230,0.94); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px);
  border-radius:16px; border:1px solid rgba(255,255,255,0.4); box-shadow:0 16px 42px rgba(45,40,32,0.18);
  opacity:0; transform:translateY(10px); transition:opacity .5s ease, transform .6s ease; pointer-events:none;
}
.bwe-tour .tp-say-tag{font-family:'Gaegu',cursive; font-size:15px; color:var(--purple-d); letter-spacing:.08em; text-transform:uppercase; margin-bottom:9px; display:inline-flex; align-items:center; gap:8px; font-weight:700}
.bwe-tour .tp-say-tag::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--coral)}
.bwe-tour .tp-say-h{font-family:'Shrikhand',serif; font-size:clamp(22px,2.3vw,30px); line-height:1.08; letter-spacing:-.015em; color:var(--ink)}
.bwe-tour .tp-say-h .pop2{color:var(--purple-d)}
.bwe-tour .scene[data-progress="0"] .tp-say-0{opacity:1; transform:translateY(0)}
.bwe-tour .scene[data-progress="1"] .tp-say-1{opacity:1; transform:translateY(0)}
.bwe-tour .scene[data-progress="2"] .tp-say-2,
.bwe-tour .scene[data-progress="3"] .tp-say-2{opacity:1; transform:translateY(0)}

/* mobile: a tighter cloth that fits one screen and stays readable */
@media (max-width:680px){
  .bwe-tour .tp-grid{grid-template-columns:repeat(2,1fr); gap:11px; max-width:94vw}
  .bwe-tour .tp-card{padding:11px 11px 9px; border-radius:11px}
  .bwe-tour .tp-card-h{font-size:13px}
  .bwe-tour .tp-card .tp-aud{font-size:9.5px}
  .bwe-tour .tp-card .tp-faces .tp-face{width:26px; height:26px; margin-left:-7px}
  .bwe-tour .tp-card .tp-card-by{font-size:12px; margin-top:9px; padding-top:8px}
  .bwe-tour .tp-card:nth-child(n+7){display:none}
  .bwe-tour .tp-hero{width:86vw; padding:18px 18px 15px}
  .bwe-tour .tp-hero-h{font-size:22px}
  .bwe-tour .tp-faces-lg .tp-face{width:40px; height:40px}
  .bwe-tour .tp-team{top:74px; font-size:12.5px; padding:6px 12px}
  .bwe-tour .tp-team-lock{font-size:11px; padding:2px 7px}
  .bwe-tour .tp-say{left:16px; right:16px; bottom:34px; max-width:none; padding:15px 16px}
}

@media (prefers-reduced-motion: reduce){
  .bwe-tour .tp-threads path,
  .bwe-tour .tp-card,
  .bwe-tour .tp-hero,
  .bwe-tour .tp-team,
  .bwe-tour .tp-say{transition:none}
}
