:root{--ink:#192940;--muted:#5e6772;--line:#dfe4e8;--blue:#244d70;--accent:#b96530;--wash:#f1f5f7}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:1.65;margin:0}h1,h2,h3,strong{color:var(--ink)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,4.65vw,4.6rem);line-height:1.07;margin:0 0 28px}h1 em{font-weight:400;font-style:italic;color:var(--blue)}h2{font-size:clamp(2.15rem,3.4vw,3.35rem);line-height:1.14;margin:0 0 24px}h3{font-size:1.45rem;letter-spacing:-.025em;margin:0 0 12px;font-weight:500}p{margin:0 0 24px}a{border:0;transition:color .2s;color:inherit}a:hover{color:var(--accent)}button{font-family:inherit}a:focus-visible,button:focus-visible{outline:3px solid #c5682e;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;background:#fff;z-index:100;padding:15px}.skip:focus{top:15px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 5.5%;border-bottom:1px solid var(--line);background:white;position:relative;z-index:5}.brand{font-family:Georgia,serif;font-size:2.6rem;letter-spacing:-.06em;line-height:1;font-weight:700;text-decoration:none}.brand span{display:block;font-family:Arial,sans-serif;font-size:.64rem;letter-spacing:.15em;font-weight:500;margin-top:9px}.topbar nav{display:flex;gap:30px;font-size:.9rem}.navphone{font-size:1rem;font-weight:600}.navphone span{margin-left:18px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:650px;max-width:1600px;margin:auto}.herocopy{padding:78px 7% 50px 10%}.eyebrow{font-size:.74rem;letter-spacing:.16em;line-height:1.5;font-weight:700;color:var(--blue);margin:0 0 22px}.lead{font-size:1.1rem;color:var(--muted);max-width:390px;line-height:1.8}.heroactions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.button{border-radius:4px;border:1px solid var(--line);box-shadow:none;height:auto;line-height:1.5;padding:16px 23px;font-size:.88rem;font-weight:600;white-space:normal;text-align:center;color:var(--ink)!important}.button.primary{background:var(--ink);color:white!important;border-color:var(--ink)}.button.primary:hover{background:var(--blue)}.button span{padding-left:15px}.textlink{font-size:.88rem;font-weight:600;text-decoration:underline;text-underline-offset:5px}.herodetails{display:flex;gap:42px;margin-top:60px;padding-top:22px;border-top:1px solid var(--line)}.herodetails>span{font-size:.7rem;letter-spacing:.12em;color:var(--muted)}.herodetails strong{display:block;font-size:.84rem;letter-spacing:0;margin-top:3px;font-weight:500}.heroimage{position:relative;margin:30px 30px 30px 0;min-height:540px;overflow:hidden;border-radius:5px}.heroimage>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}.photocaption{position:absolute;bottom:0;left:0;right:0;padding:50px 32px 28px;background:linear-gradient(transparent,rgba(15,27,39,.78));font-family:Georgia,serif;font-size:1.7rem;color:#fff}.photocaption span{display:block;font-family:Arial,sans-serif;letter-spacing:.15em;font-size:.62rem;margin-top:8px}.amenitystrip{display:flex;justify-content:center;gap:clamp(24px,4vw,64px);width:calc(100% - 60px);max-width:1540px;margin-inline:auto;padding:26px 32px;background:var(--wash);font-size:.87rem;border:1px solid var(--line);border-radius:5px}.amenitystrip i{margin-right:12px;color:var(--blue)}.section{padding:92px 7.5%;max-width:1600px;margin:auto}.sectionheading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.sectionheading h2{margin:0}.sectionheading p:last-child{color:var(--muted);font-size:.95rem;margin-bottom:2px}.sectionheading .eyebrow{margin-bottom:14px}.roomgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.roomcard{border:1px solid var(--line);border-radius:5px;overflow:hidden}.photo{display:block;width:100%;padding:0;border:0;box-shadow:none;height:310px;position:relative;overflow:hidden;border-radius:0;background:var(--wash);cursor:zoom-in;line-height:normal}.photo img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.025)}.photo span{position:absolute;bottom:0;left:0;right:0;padding:38px 20px 17px;text-align:left;font-size:.85rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));white-space:normal}.roomcontent{padding:30px}.roomcontent .eyebrow{margin-bottom:12px}.roomcontent p{color:var(--muted);font-size:.96rem}.price{border-top:1px solid var(--line);padding-top:18px;margin-bottom:20px}.price strong{font-size:2rem;font-weight:500}.price small{font-size:.8rem;color:var(--muted);font-weight:400}.price>span{display:block;font-size:.78rem;color:var(--muted)}.roomnote{margin:24px 0 0;color:var(--muted);font-size:.88rem}.roomnote a{text-decoration:underline;text-underline-offset:3px}.comfort{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:var(--wash);align-items:center}.comfortphoto{height:575px}.comfortphoto img{height:100%;width:100%;object-fit:cover;border-radius:5px}.comfortcopy>p{color:var(--muted)}.comfortlist{list-style:none;padding:0;margin:28px 0 0}.comfortlist li{display:flex;gap:20px;padding:18px 0;border-top:1px solid #d6e0e7}.comfortlist i{padding-top:7px;width:22px;color:var(--blue)}.comfortlist h3{font-size:1.03rem;margin-bottom:6px;font-weight:600}.comfortlist p{font-size:.9rem;color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery .photo{height:310px;border-radius:4px}.location{background:var(--ink);color:#d6e0e9;display:grid;grid-template-columns:1fr 1fr;gap:12%}.location h2,.location strong{color:#fff}.location .eyebrow{color:#b3cce1}.location>div>p:not(.eyebrow){max-width:410px;color:#c3ced8}.location .button{border-color:#617388;color:#fff!important}.distances>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #425065;padding:13px 0}.distances strong{font-size:2.35rem;line-height:1.4;font-weight:400}.distances small{font-size:1rem;color:#c3ced8}.distances p{font-size:.75rem;margin-top:20px;color:#c3ced8}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:105px}.contact p{color:var(--muted)}.contactlinks{padding-top:32px}.contactlinks>a{display:block;width:fit-content}.bigphone{font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.035em;font-weight:600}.bigphone span{padding-left:20px}.contactlinks>a:nth-child(2){font-size:1.2rem;color:var(--blue);text-decoration:underline;text-underline-offset:4px;margin-top:6px}address{font-style:normal;margin:30px 0 22px}.contactlinks p{font-size:.87rem}.contactlinks p a{text-decoration:underline}.sitefooter{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 5.5%;border-top:1px solid var(--line)}.sitefooter .brand{font-size:2rem}.sitefooter p{margin:0;color:var(--muted);font-size:.8rem}.sitefooter>div{font-size:.85rem;text-align:right}.sitefooter small{display:block;font-size:.75rem;color:var(--muted);margin-top:7px}.sitefooter small a{text-decoration:underline}dialog{padding:40px 18px 18px;border:none;border-radius:6px;background:var(--ink);color:#fff;max-width:min(92vw,1000px);max-height:92vh}dialog::backdrop{background:rgba(8,15,25,.86)}dialog img{display:block;max-height:74vh;max-width:100%;margin:auto;object-fit:contain}dialog p{margin:12px 0 0;text-align:center;font-size:.88rem}dialog .close{position:absolute;right:5px;top:0;color:white!important;border:0;box-shadow:none;font-size:1.7rem;height:40px;line-height:40px;padding:0 15px}.rules{max-width:1000px}.rules h1{font-size:3rem}.rules p{margin-bottom:20px}.rules strong{font-weight:600}.rules .button{margin-top:25px}@media(min-width:1600px){.topbar,.sitefooter{padding-inline:calc((100vw - 1424px)/2)}}@media(max-width:1000px){.topbar{padding-inline:5%;height:94px}.topbar nav{gap:18px}.hero{min-height:600px;grid-template-columns:1fr 1fr}.herocopy{padding:55px 7% 40px 10%}.heroimage{margin:22px 22px 22px 0;min-height:520px}.heroactions{gap:18px}.herodetails{gap:24px;margin-top:38px}.section{padding:65px 6%}.sectionheading{align-items:start}.amenitystrip{flex-wrap:wrap;gap:24px;width:100%;padding-inline:6%;border-radius:0}.amenitystrip span{width:44%}.gallery{grid-template-columns:repeat(2,1fr)}.comfort{gap:6%}.comfortphoto{height:520px}.sitefooter{flex-wrap:wrap}.contact{gap:6%}}@media(max-width:700px){.topbar{height:auto;min-height:110px;flex-wrap:wrap;padding:20px 6% 14px;gap:18px}.brand{font-size:2.2rem}.brand span{font-size:.57rem}.topbar nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;gap:10px;font-size:.84rem}.navphone{font-size:.88rem}.navphone span{margin-left:6px}.hero{display:flex;flex-direction:column}.herocopy{padding:44px 6% 32px}h1{font-size:3.1rem}.lead{font-size:1rem;max-width:100%}.heroactions{margin-top:24px}.heroimage{height:390px;min-height:0;margin:0 6% 28px}.herodetails{margin-top:32px;gap:40px}.photocaption{font-size:1.4rem;padding-inline:22px}.amenitystrip{gap:18px 10px;padding-block:24px;font-size:.77rem}.amenitystrip span{width:calc(50% - 5px)}.amenitystrip i{margin-right:7px}.section{padding:54px 6%}.sectionheading{display:block;margin-bottom:26px}.sectionheading h2{margin-bottom:18px}.sectionheading p:last-child{font-size:.9rem}.roomgrid,.comfort,.location,.contact{grid-template-columns:1fr;gap:28px}.roomcontent{padding:24px}.photo{height:290px}.roomcard h3{font-size:1.3rem}.roomnote{font-size:.82rem}.comfortphoto{height:330px}.comfortcopy{padding-top:10px}.gallery{gap:12px}.gallery .photo{height:240px}.gallery .photo span{font-size:.75rem;padding:30px 10px 12px}.contactlinks{padding:0}.bigphone{font-size:2.25rem}.sitefooter{padding:30px 6%;display:block}.sitefooter>p{margin:25px 0 15px}.sitefooter>div{text-align:left}.eyebrow{font-size:.7rem}.rules h1{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Alignment with the header content and a more compact primary contact button. */
.amenitystrip{width:auto;max-width:none;margin-left:max(5.5%,calc((100% - 1424px)/2));margin-right:max(30px,calc((100% - 1540px)/2))}
.heroactions .button{padding-top:11px;padding-bottom:11px}
@media(max-width:1000px){.amenitystrip{width:auto;margin-left:5%;margin-right:22px}}
@media(max-width:700px){.amenitystrip{width:auto;margin-inline:6%}}

/* Original Klayton mark, tinted with a presentation-only colour filter. */
.brand{display:inline-flex;align-items:center;gap:12px}
.brand .brandmark{display:block;width:52px;height:auto;flex-shrink:0;filter:url(#brand-navy)}
.brand .brandcopy{font:inherit;letter-spacing:inherit;margin:0;display:block}
.brand small{display:block;font-family:Arial,sans-serif;font-size:.64rem;letter-spacing:.15em;font-weight:500;margin-top:9px}
.sitefooter .brandmark{width:44px}
.sitefooter .brand small{font-size:.64rem;color:var(--ink);margin-top:9px}
@media(max-width:700px){.brand{gap:8px}.brand .brandmark{width:40px}.brand small,.sitefooter .brand small{font-size:.57rem}}
/* Room and property galleries */
.topbar nav{gap:24px}.topbar nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.property-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.property-gallery .photo{height:300px}.property-gallery .photo:first-child{grid-column:span 2}.property-gallery .photo span{font-size:.82rem}.photo span b{font-weight:400;float:right;margin-left:8px}
.gallerycallout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}.gallerycallout p{margin:0}.roomgallerylink{margin-top:28px}
.galleryhero{padding-bottom:40px}.galleryhero h1{font-size:clamp(2.7rem,4.5vw,4.4rem)}.galleryhero>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}
.galleryfilters{display:flex;flex-wrap:wrap;gap:10px;max-width:1360px;width:85%;margin:0 auto 16px}.galleryfilters button{box-shadow:none;border:1px solid var(--line);border-radius:30px;padding:11px 20px;height:auto;line-height:1.4;font-size:.86rem;color:var(--ink)!important;white-space:normal}.galleryfilters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:white!important}.galleryfilters button:hover{background:var(--wash)}.galleryfilters button[aria-pressed="true"]:hover{background:var(--blue)}
.filterstatus{font-size:.82rem;color:var(--muted);max-width:1360px;width:85%;margin:0 auto 25px;min-height:1.4em}
.roomgroup{padding-top:44px;padding-bottom:44px;border-top:1px solid var(--line)}.roomgroup[hidden]{display:none}.groupheading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.groupheading h2{font-size:2rem;margin:0;letter-spacing:-.035em}.groupheading .eyebrow{margin-bottom:10px}.groupheading>span{font-size:.85rem;color:var(--muted);white-space:nowrap}
.roomphotos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.roomphotos .photo{height:auto;aspect-ratio:3/4;border-radius:5px}.roomphotos .photo img{position:absolute;inset:0}.roomphotos .photo span{font-size:.75rem;line-height:1.6}
.gallerycta{background:var(--wash);display:flex;justify-content:space-between;align-items:center;gap:30px}.gallerycta h2{margin:0}.lightboxbottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px}.lightboxbottom p{margin:0}.lightboxbottom>div{text-align:center}.photocount{font-size:.75rem;color:#bfccda}.lightboxbottom button{box-shadow:none;border:1px solid #647386;border-radius:5px;width:44px;height:44px;line-height:1;padding:0;flex-shrink:0;font-size:1.35rem;color:white!important}.lightboxbottom button:hover{background:#304962}body:has(dialog[open]){overflow:hidden}
@media(max-width:1000px){.topbar nav{gap:15px;font-size:.8rem}.roomphotos{grid-template-columns:repeat(2,minmax(0,1fr))}.roomphotos .photo{aspect-ratio:4/5}.property-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.galleryfilters,.filterstatus{width:88%}.topbar{gap:16px}}
@media(max-width:700px){.topbar nav{gap:12px;justify-content:flex-start;flex-wrap:wrap;font-size:.8rem}.galleryhero{padding-bottom:30px}.galleryhero p br{display:none}.galleryfilters button{padding:10px 13px;font-size:.78rem}.property-gallery .photo{height:230px}.property-gallery .photo:first-child{grid-column:span 1}.property-gallery .photo:last-child{grid-column:span 2;height:250px}.gallerycallout,.gallerycta{align-items:flex-start;flex-direction:column}.gallerycallout .button{width:100%}.roomgroup{padding-top:32px;padding-bottom:32px}.groupheading{align-items:start}.groupheading h2{font-size:1.6rem}.groupheading>span{font-size:.75rem}.roomphotos{gap:12px}.roomphotos .photo span{font-size:.7rem;padding:30px 10px 10px}.lightboxbottom p{font-size:.8rem}.galleryhero h1{font-size:3rem}.roomgroup .eyebrow{font-size:.63rem}}

/* Compact actions and navigation. */
.heroactions .button,.gallerycallout .button,.location .button{padding-top:7px;padding-bottom:7px;line-height:1.5}
.topbar nav{gap:19px}.topbar nav a{white-space:nowrap}
@media(min-width:701px) and (max-width:1120px){.topbar{height:auto;min-height:110px;flex-wrap:wrap;padding-block:18px;gap:16px}.topbar nav{order:3;width:100%;justify-content:center;gap:24px}.topbar .navphone{margin-left:auto}}
@media(max-width:700px){.topbar nav{gap:10px 15px;justify-content:flex-start}.price small{display:block;margin-top:2px}.price>span{margin-top:5px}}

.brand .brandcopy .brandinitial{display:inline-block;font:inherit;letter-spacing:inherit;margin:0;transform:scaleY(1.045);transform-origin:50% 85%}
.gallerycta .button,.rules .button{padding-top:7px;padding-bottom:7px;line-height:1.5}
.roomcard a.photo{cursor:pointer}

/* Keep navigation visible while scrolling. */
.topbar{position:sticky;top:0;z-index:50;box-shadow:0 3px 12px rgba(25,41,64,.06)}
html{scroll-padding-top:calc(var(--header-height, 180px) + 16px)}

/* Vector arrows avoid platform-specific emoji rendering. */
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
.bigphone .arrow-icon{width:.65em;height:.65em;vertical-align:0}
.lightboxbottom button .arrow-icon{width:20px;height:20px;vertical-align:middle}

/* Kitchen photographs keep their original landscape and portrait framing. */
.roomphotos.kitchenphotos{grid-template-columns:minmax(0,16fr) minmax(0,9fr);align-items:start}
.kitchenphotos .photo.landscape{aspect-ratio:4/3}
.kitchenphotos .photo.portrait{aspect-ratio:3/4}
@media(max-width:700px){.roomphotos.kitchenphotos{grid-template-columns:minmax(0,1fr)}}

/* Room 6 keeps both original photo orientations. */
.roomphotos.room-six-photos{grid-template-columns:minmax(0,9fr) minmax(0,16fr);align-items:start}
.room-six-photos .photo.portrait{aspect-ratio:3/4}
.room-six-photos .photo.landscape{aspect-ratio:4/3}
@media(max-width:700px){.roomphotos.room-six-photos{grid-template-columns:minmax(0,1fr)}}

/* Three photographs with mixed orientations retain their complete frames. */
.roomphotos.mixed-three-photos{grid-template-columns:minmax(0,16fr) minmax(0,9fr) minmax(0,9fr);align-items:start}
.mixed-three-photos .photo.portrait{aspect-ratio:3/4}
.mixed-three-photos .photo.landscape{aspect-ratio:4/3}
@media(max-width:700px){.roomphotos.mixed-three-photos{grid-template-columns:minmax(0,1fr)}}

/* Three portrait photographs retain their complete frames. */
.roomphotos.three-portrait-photos{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.three-portrait-photos .photo.portrait{aspect-ratio:3/4}
@media(max-width:700px){.roomphotos.three-portrait-photos{grid-template-columns:minmax(0,1fr)}}

/* Two portrait photographs retain their complete frames. */
.roomphotos.two-portrait-photos{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.two-portrait-photos .photo.portrait{aspect-ratio:3/4}
@media(max-width:700px){.roomphotos.two-portrait-photos{grid-template-columns:minmax(0,1fr)}}

/* Four mixed photographs retain their original frames. */
.roomphotos.mixed-four-photos{grid-template-columns:minmax(0,16fr) repeat(3,minmax(0,9fr));align-items:start}
.mixed-four-photos .photo.landscape{aspect-ratio:4/3}
.mixed-four-photos .photo.portrait{aspect-ratio:3/4}
@media(max-width:700px){.roomphotos.mixed-four-photos{grid-template-columns:minmax(0,1fr)}}

/* Larger shared-bathroom previews with complete portrait framing. */
.roomphotos.shared-bathroom-photos{max-width:760px;width:100%}

/* General property photos — preserve complete frames. */
.property-gallery .photo,.property-gallery .photo:first-child,.property-gallery .photo:last-child{grid-column:auto;height:auto;aspect-ratio:3/4}.property-gallery .photo.landscape{grid-column:2 / span 2;aspect-ratio:4/3}.property-gallery{align-items:start}
@media(max-width:1000px){.property-gallery .photo.landscape{grid-column:1 / -1}}

/* Subtle depth for the featured homepage photos and room cards. */
.roomcard{box-shadow:0 8px 24px rgba(25,41,64,.09),0 2px 6px rgba(25,41,64,.04)}
.heroimage,.comfortphoto{border-radius:5px;box-shadow:0 12px 30px rgba(25,41,64,.2),0 3px 8px rgba(25,41,64,.1)}

/* Local information and useful answers remain readable on every screen. */
.location>div>p:not(.eyebrow){max-width:100%}
.faq{max-width:1150px}
.faq-intro{color:var(--muted);max-width:680px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;min-height:52px;padding:20px 36px 20px 0;position:relative;list-style:none;font-weight:600;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:4px;top:17px;font-size:1.4rem;font-weight:400;color:var(--blue)}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{max-width:850px;color:var(--muted);padding-right:26px;margin:0 0 22px}
.faq-list a{text-decoration:underline;text-underline-offset:3px}
summary:focus-visible{outline:3px solid #c5682e;outline-offset:3px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.83rem;color:var(--muted);margin-bottom:24px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.menu-toggle{display:none}
@media(max-width:700px){
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px 16px;padding:14px 6%;min-height:0;height:auto}
 .topbar .brand{grid-column:1;grid-row:1;justify-self:start;font-size:2rem}
 .topbar .brandmark{width:36px}
 .topbar .brand small{font-size:.52rem;letter-spacing:.12em}
 .topbar .navphone{grid-column:1;grid-row:2;justify-self:start;margin:0;font-size:.86rem;min-height:30px;display:flex;align-items:center}
 .topbar .navphone span{margin-left:12px}
 .topbar nav{grid-column:1/-1;grid-row:3;order:initial;display:flex;flex-direction:column;gap:0;width:100%;padding:8px 0 0;margin:0;font-size:1rem}
 .topbar nav a{display:block;min-height:44px;padding:10px 0;white-space:normal}
 .topbar[data-nav-ready] .menu-toggle{display:flex;grid-column:2;grid-row:1/3;align-self:center;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #c5cfd7;border-radius:5px;background:#fff;box-shadow:0 2px 7px rgba(25,41,64,.06);color:var(--ink)}
 .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded='true'] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded='true'] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded='true'] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .topbar[data-nav-ready] nav{display:none;position:absolute;top:100%;left:0;padding:8px 6% 16px;background:#fff;box-shadow:0 12px 20px rgba(25,41,64,.14);max-height:calc(100vh - var(--header-height,110px) - 12px);max-height:calc(100dvh - var(--header-height,110px) - 12px);overflow-y:auto}
 .topbar[data-nav-ready].menu-open nav{display:flex}
 h1,.galleryhero h1{font-size:clamp(2.35rem,10.5vw,3.1rem)}
 .herodetails{gap:24px}
 .heroimage{height:360px}
 .faq-list summary{font-size:.95rem}
 .faq-list details p{font-size:.92rem}
 .property-gallery{grid-template-columns:minmax(0,1fr)}
 .property-gallery .photo.landscape{grid-column:auto}
 dialog{max-width:94vw;max-height:94dvh;padding:40px 12px 14px}
 dialog img{max-height:calc(94dvh - 155px)}
}
