/*
 * Food & Flow motion concept — homepage only.
 * This layer is deliberately scoped to body.home-motion so it can be reused
 * page by page without changing the proven content or funnel.
 */

body.home-motion{
  --motion-ease:cubic-bezier(.22,1,.36,1);
  --motion-soft:cubic-bezier(.33,1,.68,1);
  --motion-hero-progress:0;
  --motion-page-progress:0;
  overflow-x:hidden;
}

body.home-motion::selection{background:rgba(233,120,59,.24);color:var(--ink)}
body.home-motion :is(#kennismaken,#werkwijze,#over-mij,#tarieven){scroll-margin-top:96px}

.motion-progress{
  position:fixed;
  z-index:100;
  top:0;
  left:0;
  width:100%;
  height:3px;
  pointer-events:none;
  transform:scaleX(var(--motion-page-progress));
  transform-origin:left center;
  background:linear-gradient(90deg,var(--lime),var(--clay));
  will-change:transform;
}

/* Header: calm, legible and present throughout the long-scroll story. */
body.home-motion .site-header{
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid transparent;
  background:rgba(255,249,242,.91);
  backdrop-filter:saturate(125%) blur(16px);
  -webkit-backdrop-filter:saturate(125%) blur(16px);
  transition:height .5s var(--motion-ease),background-color .4s ease,border-color .4s ease,box-shadow .4s ease;
}

body.home-motion .site-header.is-scrolled{
  height:76px;
  border-color:var(--line);
  background:rgba(255,249,242,.96);
  box-shadow:0 10px 30px rgba(33,79,60,.055);
}

body.home-motion .site-header .brand img{transition:width .5s var(--motion-ease),transform .5s var(--motion-ease)}
body.home-motion .site-header.is-scrolled .brand img{width:258px}
body.home-motion .site-header nav a{position:relative}
body.home-motion .site-header nav a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-7px;
  left:0;
  height:1px;
  background:var(--clay);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .45s var(--motion-ease);
}

body.home-motion .site-header nav a:hover::after,
body.home-motion .site-header nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}

/* Hero: compact by design, so the next chapter is already visible on arrival. */
body.home-motion main{position:relative;background:var(--paper)}
body.home-motion main>.hero{
  position:sticky;
  top:76px;
  z-index:1;
  min-height:470px;
  height:clamp(470px,min(64svh,calc(100svh - 250px)),540px);
  padding-top:clamp(54px,6vh,76px);
  padding-bottom:clamp(54px,6vh,76px);
  isolation:isolate;
  opacity:1;
  transform:none;
  box-shadow:0 16px 42px rgba(33,79,60,.07);
}

body.home-motion main>section:not(.hero){position:relative;z-index:2}

body.home-motion .hero::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 70%,rgba(33,79,60,.10));
  mix-blend-mode:multiply;
}

body.home-motion .hero::after{
  background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 38%,rgba(255,255,255,.15) 70%,rgba(255,255,255,.03) 100%);
}

body.home-motion .hero-copy{
  max-width:min(690px,58vw);
  transform:none;
}

body.home-motion .hero .eyebrow{margin-bottom:25px}

body.home-motion .hero-image-wrap{overflow:hidden}
body.home-motion .hero-image-wrap .hero-slide{
  animation:none!important;
  transform:scaleX(-1) translate3d(0,calc(var(--motion-hero-progress) * -12px),0) scale(calc(1.045 + (var(--motion-hero-progress) * .018)));
  transition:opacity 1.25s var(--motion-soft);
  will-change:opacity,transform;
}
body.home-motion .hero-image-wrap .hero-slide.hero-slide-no-css-mirror{
  transform:translate3d(0,calc(var(--motion-hero-progress) * -12px),0) scale(calc(1.045 + (var(--motion-hero-progress) * .018)));
}

/* Bank + boek: iets meer ruimte boven Fleurs hoofd op brede schermen. */
@media(min-width:801px){
  body.home-motion .hero-image-wrap .hero-slide:nth-child(3){object-position:center 47%}
}

body.home-motion.motion-enabled:not(.motion-ready) .hero .eyebrow,
body.home-motion.motion-enabled:not(.motion-ready) .hero h1,
body.home-motion.motion-enabled:not(.motion-ready) .hero-actions{opacity:0;transform:translate3d(0,34px,0)}

