body.smp-salon { --sl-ink:#1c1c1c; --sl-paper:#eeeeec; --sl-green:#5f7a61; --sl-line:#c9cbc7; margin:0; background:#fff; color:var(--sl-ink); font-family:'Zen Kaku Gothic New',sans-serif; font-size:16px; line-height:1.8; }
body.smp-salon .sl-wrap { width:min(1160px, calc(100% - 40px)); margin-inline:auto; }
body.smp-salon .sl-header { position:sticky; top:48px; z-index:50; background:#fff; border-bottom:1px solid var(--sl-line); }
body.smp-salon .sl-header-in { min-height:76px; display:flex; align-items:center; gap:30px; }
body.smp-salon .sl-logo { display:inline-flex; align-items:center; min-height:44px; font-size:21px; font-weight:700; letter-spacing:.13em; color:var(--sl-ink); text-decoration:none; white-space:nowrap; }
body.smp-salon .sl-header nav { display:flex; align-items:center; gap:24px; margin-left:auto; }
body.smp-salon .sl-header nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--sl-ink); text-decoration:none; font-size:14px; letter-spacing:.08em; }
body.smp-salon .sl-header a:hover, body.smp-salon .sl-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
body.smp-salon .sl-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); min-height:680px; }
body.smp-salon .sl-hero-copy { align-self:center; width:min(530px, calc(100% - 80px)); margin:60px 40px 60px auto; padding-right:clamp(0px,3vw,40px); }
body.smp-salon .sl-eyebrow { margin:0 0 26px; font-size:13px; font-weight:700; letter-spacing:.2em; color:var(--sl-green); }
body.smp-salon .sl-hero h1 { margin:0 0 32px; font-size:clamp(32px,3.7vw,58px); font-weight:400; letter-spacing:.08em; line-height:1.5; }
body.smp-salon .sl-hero-copy > p:not(.sl-eyebrow) { max-width:30em; margin:0 0 34px; }
body.smp-salon .sl-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:10px 26px; background:var(--sl-green); color:#fff; text-decoration:none; font-weight:700; letter-spacing:.06em; }
body.smp-salon .sl-button:hover { background:#47654b; }
body.smp-salon .sl-hero-photo { overflow:hidden; min-height:500px; }
body.smp-salon .sl-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
body.smp-salon .sl-section { padding:clamp(68px,8vw,112px) 0; }
body.smp-salon .sl-section h2 { margin:0; font-weight:400; font-size:clamp(29px,3vw,43px); line-height:1.5; letter-spacing:.1em; }
body.smp-salon .sl-section h3 { margin:0; font-weight:700; }
body.smp-salon .sl-number { margin:0 0 15px; color:var(--sl-green); font:700 18px/1.2 'Barlow',sans-serif; letter-spacing:.16em; }
body.smp-salon .sl-intro { background:var(--sl-paper); }
body.smp-salon .sl-intro-grid { display:grid; grid-template-columns:1fr .85fr; gap:12%; align-items:start; }
body.smp-salon .sl-prose { padding-top:32px; }
body.smp-salon .sl-prose p { margin:0 0 20px; }
body.smp-salon .sl-section-head { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:36px; }
body.smp-salon .sl-section-head > p { max-width:21em; margin:0 0 4px; color:#4c504c; font-size:15px; }
body.smp-salon .sl-menu { width:100%; border-collapse:collapse; border-top:2px solid var(--sl-ink); }
body.smp-salon .sl-menu tr { border-bottom:1px solid var(--sl-line); }
body.smp-salon .sl-menu th { padding:18px 22px; text-align:left; font-size:18px; font-weight:700; letter-spacing:.05em; }
body.smp-salon .sl-menu small { display:block; font-size:13px; font-weight:400; color:#575b57; letter-spacing:0; }
body.smp-salon .sl-menu td { width:170px; padding:18px 22px; text-align:right; white-space:nowrap; font:700 21px 'Barlow','Zen Kaku Gothic New',sans-serif; }
body.smp-salon .sl-small { margin:18px 0 0; font-size:13px; color:#575b57; }
body.smp-salon .sl-feature { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:8%; align-items:center; }
body.smp-salon .sl-feature-photo { min-height:440px; }
body.smp-salon .sl-feature-photo img { width:100%; height:440px; object-fit:cover; }
body.smp-salon .sl-feature-copy { padding:20px 0; }
body.smp-salon .sl-feature-copy p:last-child { max-width:31em; margin:26px 0 0; }
body.smp-salon .sl-care { background:var(--sl-paper); }
body.smp-salon .sl-feature-reverse { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
body.smp-salon .sl-feature-reverse .sl-feature-photo { order:2; }
body.smp-salon .sl-availability { background:#f8f9f7; }
body.smp-salon .sl-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
body.smp-salon .sl-week button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:94px; border:1px solid var(--sl-line); background:#fff; color:var(--sl-ink); cursor:pointer; font:inherit; }
body.smp-salon .sl-week button span { font-size:14px; }
body.smp-salon .sl-week button strong { font-size:27px; line-height:1; color:var(--sl-green); }
body.smp-salon .sl-week button[aria-pressed="true"] { border:2px solid var(--sl-green); background:#e6eee7; }
body.smp-salon .sl-week button[data-sl-day="3"] strong, body.smp-salon .sl-week button[data-sl-day="5"] strong { color:#656565; }
body.smp-salon .sl-legend { margin:14px 0 24px; font-size:13px; }
body.smp-salon .sl-slots { padding:22px 26px; border-left:4px solid var(--sl-green); background:#fff; }
body.smp-salon .sl-slots h3 { font-size:17px; }
body.smp-salon .sl-slots p { margin:6px 0 0; font-family:'Barlow','Zen Kaku Gothic New',sans-serif; font-size:18px; }
body.smp-salon .sl-hours { background:var(--sl-ink); color:#fff; }
body.smp-salon .sl-hours .sl-number { color:#b6cdb7; }
body.smp-salon .sl-hours-grid { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
body.smp-salon .sl-hours-grid > div > p:last-child { max-width:28em; margin:22px 0 0; }
body.smp-salon .sl-hours dl { margin:0; border-top:1px solid #777; }
body.smp-salon .sl-hours dl div { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:16px 0; border-bottom:1px solid #777; }
body.smp-salon .sl-hours dt { font-weight:700; }
body.smp-salon .sl-hours dd { margin:0; }
body.smp-salon .sl-footer { padding:54px 0; background:#111; color:#ddd; font-size:14px; }
body.smp-salon .sl-footer-name { margin:0 0 20px; color:#fff; font-size:21px; letter-spacing:.12em; }
body.smp-salon .sl-footer p:not(.sl-footer-name) { max-width:54em; }
body.smp-salon .sl-footer-links { display:flex; flex-wrap:wrap; gap:10px 25px; margin-top:20px; }
body.smp-salon .sl-footer-links a { display:inline-flex; align-items:center; min-height:44px; color:#fff; }
body.smp-salon :is(a,button):focus-visible { outline:3px solid #2f6840; outline-offset:3px; }
body.smp-salon.is-cap .sl-header { top:0; }
@media (max-width:900px) {
body.smp-salon .sl-header nav { display:none; }
body.smp-salon .sl-hero { min-height:580px; }
body.smp-salon .sl-hero-copy { width:calc(100% - 48px); margin:40px 24px; padding:0; }
body.smp-salon .sl-feature, body.smp-salon .sl-feature-reverse { gap:5%; }
}
@media (max-width:640px) {
body.smp-salon .sl-wrap { width:calc(100% - 32px); }
body.smp-salon .sl-header-in { min-height:58px; }
body.smp-salon .sl-logo { font-size:18px; }
body.smp-salon .sl-hero { display:flex; flex-direction:column; min-height:0; }
body.smp-salon .sl-hero-copy { order:1; width:calc(100% - 32px); margin:40px 16px 48px; }
body.smp-salon .sl-hero h1 { font-size:clamp(30px,8vw,42px); }
body.smp-salon .sl-hero-photo { order:0; height:250px; min-height:0; }
body.smp-salon .sl-hero-photo img { height:100%; object-position:center 38%; }
body.smp-salon .sl-intro-grid, body.smp-salon .sl-feature, body.smp-salon .sl-feature-reverse, body.smp-salon .sl-hours-grid { grid-template-columns:1fr; gap:24px; }
body.smp-salon .sl-prose { padding:0; }
body.smp-salon .sl-section-head { display:block; }
body.smp-salon .sl-section-head > p { margin:14px 0 0; }
body.smp-salon .sl-menu th { padding:14px 4px; font-size:16px; }
body.smp-salon .sl-menu td { width:90px; padding:14px 4px; font-size:17px; }
body.smp-salon .sl-feature-photo, body.smp-salon .sl-feature-photo img { min-height:0; height:260px; }
body.smp-salon .sl-feature-reverse .sl-feature-photo { order:0; }
body.smp-salon .sl-feature-copy { padding:0; }
body.smp-salon .sl-week { gap:3px; }
body.smp-salon .sl-week button { min-height:72px; }
body.smp-salon .sl-week button span { font-size:12px; }
body.smp-salon .sl-week button strong { font-size:22px; }
body.smp-salon .sl-hours dl div { grid-template-columns:96px 1fr; }
}
@media (prefers-reduced-motion:reduce) { body.smp-salon *, body.smp-salon *::before, body.smp-salon *::after { scroll-behavior:auto; animation:none; transition:none; } }
