/* ==================================================================== */
/* Motion — resting states                                              */
/*                                                                      */
/* Everything here is scoped to html.kinetic-motion, a class added by an */
/* inline script in <head> and ONLY when the visitor has not asked for   */
/* reduced motion. Consequences:                                         */
/*                                                                      */
/*   1. Reduced motion never hides anything: the class is never added.   */
/*   2. Neither does a failure: if GSAP 404s or throws, the head script  */
/*      drops the class after 2s and the page appears. Nothing here may  */
/*      hide content that JS is the only way to reveal.                  */
/*   3. It is set in <head>, before first paint, so content never        */
/*      flashes in and then vanishes as the animation initialises.       */
/*                                                                      */
/* Selectors live here, not as attributes in templates, so the layer is  */
/* additive: delete this file, motion.js and kinetic_motion_boot() and   */
/* the markup is untouched. The dev site's Bricks entrance animations    */
/* were fade-in-up on each block; this is the same idea, tuned.          */
/* ==================================================================== */

/* --- Hero, on load -------------------------------------------------- */

.kinetic-motion .section--hero__heading,
.kinetic-motion .section--hero__button {
	opacity: 0;
}
.kinetic-motion .section--hero__media {
	transform: scale( 1.06 );
	transform-origin: center;
}

/* --- Page banner, on load ------------------------------------------- */

.kinetic-motion .section--page-banner__heading {
	opacity: 0;
}

/* --- Section content, on scroll ------------------------------------- */

.kinetic-motion .section--logo-carousel__heading,
.kinetic-motion .section--logo-carousel__carousel,
.kinetic-motion .section--logo-carousel__text,
.kinetic-motion .section--service-tiles__item,
.kinetic-motion .section--cta-panel__inner > *,
.kinetic-motion .section--testimonials__panel,
.kinetic-motion .section--news__head > *,
.kinetic-motion .section--news__carousel,
.kinetic-motion .section--cta-band__copy > *,
.kinetic-motion .section--intro-panel__panel > *,
.kinetic-motion .section--split__copy > *,
.kinetic-motion .section--split__media,
.kinetic-motion .section--statement__inner,
.kinetic-motion .section--image-band__inner,
.kinetic-motion .section--team-grid__heading,
.kinetic-motion .section--team-grid__grid > li,
.kinetic-motion .section--team-grid__action,
.kinetic-motion .section--document-list__inner > *,
.kinetic-motion .section--benefit-cards__heading,
.kinetic-motion .section--benefit-cards__intro,
.kinetic-motion .section--benefit-cards__grid > li,
.kinetic-motion .section--accordion-panel__panel > *,
.kinetic-motion .section--form-block__inner > *,
.kinetic-motion .section--contact__details,
.kinetic-motion .section--contact__form,
.kinetic-motion .section--process-steps__head > *,
.kinetic-motion .process-step__number,
.kinetic-motion .process-step__dot,
.kinetic-motion .process-step__copy,
.kinetic-motion .process-step__media,
.kinetic-motion .section--definition__panel > *,
.kinetic-motion .section--outcomes__heading,
.kinetic-motion .section--outcomes__intro,
.kinetic-motion .outcome,
.kinetic-motion .post-row,
.kinetic-motion .post-single__head > *,
.kinetic-motion .post-single__body {
	opacity: 0;
}

/* SplitText line masks: one line-height tall, so give descenders room. */
.kinetic-line-mask {
	padding-bottom: 0.2em;
	margin-bottom: -0.2em;
}
