@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--cream:#f4f1e9;--paper:#faf8f2;--ink:#193b36;--muted:#526660;--bronze:#285b4d;--line:#c9d5ca;--soft:#e4ebe1;font-family:'DM Sans',Arial,sans-serif}
body{background:var(--cream);color:var(--ink)}
.site-header{max-width:1160px;padding:24px 0;margin:0 auto;border:0;min-height:82px}
.brand{font:700 18px/1.15 'DM Sans',Arial,sans-serif;letter-spacing:.015em}.brand span{font:500 12px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.18em;color:var(--muted);margin-top:5px}
.site-header nav a{border:1px solid var(--ink);border-radius:100px;padding:11px 20px;font-size:14px;font-weight:600}
main{max-width:1100px;padding:42px 20px 30px}.intro{max-width:790px;margin-bottom:34px}.intro h1{font:500 clamp(2.4rem,4.4vw,3.6rem)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.035em}.intro>p:last-child{font-size:18px;line-height:1.6;margin-top:14px}
h2,.monthbar h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.17em;color:var(--muted)}
.steps{gap:30px;font-size:14px;margin:0 0 24px}.steps li span{width:32px;height:32px;font-weight:600}
.booking{grid-template-columns:1fr 1fr;border-radius:18px;box-shadow:0 14px 40px #193b3608}.calendar,.times{padding:30px}.times{background:#fffef9}.monthbar{margin-bottom:27px}.monthbar h2{font-size:26px}
.days{gap:8px}.days button{font-size:16px;min-height:40px;border-radius:10px}.days button:disabled{color:#929e95}.days button:not(:disabled):hover{background:#2a594b}.days button[aria-pressed=true]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px #72947b}
.week,.legend{font-size:14px}.arrows button{width:42px;height:42px}.treatment{font-size:14px}.slot-group h3{font:600 14px 'DM Sans',Arial,sans-serif}.slot{font-size:16px;border-radius:8px;min-height:46px}.times h2{font-size:27px}.timezone,.small{font-size:14px}.selection{padding:24px 30px;background:var(--soft)}.selection .eyebrow{font-size:12px}
.primary{font-weight:700;font-size:16px;border-radius:100px;padding:13px 24px;gap:10px;min-height:48px}.primary:disabled{opacity:.45}.primary:not(:disabled):hover{background:#285149}.sheet{margin:auto;max-width:800px;padding:34px;border-radius:18px}.sheet h2{font-size:36px}.text-button{font-size:14px;font-weight:600}.form-grid label,.check,dt{font-size:14px}.check{line-height:1.6}.form-grid input{background:white}.sheet .primary{margin-top:24px}footer{font-size:14px;padding-top:20px;gap:12px}.success{border-top:5px solid var(--ink)}
@media(max-width:1200px){.site-header{margin:0 30px}}@media(max-width:760px){.site-header{margin:0 20px;gap:14px}.brand{font-size:16px}.brand span{font-size:12px;letter-spacing:.09em}.site-header nav a{padding:10px 14px;font-size:14px}.site-header nav a:first-child{display:block}main{padding:24px 16px 28px}.intro{margin-bottom:26px}.intro>p:last-child{font-size:16px}.steps{gap:16px;font-size:14px;justify-content:space-between}.steps li{gap:6px}.steps li span{width:28px;height:28px}.booking{grid-template-columns:1fr}.calendar{border-right:0;border-bottom:1px solid var(--line)}.calendar,.times{padding:24px 20px}.selection{padding:22px;align-items:stretch;flex-direction:column}.days button{min-height:42px}.sheet{padding:26px 20px}.form-grid{grid-template-columns:1fr}.sheet h2{font-size:30px}footer{font-size:14px}.monthbar h2{font-size:25px}}
@media(max-width:390px){.steps{gap:8px;font-size:13px}.steps li span{width:24px;height:24px}.site-header nav a{padding:9px 10px}.days{gap:5px}.days button{min-height:36px}.brand{font-size:15px}.site-header{margin:0 16px}}
