:root { --cream:#f5eee4; --paper:#fffaf3; --ink:#382822; --muted:#7d665c; --terracotta:#a9573f; --deep:#65382d; --gold:#c89558; --line:#ddccbc; --blue:#2e7582; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; }
img { display:block; width:100%; }
button,input,select { font:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { height:82px; padding:0 4.5vw; display:flex; align-items:center; justify-content:space-between; background:rgba(255,250,243,.94); position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); box-shadow:0 1px 0 rgba(79,50,39,.08); }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { width:38px; height:38px; border:1px solid var(--terracotta); display:grid; place-items:center; border-radius:50%; font-family:Georgia,serif; color:var(--terracotta); }
.brand strong,.brand small { display:block; }.brand strong { font-family:Georgia,serif; font-size:17px; font-weight:400; }.brand small { text-transform:uppercase; letter-spacing:.18em; font-size:8px; margin-top:3px; color:var(--muted); }
.nav { display:flex; align-items:center; gap:30px; }.nav a { text-decoration:none; font-size:13px; }.nav a:hover { color:var(--terracotta); }.nav select { border:1px solid var(--line); background:transparent; color:var(--ink); padding:8px; max-width:150px; }.language-picker { display:flex; }.menu-button { display:none; border:0; background:transparent; font-size:22px; }
.hero { height:720px; position:relative; overflow:hidden; color:#fff7ef; }.hero>img { height:100%; object-fit:cover; object-position:center 66%; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(46,25,20,.78) 0%,rgba(59,28,20,.36) 48%,rgba(31,15,12,.04) 75%),linear-gradient(0deg,rgba(40,20,16,.32),transparent 45%); }
.hero-copy { position:absolute; left:7vw; top:50%; transform:translateY(-50%); width:min(650px,70vw); }.eyebrow { text-transform:uppercase; letter-spacing:.2em; font-size:11px; color:var(--terracotta); margin:0 0 20px; }.eyebrow.light { color:#f2c38f; }.hero h1,.intro h2,.section-heading h2,.whole-house h2,.location h2,.host h2 { font-family:Georgia,serif; font-weight:400; line-height:.98; margin:0; }.hero h1 { font-size:clamp(54px,7vw,104px); letter-spacing:-.035em; }.hero-copy>p:not(.eyebrow) { max-width:560px; font-size:18px; line-height:1.6; margin:28px 0; }.text-link { display:inline-flex; gap:34px; text-decoration:none; padding-bottom:8px; border-bottom:1px solid currentColor; font-size:13px; text-transform:uppercase; letter-spacing:.12em; }.hero-note { position:absolute; right:5vw; bottom:55px; width:150px; border-left:1px solid rgba(255,255,255,.5); padding-left:18px; }.hero-note strong,.hero-note span { display:block; }.hero-note strong { font-family:Georgia,serif;font-size:34px;font-weight:400; }.hero-note span { font-size:11px;line-height:1.5; }
.booking-wrap { position:relative; z-index:10; margin:-34px auto 0; width:min(1180px,92vw); }.booking-bar { min-height:105px; display:grid; grid-template-columns:1fr 1fr .8fr 1.3fr auto; background:var(--paper); box-shadow:0 18px 60px rgba(77,49,35,.15); }.booking-bar label { padding:25px 22px; border-right:1px solid var(--line); }.booking-bar label span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.16em; margin-bottom:9px; }.booking-bar input,.booking-bar select { width:100%; border:0; background:transparent; color:var(--ink); outline:none; }.booking-bar button { border:0; background:var(--terracotta); color:white; padding:0 28px; cursor:pointer; }.booking-bar button:hover { background:var(--deep); }.booking-message { background:var(--deep); color:#fff7ef; margin:0; padding:12px 18px; font-size:13px; text-align:center; }
.intro { width:min(1120px,88vw); margin:130px auto 90px; display:grid; grid-template-columns:1fr 1fr; gap:10vw; }.intro h2,.section-heading h2,.location h2 { font-size:clamp(42px,5vw,70px); }.intro-copy { padding-top:30px; }.intro-copy p { color:var(--muted); line-height:1.8; margin:0 0 20px; }
.feature-grid { width:min(1180px,92vw); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.feature-grid article { padding:38px; border-right:1px solid var(--line); }.feature-grid article:last-child { border-right:0; }.feature-grid span { color:var(--terracotta); font-size:11px; }.feature-grid h3 { font-family:Georgia,serif; font-size:25px; font-weight:400; margin:18px 0 10px; }.feature-grid p { color:var(--muted); line-height:1.6; margin:0; font-size:14px; }
.stays-section { padding:130px 4.5vw; }.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:70px; }.section-heading>p { max-width:380px; color:var(--muted); line-height:1.7; }.house-group { margin-top:80px; }.house-heading { display:grid; grid-template-columns:auto 1fr minmax(260px,380px); gap:28px; align-items:end; border-top:1px solid var(--line); padding:28px 0 25px; }.house-heading>span { color:var(--terracotta); font-family:Georgia,serif; font-size:28px; }.house-heading h3 { font-family:Georgia,serif; font-weight:400; font-size:clamp(38px,4vw,58px); margin:0; }.house-heading .eyebrow { margin-bottom:9px; }.house-heading>p { color:var(--muted); line-height:1.7; margin:0; }.stay-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }.stay-card { background:var(--paper); }.apartment-gallery { height:440px; position:relative; overflow:hidden; background:#decfbe; }.apartment-gallery>img { width:100%; height:100%; object-fit:cover; transition:opacity .25s ease,transform .6s ease; }.stay-card:hover .apartment-gallery>img { transform:scale(1.015); }.gallery-arrow { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:0; border-radius:50%; background:rgba(255,250,243,.9); color:var(--deep); cursor:pointer; font-size:18px; box-shadow:0 4px 20px rgba(34,22,17,.16); }.gallery-arrow:hover { background:#fff; }.gallery-arrow.previous { left:18px; }.gallery-arrow.next { right:18px; }.gallery-count { position:absolute; right:18px; bottom:17px; padding:7px 11px; border-radius:20px; background:rgba(28,24,21,.68); color:#fff; font-size:11px; letter-spacing:.08em; }.stay-content { padding:30px; }.stay-content>p:first-child { color:var(--terracotta); font-size:11px; text-transform:uppercase; letter-spacing:.15em; margin:0 0 10px; }.stay-content h3 { font-family:Georgia,serif; font-size:34px; font-weight:400; margin:0 0 8px; }.stay-content small { color:var(--muted); }.stay-description { line-height:1.7; color:var(--muted); }.stay-content a { display:inline-block; margin-top:10px; color:var(--terracotta); text-underline-offset:5px; }.coming .apartment-gallery img { filter:sepia(.25); opacity:.68; }.coming .gallery-arrow,.coming .gallery-count { display:none; }
.whole-house { display:grid; grid-template-columns:1.25fr .75fr; min-height:650px; background:var(--deep); color:#fff7ef; }.whole-image { overflow:hidden; }.whole-image img { height:100%; object-fit:cover; object-position:center 55%; }.whole-copy { padding:9vw 7vw; display:flex; flex-direction:column; justify-content:center; }.whole-house h2 { font-size:clamp(44px,5vw,72px); }.whole-copy>p:not(.eyebrow) { line-height:1.8; color:#eadbd1; margin:30px 0; }.whole-copy a { color:#f1c794; text-underline-offset:7px; }
.location { padding:130px 7vw; display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; }.location-copy>p:not(.eyebrow) { color:var(--muted); line-height:1.8; }.location-facts { display:flex; gap:38px; margin-top:45px; border-top:1px solid var(--line); padding-top:25px; }.location-facts strong,.location-facts span { display:block; }.location-facts strong { font-family:Georgia,serif; font-size:28px; font-weight:400; }.location-facts span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; margin-top:5px; }.location-video { aspect-ratio:1.1; position:relative; overflow:hidden; background:#a67858; color:#fff7ef; }.location-video:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(27,21,18,.68)); }.location-video video { width:100%; height:100%; object-fit:cover; }.location-video>div { position:absolute; z-index:2; left:45px; right:35px; bottom:40px; display:flex; flex-direction:column; }.location-video strong { font-family:Georgia,serif; font-size:42px; font-weight:400; }.location-video small { text-transform:uppercase; letter-spacing:.2em; margin-top:8px; }
.host { text-align:center; background:var(--paper); padding:120px max(7vw,20px); }.host h2 { font-size:clamp(42px,5vw,72px); }.host>p:not(.eyebrow) { max-width:700px; margin:28px auto; color:var(--muted); line-height:1.8; }.host-proof { display:flex; justify-content:center; gap:60px; margin:45px 0; }.host-proof span { color:var(--muted); font-size:12px; }.host-proof strong { display:block; color:var(--ink); font-family:Georgia,serif;font-size:34px;font-weight:400; }.primary-link { display:inline-block; background:var(--terracotta); color:white; padding:17px 28px; text-decoration:none; }.primary-link:hover { background:var(--deep); }
footer { min-height:170px; padding:50px 5vw; background:#2e211c; color:#d7c8be; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; }.footer-brand strong { color:#fff7ef; }.footer-brand .brand-mark { color:#d9a06e;border-color:#d9a06e; }.footer-brand small { color:#b9a89e; }
@media (max-width:900px) { .menu-button{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{height:650px}.booking-bar{grid-template-columns:1fr 1fr}.booking-bar button{min-height:60px;grid-column:1/-1}.intro,.location{grid-template-columns:1fr;gap:40px}.feature-grid{grid-template-columns:1fr}.feature-grid article{border-right:0;border-bottom:1px solid var(--line)}.feature-grid article:last-child{border-bottom:0}.whole-house{grid-template-columns:1fr}.whole-image{height:520px}.section-heading{align-items:flex-start;flex-direction:column}.location-video{max-width:600px;width:100%;margin:auto}.host-proof{gap:25px}.apartment-gallery{height:360px}.house-heading{grid-template-columns:auto 1fr}.house-heading>p{grid-column:2} }
@media (max-width:620px) { .site-header{height:70px;padding:0 20px}.brand strong{font-size:15px}.nav{top:70px}.hero{height:590px}.hero-copy{left:24px;width:calc(100% - 48px);top:45%}.hero h1{font-size:50px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-note{display:none}.booking-wrap{margin:-26px auto 0}.booking-bar{grid-template-columns:1fr}.booking-bar label{padding:18px;border-right:0;border-bottom:1px solid var(--line)}.intro{margin:90px auto 60px}.intro h2,.section-heading h2,.location h2{font-size:42px}.stays-section{padding:90px 20px}.stay-grid{grid-template-columns:1fr}.apartment-gallery{height:320px}.house-heading{grid-template-columns:1fr;gap:8px}.house-heading>p{grid-column:1}.whole-image{height:430px}.whole-copy{padding:70px 25px}.location{padding:90px 25px}.location-facts{gap:16px;flex-wrap:wrap}.location-video strong{font-size:34px}.location-video>div{left:25px;bottom:25px}.host{padding:90px 24px}.host-proof{flex-direction:column;gap:18px}footer{align-items:flex-start;flex-direction:column}.section-heading>p{margin:0} }
