/* Cream and espresso alternate; the established header remains unchanged. */
:root{--cream:#f5efe6;--paper:#fffaf3;--espresso:#2c1c14;--brown:#694e3d;--gold:#ba924a}
body{font-family:'Segoe UI',Arial,sans-serif;line-height:1.5;background:var(--cream);color:var(--espresso)}
.section{max-width:none;padding:58px max(6%,calc((100% - 1220px)/2))}
h2{font-size:clamp(36px,3.8vw,50px);letter-spacing:-1px;line-height:1.13;margin-bottom:22px}h3{line-height:1.2}
nav>a{font-size:12px;letter-spacing:.9px}nav{gap:26px}.gold-button{font-size:13px;letter-spacing:.7px;padding:15px 23px}
.hero-content .hero-button{font-size:12px}.hero-content>p{font-size:19px}.hero h1{line-height:1.12}
.gold-button,.outline-button{transition:transform .22s,box-shadow .22s,background .22s}.gold-button:hover,.outline-button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #170d0820}
.about{background:var(--cream);border:0;grid-template-columns:1.25fr .85fr;gap:6%}.about h2{color:var(--espresso)}
.about-copy>p:not(.eyebrow),.biography-details p{font-size:18px;color:#59473a;line-height:1.55;margin:0 0 17px}
.signature{font-size:31px;color:#8d682f;margin:20px 0 0}.biography-details{margin:20px 0;border-color:#bba18360}
.biography-details summary{font-size:16px;color:#805c2e;padding-block:14px}.biography-details p.biography-emphasis{font-size:25px;color:#79572c}
.about-sidebar{padding-top:0;top:30px}.distinctions{background:#fffaf3;border:1px solid #d9cbb9;border-top:3px solid #ba924a;padding:29px;box-shadow:0 14px 30px #4d34200b}
.distinctions h3{font-size:34px;color:var(--espresso);margin:0 0 20px}.distinctions li{font-size:17px;line-height:1.4;padding:18px 0;color:#59473a;border-color:#d9cbb9}
.distinctions strong{color:var(--espresso)}.distinctions li:first-child strong{font-size:28px;color:#8d682f}.distinctions li svg{stroke:#9d7739}
.services{background:var(--espresso);color:#fff7eb}.services h2{color:#edd6b4}.service-grid{gap:22px;margin-top:28px}
.service-grid article{background:#3a281e;border-color:#a3815140;box-shadow:0 12px 25px #0002;overflow:hidden}
.service-grid article>img,.service-symbol{height:auto;aspect-ratio:1.12;object-fit:cover;object-position:center}
.service-grid article>div:not(.service-symbol){padding:24px}.service-grid h3{font-size:29px;color:#f0d8b6;letter-spacing:-.5px}
.service-grid p{font-size:17px;line-height:1.5;color:#e0d3c4;min-height:0;margin:14px 0 20px}.service-grid a{font-size:13px;letter-spacing:.5px;color:#e6be77;display:inline-block;padding:4px 0}
.service-symbol{display:grid;place-items:center;font-size:90px;background:linear-gradient(135deg,#694a2f,#362216)}
.booking-banner{background:#eadfce;border:0;color:var(--espresso);padding:42px 6%}.booking-banner h2{color:var(--espresso);font-size:40px;margin-bottom:12px}
.booking-banner>p:not(.eyebrow){font-size:18px;color:#69513f;margin:0 0 22px}
.prices{background:var(--paper);color:var(--espresso);text-align:center}.prices h2{color:var(--espresso)}.prices-intro{font-size:18px;color:#69513f;margin:0 0 26px}
.price-list{max-width:970px;margin:0 auto 28px;text-align:left;border-top:1px solid #d9cbb9}.price-list article{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:22px 0;border-bottom:1px solid #d9cbb9}
.price-list h3{font-size:27px;margin:0 0 7px}.price-list p{font-size:17px;color:#69513f;margin:0}.price-list article>span{font-size:17px;white-space:nowrap;color:#805c2e}
.gallery{background:#34231a;color:#fff7eb}.gallery h2{color:#edd6b4}.gallery-grid{gap:17px;margin-top:28px;grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-item{aspect-ratio:1.053;border:0;box-shadow:0 8px 25px #0003;background:#25180f}.gallery-item img{object-fit:contain;object-position:center}.gallery-item:hover img{transform:scale(1.025)}
.gallery-actions{margin-top:26px}.gallery-actions>*{font-size:12px;letter-spacing:.5px}.gallery .outline-button{border-color:#d2b27a;color:#edd6b4}
.faq{background:var(--cream);color:var(--espresso)}.faq h2{color:var(--espresso)}.faq .section-intro{font-size:18px;color:#69513f}.faq-list{margin-top:28px;max-width:970px}
.faq details{background:#fffaf3;border-color:#d9cbb9;margin-bottom:11px}.faq summary{padding:18px 23px;font-size:18px}.faq details[open] summary{color:#805c2e}
.faq details p{font-size:17px;line-height:1.55;color:#59473a;padding:0 23px 21px}
.contact{background:var(--espresso);color:#fff7eb}.contact>h2{color:#edd6b4}.contact-grid{margin-top:28px;gap:7%}
.contact dt{font-size:12px;letter-spacing:.7px;color:#d4b583;margin:19px 0 6px}.contact dd{font-size:20px;color:#fff7eb}.contact dd small{font-size:16px;color:#d6c8b8}
.hours{padding:29px;background:#3a281e;border-color:#a3815140}.hours h3{font-size:33px;color:#edd6b4;margin-bottom:22px}.hours>div{font-size:17px;margin:13px 0}
.hours>p:not(.eyebrow){font-size:16px;color:#d6c8b8;margin:20px 0}.hours>a{font-size:13px;letter-spacing:.4px;color:#e6be77}
footer{background:#eee3d4;color:var(--espresso);border:0;padding:42px 6% 22px}.footer-grid{gap:30px}.footer-grid h4{font-size:14px;color:#73512a;letter-spacing:.5px;margin-bottom:14px}
.footer-grid p,.footer-grid a:not(.brand),.footer-grid button{font-size:16px;line-height:1.6;color:#59473a}.footer-grid a:not(.brand):hover,.footer-grid button:hover{color:#9d7739}
.footer-bottom{border-color:#d9cbb9;color:#796451;margin-top:27px;padding-top:17px;font-size:12px}.footer-bottom>span:last-child{font-size:10px}
@media(hover:hover){.service-grid article:hover{transform:translateY(-6px);box-shadow:0 20px 35px #0004}.distinctions{transition:box-shadow .25s,transform .25s}.distinctions:hover{box-shadow:0 18px 38px #4d342018;transform:translateY(-3px)}.price-list article{transition:background .2s}.price-list article:hover{background:#eadfce55}}
@media(max-width:1050px){nav{gap:15px}nav>a{font-size:11px}.section{padding:48px 6%}.service-grid h3{font-size:25px}.service-grid article>div:not(.service-symbol){padding:20px}.service-grid p{font-size:16px}}
@media(max-width:760px){.section{padding:42px 6%}.about{grid-template-columns:1fr;gap:25px}h2{font-size:35px}.about-copy>p:not(.eyebrow),.biography-details p{font-size:17px;line-height:1.5;margin-bottom:15px}.distinctions{padding:25px}.distinctions h3{font-size:31px}.distinctions li{font-size:16px;padding:17px 0}.service-grid{gap:22px;margin-top:24px}.service-grid h3{font-size:28px}.service-grid p{font-size:17px}.service-grid article>img{aspect-ratio:1.2;object-fit:contain;background:#24180f}.service-symbol{aspect-ratio:1.5}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-actions>*{font-size:11px}.booking-banner{padding:35px 6%}.booking-banner h2{font-size:34px}.booking-banner>p:not(.eyebrow){font-size:17px}.price-list article{align-items:flex-start;flex-direction:column;gap:10px;padding:20px 0}.price-list h3{font-size:26px}.price-list p,.price-list article>span{font-size:16px}.faq summary{font-size:17px;padding:16px 19px}.faq details p{font-size:16px;padding:0 19px 18px}.contact dd{font-size:18px}.hours>div{font-size:15px}.hours{padding:24px}.footer-grid p,.footer-grid a:not(.brand),.footer-grid button{font-size:15px}.gold-button{font-size:12px}.menu{font-size:13px}nav>a{font-size:14px;padding:13px 0}.hero-content .hero-button{font-size:11px}.hero-content>p{font-size:16px}}

.service-grid article>img{object-fit:contain;background:#281c15}.service-grid article,.distinctions{position:relative}.service-grid article::after,.distinctions::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(330px circle at var(--pointer-x,50%) var(--pointer-y,50%),#e6be7724,transparent 65%);opacity:0;transition:opacity .2s}.service-grid article:hover::after,.distinctions:hover::after{opacity:1}@media(prefers-reduced-motion:reduce){.service-grid article::after,.distinctions::after{display:none}}

/* Dedicated pages share the same visual language and navigation. */
.inner-page header{position:relative;background:#2c1c14;height:115px;border-bottom:1px solid #c9a54f35}.inner-page nav a[aria-current="page"]{color:#f4d492;text-decoration:underline;text-underline-offset:8px}.breadcrumb{max-width:1220px;margin:0 auto;padding:23px 0 0;display:flex;gap:12px;align-items:center;font-size:14px;color:#80664f}.breadcrumb a:hover{color:#9d7739}.inner-page main>section>h1,.inner-page .about-copy>h1,.treatment-page h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(38px,4vw,54px);line-height:1.12;letter-spacing:-1px;margin:0 0 25px;color:inherit}.inner-page .services>h1,.inner-page .gallery>h1,.inner-page .contact>h1{color:#edd6b4;text-align:center}.inner-page:has(main>.services),.inner-page:has(main>.gallery),.inner-page:has(main>.contact){background:#2c1c14}.inner-page:has(main>.services) .breadcrumb,.inner-page:has(main>.gallery) .breadcrumb,.inner-page:has(main>.contact) .breadcrumb{color:#d3bca2}.inner-page .section{min-height:450px}.inner-page .about-copy>h1{color:#2c1c14}.home-about{display:grid;grid-template-columns:1.3fr .8fr;gap:9%;align-items:center;background:#f5efe6}.home-about h2{color:#2c1c14}.home-about p{font-size:18px;line-height:1.5;color:#59473a;margin:0 0 17px;max-width:650px}.home-about .outline-button{display:inline-block;color:#805c2e;border-color:#ad8a50;margin-top:8px}.home-note{padding:30px;border-left:2px solid #ba924a}.home-note>span{font-family:Georgia,serif;font-size:40px;color:#8d682f;display:block;margin-bottom:15px}.home-note p{font-size:19px;margin:0}.home-contact{background:#eadfce;text-align:center}.home-contact h2{color:#2c1c14}.home-contact p{font-size:18px;color:#59473a;margin:0 0 24px}.treatment-page{display:grid;grid-template-columns:1.15fr .85fr;gap:7%;align-items:start;background:#fffaf3}.treatment-page h1{color:#2c1c14}.treatment-page p{font-size:18px;color:#59473a;line-height:1.55;margin:0 0 18px}.treatment-page p.treatment-intro{font-family:Georgia,serif;font-size:25px;color:#805c2e;line-height:1.35}.treatment-photo{width:100%;height:auto;max-height:650px;object-fit:contain;background:#eadfce}.treatment-art{min-height:330px;display:grid;place-items:center;font-size:130px;color:#ba924a;background:radial-gradient(ellipse at center,#6a4a2b,#2c1c14)}.treatment-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:30px}.treatment-actions .text-link{color:#805c2e;font-size:16px;border-bottom:1px solid #ad8a50;padding-bottom:4px}.inner-page .biography-details[open] summary{margin-bottom:5px}@media(max-width:1350px){.breadcrumb{margin-inline:6%}}@media(max-width:760px){.inner-page header{height:100px}.breadcrumb{font-size:13px;padding-top:18px;gap:8px}.inner-page .section{min-height:0}.inner-page main>section>h1,.inner-page .about-copy>h1,.treatment-page h1{font-size:36px}.home-about{grid-template-columns:1fr;gap:25px}.home-about p,.treatment-page p{font-size:17px}.home-note{padding:10px 0 10px 22px}.home-note>span{font-size:32px}.home-note p{font-size:17px}.treatment-page{grid-template-columns:1fr;gap:30px}.treatment-page p.treatment-intro{font-size:24px}.treatment-actions .gold-button{font-size:11px}.treatment-photo{max-height:480px}.inner-page .gallery-grid{margin-top:25px}}

/* Softer edges and natural image formats, without letterbox panels. */
.gold-button,.outline-button,.menu{border-radius:999px}.gold-button{padding-inline:27px}.nav-cta{border-radius:999px}.distinctions,.hours,.faq details,.price-list,.treatment-consultation{border-radius:20px}.distinctions,.hours{overflow:hidden}.service-grid article{border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.service-grid article>img{width:100%;height:auto;aspect-ratio:auto;object-fit:initial;display:block;background:none}.service-grid article>div:not(.service-symbol){padding:25px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.service-grid article>div>a{margin-top:auto;border:1px solid #d4b58370;border-radius:999px;padding:10px 17px;font-size:12px;line-height:1.4;transition:background .2s,color .2s}.service-grid article>div>a:hover{background:#e6be77;color:#2c1c14}.service-grid .service-consultation{background:linear-gradient(145deg,#ead9bb,#c8a66c);border:0;color:#2c1c14;justify-content:center}.service-grid .service-consultation>div{padding:36px;flex:0;min-height:360px}.service-grid .service-consultation h3{font-size:40px;line-height:1.13;color:#3b291b;margin-bottom:15px}.service-grid .service-consultation p{color:#59412d;font-size:18px;line-height:1.5;margin:0 0 25px}.service-grid .service-consultation a{color:#3b291b;border-color:#6d4d2d80}.service-grid .service-consultation a:hover{background:#3b291b;color:#fff4e3}.gallery-grid{display:block;columns:3;column-gap:18px;margin-top:25px}.gallery-item{display:block;width:100%;aspect-ratio:auto;break-inside:avoid;page-break-inside:avoid;margin:0 0 18px;border-radius:18px;overflow:hidden;background:transparent;box-shadow:0 8px 20px #0002}.gallery-item img{width:100%;height:auto;aspect-ratio:auto;object-fit:initial;display:block;border-radius:0}.gallery-item>span{border-radius:18px}.gallery-item:hover img{transform:scale(1.025)}.gallery-actions{clear:both}.treatment-photo{display:block;width:100%;height:auto;max-height:none;object-fit:initial;background:none;border-radius:22px}.treatment-consultation{padding:33px;background:linear-gradient(145deg,#ead9bb,#d4b783);box-shadow:0 12px 25px #4d342010}.treatment-consultation h2{font-size:36px;color:#3b291b;margin:0 0 20px}.treatment-page .treatment-consultation p{font-size:18px;color:#59412d}.treatment-consultation .gold-button{margin-top:7px;font-size:12px}.price-list{border:1px solid #d9cbb9;padding:0 24px;overflow:hidden}.price-list article:last-child{border-bottom:0}.price-list article{padding:21px 0}.faq details{overflow:hidden}.faq summary{padding:19px 23px}.home-note{border-radius:0 18px 18px 0}.floating-contact a{box-shadow:0 5px 18px #170d0820}dialog{border-radius:20px}#photo-viewer img{border-radius:12px}@media(max-width:1050px){.service-grid .service-consultation>div{padding:25px;min-height:320px}.service-grid .service-consultation h3{font-size:33px}}@media(max-width:760px){.gallery-grid{columns:2;column-gap:12px}.gallery-item{margin-bottom:12px;border-radius:14px}.gallery-item>span{border-radius:14px}.service-grid article>img{height:auto;aspect-ratio:auto;max-height:none;object-fit:initial;background:none}.service-grid .service-consultation>div{padding:28px;min-height:0}.service-grid .service-consultation h3{font-size:34px}.service-grid article>div:not(.service-symbol){padding:24px}.service-grid .service-consultation p{font-size:17px}.treatment-photo{max-height:none;border-radius:18px}.treatment-consultation{padding:27px}.treatment-consultation h2{font-size:31px}.price-list{padding:0 20px}.faq summary{padding:17px 20px}.gallery-actions{gap:12px}.gold-button,.outline-button{max-width:100%;text-align:center}}

.service-grid article>img{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;object-position:center}@media(max-width:760px){.service-grid article>img{aspect-ratio:4/5;height:auto;object-fit:cover}}

.cursor-glow{position:fixed;left:0;top:0;width:180px;height:180px;z-index:9999;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#e7be7048 0%,#d7a34f25 24%,#d7a34f0b 48%,transparent 70%);opacity:0;transition:opacity .2s;will-change:transform}.cursor-glow.visible{opacity:1}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-glow{display:none}}

/* Reference-style persistent navigation and contact interaction. */
header,.inner-page header{position:fixed;top:0;left:0;right:0;height:108px;transition:height .25s,background .25s,box-shadow .25s;z-index:100}.inner-page{padding-top:108px}header.scrolled{height:84px;background:#2c1c14f5;box-shadow:0 5px 25px #170d0825;backdrop-filter:blur(12px)}header.scrolled .brand-monogram{height:70px;width:70px}.back-to-top{position:fixed;right:23px;bottom:25px;z-index:80;width:45px;height:45px;border-radius:50%;border:1px solid #ba924a;background:#2c1c14;color:#edca87;font-size:24px;box-shadow:0 5px 20px #0002}.back-to-top:hover{background:#ba924a;color:#2c1c14}.inquiry{background:#f5efe6;display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:start}.inquiry h2{color:#2c1c14}.inquiry>div>p{font-size:18px;color:#59473a;line-height:1.5}.inquiry form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inquiry label{display:flex;flex-direction:column;gap:8px;font-size:16px;color:#59473a}.inquiry input,.inquiry select,.inquiry textarea{border:1px solid #cdbda6;border-radius:12px;background:#fffaf3;padding:13px 15px;font:inherit;font-size:17px;color:#2c1c14;width:100%}.inquiry textarea{resize:vertical;min-height:130px}.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{outline:2px solid #ba924a;outline-offset:2px}.form-note{font-size:14px;color:#796451;line-height:1.4;margin:0}.inquiry .gold-button{justify-self:start}.form-status{font-size:15px;color:#6d502e;margin:0}.section-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.section-reveal.section-visible{opacity:1;transform:none}.faq summary{transition:background .2s,color .2s}.faq summary:hover{background:#eadfce70}@media(max-width:760px){header,.inner-page header{height:95px}.inner-page{padding-top:95px}header.scrolled{height:80px}nav{top:95px;max-height:calc(100svh - 95px);overflow-y:auto}header.scrolled nav{top:80px;max-height:calc(100svh - 80px)}body.navigation-open{overflow:hidden}.inquiry{grid-template-columns:1fr;gap:20px}.form-row{grid-template-columns:1fr;gap:16px}.inquiry input,.inquiry select,.inquiry textarea{font-size:16px}.inquiry>div>p{font-size:17px}.back-to-top{bottom:18px;right:60px;width:38px;height:38px;font-size:21px}}@media(prefers-reduced-motion:reduce){.section-reveal{opacity:1;transform:none;transition:none}}

/* Continuous colour transitions instead of hard section boundaries. */
.home-page main{background:#f5efe6}.home-page .hero{overflow:visible}.home-page .hero::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:150px;background:linear-gradient(to bottom,rgba(245,239,230,0),#f5efe6);z-index:3;pointer-events:none}.home-page .hero-content{z-index:4}.home-page .home-about{position:relative;background:#f5efe6;padding-top:48px;padding-bottom:65px}.home-page .services{position:relative;background:#2c1c14;padding-top:125px;padding-bottom:85px}.home-page .services::before{content:'';position:absolute;left:0;right:0;top:-1px;height:95px;background:linear-gradient(to bottom,#f5efe6,rgba(245,239,230,0));pointer-events:none}.home-page .home-contact{position:relative;background:#eadfce;padding-top:115px;padding-bottom:65px}.home-page .home-contact::before{content:'';position:absolute;left:0;right:0;top:-1px;height:85px;background:linear-gradient(to bottom,#2c1c14,rgba(44,28,20,0));pointer-events:none}.home-page footer{background:linear-gradient(#eadfce,#eee3d4);border-top:0}.home-page .home-about,.home-page .services,.home-page .home-contact{opacity:1;transform:none}.inner-page .inquiry{position:relative;padding-top:110px}.inner-page .contact+.inquiry::before{content:'';position:absolute;left:0;right:0;top:-1px;height:85px;background:linear-gradient(to bottom,#2c1c14,rgba(44,28,20,0));pointer-events:none}@media(max-width:760px){.home-page .hero::after{height:95px}.home-page .home-about{padding-top:32px;padding-bottom:40px}.home-page .services{padding-top:95px;padding-bottom:50px}.home-page .services::before{height:65px}.home-page .home-contact{padding-top:90px;padding-bottom:45px}.home-page .home-contact::before{height:60px}.inner-page .inquiry{padding-top:90px}.inner-page .contact+.inquiry::before{height:60px}}

/* Clear, readable navigation over both photos and inner pages. */
header{background:linear-gradient(to bottom,#21130ff2,#21130fe6 72%,#21130fcc);border-bottom:1px solid #e3c58f40;box-shadow:0 3px 18px #170d0820;backdrop-filter:blur(10px)}nav{gap:25px}nav>a{font-size:15px;font-weight:600;letter-spacing:.65px;color:#fff7e9;line-height:1.4;padding:12px 0;text-shadow:0 1px 3px #0005}nav>a:hover{color:#f1cf8a}nav>.nav-cta{font-size:13px;color:#24170e;padding:13px 21px;text-shadow:none;font-weight:700;background:#d6b468}.inner-page nav a[aria-current="page"]{color:#f5d99e;text-decoration-thickness:2px;text-underline-offset:8px}.inner-page header,header.scrolled{background:#24160ff5}header.scrolled nav>a{font-size:15px}@media(max-width:1120px) and (min-width:761px){header{padding-inline:3%}nav{gap:17px}nav>a,header.scrolled nav>a{font-size:13px;letter-spacing:.35px}nav>.nav-cta{font-size:12px;padding:12px 16px}.brand,.brand-monogram{width:78px}}@media(max-width:760px){.menu{font-size:14px;font-weight:600;color:#fff3d8;background:#302016;border-color:#d4b583;padding:12px 17px}nav{background:#24160ffa;gap:0;box-shadow:0 15px 25px #0003}nav>a,header.scrolled nav>a{font-size:17px;font-weight:600;letter-spacing:.5px;padding:16px 6px;color:#fff7e9;border-bottom:1px solid #d4b58326}nav>.nav-cta{font-size:14px;padding:15px 20px;margin-top:16px;border-bottom:0;color:#24170e}}

/* Reviews directly after the hero, followed by original Drive imagery. */
.home-page .reviews{background:#f5efe6;color:#2c1c14;padding-top:30px;padding-bottom:42px;opacity:1;transform:none}.reviews-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px}.reviews-heading h2{color:#2c1c14;text-align:left;margin:0 0 10px}.reviews-heading p{font-size:18px;margin:0;color:#69513f}.google-rating{display:grid;gap:5px;text-align:center;color:#6e4b25;text-decoration:none;flex-shrink:0}.rating-number{font:48px Georgia,serif;line-height:1}.rating-number>span{font:18px Arial,sans-serif;margin-left:6px}.review-stars{color:#a67a2c;letter-spacing:4px;font-size:20px}.google-rating>span:last-child{font-size:14px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{margin:0;padding:25px;border:1px solid #d9cbb9;background:#fffaf3;border-radius:22px;display:flex;flex-direction:column}.review-card blockquote{margin:16px 0 22px}.review-card blockquote p{font:24px/1.4 Georgia,serif;color:#2c1c14;margin:0}.review-card figcaption{display:grid;gap:5px;margin-top:auto}.review-card figcaption strong{font-size:17px}.review-card figcaption span,.reviews-source p{font-size:14px;color:#76634f}.reviews-source{margin-top:22px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.reviews-source p{margin:0}.home-page .home-about{padding-top:30px}
.home-page .work-slider{background:#2c1c14;color:#fff3e3;padding-top:20px;padding-bottom:65px;opacity:1;transform:none}.slider-heading{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:25px}.slider-heading h2{color:#f4ddb9;text-align:left;margin:0 0 10px}.slider-heading p{font-size:18px;color:#dfcfbb;margin:0}.slider-controls{display:flex;gap:10px}.slider-controls button{width:48px;height:48px;border:1px solid #d4b583;border-radius:50%;color:#f3d59f;background:transparent;font-size:25px;cursor:pointer}.slider-controls button:hover{background:#ba924a;color:#2c1c14}.slider-controls button:disabled{opacity:.3;cursor:default}.work-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ba924a #493225;padding:0 0 17px;overscroll-behavior-x:contain}.work-slide{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;border:1px solid #d4b58335;background:#21150f;border-radius:20px;padding:0;overflow:hidden;cursor:zoom-in;aspect-ratio:4/5}.work-slide img{width:100%;height:100%;object-fit:contain;display:block}.work-slider>.outline-button{margin-top:25px}.work-track:focus-visible{outline:2px solid #d4b583;outline-offset:6px}
.price-groups{max-width:970px;margin:30px auto;display:grid;gap:24px;text-align:left}.price-group{background:#fffaf3;border:1px solid #d9cbb9;border-radius:22px;padding:28px 32px}.price-group>h3{font-size:30px;color:#6e4b25;margin:0 0 14px}.price-group dl{margin:0}.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:15px 0;border-bottom:1px solid #d9cbb980;align-items:baseline}.price-row:last-child{border:0}.price-row dt{font-size:19px;line-height:1.45}.price-row dt small{display:block;font-size:15px;color:#76634f;margin-top:4px}.price-row dd{font-size:20px;font-weight:600;color:#805c2e;white-space:nowrap;margin:0}.price-footnote{font-size:16px;color:#69513f;margin:0 0 24px}
@media(max-width:760px){.reviews-heading{display:block}.google-rating{margin-top:20px;justify-items:start;text-align:left}.review-grid{grid-template-columns:1fr;gap:12px}.review-card{padding:22px}.review-card blockquote p{font-size:22px}.slider-heading{align-items:flex-end}.slider-heading h2{font-size:32px}.slider-controls{gap:6px}.slider-controls button{width:40px;height:40px}.work-slide{flex-basis:83%}.work-track{gap:14px}.price-group{padding:22px 19px}.price-group>h3{font-size:27px}.price-row{gap:14px}.price-row dt{font-size:17px}.price-row dd{font-size:18px}}

/* Category picker with aligned treatment names and prices. */
.price-browser{min-height:70vh}.price-browser .prices-intro{margin-bottom:32px}.price-category-tabs{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:0 auto 26px;max-width:1050px;padding:8px;border:1px solid #ddcfbd;border-radius:24px;background:#eadfce80}.price-category{flex:1 1 auto;padding:14px 19px;border:0;border-radius:17px;background:transparent;color:#69513f;font:600 16px/1.4 'Segoe UI',Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.price-category:hover{background:#fffaf3}.price-category[aria-selected="true"]{background:#2c1c14;color:#fff2db;box-shadow:0 5px 12px #2c1c1420}.price-category:focus-visible,.price-panel:focus-visible{outline:2px solid #a17936;outline-offset:4px}.price-panels{max-width:1050px;margin:auto;text-align:left}.price-panel{border:1px solid #ddcfbd;border-radius:24px;background:#fffaf3;padding:30px 36px;box-shadow:0 12px 32px #50351b08}.price-panel[hidden]{display:none!important}.price-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid #ddcfbd;padding-bottom:22px;margin-bottom:4px}.price-panel-heading h3{font:32px/1.2 Georgia,serif;color:#2c1c14;margin:0}.price-panel-heading>span{font-size:14px;color:#806b53;white-space:nowrap}.price-panel dl{margin:0}.treatment-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:baseline;padding:22px 0;border-bottom:1px solid #ddcfbd80}.treatment-price-row:last-child{border-bottom:0;padding-bottom:4px}.treatment-price-row dt{text-align:left;font-size:20px;line-height:1.4;color:#33251b}.treatment-price-row small{display:block;color:#806b53;font-size:15px;margin-top:6px}.treatment-price-row dd{text-align:right;white-space:nowrap;margin:0;font-size:22px;font-weight:600;line-height:1.4;color:#88612a;font-variant-numeric:tabular-nums}.price-bottom{max-width:1050px;margin:25px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.price-bottom p{font-size:15px;color:#806b53;margin:0}@media(max-width:760px){.price-category-tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;gap:6px;padding:6px}.price-category{padding:12px 9px;font-size:14px;border-radius:14px}.price-panel{padding:23px 20px;border-radius:20px}.price-panel-heading{display:block;padding-bottom:18px}.price-panel-heading h3{font-size:28px;margin-bottom:7px}.treatment-price-row{gap:16px;padding:20px 0}.treatment-price-row dt{font-size:17px}.treatment-price-row dd{font-size:19px}.treatment-price-row small{font-size:14px}.price-bottom{align-items:flex-start;flex-direction:column;gap:17px}}

/* Transparent supplied SA AESTHETIC logo. */
header .brand{width:140px;flex-shrink:0}header .brand-monogram{width:140px;height:72px;object-fit:contain}header.scrolled .brand-monogram{width:118px;height:60px}.footer-grid .brand{width:200px}.footer-grid .brand-monogram{width:200px;height:110px;object-fit:contain}@media(max-width:1120px) and (min-width:761px){header .brand{width:118px}header .brand-monogram{width:118px;height:60px}header.scrolled .brand-monogram{width:108px;height:55px}}@media(max-width:760px){header .brand{width:108px}header .brand-monogram{width:108px;height:56px}header.scrolled .brand-monogram{width:98px;height:50px}.footer-grid .brand,.footer-grid .brand-monogram{width:180px}}

/* Keep the complete face below the fixed menu, even on ultrawide screens. */
.home-page main {
  padding-top: 108px;
}
.home-page .hero {
  height: calc(100svh - 108px);
  background: radial-gradient(ellipse at 50% 52%, #a86b35, #392111 85%);
}
.home-page .hero-background {
  object-position: 49% top;
}
.home-page .hero-content {
  top: auto;
  bottom: clamp(72px, 11%, 110px);
  inset-inline: 0;
  margin-inline: auto;
  transform: none;
  text-align: center;
}
.home-page .hero h1 {
  text-wrap: balance;
}
.home-page .hero-content > p {
  margin-bottom: 0;
}
@media (min-width: 761px) and (min-aspect-ratio: 19/10) {
  .home-page .hero-background {
    inset-inline: 0;
    margin-inline: auto;
    width: min(100%, max(980px, 190svh));
    mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
  }
}
@media (max-width: 760px) {
  .home-page main {
    padding-top: 95px;
  }
  .home-page .hero {
    height: calc(100svh - 95px);
  }
}


/* Selected photographs from Sylvia's studio. */
.home-page .studio-gallery {
  background: #2c1c14;
  color: #fff3e3;
  padding-top: 24px;
  padding-bottom: 56px;
  text-align: center;
  opacity: 1;
  transform: none;
}
.studio-gallery h2 {
  color: #f4ddb9;
}
.studio-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 26px;
}
.studio-photo {
  display: grid;
  overflow: hidden;
  border: 1px solid #d4b58355;
  border-radius: 18px;
  padding: 0;
  background: #39261c;
  color: #fff3e3;
  text-align: left;
  cursor: zoom-in;
}
.studio-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.studio-photo span {
  display: block;
  padding: 12px 15px;
  font-size: 15px;
}
.studio-photo:focus-visible {
  outline: 2px solid #edca87;
  outline-offset: 4px;
}
@media (max-width: 760px) {
  .studio-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

.studio-gallery .studio-photo-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  margin-inline: auto;
}
.studio-gallery .studio-photo img {
  aspect-ratio: 1;
}
.about-portrait {
  margin: 0 0 22px;
  border-radius: 20px;
  overflow: hidden;
  background: #2c1c14;
  color: #fff3e3;
}
.about-portrait img {
  display: block;
  width: 100%;
  height: auto;
}
.about-portrait figcaption {
  padding: 12px 18px;
}
.before-after {
  background: #2c1c14;
  color: #fff3e3;
  text-align: center;
}
.before-after h2 {
  color: #f4ddb9;
}
.before-after .studio-photo img {
  object-fit: contain;
}
@media (max-width: 460px) {
  .studio-gallery .studio-photo-grid,
  .before-after .studio-photo-grid {
    grid-template-columns: 1fr;
  }
}

/* Continue the About page header into the page background. */
.inner-page:has(main > .about) header {
  background: #2c1c14;
  border-bottom: 0;
  box-shadow: none;
}
.inner-page:has(main > .about) main {
  background: linear-gradient(to bottom, #2c1c14 42px, #76543e 62px, var(--cream) 108px);
}
.inner-page:has(main > .about) .breadcrumb,
.inner-page:has(main > .about) .breadcrumb a {
  color: #f5efe6;
}
.inner-page:has(main > .about) .breadcrumb a:hover {
  color: #edca87;
}
.inner-page main > .about {
  background: transparent;
  padding-top: max(68px, 5vw);
}

/* Align gallery tiles in rows with matching widths and gaps. */
.gallery .gallery-grid,
.before-after .studio-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.gallery .gallery-grid {
  columns: auto;
}
.gallery .gallery-item {
  aspect-ratio: 4 / 5;
  margin: 0;
}
.gallery .gallery-item img {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 760px) {
  .gallery .gallery-grid,
  .before-after .studio-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}
@media (max-width: 460px) {
  .gallery .gallery-grid,
  .before-after .studio-photo-grid {
    grid-template-columns: 1fr;
  }
}

.gallery .gallery-item {
  position: relative;
  align-self: start;
}
.gallery .gallery-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Small line illustrations for the treatment price list. */
.price-browser .price-symbol {
  width: 24px;
  height: 24px;
  flex: none;
}
.price-browser .price-category {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.price-browser .price-panel-heading h3,
.price-browser .treatment-price-row dt {
  display: flex;
  align-items: center;
  gap: 12px;
}
.price-browser .price-panel-heading h3 .price-symbol {
  width: 38px;
  height: 38px;
  padding: 7px;
  border-radius: 50%;
  background: #eadfce;
  color: #805c2e;
}
.price-browser .treatment-price-row dt .price-symbol {
  width: 20px;
  height: 20px;
  color: #805c2e;
}

/* SA AESTHETIC: sand, cream and muted mocha. */
:root {
  --cream: #f6f1ea;
  --paper: #fcf8f2;
  --espresso: #3b302a;
  --brown: #645246;
  --gold: #aa8a65;
  --sand: #eee4d7;
  --mocha: #59483e;
  --mocha-deep: #493a32;
}

header,
header.scrolled,
.inner-page header,
.inner-page:has(main > .about) header {
  background: var(--sand);
  border-bottom: 1px solid #d8c9b9;
  box-shadow: 0 3px 14px #493a3210;
}
header nav > a,
header.scrolled nav > a,
.inner-page nav a[aria-current="page"] {
  color: var(--mocha-deep);
  text-shadow: none;
}
header nav > a:hover {
  color: #765741;
}
header .menu {
  color: var(--mocha-deep);
  background: var(--paper);
  border-color: #ab947d;
}
.gold-button,
header nav > .nav-cta {
  background: #cbb398;
  color: #332820;
  border-color: #cbb398;
}
.gold-button:hover,
header nav > .nav-cta:hover {
  background: #b69a7e;
  color: #2c241f;
}
@media (max-width: 760px) {
  header nav {
    background: var(--sand);
  }
  header nav > a {
    border-bottom-color: #d8c9b9;
  }
}

.home-page main,
.home-page .home-about,
.home-page .reviews,
.inquiry {
  background: var(--cream);
}
.home-page .hero {
  scroll-margin-top: 108px;
  min-height: 550px;
  background: linear-gradient(170deg, #a7917e, #96806f);
}
.home-page .hero-background {
  filter: none;
}
.home-page .hero-shade {
  background: linear-gradient(to bottom, transparent 42%, #2b221926 55%, #2b221996 80%, #2b2219b3);
}
.home-page .hero::after {
  height: 88px;
  background: linear-gradient(to bottom, transparent, var(--cream));
}
.home-page .services::before {
  background: linear-gradient(to bottom, var(--cream), transparent);
}
.home-page .services,
.home-page .studio-gallery,
.inner-page:has(main > .services),
.inner-page:has(main > .gallery),
.inner-page:has(main > .contact),
.services,
.gallery,
.contact,
.before-after {
  background: var(--mocha);
}
.service-grid article,
.studio-photo,
.hours {
  background: var(--mocha-deep);
}
.home-page .home-contact,
.home-page footer,
footer {
  background: var(--sand);
}
.home-page .home-contact::before,
.inner-page .contact + .inquiry::before {
  background: linear-gradient(to bottom, var(--mocha), transparent);
}
.inner-page:has(main > .about) main {
  background: linear-gradient(to bottom, var(--sand), var(--cream) 108px);
}
.inner-page:has(main > .about) .breadcrumb,
.inner-page:has(main > .about) .breadcrumb a {
  color: var(--mocha-deep);
}
.price-category[aria-selected="true"],
.floating-contact a,
.back-to-top {
  background: var(--mocha-deep);
  color: #f5e7d4;
}
.floating-contact a,
.back-to-top {
  border-color: #c9b299;
}
@media (max-width: 760px) {
  .home-page .hero {
    scroll-margin-top: 95px;
  }
}

/* Match the page and mobile menu offsets to the compact header. */
:root {
  --header-height: 78px;
  --header-scrolled-height: 66px;
}
header,
.inner-page header {
  height: var(--header-height);
}
header.scrolled {
  height: var(--header-scrolled-height);
}
.inner-page,
.home-page main {
  padding-top: var(--header-height);
}
.home-page .hero {
  height: calc(100svh - var(--header-height));
  scroll-margin-top: var(--header-height);
}
@media (max-width: 760px) {
  :root {
    --header-height: 68px;
    --header-scrolled-height: 60px;
  }
  header nav {
    top: var(--header-height);
    max-height: calc(100svh - var(--header-height));
  }
  header.scrolled nav {
    top: var(--header-scrolled-height);
    max-height: calc(100svh - var(--header-scrolled-height));
  }
}

.service-grid article > .service-facial-photo { object-position: 65% center; }

/* Center the content and keep gallery photographs compact on phones. */
main .section { text-align: center; }
main .section p { margin-inline: auto; }
.home-about > div, .home-note, .about-copy, .distinctions, .treatment-page > div { text-align: center; }
.home-note { border-left: 0; }
.distinctions li { justify-content: center; }
.service-grid article > div:not(.service-symbol) { align-items: center; text-align: center; }
.treatment-actions, .gallery-actions, .price-bottom { justify-content: center; align-items: center; }
.breadcrumb { justify-content: center; }
.gallery-intro { max-width: 620px; font-size: 18px; line-height: 1.55; margin: -4px auto 28px; }
.gallery-studio { background: var(--cream); color: var(--mocha-deep); }
.gallery-studio h1, .gallery-studio h2 { color: var(--mocha-deep); }
.gallery-studio .studio-photo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 990px; }
.studio-photo { text-align: center; }
.gallery-studio .studio-photo img { aspect-ratio: 3 / 4; object-fit: contain; }
.gallery-studio .studio-photo span { background: var(--sand); color: var(--mocha-deep); }
.sylvia-at-work { background: linear-gradient(var(--cream), var(--sand)); color: var(--mocha-deep); }
.sylvia-at-work h2, .sylvia-at-work h3 { color: var(--mocha-deep); }
.sylvia-work-content { max-width: 820px; margin: 0 auto; display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 46px; align-items: center; }
.sylvia-work-content .studio-photo { margin: 0; }
.sylvia-work-content .studio-photo img { aspect-ratio: 3 / 4; object-fit: cover; }
.sylvia-work-content h3 { font: 32px/1.25 Georgia,serif; margin: 0 0 20px; }
.sylvia-work-content p { line-height: 1.65; font-size: 18px; margin-bottom: 24px; }
.sylvia-work-content .outline-button { display: inline-block; color: var(--mocha-deep); }
.gallery .gallery-grid, .before-after .studio-photo-grid { max-width: 990px; margin-inline: auto; }
.gallery .gallery-item { width: 100%; }
.before-after .studio-photo img { aspect-ratio: 4 / 5; }
/* Keep treatment labels and prices in their established opposing columns. */
.treatment-price-row dt { text-align: left; }
.treatment-price-row dd { text-align: right; }
@media (max-width: 760px) {
  .gallery-intro { font-size: 16px; margin-bottom: 22px; }
  .gallery-studio .studio-photo-grid,
  .gallery .gallery-grid,
  .before-after .studio-photo-grid,
  .studio-gallery .studio-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 520px; margin-inline: auto; }
  .gallery-studio .studio-photo-grid > :last-child:nth-child(odd),
  .gallery .gallery-grid > :last-child:nth-child(odd),
  .before-after .studio-photo-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 12px) / 2); }
  .studio-photo span { font-size: 13px; line-height: 1.4; padding: 10px 8px; }
  .studio-photo, .gallery-item { border-radius: 14px; }
  .sylvia-work-content { grid-template-columns: 1fr; gap: 24px; max-width: 460px; }
  .sylvia-work-content .studio-photo { max-width: 220px; width: 65%; margin-inline: auto; }
  .sylvia-work-content h3 { font-size: 28px; }
  .sylvia-work-content p { font-size: 16px; }
}

.studio-photo img { height: auto; }

footer { text-align: center; }
footer .brand { justify-content: center; }
.studio-photo span { min-height: 56px; display: flex; align-items: center; justify-content: center; }
