:root{--deep:#33484a;--mid:#52706f;--mist:#ece6da;--paper:#faf6ef;--reed:#cdb896;--brass:#a9713f;--brass-dark:#8a5a2f;--ink:#232c2a;--line:rgba(35,44,42,0.12);--font-display:"Fraunces",ui-serif,Georgia,serif;--font-body:"Work Sans",ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--max-width:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;color:var(--deep)}a{color:inherit}button{font-family:var(--font-body)}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 24px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(247,245,236,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--max-width);margin:0 auto}.nav-brand{font-family:var(--font-display);font-size:20px;letter-spacing:.02em;color:var(--deep);text-decoration:none}.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:15px}.nav-links a{text-decoration:none;color:var(--mid)}.nav-links a:hover{color:var(--brass-dark)}.nav-right{display:flex;align-items:center;gap:16px}.lang-switcher{display:flex;gap:2px;font-family:var(--font-mono);font-size:12px}.lang-switcher-item{padding:4px 7px;text-decoration:none;color:rgba(35,44,42,.45);letter-spacing:.02em}.lang-switcher-item:hover{color:var(--brass-dark)}.lang-switcher-item.active{color:var(--deep);font-weight:600;border-bottom:1.5px solid var(--brass)}.nav-cta{background:var(--deep);color:var(--paper);padding:9px 18px;border-radius:2px;text-decoration:none;font-size:14px;letter-spacing:.02em;white-space:nowrap}.nav-cta:hover{background:var(--brass-dark)}.hero{position:relative;background:linear-gradient(180deg,var(--deep) 0,var(--mid) 100%);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:40px;gap:40px;align-items:center;padding:96px 24px 64px;max-width:var(--max-width);margin:0 auto}.eyebrow{font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--reed);margin-bottom:18px;display:block}.hero h1{color:var(--paper);font-size:clamp(36px,5vw,58px);line-height:1.05;max-width:12ch}.hero p.lede{margin-top:20px;font-size:18px;line-height:1.6;color:rgba(247,245,236,.82);max-width:46ch}.hero-actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-block;padding:13px 24px;border-radius:2px;font-size:15px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .15s ease}.btn-primary{background:var(--brass);color:var(--deep);font-weight:500}.btn-primary:hover{background:var(--reed);transform:translateY(-1px)}.btn-ghost{border-color:rgba(247,245,236,.4);color:var(--paper);background:transparent}.btn-ghost:hover{border-color:var(--paper)}.hero-art{position:relative;height:320px}.hero-photo{width:100%;height:100%;object-fit:cover;display:block;border-bottom:3px solid var(--brass);opacity:0;animation:photo-reveal 1s ease .2s forwards}@keyframes photo-reveal{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}section{padding:72px 0}.section-head{margin-bottom:40px}.section-head .eyebrow{color:var(--brass-dark)}.section-head h2{font-size:clamp(26px,3vw,34px)}.section-alt{background:var(--mist)}.over-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:40px;gap:40px;align-items:start}.over-text p{margin:0 0 16px;line-height:1.7;font-size:16px;max-width:62ch}.over-text h3{font-size:17px;margin:28px 0 12px;font-family:var(--font-body);font-weight:600;color:var(--ink)}.detail-list{margin:0;padding-left:18px;display:grid;grid-gap:8px;gap:8px;font-size:15px;line-height:1.6;color:rgba(35,44,42,.75)}.note-box{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--brass);padding:20px 22px}.note-box .eyebrow{color:var(--brass-dark);margin-bottom:8px}.note-box p{margin:0;font-size:14px;line-height:1.6;color:rgba(35,44,42,.75)}.reviews-section{padding:40px 0}.reviews-title{font-size:19px;margin-top:6px}.reviews-grid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:24px;gap:24px}.review-card{border-left:2px solid var(--line);padding-left:16px}.review-quote{margin:0 0 8px;font-family:var(--font-display);font-style:italic;font-size:15px;line-height:1.6;color:rgba(35,44,42,.85)}.review-meta{margin:0;font-family:var(--font-mono);font-size:12px;color:rgba(35,44,42,.5)}.pricing-grid{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px}.pricing-card{background:var(--paper);border:1px solid var(--line);padding:24px}.pricing-card h3{font-size:17px;font-family:var(--font-body);font-weight:600;color:var(--ink)}.pricing-period{margin:6px 0 18px;font-size:14px;color:rgba(35,44,42,.6)}.pricing-price{margin:0;font-family:var(--font-display);font-size:32px;color:var(--deep)}.pricing-unit{display:block;font-family:var(--font-mono);font-size:12px;color:rgba(35,44,42,.55);margin-top:2px}.section-intro{max-width:68ch;font-size:16px;line-height:1.7;color:rgba(35,44,42,.8)}.dining-grid{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:28px;gap:28px}.dining-card{background:var(--paper);border:1px solid var(--line);padding:24px}.dining-card h3{font-size:17px;font-family:var(--font-body);font-weight:600;color:var(--ink);margin-bottom:10px}.dining-card p{margin:0;font-size:15px;line-height:1.6;color:rgba(35,44,42,.72)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.gallery-item{margin:0;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);background:var(--paper)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.04)}.amenities{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:28px;gap:28px}.amenity h3{font-size:17px;color:var(--ink);font-family:var(--font-body);font-weight:600}.amenity p{margin:8px 0 0;font-size:15px;color:rgba(35,44,42,.7);line-height:1.55}.amenity .num{font-family:var(--font-mono);font-size:13px;color:var(--brass-dark)}.calendar-wrap{background:var(--paper);border:1px solid var(--line);padding:28px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-header h3{font-size:19px}.calendar-nav{display:flex;gap:8px}.calendar-nav button{border:1px solid var(--line);background:transparent;width:32px;height:32px;cursor:pointer;font-family:var(--font-mono);color:var(--deep)}.calendar-nav button:hover{border-color:var(--brass)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;font-family:var(--font-mono)}.dow{font-size:12px;text-align:center;color:rgba(35,44,42,.45);padding-bottom:6px}.day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:2px}.day.empty{visibility:hidden}.day.available{background:rgba(169,113,63,.14);color:var(--deep)}.day.busy{background:var(--deep);color:rgba(247,245,236,.55);text-decoration:line-through}.day.past{color:rgba(35,44,42,.25)}.calendar-legend{margin-top:16px;display:flex;gap:20px;font-size:13px;color:rgba(35,44,42,.65)}.legend-swatch{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:1px;vertical-align:middle}.calendar-status{font-size:13px;color:rgba(35,44,42,.55);margin-top:12px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:start}.booking-intro{line-height:1.7;font-size:15px;color:rgba(35,44,42,.75)}form.booking-form{display:grid;grid-gap:16px;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}label{display:block;font-size:13px;color:rgba(35,44,42,.7);margin-bottom:6px}input,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--paper);font-family:var(--font-body);font-size:15px;color:var(--ink)}button:focus-visible,input:focus,textarea:focus{outline:2px solid var(--brass);outline-offset:1px}textarea{resize:vertical;min-height:100px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.submit-btn{background:var(--deep);color:var(--paper);border:none;padding:13px 24px;font-size:15px;cursor:pointer}.submit-btn:hover{background:var(--brass-dark)}.submit-btn:disabled{opacity:.6;cursor:default}.form-status{font-size:14px;margin-top:4px}.form-status.ok{color:#2f6b4f}.form-status.error{color:#a3402b}footer{background:var(--deep);color:rgba(247,245,236,.7);padding:40px 0;font-size:14px}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-credit-row{justify-content:flex-end;margin-top:20px}.footer-credit{display:inline-flex;align-items:center;gap:8px;background:rgba(250,246,239,.92);padding:5px 12px 5px 14px;font-size:12px;color:var(--ink);opacity:.85;transition:opacity .15s ease}.footer-credit:hover{opacity:1}.footer-credit span{font-family:var(--font-mono);letter-spacing:.02em}.footer-credit img{height:16px;width:auto;display:block}@media (max-width:780px){.nav-links{display:none}.hero-grid{grid-template-columns:1fr}.hero-art{height:200px;order:-1}.over-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.booking-layout,.form-row{grid-template-columns:1fr}}