@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--ink:#233d32;--paper:#f6f4ed;--line:#d8ded3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 'Be Vietnam Pro',sans-serif}header,main,footer{max-width:1280px;margin:auto}header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}a{color:inherit}.brand{font-size:26px;font-weight:700;letter-spacing:4px;text-decoration:none;line-height:1.3}.brand span{display:block;font-size:9px;letter-spacing:5px}section{padding:70px 5%}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding-top:55px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.17;letter-spacing:-1px}h1{font-size:clamp(42px,4.8vw,68px);margin:22px 0}h2{font-size:clamp(32px,3.2vw,45px);margin:18px 0 28px}.lead{max-width:480px;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;padding:17px 25px;border:0;text-decoration:none;border-radius:3px;font:500 14px 'Be Vietnam Pro',sans-serif;cursor:pointer}.button:disabled{opacity:.5;cursor:wait}.small{padding:12px 18px;font-size:12px}.muted{font-size:12px;color:#647365}.hero .button{margin-top:18px}.art{min-height:490px;background:#b7c2aa;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:40px;color:#f8f5e9}.arch{position:absolute;width:68%;height:90%;bottom:-16%;left:17%;border-radius:50% 50% 0 0;background:repeating-radial-gradient(ellipse at 50% 100%,#3a5040 0 3px,#61735a 4px 13px);transform:rotate(-10deg);box-shadow:0 0 80px #8f9d80}.art span{z-index:1;font:42px/1.1 Georgia;letter-spacing:1px}.art small{position:absolute;top:24px;left:25px;font-size:8px;letter-spacing:2px}.intro{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro>p{max-width:750px;margin:20px auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.intro .grid{margin:35px 0}.intro .grid p{padding:16px;border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%}.textlink{text-underline-offset:6px;font-weight:500}.cards{margin-top:35px}.cards article{padding:28px;border:1px solid var(--line)}.cards b{font-size:11px;letter-spacing:1px}.cards h3{font-size:17px}.soft{background:#e8ecdf}details{padding:16px 0;border-bottom:1px solid #c7cfbf}summary{cursor:pointer;font-weight:500}.booking{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;background:#e7ebdf;scroll-margin-top:20px}form{padding:30px;background:#fff;border-radius:6px}label{display:block;font-size:12px;font-weight:500;margin-bottom:18px}input,select,textarea{font:14px 'Be Vietnam Pro',sans-serif;color:var(--ink);width:100%;margin-top:7px;padding:13px;border:1px solid #cbd3c7;background:#fff;border-radius:3px}input:focus,select:focus,textarea:focus{outline:2px solid #7d9567;outline-offset:2px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}fieldset{border:0;padding:0;margin:0 0 18px}legend{font-size:12px;font-weight:500;margin-bottom:10px}#services{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow:auto}#services label{border:1px solid var(--line);padding:9px 12px;margin:0;cursor:pointer}#services input{width:auto;margin:0 7px 0 0}#services label:has(:checked){background:#e7ebdf;border-color:#57734e}form .button{width:100%}#result{font-weight:500;font-size:14px}footer{padding:35px 5%;display:flex;justify-content:space-between;font-size:12px}a:focus-visible,button:focus-visible{outline:3px solid #b18a40;outline-offset:4px}@media(max-width:720px){header{height:85px}.hero,.split,.booking{grid-template-columns:1fr;gap:28px}section{padding:45px 6%}.hero{padding-top:30px}.art{min-height:320px}.grid{grid-template-columns:1fr;gap:8px}.cards article{padding:20px}.two{grid-template-columns:1fr;gap:0}form{padding:22px}.hero h1{font-size:46px}.brand{font-size:20px}footer{gap:20px}.intro .grid{margin:15px 0}}
