.elementor-1297 .elementor-element.elementor-element-d92b563{--display:flex;--min-height:50vh;--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;--justify-content:center;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--overlay-opacity:0.8;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:140px;--padding-bottom:60px;--padding-left:40px;--padding-right:40px;}.elementor-1297 .elementor-element.elementor-element-d92b563:not(.elementor-motion-effects-element-type-background), .elementor-1297 .elementor-element.elementor-element-d92b563 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://glengariff.com.au/wp-content/uploads/2026/08/Hero-Banner-Option-2.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1297 .elementor-element.elementor-element-d92b563::before, .elementor-1297 .elementor-element.elementor-element-d92b563 > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-d92b563 > .e-con-inner > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-d92b563 > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-d92b563 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-d92b563 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000B3;--background-overlay:'';}.elementor-1297 .elementor-element.elementor-element-46aa437{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-1297 .elementor-element.elementor-element-7e51820{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-1297 .elementor-element.elementor-element-7e51820 .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.2em;color:#C7B195;}.elementor-1297 .elementor-element.elementor-element-7d96e6b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-1297 .elementor-element.elementor-element-7d96e6b .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:64px;font-weight:500;line-height:1.05em;color:#FFFFFF;}.elementor-1297 .elementor-element.elementor-element-91e65a9{--display:flex;--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:20px 20px;--row-gap:20px;--column-gap:20px;--overlay-opacity:0.1;--padding-top:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-1297 .elementor-element.elementor-element-91e65a9:not(.elementor-motion-effects-element-type-background), .elementor-1297 .elementor-element.elementor-element-91e65a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF7F2;}.elementor-1297 .elementor-element.elementor-element-91e65a9::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .e-con-inner > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://glengariff.com.au/wp-content/uploads/2026/09/Entrance-to-Glengariff.png");--background-overlay:'';background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1297 .elementor-element.elementor-element-72460eb{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-2ed2f39 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-1297 .elementor-element.elementor-element-2ed2f39 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-1297 .elementor-element.elementor-element-2ed2f39{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:left;--content-justify-content:flex-end;--content-padding:20px;--title-text-color:var( --e-global-color-5600668 );--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-1297 .elementor-element.elementor-element-2ed2f39 .elementor-gallery-item__title{font-family:var( --e-global-typography-be24189-font-family ), Sans-serif;font-size:var( --e-global-typography-be24189-font-size );font-weight:var( --e-global-typography-be24189-font-weight );text-transform:var( --e-global-typography-be24189-text-transform );font-style:var( --e-global-typography-be24189-font-style );line-height:var( --e-global-typography-be24189-line-height );letter-spacing:var( --e-global-typography-be24189-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-12aa522{--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;--justify-content:flex-end;--align-items:flex-start;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--overlay-opacity:0.7;--padding-top:160px;--padding-bottom:160px;--padding-left:40px;--padding-right:40px;}.elementor-1297 .elementor-element.elementor-element-12aa522:not(.elementor-motion-effects-element-type-background), .elementor-1297 .elementor-element.elementor-element-12aa522 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://glengariff.com.au/wp-content/uploads/2026/09/cta-bg.webp");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-1297 .elementor-element.elementor-element-12aa522::before, .elementor-1297 .elementor-element.elementor-element-12aa522 > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-12aa522 > .e-con-inner > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-12aa522 > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-12aa522 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-12aa522 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #000000B3 0%, #000000 100%);}.elementor-1297 .elementor-element.elementor-element-6dc3d50{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-1297 .elementor-element.elementor-element-6dc3d50 .elementor-heading-title{font-family:var( --e-global-typography-13e409d-font-family ), Sans-serif;font-size:var( --e-global-typography-13e409d-font-size );font-weight:var( --e-global-typography-13e409d-font-weight );line-height:var( --e-global-typography-13e409d-line-height );color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1297 .elementor-element.elementor-element-132905d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Lora", Sans-serif;font-size:17px;line-height:1.65em;color:var( --e-global-color-9730e96 );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-d9830f7 .elementor-button{background-color:var( --e-global-color-secondary );fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-radius:3px 3px 3px 3px;padding:16px 32px 16px 32px;}.elementor-1297 .elementor-element.elementor-element-d9830f7 .elementor-button:hover, .elementor-1297 .elementor-element.elementor-element-d9830f7 .elementor-button:focus{background-color:#A68A63;color:var( --e-global-color-accent );}.elementor-1297 .elementor-element.elementor-element-d9830f7:hover{--e-transform-translateY:-1px;}.elementor-1297 .elementor-element.elementor-element-d9830f7{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1297 .elementor-element.elementor-element-d9830f7 .elementor-button:hover svg, .elementor-1297 .elementor-element.elementor-element-d9830f7 .elementor-button:focus svg{fill:var( --e-global-color-accent );}body.elementor-page-1297:not(.elementor-motion-effects-element-type-background), body.elementor-page-1297 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4EFE7;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1297 .elementor-element.elementor-element-46aa437{--width:60%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1297 .elementor-element.elementor-element-46aa437{--width:100%;}}@media(min-width:1025px){.elementor-1297 .elementor-element.elementor-element-91e65a9::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .e-con-inner > .elementor-background-video-container::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1297 .elementor-element.elementor-element-91e65a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-attachment:fixed;}}@media(max-width:1024px){.elementor-1297 .elementor-element.elementor-element-d92b563{--min-height:40vh;--padding-top:100px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-91e65a9{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-widget-gallery .elementor-gallery-item__title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-2ed2f39 .elementor-gallery-item__title{font-size:var( --e-global-typography-be24189-font-size );line-height:var( --e-global-typography-be24189-line-height );letter-spacing:var( --e-global-typography-be24189-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-12aa522{--padding-top:120px;--padding-bottom:120px;--padding-left:30px;--padding-right:30px;}.elementor-1297 .elementor-element.elementor-element-6dc3d50 .elementor-heading-title{font-size:var( --e-global-typography-13e409d-font-size );line-height:var( --e-global-typography-13e409d-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-1297 .elementor-element.elementor-element-d92b563{--min-height:50vh;--padding-top:100px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-7d96e6b .elementor-heading-title{font-size:40px;}.elementor-1297 .elementor-element.elementor-element-91e65a9{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-widget-gallery .elementor-gallery-item__title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-2ed2f39 .elementor-gallery-item__title{font-size:var( --e-global-typography-be24189-font-size );line-height:var( --e-global-typography-be24189-line-height );letter-spacing:var( --e-global-typography-be24189-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-12aa522{--min-height:90vh;--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-1297 .elementor-element.elementor-element-6dc3d50 .elementor-heading-title{font-size:var( --e-global-typography-13e409d-font-size );line-height:var( --e-global-typography-13e409d-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1297 .elementor-element.elementor-element-132905d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1297 .elementor-element.elementor-element-d9830f7{width:100%;max-width:100%;}}/* Start custom CSS for gallery, class: .elementor-element-2ed2f39 *//* 1. Make overlay permanently visible with a gradient background */
.elementor-1297 .elementor-element.elementor-element-2ed2f39 .elementor-gallery-item__overlay {
    opacity: 1 !important;
    /* Gradient: Transparent at top fading to dark black at bottom */
    background: linear-gradient(
        to top, 
        rgba(0, 0, 0, 0.8) 0%, 
        rgba(0, 0, 0, 0.1) 50%, 
        rgba(0, 0, 0, 0) 100%
    ) !important;
    transition: background 0.4s ease, opacity 0.4s ease !important;
}

