@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap");:root{--cream:#f8f4ef;--ink:#28241f;--muted:#776c63;--gold:#a88b63;--line:#e8dfd4}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif}a{text-decoration:none;color:inherit}h1,h2,h3{font-family:Playfair Display,serif;font-weight:400}header{justify-content:space-between;padding:23px 6%;border-bottom:1px solid var(--line);background:#faf8f4}header,nav{display:flex;align-items:center}nav{gap:22px;flex-wrap:wrap}nav a{font-size:13px}nav a:hover{color:var(--gold)}.logo{font-family:Playfair Display,serif;font-size:25px;letter-spacing:.06em}.logo small{display:block;font:9px DM Sans,sans-serif;letter-spacing:.27em;text-align:center}.button{display:inline-block;background:#292720;color:white;padding:15px 25px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border:1px solid #292720}.button.outline{background:transparent;color:#292720}.hero{min-height:590px;display:grid;grid-template-columns:1fr 1fr}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:10% 12%}.eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-weight:700}.hero h1{font-size:clamp(52px,6vw,94px);line-height:1.05;margin:20px 0}.hero p{color:var(--muted);line-height:1.9;max-width:430px}.hero-image{background:linear-gradient(135deg,#c8b49d,#e9ddd0 45%,#a58d76);display:flex;align-items:end;padding:30px;color:#fff;font-size:12px;letter-spacing:.2em}.section{padding:95px 7%;max-width:1400px;margin:auto}.section h2{font-size:clamp(38px,4vw,60px);margin:14px 0 30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.tile{background:#fff;padding:38px;min-height:200px;border:1px solid var(--line)}.tile h3{font-size:28px}.lead,.tile p{color:var(--muted);line-height:1.8}.banner{background:#e9dfd2;text-align:center;padding:80px 20px}.banner h2{font-size:45px}.page{max-width:1100px;margin:auto;padding:90px 25px;min-height:55vh}.page h1{font-size:clamp(46px,6vw,76px)}footer{background:#292720;padding:50px 7%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer,footer a{color:#e9e2d7}.field{display:block;width:100%;padding:14px;margin:10px 0 20px;border:1px solid var(--line);background:white;font:inherit}.booking{max-width:640px}.booking label{font-weight:600}.notice{padding:16px;background:#eee5d9;margin:20px 0}.links{display:flex;gap:12px;flex-wrap:wrap}.small{font-size:12px;color:var(--muted)}@media(max-width:850px){header{flex-direction:column;gap:20px}nav{justify-content:center}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 8%}.hero-image{min-height:280px}.grid{grid-template-columns:1fr}.section{padding:60px 7%}}.booking select:disabled{opacity:.55;cursor:not-allowed}.booking .button{margin-top:10px}.booking .button:focus-visible,.field:focus-visible,nav a:focus-visible{outline:3px solid #a88b63;outline-offset:3px}