.elementor-546 .elementor-element.elementor-element-9e5cab0{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-546 .elementor-element.elementor-element-9e5cab0:not(.elementor-motion-effects-element-type-background), .elementor-546 .elementor-element.elementor-element-9e5cab0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background:url("https://dev.palmillabeach.com/wp-content/uploads/2026/09/47ff080f-f607-4630-aa6a-cc18628525d0-2048x1024-1.jpeg") 50% 50%;background-size:cover;}.elementor-546 .elementor-element.elementor-element-bca03e4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-546 .elementor-element.elementor-element-ff4c286{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:50;}.elementor-546 .elementor-element.elementor-element-81847f2 .elementor-button{background-color:#01938D;}.elementor-546 .elementor-element.elementor-element-81847f2{width:100%;max-width:100%;}.elementor-546 .elementor-element.elementor-element-81847f2.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-546 .elementor-element.elementor-element-62a7be5{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-546 .elementor-element.elementor-element-6f2aa2a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-546 .elementor-element.elementor-element-76891c3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-546 .elementor-element.elementor-element-cd2d89f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-546 .elementor-element.elementor-element-0079bec{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-546 .elementor-element.elementor-element-f22ebf3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-546 .elementor-element.elementor-element-e3660fd .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-546 .elementor-element.elementor-element-0dc7306{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:230px 230px;--row-gap:230px;--column-gap:230px;--padding-top:130px;--padding-bottom:130px;--padding-left:40px;--padding-right:40px;}.elementor-546 .elementor-element.elementor-element-0dc7306:not(.elementor-motion-effects-element-type-background), .elementor-546 .elementor-element.elementor-element-0dc7306 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F5EF;background-image:url("https://dev.palmillabeach.com/wp-content/uploads/2026/09/Background-gradient-scaled.jpg");background-position:bottom center;background-size:cover;}.elementor-546 .elementor-element.elementor-element-0dc7306::before, .elementor-546 .elementor-element.elementor-element-0dc7306 > .elementor-background-video-container::before, .elementor-546 .elementor-element.elementor-element-0dc7306 > .e-con-inner > .elementor-background-video-container::before, .elementor-546 .elementor-element.elementor-element-0dc7306 > .elementor-background-slideshow::before, .elementor-546 .elementor-element.elementor-element-0dc7306 > .e-con-inner > .elementor-background-slideshow::before, .elementor-546 .elementor-element.elementor-element-0dc7306 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-546 .elementor-element.elementor-element-4853ffb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-546 .elementor-element.elementor-element-4853ffb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-546 .elementor-element.elementor-element-533433f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-546 .elementor-element.elementor-element-80a98a4 .elementor-accordion-item{border-width:0px;}.elementor-546 .elementor-element.elementor-element-80a98a4 .elementor-accordion-item .elementor-tab-content{border-width:0px;}.elementor-546 .elementor-element.elementor-element-80a98a4 .elementor-accordion-item .elementor-tab-title.elementor-active{border-width:0px;}.elementor-546 .elementor-element.elementor-element-aea8ea1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-546 .elementor-element.elementor-element-aea8ea1 > .elementor-shape-top .elementor-shape-fill, .elementor-546 .elementor-element.elementor-element-aea8ea1 > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#FAF6F2;}.elementor-546 .elementor-element.elementor-element-aea8ea1 > .elementor-shape-top svg, .elementor-546 .elementor-element.elementor-element-aea8ea1 > .e-con-inner > .elementor-shape-top svg{width:calc(100% + 1.3px);height:80px;}.elementor-546 .elementor-element.elementor-element-aea8ea1 > .elementor-shape-top, .elementor-546 .elementor-element.elementor-element-aea8ea1 > .e-con-inner > .elementor-shape-top{z-index:2;pointer-events:none;}.elementor-546 .elementor-element.elementor-element-304fe34{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:100px;--padding-bottom:120px;--padding-left:40px;--padding-right:40px;}.elementor-546 .elementor-element.elementor-element-304fe34:not(.elementor-motion-effects-element-type-background), .elementor-546 .elementor-element.elementor-element-304fe34 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(max-width:1024px){.elementor-546 .elementor-element.elementor-element-0dc7306{--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:80px;--padding-bottom:80px;--padding-left:30px;--padding-right:30px;}.elementor-546 .elementor-element.elementor-element-aea8ea1 > .elementor-shape-top svg, .elementor-546 .elementor-element.elementor-element-aea8ea1 > .e-con-inner > .elementor-shape-top svg{width:calc(200% + 1.3px);height:60px;}.elementor-546 .elementor-element.elementor-element-aea8ea1{--padding-top:45px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-546 .elementor-element.elementor-element-304fe34{--padding-top:100px;--padding-bottom:90px;--padding-left:30px;--padding-right:30px;}}@media(max-width:767px){.elementor-546 .elementor-element.elementor-element-0dc7306{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-546 .elementor-element.elementor-element-4853ffb{--width:100%;}.elementor-546 .elementor-element.elementor-element-aea8ea1 > .elementor-shape-top svg, .elementor-546 .elementor-element.elementor-element-aea8ea1 > .e-con-inner > .elementor-shape-top svg{height:20px;}.elementor-546 .elementor-element.elementor-element-aea8ea1{--padding-top:35px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-546 .elementor-element.elementor-element-304fe34{--padding-top:80px;--padding-bottom:70px;--padding-left:30px;--padding-right:30px;}}@media(min-width:768px){.elementor-546 .elementor-element.elementor-element-4853ffb{--width:330px;}}@media(max-width:1024px) and (min-width:768px){.elementor-546 .elementor-element.elementor-element-4853ffb{--width:300px;}}/* Start custom CSS for container, class: .elementor-element-9e5cab0 */@keyframes pbHeroVideoFade{from{opacity:0}to{opacity:1}}
.elementor-546 .elementor-element.elementor-element-9e5cab0 .elementor-background-video-embed{animation:pbHeroVideoFade 1.1s ease-out .3s both;}
@media(prefers-reduced-motion:reduce){.elementor-546 .elementor-element.elementor-element-9e5cab0 .elementor-background-video-embed{animation:none;}}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-81847f2 */.elementor-546 .elementor-element.elementor-element-81847f2 .elementor-button {
    background-color:#01938D!important;
    border:0;
    border-radius:0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    font-family: "richmond-display", Georgia, serif !important;
    font-weight: 400 !important;
    font-style: italic !important;
    font-size: 28px;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #FFFFFF !important;
    text-align: center;
    transition: background-color .2s ease;
}
.elementor-546 .elementor-element.elementor-element-81847f2 .elementor-button::after {
    content: '';
    position: absolute;
    top: 11px;
    right: 0px;
    bottom: 10px;
    left: 0px;
    border: 1px solid #FFFFFF !important;
    border-left:0!important;
    border-right:0!important;
    pointer-events: none;
    background: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff4c286 *//* Zero-height and hidden in the flow; Elementor Pro's sticky script pins it (position:fixed, top:84) once its top reaches the header, and the class below reveals it */
.elementor-546 .elementor-element.elementor-element-ff4c286{height:0;min-height:0;overflow:hidden;visibility:hidden;}
.elementor-546 .elementor-element.elementor-element-ff4c286.elementor-sticky--active{height:auto;overflow:visible;visibility:visible;animation:golfTeeDrop .45s cubic-bezier(.22,.61,.36,1) both;}
@keyframes golfTeeDrop{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.elementor-546 .elementor-element.elementor-element-ff4c286.elementor-sticky--active{animation:none;}}
/* Desktop: the stats bar hangs 12.039vw above this section's flow position (centre line, 123px tall) and rides ~28px lower on its parallax, so lift the trigger point to the bar's real bottom edge */
@media(min-width:1025px){.elementor-546 .elementor-element.elementor-element-ff4c286:not(.elementor-sticky--active){position:relative;top:calc(89.5px - 12.039vw);}}/* End custom CSS */
/* Start custom CSS *//* ===== explore banners (matched to the Events "While You're Here" cards) ===== */
body.elementor-page-546 #beach-explore{width:100%;max-width:1494px;margin:60px auto 0;padding:0;display:flex;border-radius:20px;overflow:hidden;position:relative;}
body.elementor-page-546 #beach-banner-1,body.elementor-page-546 #beach-banner-2{position:relative;overflow:hidden;flex:1 1 0%;min-width:0;display:block;height:clamp(290px,27vw,450px);padding:0;}
body.elementor-page-546 #beach-banner-2{border-left:2px solid rgba(255,255,255,0.8);}
body.elementor-page-546 #beach-banner-1>img,body.elementor-page-546 #beach-banner-2>img{position:absolute;top:0;left:0;width:100%!important;max-width:none;height:100%;object-fit:cover;z-index:0;transition:transform 350ms;}
body.elementor-page-546 #beach-banner-1>img{object-position:15% 82%;}
body.elementor-page-546 #beach-banner-2>img{object-position:0% 100%;}
body.elementor-page-546 #beach-banner-1::after,body.elementor-page-546 #beach-banner-2::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(0,0,0,0.58),rgba(0,0,0,0.06) 65%);transition:background 250ms;z-index:1;pointer-events:none;border:none!important;}
body.elementor-page-546 #beach-banner-1:hover::after,body.elementor-page-546 #beach-banner-2:hover::after,body.elementor-page-546 #beach-banner-1:focus-within::after,body.elementor-page-546 #beach-banner-2:focus-within::after{background:linear-gradient(0deg,rgba(0,0,0,0.7),rgba(0,0,0,0.16) 72%);}
body.elementor-page-546 #beach-banner-1:hover>img,body.elementor-page-546 #beach-banner-2:hover>img{transform:scale(1.025);}
body.elementor-page-546 #beach-banner-1>div,body.elementor-page-546 #beach-banner-2>div{position:absolute;left:42px;bottom:38px;z-index:2;padding:0;display:flex;flex-direction:column;gap:2px;transition:transform 250ms;}
body.elementor-page-546 #beach-banner-1:hover>div,body.elementor-page-546 #beach-banner-2:hover>div,body.elementor-page-546 #beach-banner-1:focus-within>div,body.elementor-page-546 #beach-banner-2:focus-within>div{transform:translateY(-4px);}
body.elementor-page-546 #beach-banner-1>div>p,body.elementor-page-546 #beach-banner-2>div>p{font-style:italic;margin:0;}
body.elementor-page-546 #beach-banner-1 h3,body.elementor-page-546 #beach-banner-2 h3{margin:0;}
body.elementor-page-546 #beach-banner-link-1,body.elementor-page-546 #beach-banner-link-2{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3;display:block;width:100%!important;height:100%!important;max-width:none!important;background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;font-size:0!important;line-height:0!important;color:transparent!important;overflow:hidden;box-shadow:none!important;}
body.elementor-page-546 #beach-banner-link-1:focus-visible,body.elementor-page-546 #beach-banner-link-2:focus-visible{outline:none;}
body.elementor-page-546 #beach-banner-1:focus-within,body.elementor-page-546 #beach-banner-2:focus-within{outline:3px solid #FFFFFF;outline-offset:-6px;}
@media(max-width:767px){
body.elementor-page-546 #beach-explore{flex-direction:column;gap:0;border-radius:20px;overflow:hidden;margin-top:40px;}
body.elementor-page-546 #beach-banner-1,body.elementor-page-546 #beach-banner-2{height:300px;width:100%;border-radius:0;flex:0 0 auto;}
body.elementor-page-546 #beach-banner-2{border-left:none;border-top:2px solid rgba(255,255,255,0.8);}
body.elementor-page-546 #beach-banner-1>div,body.elementor-page-546 #beach-banner-2>div{left:26px;bottom:26px;}
}
@media(prefers-reduced-motion:reduce){
body.elementor-page-546 #beach-banner-1>img,body.elementor-page-546 #beach-banner-2>img,body.elementor-page-546 #beach-banner-1>div,body.elementor-page-546 #beach-banner-2>div{transition:none;}
}

/* ===== FAQ accordion - shared house style (matches Home Collections #hc-accordion) ===== */
body.elementor-page-546 .rental-faq{width:100%;}
body.elementor-page-546 .rental-faq .elementor-accordion{border:0;}
body.elementor-page-546 .rental-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid rgba(99,93,88,.45)!important;background:transparent;}
body.elementor-page-546 .rental-faq .elementor-tab-title{padding:24px 0!important;display:block;font:700 14px/18px 'nexa',sans-serif;letter-spacing:2.1px;text-transform:uppercase;color:#18948d;background:transparent!important;border:0!important;}
body.elementor-page-546 .rental-faq .elementor-accordion-title{color:#18948d;font:inherit;}
body.elementor-page-546 .rental-faq .elementor-accordion-icon{float:right;width:24px;margin-left:20px;}
body.elementor-page-546 .rental-faq .elementor-accordion-icon svg{width:7px;height:15px;}
body.elementor-page-546 .rental-faq .elementor-accordion-icon-closed svg{transform:rotate(180deg);}
body.elementor-page-546 .rental-faq .elementor-accordion-icon-opened svg{transform:rotate(-90deg);}
body.elementor-page-546 .rental-faq .elementor-tab-content{padding:0 60px 28px 0!important;border:0!important;background:transparent!important;color:#635d58;font:400 16px/22px 'nunito',sans-serif;}
body.elementor-page-546 .rental-faq .elementor-tab-content p{margin:0;}
@media(max-width:767px){
body.elementor-page-546 .rental-faq .elementor-tab-title{font-size:12px;line-height:19px;letter-spacing:1.5px;}
body.elementor-page-546 .rental-faq .elementor-tab-content{padding-right:0!important;}
}

/* ==========================================================================
   GOLF — built from Figma 1UGtSN4jy8ocNSPmUG2z5N node 823:4430
   ("26-PB - Golf", 1682 x 7169).  Everything ABOVE this banner is copied
   verbatim from Experience (354): the explore banners and the shared FAQ
   accordion.  It keys off beach-* ids and the rental-faq class — leave the
   names alone.

   The bands are Experience's bands.  Every horizontal reference is derived
   from the 1682 frame (left column 128 -> 7.61vw, right column 1030 ->
   61.237vw) and carries NO px term, so the copy stays on its column at every
   desktop width.  No scripting anywhere on this page: the hero is Elementor's
   native container background video and the drone card is the native Video
   widget in lightbox mode.
   ========================================================================== */

/* Both wave paths are byte-identical to Experience's (hashed on both frames),
   so the same two masks are reused: 3129 intro, 3130 shape A (all four photo
   bands, photo AND scrim). */
body.elementor-page-546{
--golf-wave-intro:url('/wp-content/uploads/2026/09/experience-wave-mask-intro-band-frame-1682x761-572.svg');
--golf-wave-a:url('/wp-content/uploads/2026/09/experience-wave-mask-a-golf-beach-oasis-frame-1682x791-577.svg');
}

/* ===== shared scaffolding: every band is a single-cell grid ===== */
body.elementor-page-546 #golf-hero,
body.elementor-page-546 #golf-intro,
body.elementor-page-546 #golf-hole9,
body.elementor-page-546 #golf-loop,
body.elementor-page-546 #golf-range,
body.elementor-page-546 #golf-proshop{
padding:0;width:100%;max-width:none;position:relative;overflow:hidden;
display:grid;grid-template-columns:100%;align-items:center;
}
body.elementor-page-546 #golf-hero>*,
body.elementor-page-546 #golf-intro>*,
body.elementor-page-546 #golf-hole9>*,
body.elementor-page-546 #golf-loop>*,
body.elementor-page-546 #golf-range>*,
body.elementor-page-546 #golf-proshop>*{grid-area:1/1;min-width:0;}

/* Figma's layer order here is strictly ascending (unlike Experience, where the
   intro sat above golf): each band overlaps the one before it, the info band
   sits UNDER the Pro Shop wave, and the stats bar is above everything. */
body.elementor-page-546 #golf-hero{z-index:1;min-height:54.043vw;}
body.elementor-page-546 #golf-intro{z-index:2;min-height:45.278vw;margin-top:-11.118vw;}
body.elementor-page-546 #golf-hole9{z-index:3;min-height:47.062vw;margin-top:-6.455vw;}
body.elementor-page-546 #golf-loop{z-index:4;min-height:47.062vw;margin-top:-6.753vw;}
body.elementor-page-546 #golf-range{z-index:5;min-height:47.062vw;margin-top:-7.288vw;}
body.elementor-page-546 #golf-proshop{z-index:6;min-height:47.062vw;margin-top:-7.05vw;}

/* ===== masks — always 100% 100% so the wave follows a section that the copy
   has made taller than its Figma height ===== */
body.elementor-page-546 #golf-intro{
-webkit-mask-image:var(--golf-wave-intro);mask-image:var(--golf-wave-intro);
-webkit-mask-size:100% 100%;mask-size:100% 100%;
-webkit-mask-position:center top;mask-position:center top;
-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
/* the four scrim bands mask the PHOTO and the SCRIM, not the section, so the
   copy is never clipped by the wave */
body.elementor-page-546 #golf-hole9-photo,body.elementor-page-546 #golf-hole9-scrim,
body.elementor-page-546 #golf-loop-photo,body.elementor-page-546 #golf-loop-scrim,
body.elementor-page-546 #golf-range-photo,body.elementor-page-546 #golf-range-scrim,
body.elementor-page-546 #golf-proshop-photo,body.elementor-page-546 #golf-proshop-scrim{
-webkit-mask-image:var(--golf-wave-a);mask-image:var(--golf-wave-a);
-webkit-mask-size:100% 100%;mask-size:100% 100%;
-webkit-mask-position:center top;mask-position:center top;
-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}

/* The intro's right panel is Figma's sand/paper texture (media 1883, the same
   file Rental uses), not flat white.  Never `cover` on grain: 104.875% is the
   rect's 1764 over the 1682 frame, and 34.5% reproduces its -88px top offset.
   Below the design width it is pinned at the design's own 1764px, so the grain
   keeps its scale and the artwork stays taller than a band that is growing. */
body.elementor-page-546 #golf-intro{
background-color:#F8F6F1;
background-image:url('/wp-content/uploads/2026/08/a183502f-4867-4e72-b758-d21f64f22e5c-1536x886.jpg');
background-repeat:no-repeat;background-size:max(104.875%,1764px) auto;background-position:50% 34.5%;
}

/* ===== photos ===== */
body.elementor-page-546 #golf-intro-photo,
body.elementor-page-546 #golf-hole9-photo,
body.elementor-page-546 #golf-loop-photo,
body.elementor-page-546 #golf-range-photo,
body.elementor-page-546 #golf-proshop-photo{
align-self:stretch;height:100%;min-width:0;line-height:0;padding:0;overflow:hidden;
}
body.elementor-page-546 #golf-intro-photo img,
body.elementor-page-546 #golf-hole9-photo img,
body.elementor-page-546 #golf-loop-photo img,
body.elementor-page-546 #golf-range-photo img,
body.elementor-page-546 #golf-proshop-photo img{
display:block;width:100%;height:100%;max-width:none;object-fit:cover;
}
/* Driving Range is drawn MIRRORED in Figma (imageTransform a = -1.0695). */
body.elementor-page-546 #golf-range-photo img{transform:scaleX(-1);}

