:root{--cream:#f4efe6;--paper:#fbf9f4;--ink:#332e29;--forest:#594739;--sage:#c6b9a6;--gold:#b39561;--line:rgba(51,46,41,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300;line-height:1.65}section[id]{scroll-margin-top:86px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08}h1{font-size:clamp(3rem,7vw,6.7rem);letter-spacing:-.04em}h2{font-size:clamp(2.35rem,4.5vw,4.6rem);letter-spacing:-.035em}h3{font-family:"Playfair Display",serif;font-size:1.7rem;font-weight:500;line-height:1.2}a{color:inherit}.section{padding:110px max(6vw,30px)}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.19em;font-size:.75rem;font-weight:600}.eyebrow{color:#e5d5b7}.eyebrow.dark{color:var(--gold)}
.site-header{height:86px;padding:0 max(4vw,24px);display:flex;align-items:center;justify-content:space-between;background:rgba(251,249,244,.93);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1}.brand-house{color:var(--gold);font-size:27px}.brand strong{display:block;font-family:"Playfair Display",serif;font-size:1.12rem;font-weight:600}.brand small{display:block;margin-top:7px;font-size:.6rem;text-transform:uppercase;letter-spacing:.17em}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{text-decoration:none;font-size:.82rem;font-weight:500}.nav-cta{border:1px solid var(--ink);padding:11px 19px}.menu-button{display:none;background:none;border:1px solid var(--ink);padding:8px 12px}
.hero{position:relative;min-height:calc(100vh - 86px);display:flex;align-items:center;color:white;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background:linear-gradient(135deg,#60776c,#283b34)}.hero-image:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.15),transparent 30%),linear-gradient(110deg,rgba(28,42,36,.1),rgba(20,32,27,.5))}.hero-overlay{background:linear-gradient(90deg,rgba(25,38,32,.72),rgba(25,38,32,.1))}.hero-content{position:relative;z-index:2;width:min(1050px,88vw);padding:80px max(6vw,30px)}.hero-content h1{margin:18px 0 24px}.hero-lead{max-width:620px;font-size:1.18rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.button{display:inline-block;padding:15px 24px;text-decoration:none;font-weight:500;font-size:.86rem;letter-spacing:.02em}.primary{background:var(--paper);color:var(--ink)}.ghost{border:1px solid rgba(255,255,255,.7)}.quick-facts{position:absolute;z-index:3;right:max(5vw,25px);bottom:0;display:flex;background:var(--cream);color:var(--ink)}.quick-facts div{padding:22px 30px;border-right:1px solid var(--line);min-width:130px}.quick-facts strong,.quick-facts span{display:block}.quick-facts strong{font-family:"Playfair Display",serif;font-size:2rem}.quick-facts span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.intro{display:grid;grid-template-columns:1fr 2.2fr;gap:10vw}.section-label{color:var(--gold);padding-top:12px}.intro-copy{max-width:900px}.intro-copy .large{font-size:1.25rem;color:#43504b}.intro-copy>p:last-child{max-width:690px}.photo-grid{padding-top:0;display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:280px 280px;gap:16px}.photo{position:relative;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(145deg,#d6d0c4,#b8b5aa);color:white}.photo.tall{grid-row:1/3}.photo span,.location-photo span{background:rgba(35,48,43,.7);padding:7px 12px;font-size:.74rem}.rooms{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:end}.section-heading>p{max-width:520px}.room-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:70px}.room-cards article{padding:35px 35px 15px 0;border-right:1px solid var(--line)}.room-cards article+article{padding-left:35px}.room-cards article:last-child{border-right:0}.room-number{color:var(--gold);font-size:.75rem;letter-spacing:.15em}.room-note{text-align:center;margin:45px 0 0;font-size:.86rem}.amenities{background:var(--forest);color:white}.amenities-panel{display:grid;grid-template-columns:.8fr 1.2fr}.amenities-panel>h2{max-width:700px}.amenities-panel>.eyebrow{grid-column:1/3}.amenities-list{grid-column:2;margin-top:40px}.amenities-list div{display:grid;grid-template-columns:200px 1fr;gap:25px;padding:21px 0;border-top:1px solid rgba(255,255,255,.22)}.amenities-list strong{font-weight:500}.amenities-list span{color:rgba(255,255,255,.7)}
.location{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.location-photo{min-height:570px;background:linear-gradient(150deg,#b7c3bd,#71887c);display:flex;align-items:flex-end;padding:25px}.location-copy p{max-width:500px}.text-link{text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px;font-weight:500}.stay-info{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-top:45px;padding-bottom:45px}.stay-info div{border-right:1px solid var(--line);text-align:center}.stay-info div:last-child{border:0}.stay-info span,.stay-info strong{display:block}.stay-info span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#78817d}.stay-info strong{font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:500}.contact{background:var(--gold);color:white;text-align:center}.contact-inner{max-width:950px;margin:auto}.contact-inner>p{max-width:610px;margin-left:auto;margin-right:auto}.button.light{margin:25px 0 15px;background:white;color:var(--ink)}.contact-note{font-size:.72rem;opacity:.75}footer{padding:35px max(5vw,25px);display:flex;align-items:center;justify-content:space-between;font-size:.73rem}.footer-brand{font-size:1rem}
@media(max-width:850px){.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;padding:25px;background:var(--paper);flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu-button{display:block}.hero{min-height:760px}.hero-content{padding-bottom:210px}.quick-facts{left:20px;right:20px}.quick-facts div{flex:1;min-width:0;padding:18px 14px}.intro,.section-heading,.amenities-panel,.location{grid-template-columns:1fr}.amenities-list{grid-column:1}.amenities-panel>.eyebrow{grid-column:1}.room-cards{grid-template-columns:1fr}.room-cards article,.room-cards article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.location-photo{min-height:420px}.stay-info{grid-template-columns:1fr 1fr;gap:25px}.stay-info div:nth-child(2){border-right:0}.photo-grid{grid-template-columns:1fr;grid-template-rows:430px 230px 230px}.photo.tall{grid-row:auto}.section{padding:80px 25px}footer{flex-direction:column;gap:15px;text-align:center}}
@media(max-width:520px){h1{font-size:3.2rem}.hero-lead{font-size:1rem}.quick-facts strong{font-size:1.55rem}.quick-facts span{font-size:.6rem}.amenities-list div{grid-template-columns:1fr;gap:5px}.stay-info{grid-template-columns:1fr}.stay-info div,.stay-info div:nth-child(2){border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}}

.pricing{background:var(--paper)}.pricing-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;margin-bottom:65px}.pricing-heading>p{max-width:520px}.price-block{margin-top:42px}.price-block h3{margin-bottom:18px}.price-table-wrap{overflow-x:auto;border-top:1px solid var(--ink)}.price-table{width:100%;border-collapse:collapse;min-width:620px}.price-table th,.price-table td{padding:19px 22px;text-align:left;border-bottom:1px solid var(--line)}.price-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#6c7671;font-weight:600}.price-table td:first-child{font-weight:500}.price-table td:not(:first-child){font-family:"Playfair Display",serif;font-size:1.12rem}.top-term{margin-top:55px;background:var(--forest);color:white;padding:35px 40px;display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:center}.top-term div{display:grid}.top-term span{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;color:#e5d5b7}.top-term strong{font-family:"Playfair Display",serif;font-size:2.2rem;font-weight:500;line-height:1.2}.top-term small{opacity:.7}.top-term p{margin:0;color:rgba(255,255,255,.78)}.pricing-details{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line)}.pricing-details article{padding:28px 30px 5px 0;border-right:1px solid var(--line)}.pricing-details article+article{padding-left:30px}.pricing-details article:last-child{border-right:0}.pricing-details h3{font-size:1.35rem}.pricing-details p{font-size:.92rem}.alternative-stay{margin-top:42px;padding:28px 30px;border:1px solid var(--gold);background:#fff}.alternative-stay h3{font-size:1.35rem;margin-bottom:10px}.alternative-stay p{max-width:900px;margin:0}.pricing-note{margin:22px 0 0;padding:20px 24px;background:var(--cream);font-size:.88rem}
.pricing-heading-aside{max-width:520px}.pricing-heading-aside>p{font-size:1rem}.pricing-heading-aside>p:last-child{margin-bottom:0}.pricing-heading-room-note{margin-bottom:16px;line-height:1.65;color:#72695e}
.pricing-starting-price{display:block;margin-top:14px;font-size:1.15rem;font-weight:600;line-height:1.4;color:var(--ink)}
.pricing-starting-amount{font-size:1.8rem;white-space:nowrap}
.pricing-starting-conditions{display:block;margin-top:4px}
.house-rules{background:#fff}.rules-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:end;margin-bottom:55px}.rules-heading>p{max-width:540px}.rules-list{border-top:1px solid var(--ink)}.rules-list details{border-bottom:1px solid var(--line)}.rules-list summary{position:relative;cursor:pointer;list-style:none;padding:24px 52px 24px 0;font-family:"Playfair Display",serif;font-size:1.35rem;font-weight:500}.rules-list summary::-webkit-details-marker{display:none}.rules-list summary:after{content:"+";position:absolute;right:6px;top:18px;color:var(--gold);font-family:"DM Sans",sans-serif;font-size:1.7rem;font-weight:300}.rules-list details[open] summary:after{content:"−"}.rules-list details>div{max-width:960px;padding:0 50px 22px 0;color:#43504b}.rules-list ul{margin:0;padding-left:22px}.rules-list li+li{margin-top:7px}.rules-list p:last-child{margin-bottom:0}.rules-closing{margin:42px 0 0;font-family:"Playfair Display",serif;font-size:1.35rem;color:var(--gold)}
.terms{background:var(--cream)}.operator-card{display:grid;gap:4px;margin-bottom:48px;padding:28px 30px;background:#fff;border-left:3px solid var(--gold)}.operator-card strong{font-family:"Playfair Display",serif;font-size:1.35rem;font-weight:500}.operator-card a{text-decoration:none}.operator-card small{margin-top:12px;color:#737c78}.terms-list{border-top-color:var(--gold)}.terms-status{margin:38px 0 0;padding:18px 22px;background:#fff;font-size:.84rem;color:#6c7671}.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:25px 0 15px}.contact-actions .button{margin:0}.button.outline-light{border:1px solid rgba(255,255,255,.75)}

/* Real photography and final gallery layout */
.brand-logo{width:260px;height:84px;flex:none;mix-blend-mode:multiply;background-image:url('assets/logo.jpeg');background-size:100% auto;background-position:center 48%;background-repeat:no-repeat}
.brand-header{gap:14px;flex:none;white-space:nowrap}
.brand-mark{display:block;width:48px;height:62px;flex:none;background-image:url('assets/logo.jpeg');background-size:365px 365px;background-position:center -120px;background-repeat:no-repeat;mix-blend-mode:multiply}
.brand-header .brand-text{display:block}
.brand-header strong{font-size:1.48rem;font-weight:500;letter-spacing:-.035em;line-height:1.08}
.brand-header small{margin-top:6px;color:var(--gold);font-size:.63rem;font-weight:600;letter-spacing:.3em;line-height:1}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 48%;background:none}
.hero .hero-image{object-position:center 68%}
.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:420px 310px}
.photo.terrace{grid-column:3;grid-row:2}
.photo.terrace img{object-position:center 58%}
.hero-content h1{font-size:clamp(2.7rem,5.2vw,4.6rem);max-width:650px}
.hero-content{width:min(800px,88vw)}
.photo{display:block;margin:0;padding:0;overflow:hidden}
.photo.tall{grid-column:1/-1;grid-row:1}
.photo.tall img{object-position:center 55%}
.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.photo:hover img{transform:scale(1.02)}
.photo figcaption{position:absolute;left:18px;bottom:18px;background:rgba(35,48,43,.72);padding:7px 12px;font-size:.74rem}
.name-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center;padding-top:20px}
.story-photo{height:580px;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover}
.story-copy{max-width:620px}
.location-photos{position:relative;min-height:620px}
.location-main{width:82%;height:570px;object-fit:cover}
.location-small{position:absolute;width:42%;height:310px;object-fit:cover;right:0;bottom:0;border:10px solid var(--paper)}
.footer-brand{width:205px;height:62px}
.brand-logo.footer-brand{width:260px;height:128px;background-size:380px 380px;background-position:center -126px}
.gallery{background:var(--cream)}
.gallery-heading{display:grid;grid-template-columns:.55fr 1.3fr 1fr;gap:4vw;align-items:end;margin-bottom:55px}
.gallery-heading h2{margin-bottom:0}.gallery-heading>p:last-child{margin-bottom:8px}
.gallery-category{margin-top:72px;padding-top:28px;border-top:1px solid var(--line)}
.gallery-category:first-of-type{margin-top:0}
.gallery-category-heading{display:flex;align-items:baseline;gap:18px;margin-bottom:24px}
.gallery-category-heading span{color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.16em}
.gallery-category-heading h3{margin:0;font-size:2rem}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;grid-auto-rows:255px;gap:13px}
.gallery-item{margin:0;overflow:hidden;background:#d8d5ce}
.gallery-item{position:relative}
.coffee-card img{object-position:center top}
.shared-spaces .gallery-wide img{object-position:center 30%}
.gallery-item figcaption{position:absolute;left:18px;bottom:18px;background:rgba(35,48,43,.76);color:#fff;padding:7px 12px;font-size:.74rem}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.02)}
.gallery-item.gallery-feature{grid-column:span 2;grid-row:span 2}
.gallery-item.gallery-wide{grid-column:span 2}
.gallery-grid-compact,.gallery-grid-terrace{grid-template-columns:repeat(4,1fr)}
.gallery-grid-terrace .gallery-feature img{object-position:center 45%}
.location-links-only{display:block}
.location-links-only .location-copy{max-width:820px}
@media(max-width:850px){.brand-logo{width:190px;height:62px;background-position:center 48%}.name-story{grid-template-columns:1fr}.story-photo{height:480px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 260px 260px}.photo.tall{grid-column:1/3;grid-row:1}.photo.terrace{grid-column:1/3;grid-row:3}.location-photos{min-height:510px}.location-main{height:470px}.location-small{height:250px}}
@media(max-width:850px){.gallery-heading{grid-template-columns:1fr}.gallery-grid,.gallery-grid-compact,.gallery-grid-terrace{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}.gallery-category{margin-top:58px}}
@media(max-width:520px){.brand-logo{width:165px;height:58px}.photo-grid{display:block}.photo{height:280px;margin-bottom:12px}.photo.tall{height:420px}.location-photos{min-height:440px}.location-main{width:88%;height:410px}.location-small{height:205px}.gallery-grid,.gallery-grid-compact,.gallery-grid-terrace{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-item.gallery-feature,.gallery-item.gallery-wide{grid-column:auto;grid-row:auto}.gallery-category-heading h3{font-size:1.65rem}}
@media(max-width:520px){.brand-logo.footer-brand{width:240px;height:116px;background-size:350px 350px;background-position:center -116px}}
@media(max-width:520px){.brand-header{gap:8px}.brand-mark{width:38px;height:50px;background-size:290px 290px;background-position:center -95px}.brand-header strong{font-size:1.13rem}.brand-header small{font-size:.54rem;letter-spacing:.25em}.photo-grid{display:block}.photo{height:280px;margin-bottom:12px}.photo.tall{height:420px}.location-photos{min-height:440px}.location-main{width:88%;height:410px}.location-small{height:205px}.gallery-grid,.gallery-grid-compact,.gallery-grid-terrace{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-item.gallery-feature,.gallery-item.gallery-wide{grid-column:auto;grid-row:auto}.gallery-category-heading h3{font-size:1.65rem}}
@media(max-width:360px){.brand-mark{width:33px;height:44px;background-size:250px 250px;background-position:center -82px}.brand-header strong{font-size:1.02rem}.menu-button{padding:7px 9px}}
@media(max-width:850px){.pricing-heading{grid-template-columns:1fr}.top-term{grid-template-columns:1fr;gap:18px;padding:28px 24px}.pricing-details{grid-template-columns:1fr}.pricing-details article,.pricing-details article+article{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.price-table th,.price-table td{padding:16px 14px}}
@media(min-width:851px) and (max-width:1380px){.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;padding:25px;background:var(--paper);flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu-button{display:block}}
@media(max-width:850px){.rules-heading{grid-template-columns:1fr}.rules-list summary{font-size:1.18rem}.rules-list details>div{padding-right:0}}

/* Current accommodation price list */
.price-table-current{min-width:620px}.price-table-current th[scope="row"]{font-weight:500;text-align:left;border-bottom:1px solid var(--line);padding:19px 22px;white-space:nowrap}.price-table-current td{white-space:nowrap}.price-hint{display:none;margin:9px 0 0;font-size:.78rem;color:#6c7671}.price-periods dl{margin:0;border-top:1px solid var(--ink)}.price-periods dl>div{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:18px 22px;border-bottom:1px solid var(--line)}.price-periods dt{font-weight:600}.price-periods dd{margin:0;color:#43504b}
.price-rule{margin:18px 0 0;padding:18px 22px;background:var(--cream);font-size:.92rem;color:var(--ink)}
.room-pricing>p:first-of-type{max-width:900px;margin:0 0 20px;color:#43504b}.room-pricing .price-table-current th[scope="row"]{line-height:1.45}.room-pricing .price-table-current th[scope="row"] small{font-size:.75rem;font-weight:400;color:#6c7671}.room-pricing-note{max-width:900px;margin:20px 0 0;font-size:.88rem;color:#43504b}
.price-table-current .per-person{display:block;margin-top:5px;font-family:"DM Sans",sans-serif;font-size:.7rem;font-weight:400;color:#6c7671;white-space:nowrap}.per-person-note{margin:16px 0 0;font-size:.78rem;color:#6c7671}
@media(max-width:950px){.price-hint{display:block}}
@media(max-width:600px){.price-periods dl>div{grid-template-columns:1fr;gap:4px;padding:17px 12px}}

/* Room photography */
.room-gallery{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:300px 300px;gap:13px;margin-top:65px}
.room-photo{position:relative;margin:0;overflow:hidden;background:#d8d5ce}
.room-photo-large{grid-row:span 2}
.room-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.room-photo:hover img{transform:scale(1.02)}
.room-photo figcaption{position:absolute;left:18px;bottom:18px;margin-right:18px;background:rgba(35,48,43,.76);color:#fff;padding:7px 12px;font-size:.74rem}

/* Trip inspiration */
.trips{background:#fff}
.trip-group{margin-top:52px}
.trip-group-label{margin-bottom:14px;color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.trip-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.trip-grid>article{display:flex;flex-direction:column;min-height:170px;padding:22px 22px 20px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.trip-grid>article:nth-child(3n+2),.trip-grid>article:nth-child(3n+3){padding-left:22px}
.trip-grid>article:nth-child(3n){border-right:0}
.trip-grid span{color:var(--gold);font-size:.65rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.trip-grid h3{margin:9px 0 7px;font-size:1.2rem;line-height:1.25}
.trip-grid .trip-drive{display:block;margin-bottom:9px;color:#8b6941;font-size:.76rem;font-weight:600}
.trip-grid p{margin:0;color:#53605b;font-size:.84rem;line-height:1.5}
.trip-grid-walks{grid-template-columns:repeat(2,minmax(0,1fr))}
.trip-grid-walks>article:nth-child(n){padding:22px 22px 20px 0;border-right:1px solid var(--line)}
.trip-grid-walks>article:nth-child(2n){padding-left:22px;border-right:0}

@media(max-width:850px){
  .room-gallery{grid-template-columns:1fr 1fr;grid-template-rows:430px 260px}
  .room-photo-large{grid-column:span 2;grid-row:auto}
  .trip-grid{grid-template-columns:1fr 1fr}
  .trip-grid>article,.trip-grid>article:nth-child(3n+2),.trip-grid>article:nth-child(3n+3){padding:22px 18px;border-right:1px solid var(--line)}
  .trip-grid>article:nth-child(2n){border-right:0}
}
@media(max-width:520px){
  .room-gallery{display:block}
  .room-photo{height:285px;margin-bottom:12px}
  .room-photo-large{height:420px}
  .trip-group{margin-top:44px}
  .trip-grid{grid-template-columns:1fr}
  .trip-grid>article,.trip-grid>article:nth-child(3n+2),.trip-grid>article:nth-child(3n+3){min-height:0;padding:20px 0;border-right:0}
  .trip-grid-walks{grid-template-columns:1fr}
  .trip-grid-walks>article:nth-child(n){min-height:0;padding:20px 0;border-right:0}
}

/* Place the introduction on the floor area and keep the bar unobstructed. */
.hero .hero-image{object-position:center center}
.hero-content{align-self:flex-end;margin-left:44%;width:min(650px,55vw);padding:0 3vw 35px 0}
.hero-content h1{font-size:clamp(2.25rem,3.7vw,3.25rem);line-height:1.12;color:#2b2018}
.hero-heading-block{position:relative;display:flow-root;width:max-content;max-width:100%;margin-top:18px}
.hero-intro-group{width:max-content;max-width:100%}
.hero-actions{flex-direction:column;align-items:center;flex-wrap:nowrap;gap:10px}
.hero-actions .button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:min(100%,250px);height:44px;padding:0 18px;text-align:center}
/* Use the existing space below the text without moving it or resizing the photo. */
@media(min-width:851px){.hero-content{padding-bottom:calc(.86rem * 1.65 - 18px)}.hero-content .hero-actions{margin-top:22px}}
.hero-heading-block h1{margin:0}
.hero-content h1{width:max-content;max-width:100%}
.hero-title-line{display:block;white-space:nowrap}
.hero-title-second{text-align:center}
.hero-content .eyebrow,.hero-content .hero-lead{color:#2b2018}
.hero-content .eyebrow,.hero-content h1,.hero-content .hero-lead{text-shadow:0 1px 3px rgba(255,255,255,.95),0 0 13px rgba(255,255,255,.85)}
@media(min-width:1100px){
  .hero-content .eyebrow{margin-left:105px}
  .hero-heading-block .hero-lead{position:absolute;left:50%;top:calc(100% + 12px);bottom:auto;transform:translateX(-50%);width:330px;margin:0;padding:8px 12px;background:rgba(251,249,244,.9);font-size:1rem;line-height:1.4;text-align:center;text-shadow:none}
  .hero-content .hero-actions{margin-top:107px}
}
@media(min-width:851px) and (max-width:1099px){
  .hero-content .eyebrow{margin-left:60px}
  .hero-heading-block h1{margin-bottom:24px}
  .hero-content .hero-lead{width:100%;max-width:330px;margin-left:auto;margin-right:auto;padding:8px 12px;background:rgba(251,249,244,.9);line-height:1.4;text-align:center;text-shadow:none}
}
.quick-facts{position:relative;left:auto;right:auto;bottom:auto;width:100%;justify-content:center;padding:0 max(6vw,25px)}
.quick-facts div{flex:1;text-align:center}
@media(max-width:850px){
  .hero{display:flex;flex-direction:column;min-height:0;background:var(--forest);overflow:visible}
  .hero-image{position:relative;inset:auto;width:100%;height:500px;object-fit:cover;object-position:35% center}
  .hero-content{align-self:stretch;margin:0;width:100%;padding:34px 25px 48px;background:var(--forest)}
  .hero-heading-block h1{margin-bottom:24px}
  .hero-title-line{white-space:normal}
  .hero-content .hero-lead{max-width:330px;text-align:center}
  .hero-content .eyebrow,.hero-content h1,.hero-content .hero-lead{color:#fff;text-shadow:none}
  .quick-facts{left:auto;right:auto;bottom:auto;padding:0 15px}
}

/* Warm neutral accents throughout the beige site palette. */
.intro-copy .large,.rules-list details>div,.room-pricing>p:first-of-type,
.room-pricing-note,.price-periods dd{color:#5d554d}
.trip-grid p{color:#625a51}
.stay-info span,.operator-card small,.terms-status,.price-table th,
.price-hint,.room-pricing .price-table-current th[scope="row"] small,
.price-table-current .per-person,.per-person-note{color:#72695e}
.photo figcaption,.gallery-item figcaption,.room-photo figcaption,
.photo span,.location-photo span{background:rgba(52,42,33,.78)}
.hero-image:after{background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.15),transparent 30%),linear-gradient(110deg,rgba(44,33,25,.1),rgba(43,31,23,.5))}
.hero-overlay{background:linear-gradient(90deg,rgba(43,32,24,.72),rgba(43,32,24,.1))}
.intro-logo{width:min(100%,280px);aspect-ratio:280/145;background:url('assets/logo.jpeg') center center/143% auto no-repeat;mix-blend-mode:multiply;align-self:start}

/* Kitchen gallery: show the complete cabinets, shelves and coffee bar. */
.gallery-grid-kitchen{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-items:start}
.gallery-grid-kitchen .gallery-item,.gallery-grid-kitchen .gallery-item.gallery-feature,.gallery-grid-kitchen .gallery-item.gallery-wide{grid-column:auto;grid-row:auto;aspect-ratio:3/4;background:#ebe5dc}
.gallery-grid-kitchen .gallery-item img{object-fit:contain;object-position:center;width:100%;height:100%}
.contact-note{font-size:clamp(1.06rem,1.8vw,1.34rem);font-weight:500;line-height:1.45;opacity:1}
.contact-note a{text-decoration-thickness:1px;text-underline-offset:4px}
.contact-map-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.contact-map-links a{display:inline-block;padding:10px 15px;border:1px solid rgba(255,255,255,.75);text-decoration:none;font-size:.88rem;font-weight:500}
.contact-map-links a:hover,.contact-map-links a:focus-visible{background:#fff;color:var(--ink)}
@media(max-width:850px){.gallery-grid-kitchen{grid-template-columns:1fr;max-width:560px;margin-inline:auto}.gallery-grid-kitchen .gallery-item,.gallery-grid-kitchen .gallery-item.gallery-feature,.gallery-grid-kitchen .gallery-item.gallery-wide{aspect-ratio:auto}.gallery-grid-kitchen .gallery-item img{height:auto}}

.gallery-category-rooms{margin-top:0;scroll-margin-top:86px}
.gallery-room-intro{max-width:760px;margin:0 0 22px}
.gallery-category-rooms .room-cards{margin-top:18px;margin-bottom:36px}
.gallery-category-rooms .room-note{margin:28px 0 0;text-align:left}
.gallery-grid-rooms .room-full-view img{object-position:center 54%}

/* Email inquiry and privacy information. */
.inquiry-card{max-width:930px;margin:50px auto 30px;padding:clamp(25px,4vw,50px);background:var(--paper);color:var(--ink);text-align:left;border-radius:3px}
.inquiry-heading h3{font-size:clamp(1.7rem,2.5vw,2.25rem);margin:0 0 8px}
.inquiry-heading p{color:#625a51;margin:0 0 26px}
.inquiry-email-button{background:var(--forest);color:white}
.inquiry-email-button:hover,.inquiry-email-button:focus-visible{background:#34483e;outline:2px solid var(--gold);outline-offset:3px}
.inquiry-help,.inquiry-privacy{font-size:.84rem;line-height:1.5;color:#625a51;overflow-wrap:anywhere}
.inquiry-help{margin:18px 0 0}
.inquiry-privacy{margin:18px 0 16px}.inquiry-privacy a{color:inherit;text-underline-offset:3px}
.privacy-back{color:var(--ink);font-weight:600;text-decoration:none}
.privacy-page{max-width:920px;margin:0 auto}.privacy-page h1{font-size:clamp(2.8rem,6vw,4.5rem);margin:10px 0 24px}
.privacy-intro{font-size:1.2rem;line-height:1.6}.privacy-page section{padding:27px 0;border-bottom:1px solid var(--line)}
.privacy-page section h2{font-size:1.6rem;margin:0 0 15px}.privacy-page section p,.privacy-page li{line-height:1.7}
.privacy-page li{margin:10px 0}.privacy-page a:not(.button){color:inherit;text-underline-offset:3px}
.privacy-draft{padding:14px 17px;background:var(--cream);font-size:.9rem}.privacy-effective{margin:30px 0}
footer>a{color:inherit;text-underline-offset:3px}
.contact-email{display:flex;flex-direction:column;gap:5px;margin:18px auto 22px;overflow-wrap:anywhere}
.contact-email span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.contact-email strong{font-size:clamp(1.05rem,2.3vw,1.35rem);font-weight:500}.contact-email a{text-decoration-thickness:1px;text-underline-offset:5px}
.contact-actions .outline-light:hover,.contact-actions .outline-light:focus-visible{background:rgba(255,255,255,.12)}
@media(max-width:650px){.inquiry-card{margin-top:35px}.privacy-page{padding-top:55px}}

/* Matching, fully filled exterior frames with a focus on our house and stairs. */
.gallery-grid-exterior{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
.gallery-grid-exterior>.gallery-item.gallery-feature{grid-column:auto;grid-row:auto;aspect-ratio:1.1}
.gallery-exterior-day img{object-fit:cover;object-position:right center;scale:1.025;transform-origin:right center}
.gallery-exterior-night img{object-fit:cover;object-position:center 22%}
@media(max-width:520px){.gallery-grid-exterior{grid-template-columns:1fr}}
