@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--paper:#f6f3ed;--ink:#23382e;--muted:#697268;--line:#d9dcd2;--green:#284c3d;--gold:#a57646}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;min-height:46px;padding:13px 23px;border:1px solid var(--green);background:var(--green);color:white;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600}button:hover,.button:hover{filter:brightness(1.14)}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:transparent;color:var(--green);border-color:var(--line)}:focus-visible{outline:3px solid #b98749;outline-offset:3px}.demo{padding:9px 5%;background:var(--green);color:#fff;font-size:10px;letter-spacing:1.5px;display:flex;justify-content:space-between}.demo span{letter-spacing:.3px;opacity:.8}header{padding:25px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font:600 48px Georgia;letter-spacing:-5px}.brand span{font:600 9px 'DM Sans',sans-serif;letter-spacing:2px;line-height:1.6;border-left:1px solid var(--line);padding-left:15px}nav{display:flex;gap:32px;font-size:13px;align-items:center}.admin-link{border:1px solid var(--line);padding:10px 15px;border-radius:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(45px,5.7vw,82px);line-height:1.08;letter-spacing:-2px;margin-bottom:25px}h1 em{color:var(--gold);font-weight:500}h2{font-size:38px;line-height:1.2}h3{font-size:19px}p{line-height:1.8;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;color:var(--gold);margin-bottom:24px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:52px 5% 64px;align-items:center}.hero-copy{max-width:560px}.hero-copy p{max-width:400px}.hero-media{position:relative}.hero-media img{width:100%;height:560px;object-fit:cover;object-position:center 35%;border-radius:160px 160px 4px 4px}.photo-credit{font-size:10px;color:var(--muted);margin-top:9px}.hero-note{margin-top:30px;display:flex;gap:20px;font-size:12px;color:var(--muted)}.section{padding:55px 5%;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.section-heading p{max-width:380px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:20px}.service{padding:24px 0;border-top:1px solid var(--line)}.service .number{font:italic 24px Georgia;color:var(--gold)}.service h3{margin:20px 0 10px}.service p{font-size:13px}.service a{font-weight:600;font-size:13px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery img{width:100%;height:430px;object-fit:cover}.page{max-width:1200px;margin:auto;padding:45px 5% 75px}.page h1{font-size:45px}.intro{margin-bottom:35px}.steps{display:flex;gap:24px;margin-bottom:30px;font-size:12px;color:var(--muted)}.steps .active{color:var(--green);font-weight:700}.booking-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:45px}.panel{padding:28px;background:#fffdf9;border:1px solid var(--line);border-radius:6px}.summary{align-self:start;position:sticky;top:20px}.package{display:flex;text-align:left;width:100%;justify-content:space-between;background:transparent;color:var(--ink);border-color:var(--line);margin-bottom:12px;padding:20px}.package.selected{border:2px solid var(--green);background:#eaf0e8;padding:19px}.package small{display:block;font-weight:400;color:var(--muted);margin-top:6px;line-height:1.5}.package strong{white-space:nowrap;margin-left:12px}label{display:block;font-size:12px;font-weight:600;margin-bottom:18px}input,select{display:block;width:100%;min-height:46px;padding:12px;background:white;border:1px solid var(--line);border-radius:4px;margin-top:9px;color:var(--ink)}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0 24px}.slot{background:transparent;color:var(--ink);border-color:var(--line);padding:10px}.slot.selected{background:var(--green);color:white}.slot small{font-size:9px;display:block}.slot:disabled{text-decoration:line-through}.actions{display:flex;justify-content:space-between;margin-top:25px;gap:12px}.row{display:flex;justify-content:space-between;gap:20px;margin:17px 0;font-size:14px}.row.total{border-top:1px solid var(--line);padding-top:20px;font-size:20px}.note{font-size:12px;line-height:1.6;color:var(--muted)}.tag{display:inline-block;background:#e7eddf;color:#385332;padding:5px 9px;font-size:10px;border-radius:3px;white-space:nowrap}.tag.pending{background:#f5e9d5;color:#77551d}.success{max-width:650px;text-align:center;margin:35px auto}.success-mark{font-size:32px;border:1px solid var(--line);border-radius:50%;width:65px;height:65px;display:grid;place-items:center;margin:0 auto 25px}.success h1{font-size:42px}.success .panel{text-align:left}.dashboard-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric{padding:24px 0}.metric strong{display:block;font-size:29px;font-weight:500;margin-top:10px}.toolbar{display:flex;gap:15px;align-items:center;margin-bottom:20px}.toolbar label{margin:0;flex:1}.toolbar input{margin:0}.bookings{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:14px 12px;border-bottom:1px solid var(--line)}td{padding:20px 12px;border-bottom:1px solid var(--line);vertical-align:middle}td small{display:block;margin-top:5px;color:var(--muted)}td button{padding:8px 10px;font-size:11px;min-height:44px}.availability{margin-top:40px}.availability .slots{grid-template-columns:repeat(5,1fr)}.error{color:#a43129;font-size:13px}.empty{padding:45px;text-align:center}footer{padding:30px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{font-size:12px;margin:0}footer a:last-child{font-size:12px}footer small{font-size:10px}@media(max-width:750px){.demo{font-size:9px;gap:10px}.demo span{max-width:210px;text-align:right;font-size:9px}header{padding:17px 5%}.brand{font-size:38px}.brand span{font-size:7px;padding-left:10px}nav{gap:12px;font-size:11px}nav>a:first-child{display:none}.admin-link{padding:8px}.hero{grid-template-columns:1fr;padding-top:35px;gap:35px}.hero-copy{max-width:none}.hero h1{font-size:53px}.hero-media img{height:440px;border-radius:140px 140px 4px 4px}.hero-note{margin-top:24px}.section-heading{display:block}.services{grid-template-columns:1fr;gap:5px}.service{padding:20px 0}.gallery{gap:12px}.gallery img{height:250px}h2{font-size:32px}.booking-grid{grid-template-columns:1fr;gap:20px}.summary{position:static;order:2}.page{padding:30px 5% 50px}.page h1{font-size:38px}.panel{padding:20px}.steps{gap:14px;font-size:10px}.dashboard-top{align-items:start;flex-direction:column}.metrics{gap:10px}.metric strong{font-size:25px}.metric .note{font-size:10px}.availability .slots{grid-template-columns:repeat(3,1fr)}.toolbar{flex-wrap:wrap}.toolbar label{flex-basis:100%}footer{flex-wrap:wrap}footer p{max-width:230px}.section{padding-top:35px;padding-bottom:35px}}