/* Motion styles use a layer-independent specificity above the original theme. */
html:root{--motion-ease:cubic-bezier(.22,1,.36,1);--header-offset:108px;scroll-padding-top:var(--header-offset)}
html.motion-ready{scroll-behavior:auto}
body .header{position:sticky;top:0;z-index:30;width:100%;height:96px;padding-inline:max(48px,calc((100vw - 1240px)/2));border-bottom:1px dashed #ffffff18;background:rgb(9 11 13 / .72);backdrop-filter:blur(14px);transition:background .35s,border-color .35s,box-shadow .35s;isolation:isolate}
body .header.scrolled{background:rgb(9 11 13 / .91);backdrop-filter:blur(18px);border-color:#ffffff12;box-shadow:0 12px 38px #0003}
body .header::after{content:'';position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,#9653eb,#ffc44e);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
body .header nav a{position:relative;padding-block:12px;transition:color .25s}
body .header nav a::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--motion-ease)}
body .header nav a[aria-current='location']{color:var(--purple)}
body .header nav a:hover::after,body .header nav a[aria-current='location']::after{transform:scaleX(1)}
body h1{font-size:clamp(48px,5.35vw,77px);line-height:1.045;letter-spacing:-.062em;font-weight:800;text-wrap:balance}
body h2{font-size:clamp(34px,3.55vw,50px);line-height:1.13;letter-spacing:-.052em;font-weight:750;text-wrap:balance}
body h3{letter-spacing:-.035em}body .lead{font-size:clamp(17px,1.45vw,20px);line-height:1.65;letter-spacing:-.018em}
body .hero{min-height:560px;grid-template-columns:1.13fr 1fr;isolation:isolate}
body .hero::before{content:'';position:absolute;z-index:-1;inset:4% -5% 2% 34%;background:radial-gradient(ellipse at 68% 52%,#8d44e912 0,transparent 52%);pointer-events:none}
body .hero-art{height:100%;margin-left:0;background-size:cover;translate:none;rotate:none;will-change:auto}
body .hero-art::before,body .hero-art::after{content:none}
body .hero h1 em{display:inline-block;background:linear-gradient(100deg,#a965ff 10%,#d394ff 42%,#a965ff 74%,#ffc34c 100%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:accentFlow 7s ease-in-out infinite}
body .signature>span{position:relative;overflow:hidden;background:#4f3968}
body .signature>span::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#b27aff 40%,#ffc34c 70%,transparent);transform:translateX(-115%);animation:lineCharge 4.8s ease-in-out infinite}
@keyframes accentFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes lineCharge{0%,35%{transform:translateX(-115%)}70%,100%{transform:translateX(115%)}}
body .hero-copy{min-width:0}body .hero .eyebrow{font-size:11px;letter-spacing:.2em;line-height:1.9}
body .section{padding-block:clamp(68px,6.5vw,84px)}body .section .eyebrow{font-size:12px;letter-spacing:.23em}
.motion-word{display:inline-block;vertical-align:baseline;transform-origin:50% 100%}
body .button{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 0 0 transparent;transition:background .25s,box-shadow .35s,transform .35s var(--motion-ease),translate .2s var(--motion-ease);translate:var(--magnet-x,0px) var(--magnet-y,0px)}
body .button::before{content:'';position:absolute;inset:-50% -30%;background:linear-gradient(105deg,transparent 40%,#fff5 50%,transparent 60%);transform:translateX(-110%);transition:transform .75s var(--motion-ease);pointer-events:none;z-index:-1}
body .button:hover::before{transform:translateX(110%)}body .button:hover{box-shadow:0 9px 35px #ffc44e20}
body .button>span{transition:transform .4s var(--motion-ease)}body .button:hover>span{transform:translate(3px,-3px)}body .button:active{transform:scale(.98)}
body .three article,body .service-grid article{position:relative;transition:border-color .3s,transform .4s var(--motion-ease)}
body .three article:hover,body .service-grid article:hover{border-color:var(--gold);transform:translateY(-5px)}
body .service-grid svg{transition:stroke .3s,transform .5s var(--motion-ease)}body .service-grid article:hover svg{stroke:var(--gold);transform:translateY(-3px)}
body .visual{transition:filter .45s,transform .55s var(--motion-ease),box-shadow .45s;transform-origin:center}
body .visual:hover,body .visual:focus-visible{transform:translateY(-7px) scale(1.015);filter:brightness(1.1);box-shadow:0 18px 50px #0007;z-index:2}
body .expand{transform:none;transition:none}
body .tag{transition:transform .4s var(--motion-ease)}body .visual:hover .tag{transform:translateY(-3px)}
body .podcast{overflow:clip}body .studio-gallery img{transform:scale(1.03) translateY(var(--studio-drift,0px));transition:transform .9s var(--motion-ease)}
body .reviews figure{transition:transform .45s var(--motion-ease),border-color .3s,box-shadow .3s}body .reviews figure:hover{transform:translateY(-5px);border-color:#ac72f780;box-shadow:0 12px 35px #28133209}
body .faq summary:after{content:'+';transition:transform .35s var(--motion-ease)}body .faq details[open] summary:after{content:'+';transform:rotate(45deg)}body .faq details{transition:border-color .3s,background .3s}body .faq details[open]{border-color:#ac72f780;background:#15131d}
body .contact{position:relative}body .contact .eyebrow{color:#c094ff}
body section:focus{outline:none}body .signature{letter-spacing:.24em}
@media(min-width:901px){body .gallery{gap:16px}}
@media(max-width:1050px){body .header{padding-inline:24px;gap:25px}body .header nav{gap:25px}body .hero h1{font-size:clamp(44px,5.2vw,60px)}}
@media(max-width:900px){body .hero{min-height:0}body .hero-art{height:390px;background-size:cover;margin:-30px -38px 0}body .section{padding-block:68px}body .header{height:88px}}
@media(max-width:900px){body .hero{display:flex;flex-direction:column;align-items:stretch}body .hero-art{translate:none;rotate:none}}
@media(max-width:600px){html:root{--header-offset:86px}body .header{height:78px;padding-inline:20px}body .header nav{top:78px}body .header nav a{padding-block:6px}body .hero{min-height:0}body .hero h1{font-size:clamp(39px,10.6vw,59px);letter-spacing:-.055em;line-height:1.07}body h2{font-size:clamp(31px,8.4vw,43px);line-height:1.15}body .hero-art{height:300px;margin:-4px -20px 0;background-size:cover;translate:none;rotate:none}body .hero .eyebrow{font-size:10px;letter-spacing:.13em}body .section{padding-block:57px}body .section .eyebrow{font-size:11px}body .lead{font-size:17px}body .studio-copy h2{font-size:43px}body .button{min-height:48px}body .three article:hover,body .service-grid article:hover,body .visual:hover,body .reviews figure:hover{transform:none}body .signature{font-size:9px;letter-spacing:.17em}body .footer-grid .signature{font-size:9px}}
@media(prefers-reduced-motion:reduce){html:root{scroll-behavior:auto}body .hero-art{translate:none;rotate:none;will-change:auto}body .hero-art::before,body .hero-art::after,body .hero h1 em,body .signature>span::after{animation:none}body .button{translate:none}body .button::before{display:none}body .studio-gallery img{transform:none}body .visual:hover,body .three article:hover,body .service-grid article:hover,body .reviews figure:hover{transform:none}}