body.home-motion .hero .eyebrow,
body.home-motion .hero h1,
body.home-motion .hero-actions{transition:opacity .95s var(--motion-ease),transform .95s var(--motion-ease)}
body.home-motion .hero h1{transition-delay:.11s}
body.home-motion .hero-actions{transition-delay:.24s}

/* The next section starts within the first viewport as a clear scroll cue. */
body.home-motion .recognition{
  padding-top:clamp(72px,7vw,105px);
  padding-bottom:clamp(90px,8vw,125px);
  border-radius:0;
  box-shadow:none;
}

body.home-motion .recognition-intro{max-width:910px;margin-bottom:60px}

/* Brede, lage laptopvensters: behoud een ruimere hero, maar laat de volgende
   hoofdstuktitel direct als scrollaanwijzing in de eerste viewport staan. */
@media(min-width:801px) and (max-height:760px){
  body.home-motion main>.hero{
    min-height:430px;
    height:clamp(430px,calc(100svh - 250px),470px);
  }
  body.home-motion .recognition{padding-top:60px}
  body.home-motion .recognition-intro.reveal{
    opacity:1;
    filter:none;
    transform:none;
    transition:none;
  }
}

body.home-motion .reveal{
  opacity:0;
  filter:blur(1.25px);
  transform:translate3d(0,48px,0);
  transition:opacity .95s var(--motion-ease),transform .95s var(--motion-ease),filter .28s ease-out;
}

body.home-motion .reveal.is-visible{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
body.home-motion .delay-1{transition-delay:.1s}
body.home-motion .delay-2{transition-delay:.2s}
body.home-motion .delay-3{transition-delay:.3s}

body.home-motion .question-list{max-width:1100px}
body.home-motion .question-list p{
  position:relative;
  padding:27px 28px;
  overflow:hidden;
  transition:opacity .9s var(--motion-ease),transform .9s var(--motion-ease),filter .28s ease-out,color .35s ease,padding .45s var(--motion-ease);
}

body.home-motion .question-list p:nth-child(odd).reveal{transform:translate3d(-38px,0,0)}
body.home-motion .question-list p:nth-child(even).reveal{transform:translate3d(-38px,0,0)}
body.home-motion .question-list p.reveal.is-visible{transform:translate3d(0,0,0)}
body.home-motion .question-list p::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(221,230,212,.48),rgba(229,248,241,.22));
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .55s var(--motion-ease);
}

body.home-motion .photo-ribbon,
body.home-motion .photo-ribbon.reveal,
body.home-motion .photo-ribbon.reveal.is-visible{
  max-width:1180px;
  margin:72px auto 0;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(13px,1.6vw,24px);
  align-items:start;
  opacity:1;
  filter:none;
  transform:none;
  transition:none;
}
body.home-motion .photo-ribbon figure{
  position:relative;
  grid-column:span 4;
  min-width:0;
  height:clamp(360px,34vw,500px);
  margin:0;
  overflow:hidden;
  border-radius:16px;
  opacity:0;
  clip-path:inset(0 100% 0 0 round 16px);
  transform:translate3d(-34px,0,0) scale(.975);
  transition:opacity .85s var(--motion-ease),clip-path 1.05s var(--motion-ease),transform 1.05s var(--motion-ease),box-shadow .6s var(--motion-ease);
  will-change:transform;
}
body.home-motion .photo-ribbon figure:nth-child(1){transition-delay:.05s}
body.home-motion .photo-ribbon figure:nth-child(2){--motion-depth:.68;transition-delay:.18s}
body.home-motion .photo-ribbon figure:nth-child(3){--motion-depth:1.16;transition-delay:.31s}
body.home-motion .photo-ribbon.is-visible figure{opacity:1;clip-path:inset(0 0 0 0 round 16px);transform:translate3d(0,0,0) scale(1)}
body.home-motion .photo-ribbon img{
  position:relative;
  top:-74px;
  width:100%;
  height:calc(100% + 148px);
  max-width:none;
  object-fit:cover;
  transform:translate3d(0,var(--motion-photo-shift,0px),0) scale(1.03);
  transition:transform .18s linear;
  will-change:transform;
}

