:root{--ink:#1e302f;--muted:#65716f;--green:#34695d;--pale:#eef3f0;--line:#dfe4e1;--white:#fff;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}header{height:72px;max-width:var(--max);margin:auto;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--line)}.logo{line-height:1.2}.logo strong,.logo span{display:block}.logo strong{font-size:15px}.logo span{font-size:11px;color:var(--muted);margin-top:3px}nav{display:flex;gap:28px;margin-left:auto;margin-right:42px}nav a,.header-phone{font-size:13px}.header-phone{font-weight:700}.hero{max-width:var(--max);min-height:560px;margin:auto;padding:56px 24px 72px;display:grid;grid-template-columns:1fr 440px;gap:76px;align-items:center}.label{margin:0 0 15px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;color:var(--green)}h1,h2,h3{margin-top:0;text-wrap:balance}h1{font:500 clamp(42px,5vw,66px)/1.08 Georgia,serif;letter-spacing:-.035em;margin-bottom:24px}h2{font:500 34px/1.2 Georgia,serif;letter-spacing:-.02em}h3{font-size:16px}.lead{max-width:550px;color:var(--muted);font-size:17px;text-wrap:pretty}.actions{display:flex;align-items:center;gap:24px;margin:32px 0}.button{min-height:44px;border:0;border-radius:4px;background:var(--green);color:white;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;cursor:pointer;transition-property:background-color,transform;transition-duration:150ms}.button:hover{background:#28564c}.button:active{transform:scale(.96)}.plain-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.today{font-size:12px;color:var(--muted)}.today span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4b9b68;margin-right:6px}.hero-image{width:100%;height:440px;object-fit:cover;object-position:center 20%;border-radius:6px}.about,.services,.booking,.contact{max-width:var(--max);margin:auto;padding:76px 24px;border-top:1px solid var(--line)}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:100px}.about-text>p{color:var(--muted);margin-top:0;text-wrap:pretty}.about-text ul{margin:24px 0 0;padding:0;list-style:none}.about-text li{padding:8px 0;border-bottom:1px solid var(--line)}.about-text li:before{content:'✓';margin-right:10px;color:var(--green)}.services{padding-bottom:90px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:30px}.service-list article{padding-top:22px;border-top:2px solid var(--green)}.service-list p{color:var(--muted);min-height:72px;text-wrap:pretty}.service-list strong{font-size:13px}.booking{display:grid;grid-template-columns:1fr 340px;gap:110px;background:var(--pale);max-width:none;padding-left:max(24px,calc((100vw - 1072px)/2));padding-right:max(24px,calc((100vw - 1072px)/2));align-items:start}.booking-copy{max-width:480px}.booking-copy>p:not(.label){color:var(--muted);text-wrap:pretty}.contact-note{margin-top:40px;padding-top:20px;border-top:1px solid #ced8d3}.contact-note strong,.contact-note span{display:block;font-size:13px}.contact-note span{color:var(--muted);margin-top:4px}.contact-note a{text-decoration:underline}.calendar-card{width:340px;background:white;padding:18px;border-radius:6px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04)}.calendar-header{height:42px;display:flex;align-items:center;justify-content:space-between}.calendar-header strong{font-size:14px}.calendar-header button{width:40px;height:40px;border:0;background:white;font-size:23px;cursor:pointer;border-radius:3px}.calendar-header button:hover{background:var(--pale)}.calendar-header button:active{transform:scale(.96)}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.weekdays span{text-align:center;font-size:10px;color:#89928f;padding:5px 0}.day{height:36px;border:0;background:white;color:#a2aaa7;font-size:11px;font-variant-numeric:tabular-nums;cursor:default;border-radius:3px}.day.available{background:#edf5f0;color:var(--ink);cursor:pointer;font-weight:700}.day.available:hover{background:#dceadf}.day.selected{background:var(--green);color:white}.day:focus-visible,.slot:focus-visible,.calendar-header button:focus-visible{outline:2px solid var(--green);outline-offset:1px}.calendar-bottom{border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.calendar-bottom>p{margin:0 0 10px;font-size:12px;font-weight:700}.slots{display:flex;gap:6px;flex-wrap:wrap}.slot{min-width:54px;height:38px;border:1px solid var(--line);background:white;border-radius:3px;font-size:11px;cursor:pointer;font-variant-numeric:tabular-nums}.slot:hover,.slot.selected{border-color:var(--green);background:var(--green);color:white}.slot:active{transform:scale(.96)}.confirm{width:100%;margin-top:12px}.confirm:disabled{background:#b8c0bd;cursor:not-allowed}.confirmation{color:var(--green);background:var(--pale);padding:10px!important;margin-top:12px!important}.contact{display:grid;grid-template-columns:380px 1fr;gap:90px;align-items:center}.contact img{width:100%;height:280px;object-fit:cover;object-position:center 28%;border-radius:6px}.contact p:not(.label){color:var(--muted)}footer{max-width:var(--max);margin:auto;padding:28px 24px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
@media(max-width:760px){header{height:auto;min-height:66px}.logo{margin-right:auto}nav{display:none}.header-phone{font-size:12px}.hero{grid-template-columns:1fr;gap:35px;padding-top:48px}.hero-image{height:380px;grid-row:1}.hero-copy{grid-row:2}.about,.booking,.contact{grid-template-columns:1fr;gap:40px}.about,.services,.booking,.contact{padding-top:58px;padding-bottom:58px}.service-list{grid-template-columns:1fr;gap:28px}.service-list p{min-height:0}.calendar-card{width:100%;max-width:340px}.contact img{height:320px}.contact{gap:32px}footer{flex-direction:column;gap:6px}}@media(max-width:420px){h1{font-size:40px}.hero-image{height:320px}.actions{align-items:flex-start;flex-direction:column;gap:12px}.booking{padding-left:16px;padding-right:16px}.calendar-card{padding:14px}.day{height:34px}}
html{overflow-x:hidden}.hero>*{min-width:0}
@media(max-width:760px){.hero-copy{grid-row:1}.hero-image{grid-row:2;height:280px}.hero{padding-top:48px}.lead{max-width:100%}}
