:root{--blue:#2c5369;--blue-dark:#1e3b4c;--ink:#243139;--muted:#68767d;--paper:#fff;--soft:#f3f5f5;--line:#dce3e6;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(36,49,57,.08);backdrop-filter:blur(10px)}.nav-wrap{max-width:var(--max);height:82px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;text-decoration:none;letter-spacing:.16em;font-weight:700;font-size:1rem;line-height:1.1}.brand small{margin-top:6px;color:var(--muted);font-size:.57rem;letter-spacing:.19em;font-weight:500}.main-nav{display:flex;align-items:center;gap:28px;font-size:.86rem}.main-nav a{text-decoration:none;color:#46545b}.main-nav a:hover{color:var(--blue)}.nav-book{padding:10px 17px;background:var(--blue);color:#fff!important}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#dfe7e9}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,33,.72),rgba(14,26,33,.12) 70%),linear-gradient(0deg,rgba(14,26,33,.35),transparent 55%)}.hero-copy{position:relative;z-index:1;color:#fff;max-width:680px;padding:150px 7vw 100px}.kicker,.eyebrow{margin:0 0 13px;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700;color:var(--blue)}.kicker{color:#dceaf0}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,6.3rem);line-height:.98;font-weight:400;letter-spacing:-.035em;margin:0 0 28px}.hero-copy>p:not(.kicker){font-size:1.1rem;max-width:570px;color:#f2f6f7}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:34px}.button{display:inline-block;border:0;text-decoration:none;padding:14px 23px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;cursor:pointer}.button-light{background:#fff;color:var(--blue-dark)}.button-blue{background:var(--blue);color:#fff}.text-link{text-decoration:none;color:var(--blue);font-weight:700;font-size:.86rem}.text-link span{margin-left:7px}.text-link.light{color:#fff}.hero-note{position:absolute;z-index:1;right:7vw;bottom:32px;color:#fff;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.intro{padding:125px 24px 130px;background:var(--paper)}.narrow{max-width:720px;margin:auto}.intro .narrow{text-align:center}.intro h2,.feature h2,.veranda-copy h2,.pet-copy h2,.details h2,.location h2,.booking h2,.practical h2,.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.025em;margin:0 0 22px}.lead{font-size:1.15rem;color:var(--muted);margin:0 auto 27px;max-width:670px}.feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:680px}.feature-reverse{grid-template-columns:.9fr 1.1fr}.feature-image{min-height:620px}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw;max-width:690px}.feature-copy p:not(.eyebrow){color:var(--muted);font-size:1.02rem;max-width:520px}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--soft);padding:90px 6vw}.editorial-grid article{background:#fff;display:flex;flex-direction:column}.editorial-grid article img{height:390px;aspect-ratio:auto}.editorial-grid article+article{margin-left:30px}.editorial-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.editorial-grid article div{padding:30px 34px 38px}.editorial-grid h3{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:400;line-height:1.1;margin:0 0 12px}.editorial-grid p:not(.eyebrow){color:var(--muted);margin:0}.quote-band{background:var(--blue);color:#fff;padding:115px 24px}.quote-inner{max-width:880px;margin:auto;text-align:center}.quote-band .eyebrow{color:#cfe0e8}.quote-band blockquote{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,4rem);line-height:1.15;margin:0;font-weight:400}.veranda-section{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch}.veranda-image img{width:100%;height:100%;object-fit:cover}.veranda-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center;background:#f8f9f9}.veranda-copy p:not(.eyebrow){max-width:520px;color:var(--muted)}.pet-feature{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#edf2f3}.pet-image{min-height:700px;overflow:hidden}.pet-image img{width:100%;height:100%;min-height:700px;aspect-ratio:3/4;object-fit:cover}.pet-copy{min-height:700px}.pet-copy{padding:9vw;display:flex;flex-direction:column;justify-content:center}.pet-copy p:not(.eyebrow){max-width:590px;color:var(--muted);font-size:1.05rem}.details{padding:125px 7vw;background:#fff}.details .narrow{margin:0 0 50px}.detail-list{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.detail-list div{padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:110px}.detail-list strong,.detail-list span{display:block}.detail-list strong{font-size:.95rem}.detail-list span{color:var(--muted);font-size:.82rem;margin-top:5px}.location{display:grid;grid-template-columns:.85fr 1.15fr;min-height:650px;background:var(--soft)}.location-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}.location-copy p:not(.eyebrow){max-width:520px;color:var(--muted)}.location-image img{width:100%;height:100%;object-fit:cover}.gallery-strip{padding:120px 5vw}.section-heading{max-width:1120px;margin:0 auto 45px;display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading h2{margin-bottom:0}.photo-row{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr 1fr .9fr;gap:14px;height:390px}.photo-row img{width:100%;height:390px;object-fit:cover}.booking{display:grid;grid-template-columns:.8fr 1.2fr;background:#eef3f5;padding:100px 7vw;gap:8vw}.booking-intro{max-width:520px}.booking-intro h2{font-size:clamp(2.4rem,4vw,4.4rem)}.booking-intro>p:not(.eyebrow){color:var(--muted)}.rate{display:flex;align-items:baseline;gap:8px;margin-top:40px;color:var(--muted)}.rate strong{font-family:Georgia,"Times New Roman",serif;font-size:3.5rem;color:var(--blue-dark);font-weight:400}.booking-form{background:#fff;padding:36px;box-shadow:0 18px 50px rgba(31,57,70,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#56646a}.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:7px;border:1px solid var(--line);padding:13px;background:#fff;color:var(--ink);font:inherit;font-size:.95rem;text-transform:none;letter-spacing:0}.booking-form textarea{resize:vertical}.booking-form>label{display:block;margin-top:18px}.booking-form .button{margin-top:20px}.form-note{font-size:.78rem;color:var(--muted);margin-bottom:0}.form-note a{color:var(--blue)}.practical{padding:110px 7vw;background:#fff}.practical .narrow{margin:0 0 45px}.practical-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.practical-grid article{border-top:2px solid var(--blue);padding:20px 0}.practical-grid strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:400}.practical-grid p{font-size:.86rem;color:var(--muted)}.site-footer{background:var(--blue-dark);color:#dce7eb;padding:70px 7vw;display:grid;grid-template-columns:1.6fr .8fr .8fr;gap:60px}.footer-brand{color:#fff}.site-footer p{max-width:430px;color:#aec0c7;font-size:.86rem}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:10px;font-size:.83rem}.footer-links a,.footer-contact a{text-decoration:none;color:#dce7eb}.footer-links a:hover,.footer-contact a:hover{color:#fff}
@media(max-width:1100px){.nav-wrap{height:72px}.main-nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:16px 24px;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px 0}.main-nav .nav-book{text-align:center;margin-top:5px}.menu-toggle{display:block}.hero-copy{padding-left:6vw;padding-right:6vw}.hero-note{right:6vw}.feature,.feature-reverse,.veranda-section,.location,.pet-feature{grid-template-columns:1fr}.feature-copy,.veranda-copy,.location-copy,.pet-copy{padding:75px 7vw}.feature-image{min-height:520px}.pet-image img{min-height:550px}.detail-list{grid-template-columns:repeat(2,1fr)}.practical-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.photo-grid{grid-template-columns:1fr 1fr!important}.photo-grid img{aspect-ratio:1/1}.photo-grid img:first-child{grid-column:span 2;aspect-ratio:16/10}.nav-wrap{padding:0 18px}.hero{min-height:760px}.hero-copy{padding:120px 24px 80px}.hero h1{font-size:3.35rem}.hero-copy>p:not(.kicker){font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-note{left:24px;right:auto;bottom:25px;font-size:.63rem}.intro{padding:90px 24px}.feature-image{min-height:380px}.feature-copy,.veranda-copy,.location-copy,.pet-copy{padding:65px 24px}.editorial-grid{grid-template-columns:1fr;padding:50px 20px;gap:30px}.editorial-grid article+article{margin-left:0}.quote-band{padding:85px 24px}.pet-image{min-height:480px}.pet-image img{min-height:480px;height:480px}.details{padding:85px 24px}.detail-list{grid-template-columns:1fr 1fr}.detail-list div{padding:20px 15px;min-height:95px}.gallery-strip{padding:85px 20px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:20px}.photo-row{height:auto;grid-template-columns:1fr 1fr}.photo-row img{height:auto;aspect-ratio:1/1}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.photo-row img:first-child{grid-column:span 2;aspect-ratio:16/10}.booking{grid-template-columns:1fr;padding:75px 20px;gap:35px}.booking-form{padding:24px}.form-grid{grid-template-columns:1fr}.practical{padding:80px 24px}.practical-grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;padding:55px 24px;gap:35px}.brand{font-size:.9rem}}

