
:root{--warm-white:#F4F0E8;--driftwood:#8A8377;--harbor:#5F84A3;--stardew:#6F7787;--ink:#3E3B36;--rule:#DCD6CB;
--serif:'Lora',Georgia,'Times New Roman',serif;--sans:'Lato','Helvetica Neue',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--warm-white);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65}
a{color:var(--harbor);text-decoration:none}a:hover{color:var(--stardew)}
img{max-width:100%;display:block}
.wrap{width:min(1120px,92vw);margin:0 auto}
header.site{padding:22px 0 14px;border-bottom:1px solid var(--rule)}
header.site .wrap{display:flex;flex-direction:column;align-items:center;gap:14px}
.logo img{width:230px;height:auto}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px}
nav a{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
nav a[aria-current]{color:var(--harbor);border-bottom:1px solid var(--harbor);padding-bottom:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(30px,5vw,46px)}h2{font-size:clamp(24px,3.4vw,32px)}h3{font-size:21px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--driftwood);margin:0 0 14px}
.hero{padding:64px 0 40px;text-align:center}
.hero p.lede{font-size:clamp(18px,2.2vw,22px);max-width:720px;margin:0 auto 28px}
.btn{display:inline-block;border:1px solid var(--stardew);color:var(--stardew);padding:12px 26px;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.btn:hover{background:var(--stardew);color:var(--warm-white)}
section{padding:44px 0}
.grid-3{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:760px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.card{border-top:1px solid var(--rule);padding-top:18px}
.pair{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:700px){.pair{grid-template-columns:1fr 1fr}}
figure{margin:0}figcaption{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--driftwood);margin-top:8px}
.frame{aspect-ratio:4/3;background:#E7E1D6;overflow:hidden;display:flex;align-items:center;justify-content:center}
.frame img{width:100%;height:100%;object-fit:cover}
.frame .ph{color:var(--driftwood);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:20px}
.room{padding:36px 0;border-top:1px solid var(--rule)}
.room .note{max-width:760px}
.badge{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--harbor);color:var(--harbor);padding:3px 9px;margin-left:8px;vertical-align:middle}
.service{border-top:1px solid var(--rule);padding:28px 0}
.service h3 span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--driftwood);margin-top:6px}
form{display:grid;gap:16px;max-width:620px}
label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--driftwood)}
input,select,textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--rule);background:#fff;color:var(--ink)}
textarea{min-height:150px}
button{font:inherit;cursor:pointer;background:var(--stardew);color:var(--warm-white);border:0;padding:14px 28px;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
footer.site{border-top:1px solid var(--rule);padding:34px 0 48px;font-size:14px;color:var(--driftwood)}
footer.site .wrap{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
footer.site img{width:44px;opacity:.85}
.muted{color:var(--driftwood)}
ul.plain{padding-left:18px}