/* ===== scrims — identical box geometry to the photo plus a centre-scale, or a
   1px fringe of photo traces the whole wave ===== */
body.elementor-page-546 #golf-hole9-scrim,
body.elementor-page-546 #golf-loop-scrim,
body.elementor-page-546 #golf-range-scrim,
body.elementor-page-546 #golf-proshop-scrim{
align-self:stretch;height:100%;width:100%;padding:0;z-index:1;pointer-events:none;
transform:scale(1.004);transform-origin:center;
}
/* Each gradient is converted from its own Figma gradientTransform onto the
   1682 x 791.58 box.  The two LEFT-copy bands fade the opposite way to
   anything on Experience; The Loop lands on 243.7deg, the angle Experience
   already ships, which is the check that the conversion is right. */
body.elementor-page-546 #golf-hole9-scrim{background-image:linear-gradient(116.4deg,#FFFFFF 0%,#FFFFFF 26.3%,rgba(255,255,255,.54) 57.3%,rgba(255,255,255,0) 75.8%);}
body.elementor-page-546 #golf-loop-scrim{background-image:linear-gradient(243.7deg,#FFFFFF 0%,#FFFFFF 24.5%,rgba(255,255,255,0) 79.4%);}
body.elementor-page-546 #golf-range-scrim{background-image:linear-gradient(103.6deg,#FFFFFF 0%,#FFFFFF 27.8%,rgba(255,255,255,0) 84.2%);}
body.elementor-page-546 #golf-proshop-scrim{background-image:linear-gradient(282.7deg,#FFFFFF 0%,#FFFFFF 27.8%,rgba(255,255,255,0) 64.5%);}