/* 2. Keep title visible and positioned cleanly over the gradient */
.elementor-1297 .elementor-element.elementor-element-2ed2f39 .elementor-gallery-item__title {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity 0.4s ease, transform 0.4s ease !important;
}

/* 3. Optional: Deepen the gradient on hover */
.elementor-1297 .elementor-element.elementor-element-2ed2f39 .elementor-gallery-item:hover .elementor-gallery-item__overlay {
    background: linear-gradient(
        to top, 
        rgba(0, 0, 0, 0.8) 0%, 
        rgba(0, 0, 0, 0.3) 60%, 
        rgba(0, 0, 0, 0) 100%
    ) !important;
}/* End custom CSS */
/* Start custom CSS *//* Ensure the button is positioned relatively for the pseudo-element */
body.elementor-page-1297 .line-button {
    position: relative;
    overflow: hidden; /* Keeps the line contained inside the button area */

}

/* Create the invisible line at the bottom */
body.elementor-page-1297 .line-button::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px; /* Thickness of the line */
    background-color: #5C564E; /* Change to your preferred line color */
    transform: scaleX(0); /* Hide line initially by shrinking horizontal width */
    transform-origin: bottom right;
    transition: transform 0.3s ease-in-out; /* Smooth hover transition */
}

/* Expand the line on hover */
body.elementor-page-1297 .line-button:hover::after {
    transform: scaleX(1); /* Expand line to full width */
    transform-origin: bottom left;
}