body.home-motion .complaint-intro{
  padding-top:clamp(105px,9vw,145px);
  padding-bottom:clamp(100px,8vw,135px);
  overflow:hidden;
  background:#f4ede1;
}

body.home-motion .complaint-intro::before{content:none;display:none}
body.home-motion .complaint-intro .section-heading{width:49%}
body.home-motion .complaint-intro .section-lead{width:45%;padding-top:19px;vertical-align:bottom}
body.home-motion .complaint-intro .section-lead::before{
  content:"";
  display:block;
  position:absolute;
  top:0;
  left:0;
  width:52px;
  height:2px;
  background:var(--clay);
}

/* A calm two-column chapter: copy stays natural while the image moves in-frame. */
body.home-motion .approach{
  min-height:0;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(221,230,212,.32),transparent 48%),
    var(--paper);
}

body.home-motion .approach-image{
  position:relative;
  top:auto;
  height:auto;
  padding:clamp(70px,7vw,105px) 6vw;
  display:block;
}

body.home-motion .approach-photo-frame{
  position:relative;
  height:clamp(540px,56vw,720px);
  overflow:hidden;
  border-radius:230px 230px 8px 8px;
  box-shadow:0 30px 60px rgba(33,79,60,.12);
}

body.home-motion .approach-image img{
  position:relative;
  top:-66px;
  display:block;
  width:100%;
  height:calc(100% + 132px);
  max-height:none;
  object-fit:cover;
  transform:translate3d(0,var(--motion-approach-shift,0px),0) scale(1.015);
  will-change:transform;
}

body.home-motion .approach-image.reveal{
  overflow:visible;
  opacity:1;
  filter:none;
  transform:none;
  clip-path:none;
  transition:none;
}
body.home-motion.motion-enabled .approach-image.reveal .approach-photo-frame::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(90deg,rgba(244,237,225,.98),rgba(255,249,242,.98));
  transform:scaleX(1);
  transform-origin:right;
  transition:transform 1.15s var(--motion-ease);
  pointer-events:none;
}
body.home-motion.motion-enabled .approach-image.reveal.is-visible .approach-photo-frame::after{transform:scaleX(0)}

body.home-motion .approach-copy.reveal{
  position:relative;
  overflow:hidden;
  opacity:1;
  filter:none;
  transform:none;
  transition:none;
}

body.home-motion .approach-copy::before{content:none;display:none}

body.home-motion .motion-copy-piece{
  opacity:0;
  filter:blur(1.25px);
  transform:translate3d(46px,0,0);
  transition:opacity .85s var(--motion-ease),transform .95s var(--motion-ease),filter .28s ease-out;
  transition-delay:calc(var(--motion-index,0) * 110ms);
}
body.home-motion .approach-copy.sequence-visible .motion-copy-piece{opacity:1;filter:none;transform:none}

body.home-motion .approach-copy{
  align-self:center;
  padding:clamp(85px,9vw,135px) 8vw clamp(85px,9vw,135px) 3vw;
}

body.home-motion .approach-copy>p:not(.eyebrow){max-width:570px}

body.home-motion .problems{overflow:hidden;padding:clamp(125px,12vw,190px) clamp(24px,5vw,78px) clamp(135px,13vw,205px)}
body.home-motion .problem-grid{
  position:relative;
  max-width:1280px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:78px auto 0;
  border:0;
}
body.home-motion .problem-grid::after{content:none;display:none}
body.home-motion .problem-grid article{
  position:relative;
  overflow:hidden;
  min-height:285px;
  padding:34px 24px 30px;
  border:1px solid rgba(95,139,106,.14);
  border-radius:16px;
  background:rgba(255,249,242,.54);
  opacity:0;
  filter:none;
  transform:translate3d(0,64px,0) scale(.97);
  transition:opacity .8s var(--motion-ease),transform 1s var(--motion-ease),background-color .55s ease,box-shadow .55s var(--motion-ease);
}
body.home-motion .problem-grid article.reveal.is-visible{opacity:1;transform:none}

body.home-motion .problem-grid article::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:rgba(255,249,242,.76);
  transform:translateY(101%);
  transition:transform .6s var(--motion-ease);
}

body.home-motion .problem-icon{transition:transform .65s var(--motion-ease)}


