/* Original approved palette, with an airy pink surface derived from it. */
:root{--cream:#FBF6F1;--paper:#f8e7ed;--ink:#39252D;--wine:#D84783;--pink:#E9B5C7;--gold:#ae8e63;--muted:#755d68;--line:#e2cdd5;--ease-out:cubic-bezier(.16,1,.3,1)}
body{overflow-x:clip}.brand-dot{color:var(--wine)}.button{background:var(--ink);position:relative;isolation:isolate;overflow:hidden;border-radius:2px}.button::before{content:'';position:absolute;inset:0;background:var(--wine);opacity:.25;transform:translateX(-103%);transition:transform .6s var(--ease-out);z-index:-1}.button:hover{background:var(--ink)}.button:hover::before{transform:translateX(0)}.button:hover{color:var(--cream)}.button>span{transition:transform .4s var(--ease-out)}.button:hover>span{transform:translate(4px,-3px)}.button:active{transform:scale(.97)}.contact{background:var(--ink)}.contact .circle-button{border-color:var(--pink)}.contact-links a{border-color:#946578}.contact-note{color:var(--pink)}.round-seal{background:var(--pink);color:var(--ink)}.round-seal i{color:var(--ink)}.about-mark{border-color:var(--pink);color:var(--wine)}.work-section{background:var(--paper)}.tabs [aria-selected=true]{color:var(--ink)}.tabs [aria-selected=true]::after{background:var(--wine)}.text-link:hover{color:var(--ink)}.image-shade{background:linear-gradient(0deg,#39252dc4,transparent 70%)}.image-caption em{color:var(--cream)}.hero-art{perspective:1000px}.arch{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .8s var(--ease-out)}.hero-eye{transform:translateY(var(--photo-offset,0px)) scale(1.12);transform-origin:50% 50%;will-change:transform}.photo svg{transform:translateY(var(--photo-offset,0px)) scale(1.16);will-change:transform}.photo:hover svg{transform:translateY(var(--photo-offset,0px)) scale(1.23)}.photo:hover{box-shadow:0 14px 45px #39252d15}.photo{transition:box-shadow .5s}.title-line{display:block;overflow:clip;padding-bottom:.09em;margin-bottom:-.09em}.title-line>span,.title-line>em{display:block}.hero h1 em{display:block}.motion-progress{position:fixed;left:0;right:0;top:0;height:3px;background:var(--wine);z-index:50;transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}.motion-control{background:transparent;color:var(--ink);font-size:10px;display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid var(--pink);padding:6px 0}.motion-control>span{font-size:12px;line-height:1}.footer{gap:25px;flex-wrap:wrap}.motion-ready .motion-reveal{opacity:0;transform:translate3d(var(--reveal-x,0px),var(--reveal-y,20px),0);transition:opacity .8s var(--ease-out) var(--reveal-delay,0ms),transform 1.1s var(--ease-out) var(--reveal-delay,0ms)}.motion-ready .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}.motion-ready .title-line>.motion-reveal{--reveal-y:0px;transition-duration:1s,1.3s}.motion-boot .hero-copy>*,.motion-boot .hero-art{opacity:0}.motion-ready .treatment-list article{position:relative}.treatment-list article::before{content:'';position:absolute;inset:0 -15px;background:var(--pink);opacity:0;transform:scaleX(.93);transition:opacity .5s,transform .7s var(--ease-out);z-index:-1}.treatment-list article:hover::before{opacity:.22;transform:scaleX(1)}.treatment-list article h3{transition:transform .6s var(--ease-out)}.treatment-list article:hover h3{transform:translateX(8px)}.motion-ready .round-seal{animation:seal-drift 8s ease-in-out infinite}.motion-ready .orbit{animation:orbit-drift 11s ease-in-out infinite}.motion-ready .fine-line{animation:line-breathe 4s ease-in-out infinite}.motion-ready .circle-button{animation:circle-breathe 4s ease-in-out infinite}.circle-button{transition:background .3s,transform .5s var(--ease-out)}.circle-button:hover{transform:rotate(45deg);background:#e9b5c725}.circle-button:active{transform:scale(.94)}.service-ribbon{padding:22px 0;display:block;overflow:hidden;background:var(--pink);border-color:transparent}.ribbon-track{display:flex;width:max-content;animation:ribbon-travel 34s linear infinite}.ribbon-group{display:flex;align-items:center;gap:36px;padding-right:36px;white-space:nowrap;flex-shrink:0}.service-ribbon .ribbon-group>span{display:inline}.service-ribbon .ribbon-group>i{display:inline;color:var(--ink)}.service-ribbon:hover .ribbon-track{animation-play-state:paused}.motion-ready .price-panel:not([hidden]) tbody tr{animation:price-enter .65s var(--ease-out) both}.motion-ready .price-panel tbody tr:nth-child(2){animation-delay:55ms}.motion-ready .price-panel tbody tr:nth-child(3){animation-delay:110ms}.motion-ready .price-panel tbody tr:nth-child(4){animation-delay:165ms}.motion-ready .price-panel tbody tr:nth-child(5){animation-delay:220ms}.motion-ready .price-panel tbody tr:nth-child(6){animation-delay:275ms}.price-table tbody tr{transition:background .3s}.price-table tbody tr:hover{background:#e9b5c733}.motion-ready details[open]>p{animation:rule-enter .55s var(--ease-out) both}.motion-ready dialog[open]{animation:dialog-enter .6s var(--ease-out) both}.motion-ready dialog[open]::backdrop{animation:backdrop-enter .4s ease both}.motion-ready dialog[open] form>label,.motion-ready dialog[open] form>input,.motion-ready dialog[open] form>select,.motion-ready dialog[open] form>textarea{animation:rule-enter .7s var(--ease-out) .1s both}.contact-links a{transition:padding-left .4s var(--ease-out)}.contact-links a:hover{padding-left:10px}.contact-links i{transition:transform .4s}.contact-links a:hover i{transform:translate(3px,-3px)}
@keyframes seal-drift{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(-9px) rotate(4deg)}}
@keyframes orbit-drift{0%,100%{transform:rotate(7deg)}50%{transform:rotate(3deg)}}
@keyframes line-breathe{0%,100%{transform:scaleX(1);transform-origin:left}50%{transform:scaleX(.6);transform-origin:left}}
@keyframes circle-breathe{0%,100%{box-shadow:0 0 0 0 #e9b5c700}50%{box-shadow:0 0 0 12px #e9b5c713}}
@keyframes ribbon-travel{to{transform:translateX(-50%)}}
@keyframes price-enter{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:translateX(0)}}
@keyframes rule-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.ribbon-group{gap:25px;padding-right:25px}.service-ribbon{padding:18px 0}.footer{row-gap:22px}.motion-control{order:3;flex-basis:100%;width:max-content;max-width:max-content}.motion-ready nav{display:flex;flex-direction:column;gap:22px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .35s,transform .55s var(--ease-out),visibility .35s}.motion-ready nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.motion-ready nav>a,.motion-ready nav>.button{opacity:0;transform:translateX(30px);transition:opacity .35s,transform .65s var(--ease-out)}.motion-ready nav.is-open>a,.motion-ready nav.is-open>.button{opacity:1;transform:translateX(0)}.motion-ready nav.is-open>:nth-child(1){transition-delay:50ms}.motion-ready nav.is-open>:nth-child(2){transition-delay:90ms}.motion-ready nav.is-open>:nth-child(3){transition-delay:130ms}.motion-ready nav.is-open>:nth-child(4){transition-delay:170ms}.motion-ready nav.is-open>:nth-child(5){transition-delay:210ms}.motion-ready .motion-reveal{transition-duration:.65s,.85s}.motion-progress{height:2px}}
/* Clip entrance transforms at the page edge, including during anchor navigation. */
main{overflow:clip}html{overflow-x:clip}
.menu-toggle,.price-intro .intro{color:var(--ink)}
@media(max-width:760px){.motion-ready nav{overflow:hidden}}
/* Paused and reduced-motion modes retain all content and controls. */
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}html.motion-paused .motion-reveal{opacity:1!important;transform:none!important}.motion-paused .hero-eye{transform:scale(1.12)}.motion-paused .photo svg{transform:scale(1.16)}.motion-paused .arch{transform:none}
html.motion-paused{scroll-behavior:auto}.motion-paused .price-panel tr,.motion-paused details>p,.motion-paused dialog,.motion-paused dialog form>*{animation:none!important;opacity:1!important;transform:none!important}.motion-paused dialog::backdrop{animation:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .motion-reveal,.motion-boot .hero-copy>*,.motion-boot .hero-art{opacity:1!important;transform:none!important}.hero-eye{transform:scale(1.12)!important}.photo svg{transform:scale(1.16)!important}.arch{transform:none!important}.ribbon-track{animation:none}.motion-ready nav,.motion-ready nav>a,.motion-ready nav>.button{transition:none!important}.motion-control{display:none}}
