:root{--color-primary: #2E3D2C;--color-primary-soft: #4A5A47;--color-accent: #B68957;--color-accent-soft: #D4AB7F;--color-bg: #FAF7F2;--color-bg-alt: #F1ECE3;--color-surface: #FFFFFF;--color-text: #2A2724;--color-muted: #6F665C;--color-line: rgba(42, 39, 36, .12);--font-display: "Fraunces", ui-serif, Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--max-w: 1280px;--pad-x: clamp(1.25rem, 4vw, 3rem);--section-y: clamp(4.5rem, 9vw, 8rem);--radius: 2px}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad-x)}.container-narrow{width:100%;max-width:880px;margin-inline:auto;padding-inline:var(--pad-x)}body{font-size:17px}@media (min-width: 720px){body{font-size:18px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.7rem;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn-primary{background:var(--color-primary);color:var(--color-bg)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--color-text);transform:translateY(-1px)}.btn-outline{border:1px solid currentColor;color:var(--color-text)}.btn-outline.on-dark{color:var(--color-bg)}.btn-outline:hover,.btn-outline:focus-visible{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn-outline.on-dark:hover{background:var(--color-bg);color:var(--color-text)}.gh-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:1.25rem 0;transition:background .3s ease,border-color .3s ease,padding .3s ease;border-bottom:1px solid transparent}.gh-header.is-solid{background:#faf7f2eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--color-line);padding:.85rem 0}.gh-header.on-hero:not(.is-solid){color:var(--color-bg)}.gh-header .row{display:flex;align-items:center;justify-content:space-between;gap:2rem}.gh-brand{font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.01em;line-height:1}.gh-brand .amp{font-style:italic;color:var(--color-accent);margin-inline:.1em}.gh-nav{display:none;align-items:center;gap:2.25rem}@media (min-width: 880px){.gh-nav{display:flex}}.gh-nav a{font-size:.92rem;letter-spacing:.02em;transition:color .2s ease;position:relative}.gh-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.gh-nav a:hover:after,.gh-nav a[aria-current=page]:after{transform:scaleX(1)}.gh-header-actions{display:flex;align-items:center;gap:.75rem}.gh-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;align-items:center}@media (min-width: 880px){.gh-burger{display:none}}.gh-burger span{display:block;width:22px;height:1.5px;background:currentColor}.gh-mobile-menu{position:fixed;inset:0;z-index:60;background:var(--color-bg);color:var(--color-text);transform:translate(100%);transition:transform .45s cubic-bezier(.2,.6,.2,1);padding:5.5rem var(--pad-x) 2rem;display:flex;flex-direction:column}.gh-mobile-menu.is-open{transform:none}.gh-mobile-menu a{font-family:var(--font-display);font-size:2rem;padding:.55rem 0;border-bottom:1px solid var(--color-line);letter-spacing:-.02em}.gh-mobile-close{position:absolute;top:1.25rem;right:var(--pad-x);width:40px;height:40px;border:1px solid var(--color-line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem}.gh-mobile-cta{margin-top:auto;display:flex;flex-direction:column;gap:.75rem}.gh-hero{position:relative;min-height:92vh;display:grid;place-items:end center;padding-bottom:clamp(3rem,8vw,6rem);padding-top:8rem;color:var(--color-bg);overflow:hidden;isolation:isolate}.gh-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14120f59,#14120f26 40%,#14120fb3);z-index:1}.gh-hero img.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.gh-hero .container{position:relative;z-index:2;text-align:center;width:100%}.gh-hero .eyebrow{font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;margin-bottom:1.75rem;opacity:.85}.gh-hero h1{font-size:clamp(2.6rem,7vw,5.5rem);line-height:1.02;letter-spacing:-.025em;margin-bottom:1.5rem;max-width:18ch;margin-inline:auto}.gh-hero h1 em{font-style:italic;font-weight:300}.gh-hero p.lede{font-size:clamp(1.05rem,1.25vw,1.2rem);max-width:36ch;margin:0 auto 2.5rem;opacity:.9;line-height:1.55}.gh-hero .ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.gh-hero .scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:2;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-bg);opacity:.7;display:inline-flex;flex-direction:column;align-items:center;gap:.5rem}.gh-hero .scroll-cue:after{content:"";width:1px;height:36px;background:currentColor;animation:pulse 2.2s ease-in-out infinite;transform-origin:top}@keyframes pulse{0%,to{transform:scaleY(.3);opacity:.4}50%{transform:scaleY(1);opacity:1}}.section{padding-block:var(--section-y)}.section-band{background:var(--color-bg-alt)}.section-dark{background:var(--color-primary);color:var(--color-bg)}.eyebrow{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.4rem;display:inline-block}.section-title{font-size:clamp(2.1rem,4.5vw,3.8rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:1.25rem}.section-title em{font-style:italic;font-weight:300}.section-lede{font-size:1.08rem;color:var(--color-muted);max-width:52ch;line-height:1.6}.section-head-center{text-align:center;margin-bottom:clamp(3rem,6vw,5rem)}.section-head-center .section-lede{margin-inline:auto}.intro{display:grid;gap:clamp(2rem,5vw,5rem);align-items:center;grid-template-columns:1fr}@media (min-width: 880px){.intro{grid-template-columns:1fr 1fr}}.intro-figure{aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius);position:relative}.intro-figure img{width:100%;height:100%;object-fit:cover}.intro p{font-size:1.1rem;line-height:1.7;color:var(--color-text);max-width:46ch}.intro p+p{margin-top:1.25rem}.intro .signature{margin-top:2rem;font-family:var(--font-display);font-style:italic;font-size:1.6rem;color:var(--color-primary)}.rooms-grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:1fr}@media (min-width: 720px){.rooms-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1080px){.rooms-grid{grid-template-columns:repeat(3,1fr)}}.room-card{background:transparent;display:flex;flex-direction:column;transition:transform .4s ease}.room-card:hover{transform:translateY(-4px)}.room-card .room-figure{aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius);margin-bottom:1.25rem;position:relative}.room-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.6,.2,1)}.room-card:hover img{transform:scale(1.04)}.room-card .room-meta{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem}.room-card h3{font-size:1.6rem;letter-spacing:-.015em}.room-card .rate{font-family:var(--font-body);font-size:.92rem;color:var(--color-muted);white-space:nowrap}.room-card .rate strong{color:var(--color-text);font-weight:500}.room-card p{font-size:.98rem;color:var(--color-muted);line-height:1.55}.room-card .room-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem;font-size:.78rem;color:var(--color-muted)}.room-card .room-tags span{letter-spacing:.06em;text-transform:uppercase}.room-card .room-tags span+span:before{content:"·";margin-right:.5rem;color:var(--color-accent)}.exp-strip{display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width: 700px){.exp-strip{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1000px){.exp-strip{grid-template-columns:repeat(4,1fr)}}.exp-card{position:relative;aspect-ratio:3 / 4;overflow:hidden;border-radius:var(--radius);color:var(--color-bg);isolation:isolate;display:flex;align-items:end;padding:1.5rem}.exp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .8s cubic-bezier(.2,.6,.2,1)}.exp-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14120f00 40%,#14120fcc);z-index:-1}.exp-card:hover img{transform:scale(1.06)}.exp-card h4{font-size:1.5rem;letter-spacing:-.015em}.exp-card .num{position:absolute;top:1rem;left:1rem;font-family:var(--font-display);font-style:italic;font-size:.85rem;background:#14120f80;backdrop-filter:blur(6px);border-radius:100px;padding:.3rem .65rem;color:var(--color-accent-soft)}.where{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr;align-items:stretch}@media (min-width: 880px){.where{grid-template-columns:1fr 1fr}}.where-text .stats{list-style:none;padding:0;margin-top:2rem;display:grid;gap:0}.where-text .stats li{display:flex;justify-content:space-between;align-items:baseline;padding:1.1rem 0;border-top:1px solid var(--color-line);font-family:var(--font-body);font-size:.95rem}.where-text .stats li:last-child{border-bottom:1px solid var(--color-line)}.where-text .stats .lbl{color:var(--color-muted);letter-spacing:.04em}.where-text .stats .val{font-family:var(--font-display);font-size:1.2rem;color:var(--color-text)}.map-frame{aspect-ratio:4 / 5;border-radius:var(--radius);overflow:hidden;background:var(--color-bg-alt);position:relative}.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.4) contrast(.95)}.testimonials{display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width: 880px){.testimonials{grid-template-columns:repeat(3,1fr)}}.quote{border-top:1px solid currentColor;padding-top:1.75rem;display:flex;flex-direction:column}.quote-stars{font-size:.85rem;letter-spacing:.4em;color:var(--color-accent);margin-bottom:1rem}.quote-text{font-family:var(--font-display);font-size:1.35rem;line-height:1.4;letter-spacing:-.01em;margin-bottom:1.5rem;font-weight:400}.quote-who{font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;opacity:.85;margin-top:auto}.insta-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}@media (min-width: 720px){.insta-strip{grid-template-columns:repeat(6,1fr)}}.insta-strip a{aspect-ratio:1 / 1;overflow:hidden;position:relative}.insta-strip img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s ease}.insta-strip a:hover img{transform:scale(1.08)}.cta-block{text-align:center}.cta-block h2{font-size:clamp(2.4rem,6vw,5rem);letter-spacing:-.03em;line-height:1;margin-bottom:1.5rem}.cta-block h2 em{font-style:italic;font-weight:300}.cta-block p{font-size:1.1rem;opacity:.85;max-width:46ch;margin:0 auto 2.5rem}.gh-footer{background:var(--color-primary);color:var(--color-bg);padding:clamp(4rem,7vw,6rem) 0 1.5rem}.gh-footer .row{display:grid;gap:3rem;grid-template-columns:1fr;margin-bottom:3rem}@media (min-width: 780px){.gh-footer .row{grid-template-columns:1.4fr 1fr 1fr 1fr}}.gh-footer h5{font-family:var(--font-body);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.25rem;color:var(--color-accent-soft);font-weight:500}.gh-footer ul{list-style:none;padding:0;display:grid;gap:.7rem;font-size:.95rem}.gh-footer .footer-brand .gh-brand{font-size:1.6rem;margin-bottom:1rem}.gh-footer .footer-brand p{opacity:.78;font-size:.95rem;max-width:32ch}.gh-footer .newsletter{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.25);padding-block:.4rem;margin-top:1rem}.gh-footer .newsletter input{flex:1;background:transparent;border:0;color:var(--color-bg);font-size:.95rem;padding:.5rem 0}.gh-footer .newsletter input::placeholder{color:#ffffff8c}.gh-footer .newsletter button{color:var(--color-accent-soft);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:0 .5rem}.gh-footer .legal{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid rgba(255,255,255,.16);font-size:.82rem;opacity:.78}.wa-btn{position:fixed;bottom:1.25rem;right:1.25rem;z-index:45;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 30px -10px #0006;transition:transform .2s ease}.wa-btn:hover{transform:scale(1.06)}.wa-btn svg{width:28px;height:28px}@media (min-width: 720px){.wa-btn{bottom:1.75rem;right:1.75rem}}.page-hero{padding-top:9rem;padding-bottom:clamp(3rem,6vw,5rem);text-align:center;border-bottom:1px solid var(--color-line)}.page-hero h1{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.03em;line-height:1;margin-bottom:1.25rem}.page-hero h1 em{font-style:italic;font-weight:300}.page-hero p{font-size:1.08rem;color:var(--color-muted);max-width:50ch;margin:0 auto}.page-hero .crumbs{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.5rem}.page-hero .crumbs a{color:var(--color-muted)}.room-detail{padding-top:8rem}.room-gallery{display:grid;gap:.5rem;grid-template-columns:1fr;margin-bottom:clamp(2rem,5vw,4rem)}@media (min-width: 880px){.room-gallery{grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:16 / 9}.room-gallery .g1{grid-row:span 2}}.room-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3;border-radius:var(--radius)}.room-body{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr;padding-bottom:var(--section-y)}@media (min-width: 980px){.room-body{grid-template-columns:1.4fr 1fr}}.room-body h1{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.025em;line-height:1;margin-bottom:.75rem}.room-body .lede{font-size:1.15rem;color:var(--color-muted);margin-bottom:2rem;max-width:50ch}.amenities{margin-top:2rem}.amenities h3{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);font-family:var(--font-body);font-weight:500;margin-bottom:1.25rem}.amenities ul{list-style:none;padding:0;display:grid;gap:.7rem;grid-template-columns:1fr 1fr;font-size:.97rem}.amenities li:before{content:"–";color:var(--color-accent);margin-right:.6rem}.book-card{position:sticky;top:6rem;background:var(--color-bg-alt);padding:2rem;border-radius:var(--radius);align-self:start}.book-card .rate-rows{display:grid;gap:.85rem;margin:1.5rem 0 2rem}.book-card .rate-rows .rr{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:.85rem;border-bottom:1px solid var(--color-line);font-size:.95rem}.book-card .rate-rows .rr:last-child{border-bottom:0;padding-bottom:0}.book-card .rate-rows .lbl{color:var(--color-muted)}.book-card .rate-rows .val{font-family:var(--font-display);font-size:1.2rem}.book-card .btn{width:100%}.book-card .notes{margin-top:1.25rem;font-size:.85rem;color:var(--color-muted);line-height:1.5}.contact-grid{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr;padding-bottom:var(--section-y)}@media (min-width: 980px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-info dl{display:grid;gap:1.5rem;margin-top:2rem}.contact-info dt{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.4rem}.contact-info dd{font-family:var(--font-display);font-size:1.4rem;letter-spacing:-.01em;margin:0}.contact-info dd a:hover{color:var(--color-primary)}.contact-form{background:var(--color-bg-alt);padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--radius)}.contact-form .field{margin-bottom:1.25rem}.contact-form label{display:block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.5rem}.contact-form input,.contact-form textarea,.contact-form select{width:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:.85rem 1rem;font-size:1rem;color:var(--color-text);transition:border-color .2s ease}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--color-primary)}.contact-form textarea{min-height:140px;resize:vertical}.contact-form .row-2{display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width: 600px){.contact-form .row-2{grid-template-columns:1fr}}.contact-form .btn{margin-top:.5rem;width:100%}.faq{border-top:1px solid var(--color-line);padding-top:var(--section-y)}.faq-grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:2.5rem}@media (min-width: 780px){.faq-grid{grid-template-columns:1fr 1fr}}.faq details{border-top:1px solid var(--color-line);padding:1.25rem 0}.faq summary{cursor:pointer;font-family:var(--font-display);font-size:1.15rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-body);color:var(--color-accent);font-size:1.5rem;font-weight:300;transition:transform .3s ease}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin-top:.85rem;color:var(--color-muted);font-size:.97rem;line-height:1.65}.stub-banner{background:var(--color-bg-alt);border:1px dashed var(--color-line);padding:1.25rem;border-radius:var(--radius);font-size:.92rem;color:var(--color-muted);text-align:center;margin-bottom:2rem}.stub-banner strong{color:var(--color-text)}
