@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Hanken+Grotesk:wght@400;500;600;700&display=swap");:root{--paper:#f5f0e5;--paper-2:#ede6d6;--ink:#1c1815;--forest:#1f3a2e;--forest-2:#2c4d3d;--brass:#b0883c;--brass-soft:#c9a75e;--terra:#bf5e3c;--stone:#d9d0be;--muted:#6b6355;--maxw:1120px;--gap:clamp(1rem,2.5vw,2rem);--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Hanken Grotesk",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100svh}main{flex:1 0 auto}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.05;margin:0;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gap);padding-right:var(--gap)}.eyebrow{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted);max-width:46ch}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:.95rem;padding:.85rem 1.5rem;border-radius:2px;cursor:pointer;border:1px solid transparent;transition:transform .18s ease,background .18s ease,color .18s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--forest);color:var(--paper)}.btn-primary:hover{background:var(--forest-2)}.btn-brass{background:var(--brass);color:var(--ink)}.btn-brass:hover{background:var(--brass-soft)}.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--stone)}.nav-inner{justify-content:space-between;height:68px}.brandmark,.nav-inner{display:flex;align-items:center}.brandmark{gap:.65rem}.logo-crest{width:40px;height:40px;border-radius:50%;object-fit:contain;display:block;background:var(--forest);padding:2px}.brandname{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.01em}.nav-links{display:flex;gap:1.6rem;align-items:center}.nav-links a{font-size:.92rem;position:relative;padding:2px 0}.nav-toggle{display:none;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;padding:0}.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--brass);transition:width .25s ease}.nav-links a:hover:after{width:100%}.home-main{display:flex;flex-direction:column}.home-main .split{flex:1 1 auto}.split{display:grid;grid-template-columns:1fr 1fr;min-height:0}.panel,.split{position:relative}.panel{overflow:hidden;display:flex;align-items:flex-end;padding:clamp(1.5rem,4vw,3.5rem);color:var(--paper);transition:flex .4s ease;isolation:isolate;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;font-family:inherit;text-align:left;width:100%;cursor:pointer}.panel:before{z-index:-2;background-size:cover;background-position:50%;transform:scale(1.04);transition:transform .8s ease}.panel:after,.panel:before{content:"";position:absolute;inset:0}.panel:after{z-index:-1;background:linear-gradient(180deg,rgba(20,18,15,.15),rgba(20,18,15,.78));transition:background .4s ease}.panel:hover:before{transform:scale(1.1)}.panel:hover:after{background:linear-gradient(180deg,rgba(31,58,46,.25),rgba(20,18,15,.82))}.panel-hosts:before{background-image:var(--img-hosts)}.panel-guests:before{background-image:var(--img-guests)}.panel-body{max-width:30ch}.panel .eyebrow{color:#efd08c;font-size:.9rem;letter-spacing:.26em;margin-bottom:.75rem;text-shadow:0 1px 8px rgba(20,18,15,.6)}.panel h2{color:var(--paper);font-size:clamp(2rem,4vw,3.1rem)}.panel p{color:hsla(41,44%,93%,.82);margin:.7rem 0 1.4rem;font-size:1.02rem}.split-seam{top:0;bottom:0;width:1px;background:var(--brass);opacity:.5;z-index:2;transform:translateX(-50%)}.split-crest,.split-seam{position:absolute;left:50%;pointer-events:none}.split-crest{top:50%;transform:translate(-50%,-50%);z-index:3;width:60px;height:60px;display:grid;place-items:center;background:var(--forest);border:1.5px solid var(--brass);border-radius:50%;overflow:hidden}.split-crest img{width:100%;height:100%;object-fit:contain;padding:3px;border-radius:50%;display:block}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(20,18,15,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1.2rem;overflow-y:auto;animation:modal-fade .2s ease}.modal{position:relative;width:100%;max-width:480px;background:var(--paper);border:1px solid var(--stone);border-radius:4px;padding:clamp(1.6rem,4vw,2.4rem);box-shadow:0 24px 60px rgba(20,18,15,.4);max-height:calc(100svh - 2.4rem);overflow-y:auto;animation:modal-rise .24s ease}.modal-head{margin-bottom:1.3rem;padding-right:2rem}.modal-head h2{font-size:clamp(1.6rem,3vw,2rem);margin-top:.4rem}.modal-head .modal-subtext{margin-top:.35rem;font-weight:600;color:var(--brass)}.modal-head .lede{margin-top:.55rem}.modal-close{position:absolute;top:.7rem;right:.8rem;width:36px;height:36px;display:grid;place-items:center;background:transparent;border:0;cursor:pointer;font-size:1.7rem;line-height:1;color:var(--muted);border-radius:50%;transition:background .18s ease,color .18s ease}.modal-close:hover{background:var(--paper-2);color:var(--ink)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.section{padding:clamp(3.5rem,8vw,6rem) 0}.section-tight{padding:clamp(2.5rem,5vw,3.5rem) 0}.duo{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:clamp(1.5rem,4vw,3.5rem);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}.duo img{width:100%;height:100%;max-height:480px;object-fit:cover;border-radius:2px}.on-forest{background:var(--forest)}.on-forest,.on-forest h2,.on-forest h3{color:var(--paper)}.on-forest .eyebrow{color:var(--brass-soft)}.on-forest .lede{color:hsla(41,44%,93%,.78)}.form-card{background:var(--paper-2);border:1px solid var(--stone);border-radius:3px;padding:clamp(1.5rem,3vw,2.2rem)}.field{margin-bottom:1rem}.field-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem}.field-row .field{margin-bottom:1rem}.field-row .field label{line-height:1.2;min-height:2.4em}.field label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-bottom:.35rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:.7rem .85rem;font-family:var(--font-body);font-size:.95rem;background:var(--paper);border:1px solid var(--stone);border-radius:2px;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}.field-hp{position:absolute;left:-9999px}.form-note{font-size:.82rem;color:var(--muted);margin-top:.8rem}.form-status{margin-top:.9rem;font-size:.92rem}.form-status.ok{color:var(--forest)}.form-status.err{color:var(--terra)}.channels{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.channel{display:flex;align-items:center;gap:.7rem;padding:1rem 1.1rem;background:var(--paper-2);border:1px solid var(--stone);border-radius:2px;transition:transform .18s ease,border-color .18s ease}.channel:hover{transform:translateY(-2px);border-color:var(--brass)}.channel .ch-ico{width:22px;height:22px;color:var(--forest);flex:none}.channel .ch-l{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.channel .ch-v{font-weight:600;font-size:.95rem}.faq-item{border-bottom:1px solid var(--stone);padding:1.3rem 0}.faq-item h3{font-size:1.25rem;margin-bottom:.5rem}.faq-item p{margin:0;color:var(--muted)}.footer{background:var(--ink);color:var(--paper);padding:3rem 0 2rem}.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.footer a{color:hsla(41,44%,93%,.75);font-size:.9rem}.footer a:hover{color:var(--brass-soft)}.footer-links{display:flex;gap:1.4rem;flex-wrap:wrap}.footer-bottom{margin-top:2rem;padding-top:1.2rem;border-top:1px solid hsla(41,44%,93%,.15);font-size:.82rem;color:hsla(41,44%,93%,.55)}.fab{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.22);transition:transform .2s ease}.fab:hover{transform:scale(1.08)}.fab svg{width:30px;height:30px}.page-hero{padding:clamp(3rem,7vw,5rem) 0 clamp(1.5rem,4vw,2.5rem);border-bottom:1px solid var(--stone)}.page-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-top:.5rem}.prose-p{font-size:1.08rem;color:var(--ink);margin:0 0 1.2rem}.prose-p:last-child{margin-bottom:0}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.1rem;gap:1.1rem;margin-top:1.9rem}.about-card{padding:1.6rem 1.4rem;border:1px solid hsla(41,44%,93%,.18);border-radius:3px;background:rgba(0,0,0,.12)}.about-card h3{color:var(--paper);font-size:1.2rem;margin-bottom:.5rem}.about-card p{margin:0;color:hsla(41,44%,93%,.78);font-size:.95rem}.admin-wrap{max-width:720px}.admin-notice{padding:.8rem 1rem;border-radius:3px;margin-bottom:1.1rem;font-size:.92rem}.admin-notice.ok{background:rgba(31,58,46,.1);color:var(--forest);border:1px solid rgba(31,58,46,.25)}.admin-notice.ok a{color:var(--forest);font-weight:600;text-decoration:underline}.admin-notice.err{background:rgba(191,94,60,.1);color:var(--terra);border:1px solid rgba(191,94,60,.3)}.admin-check{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:var(--muted);margin-top:.4rem}.admin-check input{width:auto}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.2rem;gap:1.2rem}.review-card{display:flex;flex-direction:column;padding:1.9rem 1.6rem;background:var(--paper-2);border:1px solid var(--stone);border-radius:3px}.review-stars{color:var(--brass);letter-spacing:.15em;font-size:.95rem;margin-bottom:1rem}.review-quote{font-family:var(--font-display);font-size:1.18rem;line-height:1.45;color:var(--ink);margin:0 0 1.4rem}.review-attr{margin-top:auto}.review-name{font-weight:600;font-size:.95rem}.review-role{font-size:.85rem;color:var(--muted);margin-top:.15rem}.post-list{list-style:none;padding:0;margin:0}.post-item{border-bottom:1px solid var(--stone)}.post-item:first-child{border-top:1px solid var(--stone)}.post-item a{display:block;padding:1.8rem 0}.post-date{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:.55rem}.post-title{font-size:clamp(1.4rem,2.8vw,1.95rem);margin-bottom:.55rem;transition:color .18s ease}.post-excerpt{color:var(--muted);margin:0 0 .7rem}.post-more{font-size:.9rem;font-weight:600;color:var(--forest)}.post-item a:hover .post-title{color:var(--brass)}.post-body{font-size:1.08rem;color:var(--ink)}.post-body>:first-child{margin-top:0}.post-body h2{font-size:clamp(1.5rem,3vw,2rem);margin:2.1rem 0 .8rem}.post-body h3{font-size:1.3rem;margin:1.7rem 0 .6rem}.post-body p{margin:0 0 1.15rem}.post-body ol,.post-body ul{margin:0 0 1.15rem 1.3rem;padding:0}.post-body li{margin:.35rem 0}.post-body a{color:var(--brass);text-decoration:underline;text-underline-offset:2px}.post-body blockquote{margin:1.5rem 0;padding:.3rem 0 .3rem 1.3rem;border-left:3px solid var(--brass);color:var(--muted);font-style:italic}.post-body img{border-radius:3px;margin:1.4rem 0}.post-body code{background:var(--paper-2);padding:.1rem .35rem;border-radius:3px;font-size:.92em}.residence-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.4rem;gap:1.4rem}.residence-card{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--stone);border-radius:3px;overflow:hidden;transition:transform .18s ease,border-color .18s ease}.residence-card:hover{transform:translateY(-3px);border-color:var(--brass)}.residence-media{position:relative;aspect-ratio:3/2;background:var(--stone);overflow:hidden}.residence-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.residence-card:hover .residence-media img{transform:scale(1.05)}.residence-media-empty{width:100%;height:100%;background:var(--stone)}.residence-price{position:absolute;left:.8rem;bottom:.8rem;background:var(--forest);color:var(--paper);font-size:.82rem;font-weight:600;padding:.35rem .7rem;border-radius:2px}.residence-body{padding:1.2rem 1.3rem 1.5rem;display:flex;flex-direction:column;flex:1 1}.residence-loc{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:.45rem}.residence-title{font-size:1.4rem;margin-bottom:.6rem;transition:color .18s ease}.residence-card:hover .residence-title{color:var(--brass)}.residence-facts{margin-top:auto;font-size:.9rem;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.9rem;gap:.9rem}.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:3px}.gallery img.gallery-lead{grid-column:1/-1;aspect-ratio:16/9}.residence-detail{display:grid;grid-template-columns:1.35fr .65fr;grid-gap:clamp(1.5rem,4vw,3.5rem);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.fact-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--stone)}.fact-list li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--stone);font-size:.95rem}.fact-list .fact-k{color:var(--muted)}.fact-list .fact-v{font-weight:600;text-align:right}.residence-cta{margin-top:1.4rem;width:100%;justify-content:center}.residence-rating{display:flex;align-items:center;gap:.6rem;margin-top:.75rem;font-size:.95rem;color:var(--muted)}.residence-rating .review-stars{margin:0}.service-group{margin-top:2rem}.service-group:first-child{margin-top:0}.service-group h3{font-size:1.35rem;margin-bottom:.9rem}.service-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0 2rem;gap:0 2rem}.service-item{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem 0;border-bottom:1px solid var(--stone);cursor:pointer}.service-item input{margin:.25rem 0 0;width:1.05rem;height:1.05rem;flex:none;accent-color:var(--forest);cursor:pointer}.service-item .s-text{display:flex;flex-direction:column}.service-item .s-name{font-weight:600}.service-item .s-price{font-weight:500;color:var(--brass);white-space:nowrap}.service-item .s-desc{font-size:.88rem;color:var(--muted);margin-top:.15rem}.svc-bar{position:-webkit-sticky;position:sticky;bottom:1rem;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding:.75rem .85rem .75rem 1.1rem;background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--stone);border-radius:3px;box-shadow:0 10px 28px rgba(20,18,15,.16)}.svc-bar-count{font-size:.92rem;font-weight:600;color:var(--muted)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{transform:none;background:var(--forest)}.cal{display:flex;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap}.cal-month{flex:1 1 240px;min-width:240px}.cal-title{font-family:var(--font-display);font-size:1.05rem;margin-bottom:.7rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.cal-wd{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding:2px 0 4px}.cal-day{aspect-ratio:1;display:grid;place-items:center;font-size:.85rem;border-radius:3px;color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cal-empty{visibility:hidden}.cal-day.is-off{color:color-mix(in srgb,var(--muted) 60%,transparent);text-decoration:line-through;background:var(--paper-2)}.cal-day.is-avail{cursor:pointer}.cal-day.is-avail:hover{background:var(--stone)}.cal-day.is-range{background:color-mix(in srgb,var(--forest) 16%,transparent)}.cal-day.is-sel{background:var(--forest);color:var(--paper)}.cal-legend{display:flex;align-items:center;gap:.5rem;margin-top:.9rem;font-size:.8rem;color:var(--muted)}.cal-legend-swatch{width:14px;height:14px;border-radius:3px;background:var(--paper-2);border:1px solid var(--stone)}.cal-clear{margin-left:auto;background:none;border:0;color:var(--forest);font-weight:600;cursor:pointer;font-size:.8rem;text-decoration:underline}.cal-picked{font-size:.9rem;color:var(--muted);margin-bottom:.7rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:baseline}.cal-picked strong{color:var(--ink);font-weight:600;margin-right:.15rem}.cal-picked-arrow{color:var(--brass)}.field label.pets-toggle{display:flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--ink);letter-spacing:0;cursor:pointer}.field label.pets-toggle input{width:auto}.pets-row{margin-top:.7rem}@media (max-width:860px){.nav-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--stone);padding:.4rem var(--gap) 1.1rem;box-shadow:0 12px 24px rgba(20,18,15,.12);display:none}.nav-links.open{display:flex}.nav-links a{font-size:1rem;padding:.75rem 0;border-bottom:1px solid var(--stone)}.nav-links a:last-child{border-bottom:0}.nav-links a:after{display:none}.split{grid-template-columns:1fr;min-height:auto}.panel{min-height:calc((100svh - 70px) / 2);padding:1.1rem 1.3rem;justify-content:flex-end}.panel-body{max-width:none}.panel .eyebrow{margin-bottom:.5rem}.panel p{margin:.5rem 0 .85rem;font-size:.98rem;line-height:1.45}.panel .btn{padding:.65rem 1.2rem}.split-seam{left:0;right:0;top:50%;bottom:auto;width:100%;height:1px}.split-crest{display:none}.duo{grid-template-columns:1fr}.duo img{max-height:320px}.about-grid,.channels,.gallery,.residence-grid,.reviews-grid{grid-template-columns:1fr}.gallery img,.gallery img.gallery-lead{aspect-ratio:3/2}.residence-detail,.service-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.panel:before{transform:none!important}}