/* ===== typography ===== */
body.elementor-page-546 #golf-intro h2,
body.elementor-page-546 #golf-hole9 h2,
body.elementor-page-546 #golf-loop h2,
body.elementor-page-546 #golf-range h2,
body.elementor-page-546 #golf-proshop h2,
body.elementor-page-546 #golf-info h2{
font-family:"richmond-display",Georgia,serif;font-weight:300;font-style:normal;
font-size:42px;line-height:42px;letter-spacing:1.26px;color:#000000;margin:0;
}
body.elementor-page-546 #golf-intro h2 em,
body.elementor-page-546 #golf-hole9 h2 em,
body.elementor-page-546 #golf-loop h2 em,
body.elementor-page-546 #golf-range h2 em,
body.elementor-page-546 #golf-proshop h2 em,
body.elementor-page-546 #golf-info h2 em{font-style:italic;font-weight:300;}
body.elementor-page-546 #golf-intro-body,
body.elementor-page-546 #golf-hole9-body,
body.elementor-page-546 #golf-loop-body,
body.elementor-page-546 #golf-range-body,
body.elementor-page-546 #golf-proshop-body{
font-family:nunito,Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;line-height:22px;
color:#000000;margin:22px 0 0 0;
}
body.elementor-page-546 #golf-intro-body p,
body.elementor-page-546 #golf-hole9-body p,
body.elementor-page-546 #golf-loop-body p,
body.elementor-page-546 #golf-range-body p,
body.elementor-page-546 #golf-proshop-body p{margin:0 0 22px 0;}
body.elementor-page-546 #golf-intro-body p:last-child,
body.elementor-page-546 #golf-hole9-body p:last-child,
body.elementor-page-546 #golf-loop-body p:last-child,
body.elementor-page-546 #golf-range-body p:last-child,
body.elementor-page-546 #golf-proshop-body p:last-child{margin-bottom:0;}
body.elementor-page-546 #golf-range-body ul{margin:-22px 0 22px 0;padding:0 0 0 22px;list-style:disc;}
body.elementor-page-546 #golf-range-body li{margin:0;padding:0;}
body.elementor-page-546 #golf-hole9-spec,
body.elementor-page-546 #golf-range-eyebrow{
font-family:nexa,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;line-height:18px;
letter-spacing:3.5px;text-transform:uppercase;margin:0;
}
body.elementor-page-546 #golf-hole9-spec{color:#635D58;margin-top:22px;}
body.elementor-page-546 #golf-range-eyebrow{color:#097173;margin-top:30px;}
body.elementor-page-546 #golf-range-body{margin-top:18px;}