/* Styles text, email, phone, number, and select fields */
.gform_heading {
    display: none!important;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea,
.gform_wrapper select {
  background-color: #ffffff0f !important;
  border: 1px solid #F4EFE7 !important;
  border-radius: 2px;
  padding: 12px 14px;
  font-size: 16px;
  color: #333333;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.3s ease;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper textarea:focus {
  border: 2px solid #F4EFE7; /* Accent color */
  background-color: #ffffff0f;
  outline: none;
  box-shadow: 0 0 5px rgba(0, 115, 170, 0.3);
}

/* Color for the text typed by the user */
input[type="text"],
input[type="email"],
textarea {
  color: #F4EFE7 !important;
}

/* Color for the placeholder text (before the user types) */
input::placeholder {
  color: #D8D5CE !important; 
  opacity: 1 !important; 
}

/* Color when placeholder is active (invalid state) */
select:required:invalid {
  color: #D8D5CE !important;
} 

/* Color once a valid option is selected */
select option {
  color: #D8D5CE !important;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #D8D5CE !important; /* Fallback base color */
}

select:required:invalid {
  color: #D8D5CE !important; /* Force placeholder color */
}

/* All Gravity Form labels */
.gform_wrapper .gfield_label {
  color: #D8D5CE !important;
  font-weight: 600 !important;
  
}

/* Specific field label in Form #1, Field #3 */
#field_1_3 .gfield_label {
  color: #D8D5CE !important;
}

/* Sub-labels under inputs (First Name, Last Name, Street Address, etc.) */
.gform_wrapper .gfield_sub_label,
.gform_wrapper .ginput_container span label {
  display: none !important;
}

/* Helper description text below or above fields */
.gform_wrapper .gfield_description {
  color: #D8D5CE !important;
}

/* Custom styling for all Gravity Forms submit buttons */
.gform_wrapper .gform_button {
  background-color: #F4EFE7 !important;
  color: #48606C !important;
  border-radius: 3px !important;
  padding: 16px 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
}

/* Hover state */
.gform_wrapper .gform_button:hover {
  background-color: #A68A63 !important;
  border-color: transparent !important; /* Hides border smoothly on hover */
  color: #33454C !important;
}

/* Focus state (removes default browser focus outline) */
.gform_wrapper .gform_button:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Reduce spacing between form field rows */
.gform_wrapper .gfield {
  margin-bottom: -5px !important; /* Default is usually 16px - 24px */
  padding-bottom: 0 !important;
}

/* Reduce spacing on complex row items (Name, Address sub-fields) */
.gform_wrapper .gfield_sub_label {
  margin-top: 2px !important;
}

/* Centers the submit button container in Gravity Forms */
.gform_wrapper .gform_footer {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
}


/* ==========================================================================
   Glengariff Historic Estate — Homepage Section 5, The Estate Itself
   "30 acres and 30 stunning photo locations"

   THE SITE'S ONE GRID-BREAK (moved here from Section 6, 19 Aug 2026).
   Two full-bleed rows of tiles drifting in opposite directions on scroll.

   Paste into: Elementor > Site Settings > Custom CSS
   Depends on: gg-motion.html (HTML widget, last child of the section)
   Without the script the rows sit static and the section still works.
   ========================================================================== */