body.home-motion .quote{
  min-height:0;
  padding:105px clamp(24px,6vw,100px);
  grid-template-columns:1.15fr .95fr;
  grid-template-areas:none;
  gap:68px;
  align-items:center;
  overflow:hidden;
  background:var(--ink);
}

body.home-motion .quote-copy{
  grid-area:auto;
  position:relative;
  top:auto;
  min-height:0;
  display:block;
  max-width:900px;
  justify-self:auto;
}
body.home-motion .quote blockquote{
  max-width:760px;
  margin:23px 0 38px;
  font-size:clamp(39px,4.6vw,68px);
  line-height:1.08;
  letter-spacing:-1.3px;
}
body.home-motion .quote-copy .reveal{transform:translate3d(-36px,22px,0)}
body.home-motion .quote-copy .reveal.is-visible{transform:none}
body.home-motion .fleur-carousel{
  grid-area:auto;
  position:relative;
  top:auto;
  height:auto;
  min-height:0;
  transform:none;
  will-change:auto;
}
body.home-motion .fleur-carousel.reveal{transform:translate3d(36px,22px,0)}
body.home-motion .fleur-carousel.reveal.is-visible{transform:none}
body.home-motion .carousel-viewport{height:auto}
body.home-motion .carousel-track{height:auto;gap:20px}
body.home-motion .carousel-track figure{
  flex:0 0 calc((100% - 20px)/2);
  height:490px;
  border-radius:12px;
  box-shadow:none;
}
body.home-motion .carousel-track img{
  position:relative;
  top:var(--motion-quote-image-top,-10%);
  width:100%;
  height:var(--motion-quote-image-height,120%);
  object-fit:cover;
  object-position:center;
  transform:translate3d(0,var(--motion-quote-shift,0px),0);
  transition:transform .18s linear,filter .8s ease;
  will-change:transform;
}
body.home-motion .carousel-track .carousel-laptop img{
  --motion-quote-image-top:-27.55%;
  --motion-quote-image-height:165.7%;
}
body.home-motion .carousel-track .carousel-food img{
  --motion-quote-image-top:0%;
  --motion-quote-image-height:122.45%;
}
body.home-motion .carousel-track .carousel-stairs img{
  --motion-quote-image-top:-10%;
  --motion-quote-image-height:120%;
}

body.home-motion .pricing{
  min-height:0;
  display:block;
  padding:105px clamp(24px,9vw,160px);
  text-align:center;
  overflow:hidden;
  background:var(--paper);
}

body.home-motion .pricing::before,
body.home-motion .pricing::after{content:none;display:none}
body.home-motion .pricing>div:last-child{max-width:720px;margin:0 auto;font-size:17px;line-height:inherit}
body.home-motion .pricing>div:first-child.reveal,
body.home-motion .pricing>div:last-child.reveal{transform:translate3d(0,34px,0)}
body.home-motion .pricing>div.reveal.is-visible{transform:none}
body.home-motion .pricing-kicker{margin:0 0 18px;color:var(--lime);font-size:clamp(20px,2vw,28px);letter-spacing:-.8px}

body.home-motion .faq-contact{
  margin:0 clamp(16px,4vw,60px) 50px;
  padding:95px clamp(28px,7vw,110px);
  grid-template-columns:1fr 1fr;
  gap:clamp(48px,8vw,150px);
  align-items:stretch;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 0 0 100vmax var(--paper);
  clip-path:inset(0 -100vmax -50px);
  background:#f4ede1;
}

/* Keep the existing Tarieven breathing room while reusing the homepage FAQ motion. */
body.inner-tariffs .tariffs-faq{margin-top:80px}

body.home-motion .faq-panel{position:relative;top:auto}
body.home-motion .faq-panel.reveal,
body.home-motion .contact-panel.reveal{transform:translate3d(0,40px,0)}
body.home-motion :is(.faq-panel,.contact-panel).reveal.is-visible{transform:none}
body.home-motion .contact-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}

body.home-motion .faq-list details p{animation:motion-details-in .5s var(--motion-ease) both}
@keyframes motion-details-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

/* Reusable motion language for the existing content pages. */
body.inner-motion .page-section,
body.inner-motion .tariffs-section{overflow:hidden}

body.inner-motion .inner-photo-frame{
  position:relative;
  min-width:0;
  margin:0;
  overflow:hidden;
  background:#ede5d8;
}