/* ===== copy blocks — house scale: heading->body 22, body->button 40 ===== */
body.elementor-page-546 #golf-intro-copy,
body.elementor-page-546 #golf-hole9-copy,
body.elementor-page-546 #golf-loop-copy,
body.elementor-page-546 #golf-range-copy,
body.elementor-page-546 #golf-proshop-copy{
display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0;position:relative;z-index:2;
}
body.elementor-page-546 #golf-hole9-btns{
display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 19px;padding:0;margin-top:40px;
}

@media(min-width:1025px){
/* photos and scrims out of flow, so the section height is the Figma band
   height (min-height) and only the copy can grow it */
body.elementor-page-546 #golf-intro-photo,
body.elementor-page-546 #golf-hole9-photo,
body.elementor-page-546 #golf-loop-photo,
body.elementor-page-546 #golf-range-photo,
body.elementor-page-546 #golf-proshop-photo,
body.elementor-page-546 #golf-hole9-scrim,
body.elementor-page-546 #golf-loop-scrim,
body.elementor-page-546 #golf-range-scrim,
body.elementor-page-546 #golf-proshop-scrim{
position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;
}
/* the intro photo's hard right edge: 959 / 1682 */
body.elementor-page-546 #golf-intro-photo{right:auto;width:57.015vw;}