.gg-locations{
  /* Palette — Elementor globals first, brand board values as fallback.
     PROVISIONAL: the brand board is not client-signed-off, and the teal must
     be sampled from Kate's logo file rather than taken from these fallbacks. */
  --gg-brand:  var(--e-global-color-primary,   #2C4A47);
  --gg-deep:   #1E3532;
  --gg-canvas: var(--e-global-color-secondary, #F4EFE7);
  --gg-tan:    var(--e-global-color-accent,    #C69C72);
  --gg-sand:   #CFB9A5;
  --gg-body:   var(--e-global-color-text,      #332F2B);

  /* Caption scrim. §6 of the decision sheet specifies olive rgba(57,58,16,…);
     the tokenised brand board has no olive. Resolve before launch — swap this
     one value and every caption follows. */
  --gg-scrim: rgba(30, 53, 50, .74);

  --gg-serif: 'Lora', Georgia, 'Times New Roman', serif;
  --gg-sans:  'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;

  --gg-max: 1140px;
  --gg-pad: 0;

  --gg-travel: 110px;    /* how far each row drifts, in each direction */
  --gg-safety: 4px;      /* overscan so a drift extreme never shows bare ground */
  --gg-shift: 0px;       /* live scroll offset — the script writes this */

  background: var(--gg-canvas);
  padding: 80px 0 80px var(--gg-pad);
  overflow-x: clip;      /* contains the bleed. Do not change to hidden. */
}

/* ---------- heading block, inside the grid ---------- */

.gg-locations .gg-head{
  max-width: var(--gg-max);
  margin: 0 auto 52px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  column-gap: 72px;
  align-items: end;
}

.gg-locations .gg-eyebrow,
.gg-locations .gg-eyebrow .elementor-heading-title{
  font-family: var(--gg-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gg-brand);
  margin: 0 0 16px;
}

.gg-locations .gg-h2,
.gg-locations .gg-h2 .elementor-heading-title{
  font-family: var(--gg-serif);
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.012em;
  color: var(--gg-brand);
  margin: 0;
  text-wrap: balance;
}

.gg-locations .gg-body,
.gg-locations .gg-body p{
  font-family: var(--gg-sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--gg-body);
  margin: 0 0 14px;
}
.gg-locations .gg-body p:last-child{ margin-bottom: 0; }

.gg-locations .gg-link .elementor-button,
.gg-locations .gg-more .elementor-button{
  display: inline-block;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--gg-tan);
  border-radius: 0;
  padding: 0 0 4px;
  font-family: var(--gg-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gg-brand);
  transition: border-color .25s ease;
}
.gg-locations .gg-link .elementor-button{ margin-top: 20px; }
.gg-locations .gg-link .elementor-button:hover,
.gg-locations .gg-link .elementor-button:focus-visible,
.gg-locations .gg-more .elementor-button:hover,
.gg-locations .gg-more .elementor-button:focus-visible{
  background: transparent;
  color: var(--gg-brand);
  border-bottom-color: var(--gg-brand);
}

/* ---------- the two drifting rows ---------- */

.gg-locations .gg-row{
  margin-inline: calc(-1 * var(--gg-pad));   /* full viewport width */
  overflow: hidden;
}
.gg-locations .gg-row + .gg-row{ margin-top: 2px; }

/* The track is wider than the viewport by the full travel in both directions,
   plus --gg-safety so sub-pixel rounding can never expose a sliver of ground
   at the drift extremes. */
.gg-locations .gg-row__track{
  display: flex;
  gap: 2px;
  width: calc(100% + (var(--gg-travel) + var(--gg-safety)) * 2);
  margin-left: calc(-1 * (var(--gg-travel) + var(--gg-safety)));
  transform: translate3d(0, 0, 0);
}

/* Opposing directions. The script only ever sets --gg-shift; the sign lives here. */
.gg-locations .gg-row--a .gg-row__track{
  transform: translate3d(calc(-1 * var(--gg-shift)), 0, 0);
}
.gg-locations .gg-row--b .gg-row__track{
  transform: translate3d(var(--gg-shift), 0, 0);
  /* offset half a tile so the vertical seams never line up between rows */
  margin-left: calc(-1 * (var(--gg-travel) + var(--gg-safety)) - 170px);
  width: calc(100% + (var(--gg-travel) + var(--gg-safety)) * 2 + 170px);
}

.gg-locations.is-live .gg-row__track{ will-change: transform; }

/* ---------- tiles ---------- */

.gg-locations .gg-tile{
  flex: 1 0 clamp(240px, 22vw, 400px);   /* grow to cover any viewport width */
  min-width: 0;
}
.gg-locations .gg-tile figure{
  position: relative;
  margin: 0;
}
.gg-locations .gg-tile img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 2px;
}
.gg-locations .gg-tile figcaption{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 42px 16px 13px;
  background: linear-gradient(to top, var(--gg-scrim), rgba(30, 53, 50, 0));
  font-family: var(--gg-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--gg-sand);
  text-align: left;
  border-radius: 0 0 2px 2px;
}

/* ---------- closing line ---------- */

.gg-locations .gg-more{
  max-width: var(--gg-max);
  margin: 34px auto 0;
}

/* Script carrier — hidden, but the script still executes */
.gg-locations .gg-script{ display: none; }

/* ---------- tablet and mobile ---------- */

@media (max-width: 900px){
  .gg-locations{
    padding-top: 64px;
    padding-bottom: 64px;
    --gg-travel: 60px;
  }
  .gg-locations .gg-head{
    display: block;
    margin-bottom: 34px;
  }
  .gg-locations .gg-h2,
  .gg-locations .gg-h2 .elementor-heading-title{ margin-bottom: 18px; }
  .gg-locations .gg-tile{ flex: 1 0 clamp(190px, 52vw, 280px); }
  .gg-locations .gg-tile figcaption{
    font-size: 11px;
    padding: 34px 12px 10px;
  }
  .gg-locations .gg-more{ margin-top: 26px; }
}

@media (max-width: 480px){
  .gg-locations{ padding-top: 48px; padding-bottom: 48px; }
  .gg-locations .gg-body,
  .gg-locations .gg-body p{ font-size: 16px; }
}

/* ---------- motion ---------- */

@media (prefers-reduced-motion: reduce){
  .gg-locations .gg-row--a .gg-row__track,
  .gg-locations .gg-row--b .gg-row__track{
    transform: none;
  }
}

.gray-hover {
  /* Apply grayscale filter (100% = fully gray) */
  filter: grayscale(100%);
  
  /* Smooth transition effect over 0.4 seconds */
  transition: filter 0.4s ease-in-out, transform 0.4s ease-in-out;
  
  /* Ensure image fits properly */
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* On hover, remove grayscale and add a subtle scale-up effect */
.gray-hover:hover {
  filter: grayscale(0%);
}

.parallax-html {
    display: none !important;
}/* End custom CSS */