:root{--pine:#2f4031;--pine-deep:#1e2a20;--sage:#7e9069;--sage-soft:#aebd9c;--sage-ink:#5f7250;--cream:#f6f3ea;--cream-2:#efe9da;--ink:#222a20;--muted:#5d6655;--line:#e0dccb;--radius:14px;--maxw:1120px;--shadow:0 10px 30px rgba(30,42,32,0.08);--header-h:68px;--book-bar-h:3.5rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;overflow-wrap:break-word}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:ui-serif,Georgia,Times New Roman,serif;line-height:1.12;font-weight:600;color:var(--pine)}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.eyebrow{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sage-ink);font-weight:600;margin-bottom:1rem}.lead{font-size:clamp(1.05rem,2.2vw,1.3rem);max-width:52ch}.lead,.muted{color:var(--muted)}.not-italic{font-style:normal}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line)}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(246,243,234,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-inner{display:flex;align-items:center;gap:1.5rem;height:var(--header-h)}.brand{display:inline-flex;align-items:center;min-height:44px;font-family:ui-serif,Georgia,serif;font-weight:600;color:var(--pine);font-size:1.05rem;white-space:nowrap}.nav{display:flex;gap:1rem;margin-left:auto;font-size:.92rem}.nav a{white-space:nowrap}.nav a:hover{color:var(--sage)}.btn{display:inline-block;background:var(--pine);color:var(--cream);padding:.75rem 1.4rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:background .2s}.btn:hover{background:var(--pine-deep)}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-ghost{background:transparent;color:var(--pine);border:1px solid var(--pine)}.btn-ghost:hover{background:var(--pine);color:var(--cream)}.hero{position:relative;overflow:hidden;background:var(--pine-deep)}.hero-img{width:100%;height:100%;object-fit:cover;z-index:0}.hero-img,.hero:after{position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(180deg,rgba(30,42,32,.45),rgba(30,42,32,.8));z-index:1}.hero-inner{position:relative;z-index:2;padding:clamp(4rem,12vw,8rem) 1.25rem}.hero h1{color:var(--cream);font-size:clamp(2.2rem,6vw,4rem);max-width:16ch}.hero .eyebrow{color:var(--sage-soft)}.hero .lead{color:#e9e6d8;margin-top:1.25rem}.hero-cta{display:flex;gap:.85rem;margin-top:2rem;flex-wrap:wrap}.hero .btn-ghost{color:var(--cream);border-color:rgba(255,255,255,.5)}.hero .btn-ghost:hover{background:var(--cream);color:var(--pine)}.page-hero{position:relative;overflow:hidden;background:var(--pine-deep)}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,42,32,.4),rgba(30,42,32,.78));z-index:1}.page-hero-inner{position:relative;z-index:2;padding:clamp(3rem,8vw,5.5rem) 1.25rem}.page-hero h1{color:var(--cream);font-size:clamp(2rem,5vw,3.2rem);max-width:20ch}.page-hero .eyebrow{color:var(--sage-soft)}.section{padding:clamp(3rem,7vw,5rem) 1.25rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:1.25rem;gap:1.25rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}@media (hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(30,42,32,.12)}}.card h2{font-size:1.25rem;margin-bottom:.4rem}.card p{color:var(--muted);font-size:.95rem}.card-img{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:1rem}.band{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band .container{padding:clamp(3rem,7vw,5rem) 1.25rem;text-align:center;display:grid;justify-items:center;grid-gap:1.25rem;gap:1.25rem}.band h2{font-size:clamp(1.6rem,4vw,2.4rem)}.band .lead{margin-inline:auto;text-align:center}.prose{max-width:760px}.prose h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:1rem}.prose h2{margin-top:2rem;margin-bottom:.5rem}.prose h3{margin-top:1.4rem;margin-bottom:.3rem;font-size:1.1rem}.prose .lead{margin-bottom:1.25rem}.prose p{margin-bottom:1rem}.prose ul{margin:0 0 1rem 1.25rem}.prose li{margin-bottom:.4rem}.prose .btn{margin-top:1rem}.crumbs{font-size:.82rem;color:var(--muted);margin-bottom:1.25rem}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}.crumbs li+li:before{content:"›";margin-right:.35rem;color:var(--sage)}.crumbs a:hover{color:var(--pine);text-decoration:underline}.updated{font-size:.85rem;margin-top:-.5rem;margin-bottom:1.5rem}.content-page section{scroll-margin-top:calc(var(--header-h) + 1rem)}.content-page h2{margin-top:2.25rem}.content-page h3{margin-top:1.4rem}.content-page li a,.content-page p a,.content-page td a,.faqs-page p a{color:var(--pine);text-decoration:underline;-webkit-text-decoration-color:var(--sage-soft);text-decoration-color:var(--sage-soft);text-underline-offset:.15em}.content-page li a:hover,.content-page p a:hover,.faqs-page p a:hover{-webkit-text-decoration-color:var(--pine);text-decoration-color:var(--pine)}.content-page .btn{text-decoration:none;color:var(--cream)}.content-page .btn-ghost{color:var(--pine)}.content-page .btn-ghost:hover{color:var(--cream)}.content-photo{border-radius:10px}.content-figure,.content-photo{margin:.5rem 0 1.5rem}.content-figure .content-photo{width:100%;height:auto;margin:0 0 .5rem}.content-figure figcaption{font-size:.85rem;color:var(--muted)}.table-wrap{overflow-x:auto;margin:.5rem 0 1.5rem;-webkit-overflow-scrolling:touch}.table-wrap table{border-collapse:collapse;width:100%;font-size:.93rem;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-wrap caption{caption-side:top;text-align:left;font-size:.85rem;color:var(--muted);padding:0 0 .4rem}.table-wrap td,.table-wrap th{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--line)}.table-wrap th{background:var(--cream-2);font-weight:600;color:var(--pine);font-size:.85rem}.table-wrap tr:last-child td{border-bottom:0}@media (max-width:600px){.table-stack table,.table-stack tbody,.table-stack td,.table-stack tr{display:block;width:100%}.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-stack tr{border-bottom:1px solid var(--line);padding:.55rem 0}.table-stack tr:last-child{border-bottom:0}.table-stack td{border-bottom:0;padding:.2rem .85rem}.table-stack td:before{content:attr(data-label);display:block;font-size:.74rem;font-weight:600;letter-spacing:.02em;color:var(--sage-ink);text-transform:uppercase}.table-stack td:first-child{font-weight:600;color:var(--pine)}.table-stack td:first-child:before{display:none}}.review{border-left:3px solid var(--sage);padding-left:1.25rem;margin:1.25rem 0;font-style:italic;color:var(--muted)}.review footer{font-style:normal;font-weight:600;color:var(--pine);font-size:.9rem;margin-top:.5rem}.link-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.6rem 2rem;gap:.6rem 2rem}.link-grid li{padding:.55rem 0;border-bottom:1px solid var(--line)}.link-grid a{min-height:44px;display:flex;align-items:center;text-decoration:none}.link-grid a:hover{text-decoration:underline}.sources{font-size:.88rem;color:var(--muted)}.sources h2{font-size:1.1rem}.sources a{overflow-wrap:anywhere}.site-footer{background:var(--pine-deep);color:#d7dccd}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:2rem;gap:2rem;padding:3.5rem 1.25rem 2rem}.footer-grid>*{min-width:0}.footer-brand{font-family:ui-serif,Georgia,serif;color:var(--cream);font-size:1.1rem;margin-bottom:.6rem}.footer-h{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-soft);margin-bottom:.7rem}.site-footer .muted{color:#b9c1ac}.site-footer a{overflow-wrap:anywhere}.site-footer a:hover{color:var(--cream)}.footer-links{display:flex;flex-direction:column;gap:.35rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.25rem;font-size:.82rem}@media (pointer:coarse){.footer-links{gap:0}.footer-links a{padding:.6rem 0}}@media (max-width:600px){.footer-grid{grid-template-columns:1fr 1fr;column-gap:1.25rem}.footer-grid>:nth-child(-n+2){grid-column:1/-1}}:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.mobile-menu{display:none}.desktop-cta{display:inline-block}.mobile-menu-btn{display:grid;place-items:center;width:44px;height:44px;margin-right:-10px;background:none;border:0;border-radius:999px;color:var(--pine);cursor:pointer}.mobile-menu-panel{position:fixed;inset:var(--header-h) 0 0 0;background:var(--cream);padding:1.5rem 1.25rem 2rem;gap:.5rem;z-index:60;overflow-y:auto;overscroll-behavior:contain}.mobile-menu-panel,.mobile-nav{display:flex;flex-direction:column}.mobile-nav a{font-family:ui-serif,Georgia,serif;font-size:1.35rem;color:var(--pine);padding:.7rem 0;border-bottom:1px solid var(--line)}.mobile-menu-panel .btn{margin-top:1rem;text-align:center}.mobile-menu-contact{display:flex;gap:1.75rem;margin-top:1.25rem;font-weight:600}.mobile-menu-contact a{color:var(--sage);padding:.6rem 0}.mobile-book-bar,.mobile-book-bar-spacer{display:none}@media (max-width:1024px){.desktop-cta,.nav{display:none}.mobile-menu{display:block;margin-left:auto}.mobile-book-bar{display:flex;align-items:center;justify-content:center;height:var(--book-bar-h);position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--pine);color:var(--cream);font-weight:600;box-shadow:0 -4px 20px rgba(0,0,0,.18)}.mobile-book-bar-spacer{display:block;height:var(--book-bar-h);background:var(--pine-deep)}}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.75rem;gap:.75rem;list-style:none;margin:0;padding:0}.gallery>li{list-style:none;min-width:0}.gallery-item{position:relative;display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;margin:0;background:var(--cream-2);border-radius:10px;overflow:hidden;cursor:zoom-in;box-shadow:var(--shadow)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}@media (hover:hover){.gallery-item:hover img{transform:scale(1.04)}}.gallery-item:focus-visible{outline:2px solid var(--sage);outline-offset:3px}.gallery-note{color:var(--muted);font-size:.85rem;margin-top:.75rem}.lightbox{position:fixed;inset:0;z-index:100;background:rgb(20,28,21);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;color:#e9e6d8}.lightbox-count{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-soft)}.lightbox-stage{position:relative;min-height:0;display:grid;place-items:center;padding:0 1rem}.lightbox-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:8px}.lightbox-caption{padding:1rem 1.5rem 2rem;margin:0;color:#cfd4c4;font-size:.9rem;text-align:center;max-width:70ch;justify-self:center}.lightbox-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:var(--cream);border-radius:999px;width:44px;height:44px;font-size:1.35rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}.lightbox-btn:hover{background:rgba(255,255,255,.24)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(20,28,21,.6)}.lightbox-nav:hover{background:rgba(20,28,21,.85)}.lightbox-prev{left:.25rem}.lightbox-next{right:.25rem}@media (max-width:700px){.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.lightbox-caption{padding:.75rem 1rem 1.5rem;font-size:.82rem}}@media (max-width:480px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item img{transition:none}.gallery-item:hover img{transform:none}.card{transition:none}.card:hover{transform:none}}.full-bleed{position:relative;overflow:hidden;background:var(--pine-deep);height:clamp(340px,58vh,620px);display:grid;align-items:end}.full-bleed-short{height:clamp(260px,40vh,420px)}.full-bleed-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.full-bleed:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,42,32,.05),rgba(30,42,32,.04) 42%,rgba(30,42,32,.74));z-index:1}.full-bleed-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.25rem clamp(1.75rem,5vw,3rem)}.full-bleed .eyebrow{color:var(--sage-soft);margin-bottom:.5rem}.full-bleed-caption{font-family:ui-serif,Georgia,Times New Roman,serif;font-weight:600;color:var(--cream);font-size:clamp(1.35rem,3.4vw,2.2rem);line-height:1.2;max-width:24ch}.tour{position:relative;display:block;aspect-ratio:16/9;margin:.75rem 0 1.5rem;border-radius:10px;overflow:hidden;background:var(--pine-deep)}.tour iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tour-poster{object-fit:cover}.tour-launch:after{content:"";position:absolute;inset:0;background:rgba(30,42,32,.35);transition:background .2s}.tour-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.3rem;border-radius:999px;background:var(--cream);color:var(--pine);font-weight:600;white-space:nowrap;box-shadow:var(--shadow)}@media (hover:hover){.tour-launch:hover:after{background:rgba(30,42,32,.2)}}@media (max-width:700px){.tour{aspect-ratio:4/3}}@media (max-height:500px),(max-width:700px){#message-preview{display:none!important}}.booking-widget{margin:1.5rem 0}.booking-widget-host{min-height:520px}.booking-widget-fallback{margin-top:.75rem;font-size:.9rem}.price-strip{margin:1.25rem 0;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55)}.price-strip dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:.85rem 1.25rem;gap:.85rem 1.25rem;margin:0}.price-strip dt{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-ink)}.price-strip dd{margin:.15rem 0 0;font-weight:600;color:var(--pine)}.price-strip-note{margin:.9rem 0 0;font-size:.92rem}.nightly-range{margin:1.1rem 0 0;font-size:.95rem}.booking-widget-host{scroll-margin-top:calc(var(--header-h) + 1rem)}.before-you-book{margin:1.25rem 0;padding:.9rem 1.15rem;border-left:4px solid var(--sage);background:rgba(255,255,255,.55);border-radius:0 12px 12px 0}.before-you-book h2{margin:0 0 .4rem;font-size:1.05rem}.before-you-book ul{margin:0;padding-left:1.1rem}.before-you-book li{margin:.2rem 0}.inquiry-form{display:grid;grid-gap:1rem;gap:1rem;margin:1rem 0 2rem}.inq-row{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media (min-width:640px){.inq-row{grid-template-columns:1fr 1fr}}.inq-field label{display:block;font-weight:600;margin-bottom:.3rem}.inquiry-form input[type=date],.inquiry-form input[type=email],.inquiry-form input[type=number],.inquiry-form input[type=tel],.inquiry-form input[type=text],.inquiry-form select,.inquiry-form textarea{width:100%;box-sizing:border-box;padding:.7rem .8rem;font:inherit;color:inherit;background:#fff;border:1px solid var(--line);border-radius:8px}.inquiry-form [aria-invalid=true]{border-color:#a33a2a}.inq-check{display:flex;gap:.5rem;align-items:center}.inq-hint{margin:.3rem 0 0;font-size:.88rem;color:var(--sage-ink)}.inq-error{margin:.3rem 0 0;font-size:.92rem;color:#a33a2a}.inq-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.inq-success{padding:1.25rem 1.4rem;border:1px solid var(--line);border-left:4px solid var(--sage);border-radius:0 12px 12px 0;background:rgba(255,255,255,.55);margin:1rem 0 2rem}