/* EXACT crops, straight from each fill's imageTransform.  For a CROP fill the
   transform gives the window of the image that the band shows; the img is
   sized to the inverse of that window and offset by its origin, which
   reproduces Figma's zoom as well as its position (object-position alone can
   only slide a cover-fit image, never zoom it).  The img box has the photo's
   own aspect at the design width, so object-fit:cover crops nothing there and
   only starts cropping once the copy makes a band taller.
   Driving Range is mirrored: scaleX(-1) flips the img about its own centre
   AFTER it is placed, so its left offset is taken from (1 - u). */
body.elementor-page-546 #golf-hole9-photo img{position:absolute;width:111.82%;height:158.5%;left:-3.98%;top:-46.93%;}
body.elementor-page-546 #golf-loop-photo img{position:absolute;width:100.24%;height:142.07%;left:-.23%;top:-3.54%;}
body.elementor-page-546 #golf-range-photo img{position:absolute;width:104.55%;height:148.19%;left:-2.04%;top:-46.71%;}
body.elementor-page-546 #golf-proshop-photo img{position:absolute;width:100.84%;height:142.86%;left:-.95%;top:-11.63%;}

/* plain proportional columns — never a px floor in an offset */
body.elementor-page-546 #golf-hole9-copy,
body.elementor-page-546 #golf-range-copy{padding-left:7.61vw;padding-right:0;max-width:50vw;}
body.elementor-page-546 #golf-intro-copy,
body.elementor-page-546 #golf-loop-copy,
body.elementor-page-546 #golf-proshop-copy{padding-left:61.237vw;padding-right:2.2vw;}
body.elementor-page-546 #golf-intro h2,
body.elementor-page-546 #golf-hole9 h2,
body.elementor-page-546 #golf-loop h2,
body.elementor-page-546 #golf-range h2,
body.elementor-page-546 #golf-proshop h2,
body.elementor-page-546 #golf-info h2{font-size:min(42px,2.95vw);line-height:1.02;}
/* every measure is its own Figma text box, and ABSOLUTE */
body.elementor-page-546 #golf-intro h2{max-width:min(100%,497px);}
body.elementor-page-546 #golf-loop h2{max-width:min(100%,404px);}
body.elementor-page-546 #golf-intro-body{max-width:min(100%,498px);}
body.elementor-page-546 #golf-hole9-body{max-width:min(100%,467px);}
body.elementor-page-546 #golf-loop-body{max-width:min(100%,366px);}
body.elementor-page-546 #golf-range-body{max-width:min(100%,432px);}
body.elementor-page-546 #golf-proshop-body{max-width:min(100%,390px);}
/* two kit buttons side by side need 563px, more than the 50vw copy cap leaves
   below ~1380.  The buttons are opaque, so unlike the text they may run past
   the cap onto the lighter end of the scrim. */
body.elementor-page-546 #golf-hole9-btns{width:max-content;max-width:calc(92.39vw - 40px);}

/* band clearance: absolute type in proportional bands.  Experience's flat 96px
   is not enough here: Golf's z order is strictly ascending, so every band is
   cut by its own wave on top AND overlapped by the next band from below, and
   measured against the masks' alpha 96px left only 18-36px at 1025-1240.  Both
   intrusions are ~7.6vw deep, so the padding is that plus the 65px floor,
   capped at 150 so that 1682 is untouched (the tightest band, Driving Range,
   has 171 to spare there). */
body.elementor-page-546 #golf-intro-copy,
body.elementor-page-546 #golf-hole9-copy,
body.elementor-page-546 #golf-loop-copy,
body.elementor-page-546 #golf-range-copy,
body.elementor-page-546 #golf-proshop-copy{padding-top:clamp(96px,calc(7.6vw + 65px),150px);padding-bottom:clamp(96px,calc(7.6vw + 65px),150px);}
/* the wave is deepest over the LEFT column, where these two headlines sit */
body.elementor-page-546 #golf-hole9-copy,
body.elementor-page-546 #golf-range-copy{padding-top:160px;}
}

/* ===== hero =====
   Native container background video; the fallback image is the poster.  The
   page's one H1 is real text, visually hidden, and the logo is decorative —
   the logo is artwork, so it cannot BE the heading. */
body.elementor-page-546 #golf-hero-copy{
display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:start;
padding:13.734vw 30px 0 30px;position:relative;z-index:2;pointer-events:none;
}
body.elementor-page-546 #golf-h1{
position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
body.elementor-page-546 #golf-hero-logo{line-height:0;}
body.elementor-page-546 #golf-hero-logo img{display:block;width:clamp(190px,17.122vw,288px);height:auto;}
/* vertical band, not an ellipse, and solved against pure white: the worst
   frame is whatever ships (see Experience). */
body.elementor-page-546 #golf-hero::after{
content:'';position:absolute;inset:0;top:auto!important;bottom:0;height:100%;
z-index:1;pointer-events:none;border:none!important;
background:linear-gradient(180deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.45) 40%,rgba(0,0,0,.45) 54%,rgba(0,0,0,.24) 82%,rgba(0,0,0,.10) 100%);
}

/* ===== stats bar =====
   Figma draws it across the hero/intro seam (y 739-862; the intro starts at
   816).  The intro is stacked above the hero and owns its bottom 11vw, so a
   child of the hero there is unclickable.  The bar is therefore its own
   zero-height section at its own stacking level, hung at Figma's centre line
   (706.5 of the 909 hero = 12.039vw above the seam).  The header is z 99.
   Figma draws the bar 24px right of centre while the logo is centred; it is
   centred here. */