body.inner-motion .page-split>.inner-photo-frame{
  height:460px;
  align-self:center;
  border-radius:190px 190px 5px 5px;
}

body.inner-motion .trajectory-feature>.inner-photo-frame{
  height:260px;
  border-radius:12px;
}

/* Werkwijze: the intro behaves like the homepage hero. The following chapter
   naturally travels over it, while the intro photo itself stays still. */
@media(min-width:801px){
  body.home-motion.inner-workflow main>.workflow-intro,
  body.home-motion.inner-about main>.about-intro{
    position:sticky;
    top:76px;
    z-index:1;
    isolation:isolate;
    box-shadow:0 16px 42px rgba(33,79,60,.07);
  }

  body.home-motion.inner-workflow main>.workflow-intro + .page-section,
  body.home-motion.inner-about main>.about-intro + .page-section{
    position:relative;
    z-index:2;
  }
}

body.inner-workflow .workflow-intro .page-split>img,
body.inner-about .about-intro .page-split>img{
  transform:none;
  transition:none;
  will-change:auto;
}

body.inner-about .about-intro .about-intro-photo{
  height:460px;
  align-self:center;
  overflow:hidden;
  border-radius:190px 190px 5px 5px;
}

body.inner-about .about-intro .about-intro-photo img{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  border-radius:0;
  transform:translate3d(0,36px,0) scale(1.15);
  transform-origin:center;
}

body.inner-about .about-education .inner-photo-frame img{
  object-position:43% center;
}

body.inner-motion .about-gallery>.inner-photo-frame{
  height:365px;
  border-radius:12px;
}

body.inner-motion .inner-photo-frame img{
  position:relative;
  top:-70px;
  display:block;
  width:100%;
  height:calc(100% + 140px);
  max-width:none;
  max-height:none;
  object-fit:cover;
  border-radius:0;
  transform:translate3d(0,var(--motion-inner-shift,0px),0) scale(1.02);
  transition:transform .18s linear;
  will-change:transform;
}

/* Match the existing site's image proportions. A very small scale buffer is
   enough to retain gentle movement without turning the crop into a close-up. */
body.inner-workflow .trajectory-feature>.inner-photo-frame img{
  top:0;
  height:100%;
  transform:translate3d(0,var(--motion-inner-shift,0px),0) scale(1.06);
}

/* Houd de vingertop en bloedafname centraler in het labonderzoek-kader. */
body.inner-workflow .lab-research-feature>.inner-photo-frame img{
  object-position:center 37%;
}

body.inner-motion .trajectory-feature.reveal{transform:translate3d(-42px,38px,0)}
body.inner-motion .trajectory-feature.reverse.reveal{transform:translate3d(42px,38px,0)}
body.inner-motion .trajectory-feature.reveal.is-visible,
body.inner-motion .trajectory-feature.reverse.reveal.is-visible{transform:none}

body.inner-motion .tariff-cards article.reveal,
body.inner-motion .rate-card.reveal{
  opacity:0;
  transform:translate3d(0,44px,0) scale(.985);
}
body.inner-motion .tariff-cards article.reveal.is-visible,
body.inner-motion .rate-card.reveal.is-visible{opacity:1;transform:none}

body.inner-motion .timeline>div.reveal{transform:translate3d(32px,0,0)}
body.inner-motion .timeline>div.reveal.is-visible{transform:none}

@media(min-width:1800px){
  body.inner-motion .about-gallery>.inner-photo-frame{height:440px}
}

body.home-motion .button{position:relative;gap:12px;overflow:hidden;transition:transform .45s var(--motion-ease),background-color .35s ease,box-shadow .45s var(--motion-ease)}
body.home-motion .button::after{content:none;display:none}
body.home-motion .text-link{position:relative;display:inline-flex;overflow:hidden}
body.home-motion .text-link::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .5s var(--motion-ease);
}

body.home-motion :is(a,button,summary,input,textarea):focus-visible{outline:3px solid rgba(233,120,59,.46);outline-offset:4px}

