/* An atmospheric layer over the existing, accessible page. */
:root{--ease-luxury:cubic-bezier(.22,1,.36,1)}
.reading-progress{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#826033,#d1b078,#ac8345)}
.header{transition:box-shadow .35s ease,background .35s ease}.header.has-scrolled{background:rgba(252,250,247,.93);box-shadow:0 8px 28px #0b1f3f08;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.navigation>a:not(.button){position:relative}.navigation>a:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--gold-ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-luxury)}.navigation>a:not(.button):hover::after,.navigation>a:not(.button):focus-visible::after{transform:scaleX(1)}
.hero{overflow:hidden;isolation:isolate;background:linear-gradient(116deg,#f6f1e8 0%,#f0e9dc 62%,#e8decb 100%)}.hero::before{content:'';position:absolute;inset:-10% -8%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 82% 26%,#dfbd783c,transparent 44%),radial-gradient(ellipse at 16% 80%,#ffffffa8,transparent 41%);opacity:.78}.hero>.container{position:relative;z-index:2}.hero-ornament{position:absolute;top:5px;right:max(8px,calc((100vw - 1240px)/2));width:530px;height:650px;z-index:1;pointer-events:none;overflow:visible}.hero-ornament path{stroke:#ae8746;stroke-width:.65;opacity:.28}.hero-ornament path:nth-child(2){opacity:.16}.hero-ornament path:nth-child(3){opacity:.13}
.hero h1 em{position:relative;display:inline-block}.hero h1 em::after{content:'';position:absolute;left:3px;bottom:-12px;width:40%;height:1px;background:linear-gradient(90deg,#96703c,#c9a66b00);transform-origin:left}.hero-description{margin-top:5px}
@supports ((background-clip:text) or (-webkit-background-clip:text)){.hero h1 em{background:linear-gradient(112deg,#77592d 12%,#ad8545 52%,#755128 100%);background-clip:text;-webkit-background-clip:text;color:transparent}}
.portrait-frame{box-shadow:0 24px 58px #49331c14}.portrait-frame::before{border-color:#b3935c8a}.portrait-note{background:rgba(252,250,247,.96);border-color:#d5c5ab;box-shadow:0 13px 32px #0b1f3f12;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.portrait-note>svg{color:#9f7a40}.facts{border-top-color:#cdbb9c}.facts>div{border-right-color:#d5c5ac}
.button{position:relative;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 #ffffff16;transition:background .3s,transform .35s var(--ease-luxury),box-shadow .35s ease}.button::after{content:'';position:absolute;top:-50%;bottom:-50%;left:0;width:28%;pointer-events:none;background:linear-gradient(105deg,transparent,#ffffff32,transparent);transform:translateX(-180%) skewX(-14deg);z-index:1}.button-gold,.journey .button{background:linear-gradient(110deg,#c3a065,#debf87,#c6a368);border-color:#b08d54;box-shadow:0 6px 18px #91682912,inset 0 1px 0 #ffffff50}.button-gold:hover,.journey .button:hover{background:linear-gradient(110deg,#d3b17a,#e9cc99,#d4b37f);box-shadow:0 9px 23px #91682924,inset 0 1px 0 #ffffff50}.button:focus-visible{outline-offset:4px}
.section .eyebrow::before{content:'';display:inline-block;vertical-align:middle;width:25px;height:1px;background:currentColor;margin:0 10px 3px 0;opacity:.6}.featured-treatments article{position:relative;overflow:hidden;border-color:#deceb7;border-radius:6px;background:linear-gradient(135deg,#f7f3eb,#eee5d7);box-shadow:0 7px 21px #0b1f3f03;transition:transform .5s var(--ease-luxury),box-shadow .5s ease,border-color .4s ease}.featured-treatments article::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(400px circle at var(--light-x,50%) var(--light-y,35%),#ffffffb8,transparent 62%);opacity:0;transition:opacity .5s ease}.featured-treatments article>*{position:relative;z-index:1}.featured-treatments article:focus-within{border-color:#ac854a}.treatment-top>svg{transition:transform .5s var(--ease-luxury),color .35s ease}.treatment-shortcuts a{transition:background .35s ease}.treatment-shortcuts a svg{transition:transform .4s var(--ease-luxury)}.treatment-shortcuts a:hover svg{transform:translateX(5px)}.treatment-help{background:linear-gradient(130deg,#0b1f3f,#17324e);box-shadow:0 8px 23px #0b1f3f0b}
.results{background:linear-gradient(140deg,#f5f1e9,#eee8dd)}.results-grid figure{border-color:#d9cbb6;box-shadow:0 6px 19px #0b1f3f05;transition:transform .5s var(--ease-luxury),box-shadow .5s ease,border-color .35s ease}.result-image{background:linear-gradient(150deg,#ede7dc,#e5dccb);transition:background .35s}.result-image>span svg{transition:transform .4s var(--ease-luxury)}.result-image:hover>span svg{transform:translate(2px,-2px)}.results-grid figcaption{background:linear-gradient(160deg,#fffdf9,#f9f5ed)}
.about-photo img{box-shadow:0 20px 45px #48342414}.about-photo::before{border-color:#ad8a53a8}.about-photo figcaption{background:rgba(252,250,247,.96);border:1px solid #d7c6a7;box-shadow:0 8px 20px #0b1f3f0b;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.about-principles svg{color:#a78044}
.journey{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 5% 0%,#294567 0%,transparent 57%),linear-gradient(126deg,#102846,#091a34 75%)}.journey::before{content:'';position:absolute;z-index:-1;pointer-events:none;right:-70px;top:-120px;width:440px;height:440px;border:1px solid #c9a66b25;border-radius:50%;box-shadow:0 0 0 46px #c9a66b08,0 0 0 92px #c9a66b06}.journey-grid li{position:relative;border-top-color:#c9a66b70}.journey-grid li::before{content:'';position:absolute;top:-2px;left:0;width:30px;height:3px;background:linear-gradient(90deg,#d4b278,#9e7946)}.step-number{color:#d4b67f}
details{transition:border-color .35s ease}details[open]{border-bottom-color:#bca170}summary>span{width:23px;height:23px;border:1px solid #ddcfb8;border-radius:50%;transition:background .35s,border-color .35s}summary>span::before,summary>span::after{width:9px;left:6px;top:10px}details[open] summary>span{background:#e9dfcc;border-color:#cbb181}
.contact{position:relative;isolation:isolate;background:radial-gradient(ellipse at 12% 52%,#faf6ed 0%,transparent 66%),linear-gradient(110deg,#eee5d5,#e6dbc5)}.appointment-box{position:relative;border-color:#c5aa7c;box-shadow:0 20px 55px #69512b16,inset 0 1px 0 #ffffffc4;border-radius:6px;background:linear-gradient(140deg,#fffdf9,#faf6ed)}.appointment-box::before{content:'';position:absolute;left:30px;right:30px;top:0;height:2px;background:linear-gradient(90deg,transparent,#b69053,transparent)}.appointment-box select{transition:border-color .25s ease,box-shadow .25s ease;background-color:#fffdf9}.appointment-box select:hover,.appointment-box select:focus{border-color:#bda171;box-shadow:0 0 0 3px #c9a66b12}.appointment-signature{border-top-color:#ddd0b7}.footer{background:linear-gradient(115deg,#0d223e,#06162c)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.featured-treatments article:hover{transform:translateY(-5px);border-color:#b9965e;box-shadow:0 18px 38px #7a5b2620}.featured-treatments article:hover::before{opacity:1}.featured-treatments article:hover .treatment-top>svg{transform:translateY(-3px);color:#ac7e3c}.results-grid figure:hover{transform:translateY(-4px);box-shadow:0 16px 34px #6b512a1c;border-color:#bda072}.effects-ready .portrait-frame img{transform:translate3d(0,var(--portrait-drift,0px),0) scale(1.035);will-change:transform}}
@media (prefers-reduced-motion:no-preference){
.effects-ready .hero::before{animation:ambient-light 15s ease-in-out infinite alternate}.effects-ready .hero-ornament path{stroke-dasharray:1650;animation:trace-arch 2.6s var(--ease-luxury) both}.effects-ready .hero-ornament path:nth-child(2){animation-delay:.23s}.effects-ready .hero-ornament path:nth-child(3){animation-delay:.4s}.effects-ready .hero-copy>.eyebrow{animation:hero-arrive .85s var(--ease-luxury) .05s both}.effects-ready .hero-copy h1{animation:hero-arrive 1.1s var(--ease-luxury) .12s both}.effects-ready .hero-copy .hero-description{animation:hero-arrive 1.05s var(--ease-luxury) .24s both}.effects-ready .hero-actions{animation:hero-arrive 1s var(--ease-luxury) .34s both}.effects-ready .hero-microcopy,.effects-ready .hero-assurance{animation:hero-arrive 1s var(--ease-luxury) .4s both}.effects-ready .portrait-frame{animation:portrait-arrive 1.5s var(--ease-luxury) .15s both}.effects-ready .portrait-note{animation:hero-arrive 1.2s var(--ease-luxury) .55s both}.effects-ready .portrait-label{animation:soft-fade 1.2s ease .55s both}.effects-ready .hero h1 em::after{animation:draw-line 1.2s var(--ease-luxury) .7s both}.effects-ready .hero-actions>.button::after{animation:button-sheen 1.5s ease 1.5s}.button:hover::after{animation:button-sheen .9s ease}.effects-ready .reveal-item.is-revealed{animation:section-arrive .9s var(--ease-luxury) var(--reveal-delay,0ms) both}.reveal-item:focus-within{animation:none!important;opacity:1!important;transform:none!important}details[open]>p{animation:answer-arrive .4s var(--ease-luxury)}.image-dialog[open]{animation:viewer-arrive .35s var(--ease-luxury)}.image-dialog[open]::backdrop{animation:soft-fade .35s ease}.hero.is-outside::before,.effects-suspended .hero::before{animation-play-state:paused}
}
@keyframes hero-arrive{from{opacity:.12;transform:translate3d(0,17px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes portrait-arrive{from{opacity:.18;transform:translate3d(0,20px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes section-arrive{from{opacity:.08;transform:translate3d(0,24px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes soft-fade{from{opacity:.1}to{opacity:1}}
@keyframes trace-arch{from{stroke-dashoffset:1650}to{stroke-dashoffset:0}}
@keyframes draw-line{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes ambient-light{from{transform:translate3d(-1%,0,0);opacity:.62}to{transform:translate3d(3%,2%,0);opacity:.9}}
@keyframes button-sheen{from{transform:translateX(-180%) skewX(-14deg)}to{transform:translateX(580%) skewX(-14deg)}}
@keyframes answer-arrive{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes viewer-arrive{from{opacity:.2;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1100px){.hero-ornament{width:470px;height:590px;right:-12px;top:12px}}
@media(max-width:960px){.hero-ornament{width:420px;height:560px;right:-35px;top:10px}}
@media(max-width:760px){.hero-ornament{top:auto;bottom:88px;right:50%;transform:translateX(50%);width:min(430px,112vw);height:540px;opacity:.72}.hero::before{inset:0;background:radial-gradient(ellipse at 70% 60%,#dfbd782a,transparent 59%),radial-gradient(ellipse at 20% 10%,#ffffff90,transparent 50%)}.hero h1 em::after{bottom:-9px;width:32%;left:6%}.portrait-frame{box-shadow:0 16px 35px #49331c12}.portrait-note{backdrop-filter:none;-webkit-backdrop-filter:none}.about-photo figcaption{backdrop-filter:none;-webkit-backdrop-filter:none}.header.has-scrolled{background:rgba(252,250,247,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.journey::before{width:310px;height:310px;right:-190px;top:-170px}.appointment-box{box-shadow:0 12px 32px #69512b14}.section .eyebrow::before{width:20px;margin-right:8px}.effects-ready .hero::before{animation:none}.reading-progress{height:2px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.portrait-frame img,.hero-ornament path,.reveal-item{transform:none!important}.hero-ornament path{stroke-dashoffset:0!important}html{scroll-behavior:auto}}
@media print{.hero-ornament,.reading-progress{display:none}.hero::before,.journey::before,.button::after{display:none}*,*::before,*::after{animation:none!important;box-shadow:none!important}.hero h1 em{background:none;color:var(--gold-ink)}.hero h1 em::after{display:none}.reveal-item,.portrait-frame img{opacity:1!important;transform:none!important}}
.portrait-surface{width:100%;height:100%;border-radius:inherit;overflow:hidden}
@media(prefers-reduced-motion:no-preference){.effects-ready .hero-actions>.button:hover::after{animation:button-sheen .9s ease}}