body.elementor-page-546 #golf-stats{
position:relative;z-index:10;height:0;min-height:0;padding:0;margin:0;overflow:visible;
width:100%;max-width:none;display:block;
}
body.elementor-page-546 #golf-stats-bar{
position:absolute;left:50%;top:-12.039vw;transform:translate(-50%,-50%);
width:min(1033px,calc(100vw - 80px));height:123px;
display:flex;flex-direction:row;align-items:stretch;gap:0;padding:0;
background:#E5E2DC;box-shadow:0 12px 34px rgba(0,0,0,.18);
}
body.elementor-page-546 #golf-stat-1,
body.elementor-page-546 #golf-stat-2,
body.elementor-page-546 #golf-stat-3{
margin:0;display:flex;flex-direction:column;justify-content:flex-start;padding:22px 12px 0 0;min-width:0;
font-family:nexa,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;line-height:18px;
letter-spacing:3.5px;text-transform:uppercase;
}
/* #097173 on the cream is 4.49:1 — a hair under AA for 14px — so the LABELS
   take a slightly deeper teal; the 32px figures keep the brand colour. */
body.elementor-page-546 #golf-stat-2,
body.elementor-page-546 #golf-stat-3{color:#07656A;}
body.elementor-page-546 #golf-stat-1{flex:0 0 21.975%;padding-left:47px;background:#097173;color:#F5F3EF;}
body.elementor-page-546 #golf-stat-2{flex:0 0 23.717%;padding-left:52px;}
body.elementor-page-546 #golf-stat-3{flex:1 1 0%;}
body.elementor-page-546 #golf-stat-1 em,
body.elementor-page-546 #golf-stat-2 em,
body.elementor-page-546 #golf-stat-3 em{
display:block;font-family:"richmond-display",Georgia,serif;font-weight:400;font-style:italic;
font-size:32px;line-height:44px;letter-spacing:0;text-transform:capitalize;margin-bottom:5px;
}
body.elementor-page-546 #golf-stat-2 em,
body.elementor-page-546 #golf-stat-3 em{color:#097173;}
body.elementor-page-546 #golf-stats-cta{flex:0 0 27.27%;align-self:stretch;display:flex;min-width:0;margin:0;}
body.elementor-page-546 #golf-stats-cta .elementor-widget-container,
body.elementor-page-546 #golf-stats-cta .elementor-button-wrapper{display:flex;width:100%;height:100%;}
body.elementor-page-546 #golf-stats-cta .elementor-button{
position:relative;display:flex!important;align-items:center;justify-content:center;
width:100%!important;max-width:none!important;min-width:0!important;height:100%;min-height:100%;
padding:0 22px!important;border:none!important;border-radius:0!important;
background-color:#02938D!important;background-image:none!important;
font-family:"richmond-display",Georgia,serif!important;font-weight:400!important;font-style:italic!important;
font-size:28px!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;
color:#FFFFFF!important;text-align:center;transition:background-color .2s ease;
}
body.elementor-page-546 #golf-stats-cta .elementor-button:hover,
body.elementor-page-546 #golf-stats-cta .elementor-button:focus-visible{background-color:#097173!important;}
body.elementor-page-546 #golf-stats-cta .elementor-button::after{
content:'';position:absolute;top:11px;right:10px;bottom:10px;left:10px;
border:1px solid #FFFFFF!important;pointer-events:none;background:none!important;
}
body.elementor-page-546 #golf-stats-cta .elementor-button:focus-visible{outline:3px solid #FFFFFF;outline-offset:-7px;}

/* ===== outline button (View Course Details) — modelled on Rental's
   .rental-outline; the kit paints the chevron as a background-image, so only
   the image is swapped for a Night Owl one. ===== */
body.elementor-page-546 .golf-btn-outline .elementor-button{
background-color:#FFFFFF!important;color:#635D58!important;border:1px solid #635D58!important;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.15' height='13' viewBox='0 0 6.15087 13' fill='none'%3E%3Cpath d='M0.5 0.5L5.5 6.5L0.5 12.5' stroke='%23635D58' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}
body.elementor-page-546 .golf-btn-outline .elementor-button .elementor-button-text{color:#635D58;}
body.elementor-page-546 .golf-btn-outline .elementor-button:hover{border-color:#097173!important;}
body.elementor-page-546 .golf-btn-outline .elementor-button:hover .elementor-button-text{color:#097173;}

/* ===== 7. info band — "Texas' Only True Links Experience" =====
   Sits UNDER the Pro Shop wave (z 1 against 6) and above the FAQ.  Card at
   428 and copy at 932 off the 1682 frame.  The background is Figma's cream
   gradient with the walking-golfer photo multiplied over it at 20%.  Its fill
   carries a mirroring transform (a = -0.8495) but the NODE is flipped as well,
   so the two cancel: the photo is drawn the right way round, showing
   u = 0.1394..0.9889 of the image (117.72% wide, 92.6% across). */
body.elementor-page-546 #golf-info{
position:relative;z-index:1;width:100%;max-width:none;overflow:hidden;
margin-top:-7.882vw;min-height:61.356vw;padding:calc(7.882vw + 60px) 40px calc(7.882vw + 60px) 25.446vw;
display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:6.183vw;
background:linear-gradient(291deg,#F4F0E7 0%,#EDE6D7 100%);
scroll-margin-top:100px;
}
body.elementor-page-546 #golf-info::before{
content:'';position:absolute;top:0!important;right:0;bottom:0;left:0;border:none!important;
background-image:url('/wp-content/uploads/2026/09/884956ee-bf51-40ef-8abe-d95925b10356-1024x683.jpg');
background-repeat:no-repeat;background-size:117.72% auto;background-position:92.6% 50%;
opacity:.2;mix-blend-mode:multiply;pointer-events:none;z-index:0;
}
body.elementor-page-546 #golf-info-card{
position:relative;z-index:1;flex:0 0 auto;width:min(400px,23.781vw);aspect-ratio:400/556;
padding:0;border-radius:20px;overflow:hidden;display:block;background:#1d3a2a;
}
body.elementor-page-546 #golf-info-video{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;}
body.elementor-page-546 #golf-info-video .elementor-widget-container,
body.elementor-page-546 #golf-info-video .elementor-wrapper,
body.elementor-page-546 #golf-info-video .elementor-custom-embed-image-overlay{
position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0!important;aspect-ratio:auto!important;
}
body.elementor-page-546 #golf-info-video .elementor-custom-embed-image-overlay{cursor:pointer;background-size:cover;background-position:center;}
body.elementor-page-546 #golf-info-video .elementor-custom-embed-image-overlay img{display:block;width:100%;height:100%;object-fit:cover;}
body.elementor-page-546 #golf-info-video .elementor-custom-embed-image-overlay:focus-visible{outline:3px solid #FFFFFF;outline-offset:-6px;border-radius:20px;}
/* The poster is a frame grab with a play icon baked INTO the picture.  The
   widget's own play icon is kept anyway, because it is the element Elementor
   makes the keyboard-operable button (role, tabindex, aria-label) — with it
   switched off the lightbox cannot be opened without a mouse.  It is centred
   on the baked icon and covers it, and it is a 44px target. */
body.elementor-page-546 #golf-info-video .elementor-custom-embed-play{
position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;
border-radius:50%;background:rgba(18,28,22,.78);display:flex;align-items:center;justify-content:center;
}
body.elementor-page-546 #golf-info-video .elementor-custom-embed-play svg,
body.elementor-page-546 #golf-info-video .elementor-custom-embed-play i{
width:15px;height:15px;font-size:15px;fill:#FFFFFF;color:#FFFFFF;opacity:1;margin-left:2px;text-shadow:none;
}
body.elementor-page-546 #golf-info-video .elementor-custom-embed-play:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px;}
/* the caption is white type on grass; a soft wash behind it carries the
   contrast.  Both sit above the overlay and let the click through. */