@media (hover:hover) and (pointer:fine){
  body.home-motion .question-list p:hover{padding-left:42px;padding-right:42px;color:#173c2d}
  body.home-motion .question-list p:hover::before{transform:scaleX(1);transform-origin:left}
  body.home-motion .photo-ribbon figure:hover{box-shadow:0 28px 54px rgba(33,79,60,.16)}
  body.home-motion .photo-ribbon figure:hover img{transform:translate3d(0,var(--motion-photo-shift,0px),0) scale(1.075)}
  body.home-motion .problem-grid article.reveal.is-visible:hover{z-index:1;transform:translateY(-9px);box-shadow:0 28px 55px rgba(33,79,60,.10)}
  body.home-motion .problem-grid article:hover::before{transform:translateY(0)}
  body.home-motion .problem-grid article:hover .problem-icon{transform:translateY(-5px) rotate(-3deg) scale(1.08)}
  body.home-motion .carousel-track figure:hover img{transform:translate3d(0,var(--motion-quote-shift,0px),0) scale(1.025);filter:saturate(1.04)}
  body.home-motion .button:hover{transform:translateY(-3px);box-shadow:0 14px 25px rgba(233,120,59,.24)}
  body.home-motion .text-link:hover::after{transform:scaleX(1);transform-origin:left}
  body.inner-motion .tariff-cards article.reveal.is-visible:hover,
  body.inner-motion .rate-card.reveal.is-visible:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(33,79,60,.10)}
}

