/* Isolated IAM.YOGA motion study. */
.motion-home .header{position:absolute;inset:0 0 auto;z-index:5;max-width:none;margin:0;padding-inline:clamp(1.25rem,5vw,5rem);border-color:#ffffff38;color:#fffaf7;background:transparent}
.motion-home .header .logo span,.motion-home .header nav a,.motion-home .header-link span{color:inherit}
.motion-home .header nav.open{background:#342c29;color:#fffaf7}
.motion-home .home-hero{position:relative;isolation:isolate;display:flex;align-items:center;max-width:none;min-height:680px;min-height:min(800px,92svh);margin:0;padding:140px clamp(1.25rem,6vw,7rem) 48px;overflow:hidden;background:#8d8278;color:#fffaf7}
.hero-scene{position:absolute;z-index:-2;inset:-36px 0;pointer-events:none}
.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transform:translate3d(0,var(--hero-shift,0px),0)}
.motion-home .home-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(34,29,26,.24),rgba(34,29,26,.23) 20%,rgba(34,29,26,.47) 63%,rgba(34,29,26,.68))}
.motion-home .home-hero-copy{max-width:790px;min-width:0}
.motion-home .home-hero .eyebrow{color:#fffaf7d9}
.motion-home .home-hero h1{font-size:clamp(3.3rem,6.8vw,6.5rem);line-height:1.03;letter-spacing:-.055em;margin:1.65rem 0}
.motion-home .home-hero h1 em{color:#fffaf7}
.motion-home .home-hero-copy>p{color:#fffaf7;max-width:560px;line-height:1.65;font-size:1rem;text-shadow:0 1px 8px #342c2940}
.motion-home .home-hero .primary{background:#f6f1ec;color:#342c29;min-width:230px}
.hero-scroll{display:flex;align-items:center;gap:20px;width:max-content;margin-top:40px;color:#fffaf7d9;text-decoration:none;font-size:.65rem;letter-spacing:.22em}
.hero-scroll:before{content:'';width:40px;height:1px;background:currentColor}
.motion-line{display:block;overflow:hidden;padding-bottom:.15em;margin-bottom:-.15em}
.motion-line-inner{display:block}
.motion-title.is-visible .motion-line-inner{animation:title-in .95s cubic-bezier(.25,.65,.3,1) both;animation-delay:var(--line-delay,0ms)}
@keyframes title-in{from{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}
.motion-ready:not(.is-visible){opacity:0;transform:translateY(5px)}
.motion-ready.is-visible{animation:card-in 1s cubic-bezier(.25,.65,.3,1) both;animation-delay:var(--card-delay,0ms)}
@keyframes card-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.motion-photo.is-visible{animation:photo-in 1.15s cubic-bezier(.25,.65,.3,1) both}
@keyframes photo-in{from{opacity:0}to{opacity:1}}
.button{transition:background-color .3s ease,transform .25s ease}
.button>span{display:inline-block;transition:transform .3s ease}
@media(hover:hover){.button.primary:hover{background:#766157}.button:hover>span{transform:translate(3px,-3px)}.motion-home .home-hero .primary:hover{background:#ead8d2}}
.button:active{transform:scale(.98)}
.motion-label{display:block;padding:14px 20px;text-align:center;background:#ead8d2;color:#342c29;font-size:12px;letter-spacing:.04em}
@media(max-width:680px){.motion-home .home-hero{min-height:0;padding:132px 24px 32px}.motion-home .home-hero h1{font-size:clamp(2.8rem,10.8vw,4rem)}.motion-home .home-hero-copy>p{font-size:.93rem}.hero-scene img{object-position:48% center}.motion-home .home-hero .eyebrow{font-size:.59rem;letter-spacing:.16em}.hero-scroll{margin-top:30px}.motion-home .home-hero .primary{min-height:54px}}
@media(prefers-reduced-motion:reduce){.motion-ready,.motion-ready:not(.is-visible),.motion-photo,.motion-line-inner{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}.hero-scene img{transform:none!important}.button,.button>span{transition:none!important;transform:none!important}}

html:has(.motion-home){background:#8d8278}.motion-home{margin:0;padding:0}.motion-home #main{display:flow-root;margin:0;padding:0}.motion-home .header{top:0}.motion-home .home-hero{margin-top:0}.motion-home .hero-scene{background:#8d8278}

@media(max-width:680px){.hero-scene img{object-position:82% center;transform:none!important}.motion-home .home-hero{padding-top:124px;padding-bottom:38px}}

/* Prepare reveal targets before their first paint; never hide them again. */
.motion-enabled .home-hero h1:not(.is-visible),
.motion-enabled .section-head h2:not(.is-visible),
.motion-enabled .mini-about h2:not(.is-visible),
.motion-enabled .home-close h2:not(.is-visible),
.motion-enabled .mini-about>img:not(.is-visible){opacity:0}
@media(max-width:680px){
 .motion-home .hero-scene img{position:absolute;width:140%;max-width:none;height:140%;left:-20%;top:-20%;object-position:50% 58%}
}
@media(prefers-reduced-motion:reduce){
 .motion-enabled .motion-home h1,.motion-enabled .motion-home h2,.motion-enabled .mini-about>img{opacity:1!important}
}

/* Quiet section labels and balanced values strip. */
.motion-home .ticker{justify-content:center;align-items:center;text-align:center}
.motion-home .home-courses>.section-head>.eyebrow,
.motion-home .mini-about>div>.eyebrow,
.motion-home .home-reviews>.section-head>.eyebrow{
 font-size:.6rem;letter-spacing:.12em;line-height:1.6;font-weight:400;
}
@media(max-width:680px){
 .motion-home .ticker{padding-inline:16px;gap:clamp(12px,4vw,25px);font-size:.62rem;letter-spacing:.16em}
 .motion-home .ticker i{font-size:.5rem}
 .motion-home .home-courses>.section-head>.eyebrow,
 .motion-home .mini-about>div>.eyebrow,
 .motion-home .home-reviews>.section-head>.eyebrow{font-size:.57rem;letter-spacing:.11em}
}

/* A more expressive entrance only for the first headline. */
.motion-home .home-hero .motion-title.is-visible .motion-line-inner{
 animation-name:hero-title-rise;animation-duration:1.2s;
 animation-timing-function:cubic-bezier(.22,.61,.36,1);
}
.motion-home .home-hero .motion-line:nth-child(1) .motion-line-inner{--line-delay:100ms!important}
.motion-home .home-hero .motion-line:nth-child(2) .motion-line-inner{--line-delay:220ms!important}
.motion-home .home-hero .motion-line:nth-child(3) .motion-line-inner{--line-delay:340ms!important}
@keyframes hero-title-rise{from{transform:translateY(36px);opacity:0}to{transform:translateY(0);opacity:1}}

/* Fixed photo and header; only the text composition enters. */
.motion-enabled .motion-home .home-hero-copy.is-visible{animation:hero-copy-in 1.25s cubic-bezier(.22,.61,.36,1) both}
.motion-home .hero-scene img{transform:none!important}
.motion-enabled .motion-home .home-hero h1:not(.is-visible){opacity:1}
.motion-home .home-hero .motion-title.is-visible .motion-line-inner{animation:none;opacity:1;transform:none}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}
.motion-home .button{transition:background-color .16s ease,color .16s ease,transform .12s ease}
.motion-home .button:active,.motion-home .button.is-pressed{transform:scale(.96)}
.motion-home .button.primary:active,.motion-home .button.primary.is-pressed{background:#766157;color:#fffaf7}
.motion-home .home-hero .button.primary:active,.motion-home .home-hero .button.primary.is-pressed{background:#dfc5bd;color:#342c29}
.motion-home .button:active>span,.motion-home .button.is-pressed>span{transform:translate(4px,-3px)}
@media(prefers-reduced-motion:reduce){
 .motion-enabled .motion-home .home-hero-copy{animation:none!important;opacity:1;transform:none}
 .motion-home .button:active,.motion-home .button.is-pressed,.motion-home .button.is-pressed>span{transform:none!important}
}

.motion-enabled .motion-home .home-hero-copy:not(.is-visible){opacity:0}
/* A brief two-pixel nudge, followed by a long quiet interval. */
.motion-home :is(.course-purchase-button,.bundle-offer [data-bundle-open]).attention-visible{animation:course-button-nudge 6s ease-in-out 1.5s infinite}
@keyframes course-button-nudge{
 0%,10%,100%{translate:0 0}
 2%,6%{translate:-2px 0}
 4%,8%{translate:2px 0}
}
.motion-home :is(.course-purchase-button,.bundle-offer [data-bundle-open]):is(:hover,:focus-visible,:active,.is-pressed){animation:none;translate:0 0}
@media(prefers-reduced-motion:reduce){
 .motion-enabled .motion-home .home-hero-copy:not(.is-visible){opacity:1}
 .motion-home :is(.course-purchase-button,.bundle-offer [data-bundle-open]).attention-visible{animation:none!important;translate:none}
}

/* Scroll-controlled lettering preserves every line's original space. */
.motion-enabled .mini-about h2:not(.is-visible){opacity:1}
.about-word{display:inline-block;white-space:nowrap;opacity:0;transform:none;transition:opacity .12s linear}
.about-word.shown{opacity:1;transform:translateY(0)}
.about-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.about-word{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.about-word{opacity:1!important;transform:none!important;transition:none!important}}

/* Course pages share the approved rhythm without moving their photos. */
.motion-enabled .motion-course .course-hero>div:not(.is-visible),
.motion-enabled .motion-course .content-head h2:not(.is-visible),
.motion-enabled .motion-course .faq-layout h2:not(.is-visible),
.motion-enabled .motion-course .buy-section h2:not(.is-visible),
.motion-enabled .motion-course .course-about>img:not(.is-visible){opacity:0}
.motion-enabled .motion-course .course-hero>div.is-visible{animation:hero-copy-in 1.25s cubic-bezier(.22,.61,.36,1) both}
.motion-course .content-head>.eyebrow,.motion-course .course-about .eyebrow,.motion-course .faq-layout .eyebrow{font-size:.6rem;letter-spacing:.12em}
.motion-course .button{transition:background-color .16s,color .16s,transform .12s}
.motion-course .button:is(:active,.is-pressed){transform:scale(.96)}
.motion-course .button.primary:is(:active,.is-pressed){background:var(--taupe);color:var(--white)}
.motion-course .button:is(:active,.is-pressed)>span{transform:translate(4px,-3px)}
@media(prefers-reduced-motion:reduce){
 .motion-enabled .motion-course .course-hero>div,.motion-enabled .motion-course h2,.motion-enabled .motion-course .course-about>img{opacity:1!important;animation:none!important;transform:none!important}
 .motion-course .button:is(:active,.is-pressed),.motion-course .button:is(:active,.is-pressed)>span{transform:none!important}
}
