:root{--ink:#173c32;--accent:#235a47;--pale:#e9eee6;--paper:#faf9f5;--line:#dce1d8;--muted:#586a60;color:var(--ink);background:var(--paper);font-family:Arial,sans-serif;font-size:16px;line-height:1.6}html[data-theme=plum]{--ink:#39293c;--accent:#654268;--pale:#f0e8ee;--line:#e3d9e1;--muted:#715f73}html[data-theme=clay]{--ink:#493126;--accent:#83523c;--pale:#f1e8df;--line:#e4dace;--muted:#786455}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(44px,5.4vw,80px);max-width:720px}h2{font-size:clamp(32px,3.2vw,48px)}h3{font-size:21px;line-height:1.35}p{overflow-wrap:anywhere}.topbar{max-width:1400px;margin:auto;display:flex;align-items:center;gap:28px;padding:24px 5%}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;line-height:1.2;max-width:400px}.brand img{border-radius:50%}.brand-dot{width:28px;height:28px;border:1px solid var(--ink);border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 7px var(--paper);background:var(--ink)}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}nav a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:40px;padding:16px 24px;background:var(--accent);color:#fff;text-decoration:none;font-size:14px;font-weight:700;text-align:center;min-height:48px}.button.small{padding:12px 22px}.button.light{background:var(--paper);color:var(--ink)}.text-link{font-size:14px;font-weight:700;text-underline-offset:5px}.hero{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.07fr 1fr;min-height:610px;padding:15px 5% 60px;gap:6%}.hero-copy{align-self:center;padding:30px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:18px}.intro{font-size:18px;max-width:470px;margin-top:26px;color:var(--muted)}.hero-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:34px}.location{font-size:13px;color:var(--muted);margin-top:40px}.hero-image img{height:100%;max-height:650px;width:100%;border-radius:190px 190px 8px 8px}.hero.no-cover{grid-template-columns:1fr;min-height:480px;background:var(--pale);text-align:center}.no-cover .hero-copy{margin:auto}.no-cover h1,.no-cover .intro{margin-left:auto;margin-right:auto}.no-cover .hero-actions{justify-content:center}.offer{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:var(--paper);padding:40px max(5%,calc((100% - 1260px)/2));}.offer h2{font-size:32px}.offer p:not(.eyebrow){font-size:13px;margin-top:16px;max-width:720px}.offer .eyebrow{margin-bottom:12px}.offer .button{flex-shrink:0}.section{max-width:1400px;margin:auto;padding:80px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column;scroll-margin-top:30px}.service>img{width:100%;height:230px}.service-content{padding:25px;display:flex;flex-direction:column;flex:1}.service .eyebrow{font-size:10px;margin-bottom:10px}.service .muted{font-size:14px;margin-top:14px}.service-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;margin-top:auto;padding-top:26px}.service-meta del{color:var(--muted);font-size:12px}.service-book{display:flex;justify-content:space-between;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;font-weight:700;text-decoration:none}.muted{color:var(--muted)}.gallery-section{background:var(--pale);max-width:none}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:36px auto 0;max-width:1260px}.gallery img{width:100%;height:320px;border-radius:6px}.gallery figcaption{font-size:13px;margin-top:10px}.about{max-width:900px;text-align:center}.about>p:last-child{font-size:19px;line-height:1.85;margin-top:26px;white-space:pre-line;color:var(--muted)}.visit{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12%}.visit h2{margin-bottom:24px}.contact-links{display:flex;flex-direction:column;align-items:start;gap:18px;margin-top:28px}.hours{margin:20px 0 0}.hours>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.hours dd{margin:0;text-align:right}.closing{background:var(--pale);text-align:center;padding:70px 20px}.closing .button{margin-top:30px}footer{max-width:1400px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:30px 5%;font-size:12px}.mobile-book{display:none}.preview-note{padding:14px;text-align:center;background:#fff2c7;color:#523e13;font-size:14px}@media(max-width:900px){nav{display:none}.topbar>.button{margin-left:auto}.hero{min-height:480px;gap:5%}.hero-image img{max-height:540px}.hero-actions{gap:18px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.topbar{padding:20px 6%;gap:15px}.brand{font-size:14px}.brand img{width:32px;height:32px}.topbar>.button{font-size:12px;padding:10px 16px}.hero{padding:8px 6% 40px;display:flex;flex-direction:column;gap:24px;min-height:0}.hero-copy{padding:22px 0 0}.hero h1{font-size:49px}.intro{font-size:16px;margin-top:22px}.eyebrow{font-size:10px}.hero-actions{margin-top:26px}.location{margin-top:24px}.hero-image img{height:340px;border-radius:140px 140px 6px 6px}.hero.no-cover{padding:40px 6%}.offer{padding:30px 6%;display:block}.offer .button{margin-top:22px}.section{padding:50px 6%}.section-heading{display:block}.section-heading>.text-link{display:inline-block;margin-top:22px}.services-grid{grid-template-columns:1fr;gap:20px}.service>img{height:235px}.service-content{padding:23px}.gallery{gap:12px}.gallery img{height:210px}.gallery figcaption{font-size:12px}.visit{grid-template-columns:1fr;gap:38px}.about>p:last-child{font-size:17px}.closing{padding:50px 6%}footer{padding:24px 6% 115px;flex-direction:column;gap:8px}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:12px 6% max(12px,env(safe-area-inset-bottom));background:var(--paper);z-index:5}.mobile-book>span{font-size:13px;line-height:1.25;font-weight:700}.mobile-book>.button{flex-shrink:0;padding:12px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared salon branding; text remains readable for light and dark colours. */
:root{--on-accent:#fff;--accent-ink:#173c32}.button{color:var(--on-accent)}.offer{background:var(--accent);color:var(--on-accent)}.offer .button.light{color:var(--accent-ink)}.brand img{width:40px;height:40px;object-fit:contain;flex-shrink:0}.topbar{border-top:4px solid var(--accent)}.service-book{min-height:48px;align-items:center;padding:12px 0;color:var(--accent-ink)}.text-link{display:inline-flex;align-items:center;min-height:44px}.brand{min-height:44px}nav a{display:inline-flex;align-items:center;min-height:44px}