@media(max-width:800px){
  body.home-motion .motion-progress{height:2px}
  body.home-motion .site-header,
  body.home-motion .site-header.is-scrolled{height:72px}
  body.home-motion .site-header.is-scrolled .brand img{width:205px}
  body.home-motion main>.hero{
    position:sticky;
    top:72px;
    min-height:500px;
    height:500px;
    opacity:1;
    transform:none;
    padding:42px 25px 44px;
  }
  body.home-motion .hero-copy{max-width:100%;transform:none}
  body.home-motion .hero::after{background:linear-gradient(0deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.74) 46%,rgba(255,255,255,.14) 78%,rgba(255,255,255,.04) 100%)}
  body.home-motion .hero-image-wrap .hero-slide{transform:scaleX(-1) scale(1.06)}
  body.home-motion .recognition{padding-top:60px;padding-bottom:78px;border-radius:0}
  body.home-motion .recognition-intro{margin-bottom:44px}
  body.home-motion .question-list p{padding:22px 4px}
  body.home-motion .question-list p:nth-child(n).reveal{transform:translate3d(0,30px,0)}
  body.home-motion .question-list p.reveal.is-visible{transform:none}
  body.home-motion .photo-ribbon,
  body.home-motion .photo-ribbon.reveal,
  body.home-motion .photo-ribbon.reveal.is-visible{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:46px}
  body.home-motion .photo-ribbon figure{grid-column:span 1;height:190px;margin-top:0!important;clip-path:inset(0 100% 0 0 round 12px);transform:translate3d(-22px,0,0) scale(.98)!important}
  body.home-motion .photo-ribbon figure:nth-child(2),
  body.home-motion .photo-ribbon figure:nth-child(3){height:190px;margin-top:0!important}
  body.home-motion .photo-ribbon.is-visible figure{clip-path:inset(0 0 0 0 round 12px);transform:none!important}
  body.home-motion .photo-ribbon img{top:-28px;height:calc(100% + 56px);transition-duration:.14s}
  body.home-motion .complaint-intro{padding-top:88px;padding-bottom:82px}
  body.home-motion .complaint-intro .section-heading,
  body.home-motion .complaint-intro .section-lead{display:block;width:100%}
  body.home-motion .complaint-intro .section-lead{margin-top:32px;padding-top:19px}
  body.home-motion .approach{min-height:0;display:grid;background:var(--paper)}
  body.home-motion .approach>*{min-width:0;max-width:100%}
  body.home-motion .approach-image{position:relative;top:auto;height:auto;padding:64px 54px 24px}
  body.home-motion .approach-photo-frame{height:500px;border-radius:190px 190px 6px 6px}
  body.home-motion .approach-image img{top:-35px;height:calc(100% + 70px);max-height:none;transform:translate3d(0,var(--motion-approach-shift,0px),0) scale(1.015)}
  body.home-motion .approach-copy{padding:48px 25px 92px}
  body.home-motion .motion-copy-piece{transform:translate3d(28px,0,0)}
  body.home-motion .approach-copy h2{overflow-wrap:normal;hyphens:none}
  body.home-motion .problems{padding-top:95px;padding-bottom:105px}
  body.home-motion .problem-grid{grid-template-columns:1fr;gap:13px;margin-top:58px}
  body.home-motion .problem-grid article{min-height:0;padding:32px 25px}
  body.home-motion .problem-grid article:nth-child(odd){transform:translate3d(-38px,0,0) scale(.98)}
  body.home-motion .problem-grid article:nth-child(even){transform:translate3d(38px,0,0) scale(.98)}
  body.home-motion .problem-grid article.reveal.is-visible{transform:none}
  body.home-motion .quote{min-height:0;padding:80px 25px;grid-template-columns:1fr;grid-template-areas:none;gap:0}
  body.home-motion .quote-copy{position:relative;top:auto;min-height:0;justify-self:stretch}
  body.home-motion .quote-copy .reveal,
  body.home-motion .fleur-carousel.reveal{transform:translate3d(0,30px,0)}
  body.home-motion .quote-copy .reveal.is-visible,
  body.home-motion .fleur-carousel.reveal.is-visible{transform:none}
  body.home-motion .fleur-carousel{position:relative;top:auto;height:auto;min-height:0;margin-top:42px;transform:none!important}
  body.home-motion .carousel-track{height:auto;gap:12px}
  body.home-motion .carousel-track figure{height:390px;flex-basis:calc((100% - 12px)/1.18);border-radius:12px}
  body.home-motion .pricing{min-height:0;display:block;padding:80px 25px}
  body.home-motion .pricing>div:nth-child(n).reveal{transform:translate3d(0,36px,0)}
  body.home-motion .pricing>div.reveal.is-visible{transform:none}
  body.home-motion .faq-contact{grid-template-columns:1fr;margin:0 16px 30px;border-radius:12px;padding:70px 30px;gap:65px;clip-path:inset(0 -100vmax -30px)}
  body.inner-tariffs .tariffs-faq{margin-top:45px}
  body.home-motion .faq-panel{position:relative;top:auto}
  body.home-motion .contact-panel{padding:0}
  body.home-motion :is(.faq-panel,.contact-panel).reveal{transform:translate3d(0,36px,0)}
  body.home-motion :is(.faq-panel,.contact-panel).reveal.is-visible{transform:none}
  body.inner-motion .page-split>.inner-photo-frame{height:400px}
  body.inner-about .about-intro .about-intro-photo{height:400px}
  body.inner-about .about-intro .about-intro-photo img{transform:translate3d(0,31px,0) scale(1.15)}
  body.inner-motion .trajectory-feature>.inner-photo-frame{height:240px}
  body.inner-motion .trajectory-layout .trajectory-feature:nth-child(4)>.inner-photo-frame{height:190px}
  body.inner-motion .about-gallery>.inner-photo-frame{height:auto;aspect-ratio:2/3}
  body.inner-motion .inner-photo-frame img{top:-34px;height:calc(100% + 68px)}
  body.inner-workflow .trajectory-feature>.inner-photo-frame img{top:0;height:100%}
  body.inner-motion .trajectory-feature.reveal,
  body.inner-motion .trajectory-feature.reverse.reveal{transform:translate3d(0,34px,0)}
  body.inner-motion .trajectory-feature.reveal.is-visible,
  body.inner-motion .trajectory-feature.reverse.reveal.is-visible{transform:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.home-motion *,body.home-motion *::before,body.home-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important}
  body.home-motion .motion-progress{display:none}
  body.home-motion main>.hero{position:relative;top:auto;opacity:1;transform:none}
  body.home-motion .hero-copy,
  body.home-motion .hero-image-wrap .hero-slide,
  body.home-motion .photo-ribbon figure,
  body.home-motion .photo-ribbon img,
  body.home-motion .approach-image img,
  body.home-motion .carousel-track img,
  body.inner-motion .inner-photo-frame img,
  body.home-motion .fleur-carousel{transform:none!important}
  body.home-motion .reveal,
  body.home-motion.motion-enabled:not(.motion-ready) .hero .eyebrow,
  body.home-motion.motion-enabled:not(.motion-ready) .hero h1,
  body.home-motion.motion-enabled:not(.motion-ready) .hero-actions{opacity:1;filter:none;transform:none}
}
