:root{--ink:#111;--gold:#c9a45c;--paper:#f7f5ef;--muted:#69645c;--line:#ddd7cb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 Inter,sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button{cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);border-radius:5px;padding:12px 18px;min-height:44px}button:hover:not(:disabled){border-color:#80612b;background:#eee6d5}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #987122;outline-offset:4px}header{height:112px;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;background:#111;color:#f7f5ef}header>a:first-child{font-size:12px}header>span{font-size:10px;letter-spacing:2px}header i{color:var(--gold)}.brand img{display:block}.demo{padding:12px 24px;text-align:center;background:#e9dfca;font-size:12px;color:#463a25}.demo strong{font-weight:600}main{max-width:1240px;margin:auto;padding:42px 40px 0}.intro{text-align:center}.eyebrow{font-size:10px;letter-spacing:3px;color:#796039;font-weight:700}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.2}h1{font-size:46px;margin:10px 0}h2{font-size:29px;margin:0 0 12px}h3{font-size:20px}.intro>p:last-child{color:var(--muted);margin:12px 0 30px}#steps{display:flex;margin:0 0 34px;border-bottom:1px solid var(--line)}#steps button{flex:1;border:0;border-radius:0;padding:16px 4px;color:#514b42;font-size:12px}#steps button[aria-current]{border-bottom:2px solid #8a682e;color:#111;font-weight:700}#steps b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;margin-right:8px;background:#e9e4d9}#steps [aria-current] b{background:#111;color:#e6c587}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:40px;align-items:start}#content{min-width:0;outline:none}.sub{color:var(--muted);margin:0 0 22px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 24px}.chips button{padding:7px 12px;font-size:11px;min-height:36px;border-radius:30px}.chips .active{background:#111;color:#fff;border-color:#111}input:not([type=checkbox]),textarea{width:100%;padding:13px 14px;border:1px solid #bdb6a8;border-radius:4px;background:#fff;color:#111;min-height:48px}label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.service{display:flex;align-items:center;gap:15px;border:1px solid var(--line);padding:18px;background:#fffdf8;border-radius:5px;margin:10px 0}.service.selected{border-color:#88682e;background:#f0e8d8}.service>div{flex:1;min-width:0}.service h3{font-family:Inter,sans-serif;font-size:14px;font-weight:600;margin:0 0 6px}.service p{color:var(--muted);font-size:12px;margin:0 0 8px}.meta{font-size:12px}.meta span{color:#6c6559}.service button{padding:9px 12px}.actions{display:flex;justify-content:space-between;gap:14px;margin:26px 0}.primary{background:#111;color:#f6e7ca;border-color:#111}.primary:hover:not(:disabled){background:#30291c;color:#fff}.notice{background:#ebe2ce;border-left:3px solid #8a682e;padding:16px;margin:14px 0}#summary{position:sticky;top:24px;padding:26px;background:#161616;color:#f7f5ef;border-radius:6px}#summary .eyebrow{color:#d5b67b}#summary h2{font-size:26px}#summary ul{padding-left:18px;font-size:13px}#summary .sum-line{border-top:1px solid #49443b;padding-top:15px;margin-top:15px;display:flex;justify-content:space-between;gap:12px}#summary .total{color:#e2c38b;font-size:19px}#summary .note{font-size:11px;color:#c7c1b7}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.person{padding:0;overflow:hidden;background:#fff}.person img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.person span{display:block;padding:14px}.person[aria-pressed=true],.any[aria-pressed=true]{border:2px solid #88682e;background:#eee4cf}.any{width:100%;margin-top:14px;text-align:left}.calendar{background:#fffdf8;border:1px solid var(--line);padding:22px;border-radius:6px}.month-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.month-head h3{margin:0;font-size:22px;text-transform:capitalize}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.week{font-size:11px;color:var(--muted);margin-bottom:10px}.days button{padding:0;min-height:44px;aspect-ratio:1.2;border:0}.days button.today{box-shadow:inset 0 0 0 1px #9a7736}.days button.selected,.slots button.selected{background:#111;color:#f4d9a5}.legend{font-size:11px;color:var(--muted)}.slots h3{font-size:18px;margin:22px 0 12px}.slot-group{display:flex;gap:8px;flex-wrap:wrap}.slots button{background:#fff;padding:9px 15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:13px;margin:18px 0}.check input{width:20px;height:20px;accent-color:#805e26;flex-shrink:0}.detail{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:22px;background:#fffdf8;border:1px solid var(--line)}.detail dt{color:var(--muted);font-size:12px}.detail dd{margin:0}.success{font-size:40px;color:#836025}.bookings{margin-top:65px;padding-top:30px;border-top:1px solid var(--line)}.bookings h2{font-size:25px}.bookings small{font-family:Inter,sans-serif;font-size:13px}.bookings p{color:var(--muted);font-size:12px}.booking{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.booking p{margin:3px 0}.booking button{font-size:12px}footer{padding:32px 0;color:var(--muted);font-size:11px;display:flex;justify-content:space-between}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:10px;left:10px;background:#fff;z-index:20;padding:12px}
@media(max-width:700px){header{height:90px;padding:10px 20px}header>span{display:none}.brand img{width:65px;height:65px}.demo{padding:12px 18px;font-size:11px}.demo strong{display:block}main{padding:28px 18px 140px}h1{font-size:35px}.intro>p:last-child{font-size:12px}#steps{margin-bottom:25px}#steps button{font-size:9px;padding:12px 1px}#steps b{display:grid;margin:0 auto 6px}.layout{display:block}h2{font-size:26px}.sub{font-size:12px}#summary{position:fixed;bottom:0;top:auto;left:0;right:0;border-radius:0;z-index:5;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 20px #0002}#summary h2,#summary ul,#summary .note,#summary .eyebrow,#summary .sum-extra{display:none}#summary .sum-line{border:0;padding:0;margin:0;display:block;font-size:11px}#summary .total{display:block;font-size:17px}.service{padding:15px;gap:10px}.service h3{font-size:13px}.service button{font-size:12px;padding:8px 10px}.chips{gap:6px}.chips button{font-size:10px;padding:7px 10px}.people{gap:8px}.person span{padding:12px 2px}.calendar{padding:14px}.month-head h3{font-size:20px}.days{gap:2px}.days button{min-height:40px}.form-grid{grid-template-columns:1fr}.detail{grid-template-columns:1fr;gap:6px}.detail dd{margin-bottom:12px}.actions button{padding:12px 14px}.booking{align-items:flex-start}footer{display:block}footer span{display:block;margin-top:5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.mobile-summary{display:none}html{scroll-padding-bottom:125px}button,input,textarea{scroll-margin-bottom:125px}@media(max-width:700px){#summary .mobile-summary{display:block;font-size:11px;line-height:1.4;max-width:65%;overflow-wrap:anywhere}#summary .mobile-summary small{display:block;color:#d8c6a5;margin-top:4px}#summary .sum-line{text-align:right;max-width:35%}#summary .total{font-size:15px}#summary{min-height:80px;padding-bottom:max(13px,env(safe-area-inset-bottom))}}
