
.tde-bts-section{width:100%;max-width:1380px;margin:64px auto 58px;padding:0 22px;box-sizing:border-box}
.tde-bts-heading{text-align:center;margin-bottom:20px}
.tde-bts-heading-line{display:flex;align-items:center;justify-content:center;gap:16px}
.tde-bts-heading-line span{height:1px;background:#d71920;flex:0 1 145px}
.tde-bts-heading-line i{font-style:normal;color:#d71920;font-size:28px;line-height:1}
.tde-bts-heading h2{font-family:"Cormorant Garamond","Times New Roman",serif;font-size:52px;line-height:.95;font-weight:500;margin:0;color:#111;letter-spacing:-.02em}
.tde-bts-heading>strong{display:block;color:#d71920;letter-spacing:.22em;font-size:12px;margin-top:10px}
.tde-bts-heading>p{font-size:15px;margin:9px auto 0;max-width:720px;color:#343434}
.tde-bts-feature-card{display:grid;grid-template-columns:57% 43%;background:#0b0b0c;border-radius:7px;overflow:hidden;min-height:545px;box-shadow:0 14px 35px rgba(0,0,0,.12)}
.tde-bts-collage{position:relative;min-height:545px;overflow:hidden;padding:26px 18px 18px 28px;box-sizing:border-box}
.tde-bts-paper{position:absolute;inset:35px 22px 25px 18px;background:linear-gradient(#faf8f1,#f5f0e5);clip-path:polygon(2% 2%,98% 0,100% 95%,70% 100%,1% 96%);opacity:.96}
.tde-bts-polaroid{position:absolute;margin:0;background:#fff;padding:8px 8px 30px;box-shadow:0 7px 13px rgba(0,0,0,.22);width:25.5%;z-index:3}
.tde-bts-polaroid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.tde-bts-polaroid figcaption{position:absolute;left:50%;bottom:4px;transform:translateX(-50%) rotate(-1deg);width:max-content;max-width:90%;padding:2px 8px;background:#f9f5ea;color:#111;font-family:"Comic Sans MS","Segoe Print",cursive;font-size:14px;white-space:nowrap}
.tde-bts-polaroid.p1{left:6%;top:8%;transform:rotate(-5deg)}
.tde-bts-polaroid.p2{left:36%;top:6%;transform:rotate(2.5deg)}
.tde-bts-polaroid.p3{left:67%;top:9%;transform:rotate(4deg)}
.tde-bts-polaroid.p4{left:8%;top:51%;transform:rotate(3deg)}
.tde-bts-polaroid.p5{left:38%;top:49%;transform:rotate(-2deg)}
.tde-bts-polaroid.p6{left:68%;top:51%;transform:rotate(3deg)}
.tde-bts-doodle{position:absolute;z-index:6;font-family:Arial,sans-serif;font-weight:300}
.tde-bts-doodle.heart{color:#e21b23;font-size:52px}
.tde-bts-doodle.star{color:#e21b23;font-size:48px}
.tde-bts-doodle.h1{left:1%;bottom:5%;transform:rotate(-12deg)}
.tde-bts-doodle.s1{right:2%;bottom:5%;transform:rotate(9deg)}
.tde-bts-doodle.s2{left:47%;bottom:1%;color:#fff;font-size:32px}
.tde-bts-collage-empty{position:absolute;inset:0;display:grid;place-content:center;color:#555;text-align:center;z-index:4}
.tde-bts-collage-empty span{font-size:52px}.tde-bts-collage-empty b{font-size:16px}
.tde-bts-feature-copy{position:relative;color:#fff;padding:64px 58px 52px 46px;display:flex;flex-direction:column;justify-content:center}
.tde-bts-feature-copy small{color:#ed1c24;font-size:12px;letter-spacing:.2em;font-weight:900}
.tde-bts-feature-copy h3{font-family:Impact,"Arial Black",sans-serif;font-size:52px;line-height:.96;text-transform:uppercase;margin:14px 0 0;color:#fff;max-width:560px}
.tde-bts-feature-copy h3:after{content:"";display:block;width:92%;height:4px;background:#d71920;margin:15px 0 18px;transform:rotate(-1deg)}
.tde-bts-feature-copy h4{font-family:"Cormorant Garamond","Times New Roman",serif;font-size:26px;line-height:1.15;margin:0 0 14px;color:#fff}
.tde-bts-feature-copy p{font-size:15px;line-height:1.65;color:#efefef;max-width:520px;margin:0 0 24px}
.tde-bts-open{align-self:flex-start;background:#df171d;color:#fff!important;border:0;border-radius:3px;padding:14px 24px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;font-size:13px}
.tde-bts-open span{margin-left:14px}
.tde-bts-copy-doodle{position:absolute;font-size:48px;color:#fff;opacity:.9}.tde-bts-copy-doodle.d1{right:18%;top:18%}.tde-bts-copy-doodle.d2{right:10%;top:27%;transform:rotate(18deg)}
.tde-bts-lock{overflow:hidden}
.tde-bts-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:26px}
.tde-bts-modal.is-open{display:flex}
.tde-bts-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(4px)}
.tde-bts-book-shell{position:relative;z-index:2;width:min(1120px,94vw);max-height:92vh;background:#f0e8d7;padding:24px 28px 26px;border-radius:10px;box-shadow:0 28px 80px rgba(0,0,0,.5);overflow:auto}
.tde-bts-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:35px;line-height:1;color:#222;cursor:pointer;z-index:4}
.tde-bts-book-title{text-align:center;margin:2px 50px 14px}.tde-bts-book-title small{display:block;color:#c41b20;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:900}.tde-bts-book-title strong{display:block;font-family:"Cormorant Garamond",serif;font-size:30px;margin-top:2px}
.tde-bts-book{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:580px;perspective:1600px;background:#efe4cf;border-radius:4px;box-shadow:inset 0 0 30px rgba(69,45,22,.14)}
.tde-bts-book-spine{position:absolute;z-index:5;top:0;bottom:0;left:50%;width:22px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(45,28,13,.08),rgba(255,255,255,.5),rgba(45,28,13,.08));pointer-events:none}
.tde-bts-page{position:relative;padding:38px 34px;background:linear-gradient(90deg,#f8f2e5,#fffaf0);overflow:hidden;transform-origin:right center}
.tde-bts-page.right{background:linear-gradient(90deg,#fffaf0,#f7efdf);transform-origin:left center}
.tde-bts-page.left{border-radius:4px 0 0 4px}.tde-bts-page.right{border-radius:0 4px 4px 0}
.tde-bts-book.turn-next .right{animation:tdeBtsTurnNext .42s ease}.tde-bts-book.turn-prev .left{animation:tdeBtsTurnPrev .42s ease}
@keyframes tdeBtsTurnNext{0%{transform:rotateY(0)}48%{transform:rotateY(-34deg);filter:brightness(.9)}100%{transform:rotateY(0)}}
@keyframes tdeBtsTurnPrev{0%{transform:rotateY(0)}48%{transform:rotateY(34deg);filter:brightness(.9)}100%{transform:rotateY(0)}}
.tde-bts-scrap-page{position:relative;height:100%;display:grid;place-items:center}
.tde-bts-scrap-page:before{content:"";position:absolute;inset:12px;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(71,96,129,.09) 32px 33px);pointer-events:none}
.tde-bts-scrap-page figure{position:relative;width:min(88%,450px);margin:0;background:#fff;padding:14px 14px 58px;box-shadow:0 11px 22px rgba(60,42,26,.2);z-index:2}
.tde-bts-scrap-page img{display:block;width:100%;max-height:390px;aspect-ratio:4/5;object-fit:cover}
.tde-bts-scrap-page figcaption{position:absolute;left:50%;bottom:12px;transform:translateX(-50%) rotate(-1.5deg);font-family:"Comic Sans MS","Segoe Print",cursive;font-size:22px;width:max-content;max-width:90%;text-align:center}
.tde-bts-tape{position:absolute;z-index:4;width:92px;height:27px;background:rgba(221,207,174,.72);top:4%;left:41%;transform:rotate(-5deg)}
.tde-bts-page-doodle{position:absolute;z-index:3;font-size:52px}.tde-bts-page-doodle.star{right:6%;top:7%;color:#d71920;transform:rotate(10deg)}.tde-bts-page-doodle.heart{left:6%;bottom:8%;color:#111;transform:rotate(-10deg)}
.tde-bts-blank-page{height:100%;display:grid;place-content:center;text-align:center;color:#777}.tde-bts-blank-page span{font-size:68px;color:#d71920}.tde-bts-blank-page b{font-family:"Cormorant Garamond",serif;font-size:24px}
.tde-bts-book-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:16px}.tde-bts-book-controls button{width:42px;height:38px;border:1px solid #aa9e87;background:#fffaf0;border-radius:5px;font-size:20px;cursor:pointer}.tde-bts-book-controls button:disabled{opacity:.35;cursor:default}.tde-bts-book-controls span{font-weight:800;min-width:54px;text-align:center}

@media(max-width:980px){
 .tde-bts-feature-card{grid-template-columns:1fr}
 .tde-bts-collage{min-height:470px}
 .tde-bts-feature-copy{padding:42px 42px 46px}
}
@media(max-width:760px){
 .tde-bts-section{margin:42px auto 36px;padding:0 14px}
 .tde-bts-heading-line{gap:8px}.tde-bts-heading-line span{display:none}.tde-bts-heading-line i{font-size:20px}.tde-bts-heading h2{font-size:38px}
 .tde-bts-heading>strong{font-size:9px;letter-spacing:.16em}.tde-bts-heading>p{font-size:13px}
 .tde-bts-collage{min-height:380px;padding:0}.tde-bts-polaroid{width:31%;padding:5px 5px 25px}.tde-bts-polaroid figcaption{font-size:10px;padding:2px 4px}
 .tde-bts-polaroid.p1{left:3%;top:8%}.tde-bts-polaroid.p2{left:34%;top:6%}.tde-bts-polaroid.p3{left:65%;top:10%}.tde-bts-polaroid.p4{left:4%;top:53%}.tde-bts-polaroid.p5{left:35%;top:50%}.tde-bts-polaroid.p6{left:66%;top:52%}
 .tde-bts-feature-copy{padding:34px 26px 38px}.tde-bts-feature-copy h3{font-size:40px}.tde-bts-feature-copy h4{font-size:22px}.tde-bts-feature-copy p{font-size:14px}
 .tde-bts-modal{padding:10px}.tde-bts-book-shell{padding:20px 12px;width:96vw}
 .tde-bts-book{grid-template-columns:1fr;min-height:540px}.tde-bts-book-spine{display:none}.tde-bts-page{padding:28px 20px}.tde-bts-page.single{display:block}.tde-bts-page.right{display:none}
 .tde-bts-scrap-page figure{width:min(90%,430px)}.tde-bts-scrap-page img{max-height:400px}.tde-bts-scrap-page figcaption{font-size:18px}
}

/* v2.24.3 dancer names */
.tde-bts-polaroid figcaption{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
}
.tde-bts-polaroid figcaption strong{
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-size:13px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.tde-bts-polaroid figcaption span{
  font-family:"Comic Sans MS","Segoe Print",cursive;
  font-size:12px;
  line-height:1.05;
  white-space:nowrap;
}
.tde-bts-scrap-page figcaption{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}
.tde-bts-scrap-page figcaption strong{
  display:block;
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-size:25px;
  font-weight:700;
  line-height:1;
}
.tde-bts-scrap-page figcaption span{
  display:block;
  font-family:"Comic Sans MS","Segoe Print",cursive;
  font-size:18px;
  line-height:1.05;
  color:#222;
}
@media(max-width:760px){
  .tde-bts-polaroid figcaption strong{font-size:10px}
  .tde-bts-polaroid figcaption span{font-size:9px}
  .tde-bts-scrap-page figcaption strong{font-size:21px}
  .tde-bts-scrap-page figcaption span{font-size:16px}
}

/* v2.24.4 rotating Beyond the Stage cover */
.tde-bts-polaroid{
  transition:opacity .28s ease, transform .28s ease, filter .28s ease;
}
.tde-bts-polaroid.is-changing{
  opacity:.15;
  filter:blur(1px);
}

/* v2.24.7 bigger hero, scrapbook decoration and true page turn */
.tde-bts-feature-card{position:relative}
.tde-bts-collage{box-sizing:border-box}
.tde-bts-paper{inset:38px 28px 38px 22px}
.tde-bts-polaroid img,.tde-bts-scrap-page img{object-fit:cover}

/* One photo per actual scrapbook page. Decorations live around it. */
.tde-bts-scrap-page{
  position:relative;
  height:100%;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.tde-bts-scrap-page figure{
  width:min(68%,390px);
  z-index:5;
}
.tde-bts-scrap-page img{
  max-height:370px;
}
.tde-bts-scrap-page:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(214,25,32,.05),transparent 12%),
    radial-gradient(circle at 90% 82%,rgba(0,0,0,.035),transparent 18%);
}
.tde-bts-tape.tape2{
  top:auto;
  bottom:7%;
  left:auto;
  right:11%;
  width:70px;
  height:21px;
  transform:rotate(8deg);
}
.tde-bts-tape.t1{background:rgba(230,213,168,.76)}
.tde-bts-tape.t2{background:rgba(245,207,126,.72)}
.tde-bts-tape.t3{background:rgba(228,196,196,.7)}
.tde-bts-tape.t4{background:rgba(192,215,226,.72)}
.tde-bts-page-doodle.pencil{
  right:7%;
  bottom:13%;
  font-size:34px;
  color:#222;
  transform:rotate(-18deg);
}
.tde-bts-school-sticker{
  position:absolute;
  z-index:7;
  max-width:150px;
  padding:8px 10px 7px;
  border:3px solid #fff;
  border-radius:10px;
  box-shadow:0 4px 10px rgba(0,0,0,.14);
  font:900 15px/1 "Arial Black",Arial,sans-serif;
  text-align:center;
  transform:rotate(-5deg);
  background:#111;
  color:#fff;
}
.tde-bts-school-sticker.sticker-0{right:6%;top:12%}
.tde-bts-school-sticker.sticker-1{left:5%;top:13%;background:#d71920}
.tde-bts-school-sticker.sticker-2{right:5%;bottom:14%;background:#f2bd23;color:#111}
.tde-bts-page-quote{
  position:absolute;
  z-index:4;
  width:23%;
  font-family:"Comic Sans MS","Segoe Print",cursive;
  font-size:20px;
  line-height:1.35;
  color:#222;
  text-align:center;
}
.tde-bts-page-quote.quote-0{right:5%;top:37%;transform:rotate(-3deg)}
.tde-bts-page-quote.quote-1{left:4%;bottom:16%;transform:rotate(2deg)}
.tde-bts-page-quote.quote-2{right:4%;bottom:17%;transform:rotate(-2deg)}
.tde-bts-scrap-page.page-1 figure{margin-left:13%}
.tde-bts-scrap-page.page-2 figure{margin-right:12%}
.tde-bts-scrap-page.page-3 figure{margin-left:8%}

/* A physical sheet flips across the center. */
.tde-bts-book{
  isolation:isolate;
  overflow:hidden;
}
.tde-bts-turn-sheet{
  position:absolute;
  z-index:20;
  top:0;
  bottom:0;
  left:50%;
  width:50%;
  transform-style:preserve-3d;
  transform-origin:left center;
  pointer-events:none;
  opacity:0;
}
.tde-bts-turn-sheet>div{
  position:absolute;
  inset:0;
  backface-visibility:hidden;
  background:linear-gradient(90deg,#fffaf0,#f4ead7);
  overflow:hidden;
  box-shadow:-8px 0 22px rgba(47,32,18,.16);
}
.tde-bts-turn-sheet .back{
  transform:rotateY(180deg);
  background:linear-gradient(90deg,#f6eddb,#fffaf0);
}
.tde-bts-turn-sheet.turn-forward{
  opacity:1;
  animation:tdeBtsRealForward .76s cubic-bezier(.45,.02,.2,1) forwards;
}
.tde-bts-turn-sheet.turn-back{
  opacity:1;
  left:0;
  transform-origin:right center;
  animation:tdeBtsRealBack .76s cubic-bezier(.45,.02,.2,1) forwards;
}
.tde-bts-turn-sheet.turn-back .front{
  transform:rotateY(180deg);
}
.tde-bts-turn-sheet.turn-back .back{
  transform:rotateY(0);
}
@keyframes tdeBtsRealForward{
  0%{transform:rotateY(0deg);filter:brightness(1)}
  35%{transform:rotateY(-58deg) skewY(.5deg);filter:brightness(.96)}
  55%{transform:rotateY(-108deg) skewY(-.5deg);filter:brightness(.88)}
  82%{transform:rotateY(-158deg);filter:brightness(.96)}
  100%{transform:rotateY(-180deg);filter:brightness(1)}
}
@keyframes tdeBtsRealBack{
  0%{transform:rotateY(0deg);filter:brightness(1)}
  35%{transform:rotateY(58deg);filter:brightness(.96)}
  55%{transform:rotateY(108deg);filter:brightness(.88)}
  82%{transform:rotateY(158deg);filter:brightness(.96)}
  100%{transform:rotateY(180deg);filter:brightness(1)}
}
.tde-bts-book.is-turning:before{
  content:"";
  position:absolute;
  z-index:19;
  top:0;bottom:0;left:48%;width:4%;
  background:radial-gradient(ellipse at center,rgba(35,22,10,.28),transparent 68%);
  pointer-events:none;
}
@media(max-width:980px){
 .tde-bts-feature-card{min-height:0}
 .tde-bts-collage{min-height:520px}
}
@media(max-width:760px){
 .tde-bts-collage{min-height:430px}
 .tde-bts-scrap-page figure{width:min(72%,360px)}
 .tde-bts-page-quote{font-size:15px;width:24%}
 .tde-bts-school-sticker{font-size:11px;max-width:105px;padding:6px}
 .tde-bts-turn-sheet{left:0;width:100%;transform-origin:right center}
 .tde-bts-turn-sheet.turn-back{left:0;transform-origin:left center}
}

/* v2.24.8 scrapbook refinements */
.tde-bts-scrap-page{
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  padding:28px 28px 20px;
  box-sizing:border-box;
}
.tde-bts-scrap-page figure{
  width:min(72%,405px);
  max-height:78%;
  align-self:center;
  margin:0!important;
}
.tde-bts-scrap-page figure img{
  width:100%;
  height:clamp(280px,45vh,390px);
  object-fit:cover;
}
.tde-bts-page-quote{
  position:relative;
  inset:auto!important;
  width:auto;
  max-width:82%;
  margin:10px auto 0;
  padding:0 8px;
  z-index:8;
  font-family:"Comic Sans MS","Segoe Print",cursive;
  font-size:18px;
  line-height:1.25;
  color:#3d342c;
  text-align:center;
  transform:rotate(-1deg);
}
.tde-bts-paper-scrap{
  position:absolute;
  z-index:9;
  padding:7px 12px 6px;
  color:#29241f;
  background:#f6e8b8;
  border:0;
  border-radius:1px;
  box-shadow:0 3px 6px rgba(50,35,20,.13);
  font:700 14px/1.05 "Comic Sans MS","Segoe Print",cursive;
  letter-spacing:.02em;
  transform:rotate(-5deg);
}
.tde-bts-paper-scrap:before{
  content:"";
  position:absolute;
  left:-5px;right:-5px;top:-3px;height:6px;
  background:rgba(255,255,255,.5);
  clip-path:polygon(0 45%,8% 20%,15% 70%,24% 25%,34% 60%,45% 15%,56% 65%,67% 20%,78% 70%,88% 25%,100% 50%,100% 100%,0 100%);
}
.tde-bts-paper-scrap.scrap-0{right:5%;top:11%;background:#f3df9e}
.tde-bts-paper-scrap.scrap-1{left:5%;top:13%;background:#e7d7cd;transform:rotate(4deg)}
.tde-bts-paper-scrap.scrap-2{right:5%;bottom:15%;background:#dbe4df;transform:rotate(3deg)}
.tde-bts-school-sticker{display:none!important}

/* Stable paper sweep page transition. It reads as a turn without a glitchy 3D transform. */
.tde-bts-page-sweep{
  position:absolute;
  z-index:30;
  top:0;
  bottom:0;
  width:52%;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(239,227,205,.12),#fff9ed 38%,#eadcc6 88%,rgba(122,95,65,.18));
  box-shadow:-12px 0 20px rgba(55,38,22,.16);
}
.tde-bts-page-sweep.sweep-forward{
  left:49%;
  transform-origin:left center;
  animation:tdeBtsSweepForward .5s ease-in-out forwards;
}
.tde-bts-page-sweep.sweep-back{
  right:49%;
  transform-origin:right center;
  background:linear-gradient(270deg,rgba(239,227,205,.12),#fff9ed 38%,#eadcc6 88%,rgba(122,95,65,.18));
  box-shadow:12px 0 20px rgba(55,38,22,.16);
  animation:tdeBtsSweepBack .5s ease-in-out forwards;
}
@keyframes tdeBtsSweepForward{
  0%{opacity:0;transform:scaleX(.04) skewY(0)}
  12%{opacity:.96}
  48%{transform:translateX(-48%) scaleX(1.02) skewY(-1.2deg)}
  82%{opacity:.92}
  100%{opacity:0;transform:translateX(-96%) scaleX(.08) skewY(0)}
}
@keyframes tdeBtsSweepBack{
  0%{opacity:0;transform:scaleX(.04) skewY(0)}
  12%{opacity:.96}
  48%{transform:translateX(48%) scaleX(1.02) skewY(1.2deg)}
  82%{opacity:.92}
  100%{opacity:0;transform:translateX(96%) scaleX(.08) skewY(0)}
}
.tde-bts-turn-sheet{display:none!important}
@media(max-width:760px){
  .tde-bts-scrap-page{padding:20px 18px 16px}
  .tde-bts-scrap-page figure{width:min(76%,370px)}
  .tde-bts-scrap-page figure img{height:clamp(245px,46vh,350px)}
  .tde-bts-page-quote{font-size:15px;max-width:90%}
  .tde-bts-paper-scrap{font-size:11px;padding:6px 8px}
  .tde-bts-page-sweep{width:100%;left:0!important;right:auto!important}
}

/* v2.24.9 crisp random cover + richer scrapbook pages */
.tde-bts-polaroid img{
  image-rendering:auto;
  filter:none!important;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.tde-bts-polaroid.is-changing{
  opacity:1!important;
  filter:none!important;
}
.tde-bts-polaroid.just-changed{
  animation:tdeBtsPaperPop .34s ease-out;
}
@keyframes tdeBtsPaperPop{
  0%{filter:brightness(.96);transform:scale(.985) rotate(var(--noop,0deg))}
  100%{filter:brightness(1);transform:scale(1) rotate(var(--noop,0deg))}
}

/* More colorful tape and details */
.tde-bts-tape.tape3{
  top:32%;
  left:auto;
  right:3%;
  width:58px;
  height:16px;
  transform:rotate(-12deg);
  opacity:.84;
}
.tde-bts-tape.t1{background:rgba(244,211,102,.78)!important}
.tde-bts-tape.t2{background:rgba(237,142,154,.68)!important}
.tde-bts-tape.t3{background:rgba(134,194,212,.7)!important}
.tde-bts-tape.t4{background:rgba(172,205,146,.72)!important}

.tde-bts-page-doodle.sparkle{
  left:8%;
  top:28%;
  color:#e0a300;
  font-size:30px;
  transform:rotate(12deg);
}
.tde-bts-page-doodle.music{
  right:9%;
  bottom:27%;
  color:#d71920;
  font-size:32px;
  transform:rotate(-8deg);
}
.tde-bts-mini-note{
  position:absolute;
  z-index:8;
  padding:6px 9px 5px;
  background:#fff6b7;
  color:#4d4438;
  box-shadow:0 2px 5px rgba(50,35,20,.13);
  font-family:"Marker Felt","Bradley Hand","Segoe Print",cursive;
  font-size:13px;
  line-height:1;
  transform:rotate(4deg);
}
.tde-bts-mini-note.note-0{left:6%;bottom:11%;background:#ffd9df;transform:rotate(-5deg)}
.tde-bts-mini-note.note-1{right:7%;top:29%;background:#d9f0f5;transform:rotate(5deg)}
.tde-bts-mini-note.note-2{left:7%;top:34%;background:#e1f1d6;transform:rotate(-4deg)}
.tde-bts-mini-note.note-3{right:7%;bottom:10%;background:#fff1b8;transform:rotate(3deg)}

.tde-bts-page-quote{
  font-family:"Marker Felt","Bradley Hand","Segoe Print","Comic Sans MS",cursive!important;
  font-size:19px!important;
  font-weight:600;
  letter-spacing:.01em;
  color:#493d33!important;
}
.tde-bts-paper-scrap{
  font-family:"Marker Felt","Bradley Hand","Segoe Print",cursive!important;
  font-weight:700!important;
}
.tde-bts-scrap-page figcaption span{
  font-family:"Marker Felt","Bradley Hand","Segoe Print",cursive!important;
}

/* extra color washes that still keep the notebook paper clean */
.tde-bts-scrap-page.page-0:after{
  background:
    radial-gradient(circle at 10% 18%,rgba(234,73,83,.08),transparent 14%),
    radial-gradient(circle at 88% 76%,rgba(70,164,196,.07),transparent 20%)!important;
}
.tde-bts-scrap-page.page-1:after{
  background:
    radial-gradient(circle at 88% 18%,rgba(237,183,38,.09),transparent 16%),
    radial-gradient(circle at 11% 77%,rgba(118,179,101,.08),transparent 18%)!important;
}
.tde-bts-scrap-page.page-2:after{
  background:
    radial-gradient(circle at 14% 20%,rgba(99,82,185,.06),transparent 16%),
    radial-gradient(circle at 88% 82%,rgba(234,73,83,.07),transparent 18%)!important;
}
.tde-bts-scrap-page.page-3:after{
  background:
    radial-gradient(circle at 85% 18%,rgba(70,164,196,.07),transparent 16%),
    radial-gradient(circle at 12% 82%,rgba(237,183,38,.08),transparent 18%)!important;
}

@media(max-width:760px){
  .tde-bts-mini-note{font-size:10px;padding:5px 6px}
  .tde-bts-page-doodle.sparkle,.tde-bts-page-doodle.music{font-size:24px}
  .tde-bts-page-quote{font-size:15px!important}
}

/* v2.25.2 mobile scrapbook captions */
@media(max-width:760px){
  .tde-bts-page{overflow-y:auto!important;overflow-x:hidden!important}
  .tde-bts-scrap-page{min-height:500px!important;height:auto!important;grid-template-rows:auto auto!important;align-content:start!important}
  .tde-bts-scrap-page figure{display:flex!important;flex-direction:column!important;width:min(82%,370px)!important;max-height:none!important;padding:10px 10px 12px!important;box-sizing:border-box!important}
  .tde-bts-scrap-page figure img{flex:0 0 auto!important;height:clamp(280px,50vh,390px)!important;max-height:none!important}
  .tde-bts-scrap-page figcaption{position:static!important;left:auto!important;bottom:auto!important;transform:rotate(-1deg)!important;width:100%!important;max-width:100%!important;min-height:48px!important;margin:8px 0 0!important;padding:7px 6px 5px!important;box-sizing:border-box!important;background:#fff!important;overflow:visible!important}
  .tde-bts-scrap-page figcaption strong{font-size:22px!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .tde-bts-scrap-page figcaption span{margin-top:3px!important;font-size:16px!important;line-height:1.1!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .tde-bts-page-quote{margin-top:12px!important}
}

/* v2.25.3 Beyond the Stage caption protection
   Restore dancer name + grade on desktop and keep decorative stickers out of the caption on mobile. */

/* Desktop/tablet: keep caption visibly above decorative layers */
@media(min-width:761px){
  .tde-bts-scrap-page figure{
    overflow:visible!important;
  }
  .tde-bts-scrap-page figcaption{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    z-index:30!important;
    overflow:visible!important;
  }
  .tde-bts-scrap-page figcaption strong,
  .tde-bts-scrap-page figcaption span{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:31!important;
  }
}

/* Mobile: reserve the Polaroid caption as a protected zone.
   Decorative tape/stickers remain scrapbooky but sit behind the caption text. */
@media(max-width:760px){
  .tde-bts-scrap-page figure{
    position:relative!important;
    overflow:visible!important;
    padding-bottom:14px!important;
  }
  .tde-bts-scrap-page figcaption{
    position:relative!important;
    z-index:50!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:72px!important;
    width:100%!important;
    margin:8px 0 0!important;
    padding:8px 12px 6px!important;
    background:#fff!important;
    isolation:isolate!important;
  }
  .tde-bts-scrap-page figcaption::before{
    content:"";
    position:absolute;
    inset:-3px -4px;
    z-index:-1;
    background:#fff;
  }
  .tde-bts-scrap-page figcaption strong{
    display:block!important;
    width:100%!important;
    position:relative!important;
    z-index:52!important;
    margin:0!important;
    padding:0!important;
    font-size:22px!important;
    line-height:1.08!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .tde-bts-scrap-page figcaption span{
    display:block!important;
    width:100%!important;
    position:relative!important;
    z-index:52!important;
    margin:4px 0 0!important;
    padding:0!important;
    font-size:16px!important;
    line-height:1.08!important;
    text-align:center!important;
    white-space:normal!important;
  }

  /* Any scrapbook decorations that drift into the Polaroid footer stay underneath it. */
  .tde-bts-scrap-page .tde-bts-sticker,
  .tde-bts-scrap-page .tde-bts-tape,
  .tde-bts-scrap-page .tde-bts-mini-note,
  .tde-bts-scrap-page .tde-bts-deco,
  .tde-bts-scrap-page .tde-bts-doodle{
    z-index:12!important;
  }
}

/* v2.25.4 definitive scrapbook caption structure
   Caption is now outside the transformed photo, so stickers cannot hide it. */

.tde-bts-scrap-page{
  grid-template-rows:minmax(0,1fr) auto!important;
}

.tde-bts-photo-unit{
  position:relative;
  z-index:20;
  width:min(72%,405px);
  align-self:center;
  justify-self:center;
  display:flex;
  flex-direction:column;
  transform:rotate(var(--tde-photo-tilt,0deg));
  filter:drop-shadow(0 11px 18px rgba(60,42,26,.18));
}

.tde-bts-photo-unit figure{
  position:relative!important;
  z-index:20!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:14px 14px 8px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:hidden!important;
}

.tde-bts-photo-unit figure img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:390px!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
}

.tde-bts-photo-caption{
  position:relative!important;
  z-index:60!important;
  width:100%!important;
  min-height:58px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  margin:0!important;
  padding:6px 12px 10px!important;
  background:#fff!important;
  color:#222!important;
  text-align:center!important;
  overflow:visible!important;
}

.tde-bts-photo-caption strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#222!important;
  font-family:"Cormorant Garamond","Times New Roman",serif!important;
  font-size:24px!important;
  font-weight:700!important;
  font-style:italic!important;
  line-height:1.05!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

.tde-bts-photo-caption span{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#222!important;
  font-family:"Marker Felt","Bradley Hand","Segoe Print",cursive!important;
  font-size:17px!important;
  line-height:1.08!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Decorations may overlap the photograph, but never the caption footer. */
.tde-bts-paper-scrap,
.tde-bts-mini-note,
.tde-bts-tape,
.tde-bts-page-doodle{
  z-index:25!important;
}
.tde-bts-photo-caption{
  z-index:70!important;
}

/* Retire old figcaption positioning rules now that the scrapbook no longer uses figcaption. */
.tde-bts-scrap-page figcaption{display:none!important}

@media(max-width:760px){
  .tde-bts-scrap-page{
    min-height:500px!important;
    height:auto!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
  }

  .tde-bts-photo-unit{
    width:min(84%,390px)!important;
    max-width:390px!important;
    margin:10px auto 0!important;
  }

  .tde-bts-photo-unit figure{
    padding:10px 10px 7px!important;
  }

  .tde-bts-photo-unit figure img{
    height:clamp(290px,50vh,410px)!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }

  .tde-bts-photo-caption{
    min-height:72px!important;
    padding:8px 10px 10px!important;
  }

  .tde-bts-photo-caption strong{
    font-size:23px!important;
    line-height:1.08!important;
  }

  .tde-bts-photo-caption span{
    margin-top:2px!important;
    font-size:17px!important;
    line-height:1.08!important;
  }

  .tde-bts-page-quote{
    margin-top:14px!important;
  }

  /* Bottom decorations stay away from the protected caption zone on phones. */
  .tde-bts-paper-scrap.scrap-2{bottom:25%!important}
  .tde-bts-mini-note.note-0{bottom:23%!important}
  .tde-bts-mini-note.note-3{bottom:23%!important}
  .tde-bts-tape.tape2{bottom:24%!important}
}

/* v2.25.6 scrapbook photo framing
   Give portrait pages a slightly wider crop and make saved left/right positioning authoritative. */
.tde-bts-photo-unit figure{
  background:#f8f6f0!important;
}
.tde-bts-photo-unit figure img{
  object-position:var(--tde-scrap-x,50%) var(--tde-scrap-y,50%)!important;
  aspect-ratio:5/6!important;
  transform:scale(var(--tde-scrap-zoom,1))!important;
  transform-origin:var(--tde-scrap-x,50%) var(--tde-scrap-y,50%)!important;
}
@media(max-width:760px){
  .tde-bts-photo-unit{
    width:min(90%,430px)!important;
    max-width:430px!important;
  }
  .tde-bts-photo-unit figure img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:5/6!important;
    object-fit:cover!important;
  }
}


/* v2.25.7 desktop scrapbook caption clearance
   Keep bottom scrapbook decorations away from the dancer name/grade footer. */
@media(min-width:761px){
  .tde-bts-paper-scrap.scrap-2{
    bottom:26%!important;
    z-index:18!important;
  }
  .tde-bts-mini-note.note-0,
  .tde-bts-mini-note.note-3{
    bottom:23%!important;
    z-index:18!important;
  }
  .tde-bts-tape.tape2{
    bottom:24%!important;
    z-index:18!important;
  }
}


/* v2.25.11 scrapbook readable text stickers
   If a text sticker would collide with the photo, JS moves it to one of these safe outer positions. */
.tde-bts-paper-scrap{
  max-width:min(24%,132px);
  white-space:normal;
  text-align:center;
}
.tde-bts-mini-note{
  max-width:min(18%,96px);
  white-space:normal;
  text-align:center;
}

.tde-bts-paper-scrap.safe-left-top,
.tde-bts-mini-note.safe-left-top{
  left:2.5%!important;
  right:auto!important;
  top:14%!important;
  bottom:auto!important;
}
.tde-bts-paper-scrap.safe-right-top,
.tde-bts-mini-note.safe-right-top{
  right:2.5%!important;
  left:auto!important;
  top:14%!important;
  bottom:auto!important;
}
.tde-bts-paper-scrap.safe-left-mid,
.tde-bts-mini-note.safe-left-mid{
  left:2.5%!important;
  right:auto!important;
  top:36%!important;
  bottom:auto!important;
}
.tde-bts-paper-scrap.safe-right-mid,
.tde-bts-mini-note.safe-right-mid{
  right:2.5%!important;
  left:auto!important;
  top:36%!important;
  bottom:auto!important;
}
.tde-bts-paper-scrap.safe-left-bottom,
.tde-bts-mini-note.safe-left-bottom{
  left:2.5%!important;
  right:auto!important;
  bottom:26%!important;
  top:auto!important;
}
.tde-bts-paper-scrap.safe-right-bottom,
.tde-bts-mini-note.safe-right-bottom{
  right:2.5%!important;
  left:auto!important;
  bottom:26%!important;
  top:auto!important;
}

@media(max-width:760px){
  .tde-bts-paper-scrap{
    max-width:min(28%,118px);
    font-size:11px;
    line-height:1.1;
  }
  .tde-bts-mini-note{
    max-width:min(22%,88px);
    font-size:11px;
    line-height:1.1;
  }
  .tde-bts-paper-scrap.safe-left-top,
  .tde-bts-mini-note.safe-left-top,
  .tde-bts-paper-scrap.safe-right-top,
  .tde-bts-mini-note.safe-right-top{
    top:13%!important;
  }
  .tde-bts-paper-scrap.safe-left-mid,
  .tde-bts-mini-note.safe-left-mid,
  .tde-bts-paper-scrap.safe-right-mid,
  .tde-bts-mini-note.safe-right-mid{
    top:34%!important;
  }
  .tde-bts-paper-scrap.safe-left-bottom,
  .tde-bts-mini-note.safe-left-bottom,
  .tde-bts-paper-scrap.safe-right-bottom,
  .tde-bts-mini-note.safe-right-bottom{
    bottom:27%!important;
  }
}


/* v2.25.11 scrapbook crop control: true zoom out/in */
.tde-bts-photo-unit figure{background:#fff!important;}
.tde-bts-photo-unit figure img{
  transform:scale(var(--tde-scrap-zoom,1))!important;
  transform-origin:var(--tde-scrap-x,50%) var(--tde-scrap-y,50%)!important;
}
