/* Baked gradients: one code path for screen, PDF and PPTX.
   Print engines rasterise CSS gradients separately from the screen renderer,
   so radials, color-mix() inside a gradient and washes painted larger than
   the page box band, flip colour or drop out in export. Every deck gradient
   therefore ships as an image in assets/print-grad/ and is used on screen as
   well. Rule and bake recipe: docs/twf-deck-pdf-export.md.
   Imported last, after deck.css and assets.css, so these win on source order;
   the gradient declarations there stay in place and document the intent. */

.twf-slide{background:url(../assets/print-grad/grad-deck.png) center/100% 100% no-repeat}
.twf-slide--social{background:url(../assets/print-grad/grad-social.png) center/100% 100% no-repeat}
.twf-slide--depth{background:url(../assets/print-grad/grad-depth.png) center/100% 100% no-repeat}
.twf-glow{background:url(../assets/print-grad/glow.png) center/100% 100% no-repeat}
.twf-bg-deck-cover{background:url(../assets/print-grad/cover-bg.png) center/100% 100% no-repeat}

/* Scrims over photographic backgrounds: alpha bakes, stretch to the element */
.twf-scrim-bottom{background:url(../assets/print-grad/scrim-bottom.png) center/100% 100% no-repeat}
.twf-scrim-image{background:url(../assets/print-grad/scrim-image-bottom.png) center/100% 100% no-repeat}

/* The Artesians surface wash (sub-brand slides and invitations) */
.twf-bg-artesians{background:url(../assets/artesians/artesians-bg.png) center/100% 100% no-repeat}

/* Print behaviour shared by every TWF surface. A deck adds its own page box
   (@page{size:1280px 720px;margin:0}) and declares print ownership with
   <meta name="omelette-owns-print" content="true">. */
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  /* Freeze animations at their end frame: animation:none reverts fade-ins to
     their hidden start state and prints blank elements. */
  *{animation-delay:-99s !important;animation-duration:.001s !important;animation-iteration-count:1 !important;animation-fill-mode:both !important;animation-play-state:running !important;transition-duration:0s !important}
  .twf-slide{margin:0;box-shadow:none;break-inside:avoid;break-after:page}
  .twf-slide:last-child{break-after:auto}
}