/* V3 layout rule: paired image blocks use explicit equal heights so top and bottom edges align. */

/* Brand assets: fixed boxes reserve their rendered dimensions before image decode. */
.brand{position:relative;display:block;width:86px;height:66px;overflow:hidden;font-size:0;line-height:0;letter-spacing:0}
.brand>small{display:none}
.brand::before{content:"";display:block;width:86px;height:58px;background:url("/images/logo-nav.png") left center/contain no-repeat}
.footer-brand{width:220px;height:48px}
.footer-brand::before{width:220px;height:48px;background-image:url("/images/logo-text.png");background-position:left center}
.site-footer .footer-brand+ p{margin-top:18px}
.navbar{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(36,49,57,.08)}
.container{max-width:var(--max);margin:auto;padding:0 28px}
.nav-inner{height:82px;display:flex;align-items:center}
.logo{display:block;width:86px;height:66px;overflow:hidden}
.logo img{width:86px;height:58px;object-fit:contain;object-position:left center}
.navbar+section{padding-top:calc(6rem + 82px)!important}
.btn{display:inline-block;text-decoration:none;padding:14px 23px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.btn-primary{background:var(--blue);color:#fff}
@media(max-width:700px){.brand{width:70px;height:58px}.brand::before{width:70px;height:50px}.footer-brand{width:190px;height:41px}.footer-brand::before{width:190px;height:41px}.logo{width:70px;height:58px}.logo img{width:70px;height:50px}.container{padding:0 18px}}

/* Clickable galleries: fixed grid tracks keep every visible tile precisely aligned. */
.photo-row img,.photo-grid img{cursor:zoom-in;transition:opacity .2s ease,transform .2s ease}
.photo-row img:hover,.photo-grid img:hover{opacity:.88;transform:scale(.985)}
.photo-grid{grid-auto-rows:255px}
.photo-grid img{width:100%!important;height:100%;object-fit:cover}
.photo-grid img[hidden]{display:none}
.gallery-filters{max-width:1120px;margin:0 auto 28px;display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.gallery-filters button{padding:9px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);font:700 .72rem/1 Arial,"Helvetica Neue",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.gallery-filters button:hover,.gallery-filters button.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.lightbox{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);margin:auto;padding:0;border:0;background:#13242c;color:#fff;overflow:visible}
.lightbox::backdrop{background:rgba(10,20,25,.88)}
.lightbox figure{margin:0;display:grid;place-items:center;max-height:calc(100vh - 32px)}
.lightbox figure img{max-width:100%;max-height:calc(100vh - 90px);width:auto;height:auto;object-fit:contain}
.lightbox figcaption{padding:10px 18px 14px;font-size:.78rem;text-align:center;color:#dce7eb}
.lightbox button{position:absolute;z-index:1;border:0;background:rgba(19,36,44,.75);color:#fff;cursor:pointer;line-height:1}
.lightbox-close{top:10px;right:10px;width:38px;height:38px;font-size:2rem}
.lightbox-prev,.lightbox-next{top:50%;width:48px;height:58px;transform:translateY(-50%);font-size:3rem}
.lightbox-prev{left:0}.lightbox-next{right:0}
@media(max-width:700px){.photo-grid{grid-auto-rows:175px}.gallery-filters{justify-content:flex-start;margin-bottom:22px}.gallery-filters button{padding:8px 11px;font-size:.65rem}.lightbox{width:calc(100vw - 20px)}.lightbox-prev,.lightbox-next{width:40px;height:50px}.lightbox figure img{max-height:calc(100vh - 100px)}}
