@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--ink:#243d36;--muted:#6b7972;--green:#234e40;--bg:#f5f5ef;--line:#dce1d8;--gold:#b37e48}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px}.demo{background:#e7eddf;color:#43543b;padding:9px 5%;font-size:11px;letter-spacing:.7px;display:flex;justify-content:space-between;align-items:center}.demo button{background:none;border:0;text-decoration:underline;padding:2px;color:inherit;font-size:11px}header{padding:23px 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:20px;text-decoration:none;font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:5px}.logo{background:var(--green);color:white;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-family:Georgia;font-size:30px}nav{display:flex;gap:27px}nav a{color:var(--muted);text-decoration:none;font-size:13px}nav a.active{color:var(--green);font-weight:700}.avatar{border-radius:50%;background:#eee8df;padding:12px;font-size:12px}main{max-width:1200px;padding:42px 30px 80px;margin:auto}h1,h2,h3,p{margin-top:0}h1{font-family:'Playfair Display',Georgia,serif;font-size:42px;font-weight:500;margin-bottom:12px;line-height:1.15}h2{font-size:22px;font-weight:500}h3{font-size:17px}p{color:var(--muted);line-height:1.6}.eyebrow{color:var(--gold);text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:15px}.row{display:flex;align-items:center;justify-content:space-between;gap:18px}.hero{display:grid;grid-template-columns:1.2fr 1fr;background:#e8edde;border-radius:22px;overflow:hidden;margin-bottom:32px;min-height:230px}.hero>div{padding:38px}.art{position:relative;background:#cfdbc6;display:flex;align-items:center;justify-content:center;overflow:hidden}.art:before,.art:after{content:'';position:absolute;width:160px;height:280px;border-radius:100%;border:1px solid #8b9e82;transform:rotate(35deg)}.art:after{transform:rotate(-35deg);width:230px}.art span{font:100px Georgia;color:#55705b;z-index:1}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:25px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.option{padding:21px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;color:var(--ink);cursor:pointer;width:100%;font:inherit}.option:hover,.option.selected{border-color:var(--green);background:#f0f5ec}.option strong{display:block;margin-bottom:9px}.option small{display:block;color:var(--muted);line-height:1.6}.price{float:right;color:var(--gold);font-size:14px}.steps{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 25px;font-size:11px}.steps span{padding:8px 10px;color:var(--muted);border-bottom:2px solid var(--line)}.steps .current{color:var(--green);border-color:var(--green);font-weight:700}.primary,.secondary,.danger{border:0;border-radius:8px;padding:12px 19px;cursor:pointer;font:inherit;font-size:13px}.primary{background:var(--green);color:#fff}.secondary{background:#edf1e8;color:var(--green)}.danger{background:#f9e9e3;color:#a0432e}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd965d;outline-offset:3px}.actions{display:flex;gap:10px;justify-content:space-between;margin-top:25px}.summary{align-self:start;position:sticky;top:20px}.summary dl{margin:0}.summary dt{font-size:11px;color:var(--muted);margin-top:20px}.summary dd{margin:6px 0 0;font-size:14px}.summary footer{margin-top:25px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between}.tag{font-size:11px;border-radius:20px;padding:6px 10px;background:#e8f0e1;color:#456035;display:inline-block}.subtle{font-size:12px;color:var(--muted)}.dates,.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}.dates .option,.slots .option{padding:14px 8px;text-align:center}label{display:block;margin:16px 0 6px;font-size:13px}input,select{border:1px solid #cbd4c8;border-radius:8px;padding:12px;width:100%;font:inherit;background:white;color:var(--ink)}.divider{text-align:center;color:var(--muted);margin:20px}.full{width:100%}.success{text-align:center;padding:35px 15px}.check{display:inline-grid;place-items:center;border-radius:50%;background:#e4eddc;font-size:28px;width:65px;height:65px;margin-bottom:20px}.booking{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.booking p{margin:8px 0;font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.stat{padding:23px}.stat strong{display:block;font-size:30px;margin-top:12px}.toolbar{display:flex;gap:14px;margin:25px 0;align-items:center}.toolbar select{max-width:220px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th,td{text-align:left;padding:18px 15px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}td small{display:block;color:var(--muted);margin-top:6px}.tabs{display:flex;gap:10px;margin:25px 0}.empty{text-align:center;padding:30px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:14px 22px;border-radius:10px;display:none;z-index:10;max-width:90%}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.note{padding:12px;background:#f6f2e7;border-radius:8px;font-size:12px;line-height:1.6;margin-top:18px}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;max-width:500px;width:90%;color:var(--ink)}dialog::backdrop{background:#132d2666}@media(max-width:760px){header{flex-wrap:wrap;padding:17px 20px}nav{order:3;width:100%;overflow:auto;gap:20px;padding-top:8px;white-space:nowrap}main{padding:25px 18px 60px}h1{font-size:32px}.hero{grid-template-columns:1fr}.hero>div{padding:27px}.art{display:none}.layout{grid-template-columns:1fr}.summary{position:static}.grid{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:24px}.demo{font-size:9px;gap:15px}.demo button{font-size:9px}.row{flex-wrap:wrap}.booking{flex-wrap:wrap}.steps span{padding:6px}.toolbar{flex-wrap:wrap}.formgrid{grid-template-columns:1fr}}
