/* Isolated homepage hero; artwork is original, lightweight vector UI. */
.uds-type-hero{position:relative;isolation:isolate;overflow:clip;background:#faf7f9;color:#302630;padding:70px 0 30px;--hero-x:0px;--hero-y:0px;--duration:5600ms}
.uds-type-background{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 40%,#ead5df70,transparent 55%);animation:uds-background 1s both;transform:translate(calc(var(--hero-x)*-.2),calc(var(--hero-y)*-.2))}
.uds-type-container{max-width:1280px;margin:auto;padding:0 40px;box-sizing:border-box}
.uds-hero-stage{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:30px;min-height:460px}
.uds-type-copy{min-width:0}.uds-hero-eyebrow{font:500 11px/1.6 Poppins,sans-serif!important;letter-spacing:2px;color:#a30c2a!important;margin:0 0 24px}
.uds-type-hero h1{font:600 clamp(32px,3.7vw,51px)/1.16 Jost,sans-serif!important;letter-spacing:-1.7px;color:#302630!important;margin:0 0 22px;min-height:3.48em}
.uds-fixed-headline,.uds-highlight{display:block}.uds-highlight{color:#a30c2a;position:relative}.uds-highlight.typing{clip-path:inset(0 100% 0 0);animation:uds-type 1s .25s steps(22,end) forwards}
.uds-type-description{font:400 15px/1.9 Poppins,sans-serif!important;color:#796c77!important;max-width:490px;min-height:86px;margin:0 0 26px}
body .uds-type-hero .uds-type-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;background:#a30c2a;color:#fff!important;border:1px solid #a30c2a;border-radius:8px;padding:16px 22px;font:500 12px/1.6 Poppins,sans-serif;max-width:100%;box-sizing:border-box;transition:background .2s,box-shadow .2s}
.uds-type-cta span{font-size:22px;transition:transform .2s}.uds-type-cta:hover{background:#790d26!important;box-shadow:0 8px 24px #a30c2a18}.uds-type-cta:hover span{transform:translate(3px,-3px)}
.uds-type-hero :is(a,button):focus-visible{outline:3px solid #a30c2a;outline-offset:5px}
.uds-type-tagline{font:400 11px/1.6 Poppins,sans-serif!important;letter-spacing:1.2px;color:#99828f!important;margin:22px 0 0}
.uds-hero-art{min-width:0}.uds-art-depth{transform:translate(var(--hero-x),var(--hero-y));transition:transform .4s ease-out}.uds-art-depth img{display:block;width:100%;height:auto;aspect-ratio:900/680}
.uds-hero-navigation{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8dce3;padding-top:23px;margin-top:22px;gap:20px}.uds-hero-indicators{display:flex;gap:22px;flex:1}.uds-hero-indicators button{position:relative;background:none;border:0;padding:12px 0;text-align:left;font:500 10px/1.5 Poppins,sans-serif;color:#93808b;flex:1;max-width:180px;cursor:pointer}.uds-hero-indicators button:before,.uds-hero-indicators button:after{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:#e3d2dc}.uds-hero-indicators button:after{background:#a30c2a;transform:scaleX(0);transform-origin:left}.uds-hero-indicators button[aria-current=true]{color:#a30c2a}.uds-hero-indicators button[aria-current=true]:after{animation:uds-progress var(--duration) linear forwards}.uds-type-hero.is-paused .uds-hero-indicators button:after{animation-play-state:paused}
.uds-hero-buttons{display:flex;gap:8px}.uds-hero-buttons button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e1cdd7;background:transparent;border-radius:50%;color:#a30c2a;cursor:pointer}.uds-hero-buttons button:hover{background:#efdee6}
.uds-hero-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.uds-hero-stage.entering .uds-hero-eyebrow{animation:uds-reveal .65s both}.uds-hero-stage.entering h1{animation:uds-reveal .75s .08s both}.uds-hero-stage.entering .uds-type-description{animation:uds-reveal .75s .17s both}.uds-hero-stage.entering .uds-type-cta{animation:uds-reveal .75s .26s both}.uds-hero-stage.entering .uds-hero-art{animation:uds-art-in .9s .12s both}
.uds-hero-stage.exiting .uds-type-copy{animation:uds-out .32s both}.uds-hero-stage.exiting .uds-hero-art{animation:uds-art-out .32s both}
@keyframes uds-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes uds-background{from{opacity:0}to{opacity:1}}@keyframes uds-art-in{from{opacity:0;transform:translateX(30px) scale(.97)}to{opacity:1;transform:none}}@keyframes uds-out{to{opacity:0;transform:translateY(-12px)}}@keyframes uds-art-out{to{opacity:0;transform:translateX(-20px) scale(.98)}}@keyframes uds-type{to{clip-path:inset(0)}}@keyframes uds-progress{to{transform:scaleX(1)}}
@media(max-width:1000px){.uds-type-container{padding:0 28px}.uds-hero-stage{gap:12px}.uds-type-hero h1{font-size:36px;letter-spacing:-1px;min-height:4.64em}.uds-type-description{min-height:114px}.uds-hero-indicators{gap:12px}}
@media(max-width:700px){.uds-type-hero{padding:40px 0 24px}.uds-type-container{padding:0 22px}.uds-hero-stage{grid-template-columns:1fr;gap:18px;min-height:0}.uds-type-hero h1{font-size:clamp(32px,8.3vw,44px);min-height:3.48em;letter-spacing:-1px}.uds-type-description{min-height:114px;font-size:14px!important;margin-bottom:20px}.uds-hero-eyebrow{margin-bottom:18px;font-size:10px!important}.uds-hero-art{max-width:520px;width:100%;margin:auto}.uds-hero-navigation{margin-top:4px;align-items:center;gap:14px}.uds-hero-indicators{gap:10px}.uds-hero-indicators button{font-size:0;padding:10px 0}.uds-hero-indicators button span{font-size:11px}.uds-hero-buttons{gap:5px}.uds-hero-buttons button{width:33px;height:33px}.uds-type-tagline{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.uds-type-hero *{animation:none!important;transition:none!important}.uds-highlight.typing{clip-path:none}.uds-art-depth,.uds-type-background{transform:none}.uds-hero-indicators button[aria-current=true]:after{transform:scaleX(1)}}
/* Reserve room for the longest supplied copy at narrow breakpoints. */
@media(min-width:701px) and (max-width:1000px){.uds-type-description{min-height:143px}}
@media(max-width:380px){.uds-type-hero h1{min-height:4.64em}.uds-type-description{min-height:133px}}
/* Final refinement: full-section backgrounds; preserve the existing slide controller. */
.uds-type-hero{padding:52px 0 26px}
.uds-type-background{background:#faf7f9}
.uds-type-container{position:relative;z-index:1}
.uds-hero-stage{grid-template-columns:1fr;min-height:390px;align-items:start;gap:0}
.uds-type-copy{max-width:520px;position:relative;z-index:2}
.uds-type-hero h1{min-height:0;margin-bottom:18px}
.uds-type-description{min-height:0;margin-bottom:26px}
.uds-hero-art{position:absolute;inset:-52px calc((1280px - 100vw)/2) -26px;z-index:-1;max-width:none;margin:0;pointer-events:none}
.uds-art-depth,.uds-art-depth picture{display:block;width:100%;height:100%}
.uds-art-depth img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:75% center}
.uds-hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf7f9 0%,#faf7f9f5 32%,#faf7f95c 52%,transparent 65%),linear-gradient(0deg,#faf7f9 0%,transparent 20%);pointer-events:none}
.uds-hero-navigation{position:relative;z-index:2;margin-top:18px}
.uds-hero-indicators button{max-width:240px;min-width:0}
@media(max-width:1279px){.uds-hero-art{left:0;right:0}.uds-type-copy{max-width:46%}.uds-art-depth img{object-position:70% center}}
@media(min-width:701px) and (max-width:1000px){.uds-type-hero{padding-top:40px}.uds-hero-stage{min-height:430px}.uds-type-copy{max-width:49%}.uds-type-hero h1{min-height:0}.uds-type-description{min-height:0}.uds-hero-art{top:-40px}.uds-hero-art:after{background:linear-gradient(90deg,#faf7f9 0%,#faf7f9ed 40%,#faf7f970 58%,transparent 78%),linear-gradient(0deg,#faf7f9,transparent 24%)}}
@media(max-width:700px){
 .uds-type-hero{padding:30px 0 22px}.uds-type-container{position:static;padding:0 22px}.uds-hero-stage{min-height:430px;position:relative;z-index:2}.uds-type-copy{max-width:100%}.uds-type-hero h1{min-height:0;margin-bottom:16px}.uds-type-description{min-height:0;margin-bottom:22px}.uds-hero-eyebrow{margin-bottom:14px}.uds-type-tagline{margin-top:16px}
 .uds-hero-art{inset:0;z-index:-1;width:100%;height:100%}.uds-art-depth img{object-fit:contain;object-position:right bottom;transform:scale(1.65);transform-origin:bottom right}.uds-hero-art:after{background:linear-gradient(180deg,#faf7f9 0%,#faf7f9 48%,#faf7f9db 68%,#faf7f938 85%,#faf7f9 100%)}
 .uds-hero-navigation{margin-top:10px;padding-top:18px;gap:12px}.uds-hero-buttons{gap:6px}.uds-hero-buttons button{width:44px;height:44px}.uds-hero-indicators button{min-height:44px;padding:14px 0}.uds-type-description{font-size:14px!important}
}
@media(max-width:380px){.uds-hero-stage{min-height:490px}.uds-type-hero h1{min-height:0}.uds-type-description{min-height:0}.uds-hero-navigation{gap:10px}.uds-hero-buttons{gap:4px}}
@media(min-width:1001px){.uds-hero-stage{min-height:410px}}
/* One photographic background shared by every presentation. */
.uds-hero-art{display:none}
.uds-type-background{inset:-8px;background:linear-gradient(90deg,rgba(250,247,249,.88) 0%,rgba(250,247,249,.76) 34%,rgba(250,247,249,.15) 62%,rgba(250,247,249,.03) 100%),linear-gradient(0deg,rgba(250,247,249,.9) 0%,rgba(250,247,249,0) 24%),url('../images/hero/workspace-background.webp') center center/cover no-repeat}
@media(max-width:700px){.uds-type-background{background-position:78% center;background-image:linear-gradient(90deg,rgba(250,247,249,.94),rgba(250,247,249,.79) 65%,rgba(250,247,249,.48)),url('../images/hero/workspace-background.webp')}}
/* Mobile: readable copy above a deliberately framed photographic background. */
@media(max-width:700px){
 .uds-type-hero{padding-top:26px;padding-bottom:18px}
 .uds-type-background{inset:0;background:#faf7f9;transform:none}
 .uds-type-background:before{content:'';position:absolute;left:0;right:0;bottom:76px;height:175px;background:url('../images/hero/workspace-background.webp') 83% center/auto 220px no-repeat}
 .uds-type-background:after{content:'';position:absolute;left:0;right:0;bottom:76px;height:175px;background:linear-gradient(180deg,#faf7f9,rgba(250,247,249,.05) 28%,rgba(250,247,249,.05) 78%,#faf7f9)}
 .uds-hero-stage{min-height:490px;box-sizing:border-box;padding-bottom:145px}
 .uds-type-hero h1{font-size:clamp(28px,7.3vw,32px)!important;letter-spacing:-.8px;margin-bottom:14px}
 .uds-type-description{line-height:1.8!important;margin-bottom:20px}
 .uds-hero-eyebrow{letter-spacing:1.5px;font-size:9px!important;margin-bottom:12px}
 .uds-type-tagline{font-size:10px!important;margin-top:14px}
 .uds-hero-navigation{margin-top:0;padding-top:12px;border-top:1px solid #e3d2dc;gap:10px}
 .uds-hero-indicators{gap:12px}.uds-hero-indicators button{padding-top:11px}
}
@media(max-width:380px){.uds-hero-stage{min-height:530px}.uds-type-container{padding:0 20px}.uds-hero-buttons{gap:4px}.uds-hero-indicators{gap:8px}}
/* Shared rounded card for progress indicators and playback controls. */
.uds-hero-navigation{background:rgba(250,247,249,.92);border:1px solid rgba(227,210,220,.8);border-radius:12px;padding:20px 16px 8px;box-shadow:0 5px 20px rgba(69,43,54,.04)}
@media(max-width:700px){.uds-hero-navigation{border-radius:12px;padding:16px 10px 6px;gap:10px}}
/* Photo stays at its normal size; only the existing pointer parallax moves it. */
.uds-type-background{inset:0;animation:none!important;transition:none;transform:none;background-position:center center,center center,calc(50% + var(--hero-x)*.2) calc(50% + var(--hero-y)*.2)}
@media(max-width:700px){.uds-type-background{background-position:center}.uds-type-background:before{animation:none!important;transition:none;transform:none}}
@media(prefers-reduced-motion:reduce){.uds-type-background{background-position:center center}}
/* Visible desktop parallax: move the photo focal point without scaling it. */
@media(min-width:701px) and (hover:hover) and (pointer:fine){.uds-type-background{background-position:center center,center center,calc(50% + var(--hero-x)*4) calc(50% + var(--hero-y)*4)}}
@media(prefers-reduced-motion:reduce){.uds-type-background{background-position:center center!important}}
/* Final preference: completely stationary photograph on every device. */
.uds-type-background{animation:none!important;transition:none!important;transform:none!important;background-position:center center!important}
.uds-type-background:before,.uds-type-background:after{animation:none!important;transition:none!important;transform:none!important}
/* Balance headline and CTA in narrow panels and mobile landscape widths. */
@media(min-width:481px) and (max-width:700px){
 .uds-type-hero h1{font-size:clamp(36px,6vw,42px)!important;line-height:1.14!important}
 body .uds-type-hero .uds-type-cta{padding:11px 18px;min-height:44px;gap:16px}
 .uds-type-cta span{font-size:20px}
}
@media(max-width:480px){
 .uds-type-hero h1{font-size:clamp(30px,8vw,36px)!important}
 body .uds-type-hero .uds-type-cta{padding:11px 16px;min-height:44px;gap:14px}
 .uds-type-cta span{font-size:20px}
}
/* Mobile photo fills the entire hero behind readable content, with no image motion. */
@media(max-width:700px){
 .uds-type-background{background:linear-gradient(180deg,rgba(250,247,249,.95) 0%,rgba(250,247,249,.9) 48%,rgba(250,247,249,.58) 100%),url('../images/hero/workspace-background.webp') 78% center/cover no-repeat;background-position:center,78% center!important}
 .uds-type-background:before,.uds-type-background:after{content:none;display:none}
 .uds-hero-stage{min-height:350px;padding-bottom:24px}
}
@media(min-width:481px) and (max-width:700px){.uds-hero-stage{min-height:320px}}
/* Stronger hero headline hierarchy across mobile and narrow panels. */
@media(min-width:481px) and (max-width:700px){.uds-type-hero h1{font-size:clamp(42px,7vw,49px)!important}}
@media(max-width:480px){.uds-type-hero h1{font-size:clamp(32px,9vw,40px)!important;line-height:1.14!important}}
