:root{--cream:#f7f3eb;--paper:#fffdf9;--ink:#1d2b27;--green:#24483b;--green-dark:#17342b;--gold:#ad7a3f;--blue:#597889;--muted:#66736b;--line:#d9d2c5;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{display:block;max-width:100%;object-fit:cover}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:8px;z-index:20;padding:8px;background:#fff}.eyebrow{display:block;margin:0 0 12px;color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border:1px solid var(--green);background:var(--green);color:#fff;text-decoration:none;font-size:.88rem;font-weight:700;line-height:1.2;transition:.2s}.button:hover,.button:focus-visible{border-color:var(--green-dark);background:var(--green-dark)}.button--light{border-color:#fff;background:#fff;color:var(--green)}.button--outline{background:transparent;color:var(--green)}.button--outline:hover,.button--outline:focus-visible{background:var(--green);color:#fff}.button--white-outline{border-color:#fff;background:transparent;color:#fff}.button--white-outline:hover,.button--white-outline:focus-visible{background:#fff;color:var(--green)}
.site-header{position:relative;z-index:5;background:var(--green-dark);color:#fff}.site-header--over{position:absolute;width:100%;background:transparent}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}.brand{font-family:var(--serif);font-size:1.4rem;font-weight:600;text-decoration:none;line-height:1}.brand small{display:block;margin-top:6px;font-family:var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:19px}.nav a{font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap}.nav .button{min-height:40px;padding:9px 13px}.nav a[aria-current="page"]{color:#efd79b}.site-header:not(.site-header--over) .nav .button--light{color:var(--green)}
.hero{position:relative;min-height:690px;color:#fff;isolation:isolate;background:#334940}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(13,31,24,.8) 0%,rgba(13,31,24,.48) 47%,rgba(13,31,24,.16) 100%)}.hero-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.hero-content{display:flex;align-items:end;min-height:690px;padding:150px 0 76px}.hero-copy{max-width:655px}.hero h1,.page-intro h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:1.06}.hero h1{margin:0 0 20px;font-size:clamp(3.2rem,7vw,6.2rem)}.hero p{max-width:570px;margin:0 0 29px;font-size:1.1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero .eyebrow{color:#edcf91}
.reasons{position:relative;z-index:2;margin-top:-62px}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);box-shadow:0 14px 42px rgba(31,40,32,.13)}.reason{padding:27px 29px;border-right:1px solid var(--line)}.reason:last-child{border:0}.reason b{display:block;margin-bottom:4px;font-family:var(--serif);font-size:1.22rem;font-weight:600}.reason p{margin:0;color:var(--muted);font-size:.91rem;line-height:1.52}
.section{padding:104px 0}.section--paper{background:var(--paper)}.section--green{background:var(--green);color:#fff}.section--sand{background:#e9e3d7}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{max-width:620px;margin:0;font-size:clamp(2.4rem,4.4vw,4.3rem)}.section-heading p{max-width:400px;margin:0;color:var(--muted)}.section--green .eyebrow{color:#e6c486}.section--green .section-heading p{color:#e4eae5}
.intro{padding:117px 0 84px}.intro-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:min(11vw,148px);align-items:start}.intro h2{margin:0;font-size:clamp(2.25rem,4.3vw,4rem)}.intro p{margin:3px 0 16px;font-size:1.07rem;color:#405048}.intro p:last-child{margin-bottom:0}.intro strong{color:var(--green)}
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,7vw,88px);align-items:center}.feature--reverse{grid-template-columns:.95fr 1.05fr}.feature-image{width:100%;height:590px}.feature h2{margin:0 0 18px;font-size:clamp(2.45rem,4.5vw,4.25rem)}.feature p{margin:0 0 18px;color:inherit}.feature .button{margin-top:9px}.amenities{display:grid;grid-template-columns:repeat(2,1fr);margin:30px 0 26px;border-top:1px solid rgba(255,255,255,.29);border-left:1px solid rgba(255,255,255,.29)}.amenity{padding:13px 12px;border-right:1px solid rgba(255,255,255,.29);border-bottom:1px solid rgba(255,255,255,.29);font-size:.87rem}.amenity:before{content:"✓";margin-right:8px;color:#e8c884;font-weight:700}
.image-grid{display:grid;grid-template-columns:1.08fr .92fr .92fr;grid-template-rows:300px 300px;gap:15px}.image-grid figure{position:relative;min-width:0;margin:0;overflow:hidden;background:#d4d2c7}.image-grid figure:first-child{grid-row:span 2}.image-grid img{width:100%;height:100%;transition:transform .4s}.image-grid figure:hover img{transform:scale(1.03)}figcaption{position:absolute;right:0;bottom:0;padding:8px 11px;background:rgba(23,52,43,.9);color:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:28px;background:var(--paper);border-top:3px solid var(--gold)}.card h3{margin:0 0 10px;font-size:1.48rem}.card p{margin:0;color:var(--muted);font-size:.93rem}.card--green{background:#f5f6f2}.card--green p{color:#4e5c55}.icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:18px;border:1px solid var(--gold);color:var(--gold);font-family:var(--serif);font-size:1.2rem}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review{padding:28px;background:var(--cream);border-top:3px solid var(--gold)}.review blockquote{margin:0;font-family:var(--serif);font-size:1.17rem;line-height:1.4}.review footer{margin-top:21px;color:var(--muted);font-size:.83rem;font-weight:700}.review footer:before{content:"— ";color:var(--gold)}
.booking{padding:103px 0;background:var(--green);color:#fff}.booking-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.booking h2{margin:0 0 18px;font-size:clamp(2.55rem,4.8vw,4.55rem)}.booking p{max-width:615px;margin:0 0 27px;color:#e8eee9;font-size:1.04rem}.booking-links{display:flex;flex-wrap:wrap;gap:12px}.booking-card{padding:30px;background:#fff;color:var(--ink)}.booking-card h3{margin:0 0 12px;font-size:1.65rem;font-weight:600}.booking-card p{margin:0 0 19px;color:var(--muted);font-size:.91rem}.contact-list{display:grid;gap:11px;margin:0 0 25px}.contact-list a{font-weight:700;text-decoration-color:var(--gold);text-underline-offset:3px}.booking-card .button{width:100%}.notes{margin-top:22px;font-size:.78rem;line-height:1.55;color:#d6dfd8}
.page-intro{padding:96px 0 84px;background:#e9e3d7}.page-intro--image{position:relative;min-height:465px;color:#fff;isolation:isolate;background:var(--green-dark)}.page-intro--image:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(15,37,29,.82),rgba(15,37,29,.38))}.page-intro--image img{position:absolute;z-index:-2;inset:0;width:100%;height:100%}.page-intro--image .wrap{display:flex;align-items:end;min-height:465px;padding:155px 0 72px}.page-intro-copy{max-width:700px}.page-intro h1{margin:0 0 17px;font-size:clamp(3.1rem,6vw,5.2rem)}.page-intro p{max-width:650px;margin:0;font-size:1.08rem}.page-intro .eyebrow{color:#e6c486}
.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.detail{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detail h3{margin:0 0 9px;font-size:1.44rem}.detail p{margin:0;color:var(--muted);font-size:.94rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,110px)}.two-col h2{margin:0 0 17px;font-size:clamp(2.1rem,3.8vw,3.55rem)}.two-col p{color:#435248}.plain-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.plain-list li{padding:13px 0;border-bottom:1px solid var(--line)}.plain-list b{display:block;font-size:.92rem}.plain-list span{color:var(--muted);font-size:.9rem}.split-image{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;background:#ebe4d9}.split-image img{height:100%;min-height:470px;width:100%}.split-image>div{padding:clamp(36px,6vw,84px)}.split-image h2{margin:0 0 18px;font-size:clamp(2.25rem,4vw,3.8rem)}.split-image p{color:#45534b}
.gallery-full{display:grid;grid-template-columns:repeat(2,1fr);gap:19px}.gallery-full figure{margin:0;position:relative;overflow:hidden;background:#dedcd3}.gallery-full figure:nth-child(3n+1){grid-column:span 2}.gallery-full img{width:100%;height:410px}.gallery-full figure:nth-child(3n+1) img{height:540px}.gallery-note{margin:0 auto;max-width:750px;text-align:center;color:var(--muted)}
.explore-list{display:grid;gap:1px;background:#cfc7b8;margin-top:27px}.place{display:grid;grid-template-columns:74px 1fr;gap:13px;padding:19px 17px;background:#f7f4ee}.place-num{color:var(--gold);font-family:var(--serif);font-size:1.1rem;font-weight:600}.place b{display:block;margin-bottom:2px;font-size:.96rem}.place p{margin:0;color:var(--muted);font-size:.89rem;line-height:1.5}.practical{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.practical .card{min-height:216px}
.quote{padding:94px 0;background:var(--green);color:#fff;text-align:center}.quote blockquote{max-width:880px;margin:0 auto;font-family:var(--serif);font-size:clamp(2rem,4vw,3.9rem);line-height:1.12;letter-spacing:-.035em}.quote cite{display:block;margin-top:23px;color:#e2c284;font-family:var(--sans);font-size:.83rem;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.page-cta{padding:82px 0;background:var(--green);color:#fff;text-align:center}.page-cta h2{margin:0 0 15px;font-size:clamp(2.35rem,4vw,3.9rem)}.page-cta p{max-width:660px;margin:0 auto 26px;color:#e3ebe5}.page-cta .button{margin:0 4px}
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.policy{padding:22px;background:var(--cream);border-left:3px solid var(--gold)}.policy h3{margin:0 0 6px;font-size:1.32rem}.policy p{margin:0;color:var(--muted);font-size:.91rem}.host-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,8vw,110px);align-items:center}.host-grid img{width:100%;height:510px}.host-grid h2{margin:0 0 16px;font-size:clamp(2.4rem,4.3vw,4rem)}.host-grid p{color:#45534b}
footer.site-footer{padding:42px 0;background:#132e26;color:#d8e1db}.footer-inner{display:flex;align-items:end;justify-content:space-between;gap:24px}.footer-brand{font-family:var(--serif);font-size:1.37rem}.footer-brand small{display:block;margin-top:2px;font-family:var(--sans);font-size:.63rem;letter-spacing:.13em;text-transform:uppercase}.footer-detail{font-size:.78rem;text-align:right;line-height:1.65}.footer-detail a{color:#fff;text-decoration-color:#b7874a;text-underline-offset:3px}.footer-links{margin-top:8px}.footer-links a{margin-left:14px}
@media(max-width:900px){.nav{gap:13px}.nav a:not(.button){display:none}.hero,.hero-content{min-height:640px}.reasons{margin-top:-25px}.reason-grid,.cards,.review-grid,.practical{grid-template-columns:1fr}.reason{border-right:0;border-bottom:1px solid var(--line)}.reason:last-child{border-bottom:0}.section,.intro{padding:78px 0}.intro-inner,.feature,.feature--reverse,.booking-grid,.two-col,.host-grid{grid-template-columns:1fr;gap:34px}.feature-image{height:420px;order:2}.image-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 210px}.image-grid figure:first-child{grid-column:span 2;grid-row:auto}.booking{padding:78px 0}.booking-grid{gap:36px}.page-intro{padding:76px 0}.page-intro--image,.page-intro--image .wrap{min-height:410px}.page-intro--image .wrap{padding:130px 0 60px}.split-image{grid-template-columns:1fr}.split-image img{min-height:350px}.gallery-full img,.gallery-full figure:nth-child(3n+1) img{height:360px}.host-grid img{height:420px}.footer-inner{align-items:start;flex-direction:column}.footer-detail{text-align:left}.footer-links a{margin:0 14px 0 0}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1180px)}.header-inner{min-height:70px}.brand{font-size:1.18rem}.nav .button{padding:9px 10px;font-size:.75rem}.hero,.hero-content{min-height:600px}.hero-content{padding:130px 0 48px}.hero h1{font-size:3.15rem}.hero p{font-size:1rem}.hero-actions,.booking-links{display:grid;grid-template-columns:1fr}.hero-actions .button,.booking-links .button{width:100%}.section-heading{display:block}.section-heading p{margin-top:14px}.feature-image{height:320px}.amenities,.details-grid,.policy-grid{grid-template-columns:1fr}.image-grid{display:grid;grid-template-columns:1fr;grid-template-rows:270px repeat(3,215px);grid-auto-rows:215px}.image-grid figure:first-child{grid-column:auto}.page-intro h1{font-size:3rem}.page-intro--image,.page-intro--image .wrap{min-height:380px}.page-intro--image .wrap{padding:122px 0 48px}.gallery-full{grid-template-columns:1fr}.gallery-full figure:nth-child(3n+1){grid-column:auto}.gallery-full img,.gallery-full figure:nth-child(3n+1) img{height:300px}.place{grid-template-columns:54px 1fr}.split-image>div{padding:38px 22px}.booking-card{padding:24px}.footer-detail{font-size:.72rem}}

/* Broad Street artwork, used as a light visual pause between the town introduction and apartment tour. */
.street-panorama{margin:0;padding:24px 0 18px;background:#f3efe7;text-align:center}.street-panorama img{display:block;width:min(100%,1500px);height:auto;margin:0 auto}.street-panorama figcaption{position:static;padding:7px 12px 0;background:none;color:#45534b;font-size:.76rem;letter-spacing:.04em;text-transform:none}
.review-grid--detail{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid--detail .review:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}
@media(max-width:900px){.review-grid--detail{grid-template-columns:1fr}.review-grid--detail .review:last-child{grid-column:auto;justify-self:stretch;width:auto}}