body.elementor-page-546 #golf-info-card::after{
content:'';position:absolute;top:0!important;right:0;bottom:0;left:0;border:none!important;z-index:1;pointer-events:none;
background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.42) 56%,rgba(0,0,0,.42) 70%,rgba(0,0,0,0) 90%);
}
body.elementor-page-546 #golf-info-caption{
position:absolute;left:0;right:0;top:54.9%;z-index:2;margin:0 auto;padding:0 20px;max-width:245px;
font-family:nunito,Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;line-height:22px;
color:#FFFFFF;text-align:center;pointer-events:none;
}
body.elementor-page-546 #golf-info-copy{
position:relative;z-index:1;flex:0 1 432px;min-width:0;
display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0;
}
body.elementor-page-546 #golf-info-details{
font-family:nunito,Helvetica,Arial,sans-serif;font-weight:400;font-size:14px;line-height:19px;
color:#000000;margin:23px 0 0 0;max-width:432px;
}
body.elementor-page-546 #golf-info-details p,
body.elementor-page-546 #golf-info-details address{margin:0 0 10px 0;font-style:normal;}
body.elementor-page-546 #golf-info-details strong{font-weight:700;}
body.elementor-page-546 #golf-info-details a{color:inherit;text-decoration:none;display:inline-block;padding:13px 0;margin:-13px 0;}
body.elementor-page-546 #golf-info-details a:hover{color:#097173;text-decoration:underline;}
body.elementor-page-546 #golf-info-details h3{
font-family:nunito,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;line-height:19px;
letter-spacing:0;color:#000000;margin:0 0 4px 0;text-transform:none;
}
body.elementor-page-546 #golf-info-details h3+p{font-size:16px;line-height:22px;margin-bottom:0;}
body.elementor-page-546 #golf-info-btn{margin-top:30px;}

/* ===== tablet + phone =====
   The bands stop overlapping and become [photo][copy panel].  The copy
   block's own padding-bottom is then the visible gap to the next hard edge
   (the next band's photo), so it is the house 56px. */
@media(max-width:1024px){
body.elementor-page-546 #golf-intro,
body.elementor-page-546 #golf-hole9,
body.elementor-page-546 #golf-loop,
body.elementor-page-546 #golf-range,
body.elementor-page-546 #golf-proshop{
display:block;min-height:0;margin-top:0;
-webkit-mask-image:none!important;mask-image:none!important;
}
/* stacked, the intro panel is taller than the texture at any honest grain
   scale, so the artwork dissolves into the flat cream instead of ending on a
   hard line */
body.elementor-page-546 #golf-intro{
background-image:linear-gradient(180deg,rgba(248,246,241,0) 500px,#F8F6F1 780px),url('/wp-content/uploads/2026/08/a183502f-4867-4e72-b758-d21f64f22e5c-1024x591.jpg');
background-size:100% 100%,1400px auto;background-position:center top,center top;
}
/* "Links-Style" otherwise breaks at its own hyphen on a phone */
body.elementor-page-546 #golf-intro h2,
body.elementor-page-546 #golf-hole9 h2,
body.elementor-page-546 #golf-loop h2,
body.elementor-page-546 #golf-range h2,
body.elementor-page-546 #golf-proshop h2,
body.elementor-page-546 #golf-info h2{text-wrap:balance;}
body.elementor-page-546 #golf-hero{min-height:clamp(430px,68vw,560px);}
/* the hero is short here (and very short on a landscape phone), so the logo
   is simply centred in it rather than hung from Figma's desktop offset */
body.elementor-page-546 #golf-hero-copy{align-self:center;padding-top:0;}
body.elementor-page-546 #golf-intro-photo,
body.elementor-page-546 #golf-hole9-photo,
body.elementor-page-546 #golf-loop-photo,
body.elementor-page-546 #golf-range-photo,
body.elementor-page-546 #golf-proshop-photo{width:100%!important;height:clamp(300px,42vw,430px);}
body.elementor-page-546 #golf-intro-photo{
-webkit-mask-image:var(--golf-wave-intro);mask-image:var(--golf-wave-intro);
-webkit-mask-size:100% 100%;mask-size:100% 100%;
-webkit-mask-position:center;mask-position:center;
-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
body.elementor-page-546 #golf-hole9-photo,
body.elementor-page-546 #golf-loop-photo,
body.elementor-page-546 #golf-range-photo,
body.elementor-page-546 #golf-proshop-photo{-webkit-mask-position:center;mask-position:center;}
/* stacked crops: object-position is in the IMAGE's own axis, mirrored or not */
body.elementor-page-546 #golf-hole9-photo img{object-position:70% 62%;}
body.elementor-page-546 #golf-loop-photo img{object-position:30% 30%;}
body.elementor-page-546 #golf-range-photo img{object-position:25% 75%;}
body.elementor-page-546 #golf-proshop-photo img{object-position:35% 40%;}
body.elementor-page-546 #golf-hole9-scrim,
body.elementor-page-546 #golf-loop-scrim,
body.elementor-page-546 #golf-range-scrim,
body.elementor-page-546 #golf-proshop-scrim{display:none;}
body.elementor-page-546 #golf-intro-copy,
body.elementor-page-546 #golf-hole9-copy,
body.elementor-page-546 #golf-loop-copy,
body.elementor-page-546 #golf-range-copy,
body.elementor-page-546 #golf-proshop-copy{padding:30px 30px 56px 30px!important;width:100%;max-width:none;}
/* The intro is the one stacked panel that is not white.  Left alone it ended on
   a hard straight line and the 9 Hole photo's wave cut-out then showed WHITE
   above it: cream, a white sliver, then the wave.  So the 9 Hole band is tucked
   up under the intro by 15% of the photo height (the wave's top edge spans
   3-14% of it) and its wave cuts into the real textured panel, as it does on
   desktop.  The intro's bottom padding grows by the same amount, so the copy is
   still 56px from the photo. */
