/* One type system and one section rhythm for Aura's home and inner pages. */
@font-face{font-family:"Aura Lora";src:url("../fonts/lora-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Aura Lora";src:url("../fonts/lora-medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Aura Lora";src:url("../fonts/lora-italic.ttf") format("truetype");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Aura Open Sans";src:url("../fonts/open-sans-variable.ttf") format("truetype");font-style:normal;font-weight:300 800;font-display:swap}
:root{
  --display:"Aura Lora",Georgia,serif;
  --sans:"Aura Open Sans",Arial,sans-serif;
  --script:"Aura Lora",Georgia,serif;
  --paper:#fdfaf4;
  --cream:#f5efe6;
  --blush-soft:#f9f4ee;
  --cherry:#302a23;
  --cherry-2:#484035;
  --ink:#302a23;
  --ink-soft:#544a3f;
  --muted:#706457;
  --hair:rgba(70,55,38,.17);
  --pad:clamp(1.25rem,4.5vw,6rem);
  --section-space:clamp(5rem,8vw,8rem);
}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;font-synthesis:none}
.brand-name i{font-family:var(--display);font-style:italic;font-size:1.05em;color:var(--rose-deep)}
.site-header{background:rgba(253,250,244,.96);border-color:var(--hair);box-shadow:0 8px 24px rgba(48,42,35,.08)}
.site-header.scrolled{background:rgba(253,250,244,.98);box-shadow:0 5px 18px rgba(48,42,35,.09)}
.desktop-nav{font-size:.7rem;letter-spacing:.08em}
.mobile-menu-links a{font-family:var(--display)}
.button{min-height:46px;border-radius:4px;background:var(--rose-deep);background-image:none;color:#fff;text-shadow:none;box-shadow:none;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.08em;transition:background .25s,color .25s,transform .25s}
.button:hover{background:var(--ink);color:#fff;box-shadow:none;transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button-small{min-height:38px;font-size:.68rem}
.text-link{font-size:.78rem;letter-spacing:.02em}
.eyebrow,.section-label{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.15em;line-height:1.5}
.section-label{margin-bottom:clamp(2rem,3vw,3.3rem)}
.section,.menu-section,.editorial-section,.ritual-section,.values-section,.visit-section,.full-gallery-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.section h2,.menu-section h2,.editorial-section h2,.ritual-section h2,.values-section h2,.visit-section h2,.location-section h2,.full-gallery-section h2,.inner-cta h2,.image-quote h2{
  font-family:var(--display);font-size:clamp(3rem,4.8vw,5.4rem);font-weight:400;line-height:1.1;letter-spacing:-.035em;text-wrap:balance
}
.section h2 em,.inner-hero h1 em,.menu-section h2 em,.editorial-section h2 em,.ritual-section h2 em,.values-section h2 em,.visit-section h2 em,.location-section h2 em,.full-gallery-section h2 em,.inner-cta h2 em,.image-quote h2 em{font-size:1em;line-height:inherit}
.section h2 em{color:var(--rose-deep)}
.services h2 em{color:#e9d5a9}
h1 em,h2 em,.happy-clients-script{font-family:var(--display);font-style:italic;font-weight:400;letter-spacing:-.035em}
.hero-editorial .hero-content h1,.inner-hero h1{font-family:var(--display);font-size:clamp(3.8rem,6.4vw,6.8rem);line-height:1.04;letter-spacing:-.045em}
.hero-editorial .hero-content h1 em,.inner-hero h1 em{font-family:var(--display);font-size:1em;font-style:italic;line-height:1.1;color:#e9d5a9}
.hero-editorial .hero-copy,.inner-hero__copy>p:not(.eyebrow){font-size:clamp(.94rem,1.05vw,1.08rem);line-height:1.65}
.hero-actions .button,.hero-editorial .hero-actions .button{background:#eee2cc;color:var(--ink);box-shadow:none}
.hero-actions .button:hover,.hero-editorial .hero-actions .button:hover{background:#fff;color:var(--ink)}
.inner-hero{min-height:min(700px,88dvh)}
.inner-hero__copy{padding-top:clamp(8rem,12vw,10rem);padding-bottom:clamp(6rem,9vw,8rem)}
.inner-hero__image img{filter:saturate(.88)}
/* Open sections instead of separate rounded panels. */
main>section{border-radius:0}
.why-aura{background:var(--cream)}
.why-aura-grid{gap:clamp(1.2rem,2.4vw,2.5rem)}
.why-aura-card{padding:1.5rem 0 0;border:0;border-top:1px solid var(--hair);border-radius:0;background:transparent}
.why-aura-card h3{font-size:1.35rem;line-height:1.3}
.why-aura-card p{font-size:.86rem;line-height:1.6}
.intro{background:var(--paper)}
.intro-copy .kicker,.contact-main .kicker,.overview-copy .kicker,.review-script{font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.7rem);line-height:1.3;color:var(--rose-deep)}
.intro-copy>p.body-copy,.overview-copy>p:not(.kicker),.contact-main>p:not(.kicker){font-size:.94rem;line-height:1.72;color:var(--ink-soft)}
.intro-values strong{font-size:1.45rem}
.intro-values p{font-size:.86rem;line-height:1.6}
.intro-image:before{display:none}
.intro-image img{border-radius:2px}
.services:has(.service-browser){background:var(--cherry)}
.services-heading-wide h2{font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.1}
.services-heading-wide p{font-size:.92rem;line-height:1.65;color:rgba(255,250,242,.76)}
.service-category-image,.service-panel{border-radius:3px;box-shadow:none}
.service-browser-label,.service-panel-heading [data-service-count]{font-size:.68rem}
.service-category-list button{font-size:.85rem;color:rgba(255,250,242,.72)}
.service-category-list button span,.service-category-list button small{font-size:.68rem}
.service-category-list button strong{font-size:clamp(1.05rem,1.4vw,1.35rem)}
.service-panel-heading p{font-size:.85rem;line-height:1.55}
.service-api-copy h4{font-size:clamp(1.1rem,1.55vw,1.4rem)}
.service-api-copy p{font-size:.8rem;line-height:1.55}
.service-api-number,.service-api-meta small{font-size:.68rem}
.service-api-meta strong{font-size:1.13rem}
.team{background:var(--paper)}
.team-heading{max-width:none;margin:0 0 2.6rem}
.team-heading h2{font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.1}
.team-card{background:var(--cream);border:0;border-radius:3px}
.team-body h3{font-size:1.4rem}.team-role,.team-book{font-size:.7rem}.team-description{font-size:.85rem}
.salon-overview{background:var(--cream)}
.overview-scene img{border-radius:2px;box-shadow:none}
.overview-detail img{border:0;border-radius:2px}
.overview-detail i{font-family:var(--display);font-style:italic;font-size:1.3rem}
.overview-notes span{border-radius:2px;font-size:.68rem}
.feature-strip{background:var(--paper);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.feature-strip-photo{box-shadow:none;border-width:3px}
.feature-strip h2{font-size:clamp(1.7rem,2.4vw,2.4rem);line-height:1.2}
/* Keep the invitation to review in the same light palette as adjacent sections. */
.happy-clients-cta{background:var(--paper);color:var(--ink)}
.happy-clients-cta>.section-label,.happy-clients-lead{color:var(--rose-deep)}
.happy-clients-photo{border-radius:2px;box-shadow:none}
.happy-clients-photo::after{display:none}
.happy-clients-script{font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.07;margin-top:.25rem;background:none;color:var(--rose-deep);-webkit-text-fill-color:var(--rose-deep);filter:none}
.happy-clients-copy p{color:var(--ink-soft);font-size:.94rem;line-height:1.7}
.happy-clients-actions .text-link{color:var(--rose-deep);border-bottom-color:var(--rose-deep)}
.happy-clients-points article{border-top-color:var(--hair)}
.happy-clients-points strong{color:var(--rose-deep)}
.happy-clients-points p{color:var(--muted);font-size:.85rem}
.gallery{background:var(--cream)}
.gallery-heading{padding-left:0}
.gallery-heading h2{font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.1}
.gallery-item,.full-gallery__item{border-radius:2px}
.review-invitation{background:var(--paper);color:var(--ink)}
.review-invitation::before{display:none}
.review-invitation .section-label,.review-invitation .section-label span{color:var(--rose-deep)}
.review-invitation h2{color:var(--ink);font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.1}
.review-invitation h2 em{color:var(--rose-deep)}
.review-lead{color:var(--ink-soft);font-size:.96rem;line-height:1.7}
.review-note{color:var(--muted);font-size:.86rem;line-height:1.65}
.review-actions>span{color:var(--muted);font-size:.7rem}
.review-invitation-image{border-radius:2px}
.contact{background:var(--cream)}
.contact-details small{font-size:.7rem}
.contact-brand strong{font-size:1.08rem}
.map-card{padding:0;background:transparent;border-radius:2px}
.map-card iframe{border-radius:2px}
.site-footer{margin:0;border-radius:0;border-top:0;background:var(--cherry);padding:clamp(3rem,5vw,5rem) var(--pad)}
.site-footer>p,.footer-links{font-size:.78rem}
/* Inner-page copy uses the same sizes and surfaces. */
.inner-intro{background:var(--cream)}
.inner-intro p{font-size:clamp(1.4rem,2.2vw,2.1rem);line-height:1.4}
.menu-section,.values-section,.location-section{background:var(--cream)}
.editorial-section,.visit-section{background:var(--paper)}
.menu-section__head>p,.category-story__heading>p:last-child,.editorial-section__main>p,.ritual-list p,.values-grid p,.visit-section__heading>p:last-child,.visit-details p,.location-section__copy>p:not(.eyebrow),.full-gallery__heading>p:last-child{font-size:.94rem;line-height:1.68;color:var(--ink-soft)}
.category-story__heading h3{font-size:clamp(2.6rem,3.8vw,4.2rem);line-height:1.08}
.service-item p{font-size:.85rem}
.menu-categories button strong{font-size:clamp(1.15rem,1.55vw,1.6rem)}
.menu-categories button small,.menu-categories button span,.service-item__number,.service-item__meta small{font-size:.72rem}
.values-grid h3{font-size:clamp(1.5rem,2vw,2.1rem)}
.full-gallery__heading{align-items:start}
.full-gallery__heading h2{font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.1}
.full-gallery__item figcaption{font-size:.72rem}
@media(max-width:980px){.section,.menu-section,.editorial-section,.ritual-section,.values-section,.visit-section,.full-gallery-section{padding-top:clamp(4.5rem,8vw,6rem);padding-bottom:clamp(4.5rem,8vw,6rem)}}
@media(max-width:680px){.hero-editorial .hero-content h1,.inner-hero h1{font-size:clamp(3rem,11vw,4.3rem);line-height:1.1}.hero-editorial .hero-copy{font-size:.94rem}.section h2,.menu-section h2,.editorial-section h2,.ritual-section h2,.values-section h2,.visit-section h2,.location-section h2,.full-gallery-section h2,.inner-cta h2,.image-quote h2{font-size:clamp(2.65rem,9vw,3.8rem)}.why-aura-card p,.service-api-copy p{font-size:.84rem}.service-category-list button strong{font-size:1.1rem}.happy-clients-script{font-size:clamp(2.9rem,9vw,3.8rem)}.review-invitation h2{font-size:clamp(2.65rem,9vw,3.8rem)}.promo-ribbon{padding-top:4.5rem;padding-bottom:4.5rem}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
/* The legal pages use the same navigation and font pair without changing their text. */
.aura-inner.legal-page .legal-main{max-width:1040px;padding:clamp(10rem,13vw,12rem) var(--pad) var(--section-space)}
.aura-inner.legal-page .legal-main h1{font-size:clamp(3rem,4.8vw,5.4rem);line-height:1.1}
.aura-inner.legal-page .legal-main h2{font-size:clamp(1.4rem,2vw,2rem);line-height:1.25}
.aura-inner.legal-page .legal-main p{font-size:.94rem;line-height:1.72;color:var(--ink-soft)}
.aura-inner.legal-page .legal-main section{grid-template-columns:minmax(150px,220px) minmax(0,1fr)}
@media(max-width:680px){.aura-inner.legal-page .legal-main{padding-top:9rem}.aura-inner.legal-page .legal-main section{grid-template-columns:1fr;gap:.5rem}}
.aura-offers #current-offers:has(.promo-ribbon[hidden]){display:none}
