/* Shared layout for useful local salon pages and the partnership page. */
.salons-hero .local-intro{max-width:620px;font-size:1.0625rem}
.salons-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}
.salons-directory-heading h2{font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.12}
.salons-filter{width:340px;max-width:100%;flex-shrink:0}
.salons-filter label{display:block;font-size:1rem;font-weight:500;margin-bottom:10px}
.salons-filter input{width:100%;min-height:54px;border:1px solid #ad9eaf;border-radius:0;background:#fffdf9;color:var(--ink);font:inherit;font-size:1rem;padding:12px 16px}
.salons-filter input::placeholder{color:#746876;opacity:1}
.salon-results{font-size:1rem;color:var(--muted);margin:30px 0 18px}
.salon-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.salon-directory-card{display:flex;flex-direction:column;min-width:0;border:1px solid #d2c6d0;background:#fffdf9;padding:28px}
.salon-directory-photo{display:block;aspect-ratio:4/3;overflow:hidden;margin-bottom:24px;background:var(--sand)}
.salon-directory-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.salon-directory-description{font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:22px}
.salon-directory-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#726474;font-size:1rem}
.salon-directory-meta>span:first-child{font:italic 1.5rem var(--display);color:#8b684e}
.salon-directory-card h3{font:500 clamp(2rem,3vw,2.6rem)/1.2 var(--display);margin:20px 0 12px}
.salon-directory-card h3 a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:48px}
.salon-directory-card h3 span{font:400 1.4rem var(--sans, sans-serif)}
.salon-directory-card address{font-style:normal;font-size:1rem;line-height:1.7;min-height:3.4em;color:var(--muted)}
.salon-directory-phone{display:flex;align-items:center;min-height:52px;font-size:1.125rem;font-weight:600;color:var(--brand-purple);margin:10px 0 12px}
.salon-directory-links{display:flex;flex-direction:column;border-top:1px solid var(--line);padding:8px 0 14px;margin-top:auto}
.salon-directory-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1rem;min-height:48px}
.salon-directory-card a:not(.button):hover{text-decoration:underline;text-underline-offset:5px}
.salon-directory-card .button{width:100%;padding-inline:18px;gap:12px;justify-content:space-between;min-height:54px}
.salons-empty{border:1px solid var(--line);padding:28px;font-size:1rem;line-height:1.8}
.salons-empty .button{margin-top:20px}
.salons-directory-note{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);margin-top:36px;padding-top:26px}
.salons-directory-note p{max-width:670px;font-size:1rem;line-height:1.8;color:var(--muted)}
.salons-directory-note a{flex-shrink:0}
.salons-common-contact{margin-top:28px}
.salons-common-contact p{font-size:1rem;color:#e0d3e5}
.salons-common-contact a{display:inline-flex;align-items:center;min-height:52px;font-size:1.5rem;color:var(--gold)}
.salon-directory-card[hidden],.salons-filter[hidden],.salons-empty[hidden]{display:none}
@media(max-width:1100px){.salon-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.salons-filter{width:300px}}
@media(max-width:700px){.salons-directory-heading{display:block}.salons-filter{width:100%;margin-top:26px}.salon-directory-grid{grid-template-columns:1fr;gap:18px}.salon-directory-card{padding:24px}.salon-directory-card h3{font-size:2.4rem}.salon-directory-card address{min-height:0}.salon-directory-phone{font-size:1.25rem}.salons-directory-note{display:block}.salons-directory-note a{margin-top:16px}.salon-results{margin-top:22px}}
.local-page .header-phones,.franchise-page .header-phones{grid-template-columns:1fr}
.local-page .header-phone,.franchise-page .header-phone{flex-direction:row;justify-content:space-between;border:0;padding-inline:0}
.page-hero{background:var(--brand-purple);color:var(--brand-cream);padding-bottom:65px}
.page-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:22px 0 38px;color:#ddcce4;font-size:.9375rem}
.page-breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.page-breadcrumbs a:hover{color:var(--gold)}
.local-hero-grid,.partnership-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(35px,6vw,90px);align-items:center}
.page-hero h1{font:400 clamp(3.25rem,5.1vw,4.75rem)/1.04 var(--display);letter-spacing:-1px}
.page-hero h1 em{color:var(--gold)}
.page-hero .eyebrow{margin-bottom:20px}
.local-intro{font-size:1rem;color:#e0d3e5;line-height:1.85;max-width:590px;margin-top:26px}
.local-quick-info{display:flex;flex-direction:column;gap:8px;margin-top:22px;color:#f4e9db;font-size:1rem}
.local-quick-info address{font-style:normal}
.local-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.local-actions .button{gap:18px}
.button-outline{background:transparent;color:var(--brand-cream);border-color:#aa86ba}
.button-outline:hover{background:#4b2c60}
.local-photo{margin:0;aspect-ratio:4/5;max-height:570px;overflow:hidden;background:#341849}
.local-photo img{width:100%;height:100%;object-position:75% 50%}
.salon-location-photo{aspect-ratio:auto;max-height:none;overflow:visible;background:transparent}
.salon-location-photo img{display:block;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center}
.salon-location-photo figcaption{font-size:.9375rem;line-height:1.6;color:#e0d3e5;padding-top:12px}
.salon-photo-mix{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;aspect-ratio:4/3;width:100%;overflow:hidden;background:#30222c}
.salon-directory-photo .salon-photo-mix{height:100%}
.salon-photo-mix img,.salon-location-photo .salon-photo-mix img{display:block;min-width:0;min-height:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.salon-photo-mix img:first-child{grid-row:1 / 3}
.salon-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px}
.salon-about-heading h2{font-size:clamp(2.5rem,4vw,3.4rem);line-height:1.15;margin-bottom:24px}
.salon-about-heading>p:last-child{font-size:1rem;line-height:1.85;color:var(--muted)}
.salon-visit-notes{display:grid;gap:22px;align-content:start}
.salon-visit-notes article{border-top:1px solid var(--line);padding-top:20px}
.salon-visit-notes h3{font:500 1.65rem/1.25 var(--display);margin-bottom:10px}
.salon-visit-notes p{font-size:1rem;line-height:1.8;color:var(--muted)}
.local-couple-note{margin-top:20px}
.local-questions details>div p{margin-bottom:12px}
@media(max-width:960px){.salon-about{gap:35px}}
@media(max-width:700px){.salon-about{grid-template-columns:1fr;gap:28px}.local-photo.salon-location-photo{aspect-ratio:auto;max-height:none}.salon-location-photo img{aspect-ratio:4/3}.salon-directory-photo{margin-bottom:20px}}
.local-menu .section-heading{align-items:flex-start}
.local-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:50px}
.local-program{border-top:1px solid var(--line);padding:26px 0 30px}
.local-program h3{font:500 1.875rem/1.15 var(--display);margin-bottom:13px}
.local-program>p{color:var(--muted);font-size:1rem;line-height:1.8}
.local-prices{padding:0;margin:20px 0 0;list-style:none}
.local-prices li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 0;font-size:1rem}
.local-prices strong{font-weight:600;white-space:nowrap}
.local-menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:25px}
.local-menu-bottom p{max-width:430px;color:var(--muted);font-size:.9375rem;line-height:1.8}
.local-contact-section{background:var(--sand)}
.local-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px}
.local-contact-grid h2{margin-bottom:26px}
.local-visit{font-size:1rem;line-height:1.85;color:#665b60;max-width:540px}
.local-contact-card{background:var(--paper);padding:32px;border:1px solid var(--line);align-self:start;min-width:0}
.local-contact-card h3{font:500 2.25rem/1.15 var(--display);margin-bottom:18px}
.local-contact-card address{font-style:normal;font-size:1rem;line-height:1.8;margin-bottom:14px}
.local-contact-card>p{font-size:1rem;color:var(--muted);margin-bottom:14px}
.local-contact-phone{display:inline-flex;align-items:center;min-height:48px;font-size:1.375rem;font-weight:600;margin-bottom:8px}
.local-contact-card .text-button{display:flex;min-height:48px}
.local-help-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:24px}
.local-questions{max-width:880px;margin-inline:auto}
.local-questions h2{margin-bottom:32px}
.local-questions details{border-top:1px solid var(--line)}
.local-questions details:last-child{border-bottom:1px solid var(--line)}
.local-questions summary{position:relative;padding:22px 36px 22px 0;list-style:none;cursor:pointer;font-size:1.0625rem;font-weight:500}
.local-questions summary::-webkit-details-marker{display:none}
.local-questions summary::after{position:absolute;right:4px;top:19px;content:'+';font-size:1.5rem;color:#8b684e}
.local-questions details[open] summary::after{content:'−'}
.local-questions details>div{font-size:1rem;color:var(--muted);line-height:1.85;padding:0 24px 24px 0}
.local-questions a{text-decoration:underline;text-underline-offset:4px}
.partnership-contact{border:1px solid #8a6a94;padding:34px;min-width:0}
.partnership-contact h2{font-size:2.75rem;line-height:1.1;letter-spacing:-.5px;margin-bottom:25px}
.partnership-contact a:not(.button){display:flex;align-items:center;min-height:48px;overflow-wrap:anywhere;font-size:1.0625rem}
.partnership-contact .partner-phone{font-size:1.375rem;font-weight:600;color:var(--gold)}
.partnership-contact .button{width:100%;margin-top:22px}
.partner-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 60px;margin-top:42px}
.partner-benefits article{border-top:1px solid var(--line);padding-top:22px}
.partner-benefits h3{font:500 2rem/1.2 var(--display);margin-bottom:13px}
.partner-benefits p{font-size:1rem;line-height:1.85;color:var(--muted)}
.partner-next{background:var(--sand);padding:50px 0}
.partner-next .container{display:flex;align-items:center;justify-content:space-between;gap:40px}
.partner-next h2{font-size:2.75rem;line-height:1.15;margin-bottom:16px}
.partner-next p{font-size:1rem;line-height:1.85;color:#665b60;max-width:660px}
.partner-next .button{flex-shrink:0}
.franchise-economics{background:var(--sand);padding:64px 0}
.franchise-economics h2,.franchise-partners h2{font-size:clamp(2.6rem,4.5vw,3.8rem);line-height:1.1}
.franchise-numbers{margin:34px 0 0;max-width:1050px}
.franchise-numbers>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:21px 0;border-top:1px solid #d2c6d0;align-items:center}
.franchise-numbers dt{font-size:1.0625rem;line-height:1.6}
.franchise-numbers dd{font-size:1.5rem;font-weight:500;margin:0;line-height:1.5;font-variant-numeric:tabular-nums}
.franchise-numbers span{display:block;font-size:1rem;font-weight:400;color:#655d64}
.franchise-economics-note{font-size:1rem;color:#655d64;line-height:1.85;max-width:880px;margin-top:22px}
.franchise-partners{padding:0 0 64px}
.franchise-partner-details{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}
.franchise-partner-details h3{font-size:1.25rem;font-weight:500;margin-bottom:10px}
.franchise-partner-details p{font-size:1rem;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:600px){.franchise-economics{padding:42px 0}.franchise-numbers>div{grid-template-columns:1fr;gap:6px;padding:18px 0}.franchise-numbers dd{font-size:1.375rem}.franchise-partners{padding-bottom:42px}}
@media(max-width:960px){.local-hero-grid,.partnership-hero-grid{gap:35px}.local-contact-grid{gap:35px}.page-hero h1{font-size:3.375rem}.partnership-contact{padding:25px}.partner-next .container{display:block}.partner-next .button{margin-top:24px}}
@media(max-width:700px){.page-hero{padding-bottom:38px}.page-breadcrumbs{padding:12px 0 24px;gap:8px}.local-hero-grid,.partnership-hero-grid{grid-template-columns:1fr;gap:32px}.page-hero h1{font-size:clamp(2.7rem,10.8vw,3.375rem)}.local-intro{margin-top:22px}.local-actions{flex-direction:column}.local-actions .button{width:100%;justify-content:space-between;min-height:56px}.local-photo{aspect-ratio:4/3;max-height:330px}.local-programs{grid-template-columns:1fr}.local-menu-bottom{display:block}.local-menu-bottom p{margin-top:22px}.local-contact-grid{grid-template-columns:1fr;gap:30px}.local-contact-card{padding:25px 22px}.local-contact-phone{font-size:1.25rem}.local-help-links{display:grid;gap:8px}.local-questions h2{font-size:2.75rem}.local-questions details>div{padding-right:6px}.partner-benefits{grid-template-columns:1fr;gap:30px}.partnership-contact h2{font-size:2.5rem}.partner-next h2{font-size:2.5rem}.partner-next .button{width:100%}}
