/* Owner-authorized, site-local dist corrections, 2026-09-04. */
.button{transition:background-color .3s,color .3s}
.button:hover,.button:focus-visible,.booking-card a:hover .button{background-color:#67030e;color:#fff}
.gallery-more:hover,.gallery-more:focus-visible{background-color:var(--page-color1)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:10px}
.footer-inner p:first-child{background:transparent;color:inherit;text-align:left}
.footer-inner .footer-copyright{margin-right:auto}
.gallery-item img,.gallery-item:hover img{transition:none;transform:none}
.gallery-item::after{content:"";position:absolute;inset:0;background:#fff;opacity:0;transition:opacity .3s;pointer-events:none}
.gallery-item .overplus{display:flex;position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:4px;border-radius:50%;background:var(--page-color1);transform:translate(-50%,-50%);justify-content:center;align-items:center;opacity:0;transition:opacity .5s,transform .5s;pointer-events:none}
.gallery-item .overplus::before,.gallery-item .overplus::after{content:"";display:block;position:absolute;width:30%;height:2px;background:#fff}
.gallery-item .overplus::before{transform:rotate(90deg)}
.gallery-item:hover::after,.gallery-item:focus-visible::after{opacity:.1}
.gallery-item:hover .overplus,.gallery-item:focus-visible .overplus{opacity:.9;transform:translate(-50%,-50%) rotate(180deg)}
.lightbox{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#000;color:#fff}
.lightbox::backdrop{background:#000}
.lightbox-frame{display:block;position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
.lightbox figure{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
.lightbox figure img{flex:none;display:block;width:min(100vw,calc(100vh - 88px));height:min(100vw,calc(100vh - 88px));width:min(100vw,calc(100dvh - 88px));height:min(100vw,calc(100dvh - 88px));max-width:none;max-height:none;object-fit:contain;cursor:zoom-in;user-select:none;touch-action:none}
.lightbox[data-zoomed=true] figure img{width:var(--image-width);height:var(--image-height);cursor:grab;transform:translate(var(--pan-x,0px),var(--pan-y,0px))}
.lightbox figcaption{display:none}
.lightbox-counter{position:absolute;z-index:2;top:0;left:0;height:44px;padding:0 10px;line-height:44px;font-size:13px;opacity:.75;pointer-events:none}
.lightbox-control{position:absolute;z-index:3;top:0;display:grid;place-items:center;width:44px;height:44px;opacity:.75;background:transparent;border:0;border-radius:0;cursor:pointer;transition:opacity .2s}
.lightbox-control:hover,.lightbox-control:focus-visible{opacity:1}
.lightbox-control span::before{font-size:16px}
.lightbox-close{right:0}
.lightbox-share{right:44px}
.lightbox-fullscreen{right:88px}
.lightbox-zoom{right:132px}
.lightbox-zoom span::before{content:"\f00e"}
.lightbox-zoom[aria-pressed=true] span::before{content:"\f010"}
.lightbox-fullscreen span::before{content:"\f065"}
.lightbox-fullscreen[aria-pressed=true] span::before{content:"\f066"}
.lightbox-share span::before{content:"\f064"}
.lightbox-prev,.lightbox-next{top:50%;width:70px;height:100px;transform:translateY(-50%)}
.lightbox-prev{left:0}
.lightbox-next{right:0}
.lightbox-prev span::before{content:"\f060"}
.lightbox-next span::before{content:"\f061"}
.lightbox-share-menu{position:absolute;z-index:4;top:56px;right:44px;min-width:155px;padding:0;background:#fff;border-radius:2px;box-shadow:0 2px 5px #0004;color:#000}
.lightbox-share-menu[hidden]{display:none}
.lightbox-share-menu::before{content:"";position:absolute;right:15px;top:-6px;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:6px solid #fff}
.lightbox-share-menu a{display:block;padding:8px 12px;font-size:14px;line-height:18px;color:#000;text-decoration:none;white-space:nowrap}
.lightbox-share-menu a:hover,.lightbox-share-menu a:focus-visible{background:#eee}
.lightbox-share-menu [data-share-facebook]:hover{background:#3e5c9a;color:#fff}
.lightbox-share-menu [data-share-twitter]:hover{background:#55acee;color:#fff}
.lightbox-share-menu [data-share-pinterest]:hover{background:#ccc;color:#ce272d}
@media(max-width:750px){.footer-inner{flex-wrap:wrap;gap:0}.footer-inner .footer-copyright{flex:1 0 100%;text-align:left!important}.footer-inner .footer-legal{text-align:left!important}.lightbox-prev,.lightbox-next{width:44px}}
@media(prefers-reduced-motion:reduce){.button,.gallery-item::after,.gallery-item .overplus,.lightbox-control{transition:none}}

/* Owner visual recheck: source-exact form/map geometry and sweep feedback. */
main>.content-section.white-section{padding-top:0;padding-bottom:0;background:transparent}
main>.values-section{background:transparent}
.form-submit{
  width:127px;
  min-width:127px;
  height:35.21875px;
  min-height:35.21875px;
  padding:7px 10px 6px;
  line-height:20.24px;
  background-image:linear-gradient(#67030e,#67030e);
  background-position:left center;
  background-repeat:no-repeat;
  background-size:0 100%;
  transition:background-size .25s ease,color .25s ease;
}
.form-submit:is(:hover,:focus-visible){color:#fff;background-size:100% 100%}
[data-fn-cookie-bar] button[data-cookie-choice]{
  background-image:linear-gradient(#67030e,#67030e);
  background-position:left center;
  background-repeat:no-repeat;
  background-size:0 100%;
  transition:background-size .25s ease,color .25s ease;
}
[data-fn-cookie-bar] button[data-cookie-choice]:is(:hover,:focus-visible){color:#fff;background-size:100% 100%}
main iframe[src*="google.com/maps"]{width:100%!important;height:460px!important}
@media(max-width:550px){main iframe[src*="google.com/maps"]{height:300px!important}}
@media(prefers-reduced-motion:reduce){.form-submit,[data-fn-cookie-bar] button[data-cookie-choice]{transition:none}}

/* U2 visual correction 2026-09-07: match the live InForm home-page sections. */
.values-section{
  padding:80px 0 107.390625px;
}
.values-grid{
  width:100%;
  max-width:1500px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto auto;
  column-gap:47.609375px;
  row-gap:24px;
}
.value-item{
  grid-template-columns:75px minmax(0,1fr);
  align-items:start;
  gap:20px;
}
.value-item img{
  width:75px;
  height:75px;
}
.value-item:nth-child(1){grid-column:1;grid-row:1}
.value-item:nth-child(2){grid-column:1;grid-row:2}
.value-item:nth-child(3){grid-column:2;grid-row:1}
.value-item:nth-child(4){grid-column:2;grid-row:2}
.value-item:nth-child(5){grid-column:3;grid-row:1}

.booking-section{
  padding:150px 0 80px;
}
.booking-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:47.609375px;
}
.booking-card,
.booking-card>a{
  height:345.1875px;
}
.booking-card>a{
  display:flex;
  flex-direction:column;
  position:relative;
}
.booking-card h3{
  order:1;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  width:100%;
  height:64px;
  padding:20px;
  font-size:24px;
  line-height:24px;
}
.booking-card img{
  order:2;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
}
.booking-card .button{
  position:absolute;
  z-index:1;
  left:20px;
  bottom:-16.8984375px;
  order:3;
  margin:0;
}

.offer-banner,
.offer-banner picture,
.offer-banner img{
  height:65vh;
  min-height:65vh;
}
.services-section{
  display:none;
}

.contact-section{
  background:rgba(0,0,0,.3);
}
@media(min-width:1101px){
  .contact-section{padding:100px 0 80px}
  .contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:47.609375px}
  .contact-hours{padding-top:160px}
  .contact-form{padding-top:160px}
}
.contact-section a,
.site-footer a{
  color:#fff;
  transition:color .25s ease,text-decoration-color .25s ease;
}
.contact-section a:is(:hover,:focus-visible),
.site-footer a:is(:hover,:focus-visible){
  color:#fff;
  text-decoration:underline;
  text-decoration-color:#fff;
  text-underline-offset:3px;
}
.contact-form .form-submit{
  box-sizing:border-box;
  width:127px;
  min-width:127px;
  height:35.21875px;
  min-height:35.21875px;
  padding:7px 10px 6px;
  border:1px solid #fff;
  border-radius:6px;
  color:#fff;
  font-size:17.6px;
  line-height:20.24px;
  background-color:var(--page-color1);
  background-image:linear-gradient(#67030e,#67030e);
  background-position:left center;
  background-repeat:no-repeat;
  background-size:0 100%;
}
.contact-form .form-submit:is(:hover,:focus-visible){
  color:#fff;
  background-color:var(--page-color1);
  background-size:100% 100%;
}

@media(max-width:750px){
  .values-section{padding:80px 0 60px}
  .values-grid{grid-template-columns:1fr;grid-template-rows:none;row-gap:40px;column-gap:0}
  .value-item:nth-child(n){grid-column:auto;grid-row:auto}
  .booking-section{padding:80px 0 65px}
  .booking-grid{grid-template-columns:1fr;gap:60px;margin-top:40px}
  .booking-card,.booking-card>a{height:auto}
  .booking-card img{aspect-ratio:3/2}
  .offer-banner,.offer-banner picture,.offer-banner img{height:65vh;min-height:65vh}
}

@media(prefers-reduced-motion:reduce){
  .contact-section a,.site-footer a{transition:none}
}

[data-fn-hero-cue]{cursor:pointer}
[data-fn-hero-cue]:focus-visible{
  outline:2px solid currentColor;
  outline-offset:7px;
}
