/* Calm, personal aesthetic studio. Shared design for public pages. */
:root{--color-primary:#49362c;--color-secondary:#827064;--color-accent:#827064;--color-accent-light:#f1eee5;--color-bg:#f6f2e9;--color-bg-alt:#e9dfcf;--color-bg-dark:#dfd1bf;--color-text:#49362c;--color-text-light:#827064;--color-white:#fff;--color-gold:#c7b795;--font-heading:'Cormorant Garamond',Georgia,serif;--max-width:1240px;--shadow:0 4px 24px #49362c08;--shadow-hover:0 8px 30px #49362c12;--border-radius:4px;--header-height:92px}
body.studio-site{background:var(--color-bg);font-size:15px;line-height:1.8}
.studio-site h1,.studio-site h2,.studio-site h3,.studio-site h4{font-family:var(--font-heading);font-weight:500;letter-spacing:-.035em}
.studio-site h2{font-size:clamp(2.4rem,4.3vw,3.8rem);line-height:1.12}
.studio-site h3{line-height:1.2}
.container{width:100%;padding-inline:clamp(22px,4vw,56px)}
.section{padding-block:clamp(64px,7.5vw,110px)}
.section-subtitle{color:#827064;font-size:.68rem;letter-spacing:.18em;font-weight:600;line-height:1.7}
.announcement-bar{background:#49362c;color:#f5f5ee;font-size:.67rem;letter-spacing:.08em;text-align:center;line-height:1.5;padding:11px 20px;height:auto;min-height:36px}
.announcement-bar a{color:#f5f5ee;margin-left:24px;white-space:nowrap}
.site-header,.site-header.scrolled{background:#f6f2e9f5;border-bottom:1px solid #49362c18;padding:19px clamp(22px,4vw,56px);box-shadow:none;backdrop-filter:blur(14px)}
.header-inner{max-width:1128px;gap:24px}
.logo img,.site-header.scrolled .logo img{height:auto;width:235px;max-width:100%}
.main-nav{gap:20px}
.main-nav a{color:#49362c;font-size:.7rem;letter-spacing:0;text-transform:none;padding:8px 0}
.main-nav a:hover,.main-nav a.active{color:#827064}
.main-nav .btn-book{color:#fff!important;background:#49362c;padding:12px 17px!important;border-radius:3px;font-size:.7rem!important;letter-spacing:0!important}
.btn-book:hover{background:#634b3c!important;box-shadow:none;transform:none}
.menu-toggle span{background:#49362c}
.studio-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:14px 24px;border-radius:3px;text-transform:none;font-size:.78rem;letter-spacing:0;font-weight:500;box-shadow:none;line-height:1.5}
.studio-site .btn-primary{background:#49362c;color:#fff;border:1px solid #49362c}
.studio-site .btn-primary:hover{background:#634b3c;transform:none}
.studio-site .btn-secondary{background:#e9dfcf;color:#49362c;border:1px solid #e9dfcf}
.studio-site .btn-secondary:hover{background:#fff;transform:none}
.studio-text-link{display:inline-flex;align-items:center;gap:14px;font-size:.78rem;color:#49362c;border-bottom:1px solid #82706466;padding-block:8px;line-height:1.5}
.studio-text-link:hover{color:#827064;border-color:#827064}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #827064;outline-offset:5px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:2000;background:white;padding:12px 22px}
.skip-link:focus{top:8px}
.studio-hero{padding-top:calc(var(--header-height) + 38px);padding-bottom:48px;background:#f6f2e9}
.studio-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,90px);align-items:center}
.studio-hero__copy{padding-block:30px}
.studio-hero h1{font-size:clamp(3.6rem,6.5vw,6.1rem);line-height:.99;margin:24px 0 30px;letter-spacing:-.045em}
.studio-hero h1 em{font-weight:400;color:#827064}
.studio-hero__copy>p{max-width:440px;color:#827064;font-size:.95rem;line-height:1.9}
.studio-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:30px}
.studio-hero__note{margin-top:38px;display:flex;align-items:center;gap:10px;font-size:.64rem;color:#827064}
.studio-dot{width:6px;height:6px;background:#827064;border-radius:50%;flex-shrink:0}
.studio-hero__portrait{position:relative;min-width:0;overflow:hidden;background:#e5e7e0;border-radius:150px 150px 4px 4px}
.studio-hero__portrait img{width:100%;height:530px;object-fit:cover;object-position:center 24%}
.studio-portrait-label{position:absolute;bottom:0;left:0;right:0;padding:50px 28px 24px;color:white;background:linear-gradient(transparent,#49362cc9)}
.studio-portrait-label>span{display:block;text-transform:uppercase;font-size:.6rem;letter-spacing:.15em;margin-bottom:5px}
.studio-portrait-label strong{font-family:var(--font-heading);font-size:1.8rem;font-weight:500;line-height:1.2}
.studio-portrait-label small{font-family:var(--font-body);font-size:.7rem;margin-left:9px}
.studio-principles{border-block:1px solid #49362c18}
.studio-principles .container{display:flex;justify-content:space-between;gap:18px;padding-block:22px}
.studio-principles span{font-size:.65rem;letter-spacing:.07em;color:#827064}
.studio-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.studio-section-heading h2{margin:12px 0 0}
.studio-section-heading>a{flex-shrink:0}
.studio-treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.studio-treatment__image{position:relative;display:block;overflow:hidden;background:#e9e8e0;border-radius:3px}
.studio-treatment__image img{width:100%;height:280px;object-fit:cover;transition:transform .4s ease}
.studio-treatment__image:hover img{transform:scale(1.025)}
.studio-treatment__image>span{position:absolute;right:16px;bottom:16px;width:36px;height:36px;border-radius:50%;background:#f6f2e9;display:grid;place-items:center}
.studio-treatment__heading{display:flex;align-items:baseline;gap:12px;margin:22px 0 12px}
.studio-treatment__heading>span{font-size:.62rem;color:#827064}
.studio-treatment__heading h3{font-size:1.65rem}
.studio-treatment>p{font-size:.78rem;color:#827064;line-height:1.9;margin:0}
.studio-about{background:#e9dfcf}
.studio-about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,120px);align-items:center}
.studio-about__image{overflow:hidden;border-radius:3px}
.studio-about__image img{width:100%;height:470px;object-fit:cover;object-position:center 20%}
.studio-about__copy h2{margin:18px 0 26px}
.studio-about__copy p{max-width:500px;color:#827064;font-size:.86rem}
.studio-about__copy .btn{margin-top:15px}
.studio-journey h2{max-width:600px;margin:16px 0 42px}
.studio-journey__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-bottom:32px}
.studio-journey__grid article{border-top:1px solid #49362c28;padding-top:22px}
.studio-journey__grid article>span{font-size:.64rem;color:#827064}
.studio-journey__grid h3{font-size:1.65rem;margin:20px 0 14px}
.studio-journey__grid p{font-size:.8rem;color:#827064;line-height:1.9;margin:0}
.studio-questions{background:#eee6dc}
.studio-questions__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.studio-questions h2{margin:16px 0 22px}
.studio-questions__grid>div>p{font-size:.82rem;color:#827064;max-width:330px}
.faq-list{width:100%;max-width:none;margin:0}
.faq-item{border:0;border-bottom:1px solid #49362c25;border-radius:0;box-shadow:none;background:transparent;margin:0}
.faq-question{padding:24px 0;text-align:left;font-family:var(--font-body);font-size:.85rem;color:#49362c;gap:20px;line-height:1.7;background:transparent;width:100%}
.faq-question .icon{color:#827064;flex-shrink:0}
.faq-answer{padding-inline:0;display:none;max-height:none;overflow:visible}
.faq-item.active .faq-answer{display:block;padding:0 0 24px;max-height:none}
.faq-answer p{font-size:.8rem;color:#827064;margin:0}
.studio-invitation{background:#49362c;text-align:center;padding:76px 24px}
.studio-invitation .section-subtitle{color:#d5c6b4}
.studio-invitation h2{color:#faf5ed;margin:16px auto 20px;max-width:720px}
.studio-invitation p{max-width:520px;margin:0 auto 28px;font-size:.84rem;color:#e0d6c8}
.site-footer{background:#f6f2e9;color:#49362c;padding:64px 0 0;border:0}
.footer-grid{grid-template-columns:1.2fr .85fr 1fr 1.1fr;gap:36px}
.footer-col img{max-width:260px;margin-bottom:22px}
.footer-col h4{color:#49362c;font-family:var(--font-body);font-size:.72rem;letter-spacing:0;margin-bottom:20px}
.footer-col p,.footer-col a{font-size:.75rem;line-height:1.9;color:#827064}
.footer-col>a{display:block;margin-bottom:8px;overflow-wrap:anywhere}
.studio-footer-location{font-size:.63rem;letter-spacing:.03em;color:#827064}
.footer-bottom{border-top:1px solid #49362c18;margin-top:40px;padding:22px 0;display:flex;justify-content:space-between;gap:20px}
.footer-bottom p,.footer-bottom span{font-size:.63rem;color:#827064;margin:0}
/* Bring existing interior templates into the shared design. */
.studio-site .hero{background:#e9dfcf;min-height:440px!important;padding-top:calc(var(--header-height) + 55px)!important;padding-bottom:70px;display:flex;align-items:center}
.studio-site .hero::before,.studio-site .hero::after{display:none}
.studio-site .hero-content{max-width:800px;padding-inline:24px;text-align:center;margin-inline:auto}
.studio-site .hero h1{color:#49362c;font-size:clamp(3rem,6vw,5rem)}
.studio-site .hero p{color:#827064;font-size:.95rem}
.studio-site .about-page-hero,.studio-site .contact-hero,.studio-site .experience-hero{background:#e9dfcf;padding-top:var(--header-height);min-height:0}
.studio-site .about-page-hero__content,.studio-site .contact-hero__content,.studio-site .experience-hero__content{padding:clamp(38px,6vw,80px);background:transparent}
.studio-site .about-page-hero__content::before,.studio-site .contact-hero__content::before,.studio-site .experience-hero__content::before{display:none}
.studio-site .about-page-hero h1,.studio-site .contact-hero h1,.studio-site .experience-hero h1{color:#49362c;font-size:clamp(2.8rem,5vw,4.5rem)}
.studio-site .about-page-hero p,.studio-site .contact-hero p,.studio-site .experience-hero p{color:#827064}
.studio-site .about-page-hero__image,.studio-site .contact-hero__image,.studio-site .experience-hero__image{min-height:0;height:560px}
.studio-site .about-page-hero__image img,.studio-site .contact-hero__image img{object-position:center 20%}
.contact-details{background:#f6f2e9}
.contact-detail-card{border:1px solid #49362c20;background:#fff;min-width:0;border-radius:3px}
.contact-detail-card a{overflow-wrap:anywhere}
.contact-detail-card>span{color:#827064}
.service-summary__item,.pricing-item,.service-visual,.treatment-expectations__grid article,.membership-benefits__grid article{border-color:#49362c20;border-radius:3px;box-shadow:none}
.service-visual__badge{background:#49362ce6}
.service-visual__badge span,.service-visual__badge strong{color:#f1eee5}
.pricing-item__price{color:#827064}
.fade-in{opacity:1;transform:none}
[hidden]{display:none!important}
@media(max-width:1100px){
 .menu-toggle{display:block;flex-shrink:0}
 .main-nav{background:#f6f2e9;border-left:1px solid #49362c20;padding-top:95px;gap:17px;width:85%;max-width:360px}
 .main-nav a{font-size:.95rem;color:#49362c}
 body.menu-open{overflow:hidden}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
 .announcement-bar{font-size:.58rem;letter-spacing:.03em;padding-inline:12px}
 .announcement-bar a{margin-left:12px}
 .site-header,.site-header.scrolled{padding-block:17px}
 .logo img,.site-header.scrolled .logo img{width:210px}
 .studio-hero{padding-top:calc(var(--header-height) + 20px);padding-bottom:30px}
 .studio-hero__grid{grid-template-columns:1fr;gap:30px}
 .studio-hero__copy{padding:12px 0 0}
 .studio-hero h1{font-size:clamp(3.2rem,10.5vw,5rem);margin:20px 0 24px}
 .studio-hero__copy>p{font-size:.86rem}
 .studio-hero__note{margin-top:24px}
 .studio-hero__portrait{max-width:480px;width:100%;margin:auto;border-radius:120px 120px 3px 3px}
 .studio-hero__portrait img{height:430px}
 .studio-principles .container{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-block:20px}
 .studio-principles span{font-size:.59rem;letter-spacing:.02em}
 .studio-section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}
 .studio-treatment-grid{grid-template-columns:1fr;gap:36px}
 .studio-treatment__image img{height:330px}
 .studio-about__grid,.studio-questions__grid{grid-template-columns:1fr;gap:36px}
 .studio-about__image{max-width:460px;width:100%;margin:auto}
 .studio-about__image img{height:430px}
 .studio-journey__grid{grid-template-columns:1fr;gap:26px}
 .studio-journey h2{margin-bottom:30px}
 .studio-invitation{padding:60px 0}
 .footer-grid{gap:30px 22px}
 .footer-grid>.footer-col:first-child{grid-column:1 / -1}
 .footer-col p,.footer-col a{font-size:.69rem}
 .footer-bottom{flex-direction:column;gap:4px}
 .studio-site .about-page-hero,.studio-site .contact-hero,.studio-site .experience-hero{grid-template-columns:1fr}
 .studio-site .about-page-hero__content,.studio-site .contact-hero__content,.studio-site .experience-hero__content{padding:40px 24px}
 .studio-site .contact-hero__content{grid-row:1}
 .studio-site .about-page-hero__image,.studio-site .contact-hero__image,.studio-site .experience-hero__image{height:440px}
 .contact-details__grid{gap:30px}
 .contact-details__cards{grid-template-columns:1fr}
 .contact-detail-card{min-height:0;padding:24px}
 .contact-detail-card h3{margin-top:10px}
}
@media(max-width:380px){.announcement-bar a{display:none}.studio-hero h1{font-size:3rem}.footer-grid{grid-template-columns:1fr}.studio-hero__portrait img{height:370px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Selected Cream and Espresso editorial layout. */
:root{--color-primary:#49362c;--color-text:#49362c;--color-secondary:#827064;--color-accent:#b39475;--color-bg:#f6f2e9;--color-bg-alt:#e9dfcf}body.studio-site{background:#f6f2e9}.announcement-bar{background:#49362c}.site-header,.site-header.scrolled{background:#f6f2e9f5;border-color:#49362c20}.main-nav a{color:#49362c}.main-nav .btn-book{background:#49362c}.alternative-hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;padding:145px 70px 65px;gap:65px;align-items:center}.alternative-kicker{font-size:10px;letter-spacing:2.4px;color:#827064;margin-bottom:32px}.alternative-hero h1{font-family:Georgia,serif;font-size:clamp(54px,5.8vw,84px);font-weight:400;line-height:1.08;letter-spacing:-4px;color:#49362c;margin:0 0 32px}.alternative-hero h1 i{font-weight:400;color:#827064}.alternative-hero p{font-size:14px;line-height:1.9;color:#827064;margin-bottom:32px}.alternative-button{display:inline-flex;gap:40px;align-items:center;padding:15px 0;border-bottom:1px solid #49362c;font-size:12px;color:#49362c}.alternative-address{font-size:9px;letter-spacing:1.6px;color:#49362c;margin-top:60px}.alternative-address span{font-size:11px;letter-spacing:0;color:#827064}.alternative-photo{position:relative;background:#e9dfcf;padding:20px 20px 48px;transform:rotate(1.5deg);max-width:450px;justify-self:end;width:100%}.alternative-photo img{width:100%;height:460px;object-fit:cover;object-position:center 22%}.alternative-photo>span{display:block;position:absolute;bottom:17px;left:22px;font-size:9px;letter-spacing:2px;color:#49362c}.alternative-intro{background:#e9dfcf;padding:55px 70px;display:grid;grid-template-columns:.6fr 1fr 1fr;gap:50px;align-items:center}.alternative-intro>span{font-size:9px;letter-spacing:2px;color:#827064}.alternative-intro h2{font-family:Georgia,serif;font-size:34px;line-height:1.15;color:#49362c;margin:0}.alternative-intro h2 i{color:#827064}.alternative-intro p{font-size:12px;color:#827064;margin:0}.studio-about,.studio-questions{background:#e9dfcf}.studio-invitation{background:#49362c}.site-footer{background:#f6f2e9}.studio-site .btn-primary{background:#49362c;border-color:#49362c}@media(max-width:768px){.alternative-hero{grid-template-columns:1fr;padding:120px 25px 45px;gap:35px}.alternative-hero h1{font-size:54px;letter-spacing:-2px}.alternative-address{margin-top:30px}.alternative-photo{justify-self:center;max-width:420px}.alternative-photo img{height:420px}.alternative-intro{grid-template-columns:1fr;padding:40px 25px;gap:22px}.main-nav{background:#f6f2e9}}
.alternative-hero{padding-top:calc(var(--header-height) + 65px)}.alternative-photo{transform:rotate(1.5deg)}@media(max-width:768px){.alternative-hero{padding-top:calc(var(--header-height) + 38px)}}

/* Readable type scale and navigation across public pages. */
body.studio-site{font-size:16px;line-height:1.75}
.studio-site p{line-height:1.75}
.site-header,.site-header.scrolled{padding-inline:clamp(22px,3vw,44px)}
.header-inner{max-width:1240px;gap:28px}
.main-nav{gap:clamp(16px,1.5vw,24px)}
.main-nav a{font-size:15px;font-weight:500;line-height:1.5;letter-spacing:0;padding:12px 0}
.main-nav .btn-book{font-size:15px!important;padding:13px 20px!important;min-height:48px}
.announcement-bar{font-size:12px;letter-spacing:.03em;padding-block:11px}
.section-subtitle,.alternative-kicker,.alternative-intro>span{font-size:12px;line-height:1.6;letter-spacing:.12em}
.alternative-hero h1{font-size:clamp(48px,5.2vw,76px);line-height:1.1;letter-spacing:-.045em}
.studio-site h2{font-size:clamp(34px,3.5vw,52px);line-height:1.18}
.studio-site h3{font-size:28px;line-height:1.3}
.alternative-hero p,.alternative-intro p,.studio-about__copy p,.studio-treatment>p,.studio-journey__grid p,.studio-questions__grid>div>p,.studio-invitation p,.faq-answer p{font-size:16px;line-height:1.75}
.alternative-intro h2{font-size:36px;line-height:1.2}
.studio-text-link,.alternative-button,.studio-site .btn{font-size:15px;line-height:1.5}
.studio-site .btn{min-height:48px;padding:14px 24px}
.alternative-address{font-size:12px;letter-spacing:.08em;line-height:1.9}
.alternative-address span{font-size:14px;line-height:1.6}
.alternative-photo>span{font-size:12px;letter-spacing:.1em}
.studio-treatment__heading>span,.studio-journey__grid article>span{font-size:12px}
.faq-question{font-size:16px;line-height:1.6;padding-block:24px}
.footer-col h4{font-size:15px;font-weight:600;line-height:1.5}
.footer-col p,.footer-col a{font-size:14px;line-height:1.8}
.studio-footer-location,.footer-bottom p,.footer-bottom span{font-size:12px;line-height:1.6}
.footer-grid{grid-template-columns:1.05fr .95fr 1fr 1.2fr;gap:28px}
@media(max-width:1100px){.main-nav a{font-size:18px;padding:10px 0}.main-nav .btn-book{font-size:17px!important}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){
 .announcement-bar{font-size:11px;padding-inline:12px}
 .alternative-hero{padding-inline:24px;gap:40px}
 .alternative-hero h1{font-size:clamp(43px,10.5vw,58px);letter-spacing:-.045em}
 .studio-site h2{font-size:36px}
 .studio-site h3{font-size:26px}
 .alternative-intro h2{font-size:34px}
 .alternative-intro{padding-inline:24px}
 .alternative-address{margin-top:32px}
 .footer-grid{gap:32px 24px}
 .footer-col p,.footer-col a{font-size:14px}
 .faq-question{font-size:16px;gap:18px}
}
@media(max-width:380px){.footer-grid{grid-template-columns:1fr}.studio-site h2{font-size:32px}.alternative-hero h1{font-size:42px}}
/* Subtle motion, with accessible reduced-motion behavior. */
.site-header.scrolled{box-shadow:0 8px 24px #49362c0d}
.studio-site .btn,.main-nav .btn-book,.alternative-button{transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.studio-site .btn:hover,.main-nav .btn-book:hover{transform:translateY(-3px);box-shadow:0 8px 20px #49362c18}
.studio-site .btn span,.alternative-button span,.studio-text-link span{transition:transform .25s ease}
.studio-site .btn:hover span,.alternative-button:hover span,.studio-text-link:hover span{transform:translate(3px,-2px)}
.studio-treatment__image img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.studio-treatment__image:hover img{transform:scale(1.06)}
.studio-treatment__image>span{transition:background-color .25s ease,transform .25s ease,color .25s ease}
.studio-treatment__image:hover>span{background:#49362c;color:white;transform:rotate(8deg)}
.alternative-photo{transition:transform .6s ease,box-shadow .6s ease}
.alternative-photo:hover{transform:rotate(0);box-shadow:0 18px 42px #49362c15}
.studio-treatment{transition:transform .35s ease}
.studio-treatment:hover{transform:translateY(-5px)}
.studio-site.motion-ready [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.studio-site.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.studio-site .faq-answer{display:grid;grid-template-rows:0fr;overflow:hidden;max-height:none;padding:0;opacity:0;transition:grid-template-rows .3s ease,opacity .3s ease,padding .3s ease}
.studio-site .faq-answer>p{min-height:0;overflow:hidden}
.studio-site .faq-item.active .faq-answer{display:grid;grid-template-rows:1fr;opacity:1;padding:0 0 24px;max-height:none}
.reading-progress{position:fixed;left:0;top:0;z-index:1100;height:3px;width:100%;background:#b39475;transform:scaleX(0);transform-origin:left;pointer-events:none}
@media(prefers-reduced-motion:reduce){.studio-site.motion-ready [data-reveal]{opacity:1;transform:none}.reading-progress{display:none}.studio-treatment:hover,.studio-site .btn:hover,.main-nav .btn-book:hover{transform:none}}
