/* The default is a compact, ordinary page. Motion is a desktop enhancement. */
.motion-scene{position:relative;padding-bottom:110px;overflow:clip;background:var(--paper);--scene-support:1;--scene-content:1}
.hero-video-scene{animation:none}
.hero-video-fallback{position:absolute;inset:0}
.hero-video-fallback .photo{height:100%}
.hero-video{position:absolute;left:50%;top:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);border:0;transform:translate(-50%,-50%) scale(1.08);opacity:.92;pointer-events:none}
.vimeo-wrap,.vimeo-modal{position:absolute;inset:0;background:#101719}
.vimeo-frame{display:block;width:100%;height:100%;border:0}
.vimeo-modal{position:relative;aspect-ratio:16/9;inset:auto}
.vimeo-fallback{position:absolute;inset:0;z-index:2;overflow:hidden;transition:opacity .35s,visibility .35s}
.vimeo-fallback.is-ready{opacity:0;visibility:hidden;pointer-events:none}
.vimeo-fallback>.photo{position:absolute;inset:0}
.vimeo-fallback>.placeholder-label{position:absolute;left:16px;bottom:16px;z-index:1}
.motion-reels{background:var(--sand)}
.motion-stage{position:relative;padding-block:85px 42px}
.motion-heading-layout{margin-bottom:0}
.scene-title{display:inline-block;max-width:100%;width:max-content;transform-origin:0 0;position:relative;z-index:2}
.scene-accent{color:var(--brand)}
.motion-reels .scene-accent{color:inherit}
.motion-reels .client-grid{margin-top:0}
.motion-approach{background:var(--ink);color:var(--paper);padding-bottom:100px}
.approach-heading,.approach-body{display:grid;grid-template-columns:1fr 1.8fr;gap:10vw}
.approach-heading .eyebrow{margin-bottom:24px}
.approach-heading h2{font-size:clamp(38px,4.9vw,76px);line-height:1.04}
.approach-heading .approach-mark{width:100%;max-width:250px;aspect-ratio:1.055;align-self:center}
.approach-body>div{grid-column:2;max-width:700px}
.approach-body p{color:#e5e1da;margin-bottom:22px}
.approach-body .text-link{margin-top:18px}
.motion-approach+.contact-band{border-top:1px solid #ffffff20}
.scroll-cinema .motion-runway{height:calc(var(--scene-stage-height) + var(--scene-distance))}
.scroll-cinema .motion-stage{position:sticky;top:var(--motion-header-height);z-index:3}
.scroll-cinema .scene-title{will-change:transform}
.scroll-cinema .scene-support{opacity:var(--scene-support);transform:translate3d(0,calc((1 - var(--scene-support))*20px),0)}
.scroll-cinema .scene-content{opacity:var(--scene-content);transform:translate3d(0,calc((1 - var(--scene-content))*55px),0)}
.scroll-cinema .motion-approach .approach-mark{transform:translate3d(0,calc((1 - var(--scene-support))*32px),0) scale(calc(.78 + var(--scene-support)*.22)) rotate(calc((1 - var(--scene-support))*-10deg))}
.scroll-cinema .c20-testimonials .approach-mark{transform:none!important;opacity:var(--scene-support)}
.c20-testimonials .approach-body{display:block}.c20-testimonials .approach-body>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:none}.c20-testimonials .testimonial-card{position:relative;min-height:100%;margin:0;padding:36px 30px 32px;background:#ffffff0a;border:1px solid #ffffff1c;border-top:3px solid var(--brand);color:#eeeae3;font-size:clamp(15px,1.18vw,18px);line-height:1.58}.c20-testimonials .testimonial-card:before{content:"“";position:absolute;right:24px;top:13px;color:var(--brand);font-family:Georgia,serif;font-size:56px;line-height:1;opacity:.9}.c20-testimonials .testimonial-client{display:block;padding-right:42px;color:var(--paper);font-size:12px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase}.c20-testimonials .testimonial-quote{display:block;padding-top:28px}.c20-testimonials .testimonial-grid>.wp-block-buttons{grid-column:1/-1;margin-top:12px}
.scroll-cinema .motion-scene[data-settled=true] .scene-title{will-change:auto}
@media(max-width:1100px){.motion-stage{padding-block:70px 36px}.motion-scene{padding-bottom:85px}.approach-heading,.approach-body{gap:7vw}}
@media(max-width:1100px){.c20-testimonials .approach-body>div{grid-template-columns:1fr}.c20-testimonials .testimonial-card{min-height:0}.c20-testimonials .testimonial-quote{padding-top:20px}}
@media(max-width:800px){.motion-stage{padding-block:65px 32px}.motion-scene{padding-bottom:70px}.approach-heading,.approach-body{grid-template-columns:.6fr 1.4fr;gap:6vw}.approach-heading h2{font-size:40px}.approach-heading .approach-mark{max-width:190px}}
@media(max-width:520px){.motion-stage{padding-block:55px 28px}.motion-scene{padding-bottom:60px}.motion-heading-layout .text-link{margin-top:24px}.approach-heading,.approach-body{display:block}.approach-heading .approach-mark{width:135px;margin-bottom:35px}.approach-heading h2{font-size:clamp(32px,8.8vw,40px)}.approach-heading .eyebrow{margin-bottom:18px}.approach-body p{font-size:1rem}.approach-body .text-link{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.motion-runway{height:auto!important}.motion-stage{position:relative!important;top:auto!important}.scene-title,.scene-support,.scene-content{transform:none!important;opacity:1!important}}

/* Interior page titles use the same scroll-to-settle movement as the homepage. */
.motion-page-intro{padding-bottom:0}
.motion-page-intro .motion-stage{padding:0}
.motion-page-intro .page-hero{grid-template-columns:1.3fr 1fr;padding-top:60px;padding-bottom:50px}
.motion-page-intro h1{font-size:clamp(54px,6.4vw,104px)}
@media(max-width:800px){.motion-page-intro .page-hero{grid-template-columns:1fr;padding-block:50px 40px}.motion-page-intro h1{font-size:clamp(50px,10vw,80px)}}
@media(prefers-reduced-motion:reduce){.reveal{transition-delay:0s!important}}

/* Each treatment has its own rhythm, with no scroll hijacking. */
.motion-line{display:block;max-width:100%}
.motion-ink{display:inline}
.motion-reels .reels-header{grid-template-columns:1fr;gap:30px}
.motion-reels .scene-title{font-size:clamp(44px,6.7vw,106px);line-height:1.04}
.motion-reels .scene-support{max-width:640px}
.motion-page-intro[data-motion-style=split] .page-hero{grid-template-columns:1fr;gap:28px}
.motion-page-intro[data-motion-style=split] h1{font-size:clamp(64px,11vw,180px)}
[data-motion-style=split] .scene-title{display:block;width:100%}
.scroll-cinema [data-motion-style=split] .motion-line{will-change:transform}
.scroll-cinema [data-motion-style=ink] .motion-ink{--line-color:var(--ink);--line-dim:#8f8980;background:linear-gradient(90deg,var(--line-color) 0%,var(--line-color) var(--line-fill,100%),var(--line-dim) var(--line-fill,100%),var(--line-dim) 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.scroll-cinema .motion-approach[data-motion-style=ink] .motion-ink{--line-color:var(--paper);--line-dim:#77716b}
.scroll-cinema .motion-approach[data-motion-style=ink] .motion-line:last-child .motion-ink{--line-color:var(--brand)}
.scroll-cinema [data-motion-style=ink] .motion-ink .scene-accent,.scroll-cinema [data-motion-style=ink] .motion-ink .text-brand{color:inherit}

/* Work-page aperture: the live film is visible through the O's counter. */
.portal-backdrop,.portal-eyebrow,.portal-scroll{display:none}
.portal-letter{display:inline-block}
.scroll-cinema .motion-portal .motion-stage{height:calc(100svh - var(--motion-header-height));overflow:hidden;isolation:isolate}
.scroll-cinema .portal-backdrop{display:block;position:absolute;inset:0;opacity:var(--portal-film,0);background:var(--ink)}
.portal-backdrop>.photo,.portal-backdrop>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portal-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#000b)}
.scroll-cinema .portal-surface{position:absolute;inset:0;background:var(--paper);z-index:2;will-change:transform;mask-image:radial-gradient(ellipse var(--hole-rx,1px) var(--hole-ry,1px) at var(--hole-x,50%) var(--hole-y,50%),transparent 97%,#000 100%);-webkit-mask-image:radial-gradient(ellipse var(--hole-rx,1px) var(--hole-ry,1px) at var(--hole-x,50%) var(--hole-y,50%),transparent 97%,#000 100%)}
.scroll-cinema .motion-portal .page-hero{position:absolute;top:26%;width:100%;display:block;padding-block:0}
.scroll-cinema .motion-portal h1{font-size:clamp(100px,18vw,280px);line-height:.95;letter-spacing:-.065em;max-width:none;white-space:nowrap}
.scroll-cinema .motion-portal .page-hero p{margin-top:30px;max-width:470px;font-size:20px}
.scroll-cinema .portal-eyebrow{display:block;position:absolute;top:8%}
.scroll-cinema .portal-scroll{display:flex;justify-content:space-between;position:absolute;bottom:6%;width:100%;font-size:13px}
.portal-scroll span{font-size:23px}
.portal-caption{position:absolute;inset:auto 0 7%;z-index:1;color:white;opacity:var(--portal-caption,0);transform:translateY(calc((1 - var(--portal-caption,0))*20px))}
.portal-caption p{font-size:clamp(40px,5.6vw,86px);letter-spacing:-.055em;line-height:1.04;margin:15px 0 25px}
.portal-caption>span:last-child{font-size:14px}
.portal-caption,.portal-backdrop{pointer-events:none}
@media(max-width:800px){.motion-reels .scene-title{font-size:clamp(36px,6vw,58px)}.motion-page-intro[data-motion-style=split] h1{font-size:clamp(50px,10vw,80px)}}
@media(prefers-reduced-motion:reduce){.motion-line{transform:none!important}.portal-backdrop{display:none!important}.portal-surface{transform:none!important;opacity:1!important;mask:none!important}.motion-ink{background:none!important;color:inherit!important}}

.motion-page-intro[data-motion-style=ink] h1{font-size:clamp(76px,14vw,210px)}
@media(max-width:800px){.motion-page-intro[data-motion-style=ink] h1{font-size:clamp(50px,10vw,80px)}}
