:root{--paper:#f8f5ee;--ink:#344b51;--muted:#758080;--blue:#506f7c;--line:#d9ddd6;--sand:#eae4d7;--pad:clamp(20px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(3rem,6.8vw,7.6rem)}h2{font-size:clamp(2.3rem,4.2vw,4.6rem)}h3{font-size:2.2rem}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ae8050;outline-offset:4px}button,input,select{color:inherit}main{min-height:65vh}main>*{min-width:0}[hidden]{display:none!important}.skip{position:fixed;z-index:100;top:-100px;background:white;padding:12px}.skip:focus{top:0}
.header{position:sticky;top:0;z-index:20;min-height:96px;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px;background:rgba(248,245,238,.97);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font:26px/1.1 Georgia,serif;letter-spacing:-.04em;flex-shrink:0}.brand-icon{font-size:52px;line-height:.5;color:var(--blue)}.brand small{display:block;font:9px/1.4 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin-top:7px}.header nav{display:flex;align-items:center;gap:34px;font-size:13px}.header nav>a[aria-current]{text-decoration:underline;text-underline-offset:7px}.button{border:1px solid var(--blue);background:var(--blue);color:white;border-radius:5px;padding:17px 25px;display:inline-flex;justify-content:center;align-items:center;gap:30px;font:500 13px/1.45 Arial,sans-serif;transition:background .2s,transform .2s}.button:hover{background:#3a5966;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.small{padding:13px 20px}.menu-button{display:none}.eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:500;margin-bottom:24px}.hero{padding:46px var(--pad) 62px;display:grid;grid-template-columns:1fr .95fr;gap:6vw;align-items:center}.hero-copy{padding:32px 0 0;min-width:0}.hero h1{margin-bottom:25px}.lead{color:var(--muted);font-size:17px;line-height:1.7}.hero-note{display:block;color:var(--muted);font-size:11px;margin-top:65px}.underlink{display:inline-flex;gap:28px;align-items:center;border:0;border-bottom:1px solid currentColor;padding:0 0 5px;background:none;font-size:12px;line-height:1.6}.hero-picture{height:650px;position:relative}.hero-picture img{height:100%;border-radius:48% 48% 4px 4px;object-position:center 63%}.picture-label{position:absolute;right:-15px;bottom:36px;background:var(--paper);padding:16px 25px;font:italic 22px Georgia,serif;transform:rotate(-5deg)}.search-wrap{padding:0 var(--pad)}.stay-search{display:grid;grid-template-columns:1fr 1fr .75fr 1.2fr;background:#fffdf8;border:1px solid var(--line);border-radius:7px;padding:20px;gap:18px;position:relative}.stay-search label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-right:1px solid var(--line);padding:0 16px}.stay-search input,.stay-search select{width:100%;min-width:0;display:block;border:0;background:transparent;font-size:15px;margin-top:8px;letter-spacing:0}.search-error{grid-column:1/-1;color:#9d4232;font-size:13px;margin:0}.search-error:empty{display:none}
.section{padding:110px var(--pad)}.intro{display:grid;grid-template-columns:.45fr 1fr .8fr;gap:5vw;align-items:start}.intro>div{font-size:15px;color:#647171}.intro h2{font-size:clamp(2.3rem,3.6vw,4rem)}.intro .eyebrow{margin-top:10px}.homes{background:#eeeee5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:45px}.section-heading h2{margin:0}.house-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card-photo{display:block;position:relative;overflow:hidden;border-radius:5px}.card-photo img{aspect-ratio:4/4.6;transition:transform .6s}.card-photo:hover img{transform:scale(1.035)}.card-photo>span{position:absolute;top:18px;left:18px;background:var(--paper);padding:5px 12px;border-radius:30px;font-size:10px}.card-photo>b{position:absolute;right:18px;bottom:18px;width:40px;height:40px;background:var(--paper);border-radius:50%;text-align:center;line-height:40px;font-weight:400}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.card-top h3{margin:0}.card-top>span{font-size:14px;white-space:nowrap}.card-top small{font-size:10px;color:var(--muted)}.house-card>p{color:var(--muted);font-size:11px;margin:9px 0 0}.wide-story{position:relative;min-height:620px;display:flex;align-items:center;padding:85px var(--pad);color:white}.wide-story>img{position:absolute;inset:0;height:100%;object-position:50% 56%}.wide-story:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,45,49,.8),rgba(21,45,49,.1))}.wide-story>div{position:relative;z-index:1;max-width:520px}.wide-story p:not(.eyebrow){max-width:360px;color:#e3e9e4;margin-bottom:32px}.journal{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.journal>div{max-width:490px}.journal p{color:#677778}.journal>img{height:540px;border-radius:5px}.faq{padding-top:20px;max-width:1120px;margin:auto}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:16px}details p{color:#647171;margin:18px 0 0;max-width:750px;font-size:14px}footer{background:#dce5e5;padding:55px var(--pad) 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:55px}.footer-top p{font:28px/1.15 Georgia,serif;margin:0}.footer-bottom{border-top:1px solid #bdcccd;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#61777b}.page-title{padding:85px var(--pad) 65px;text-align:center}.page-title h1{font-size:clamp(3rem,6vw,6.4rem);margin-bottom:25px}.page-title>p:last-child{color:var(--muted);font-size:15px}.catalog{padding-top:35px}.filters{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:30px;font-size:13px}.filters button{margin-left:auto}input[type=checkbox]{accent-color:var(--blue);width:17px;height:17px;vertical-align:middle;margin-right:7px}#catalog-status{font-size:13px;color:var(--muted)}.note{font-size:11px!important;color:var(--muted)!important}.catalog>.note{margin-top:35px}.experiences{padding-top:0}.experience{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;margin-bottom:90px}.experience:nth-child(even)>img{order:2}.experience img{height:520px;border-radius:5px}.experience>div{max-width:480px}.experience p:not(.eyebrow){color:var(--muted)}.principles{background:var(--sand);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px}.principles h2{font-size:2.3rem}.principles p{color:#637374;font-size:14px}.contact-note{text-align:center;max-width:960px;margin:auto}.contact-note p{max-width:590px;margin:0 auto 28px}.detail-title{padding:45px var(--pad) 30px}.detail-title>div{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:35px}.detail-title h1{margin:0}.detail-title p{color:var(--muted);font-size:13px}.detail-gallery{padding:0 var(--pad);display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.detail-gallery img{height:510px;border-radius:5px}.detail-copy{display:grid;grid-template-columns:1.2fr .7fr;gap:12vw;align-items:start}.detail-copy p{color:#647171}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:25px 0;list-style:none;font-size:13px}.amenities li:before{content:"✓";margin-right:10px;color:var(--blue)}.rate-box{padding:32px;background:#eeeae0;border-radius:6px;position:sticky;top:125px}.rate-box strong{font:36px Georgia,serif}.rate-box small{font:12px Arial}.rate-box .button{display:flex;margin:28px 0 15px}.booking{padding-top:0;display:grid;grid-template-columns:1fr .8fr;gap:8vw;max-width:1200px;margin:auto}.booking form{display:grid;gap:25px;align-content:start}.booking label{display:grid;gap:8px;font-size:12px}.booking input:not([type=checkbox]),.booking select{width:100%;min-width:0;padding:14px 12px;background:#fffdf8;border:1px solid #bfcac8;border-radius:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:16px;font-size:16px}.booking .check{display:flex;align-items:center;margin:12px 0}.booking-summary{border:1px solid var(--line);border-radius:5px;overflow:hidden;align-self:start}.booking-summary>img{height:220px}.booking-summary>div{padding:25px}.booking-summary h2{font-size:2.5rem}.booking-summary dl>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px;font-size:13px}.booking-summary dd{margin:0;white-space:nowrap}.total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.total strong{font-size:23px}#booking-error{color:#9d4232;margin:0;font-size:13px}.button:disabled{opacity:.5;cursor:not-allowed}dialog{width:min(520px,calc(100% - 30px));border:0;border-radius:8px;background:var(--paper);color:var(--ink);padding:45px;max-height:90vh;overflow:auto}dialog::backdrop{background:#233d48aa;backdrop-filter:blur(5px)}dialog h2{font-size:2.7rem}dialog p{font-size:14px}.close-dialog{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px}
@media(max-width:1050px){.header nav{gap:20px}.hero-picture{height:560px}.intro{grid-template-columns:1fr 1fr}.intro>.eyebrow{grid-column:1/-1}.house-grid{gap:18px}.card-top{display:block}.card-top>span{display:block;margin-top:10px}.footer-bottom{flex-wrap:wrap}.hero{gap:35px}.hero-note{margin-top:35px}.stay-search{gap:10px}.stay-search label{padding:0 5px}}
@media(max-width:760px){.header{min-height:78px}.brand{font-size:23px}.menu-button{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:5px;padding:10px;background:none;font-size:12px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px var(--pad);box-shadow:0 12px 15px #344b5110;align-items:stretch}.header nav.open{display:grid;gap:24px}.hero{padding-top:35px;grid-template-columns:1fr;gap:35px}.hero-copy{padding-top:0}.hero h1{font-size:clamp(3.2rem,12vw,5rem)}.hero-note{display:none}.hero-picture{height:440px;width:100%;max-width:500px;justify-self:center}.picture-label{right:0;font-size:20px}.stay-search{grid-template-columns:1fr 1fr;padding:18px}.stay-search label{border:0;padding:0}.stay-search .button{gap:8px;padding:14px;font-size:12px}.section{padding:70px var(--pad)}.intro{grid-template-columns:1fr;gap:15px}.section-heading{display:block}.section-heading>.underlink{margin-top:22px}.house-grid{grid-template-columns:1fr;gap:42px}.card-photo img{aspect-ratio:5/4}.card-top{display:flex;margin-top:17px}.card-top>span{margin:0}.wide-story{min-height:530px}.journal,.experience{grid-template-columns:1fr;gap:32px}.journal>img,.experience img{height:420px}.experience:nth-child(even)>img{order:0}.experience{margin-bottom:60px}.principles{grid-template-columns:1fr;gap:25px}.footer-top{display:grid;gap:30px}.footer-top .button{justify-self:start}.footer-bottom{display:grid;gap:15px}.page-title{padding-top:55px}.page-title h1{font-size:clamp(2.7rem,10vw,4.5rem)}.catalog{padding-top:28px}.filters{gap:14px}.filters button{margin:0}.detail-title>div{display:block}.detail-title p{margin:15px 0}.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:330px}.detail-gallery img+img{height:240px}.detail-copy{grid-template-columns:1fr;gap:35px}.rate-box{position:static}.booking{grid-template-columns:1fr;gap:35px;padding-top:0}.booking-summary{grid-row:1}.booking-summary>img{height:150px}.form-row{gap:10px}.amenities{grid-template-columns:1fr}.eyebrow{font-size:9px}.compact{padding-bottom:35px}dialog{padding:38px 25px}.faq{padding-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* Shared illustrated mark replaces the decorative character. */
.brand .brand-icon{display:block;width:44px;height:44px;object-fit:contain;flex:0 0 44px}
