*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf7f0;color:#152d36;font:16px/1.65 Arial,sans-serif}a{color:inherit}header,main,footer{width:min(1120px,92%);margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid #dedbd2}header strong{letter-spacing:2px}header small{display:block;color:#637078;font-size:12px}h1,h2,h3{font-family:Georgia,serif;line-height:1.12;font-weight:400}h1{font-size:clamp(38px,6vw,70px);margin:16px 0 24px}h2{font-size:34px}h3{font-size:25px}.eyebrow{color:#866727;text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:bold}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding:64px 0}.hero p{max-width:560px}.button,button{display:inline-block;border:0;border-radius:12px;background:#17343d;color:white;font:700 16px Arial;text-decoration:none;padding:18px 24px;cursor:pointer;min-height:48px}button:disabled{opacity:.6;cursor:wait}.secondary{background:#eee7d8;color:#17343d}.visual{background:radial-gradient(ellipse at 50% 65%,#9572c5 0%,#34324a 35%,#142d37 70%);border-radius:28px;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;overflow:hidden}.spa{width:78%;height:39%;border-radius:50%;border:28px solid #262a32;background:radial-gradient(ellipse,#6cd4da,#276d79);box-shadow:0 15px 0 #171c24,0 26px 0 #171c24,0 30px 18px #bd81ef, inset 0 0 22px #fff5;transform:rotate(-8deg);position:relative}.spa:after{content:'✦';position:absolute;left:47%;top:28%;font-size:40px;color:#dcfaff}.visual p{margin-top:65px;font-size:12px;letter-spacing:2px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid #e5dfd2;border-radius:20px;padding:25px}.price{font:48px Georgia;margin:8px 0}.muted{color:#596a73}.small{font-size:13px}.section{padding:35px 0}.tag{background:#eee7f5;color:#504063;border-radius:50px;padding:6px 12px;font-size:12px;display:inline-block}table{border-collapse:collapse;width:100%}td,th{padding:12px 8px;border-bottom:1px solid #e6e0d7;text-align:left}th{font-size:13px}.booking{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}aside{position:sticky;top:20px}fieldset{border:0;border-top:1px solid #dedbd2;margin:24px 0;padding:24px 0 0}legend{font:bold 19px Arial;padding:0 10px 0 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:600}input,select,textarea{display:block;width:100%;padding:14px;border:1px solid #bcc6c8;border-radius:9px;font:16px Arial;color:#152d36;background:white;margin-top:7px}input[type=checkbox]{display:inline-block;width:20px;height:20px;vertical-align:middle;margin:0 10px 0 0}.check{margin:18px 0;font-weight:400}.full{grid-column:1/-1}.notice{background:#f1e9d7;border-radius:12px;padding:16px}.error{color:#9e2929}#estimate p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e7e2da;padding-bottom:10px}#estimate strong{white-space:nowrap}details{border-bottom:1px solid #ddd;padding:16px 0}summary{font-weight:bold;cursor:pointer}footer{padding:40px 0;border-top:1px solid #ddd;margin-top:50px}.hidden{display:none!important}.admin-card{margin:24px 0}.admin-card pre{white-space:pre-wrap;overflow-wrap:anywhere}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}nav{display:flex;gap:18px;flex-wrap:wrap}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #955eaf;outline-offset:3px}@media(max-width:760px){.hero,.booking,.grid{grid-template-columns:1fr}.hero{padding:35px 0;gap:28px}.visual{max-height:280px;aspect-ratio:1.5}.visual p{margin-top:40px}.spa{border-width:20px;width:65%}aside{position:static}.fields{grid-template-columns:1fr}header{gap:12px}header a{font-size:13px}.card{padding:20px}h2{font-size:30px}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0}.calendar-grid button{padding:7px 0;min-height:42px;background:#fff;color:#17343d;border:1px solid #b6c4b5;border-radius:8px;font-size:14px}.calendar-grid button.partial{background:#f7e4b5}.calendar-grid button:disabled{background:#e1ddd6;color:#737373;cursor:not-allowed;text-decoration:line-through;opacity:1}.calendar-grid button.selected{outline:3px solid #17343d}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-nav button{padding:8px 14px}.calendar-grid span{text-align:center;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0}.calendar-grid button{padding:7px 0;min-height:42px;background:#fff;color:#17343d;border:1px solid #b6c4b5;border-radius:8px;font-size:14px}.calendar-grid button.partial{background:#f7e4b5}.calendar-grid button:disabled{background:#e1ddd6;color:#737373;cursor:not-allowed;text-decoration:line-through;opacity:1}.calendar-grid button.selected{outline:3px solid #17343d}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-nav button{padding:8px 14px}.calendar-grid span{text-align:center;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0}.calendar-grid button{padding:7px 0;min-height:42px;background:#fff;color:#17343d;border:1px solid #b6c4b5;border-radius:8px;font-size:14px}.calendar-grid button.partial{background:#f7e4b5}.calendar-grid button:disabled{background:#e1ddd6;color:#737373;cursor:not-allowed;text-decoration:line-through;opacity:1}.calendar-grid button.selected{outline:3px solid #17343d}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-nav button{padding:8px 14px}.calendar-grid span{text-align:center;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0}.calendar-grid button{padding:7px 0;min-height:42px;background:#fff;color:#17343d;border:1px solid #b6c4b5;border-radius:8px;font-size:14px}.calendar-grid button.partial{background:#f7e4b5}.calendar-grid button:disabled{background:#e1ddd6;color:#737373;cursor:not-allowed;text-decoration:line-through;opacity:1}.calendar-grid button.selected{outline:3px solid #17343d}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-nav button{padding:8px 14px}.calendar-grid span{text-align:center;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0}.calendar-grid button{padding:7px 0;min-height:42px;background:#fff;color:#17343d;border:1px solid #b6c4b5;border-radius:8px;font-size:14px}.calendar-grid button.partial{background:#f7e4b5}.calendar-grid button:disabled{background:#e1ddd6;color:#737373;cursor:not-allowed;text-decoration:line-through;opacity:1}.calendar-grid button.selected{outline:3px solid #17343d}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-nav button{padding:8px 14px}.calendar-grid span{text-align:center;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0}.calendar-grid button{padding:7px 0;min-height:42px;background:#fff;color:#17343d;border:1px solid #b6c4b5;border-radius:8px;font-size:14px}.calendar-grid button.partial{background:#f7e4b5}.calendar-grid button:disabled{background:#e1ddd6;color:#737373;cursor:not-allowed;text-decoration:line-through;opacity:1}.calendar-grid button.selected{outline:3px solid #17343d}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-nav button{padding:8px 14px}.calendar-grid span{text-align:center;font-size:12px}