body.elementor-page-546 #golf-hole9{margin-top:calc(clamp(300px,42vw,430px) * -.15);}
body.elementor-page-546 #golf-intro-copy{padding-bottom:calc(56px + clamp(300px,42vw,430px) * .15)!important;}
body.elementor-page-546 #golf-intro h2,
body.elementor-page-546 #golf-hole9 h2,
body.elementor-page-546 #golf-loop h2,
body.elementor-page-546 #golf-range h2,
body.elementor-page-546 #golf-proshop h2,
body.elementor-page-546 #golf-info h2{font-size:36px;line-height:38px;max-width:min(100%,640px);}
body.elementor-page-546 #golf-intro-body,
body.elementor-page-546 #golf-hole9-body,
body.elementor-page-546 #golf-loop-body,
body.elementor-page-546 #golf-range-body,
body.elementor-page-546 #golf-proshop-body{max-width:min(100%,540px);}

/* stats bar: in flow under the hero as a 2 x 2 — teal | cream over
   cream | green */
body.elementor-page-546 #golf-stats{height:auto;}
body.elementor-page-546 #golf-stats-bar{
position:static;transform:none;width:100%;height:auto;box-shadow:none;
display:grid;grid-template-columns:1fr 1fr;
}
body.elementor-page-546 #golf-stat-1,
body.elementor-page-546 #golf-stat-2,
body.elementor-page-546 #golf-stat-3{padding:22px 20px 24px 30px;min-height:124px;}
body.elementor-page-546 #golf-stats-cta{min-height:124px;}

body.elementor-page-546 #golf-info{
margin-top:0;min-height:0;flex-direction:column;align-items:flex-start;gap:36px;
padding:60px 30px 56px 30px;
}
body.elementor-page-546 #golf-info::before{background-image:url('/wp-content/uploads/2026/09/884956ee-bf51-40ef-8abe-d95925b10356-768x512.jpg');background-size:cover;background-position:30% 50%;}
body.elementor-page-546 #golf-info-card{width:min(400px,100%);}
body.elementor-page-546 #golf-info-copy{flex:0 0 auto;width:100%;}
body.elementor-page-546 #golf-info-details{max-width:min(100%,540px);}
}
/* a tablet has room for the card and the details side by side; stacked, the
   card sat alone with half the row empty */
@media(min-width:768px) and (max-width:1024px){
body.elementor-page-546 #golf-info{flex-direction:row;align-items:center;gap:44px;}
body.elementor-page-546 #golf-info-card{width:min(320px,42%);flex:0 0 auto;}
body.elementor-page-546 #golf-info-copy{flex:1 1 0%;width:auto;min-width:0;}
}

@media(max-width:767px){
/* CSS backgrounds are never lazy and never responsive.  The hero poster is the
   phone's LCP element, so phones get the 1024px rendition (36 KB) instead of
   the 2048px one; Elementor paints the fallback on the container itself. */
body.elementor-page-546 #golf-hero{background-image:url('/wp-content/uploads/2026/09/47ff080f-f607-4630-aa6a-cc18628525d0-2048x1024-1-1024x512.jpeg')!important;}
body.elementor-page-546 #golf-intro h2,
body.elementor-page-546 #golf-hole9 h2,
body.elementor-page-546 #golf-loop h2,
body.elementor-page-546 #golf-range h2,
body.elementor-page-546 #golf-proshop h2,
body.elementor-page-546 #golf-info h2{font-size:32px;line-height:34px;}
body.elementor-page-546 #golf-hole9-btns{flex-direction:column;align-items:flex-start;width:100%;}
body.elementor-page-546 #golf-stat-1,
body.elementor-page-546 #golf-stat-2,
body.elementor-page-546 #golf-stat-3{font-size:12px;line-height:17px;letter-spacing:2.4px;padding:18px 12px 20px 20px;min-height:112px;}
body.elementor-page-546 #golf-stat-1 em,
body.elementor-page-546 #golf-stat-2 em,
body.elementor-page-546 #golf-stat-3 em{font-size:24px;line-height:32px;}
body.elementor-page-546 #golf-stats-cta{min-height:112px;}
body.elementor-page-546 #golf-stats-cta .elementor-button{font-size:22px!important;padding:0 18px!important;}
body.elementor-page-546 #golf-info{padding:50px 30px 56px 30px;}
body.elementor-page-546 #golf-info-card{margin-left:auto;margin-right:auto;}
}
@media(max-width:1024px) and (orientation:landscape) and (max-height:500px){
body.elementor-page-546 #golf-hero{min-height:min(clamp(430px,68vw,560px),88vh);}
}

/* ===== a11y ===== */
body.elementor-page-546 a:focus-visible,
body.elementor-page-546 .elementor-button:focus-visible{outline:3px solid #097173;outline-offset:3px;border-radius:3px;}
/* The native background video has no pause control and no motion switch.
   Reduced-motion users get the poster instead. */
@media(prefers-reduced-motion:reduce){
body.elementor-page-546 #golf-hero .elementor-background-video-container{display:none;}
body.elementor-page-546 #golf-stats-cta .elementor-button{transition:none!important;}
}/* End custom CSS */