:root{--cream:#f5f2eb;--ink:#34434b;--muted:#636b6c;--line:#c9ccca;--pale:#e9e8e1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(54px,5.8vw,88px);line-height:1.02;letter-spacing:-3px;margin:22px 0}h2{font-size:clamp(35px,4vw,54px);line-height:1.15;letter-spacing:-1.3px;margin:14px 0 25px}h3{font-size:28px}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a.button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a47343;outline-offset:4px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4vw;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:27px;letter-spacing:2px;line-height:1.1;white-space:nowrap}.brand span{display:block;font:11px/2.5 Arial,sans-serif;text-align:center;letter-spacing:4px}nav{display:flex;gap:26px}nav a{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--ink);color:var(--cream);padding:16px 27px;border:1px solid var(--ink);border-radius:40px;text-decoration:none;font-size:13px;letter-spacing:.5px}.hero{display:grid;grid-template-columns:40% 60%;padding:42px 4vw 24px;align-items:center}.hero-copy{padding:20px 50px 30px 0}.hero-copy>p:not(.eyebrow){max-width:380px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2.7px}.hero-photo{margin:0;position:relative}.hero-photo img{display:block;width:100%;height:auto}.hero-photo figcaption{font:italic 14px Georgia,serif;text-align:right;margin-top:12px}.price{font-family:Georgia,serif;font-size:30px;margin-top:25px}.price small{font:12px Arial,sans-serif;color:var(--muted)}.facts{display:flex;justify-content:space-between;margin:25px 4vw 0;border-block:1px solid var(--line);padding:22px 0;gap:16px;font-size:12px;letter-spacing:.4px}.section{padding:85px 7vw;scroll-margin-top:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.split p{margin-top:0}.aside{border-left:2px solid #929b9c;padding-left:20px;font-size:14px}.gallery-section{background:#eeece5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading>p{font-size:13px}.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.gallery figure{margin:0;grid-column:span 2}.gallery figure:first-child,.gallery figure:nth-child(2){grid-column:span 3}.gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#e2e1da}.gallery figure:nth-last-child(-n+2) img{aspect-ratio:3/4}.gallery figcaption{padding-top:12px;font-size:12px;color:var(--muted)}.neighbourhood{display:grid;grid-template-columns:38% 1fr;align-items:center;gap:10vw}.landmark{text-align:center}.landmark img{width:80%;max-height:330px}.booking{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--pale)}form{min-width:0}label{display:block;margin-bottom:16px;font-size:13px}input,textarea,select{display:block;background:#faf8f3;border:1px solid #a9afad;border-radius:3px;padding:12px;width:100%;color:var(--ink);margin-top:6px;min-width:0}textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote{padding:18px 0;margin-bottom:20px;border-block:1px solid #b8bfbd;line-height:1.9}.quote strong{font-size:23px}.check{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12px}.check input{width:auto}.small{font-size:12px;line-height:1.6;color:#566267}.trap{position:absolute;left:-9999px}.calendar{max-width:400px;margin-top:30px}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head button{border:0;background:none;padding:10px 20px;font-size:22px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;margin-top:10px}.day,.weekday{font-size:12px;padding:7px 0}.weekday{font-weight:bold}.day{border:1px solid transparent;background:transparent;color:var(--ink)}.day.unavailable{color:#7b7e7c;text-decoration:line-through;background:#deded7}.day.selected{background:var(--ink);color:white}.day.range{background:#cbd2cf}.day:not(:disabled):hover{border-color:var(--ink)}footer{padding:50px 4vw;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:12px}footer>div{display:flex;gap:20px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:10}.document{max-width:800px;margin:auto;padding:60px 25px}.admin{max-width:1000px;margin:auto;padding:30px 20px}.admin .card{border:1px solid var(--line);padding:24px;margin-bottom:20px;background:#faf8f3}.admin h1{font-size:40px;letter-spacing:-1px}.admin .toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin button{margin:8px 0}.admin .warning{background:#f1dfbd;padding:15px}.admin .request-meta{overflow-wrap:anywhere;white-space:pre-wrap}[hidden]{display:none!important}@media(max-width:900px){nav{gap:14px}nav a{font-size:10px}.hero{grid-template-columns:44% 56%}.hero-copy{padding-right:25px}h1{font-size:58px}header>.button{padding:12px 16px}}@media(max-width:650px){header{padding:18px 5vw;flex-wrap:wrap}.brand{font-size:22px}header>.button{font-size:11px}nav{order:3;width:100%;justify-content:space-between}.hero{display:flex;flex-direction:column;padding:30px 5vw}.hero-copy{padding:10px 0 25px;width:100%}h1{font-size:58px}.hero-copy>p:not(.eyebrow){max-width:100%}.hero-photo img{height:auto}.facts{display:grid;grid-template-columns:1fr 1fr;font-size:11px;margin-inline:5vw}.section{padding:55px 6vw}.split,.neighbourhood,.booking{grid-template-columns:1fr;gap:20px}.section-heading{display:block}.gallery{grid-template-columns:1fr 1fr;gap:16px}.gallery figure,.gallery figure:first-child,.gallery figure:nth-child(2){grid-column:span 1}.gallery figure:first-child{grid-column:span 2}.landmark{order:2}.landmark img{max-height:230px}.calendar{max-width:none}.two{gap:10px}footer{flex-direction:column;text-align:center;gap:15px}.admin .toolbar{flex-wrap:wrap}}
