/* Three editorial systems sharing accessible interactions, not one visual template. */
.salon{--paper:#fffaf5;--ink:#45352f;--muted:#6d5851;--accent:#8c4e5e;--line:#dfcec4}
.salon .eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.6}.salon p{line-height:1.7}.salon .button{font-size:15px;transition:transform 150ms cubic-bezier(.23,1,.32,1)}.salon .button:active{transform:scale(.98)}.salon .section{padding:90px 8%}.salon .section-head>p{font-size:16px;max-width:390px}.salon .service p,.salon .duo p,.salon .visit p{font-size:17px}.salon .service-meta{font-size:14px;gap:20px}.salon .demo-note{font-size:12px;line-height:1.5}.salon .site-nav{padding-inline:7%;background:var(--paper);height:100px}.salon .nav-links{font-size:15px}.salon .wordmark{font-family:Georgia,serif;font-size:28px;letter-spacing:-.04em}.salon .hero-copy>p:not(.eyebrow){font-size:18px;max-width:390px}.salon .salon-hero h1{font-size:clamp(56px,6vw,96px);line-height:1.02}.salon .salon-hero:after{display:none}.salon .hero-copy{position:relative;max-width:none;padding:75px 10%;align-self:center}.salon .hero-media{background:var(--line)}.salon .hero-media img{object-position:center}.salon .hero-media video{object-position:center}.salon .benefits{font-size:14px;padding:24px 8%;gap:20px}.salon .editorial-gallery figure{margin:0;min-width:0}.salon .editorial-gallery figcaption{font-size:15px;padding:16px 0;color:var(--muted)}.salon .editorial-gallery img{display:block}.salon .visit-card dl{font-size:16px;line-height:1.6;grid-template-columns:1fr 1.5fr}.salon .visit{background:var(--wash)}.salon .visit-card{padding:35px}.salon footer{font-size:14px;align-items:center}.salon .menu-note{font-size:14px;color:var(--muted);margin:25px 0 0}.salon .salon-faq{max-width:1000px;margin:auto;padding:70px 8%}.salon .salon-faq h2{margin-bottom:25px}.salon .salon-faq summary{font-size:18px;padding:5px 0}.salon .salon-faq p{font-size:17px}.salon .edition-mark{font:italic 26px Georgia,serif;margin-bottom:28px;color:var(--accent)}.salon .hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.salon .hero-actions a{font-size:15px;border-bottom:1px solid currentColor;padding:12px 0}.salon .style-ribbon{padding:35px 8%;background:var(--wash);display:flex;align-items:center;justify-content:space-between;gap:25px}.salon .style-ribbon p{font:28px/1.4 Georgia,serif;margin:0}.salon .style-ribbon span{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
/* Petal: a welcoming stationery palette, soft framing, gentle rhythm. */
.salon.classic{--wash:#f2e3df}.salon.classic .salon-hero{height:auto;min-height:650px;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);padding:35px 7% 55px;gap:5%}.salon.classic .hero-media{position:relative;inset:auto;z-index:0;grid-column:2;grid-row:1;min-height:570px;border-radius:48% 48% 4px 4px;box-shadow:12px 12px 0 #f2e3df}.salon.classic .hero-copy{grid-column:1;grid-row:1;padding:30px 0}.salon.classic .salon-hero h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.salon.classic .button{border-radius:30px}.salon.classic .service{padding:30px;background:#fffdf9;border:1px solid var(--line);border-radius:8px}.salon.classic .service h3{font:27px Georgia,serif}.salon.classic .duo img{border-radius:180px 180px 5px 5px}.salon.classic .editorial-gallery figure:nth-child(2){padding-top:70px}
/* Maison: wine, warm stone and champagne; full-bleed photography and quiet type. */
.salon.luxury{--paper:#faf5ec;--ink:#421b2a;--muted:#72565b;--accent:#591d31;--line:#d8c8b8;--wash:#eee4d7}.salon.luxury .site-nav{background:#411525;color:#f6e8d1;border-color:#764452}.salon.luxury .site-nav .button{background:transparent;border-color:#c5a575}.salon.luxury .wordmark{font-size:25px;letter-spacing:.06em}.salon.luxury .salon-hero{height:740px;background:#411525;display:grid;grid-template-columns:46% 54%;color:#fff1dc}.salon.luxury .hero-media{position:relative;inset:auto;z-index:0;grid-column:2;grid-row:1;min-height:740px}.salon.luxury .hero-copy{grid-column:1;grid-row:1;padding:70px 12%}.salon.luxury .hero-copy h1{font-weight:300;letter-spacing:-.04em}.salon.luxury .hero-copy .edition-mark{color:#d9b982}.salon.luxury .hero-copy .button{background:#f0dfbf;color:#411525;border-color:#f0dfbf}.salon.luxury .benefits{background:#411525;color:#e9d6ba;border-color:#714350}.salon.luxury .service-list{display:block;max-width:1000px;margin:auto}.salon.luxury .service{display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:35px;align-items:center;padding:30px 0}.salon.luxury .service h3{font:28px/1.2 Georgia,serif;margin:0}.salon.luxury .service p{margin:0}.salon.luxury .service-meta{display:block;margin:0}.salon.luxury .service-meta span{display:block;margin:5px 0}.salon.luxury .duo{background:#411525;color:#fff1dc;padding-block:85px}.salon.luxury .duo p{color:#e6d4c5}.salon.luxury .editorial-gallery{grid-template-columns:1.2fr .8fr;gap:35px}.salon.luxury .editorial-gallery figure:last-child{display:none}.salon.luxury .editorial-gallery figure:nth-child(2){padding-top:110px}.salon.luxury .style-ribbon{background:#411525;color:#ead5b1}
/* FORM: clean geometry, large type and contrasting editorial proportions. */
.salon.modern{--paper:#f7f7f2;--ink:#202321;--muted:#555a55;--accent:#303c32;--line:#cbd0c7;--wash:#dfe4d9}.salon.modern .wordmark{font:800 30px/1 Arial,sans-serif;letter-spacing:-.06em}.salon.modern .salon-hero{height:auto;display:grid;grid-template-columns:1.1fr 1fr;background:var(--paper);color:var(--ink);padding:35px 5% 60px;gap:5%}.salon.modern .hero-copy{grid-column:1;grid-row:1;padding:45px 0}.salon.modern .hero-copy h1{font:600 clamp(62px,7.4vw,118px)/.95 Arial,sans-serif;letter-spacing:-.075em}.salon.modern .hero-media{position:relative;inset:auto;grid-column:2;grid-row:1;z-index:0;min-height:590px}.salon.modern .edition-mark{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em}.salon.modern .button{border-radius:0}.salon.modern .benefits{background:#303c32;color:#f7f7f2;text-transform:uppercase;letter-spacing:.07em;font-size:12px}.salon.modern .section-head h2{font-size:clamp(40px,5vw,74px);letter-spacing:-.06em}.salon.modern .service-list{gap:0;border-bottom:1px solid var(--line)}.salon.modern .service{padding:28px 24px;border-right:1px solid var(--line)}.salon.modern .service:last-child{border-right:0}.salon.modern .service h3{font-size:25px;font-weight:600}.salon.modern .duo{grid-template-columns:.85fr 1.15fr;gap:12%}.salon.modern .duo h2{font-size:clamp(40px,5vw,72px)}.salon.modern .editorial-gallery{grid-template-columns:1.5fr 1fr 1fr;align-items:start}.salon.modern .editorial-gallery figure:first-child img{aspect-ratio:1/1.1}.salon.modern .editorial-gallery figure:nth-child(2){padding-top:90px}.salon.modern .editorial-gallery figure:nth-child(3){padding-top:180px}.salon.modern .style-ribbon p{font-family:Arial,sans-serif;font-weight:600}
@media(max-width:800px){
.salon .section{padding:55px 6%}.salon .site-nav{height:85px;padding-inline:6%;gap:14px}.salon .wordmark{font-size:22px}.salon.luxury .wordmark{font-size:19px}.salon .site-nav .button{font-size:13px;padding:12px}.salon .salon-hero,.salon.classic .salon-hero,.salon.luxury .salon-hero,.salon.modern .salon-hero{display:flex;flex-direction:column;height:auto;min-height:0;padding:30px 6% 35px;gap:25px}.salon .salon-hero .hero-copy{padding:12px 0;order:0}.salon .salon-hero .hero-media{order:1;position:relative;inset:auto;width:100%;min-height:400px;max-height:550px;aspect-ratio:4/5}.salon .salon-hero h1{font-size:57px;max-width:none}.salon.modern .salon-hero h1{font-size:66px}.salon .hero-copy>p:not(.eyebrow){font-size:17px}.salon .edition-mark{margin-bottom:15px}.salon .benefits{display:grid;grid-template-columns:1fr 1fr;font-size:13px}.salon .service-list{display:block}.salon .service,.salon.luxury .service{display:block;padding:25px;margin-bottom:16px}.salon.luxury .service{padding-inline:0}.salon.luxury .service p{margin-top:15px}.salon.luxury .service-meta{display:flex;margin-top:20px}.salon .duo,.salon.modern .duo{grid-template-columns:1fr;gap:30px}.salon .duo img{height:auto;aspect-ratio:4/5}.salon .editorial-gallery,.salon.luxury .editorial-gallery,.salon.modern .editorial-gallery{grid-template-columns:1fr 1fr;gap:15px}.salon .editorial-gallery figure:nth-child(n){padding-top:0}.salon .editorial-gallery figure:last-child{display:none}.salon .editorial-gallery img:last-child{display:block}.salon .editorial-gallery img{aspect-ratio:3/4!important}.salon .visit{grid-template-columns:1fr;gap:25px}.salon .visit-card{padding:22px}.salon .visit-card dl{grid-template-columns:1fr;font-size:16px;gap:5px}.salon .visit-card dd{margin-bottom:14px}.salon .style-ribbon{display:block;padding:30px 6%}.salon .style-ribbon span{display:block;margin-top:12px}.salon .mobile-book{padding-bottom:max(12px,env(safe-area-inset-bottom))}.salon .salon-faq{padding:50px 6%}.salon footer{padding-bottom:110px}.salon .demo-note{font-size:11px}.salon .service-meta{flex-wrap:wrap}.salon.modern .service{border-right:0;padding-inline:0}
}
@media(prefers-reduced-motion:reduce){.salon .button{transition:none}}
body[data-input=keyboard] .salon .button{transition:none;transform:none}
/* A single menu surface with consistent reading and price columns. */
.salon #services{background:var(--wash);padding-block:80px}
.salon #services .section-head{max-width:1040px;margin:0 auto 35px;align-items:center}
.salon #services .service-list{display:block;max-width:1040px;margin:auto;background:var(--paper);border:1px solid var(--line);padding:12px 40px;box-shadow:0 16px 45px #39261d08;border-radius:0}
.salon #services .service{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) minmax(120px,.65fr);gap:30px;align-items:start;margin:0;padding:30px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.salon #services .service:last-child{border-bottom:0}
.salon #services .service h3{margin:0;font-size:25px;line-height:1.25}
.salon #services .service p{margin:0;font-size:16px;line-height:1.65}
.salon #services .service-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin:0;text-align:right;font-size:14px;line-height:1.5}
.salon #services .service-meta span{margin:0}.salon #services .service-meta span:last-child{font-weight:600;color:var(--ink)}
.salon.classic{--paper:#fff9f1;--wash:#eedbd4}.salon.classic #services{background-color:#eedbd4;background-position:center;background-size:cover}.salon.classic #services .service-list{background:#fff9f1f5}.salon.classic #services .section-head{background:#fff9f1ed;padding:25px 30px;margin-bottom:0;border:1px solid var(--line);border-bottom:0}.salon.classic #services .section-head h2{font-family:Georgia,serif;font-size:44px;letter-spacing:-.04em}.salon.classic .salon-faq{max-width:none;padding-inline:max(6%,calc((100% - 1040px)/2));background:#f1e3d9}
@media(max-width:800px){.salon #services{padding:45px 6%}.salon #services .section-head{padding:24px}.salon #services .service-list{padding:0 24px}.salon #services .service{grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:25px 0}.salon #services .service h3{font-size:23px}.salon #services .service p{grid-column:1/-1;grid-row:2}.salon #services .service-meta{grid-column:2;grid-row:1;font-size:12px;max-width:110px;gap:4px}.salon.classic #services .section-head h2{font-size:36px}}
.salon.classic #services{background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3478ls573s48qjdnp5xQTmPVjj3/hf_20261024_204632_f740adb0-906e-485b-8853-5711dc39831f.png')}
/* Individual generated material backdrops; opaque panels protect text contrast. */
.salon.luxury #services,.salon.modern #services{background-size:cover;background-position:center}
.salon.luxury #services{background-color:#411525}
.salon.luxury #services .section-head,.salon.modern #services .section-head{padding:28px 40px;margin-bottom:0;border:1px solid var(--line);border-bottom:0;background:var(--paper)}
.salon.luxury #services .service-list,.salon.modern #services .service-list{background:var(--paper)}
.salon.modern #services{background-color:#dfe4d9}
@media(max-width:800px){.salon.luxury #services .section-head,.salon.modern #services .section-head{padding:24px}}
.salon.luxury #services{background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3478ls573s48qjdnp5xQTmPVjj3/hf_20261024_204839_69bd5e25-1097-44cc-9f6c-b9d6e42a36a1.png')}
.salon.modern #services{background-image:url('https://d8j0ntlcm91z4.cloudfront.net/user_3478ls573s48qjdnp5xQTmPVjj3/hf_20261024_204841_66980613-bb94-4660-bb45-e124ba0a5be4.png')}
.salon .site-nav{position:sticky;top:0;z-index:6}.salon #services,.salon #gallery,.salon #visit{scroll-margin-top:110px}.service-book{border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--accent);padding:10px 0;min-height:44px;font-size:14px;text-align:right}.booking-dialog{background:#fff9f1;color:#45352f;max-width:540px;padding:35px;max-height:90svh;overflow:auto}.booking-dialog.luxury{background:#faf5ec;color:#421b2a}.booking-dialog.modern{background:#f7f7f2;color:#202321}.booking-dialog p{font-size:16px;line-height:1.6}.booking-dialog label{font-size:16px;margin-top:25px;margin-bottom:8px}.booking-dialog select{font-size:16px;min-height:48px}.booking-dialog .booking-close{float:right;border:0;background:transparent;font-size:28px;min-width:44px;min-height:44px}.booking-dialog .booking-summary{padding:20px 0;font-size:18px;line-height:1.5}.booking-dialog .booking-demo-note{background:#ede3da;padding:16px;font-size:15px}.booking-dialog .button{width:100%;background:#493744;color:white;font-size:16px;text-align:center}.booking-dialog .booking-terms{font-size:14px;margin-top:20px}.booking-dialog h2{font-size:42px}.booking-dialog::backdrop{background:#20151bc4}@media(max-width:800px){.salon #services .service-meta{grid-column:1/-1;grid-row:3;max-width:none;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left;font-size:14px}.service-book{margin-left:auto}.booking-dialog{padding:25px}.salon .site-nav{position:relative}}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:#fff;color:#222;padding:14px 20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.salon .demo-note{align-items:center}.owner-actions{display:flex;align-items:center;gap:20px}.owner-actions button{border:1px solid #60454e;background:#fff9f1;color:#45352f;padding:11px 16px;min-height:44px;font-size:14px}.owner-actions a{font-size:14px;padding:12px 0}.salon .demo-note>span{min-width:0}.booking-dialog,#inquiry{overscroll-behavior:contain}#lead label{font-size:15px}#lead input,#lead select{font-size:16px}#lead .interests label{min-height:44px;display:flex;align-items:center;gap:10px}#lead .interests input{width:20px;height:20px;margin:0;flex:none}
@media(max-width:600px){.salon .demo-note{flex-wrap:wrap;padding:12px 6%}.owner-actions{width:100%;justify-content:space-between;gap:12px}.owner-actions button{font-size:13px}.salon .hero-copy,.salon .service h3{overflow-wrap:anywhere}}
