:root{--ink: #26251F;--ironbark: #6B5440;--eucalypt: #76866A;--wisteria: #9C8FBF;--sandstone: #ECE8E1;--paper: #FBFAF7;--text: #3A3832;--muted: #6A665D;--line: #DAD4CA;--serif: "Cormorant Garamond",Georgia,serif;--sans: "Lato","Helvetica Neue",Arial,sans-serif;--gutter: clamp(20px,5vw,64px)}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}body{margin: 0;background: var(--paper);color: var(--text);font-family: var(--sans);font-size: 17px;line-height: 1.75;font-weight: 400;-webkit-font-smoothing: antialiased}img{display: block;max-width: 100%;height: auto}a{color: var(--ironbark);text-underline-offset: 3px}p{margin: 0 0 1.1em}h1,h2,h3{font-family: var(--serif);font-weight: 400;line-height: 1.12;margin: 0 0 .45em;color: var(--ironbark);letter-spacing: .005em}h1{font-size: clamp(2.8rem,6.2vw,5.4rem)}h2{font-size: clamp(2.3rem,4.4vw,3.6rem)}h3{font-size: clamp(1.7rem,2.4vw,2.1rem)}.skip{position: absolute;left: -999px;top: 8px;background: var(--paper);padding: 8px 14px;z-index: 100}.skip:focus{left: 8px}.wrap{width: 100%;max-width: 1240px;margin: 0 auto;padding: 0 var(--gutter)}.wrap.narrow{max-width: 820px}.wrap.wide{max-width: 1480px}.center{text-align: center}section{padding: clamp(80px,11vw,150px) 0}section.tight{padding: clamp(48px,7vw,90px) 0}section.flush{padding: 0}.tint{background: var(--sandstone)}.eyebrow{display: block;font-size: .78rem;letter-spacing: .26em;color: var(--eucalypt);margin-bottom: 18px;font-weight: 700}.lead{font-size: clamp(1.08rem,1.5vw,1.22rem);line-height: 1.85}.divider{display: flex;align-items: center;justify-content: center;gap: 14px;margin: 26px auto 30px}.divider::before,.divider::after{content: "";width: 56px;height: 1px;background: var(--ironbark);opacity: .45}.divider span{width: 5px;height: 5px;border-radius: 50%;background: var(--wisteria)}.feature-text .divider,.pkg .divider{justify-content: flex-start;margin: 18px 0 24px}.feature-text .divider::before,.pkg .divider::before{display: none}.btn{display: inline-block;padding: 15px 30px;background: var(--ironbark);color: var(--paper);font-size: .88rem;letter-spacing: .12em;text-decoration: none;border: 1px solid var(--ironbark);transition: background .25s,color .25s,border-color .25s}.btn:hover{background: #5A4635;border-color: #5A4635}.btn.line{background: transparent;color: var(--ironbark)}.btn.line:hover{background: var(--ironbark);color: var(--paper)}.btn.light{background: transparent;color: #fff;border-color: rgba(255,255,255,.85)}.btn.light:hover{background: #fff;color: var(--ink)}.btn-row{display: flex;flex-wrap: wrap;gap: 14px;margin-top: 34px}.center .btn-row,.btn-row.center{justify-content: center}.text-link{font-size: .86rem;letter-spacing: .14em;color: var(--ironbark);text-decoration: none;border-bottom: 1px solid currentColor;padding-bottom: 4px;display: inline-block;margin-top: 12px;align-self: flex-start}.site-header{position: fixed;inset: 0 0 auto;z-index: 50;transition: background .35s,box-shadow .35s,padding .35s;padding: 22px 0}.site-header .wrap{max-width: 1480px;display: grid;grid-template-columns: 1fr auto 1fr;align-items: center;gap: 24px}.nav-side{display: flex;gap: clamp(18px,2.2vw,34px);align-items: center}.nav-side.right{justify-content: flex-end}.nav-side a{color: #fff;text-decoration: none;font-size: .86rem;letter-spacing: .14em;padding: 6px 0;border-bottom: 1px solid transparent;transition: color .3s,border-color .3s;text-shadow: 0 1px 8px rgba(0,0,0,.25)}.nav-side a:hover,.nav-side a[aria-current="page"]{border-bottom-color: currentColor}.nav-side a.btn{padding: 11px 20px;border: 1px solid rgba(255,255,255,.85);background: transparent}.nav-side a.btn:hover{background: #fff;color: var(--ink);text-shadow: none}.brand{display: block}.brand img{width: clamp(150px,15vw,200px);filter: brightness(0) invert(1);transition: filter .35s,width .35s}.nav-toggle{display: none;background: none;border: 0;color: #fff;width: 44px;height: 44px;padding: 8px;cursor: pointer}.nav-toggle svg{width: 28px;height: 28px}.site-header.solid{background: rgba(251,250,247,.97);box-shadow: 0 1px 0 var(--line);padding: 12px 0}.site-header.solid .nav-side a{color: var(--ink);text-shadow: none}.site-header.solid .nav-side a.btn{color: var(--paper);background: var(--ironbark);border-color: var(--ironbark)}.site-header.solid .brand img{filter: none;width: clamp(130px,12vw,160px)}.site-header.solid .nav-toggle{color: var(--ink)}.mobile-nav{display: none}.hero{position: relative;min-height: 100vh;min-height: 100svh;display: flex;align-items: flex-end;justify-content: center;text-align: center;color: #fff;padding: 140px 0 clamp(110px,15vh,170px);overflow: hidden;background: var(--ink)}.hero.page{min-height: 80vh;min-height: 80svh}.hero .bg{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.hero::after{content: "";position: absolute;inset: 0;background: linear-gradient(180deg,rgba(22,20,16,.55) 0%,rgba(22,20,16,.12) 30%,rgba(22,20,16,.2) 60%,rgba(22,20,16,.62) 100%)}.hero-inner{position: relative;z-index: 1;max-width: 920px;padding: 0 var(--gutter)}.hero h1{color: #fff;margin-bottom: .2em;text-shadow: 0 2px 30px rgba(0,0,0,.3)}.hero .eyebrow{color: #fff;opacity: .95;text-shadow: 0 1px 10px rgba(0,0,0,.35)}.hero p{font-size: clamp(1.05rem,1.6vw,1.25rem);max-width: 620px;margin: 0 auto;text-shadow: 0 1px 14px rgba(0,0,0,.4)}.hero .divider::before,.hero .divider::after{background: #fff;opacity: .75}.scroll-cue{position: absolute;z-index: 1;bottom: 30px;left: 50%;transform: translateX(-50%);width: 1px;height: 56px;background: rgba(255,255,255,.7)}.scroll-cue::after{content: "";position: absolute;left: -3px;bottom: 0;width: 7px;height: 7px;border-radius: 50%;background: #fff;animation: cue 2.2s infinite}@keyframes cue{0%{transform: translateY(-50px);opacity: 0}30%{opacity: 1}100%{transform: translateY(0);opacity: 0}}.bleed{position: relative;height: clamp(420px,88vh,980px);overflow: hidden}.bleed img{width: 100%;height: 100%;object-fit: cover}.caption{font-size: .82rem;letter-spacing: .14em;color: var(--muted);margin: 14px 0 0}.bleed .caption{position: absolute;left: var(--gutter);bottom: 22px;color: #fff;margin: 0;text-shadow: 0 1px 10px rgba(0,0,0,.6)}.feature{display: grid;grid-template-columns: 7fr 5fr;align-items: stretch}.feature.tint{background: var(--sandstone)}.feature.flip{grid-template-columns: 5fr 7fr}.feature.flip .feature-media{order: 2}.feature-media{min-height: clamp(460px,82vh,900px);position: relative;overflow: hidden}.feature-media img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.feature-text{padding: clamp(56px,7vw,120px) clamp(28px,6vw,110px);display: flex;flex-direction: column;justify-content: center;max-width: 680px}.trio{display: grid;grid-template-columns: repeat(3,1fr);gap: clamp(12px,2vw,28px)}.trio figure{margin: 0}.trio img{width: 100%;aspect-ratio: 4 / 5;object-fit: cover}.trio.offset figure:nth-child(2){margin-top: clamp(0px,6vw,90px)}.lines{list-style: none;padding: 0;margin: 10px 0 0}.lines li{display: grid;grid-template-columns: 40px 1fr;gap: 16px;align-items: center;padding: 14px 0;border-bottom: 1px solid var(--line)}.lines li::before{content: "";height: 1px;background: var(--ironbark);opacity: .55}.lines li:last-child{border-bottom: 0}.green{background: var(--eucalypt);color: var(--paper)}.green h2,.green h3{color: var(--paper)}.green .eyebrow{color: var(--paper);opacity: .9}.green .divider::before,.green .divider::after{background: var(--paper)}.glance-strip{font-size: clamp(1rem,1.5vw,1.15rem);letter-spacing: .04em;line-height: 2.1;margin: 0}.glance-strip span{white-space: nowrap}.glance-strip span + span::before{content: "\2022";margin: 0 14px;opacity: .8}.steps{display: grid;grid-template-columns: repeat(3,1fr);gap: clamp(28px,4vw,64px);margin-top: 44px;text-align: left}.steps .num{font-family: var(--serif);font-size: 3.4rem;line-height: 1;display: block;margin-bottom: 10px}.steps h3{font-size: 1.7rem;margin-bottom: .3em}.steps p{margin: 0}.tiles{display: grid;grid-template-columns: repeat(3,1fr);gap: clamp(12px,1.6vw,22px)}.tile{position: relative;display: block;overflow: hidden;color: #fff;text-decoration: none;aspect-ratio: 4 / 5.2;background: var(--ink)}.tile img{width: 100%;height: 100%;object-fit: cover;transition: transform 1.2s ease}.tile:hover img{transform: scale(1.04)}.tile::after{content: "";position: absolute;inset: 0;background: linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(20,18,14,.75) 100%)}.tile-body{position: absolute;z-index: 1;left: 0;right: 0;bottom: 0;padding: clamp(22px,3vw,36px)}.tile h3{color: #fff;margin: 0 0 6px}.tile p{margin: 0;font-size: .95rem;letter-spacing: .04em}.tile .more{display: inline-block;margin-top: 14px;font-size: .8rem;letter-spacing: .16em;border-bottom: 1px solid rgba(255,255,255,.8);padding-bottom: 3px}.quote-band{position: relative;min-height: clamp(460px,82vh,860px);display: flex;align-items: center;justify-content: center;text-align: center;color: #fff;overflow: hidden}.quote-band img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.quote-band::after{content: "";position: absolute;inset: 0;background: rgba(22,20,16,.45)}.quote-band blockquote{position: relative;z-index: 1;margin: 0;padding: 0 var(--gutter);max-width: 1000px}.quote-band .quote{font-family: var(--serif);font-size: clamp(1.9rem,3.8vw,3.2rem);line-height: 1.25;margin: 0 0 22px}.quote-band cite{font-style: normal;font-size: .85rem;letter-spacing: .2em}.seen{display: flex;flex-wrap: wrap;justify-content: center;gap: 14px clamp(28px,5vw,70px);font-family: var(--serif);font-size: clamp(1.3rem,2vw,1.7rem);color: var(--ironbark)}.pkg{display: grid;grid-template-columns: 6fr 5fr;gap: clamp(32px,6vw,96px);align-items: center;padding: clamp(48px,7vw,96px) 0;border-bottom: 1px solid var(--line)}.pkg:first-child{padding-top: 0}.pkg:last-child{border-bottom: 0;padding-bottom: 0}.pkg.flip .pkg-media{order: 2}.pkg-media img{width: 100%;aspect-ratio: 5 / 4;object-fit: cover}.pkg .price{font-family: var(--serif);font-size: 2.1rem;color: var(--ink);margin: 0 0 16px;line-height: 1.2}.pkg .price small{font-family: var(--sans);font-size: .88rem;color: var(--muted);letter-spacing: .06em}.facts{list-style: none;padding: 0;margin: 0 0 20px;display: flex;flex-wrap: wrap;gap: 8px 10px}.facts li{font-size: .84rem;letter-spacing: .05em;padding: 6px 12px;border: 1px solid var(--line)}.season-note{font-size: .92rem;color: var(--muted);margin: 40px 0 0}.cols{display: grid;grid-template-columns: repeat(2,1fr);gap: clamp(36px,5vw,72px) clamp(36px,6vw,96px)}.cols h3{margin-bottom: .35em}.cols p{margin: 0}.reviews{columns: 2;column-gap: clamp(24px,4vw,56px)}.review{break-inside: avoid;margin: 0 0 clamp(24px,4vw,48px);padding: clamp(28px,3.5vw,44px);background: var(--paper);border: 1px solid var(--line)}.review p{font-family: var(--serif);font-size: 1.32rem;line-height: 1.5;color: var(--ink)}.review cite{font-style: normal;font-size: .82rem;letter-spacing: .18em;color: var(--eucalypt);font-weight: 700}.masonry{columns: 3;column-gap: 14px}.masonry img{width: 100%;margin: 0 0 14px;break-inside: avoid}.faq details{border-bottom: 1px solid var(--line);padding: 24px 0}.faq summary{cursor: pointer;list-style: none;font-family: var(--serif);font-size: clamp(1.35rem,2vw,1.6rem);color: var(--ink);display: flex;justify-content: space-between;gap: 20px}.faq summary::-webkit-details-marker{display: none}.faq summary::after{content: "+";color: var(--eucalypt);font-family: var(--sans);font-weight: 300}.faq details[open] summary::after{content: "\2013"}.faq details p{margin: 14px 0 0;color: var(--muted);max-width: 720px}.placeholder{background: #F1EDF8;border: 1px dashed var(--wisteria);padding: 2px 8px;color: var(--ink)}.viewing{display: grid;grid-template-columns: 5fr 6fr;gap: clamp(36px,6vw,96px);align-items: start}.form-card{background: var(--paper);border: 1px solid var(--line);padding: clamp(24px,4vw,48px)}.field{margin-bottom: 20px}.field label,.field .label{display: block;font-size: .9rem;margin-bottom: 6px;color: var(--ink);letter-spacing: .03em}.field input,.field select,.field textarea{width: 100%;padding: 13px 14px;font: inherit;font-size: 1rem;color: var(--ink);background: #fff;border: 1px solid var(--line);border-radius: 0}.field input:focus,.field select:focus,.field textarea:focus{outline: 2px solid var(--eucalypt);outline-offset: 1px}.field textarea{min-height: 130px;resize: vertical}.field .help{font-size: .85rem;color: var(--muted);margin-top: 4px}.field .err{font-size: .85rem;color: #9A3B2E;margin-top: 4px}.field .choice{display: flex;align-items: center;gap: 10px;margin: 6px 0}.field .choice input{width: auto}.form-error{color: #9A3B2E;margin-bottom: 14px}.skeleton{height: 420px;background: linear-gradient(90deg,var(--sandstone),#f4f1ec,var(--sandstone));background-size: 200% 100%;animation: shimmer 1.4s infinite}@keyframes shimmer{to{background-position: -200% 0}}.site-footer{background: var(--sandstone);padding: clamp(64px,8vw,110px) 0 40px;text-align: center;font-size: .95rem}.site-footer .footer-logo{width: 210px;margin: 0 auto 14px}.site-footer .tagline{font-family: var(--serif);font-size: 1.6rem;color: var(--ironbark);margin-bottom: 30px}.footer-links{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px 28px;margin: 0 0 20px;padding: 0;list-style: none}.footer-links a,.site-footer .contact a{color: var(--ink);text-decoration: none;letter-spacing: .1em;font-size: .86rem}.footer-links a:hover,.site-footer .contact a:hover{text-decoration: underline}.site-footer .contact{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px 28px;margin-bottom: 36px}.footer-base{border-top: 1px solid var(--line);padding-top: 24px;font-size: .82rem;color: var(--muted);max-width: 760px;margin: 0 auto}.footer-base p{margin: 0 0 6px}.sticky-cta{display: none}@media (max-width: 1080px){.nav-side{display: none}.site-header .wrap{grid-template-columns: 44px 1fr 44px}.brand{justify-self: center;grid-column: 2}.nav-toggle{display: block;grid-column: 3}.mobile-nav{position: fixed;inset: 0;background: var(--paper);z-index: 60;padding: 90px var(--gutter) 40px;flex-direction: column;align-items: center;justify-content: center;gap: 4px}.mobile-nav.open{display: flex}.mobile-nav a{font-family: var(--serif);font-size: 1.9rem;color: var(--ink);text-decoration: none;padding: 5px}.mobile-nav a.btn{font-family: var(--sans);font-size: .9rem;color: var(--paper);margin-top: 22px;padding: 15px 30px}.mobile-nav .close{position: absolute;top: 14px;right: var(--gutter);background: none;border: 0;font-size: 2.4rem;line-height: 1;color: var(--ink);cursor: pointer;padding: 6px 10px}.feature,.feature.flip{grid-template-columns: 1fr}.feature.flip .feature-media{order: 0}.feature-media{min-height: 0;aspect-ratio: 4 / 3.4}.feature-text{max-width: none}.pkg{grid-template-columns: 1fr}.pkg.flip .pkg-media{order: 0}.tiles{grid-template-columns: 1fr 1fr}.tiles .tile:nth-child(3){grid-column: span 2;aspect-ratio: 16 / 10}.viewing{grid-template-columns: 1fr}}@media (max-width: 720px){body{font-size: 16px}.trio{grid-template-columns: 1fr 1fr}.trio figure:nth-child(3){grid-column: span 2}.trio figure:nth-child(3) img{aspect-ratio: 16 / 11}.trio.offset figure:nth-child(2){margin-top: 0}.steps{grid-template-columns: 1fr;text-align: center}.tiles{grid-template-columns: 1fr}.tiles .tile:nth-child(3){grid-column: auto;aspect-ratio: 4 / 5.2}.cols{grid-template-columns: 1fr}.reviews{columns: 1}.masonry{columns: 2;column-gap: 8px}.masonry img{margin-bottom: 8px}.glance-strip span{white-space: normal;display: block}.glance-strip span + span::before{content: none}.hero{padding-bottom: 130px}.sticky-cta{display: block;position: fixed;left: 0;right: 0;bottom: 0;z-index: 40;padding: 10px 16px calc(10px + env(safe-area-inset-bottom));background: rgba(251,250,247,.97);box-shadow: 0 -1px 0 var(--line);transform: translateY(110%);transition: transform .35s}.sticky-cta.show{transform: none}.sticky-cta .btn{display: block;text-align: center}.site-footer{padding-bottom: 110px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}.scroll-cue::after,.skeleton{animation: none}.tile img{transition: none}}:root{--strip:clamp(10px,1.4vw,20px)}section.flush>*+*,section.flush+section.flush,.hero+section.flush{margin-top:var(--strip)}.field label.check{display:flex;align-items:flex-start;gap:12px;margin:0 0 10px;font-size:1rem;cursor:pointer}.field .check input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--eucalypt)}.field .checks{padding-top:4px}.bleed+section.flush,.quote-band+section.flush,section.flush+.bleed,section.flush+.quote-band,.hero+.bleed,.bleed+.quote-band,.quote-band+.bleed{margin-top:var(--strip)}.nav-side a{white-space:nowrap}
.video-toggle { position: absolute; right: clamp(16px, 3vw, 40px); bottom: clamp(16px, 3vw, 40px); z-index: 2; width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.7); background: rgba(22,20,16,.25); color: #fff; display: grid; place-items: center; cursor: pointer; opacity: .75; transition: opacity .3s, background .3s; }
.video-toggle:hover, .video-toggle:focus-visible { opacity: 1; background: rgba(22,20,16,.5); }
.video-toggle svg { width: 14px; height: 14px; }
.video-toggle .play, .video-toggle.paused .pause { display: none; }
.video-toggle.paused .play { display: block; }
/* deep green framing, Saddles inspired */
:root { --forest: #2E3B2F; }
.site-header.solid { background: rgba(46,59,47,.98); box-shadow: none; }
.site-header.solid .nav-side a { color: var(--paper); }
.site-header.solid .nav-side a.btn { color: var(--forest); background: var(--paper); border-color: var(--paper); }
.site-header.solid .nav-side a.btn:hover { background: var(--sandstone); border-color: var(--sandstone); }
.site-header.solid .brand img { filter: brightness(0) invert(1); }
.site-header.solid .nav-toggle { color: var(--paper); }
.forest { background: var(--forest); color: var(--sandstone); }
.forest h2, .forest h3 { color: var(--paper); }
.forest .eyebrow { color: var(--sandstone); opacity: .85; }
.forest .divider::before, .forest .divider::after { background: var(--sandstone); opacity: .6; }
.forest a { color: var(--paper); }
.site-footer { background: var(--forest); color: var(--sandstone); }
.site-footer .footer-logo { filter: brightness(0) invert(1); }
.site-footer .tagline { color: var(--sandstone); }
.footer-links a, .site-footer .contact a { color: var(--paper); }
.footer-base { border-top-color: rgba(236,232,225,.22); color: rgba(236,232,225,.75); }

/* larger small headings (Louise 2026-10-20) */
.eyebrow { font-size: clamp(.95rem, 1.1vw, 1.05rem); letter-spacing: .18em; }

/* four package tiles and even gallery grid (Louise 2026-10-20) */
.tiles.four { grid-template-columns: repeat(4, 1fr); }
.masonry { columns: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.masonry img { margin: 0; aspect-ratio: 1 / 1; height: auto; object-fit: cover; }
@media (max-width: 1080px) {
  .tiles.four { grid-template-columns: 1fr 1fr; }
  .tiles.four .tile:nth-child(3) { grid-column: auto; aspect-ratio: 4 / 5.2; }
}
@media (max-width: 720px) {
  .tiles.four { grid-template-columns: 1fr; }
  .masonry { grid-template-columns: 1fr 1fr; gap: 8px; }
  .masonry img { margin: 0; }
}
.tiles.four h3 { font-size: clamp(1.45rem, 1.8vw, 1.85rem); }
.tiles.four p { font-size: .9rem; }

/* watch our film (Louise 2026-10-20) */
.film-link { display: inline-flex; align-items: center; gap: 12px; padding: 0 6px; border: 0; background: none; color: #fff; font: inherit; font-size: .82rem; letter-spacing: .18em; cursor: pointer; }
.film-icon { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.85); display: grid; place-items: center; transition: background .3s, color .3s; }
.film-icon svg { width: 14px; height: 14px; margin-left: 2px; }
.film-link:hover .film-icon, .film-link:focus-visible .film-icon { background: #fff; color: var(--ink); }
dialog.film { width: min(1100px, 94vw); max-width: none; padding: 0; border: 0; background: #000; overflow: visible; }
dialog.film::backdrop { background: rgba(14,13,10,.88); }
dialog.film video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #000; }
.film-close { position: absolute; top: -48px; right: 0; width: 40px; height: 40px; border: 0; background: none; color: #fff; font-size: 2.2rem; line-height: 1; cursor: pointer; }

/* Loft peek: six photos */
@media (max-width: 720px) {
  .trio.six figure:nth-child(3) { grid-column: auto; }
  .trio.six figure:nth-child(3) img { aspect-ratio: 4 / 5; }
}

/* Pet friendly row */
.trio.pets { grid-template-columns: repeat(4, 1fr); margin-top: clamp(24px, 4vw, 48px); }
.narrow-text { max-width: 760px; margin-left: auto; margin-right: auto; }
@media (max-width: 720px) {
  .trio.pets { grid-template-columns: 1fr 1fr; }
  .trio.pets figure:nth-child(3) { grid-column: auto; }
  .trio.pets figure:nth-child(3) img { aspect-ratio: 4 / 5; }
}

/* small headings bigger again (Louise 2026-10-20) */
.eyebrow { font-size: clamp(1.1rem, 1.4vw, 1.3rem); letter-spacing: .16em; margin-bottom: 20px; }

/* tap to enlarge photo viewer for Gallery and photo grids (Louise 2026-10-20) */
.masonry img, .trio img { cursor: zoom-in; }
.lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(18,22,18,.95); display: none; align-items: center; justify-content: center; }
.lightbox.open { display: flex; }
.lightbox figure { margin: 0; display: flex; flex-direction: column; align-items: center; }
.lightbox img { display: block; max-width: 90vw; max-height: 82vh; width: auto; height: auto; }
.lightbox figcaption { color: #f3efe7; margin-top: 14px; font-size: .95rem; letter-spacing: .08em; min-height: 1em; }
.lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 46px; line-height: 1; padding: 14px 18px; cursor: pointer; opacity: .8; transition: opacity .2s; }
.lightbox button:hover, .lightbox button:focus-visible { opacity: 1; }
.lb-close { top: 10px; right: 10px; }
.lb-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 10px; top: 50%; transform: translateY(-50%); }
.lightbox.single .lb-prev, .lightbox.single .lb-next { display: none; }
.lb-count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #cfc9bd; font-size: .85rem; letter-spacing: .12em; }
@media (max-width: 720px) {
  .lightbox img { max-width: 100vw; max-height: 74vh; }
  .lightbox button { font-size: 38px; padding: 12px 16px; }
  .lb-prev, .lb-next { top: auto; bottom: 4px; transform: none; }
}

/* plain section straight after another plain section: one gap, not two */
section.follow { padding-top: 0; }

/* hero heading kept on one line on desktop */
@media (min-width: 900px) { .hero-inner:has(h1.one-line) { max-width: none; } .hero h1.one-line { white-space: nowrap; } }

/* Google rating above the reviews */
.google-rating { margin-bottom: clamp(36px, 5vw, 56px); }
.google-rating p { font-size: 1.05rem; letter-spacing: .02em; margin: 0 0 18px; color: var(--ink); }
.google-rating .stars { color: var(--ironbark); letter-spacing: .12em; margin-right: 6px; }

/* 2026-10-22: larger header and logo, menu button below 1240px, balanced headings */
.nav-side a { white-space: nowrap; font-size: 1rem; }
.brand img { width: clamp(190px, 17vw, 250px); }
.site-header.solid .brand img { width: clamp(160px, 13vw, 195px); }
@media (max-width: 1240px) {
  .nav-side { display: none; }
  .site-header .wrap { grid-template-columns: 44px 1fr 44px; }
  .brand { justify-self: center; grid-column: 2; }
  .nav-toggle { display: block; grid-column: 3; }
  .mobile-nav { position: fixed; inset: 0; background: var(--paper); z-index: 60; padding: 90px var(--gutter) 40px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
  .mobile-nav.open { display: flex; }
  .mobile-nav a { font-family: var(--serif); font-size: 1.9rem; color: var(--ink); text-decoration: none; padding: 5px; }
  .mobile-nav a.btn { font-family: var(--sans); font-size: .9rem; color: var(--paper); margin-top: 22px; padding: 15px 30px; }
  .mobile-nav .close { position: absolute; top: 14px; right: var(--gutter); background: none; border: 0; font-size: 2.4rem; line-height: 1; color: var(--ink); cursor: pointer; padding: 6px 10px; }
}
h1, h2, h3 { text-wrap: balance; }
.eyebrow { text-wrap: balance; }
@media (min-width: 900px) { .hero-inner { max-width: none; } .hero h1 { white-space: nowrap; } }
/* 2026-10-22: home photo row level and larger on computers, phone layout unchanged */
@media (min-width: 721px) {
  section:has(.trio.offset) .wrap.wide { max-width: none; padding: 0 clamp(8px, 1.5vw, 24px); }
  .trio.offset { gap: clamp(6px, 1vw, 14px); }
  .trio.offset figure:nth-child(2) { margin-top: 0; }
}
/* 2026-10-22: line under each page heading on one line on computers, balanced lines on phones */
.hero p { text-wrap: balance; }
@media (min-width: 900px) { .hero p { max-width: 1000px; } }
/* 2026-10-23: side-by-side photos keep their height on phones and tablets (Safari showed them at zero height) */
@media (max-width: 1080px) {
  .feature-media { aspect-ratio: auto; height: auto; }
  .feature-media::before { content: ""; display: block; padding-top: 85%; }
}
