/* Full-width section backgrounds; shared content stays in the centred row. */
html{background:#fff}body{width:100%;max-width:none;margin:0;box-shadow:none}
.wrap{max-width:1180px;width:calc(100% - 64px)}
.welcome-frame{max-width:1240px}
.journey-toolbar{padding-inline:max(38px,calc((100% - 1180px)/2))}
.journey-card{max-width:1180px;width:100%;margin-inline:auto}
.feature{display:block;margin:0;padding:80px 0;min-height:0;border-width:1px 0}
.feature-inner{display:grid;grid-template-columns:1fr 1fr;min-height:490px}
.feature-inner .feature-copy{background:#fff}
.room-hero{display:block;padding:48px 0;min-height:0}
.room-hero-inner{display:grid;grid-template-columns:1.15fr .85fr;min-height:550px}
.room-hero-photo{min-width:0}.room-hero-copy{min-width:0;padding:48px 0 48px 45px}
.room-hero-photo img{height:100%;max-height:700px;object-fit:cover}
.nav-group{display:flex;align-items:center;position:relative;gap:3px}
.nav-toggle{display:grid;place-items:center;width:24px;height:40px;border:0;background:transparent;color:inherit;cursor:pointer}
.nav-toggle span{width:6px;height:6px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg) translateY(-2px)}
.nav-toggle[aria-expanded="true"] span{transform:rotate(225deg)}
.nav-dropdown{position:absolute;z-index:80;top:100%;left:-18px;min-width:235px;padding:12px 0;background:#fff;border:1px solid #ded8ca;box-shadow:0 15px 35px #0002;text-transform:none;letter-spacing:.015em}
.nav-dropdown a{display:block;padding:9px 20px;font-size:15px;line-height:1.6;white-space:nowrap}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:#f5f2e9}
.desktop-nav a[aria-current="page"]{color:#947810}
.mobile-more-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0 22px;border-bottom:1px solid #b49a4545}
.mobile-more-links a{font-size:14px;color:#d4c58e;line-height:1.6}
.footer-nav{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;margin-top:35px}
.footer-nav a{font-size:13px;color:#c5b77f}
.page-hero{position:relative;isolation:isolate;min-height:500px;display:flex;align-items:flex-end;background:#252321;overflow:hidden}
.page-hero>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}
.page-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#0001 15%,#000a)}
.page-hero-copy{padding:65px 0;color:#fff}.page-hero-copy .kicker{color:#eee3bd;font-size:12px}
.page-hero h1{font-size:clamp(40px,4.7vw,66px);max-width:900px;line-height:1.1;color:#fff;margin:0 0 20px}
.page-hero-copy>p:last-child{font-size:19px;max-width:700px;margin:0;color:#eeece6}
.page-section{padding:80px 0;background:#fff}.page-section.shaded{background:#f3f0e7}
.page-section h2,.suite-card h2,.page-booking h2{font-size:clamp(30px,3vw,42px);margin:0 0 25px;line-height:1.15}
.page-section p{color:#56524d;font-size:16px;line-height:1.85}
.prose-intro{max-width:790px;text-align:center;margin:0 auto 50px}.page-section>.prose-intro{margin-bottom:0}
.prose-intro p{margin-bottom:0}.editorial-row{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.editorial-row figure{margin:0;min-width:0}.editorial-row figure img{width:100%;height:440px;object-fit:cover}
.editorial-reverse figure{order:-1}.text-link{display:inline-flex;align-items:center;gap:8px;color:#77621d;border-bottom:1px solid #c3b378;padding-bottom:3px;font-size:15px}
.suite-list{padding:0 0 80px;background:#fff}.suite-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.suite-card{border:1px solid #dfd9ca;background:#fff;min-width:0}.suite-card>a{display:block;overflow:hidden}
.suite-card>a img{height:330px;object-fit:cover;transition:transform .35s}.suite-card>a:hover img{transform:scale(1.025)}
.suite-card-copy{padding:30px}.suite-card h2{font-size:32px;margin-bottom:18px}.suite-card-copy>p:not(.kicker){color:#686158;min-height:56px}
.suite-card ul{padding-left:19px;color:#625a4f;min-height:60px;margin:0 0 25px}.suite-card li{padding:3px 0}
.page-booking{padding:72px 0;text-align:center;background:#eeeadf}.page-booking .button{margin:8px}
.more-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.more-card{background:#fff;border:1px solid #e4dece;min-width:0}
.more-card>img{height:280px;object-fit:cover}.more-card>div{padding:30px}.more-card h2{font-size:31px}.more-card:hover .text-link{color:#342c13}
.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 35px;justify-content:center}.gallery-filters[hidden]{display:none}
.gallery-filters button{font-size:14px;padding:9px 15px;line-height:1.5;background:#fff;border:1px solid #d9d2c4;color:#595348;cursor:pointer}
.gallery-filters button[aria-pressed="true"]{background:#191a19;border-color:#191a19;color:#fff}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery-photo{position:relative;display:block;min-width:0;overflow:hidden;background:#eee;aspect-ratio:4/3}.gallery-photo[hidden]{display:none}
.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-photo:hover img{transform:scale(1.035)}
.gallery-photo span{position:absolute;left:0;right:0;bottom:0;padding:24px 18px 13px;background:linear-gradient(transparent,#000b);color:#fff;font-size:14px;letter-spacing:.025em}
.photo-lightbox{padding:0;border:1px solid #766747;background:#111315;color:#fff;width:min(1100px,calc(100% - 36px));max-height:94vh;max-height:94svh}
.photo-lightbox::backdrop{background:#000d}.lightbox-toolbar,.lightbox-navigation{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 22px}
.lightbox-caption{margin:0;font-size:16px}.lightbox-image{width:100%;height:70vh;height:70svh;object-fit:contain}
.photo-lightbox button{border:1px solid #69665c;color:#fff;background:transparent;padding:9px 15px;cursor:pointer;font-size:14px;min-height:44px}
.lightbox-close span{margin-left:10px;font-size:20px}.photo-lightbox button:hover{border-color:#cfb457}
.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:75px}.faq-list details{border-top:1px solid #d9d2c3;padding:0}.faq-list details:last-child{border-bottom:1px solid #d9d2c3}
.faq-list summary{font-size:18px;font-family:'Playfair Display',Georgia,serif;padding:23px 35px 23px 0;cursor:pointer;line-height:1.6;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:6px;top:22px;font:400 24px Arial;color:#8c7430}.faq-list details[open] summary:after{content:'−'}
.faq-list details p{padding:0 35px 22px 0;margin:0;font-size:16px}
.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.contact-page-grid address{font-style:normal;display:flex;flex-direction:column;gap:18px;margin:32px 0;color:#4f4a42}
.contact-page-grid address strong{font-family:'Playfair Display',Georgia,serif;font-size:28px;color:#25231e}
.contact-page-grid a{overflow-wrap:anywhere}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.contact-details{padding:36px 42px;background:#f3f0e7;border-top:2px solid #9b8340}
.contact-details h3{font-size:25px;margin:30px 0 12px}.social-links{display:flex;gap:24px;color:#75601d}
@media(max-width:1120px){.desktop-nav{gap:12px}.editorial-row{gap:45px}.page-hero{min-height:450px}.journey-card{max-width:1120px}.room-hero-inner{min-height:490px}.suite-card>a img{height:280px}.contact-page-grid,.faq-layout{gap:45px}}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.desktop-nav{gap:8px}.desktop-nav .nav-group{gap:0}.nav-toggle{width:19px}.room-hero-inner{grid-template-columns:1fr}.room-hero-copy{padding:35px 0 0}.room-hero-photo{height:450px}.contact-page-grid{gap:30px}.contact-details{padding:28px}.journey-card{max-width:100%}.suite-card-copy{padding:25px}.suite-card h2{font-size:29px}}
@media(max-width:780px){.wrap{width:calc(100% - 36px)}.journey-toolbar{padding-inline:18px}.feature{padding:40px 0;margin:0}.feature-inner{grid-template-columns:1fr;min-height:0}.room-hero{padding:28px 0}.room-hero-photo{height:55svh;min-height:300px}.room-hero-copy{padding:35px 4px 12px}.page-hero{min-height:390px}.page-hero-copy{padding:50px 0 38px}.page-hero h1{font-size:40px}.page-hero-copy>p:last-child{font-size:17px}.page-section{padding:52px 0}.editorial-row,.contact-page-grid,.faq-layout{grid-template-columns:1fr;gap:30px}.editorial-reverse figure{order:0}.editorial-row figure img{height:340px}.prose-intro{margin-bottom:30px}.suite-grid{grid-template-columns:1fr;gap:25px}.suite-card>a img{height:300px}.suite-card-copy>p:not(.kicker),.suite-card ul{min-height:0}.suite-list{padding-bottom:50px}.more-card-grid{grid-template-columns:1fr}.more-card>img{height:270px}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-photo{aspect-ratio:1}.gallery-photo span{padding:20px 10px 9px;font-size:13px}.gallery-filters{gap:7px;justify-content:flex-start}.gallery-filters button{font-size:13px;padding:8px 12px}.lightbox-caption{font-size:14px}.lightbox-toolbar,.lightbox-navigation{padding:12px;gap:10px}.lightbox-image{height:65svh}.photo-lightbox button{font-size:13px;padding:8px 11px}.faq-list summary{font-size:18px}.page-booking{padding:50px 0}.footer-nav{gap:12px 23px}.contact-details{padding:25px}.contact-page-grid address{overflow-wrap:anywhere}.mobile-more-links a{padding:6px 0}}
@media(prefers-reduced-motion:reduce){.gallery-photo img,.suite-card>a img{transition:none}}

/* Generous image previews for the two desktop navigation collections. */
.site-header.is-scrolled .crest{width:94px;height:94px;top:6px}
.nav-dropdown[hidden]{display:none}
@media(min-width:781px){
  .desktop-nav{align-self:stretch;position:static}
  .desktop-nav .nav-group{position:static;align-self:stretch}
  .mega-menu{left:auto;right:0;top:calc(100% - 2px);width:calc(100% - 205px);min-width:0;display:grid;grid-template-columns:minmax(275px,.85fr) minmax(0,1.3fr);padding:0;border:1px solid #ded8ca;border-top:2px solid #b9a36b;background:#faf9f5;box-shadow:0 22px 40px #1f1c1938;max-height:calc(100svh - 104px);overflow:auto;overscroll-behavior:contain}
  .mega-directory{padding:25px 24px 19px;min-width:0}
  .mega-eyebrow{margin:0 8px 15px;font-size:10px;line-height:1.6;letter-spacing:.17em;text-transform:uppercase;color:#87733f}
  .mega-menu .mega-item{display:flex;align-items:center;gap:13px;padding:10px 8px;min-height:43px;border-bottom:1px solid #e9e4d9;line-height:1.35;font-size:16px;white-space:normal;color:#3e3b35;transition:background .18s,color .18s}
  .mega-number{font:10px/1.5 Roboto,Arial,sans-serif;letter-spacing:.06em;color:#a48e56}
  .mega-item-arrow{margin-left:auto;color:#a48e56;opacity:0;transform:translateX(-5px);transition:opacity .18s,transform .18s}
  .mega-item-arrow .ui-arrow{margin:0;width:15px}
  .mega-menu .mega-item.is-previewed,.mega-menu .mega-item:hover,.mega-menu .mega-item:focus-visible{color:#806623;background:#eeeadf}
  .mega-item.is-previewed .mega-item-arrow{opacity:1;transform:none}
  .mega-menu .mega-overview{padding:18px 8px 0;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;color:#796636;white-space:normal}
  .mega-menu .mega-overview:hover{background:none;color:#24231f}
  .mega-menu .mega-preview{position:relative;display:block;isolation:isolate;min-height:425px;padding:0;overflow:hidden;background:#292823;color:#fff;white-space:normal}
  .mega-menu .mega-preview:hover,.mega-menu .mega-preview:focus-visible{background:#292823}
  .mega-images{position:absolute;inset:0;z-index:-2}
  .mega-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .3s ease}
  .mega-image.is-active{opacity:1}
  .mega-preview:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0000 20%,#0002 45%,#000d 100%)}
  .mega-caption{position:absolute;bottom:0;left:0;right:0;padding:34px}
  .mega-preview-title{font:400 35px/1.15 'Playfair Display',Georgia,serif;margin:0 0 13px;color:#fff;letter-spacing:0}
  .mega-preview-description{font:400 14px/1.65 Roboto,Arial,sans-serif;letter-spacing:0;margin:0 0 22px;max-width:360px;color:#f0ede5}
  .mega-view{font:400 10px/1.5 Roboto,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#eed9a1}
  .mega-preview:focus-visible{outline-offset:-5px}
}
@media(min-width:781px) and (max-width:1120px){.mega-menu{width:calc(100% - 160px);grid-template-columns:minmax(240px,.95fr) minmax(0,1.05fr)}.mega-directory{padding:22px 16px 17px}.mega-menu .mega-item{font-size:15px;padding:10px 6px;gap:10px}.mega-caption{padding:25px}.mega-preview-title{font-size:30px}}
@media(min-width:781px) and (max-width:900px){.mega-menu{grid-template-columns:minmax(220px,.95fr) minmax(0,1fr)}.mega-directory{padding:20px 12px 16px}.mega-menu .mega-item{font-size:14px}.mega-preview-description{font-size:13px}.mega-caption{padding:22px}.mega-preview-title{font-size:28px}}
@media(max-width:780px){.site-header.is-scrolled .crest{width:90px;height:90px;top:5px}}
@media(prefers-reduced-motion:reduce){.mega-image,.mega-item,.mega-item-arrow{transition:none!important}}




/* Gatherings page: homepage-style overlap at standard content width */
.gatherings-hero{height:clamp(390px,54vh,560px);overflow:hidden;background:#d8d2c6}
.gatherings-hero img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.gatherings-shell{position:relative;display:flow-root;padding:0 0 78px;background:#f7f7f5}
.gatherings-frame{position:relative;z-index:2;margin-top:-78px;background:#fff;border:1px solid #e5e2da;border-top:3px solid #c7b578;box-shadow:0 12px 32px #26201514;padding:42px 46px 48px}
.gatherings-heading{text-align:center;padding:0 20px 28px}
.gatherings-heading h1{font-size:clamp(38px,4.6vw,58px);margin:0 0 9px;color:#27231d}
.gatherings-heading p{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#716a60}
.gatherings-filmstrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 38px}
.gatherings-filmstrip figure,.gatherings-mosaic figure{margin:0;overflow:hidden;background:#eeeae2}
.gatherings-filmstrip img{width:100%;height:150px;object-fit:cover;transition:transform .35s ease}
.gatherings-filmstrip figure:hover img{transform:scale(1.025)}
.gatherings-intro{max-width:970px;margin:0 auto 34px;text-align:left}
.gatherings-intro p{color:#56524d;font-size:16px;line-height:1.85}
.gatherings-two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:34px;border-top:1px solid #e6e1d8}
.gatherings-copy-block h2{font-size:clamp(30px,3vw,42px);margin:0 0 20px}
.gatherings-copy-block p{color:#56524d;font-size:16px;line-height:1.85}
.gatherings-lower{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start;margin-top:36px;padding-top:36px;border-top:1px solid #e6e1d8}
.gatherings-lower-copy{display:flex;flex-direction:column;gap:26px}
.gathering-place{padding-top:24px;border-top:1px solid #e6e1d8}
.gatherings-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:145px;gap:10px}
.gatherings-mosaic img{width:100%;height:100%;object-fit:cover}
.gatherings-mosaic figure:nth-child(1){grid-column:span 2}
.gatherings-mosaic figure:nth-child(4){grid-row:span 2}
.gatherings-mosaic figure:nth-child(7){grid-column:span 2}

@media(max-width:900px){
  .gatherings-frame{padding:34px 30px 40px}
  .gatherings-filmstrip{gap:8px}
  .gatherings-filmstrip img{height:120px}
  .gatherings-two-col,.gatherings-lower{gap:38px}
}
@media(max-width:780px){
  .gatherings-hero{height:330px}
  .gatherings-shell{padding-bottom:48px}
  .gatherings-frame{margin-top:-52px;width:calc(100% - 24px);padding:28px 18px 32px}
  .gatherings-heading{padding-bottom:22px}
  .gatherings-heading h1{font-size:38px}
  .gatherings-filmstrip{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:30px}
  .gatherings-filmstrip img{height:96px}
  .gatherings-two-col,.gatherings-lower{grid-template-columns:1fr;gap:28px}
  .gatherings-two-col{padding-top:28px}
  .gatherings-lower{margin-top:28px;padding-top:28px}
  .gatherings-mosaic{grid-auto-rows:110px}
}
@media(max-width:440px){
  .gatherings-hero{height:290px}
  .gatherings-frame{width:calc(100% - 16px);padding-inline:14px}
  .gatherings-filmstrip img{height:82px}
  .gatherings-mosaic{grid-auto-rows:94px;gap:6px}
}
@media(prefers-reduced-motion:reduce){.gatherings-filmstrip img{transition:none}}




/* Shared hero-overlap format for internal page intros */
.page-overlap-section{
  position:relative;
  z-index:3;
  padding:0 0 78px;
  background:#fff;
}
.page-overlap-card{
  position:relative;
  margin-top:-72px;
  max-width:980px;
  padding:46px 68px 44px;
  background:#fff;
  border-top:3px solid #b9a36b;
  box-shadow:0 16px 34px #1d191412;
}
.page-overlap-card h2{margin-bottom:18px}
@media(max-width:780px){
  .page-overlap-section{padding-bottom:48px}
  .page-overlap-card{margin-top:-46px;padding:30px 22px 28px}
}

/* Final footer: three-column top, composed bottom bar */
footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:0;
  padding:98px 0 12px;
  background:#131517 !important;
  background-image:none !important;
  color:#ddd8ce !important;
  border-top:1px solid #665825 !important;
}
footer::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:min(1800px,128vw);
  aspect-ratio:1;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);
  background:#070809;
  -webkit-mask:url('/images/logo/royal-elegance-of-the-queen-s-inn.webp') center/contain no-repeat;
  mask:url('/images/logo/royal-elegance-of-the-queen-s-inn.webp') center/contain no-repeat;
  opacity:.48;
  pointer-events:none;
}
footer>.footer-shell{
  position:relative;
  z-index:1;
  width:min(1120px,calc(100% - 48px));
}
footer .footer-grid{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(170px,.55fr) minmax(360px,1.3fr);
  gap:72px;
  align-items:start;
}
footer .footer-label{
  margin:0 0 14px;
  color:#ccb86e;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
footer h3{
  margin:0 0 17px !important;
  color:#fff !important;
  font-size:38px !important;
}
footer .footer-contact span{
  display:block;
  margin-bottom:13px;
  color:#c5c0b6;
  font-size:13px;
  line-height:1.7;
}
footer .footer-contact a,
footer .footer-social a{
  display:block;
  color:#f0ece4 !important;
  font-size:14px !important;
  line-height:1.9;
}
footer .footer-social a{
  width:max-content;
  max-width:100%;
  border-bottom:1px solid transparent;
}
footer .footer-social a:hover{border-bottom-color:#8b7a43}
footer .land{
  margin:0 !important;
  max-width:none !important;
  color:#bbb6ad !important;
  font-size:13px !important;
  line-height:1.85 !important;
  text-align:left !important;
}
footer .footer-bottom{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);
  gap:56px;
  align-items:end;
  margin-top:70px;
}
footer .footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px 25px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  justify-content:flex-start;
}
footer .footer-nav a{
  color:#d5bd68 !important;
  font-size:11px !important;
  letter-spacing:.07em;
  text-transform:uppercase;
}
footer .footer-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  text-align:right;
}
footer .copyright,
footer .mm-credit{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  color:#85827c !important;
  font-size:10px !important;
  line-height:1.6;
  letter-spacing:.03em !important;
  text-align:right !important;
}
footer .mm-credit a{
  color:#bda95f !important;
  font-size:inherit !important;
}
@media(max-width:900px){
  footer .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:44px 40px;
  }
  footer .footer-ack{grid-column:1/-1}
  footer .land{text-align:center !important;max-width:760px !important;margin-inline:auto !important}
  footer .footer-bottom{grid-template-columns:1fr;gap:26px}
  footer .footer-nav{justify-content:center}
  footer .footer-meta{align-items:center;text-align:center}
  footer .copyright,footer .mm-credit{text-align:center !important}
}
@media(max-width:780px){
  footer{min-height:0;padding:72px 0 12px}
  footer::before{width:175vw;top:40%;opacity:.43}
  footer>.footer-shell{width:calc(100% - 36px)}
  footer .footer-grid{grid-template-columns:1fr;gap:34px;text-align:center}
  footer .footer-ack{grid-column:auto}
  footer .footer-social a{margin-inline:auto}
  footer .footer-contact span{max-width:420px;margin-inline:auto;margin-bottom:13px}
  footer .footer-bottom{margin-top:50px}
}

/* Homepage parity correction: grids stay, photos are section backgrounds */
.journey-inn{
  background-image:url('/images/welcome/poolroom/queensinn-220.webp')!important;
  background-position:center 52%!important;
}
.journey-dining{
  background-image:url('/images/kitchen/queens-168.webp')!important;
  background-position:center 48%!important;
}
.journey-island{
  background-image:url('/images/welcome/adobestock_469553265.webp')!important;
  background-position:center 45%!important;
}
.journey-inn,.journey-dining,.journey-island{
  background-blend-mode:normal!important;
  filter:none!important;
  opacity:1!important;
}
.journey-inn::before,.journey-inn::after,
.journey-dining::before,.journey-dining::after,
.journey-island::before,.journey-island::after{
  content:none!important;
  display:none!important;
}
.journey-card{background:#fff!important}
.journey-dining .journey-card{background:#171511!important}
.journey-photos{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.journey-photos img{width:100%!important;height:clamp(112px,13vw,165px)!important;aspect-ratio:auto!important;object-fit:cover!important;filter:none!important;opacity:1!important}
.meet-host{
  padding:72px 0 76px;
  background:#fff;
  border-top:1px solid #e5e0d5;
}
.meet-host-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,440px);
  gap:58px;
  align-items:stretch;
  max-width:1180px;
}
.meet-host-copy h2{
  font-size:clamp(40px,4.6vw,58px);
  margin:0 0 28px;
}
.meet-host-copy p{
  margin:0 0 18px;
  color:#4f4b44;
  font-size:15px;
  line-height:1.85;
  letter-spacing:0;
  text-transform:none;
}
.meet-host-copy p:last-child{margin-bottom:0}
.meet-host-photo{
  width:100%;
  margin:0;
  align-self:stretch;
  min-height:100%;
}
.meet-host-photo:before{display:none!important}
.meet-host-photo img{
  width:100%;
  height:100%;
  min-height:560px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center top;
  border:0;
  box-shadow:none;
  filter:none!important;
  opacity:1!important;
}
@media(max-width:780px){
  .journey-photos{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .journey-photos img{height:auto!important;aspect-ratio:1!important}
  .meet-host{padding:54px 0 58px}
  .meet-host-inner{grid-template-columns:1fr;gap:24px}
  .meet-host-copy h2{margin-bottom:22px}
  .meet-host-copy p{font-size:14px;line-height:1.75}
  .meet-host-photo{width:min(340px,86vw);margin:0 auto;min-height:0}
  .meet-host-photo img{width:100%;height:auto;min-height:0;aspect-ratio:4/5}
}

/* Dining hero correction */
.dining-hero{min-height:540px}
.dining-hero>img{
  object-position:center 48%;
}
.dining-overlap-section{
  position:relative;
  z-index:4;
  padding:1px 0 72px;
  background:transparent;
}
.dining-overlap-card{
  position:relative;
  z-index:5;
  margin-top:0;
  transform:translateY(-82px);
  margin-bottom:-82px;
  max-width:980px;
  padding:46px 68px 44px;
  background:#fff;
  border-top:3px solid #b9a36b;
  box-shadow:0 18px 38px rgba(29,25,20,.16);
}
@media(max-width:780px){
  .dining-hero{min-height:420px}
  .dining-overlap-section{padding-bottom:48px}
  .dining-overlap-card{
    transform:translateY(-46px);
    margin-bottom:-46px;
    padding:30px 22px 28px;
  }
}

/* Dining page: match current live-site structure */
.dining-hero{
  min-height:520px;
}
.dining-hero>img{
  object-position:center 50%;
}
.dining-live-shell{
  position:relative;
  display:flow-root;
  padding:0 0 80px;
  background:#fff;
}
.dining-live-frame{
  position:relative;
  z-index:4;
  margin-top:-74px;
  padding:0 0 18px;
  background:#fff;
  border-top:3px solid #c7b578;
  box-shadow:0 14px 34px rgba(38,32,21,.12);
}
.dining-live-intro{
  max-width:980px;
  margin:0 auto;
  padding:46px 64px 42px;
  text-align:center;
}
.dining-live-intro p{
  margin:0;
  color:#514d46;
  font-size:16px;
  line-height:1.9;
}
.dining-live-block{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:stretch;
  min-height:510px;
  border-top:1px solid #e7e1d4;
}
.dining-live-block:nth-of-type(2){
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
}
.dining-live-block:nth-of-type(2) .dining-live-photo{
  order:2;
}
.dining-live-photo{
  min-width:0;
  overflow:hidden;
  background:#eee9df;
}
.dining-live-photo img{
  width:100%;
  height:100%;
  min-height:510px;
  object-fit:cover;
}
.dining-live-breakfast .dining-live-photo img{
  object-position:center 48%;
}
.dining-live-veranda .dining-live-photo img{
  object-position:center 50%;
}
.dining-live-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 70px;
  background:#fff;
}
.dining-live-copy h2{
  margin:0 0 24px;
  font-size:clamp(38px,4.1vw,56px);
  line-height:1.08;
}
.dining-live-copy p{
  margin:0 0 18px;
  color:#56524d;
  font-size:16px;
  line-height:1.9;
}
.dining-live-copy p:last-child{margin-bottom:0}
.dining-live-copy a{
  color:#78631e;
  text-decoration:underline;
  text-underline-offset:3px;
}
.dining-live-book{
  padding:46px 20px 28px;
  text-align:center;
}
@media(max-width:900px){
  .dining-live-copy{padding:50px 42px}
}
@media(max-width:780px){
  .dining-hero{min-height:410px}
  .dining-live-shell{padding-bottom:52px}
  .dining-live-frame{
    width:calc(100% - 24px);
    margin-top:-48px;
  }
  .dining-live-intro{
    padding:32px 22px 30px;
  }
  .dining-live-block,
  .dining-live-block:nth-of-type(2){
    grid-template-columns:1fr;
    min-height:0;
  }
  .dining-live-block:nth-of-type(2) .dining-live-photo{order:0}
  .dining-live-photo img{
    height:330px;
    min-height:0;
  }
  .dining-live-copy{
    padding:36px 24px 40px;
  }
  .dining-live-copy h2{
    font-size:38px;
  }
  .dining-live-book{
    padding:34px 18px 20px;
  }
}

/* Dining page exact current-site match */
.dining-hero{
  min-height:540px;
}
.dining-hero>img{
  object-position:center 78%;
}
.dining-current-shell{
  position:relative;
  display:flow-root;
  padding:0 0 76px;
  background:#fff;
}
.dining-current-frame{
  position:relative;
  z-index:5;
  margin-top:-78px;
  padding:42px 64px 46px;
  background:#fff;
  border-top:3px solid #c7b578;
  box-shadow:0 14px 34px rgba(38,32,21,.12);
}
.dining-current-intro{
  max-width:930px;
  margin:0 auto 52px;
  text-align:center;
}
.dining-current-intro p{
  margin:0;
  color:#57524b;
  font-size:16px;
  line-height:1.9;
}
.dining-current-section{
  max-width:930px;
  margin:0 auto;
  padding:48px 0;
  border-top:1px solid #e4ded2;
}
.dining-current-section h2{
  margin:0 0 24px;
  font-size:clamp(38px,4.2vw,58px);
  line-height:1.08;
  text-align:left;
}
.dining-current-section p{
  margin:0 0 20px;
  color:#56524d;
  font-size:16px;
  line-height:1.9;
}
.dining-current-section p:last-child{margin-bottom:0}
.dining-current-section a{
  color:#75601d;
  text-decoration:underline;
  text-underline-offset:3px;
}
.dining-current-book{
  max-width:930px;
  margin:0 auto;
  padding-top:26px;
  text-align:center;
}
@media(max-width:780px){
  .dining-hero{
    min-height:420px;
  }
  .dining-current-shell{
    padding-bottom:50px;
  }
  .dining-current-frame{
    width:calc(100% - 24px);
    margin-top:-50px;
    padding:30px 22px 34px;
  }
  .dining-current-intro{
    margin-bottom:32px;
  }
  .dining-current-section{
    padding:34px 0;
  }
  .dining-current-section h2{
    font-size:38px;
  }
}

/* Dining page screenshot-accurate layout */
.dining-reference-hero{
  height:390px;
  overflow:hidden;
  background:#d8d0c2;
}
.dining-reference-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 50%;
}
.dining-reference-shell{
  position:relative;
  display:flow-root;
  padding:0 0 86px;
  background:#f5f5f4;
}
.dining-reference-card{
  position:relative;
  z-index:3;
  width:min(1140px,calc(100% - 48px));
  margin-top:-44px;
  padding:34px 28px 34px;
  background:#fff;
  box-shadow:0 14px 34px rgba(29,25,20,.16);
}
.dining-reference-heading{
  text-align:center;
  padding:0 10px 24px;
}
.dining-reference-heading h1{
  margin:0 0 4px;
  font-size:clamp(44px,4.7vw,62px);
  line-height:1.05;
  color:#1f1f1d;
}
.dining-reference-heading p{
  margin:0;
  color:#4f4b45;
  font-size:12px;
  line-height:1.5;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.dining-reference-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:24px;
  margin:0 0 42px;
}
.dining-reference-strip figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  background:#eee9df;
}
.dining-reference-strip img{
  width:100%;
  height:176px;
  object-fit:cover;
}
.dining-reference-strip figure:nth-child(1) img{object-position:center 50%}
.dining-reference-strip figure:nth-child(2) img{object-position:center 47%}
.dining-reference-strip figure:nth-child(3) img{object-position:center 50%}
.dining-reference-strip figure:nth-child(4) img{object-position:center 80%}
.dining-reference-strip figure:nth-child(5) img{object-position:center 45%}
.dining-reference-strip figure:nth-child(6) img{object-position:center 58%}
.dining-reference-intro{
  margin:0 0 38px;
}
.dining-reference-intro p{
  margin:0;
  color:#4f4b46;
  font-size:15px;
  line-height:1.8;
}
.dining-reference-main{
  display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(390px,.86fr);
  gap:48px;
  align-items:stretch;
}
.dining-reference-copy{
  padding:14px 0 8px;
}
.dining-reference-copy section+section{
  margin-top:42px;
}
.dining-reference-copy h2{
  margin:0 0 26px;
  text-align:center;
  font-size:clamp(34px,3vw,44px);
  line-height:1.12;
  color:#20201e;
}
.dining-reference-copy p{
  margin:0 0 24px;
  color:#4f4b46;
  font-size:15px;
  line-height:1.8;
}
.dining-reference-copy p:last-of-type{
  margin-bottom:0;
}
.dining-reference-copy a{
  color:#1787ff;
}
.dining-reference-book{
  margin-top:36px;
  text-align:center;
}
.dining-reference-book .button{
  min-width:148px;
  justify-content:center;
  background:#fff;
  color:#69645d;
  border-color:#c7c3bb;
}
.dining-reference-feature{
  margin:0;
  min-width:0;
  overflow:hidden;
  background:#eee9df;
}
.dining-reference-feature img{
  width:100%;
  height:100%;
  min-height:760px;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:900px){
  .dining-reference-strip{gap:12px}
  .dining-reference-strip img{height:150px}
  .dining-reference-main{
    grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);
    gap:30px;
  }
}
@media(max-width:780px){
  .dining-reference-hero{height:310px}
  .dining-reference-shell{padding-bottom:52px}
  .dining-reference-card{
    width:calc(100% - 24px);
    margin-top:-36px;
    padding:28px 18px 26px;
  }
  .dining-reference-heading{padding-bottom:20px}
  .dining-reference-heading h1{font-size:38px}
  .dining-reference-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:30px;
  }
  .dining-reference-strip img{height:120px}
  .dining-reference-intro{margin-bottom:30px}
  .dining-reference-main{grid-template-columns:1fr;gap:28px}
  .dining-reference-copy section+section{margin-top:34px}
  .dining-reference-copy h2{font-size:34px}
  .dining-reference-feature{order:-1}
  .dining-reference-feature img{
    height:auto;
    min-height:0;
    aspect-ratio:4/5;
  }
}

/* Explore + FAQ: same framework as Dining */
.explore-reference-hero>img{
  object-position:center 48%;
}
.faq-reference-hero>img{
  object-position:center 52%;
}
.explore-reference-strip img{
  object-position:center center;
}
.reference-content-stack{
  max-width:930px;
  margin:0 auto;
}
.reference-content-section{
  padding:44px 0;
  border-top:1px solid #e4ded2;
}
.reference-content-section h2{
  margin:0 0 22px;
  font-size:clamp(34px,3.4vw,48px);
  line-height:1.1;
  text-align:left;
}
.reference-content-section p{
  margin:0 0 18px;
  color:#56524d;
  font-size:16px;
  line-height:1.85;
}
.reference-content-section p:last-of-type{margin-bottom:0}
.reference-content-action{
  margin-top:28px;
  text-align:center;
}
.faq-reference-intro{
  margin-bottom:34px;
}
.faq-reference-list{
  max-width:930px;
  margin:0 auto;
}
.faq-reference-list details{
  background:#fff;
}
.faq-reference-list summary{
  font-size:20px;
}
.faq-reference-list details p{
  font-size:16px;
  line-height:1.85;
}
.faq-reference-action{
  padding:38px 0 10px;
}
@media(max-width:780px){
  .reference-content-section{padding:34px 0}
  .reference-content-section h2{font-size:34px}
  .faq-reference-list summary{font-size:18px}
}


/* Live-site parity: Explore + FAQ */
.legacy-reference-hero{
  height:570px;
  overflow:hidden;
  background:#d8d2c8;
}
.legacy-reference-hero img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.explore-live-hero img{object-position:center 50%}
.faq-live-hero{
  height:430px;
}
.faq-live-hero img{object-position:center 46%}

.legacy-reference-shell{
  position:relative;
  display:flow-root;
  padding:0 0 80px;
  background:#f4f5f4;
}
.legacy-reference-card{
  position:relative;
  z-index:3;
  width:min(1020px,calc(100% - 48px));
  margin:-38px auto 0;
  padding:34px 28px 38px;
  background:#fff;
  box-shadow:0 12px 28px rgba(28,25,20,.14);
}
.legacy-reference-heading{
  padding:0 12px 24px;
  text-align:center;
}
.legacy-reference-heading h1{
  margin:0 0 4px;
  font-size:clamp(43px,4.2vw,59px);
  line-height:1.06;
  color:#24211f;
}
.legacy-reference-heading p{
  margin:0;
  color:#55504b;
  font-size:13px;
  line-height:1.5;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.legacy-reference-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px;
  margin:0 0 42px;
}
.legacy-reference-strip figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  background:#ece8df;
}
.legacy-reference-strip img{
  width:100%;
  height:155px;
  object-fit:cover;
}
.legacy-reference-intro{
  margin:0 0 42px;
}
.legacy-reference-intro p{
  margin:0;
  color:#55514b;
  font-size:15px;
  line-height:1.8;
}

/* Explore */
.explore-live-marina{
  width:59%;
  padding:12px 18px 12px;
}
.explore-live-marina h2,
.explore-live-copy h2{
  margin:0 0 22px;
  font-size:clamp(29px,2.8vw,38px);
  line-height:1.13;
  text-align:center;
  color:#252220;
}
.explore-live-marina p,
.explore-live-copy p,
.explore-live-copy li{
  color:#55514b;
  font-size:15px;
  line-height:1.8;
}
.explore-live-main{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);
  gap:54px;
  align-items:start;
}
.explore-live-copy section{
  padding:16px 18px 24px;
}
.explore-live-copy section+section{
  margin-top:12px;
}
.explore-live-copy ul{
  margin:22px 0 26px 20px;
  padding:0 0 0 14px;
}
.explore-live-copy li{
  padding:2px 0 2px 6px;
}
.explore-live-feature{
  margin:38px 0 0;
  min-width:0;
}
.explore-live-feature img{
  display:block;
  width:100%;
  height:600px;
  object-fit:cover;
  object-position:center;
}
.explore-live-feature figcaption{
  margin-top:14px;
  text-align:center;
  color:#aaa39a;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* FAQ */
.faq-live-card{
  padding:42px 26px 34px;
}
.faq-live-heading{
  padding-bottom:24px;
}
.faq-live-heading h1{
  font-size:clamp(42px,4vw,56px);
}
.faq-live-policy,
.faq-live-rules,
.faq-live-selfcheck{
  max-width:960px;
  margin:0 auto;
}
.faq-live-policy h2,
.faq-live-rules h2,
.faq-live-selfcheck h2{
  margin:0 0 17px;
  text-align:center;
  font-size:clamp(26px,2.6vw,34px);
  line-height:1.15;
}
.faq-live-policy p,
.faq-live-selfcheck p,
.faq-live-help{
  color:#55514b;
  font-size:14px;
  line-height:1.75;
}
.faq-live-policy{
  padding:6px 0 22px;
}
.faq-live-rules{
  padding:8px 0 28px;
}
.faq-live-rules p{
  margin:0;
  color:#55514b;
  font-size:14px;
  line-height:1.65;
  text-align:center;
}
.faq-live-selfcheck{
  padding:0 0 12px;
}
.faq-live-selfcheck>p{
  margin:0 0 22px;
}
.faq-live-help{
  max-width:960px;
  margin:18px auto 34px;
}
.faq-live-accordion{
  max-width:960px;
  margin:0 auto;
}
.faq-live-accordion details{
  border:0;
  border-bottom:1px solid #fff;
  background:#f1f4f4;
}
.faq-live-accordion details:first-child{
  border-top:0;
}
.faq-live-accordion summary{
  padding:17px 44px 17px 17px;
  font-family:Roboto,Arial,sans-serif;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#474643;
}
.faq-live-accordion summary:after{
  right:18px;
  top:15px;
  font-size:18px;
  color:#97928a;
}
.faq-live-accordion details p{
  padding:4px 18px 20px;
  font-size:14px;
  line-height:1.75;
}

@media(max-width:900px){
  .legacy-reference-strip{gap:10px}
  .legacy-reference-strip img{height:132px}
  .explore-live-main{
    grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);
    gap:32px;
  }
  .explore-live-feature img{height:520px}
}
@media(max-width:780px){
  .legacy-reference-hero{height:330px}
  .faq-live-hero{height:300px}
  .legacy-reference-shell{padding-bottom:52px}
  .legacy-reference-card{
    width:calc(100% - 24px);
    margin-top:-34px;
    padding:28px 18px 30px;
  }
  .legacy-reference-heading h1{font-size:38px}
  .legacy-reference-heading p{font-size:11px}
  .legacy-reference-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:30px;
  }
  .legacy-reference-strip img{height:105px}
  .legacy-reference-intro{margin-bottom:26px}
  .legacy-reference-intro p{font-size:14px}
  .explore-live-marina{width:100%;padding:10px 0 22px}
  .explore-live-main{grid-template-columns:1fr;gap:24px}
  .explore-live-copy section{padding:14px 0 20px}
  .explore-live-marina h2,
  .explore-live-copy h2{font-size:31px}
  .explore-live-feature{margin:0}
  .explore-live-feature img{height:auto;aspect-ratio:4/5}
  .faq-live-card{padding:30px 18px}
  .faq-live-policy h2,
  .faq-live-rules h2,
  .faq-live-selfcheck h2{font-size:28px}
}


.room-rate{margin:1rem 0 .5rem;font-size:1.1rem}

.photo-lightbox .lightbox-navigation button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.photo-lightbox .lightbox-navigation svg{flex:none}.photo-lightbox button:focus-visible{outline:2px solid #bca351;outline-offset:3px}

.contact-guest-policy{padding:0 0 32px;color:#555;font-size:15px;line-height:1.65}.contact-guest-policy p{margin:0;padding-top:18px;border-top:1px solid #ddd}.contact-guest-policy strong{font-weight:500}
