.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-media-player .oxy-pro-media-player_play{
--extras-play-icon-size:60px;
}

.oxy-pro-media-player .oxy-pro-media-player_play button:hover{
--vm-play-scale:1;
}

.oxy-pro-media-player .oxy-pro-media-player_play button{
transition-duration:.3s;
}

.oxy-pro-media-player vime-player{
--vm-control-scale:.9;
--extras-slider-height:2px;
--vm-control-group-spacing:12px;
--vm-controls-padding:15px;
--vm-controls-spacing:15px;
--vm-time-font-size:13px;
--vm-control-border-radius:3px;
--extras-spinner-size:80px;
--vm-spinner-thickness:3px;
--vm-spinner-spin-duration:1s;
--vm-tooltip-spacing:3px;
--vm-tooltip-padding:3px;
}

.oxy-pro-media-player .oxy-pro-media-player_custom-image{
--extras-poster-left:50%;
--extras-poster-top:50%;
}

.oxy-pro-media-player vime-player.video{
                            height: 0;
                            overflow: hidden;
                        }
.oxy-pro-media-player .extras-in-builder vime-spinner{
                                opacity: 0;
                            }
.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1440px;
}
body {font-family: 'Jost';}body {line-height: 1.6;font-size: 16px;font-weight: 300;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Playfair Display';font-size: 58px;font-weight: 400;}h2, h3, h4, h5, h6{font-size: 40px;font-weight: 400;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: inherit;text-decoration: none;}a:hover {color: #bf9a52;}.ct-link-text {color: inherit;text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 0px;}.ct-section-inner-wrap {
padding-top: 100px;
padding-right: 20px;
padding-bottom: 100px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
.oxel_icon_button__container:hover{
 background-color:#cfd3d7;
}
.oxel_icon_button__container {
 background-color:#eceeef;
 padding-top:8px;
 padding-left:16px;
 padding-right:16px;
 padding-bottom:8px;
 transition-duration:0.3s;
}
.oxel_icon_button__container:not(.ct-section):not(.oxy-easy-posts),
.oxel_icon_button__container.oxy-easy-posts .oxy-posts,
.oxel_icon_button__container.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.oxel_icon_button_text {
 color:#374047;
}
.oxel_icon_button_icon {
color: #606e79;}.oxel_icon_button_icon 
>svg {width: 18px;height: 18px;}.oxel_icon_button_icon {
 margin-right:8px;
}
.uppercase_jost {
 color:#bf9a52;
 margin-bottom:18px;
}
.nav-logo {
}
.grid-image {
 width:100%;
 padding-bottom:10px;
 margin-bottom:0px;
aspect-ratio:1/1;
}
.grid-text {
 color:#9a9086;
color: rgba(255, 255, 255, 0.38)!important; font-family: Jost!important; font-size: 12px!important; font-style: normal!important; font-weight: 500!important; line-height: 14.175px!important; letter-spacing: 2.835px!important; text-transform: uppercase!important;
}
.eyebrow {
}
.grid-item {
 gap:12px;
}
.grid-item:not(.ct-section):not(.oxy-easy-posts),
.grid-item.oxy-easy-posts .oxy-posts,
.grid-item.ct-section .ct-section-inner-wrap{
gap:12px;
}
.bg-button {
}
.hg-btn {
}
.hg-btn--gold {
}
.hg-on-dark {
}
.hg-btn--solid {
}
.hg-btn--outline {
}
.hg-show-labels {
}
:root {
  --hg-green: #1c3328;
  --hg-cream: #f4efe9;
  --hg-gold: #bf9a52;
  --hg-gold-deep: #997b42;

  --hg-ink: #4a4540;        /* body copy on cream, 8.29:1 */
  --hg-muted: #6b6560;      /* small labels on cream, 5.03:1 */
  --hg-link: #4a4540;
  --hg-rule: rgba(28, 51, 40, 0.12);
  --hg-focus: #1c3328;

  --hg-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --hg-dur: 0.5s;
}


/* Global */ 

body {
  background-color:#F5F0E8;
}

.oxy-header-left,
.oxy-header-right { flex: 1 1 0; }
.oxy-header-center { flex: 0 0 auto; }

.oxy-burger-trigger.uppercase_jost { margin-bottom: 0; }
.oxy-burger-trigger .hamburger {
  gap: .75em;
  height: 39px;
  font: 500 9.45px Jost, sans-serif;
  letter-spacing: .25em !important;
  color: rgba(255, 255, 255, .85);
}



/* Typography */ 

.uppercase_jost , span.hamburger-box {
    text-align: center; 
    font-size: 11px; 
    font-family: Jost; 
    font-weight: 500!important; 
    text-transform: uppercase; 
    line-height: 15.75px!important; 
    letter-spacing: 2.63px!important; 
    word-wrap: break-word;
}

.nav-logo, .hg-oc__mark  {
   font-size: 22px!important; 
   font-weight: 400!important; 
   letter-spacing: 0.75px!important; 
   word-wrap: break-word;
} 

@media only screen and (max-width:768px){
.nav-logo, .hg-oc__mark  {
   font-size: 16px!important; 
   font-weight: 400!important; 
   letter-spacing: 0.75px!important; 
   word-wrap: break-word;
} 
  .oxy-burger-trigger .hamburger {
    gap: .75em;
    height: 39px;
    font: 500 0px Jost, sans-serif;
}
}

p {
  color: #4A4540!important;
  font-family: Jost;
  font-size: 14.7px;
  font-style: normal;
  font-weight: 300!important;
  line-height: 25.725px!important;
}

/* Buttons */ 


.hg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11.55px 21px;
  border: 1.05px solid var(--hg-btn-edge, rgba(0, 0, 0, 0.5));
  font-family: "Jost", sans-serif;
  font-weight: var(--hg-btn-weight, 500);
  font-size: 9.45px;
  line-height: 14.175px;
  letter-spacing: 2.3625px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  color: var(--hg-btn-ink, #4a4540);
  background-color: var(--hg-btn-fill, transparent);
  transition:
    background-color var(--hg-dur) var(--hg-ease),
    border-color var(--hg-dur) var(--hg-ease),
    color var(--hg-dur) var(--hg-ease);
}

.hg-btn:hover,
.hg-btn:focus-visible {
  color: var(--hg-btn-flip-ink, #f4efe9);
  background-color: var(--hg-btn-flip-fill, #1c3328);
  border-color: var(--hg-btn-flip-edge, #1c3328);
}

.hg-btn:focus-visible {
  outline: 2px solid var(--hg-btn-focus, #1c3328);
  outline-offset: 3px;
}

/* See-thru */
.hg-btn--outline {
  --hg-btn-ink: #4a4540;
  --hg-btn-fill: transparent;
  --hg-btn-edge: rgba(0, 0, 0, 0.5);
  --hg-btn-flip-ink: #f4efe9;
  --hg-btn-flip-fill: #1c3328;
  --hg-btn-flip-edge: #1c3328;
}

/* Solid, dark green. Safe on any background */
.hg-btn--solid {
  --hg-btn-ink: #f4efe9;
  --hg-btn-fill: #1c3328;
  --hg-btn-edge: #1c3328;
  --hg-btn-flip-ink: #1c3328;
  --hg-btn-flip-fill: #f4efe9;
  --hg-btn-flip-edge: #1c3328;
  --hg-btn-weight: 600;
}

/* Solid gold, the accent. Keeps its gold edge through the hover */
.hg-btn--gold {
  --hg-btn-ink: #1c3328;
  --hg-btn-fill: #bf9a52;
  --hg-btn-edge: #997b42;
  --hg-btn-flip-ink: #f4efe9;
  --hg-btn-flip-fill: #1c3328;
  --hg-btn-flip-edge: #bf9a52;
  --hg-btn-weight: 600;
}

.hg-on-dark .hg-btn {
  --hg-btn-focus: #bf9a52;
}

.hg-on-dark .hg-btn--outline {
  --hg-btn-ink: rgba(255, 255, 255, 0.85);
  --hg-btn-edge: rgba(255, 255, 255, 0.45);
  --hg-btn-flip-ink: #1c3328;
  --hg-btn-flip-fill: #f4efe9;
  --hg-btn-flip-edge: #f4efe9;
}

.hg-on-dark .hg-btn--solid {
  --hg-btn-ink: #1c3328;
  --hg-btn-fill: #f4efe9;
  --hg-btn-edge: #f4efe9;
  --hg-btn-flip-ink: #1c3328;
  --hg-btn-flip-fill: #bf9a52;
  --hg-btn-flip-edge: #bf9a52;
}

.hg-on-dark .hg-btn--gold {
  --hg-btn-edge: #bf9a52;
  --hg-btn-flip-ink: #1c3328;
  --hg-btn-flip-fill: #f4efe9;
  --hg-btn-flip-edge: #f4efe9;
}

.hg-btn--block {
  width: 100%;
}

/* Eyebrow */ 

.hg-eyebrow {
  display: flex;
  align-items: center;
  gap: 10.5px;
  padding-bottom: 21px;
  margin: 0;
  font-family: "Jost", sans-serif;
  font-size: 10.5px;
  line-height: 15.75px;
  white-space: nowrap;
}

.hg-eyebrow__number,
.hg-eyebrow__label {
  font-weight: 500;
  letter-spacing: 3.15px;
  text-transform: uppercase;
}

.hg-eyebrow__number,
.hg-eyebrow__sep {
  color: var(--hg-gold);
}

.hg-eyebrow__sep {
  font-weight: 300;
}

.hg-eyebrow__label {
  color: var(--hg-muted);
}


/* Spec list Homepage */ 

.hg-spec {
  padding-top: 37.8px;
}

.hg-spec__list {
  margin: 0;
  border-top: 1.05px solid var(--hg-rule);
}

.hg-spec__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 21px;
  padding: 14.7px 0 15.7px;
  border-bottom: 1.05px solid var(--hg-rule);
}

.hg-spec__label {
  margin: 0;
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-size: 10.5px;
  line-height: 15.75px;
  letter-spacing: 2.625px;
  text-transform: uppercase;
  color: var(--hg-muted);
}

.hg-spec__value {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 17.64px;
  line-height: 26.46px;
  letter-spacing: -0.0882px;
  text-align: right;
  color: var(--hg-green);
}

.hg-spec__cta {
  margin-top: 21px;
}

/* Motion */ 

@media (prefers-reduced-motion: reduce) {
  .hg-btn,
  .hg-view-more,
  .hg-view-more *,
  .hg-view-more__label::after {
    transition-duration: 0.01ms;
  }
}



/* FAQ */ 


/* Closed state — icon sits at 45deg by default */
.oxy-pro-accordion_header .oxy-pro-accordion_icon svg {
  transform: rotate(45deg);
}

/* Open state — rotate another 45deg (90deg total) */
.oxy-pro-accordion_item.active .oxy-pro-accordion_icon svg {
  transform: rotate(90deg) !important;
}



/* Vimeo fixes */ 

.oxy-pro-media-player {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}
.oxy-pro-media-player vime-player.video {
  padding-bottom: 56.25% !important;
}
.oxy-pro-media-player vime-embed {
  transform: translateY(-38.28125%) scale(var(--fill-scale, 1.14)) !important;
}



/* Responsive */


/* ---------- TABLET ---------- */
@media (max-width: 991px) {
  h1 { font-size: 48px; line-height: 1.12; }
  h2 { font-size: 34px; line-height: 1.15; }
  #headline-136-13 { font-size: 54px; line-height: 1.1; }
  h3, .hg-info__title { font-size: 22px; }
  .oxy-pro-accordion_title { font-size: 21px; }
  .hg-preview__name { font-size: 24px; }
  .hg-testi__quote { font-size: 20px; }
  .hg-room__name, .quick-facts__title { font-size: 20px; }
  .hg-spec__value { font-size: 17px; line-height: 1.5; }
  p { font-size: 15px; line-height: 1.7; }

  .hg-btn, .hg-spec__cta, .hero-scroll-cue__label { font-size: 10.5px; }
  .hg-eyebrow__number, .hg-eyebrow__label, .hg-spec__label, .hg-view-more__label,
  .hg-room__meta, .hg-preview__meta, .hg-info__meta, .quick-facts__label,
  .menu-link__meta, .wh-tab-num { font-size: 11px; }
  .hg-rooms__hint, .wh-hint-text { font-size: 10px; }

  .ct-section-inner-wrap { padding-top: 80px; padding-bottom: 80px; }
}

/* ---------- PHONE ---------- */
@media (max-width: 767px) {
  h1 { font-size: 40px; }
  h2 { font-size: 30px; }
  #headline-136-13 { font-size: 42px; }
  h3, .hg-info__title { font-size: 21px; }
  .oxy-pro-accordion_title { font-size: 19px; }
  .hg-preview__name { font-size: 22px; }
  .hg-testi__quote { font-size: 19px; line-height: 1.45; }
  .hg-room__name, .quick-facts__title { font-size: 19px; }
  .hg-spec__value { font-size: 16px; }
  p { font-size: 15.5px; }
  .wh-tab-label, .wh-slide-caption, .menu-link__title { font-size: 17px; }

  .hg-btn, .hg-spec__cta, .hero-scroll-cue__label { font-size: 11px; letter-spacing: 0.2em; }
  .hg-rooms__hint, .wh-hint-text { font-size: 10.5px; }

  .ct-section-inner-wrap { padding-top: 64px; padding-bottom: 64px; }
}

/* ---------- SMALL PHONE ---------- */
@media (max-width: 479px) {
  h1 { font-size: 34px; }
  h2 { font-size: 28px; }
  #headline-136-13 { font-size: 36px; }
  h3, .hg-info__title { font-size: 20px; }
  .oxy-pro-accordion_title { font-size: 18px; }
  .hg-preview__name { font-size: 21px; }
  .hg-testi__quote { font-size: 18px; }
  .hg-room__name, .quick-facts__title { font-size: 18px; }

  .ct-section-inner-wrap { padding-top: 56px; padding-bottom: 56px; }
} 



/* Off-canvas: fit the visible viewport (mobile toolbars) */
#-off-canvas-20-10 .offcanvas-inner {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}
.admin-bar #-off-canvas-20-10 .offcanvas-inner {
  height: calc(100vh - 32px);
  height: calc(100dvh - 32px);
}
@media screen and (max-width: 782px) {
  .admin-bar #-off-canvas-20-10 .offcanvas-inner {
    height: calc(100vh - 46px);
    height: calc(100dvh - 46px);
  }
}

#code_block-21-10 { height: 100%; min-height: 0; }

#-off-canvas-20-10 .hg-oc {
  height: 100%;
  min-height: 0;
  padding-bottom: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

#-off-canvas-20-10 .hg-oc__foot {
  position: sticky;
  bottom: 0;
  z-index: 2;
  flex-shrink: 0;
  margin-top: auto;
  margin-left: -34px;
  margin-right: -34px;
  padding: 24px 34px max(24px, env(safe-area-inset-bottom));
  background: #f4f0e8;
  border-top: 1px solid rgba(11, 41, 31, .14);
}

#-off-canvas-20-10 .hg-oc__foot .hg-oc__cta { margin-bottom: 0; 
}


/* Sonas */ 


.sonas-form:has(form) { min-height: 0; 
}


/* Flipbook */


.df-container {
  background-color: #f5f1ea !important; /* your colour */
}


/* Horton Grange: dFlip flipbook controls + arrows */
.df-container {
  --hg-green: #1c3328;
  --hg-gold: #bf9a52;
  --hg-cream: #f4efe9;
  --hg-ease: cubic-bezier(.22, .61, .36, 1);
  --hg-lb-gold: #c9a24e;
  --hg-lb-cream: #f4f1ea;
  --hg-lb-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Flipbook background */
.df-bg {
  background-color: #f5f1ea !important;
}

/* Shared transition, same as .hg-btn */
.df-container .df-ui-btn {
  border-radius: 0 !important;
  transition: background-color .5s var(--hg-ease), border-color .5s var(--hg-ease), color .5s var(--hg-ease) !important;
}
.df-container .df-ui-btn:before { color: inherit !important; }

/* Bottom toolbar: behaves like .hg-btn--solid */
.df-container .df-ui {
  background: var(--hg-green) !important;
  border: 1.05px solid var(--hg-green) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
}
.df-container .df-ui .df-ui-btn {
  color: rgba(244, 239, 233, .8) !important;
  background: transparent !important;
}
.df-container .df-ui .df-ui-btn:hover,
.df-container .df-ui .df-ui-btn:focus-visible,
.df-container .df-ui .df-ui-btn.df-active {
  color: var(--hg-green) !important;
  background: var(--hg-cream) !important;
}
.df-container .df-ui .df-ui-btn.disabled,
.df-container .df-ui .df-ui-btn.disabled:hover {
  color: rgba(244, 239, 233, .3) !important;
  background: transparent !important;
}

/* Page counter */
.df-container .df-ui .df-ui-page,
.df-container .df-ui .df-ui-page:hover,
.df-container .df-ui-page label,
.df-container .df-ui-page input {
  font-family: Jost, sans-serif !important;
  font-size: 9.45px !important;
  font-weight: 500 !important;
  letter-spacing: 2.3625px !important;
  color: var(--hg-cream) !important;
  background: transparent !important;
}
.df-container .df-ui-page { padding: 0 16px !important; }
.df-container .df-ui-page input {
  border: 1.05px solid rgba(244, 239, 233, .45) !important;
  border-radius: 0 !important;
}

/* "More" dropdown */
.df-container .df-more-container {
  background: var(--hg-green) !important;
  border: 1.05px solid var(--hg-green) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.df-container .df-more-container .df-ui-btn {
  font-family: Jost, sans-serif !important;
  font-size: 9.45px !important;
  font-weight: 500 !important;
  letter-spacing: 2.3625px !important;
  text-transform: uppercase !important;
}

/* Prev / next arrows: matches the gallery lightbox .hg-lb__btn */
.df-container .df-ui-nav {
  width: 52px !important;
  height: 52px !important;
  margin: -26px 0 0 !important;
  top: 50% !important;
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
}
.df-container .df-ui-nav.df-ui-prev { left: clamp(10px, 2.4vw, 40px) !important; }
.df-container .df-ui-nav.df-ui-next { right: clamp(10px, 2.4vw, 40px) !important; }
.df-container .df-ui-nav .df-ui-btn {
  position: absolute !important;
  inset: 0 !important;
  transform: none !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  color: var(--hg-lb-cream) !important;
  background: rgba(10, 56, 48, .35) !important;
  border: 1px solid rgba(201, 162, 78, .45) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  transition: background .3s var(--hg-lb-ease), border-color .3s var(--hg-lb-ease) !important;
}
/* Replace dFlip's icon-font glyph with the lightbox SVG chevron */
.df-container .df-ui-nav .df-ui-btn:before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  background-color: currentColor !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
  -webkit-mask: var(--hg-chevron) center / 16px 16px no-repeat;
  mask: var(--hg-chevron) center / 16px 16px no-repeat;
}
.df-container .df-ui-nav .df-ui-btn:after { display: none !important; }
.df-container .df-ui-prev .df-ui-btn:before {
  --hg-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25'%3E%3Cpath d='M15 4L7 12l8 8'/%3E%3C/svg%3E");
}
.df-container .df-ui-next .df-ui-btn:before {
  --hg-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25'%3E%3Cpath d='M9 4l8 8-8 8'/%3E%3C/svg%3E");
}
.df-container .df-ui-nav:hover .df-ui-btn,
.df-container .df-ui-nav .df-ui-btn:focus-visible {
  color: var(--hg-lb-cream) !important;
  background: rgba(201, 162, 78, .16) !important;
  border-color: var(--hg-lb-gold) !important;
}

/* Focus ring, same as .hg-btn */
.df-container .df-ui-btn:focus-visible {
  outline: 2px solid var(--hg-gold) !important;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .df-container .df-ui-nav,
  .df-container .df-ui-nav .df-ui-btn {
    width: 44px !important;
    height: 44px !important;
  }
  .df-container .df-ui-nav { margin-top: -22px !important; }
}.hg-gal {
	--hg-ink:        #07221C;
	--hg-forest:     #0A3830;
	--hg-sage:       #BEC1AF;
	--hg-stone:      #E6E8E5;
	--hg-cream:      #F4F1EA;
	--hg-gold:       #C9A24E;
	--hg-gold-light: #E8C877;
	--hg-taupe:      #877B66;
 
	--hg-cols: 2;
	--hg-gap:  1px;
	--hg-row:  4px;            /* masonry row unit, smaller = tighter fit */
	--hg-ease: cubic-bezier(0.22, 1, 0.36, 1);
 
	--hg-zoom: 1.022;          /* hover push in. 1 = none */
	--hg-veil: 0.18;           /* hover scrim strength. 0 = none */
	--hg-flush: 1;             /* 1 = level the bottom edge, 0 = leave it ragged */
 
	display: grid;
	grid-template-columns: repeat(var(--hg-cols), minmax(0, 1fr));
	grid-auto-rows: var(--hg-row);
	gap: var(--hg-gap);
	margin: 0;
	padding: 0;
}
 
@media (min-width: 760px)  { .hg-gal { --hg-cols: 3; } }
@media (min-width: 1200px) { .hg-gal { --hg-cols: 4; } }
 
.hg-gal__item {
	/* Base span keeps the layout sane if JS never runs. The script overwrites
	   this per item with the true aspect ratio span.
	   MUST be grid-row-end, not the grid-row shorthand. The shorthand also sets
	   grid-row-start to a span, and when both ends carry a span the browser
	   discards the end one, so every tile would render at this same height. */
	grid-row-end: span 40;
	position: relative;
	margin: 0;
	overflow: hidden;
	background: var(--hg-stone);
}
 
/* Same trap as grid-row above: end only, never the shorthand. */
.hg-gal__item--wide { grid-column-end: span 2; }
 
/* Reveal on scroll */
.hg-gal__item {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.7s var(--hg-ease), transform 0.7s var(--hg-ease);
	transition-delay: var(--hg-delay, 0ms);
}
.hg-gal__item.is-in { opacity: 1; transform: none; }
.hg-gal:not(.hg-is-ready) .hg-gal__item { opacity: 1; transform: none; }
 
.hg-gal__trigger {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
}
 
.hg-gal__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.0001);
	transition: transform 1.4s var(--hg-ease);
	will-change: transform;
}
 
/* Hover. No borders, no labels. A slow, shallow push in and a soft forest
   scrim weighted to the bottom edge, so the grid stays calm when the cursor
   moves across it. Both are tunable from the token block above:
     --hg-zoom  1     turns the movement off
     --hg-veil  0     turns the scrim off */
.hg-gal__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
		rgba(7, 34, 28, var(--hg-veil)) 0%,
		rgba(7, 34, 28, 0) 58%);
	opacity: 0;
	transition: opacity 0.55s var(--hg-ease);
	pointer-events: none;
}
 
.hg-gal__trigger:hover .hg-gal__img,
.hg-gal__trigger:focus-visible .hg-gal__img { transform: scale(var(--hg-zoom)); }
 
.hg-gal__trigger:hover .hg-gal__veil,
.hg-gal__trigger:focus-visible .hg-gal__veil { opacity: 1; }
 
.hg-gal__trigger:focus-visible { outline: 2px solid var(--hg-gold); outline-offset: 3px; }
 
.hg-gal__item.is-flying .hg-gal__trigger { visibility: hidden; }
 
.hg-gal__data { display: none; }
 
/* ==========================================================================
   Lightbox
   ========================================================================== */
 
.hg-lb {
	position: fixed;
	inset: 0;
    z-index: 2147483645;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	--hg-ink:        #07221C;
	--hg-forest:     #0A3830;
	--hg-cream:      #F4F1EA;
	--hg-gold:       #C9A24E;
	--hg-gold-light: #E8C877;
	--hg-taupe:      #877B66;
	--hg-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
 
.hg-lb.is-open { visibility: visible; }
 
.hg-lb__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 34, 28, 0.94);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	opacity: 0;
	transition: opacity 0.42s var(--hg-ease);
}
.hg-lb.is-open .hg-lb__backdrop { opacity: 1; }
 
.hg-lb__stage {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
 
.hg-lb__img {
	display: block;
	width: auto;
	height: auto;
	max-width: min(92vw, 1500px);
	max-height: 78svh;
	object-fit: contain;
	box-shadow: 0 40px 90px rgba(7, 34, 28, 0.55);
	will-change: transform, opacity;
}
 
@supports not (height: 78svh) {
	.hg-lb__img { max-height: 78vh; }
}
 
/* Chrome for the frame */
.hg-lb__meta {
	position: absolute;
	left: 50%;
	bottom: clamp(18px, 4vh, 44px);
	z-index: 3;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 90vw;
	opacity: 0;
	transition: opacity 0.4s var(--hg-ease) 0.16s;
	text-align: center;
}
.hg-lb.is-open .hg-lb__meta { opacity: 1; }
 
.hg-lb__count {
	flex: none;
	color: var(--hg-gold-light);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
}
 
.hg-lb__rule {
	flex: none;
	width: 28px;
	height: 1px;
	background: var(--hg-gold);
	opacity: 0.5;
}
 
.hg-lb__caption {
	color: var(--hg-cream);
	font-size: 13px;
	line-height: 1.5;
	opacity: 0.82;
}
.hg-lb__caption:empty { display: none; }
.hg-lb__rule:has(+ .hg-lb__caption:empty) { display: none; }
 
.hg-lb__btn {
	position: absolute;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(201, 162, 78, 0.45);
	border-radius: 50%;
	background: rgba(10, 56, 48, 0.35);
	color: var(--hg-cream);
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.4s var(--hg-ease) 0.12s, background 0.3s var(--hg-ease), border-color 0.3s var(--hg-ease), transform 0.3s var(--hg-ease);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
.hg-lb.is-open .hg-lb__btn { opacity: 1; }
 
.hg-lb__btn:hover,
.hg-lb__btn:focus-visible {
	background: rgba(201, 162, 78, 0.16);
	border-color: var(--hg-gold);
}
.hg-lb__btn:focus-visible { outline: 2px solid var(--hg-gold); outline-offset: 3px; }
.hg-lb__btn svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.25; }
 
.hg-lb__btn--close { top: clamp(14px, 3vh, 32px); right: clamp(14px, 3vw, 32px); }
.hg-lb__btn--prev  { left: clamp(10px, 2.4vw, 40px);  top: 50%; margin-top: -26px; }
.hg-lb__btn--next  { right: clamp(10px, 2.4vw, 40px); top: 50%; margin-top: -26px; }
 
.hg-lb__btn--prev:hover { transform: translateX(-3px); }
.hg-lb__btn--next:hover { transform: translateX(3px); }
 
.hg-lb[data-single="true"] .hg-lb__btn--prev,
.hg-lb[data-single="true"] .hg-lb__btn--next { display: none; }
 
@media (max-width: 620px) {
	.hg-lb__btn--prev, .hg-lb__btn--next { width: 44px; height: 44px; margin-top: -22px; }
	.hg-lb__img { max-width: 94vw; max-height: 70svh; }
}
 
/* Thin gold loading hairline while the full res file arrives */
.hg-lb__bar {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	height: 1px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: 0 50%;
	background: linear-gradient(to right, var(--hg-gold), var(--hg-gold-light));
	opacity: 0;
	pointer-events: none;
}
.hg-lb.is-loading .hg-lb__bar {
	opacity: 1;
	transform: scaleX(0.85);
	transition: transform 2.2s cubic-bezier(0.12, 0.72, 0.24, 1), opacity 0.2s linear;
}
 
body.hg-lb-open { overflow: hidden; }
 
@media (prefers-reduced-motion: reduce) {
	.hg-gal__item,
	.hg-gal__img,
	.hg-gal__veil,
	.hg-lb__backdrop,
	.hg-lb__meta,
	.hg-lb__btn,
	.hg-lb__bar {
		transition-duration: 0.01ms !important;
		transition-delay: 0ms !important;
	}
	.hg-gal__item { opacity: 1; transform: none; }
}@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500&family=Jost:wght@300;400;500&display=swap');

.hg-oc {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100vh; /* lets margin-top:auto push the CTA to the bottom */
	box-sizing: border-box;
	padding: 38px 34px 34px;
	background: #F4F0E8;
	font-family: 'Jost', sans-serif;
	font-weight: 300;
}

/* --- head --- */
.hg-oc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(11,41,31,0.18);
}
.hg-oc__mark {
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #BF9A52;
}
.hg-oc__close {
	background: none;
	border: 0;
	padding: 4px 2px;
	cursor: pointer;
	font-family: 'Jost', sans-serif;
	font-weight: 300;
	font-size: 24px;
	line-height: 1;
	color: #0B291F;
	transition: color 0.35s ease;
}
.hg-oc__close:hover { color: #C8A44D; }

/* --- nav --- */
.hg-oc__nav { display: grid; padding-top: 8px; }
.hg-oc__link {
	display: flex;
	align-items: baseline;
	gap: 20px;
	padding: 20px 0;
	border-bottom: 1px solid rgba(11,41,31,0.14);
	text-decoration: none;
	color: rgba(28,35,30,0.82);
	transition: color 0.35s ease, padding-left 0.4s cubic-bezier(.2,.7,.2,1);
}
.hg-oc__link:hover,
.hg-oc__link:focus-visible { color: #C8A44D; padding-left: 10px; }
.hg-oc__link.is-current { color: #C8A44D; }
.hg-oc__num {
	font-family: 'Jost', sans-serif;
	font-weight: 400;
	font-size: 10px;
	letter-spacing: 0.16em;
	color: rgba(200,164,77,0.95);
}
.hg-oc__label {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: 27px;
	line-height: 1.12;
	letter-spacing: -0.005em;
}

/* --- socials --- */
.hg-oc__social { display: flex; gap: 22px; padding: 34px 0 0; }
.hg-oc__social a {
	font-family: 'Jost', sans-serif;
	font-weight: 400;
	font-size: 10px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(28,35,30,0.65);
	transition: color 0.35s ease;
}
.hg-oc__social a:hover { color: #C8A44D; }

/* --- brochure CTA --- */
.hg-oc__foot { margin-top: auto; padding-top: 34px; }
.hg-oc__cta {
	display: block;
	text-align: center;
	padding: 18px 20px;
	background: #0B291F;
	color: #F4F0E8;
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.35s ease, color 0.35s ease;
  margin-bottom:24px;
}
.hg-oc__cta:hover { background: #C8A44D; color: #0B291F; }
.hg-oc__tel {
	display: block;
	text-align: center;
	margin-top: 16px;
	font-family: 'Jost', sans-serif;
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(28,35,30,0.55);
	transition: color 0.35s ease;
}
.hg-oc__tel:hover { color: #C8A44D; }

/* --- OPTIONAL staggered reveal ---------------------------------
   Items are visible by default. To animate them in, uncomment the
   block below AND set the correct open-state class for your build:
   inspect the OffCanvas wrapper in DevTools while it is open and
   copy whichever class appears (OxyExtras versions differ, e.g.
   .oxy-off-canvas.oxel-off-canvas--open, .oxel-offcanvas--active,
   or an [aria-expanded] / [data-state] attribute on the wrapper).

.hg-oc--anim .hg-oc__link,
.hg-oc--anim .hg-oc__social,
.hg-oc--anim .hg-oc__foot {
	opacity: 0;
	transform: translateX(-14px);
	transition: opacity 0.5s ease, transform 0.6s cubic-bezier(.16,.84,.2,1);
}
YOUR-OPEN-CLASS .hg-oc__link,
YOUR-OPEN-CLASS .hg-oc__social,
YOUR-OPEN-CLASS .hg-oc__foot { opacity: 1; transform: none; }
YOUR-OPEN-CLASS .hg-oc__link:nth-child(1) { transition-delay: 0.10s; }
YOUR-OPEN-CLASS .hg-oc__link:nth-child(2) { transition-delay: 0.16s; }
YOUR-OPEN-CLASS .hg-oc__link:nth-child(3) { transition-delay: 0.22s; }
YOUR-OPEN-CLASS .hg-oc__link:nth-child(4) { transition-delay: 0.28s; }
YOUR-OPEN-CLASS .hg-oc__link:nth-child(5) { transition-delay: 0.34s; }
YOUR-OPEN-CLASS .hg-oc__link:nth-child(6) { transition-delay: 0.40s; }
YOUR-OPEN-CLASS .hg-oc__social { transition-delay: 0.46s; }
YOUR-OPEN-CLASS .hg-oc__foot   { transition-delay: 0.52s; }

   ...then add the class hg-oc--anim to the .hg-oc wrapper div.
   --------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.hg-oc__link, .hg-oc__social, .hg-oc__foot { transition: none; }
}
</style>
/* Horton Grange – Download Brochure form (Sonas widget) */

.sonas-form form > div:not(.form-group) {
  grid-column: 1 / -1;
}

.sonas-form form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  font-family: 'Jost', sans-serif;
}

.sonas-form form > div:not(.form-group):has(a) {
  display: none !important;
}

.sonas-form .form-group.sonas-form-col-12 {
  grid-column: 1 / -1;
  /* display: none; */
}

.sonas-form-venues {
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  padding: 0 17px;
  border: 1px solid #ddd6cb;
  border-radius: 0;
  background: #fff;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #1c3328;
  appearance: none;
  outline: none;
}

.sonas-form .form-group:has(.sonas-form-name),
.sonas-form .form-group:has(.sonas-form-surname) {
  grid-column: span 1;
}

.sonas-form .form-group:has(.sonas-form-email),
.sonas-form .form-group:has(.sonas-form-submitButton) {
  grid-column: 1 / -1;
}

.sonas-form-name,
.sonas-form-surname,
.sonas-form-email {
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  padding: 0 17px;
  border: 1px solid #ddd6cb;
  border-radius: 0;
  background: #fff;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #1c3328;
  appearance: none;
  outline: none;
  transition: border-color 0.2s ease;
}

.sonas-form-name::placeholder,
.sonas-form-surname::placeholder,
.sonas-form-email::placeholder {
  color: rgba(28, 51, 40, 0.5);
  font-weight: 300;
}

.sonas-form-name:focus,
.sonas-form-surname:focus,
.sonas-form-email:focus {
  border-color: #1c3328;
}

.sonas-form-submitButton {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 0;
  background: #1c3328;
  color: #fff;
  font-family: 'Jost', sans-serif;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease;
}

.sonas-form-submitButton:hover {
  background: #14251d;
}


/* Make the marketing consent row span the full width */
.sonas-form form .form-group:has(.sonas-form-marketingPermission) {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Remove the line break the form adds after the label */
.sonas-form form .form-group:has(.sonas-form-marketingPermission) br {
  display: none;
}

/* Keep validation messages on their own line underneath */
.sonas-form form .form-group:has(.sonas-form-marketingPermission) .messages {
  flex-basis: 100%;
}/* ==========================================================================
   Horton Grange — Forminator enquiry form
   Paste into Oxygen > Stylesheets, or the theme/child-theme stylesheet.
   Scoped to .forminator-custom-form so it never leaks into other plugins.
   Replace FORM_ID below if you want to scope to one form only, e.g.
   #forminator-module-1234 .forminator-custom-form { ... }
   ========================================================================== */

/* --- Tokens ------------------------------------------------------------- */
.forminator-custom-form {
  --hg-green: #0B291F;
  --hg-green-btn: #233A29;
  --hg-cream: #E7E6DE;
  --hg-cream-light: #F4F0E8;
  --hg-gold: #C8A44D;
  --hg-ink: #1C231E;
  --hg-ink-soft: rgba(28, 35, 30, 0.78);
  --hg-rule: rgba(200, 164, 77, 0.45);
  --hg-gap: 18px;
}

/* --- Reset Forminator's own chrome ------------------------------------- */
.forminator-custom-form,
.forminator-custom-form * {
  box-sizing: border-box;
}

.forminator-custom-form {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  color: var(--hg-ink);
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
}

/* --- Rows and columns -------------------------------------------------
   Forminator drops every field into one flex row, so each field is a half
   by default and the row wraps into pairs. Fields that must span the full
   width are called out below. Hidden conditional fields are display:none,
   so they leave no gap behind.                                          */
.forminator-custom-form .forminator-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hg-gap);
  margin: 0 0 var(--hg-gap) 0;
}

.forminator-custom-form .forminator-row:last-of-type {
  margin-bottom: 0;
}

.forminator-custom-form .forminator-col {
  flex: 1 1 calc(50% - (var(--hg-gap) / 2));
  width: auto;
  min-width: 0;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* Full-width fields: enquiry type, ceremony space, message, both
   checkboxes, and the submit. Add further ids here as needed.          */
.forminator-custom-form .forminator-col:has(#select-1),
.forminator-custom-form .forminator-col:has(#select-3),
.forminator-custom-form .forminator-col:has(textarea),
.forminator-custom-form .forminator-col:has(.forminator-checkbox),
.forminator-custom-form .forminator-col-12 {
  flex: 1 1 100%;
}

/* --- Labels ------------------------------------------------------------ */
.forminator-custom-form .forminator-label {
  display: block;
  margin: 0 0 9px;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--hg-green);
}

.forminator-custom-form .forminator-required {
  color: var(--hg-gold);
}

/* --- Inputs, textareas, native selects --------------------------------- */
.forminator-custom-form .forminator-input,
.forminator-custom-form .forminator-textarea,
.forminator-custom-form input[type="text"],
.forminator-custom-form input[type="email"],
.forminator-custom-form input[type="tel"],
.forminator-custom-form input[type="number"],
.forminator-custom-form input[type="date"],
.forminator-custom-form select,
.forminator-custom-form textarea {
  width: 100%;
  height: auto;
  min-height: 0;
  background: #FFFFFF;
  border: 1px solid var(--hg-rule);
  border-radius: 0;
  padding: 20px 22px;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.3;
  color: var(--hg-ink);
  outline: none;
  box-shadow: none;
  transition: border-color 0.35s ease;
  -webkit-appearance: none;
  appearance: none;
}

.forminator-custom-form textarea,
.forminator-custom-form .forminator-textarea {
  min-height: 132px;
  resize: vertical;
  line-height: 1.7;
}

.forminator-custom-form .forminator-input:hover,
.forminator-custom-form .forminator-textarea:hover,
.forminator-custom-form select:hover {
  border-color: rgba(200, 164, 77, 0.75);
}

.forminator-custom-form .forminator-input:focus,
.forminator-custom-form .forminator-textarea:focus,
.forminator-custom-form select:focus,
.forminator-custom-form textarea:focus {
  border-color: var(--hg-gold);
  box-shadow: none;
  outline: none;
}

.forminator-custom-form ::placeholder {
  color: rgba(28, 35, 30, 0.5);
  opacity: 1;
  font-weight: 300;
}

/* Gold chevron on selects */
.forminator-custom-form select,
.forminator-custom-form .forminator-select2 + .select2-container .select2-selection--single {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23C8A44D' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 22px center;
  padding-right: 52px;
}

/* Date picker + number spinners */
.forminator-custom-form input[type="date"]::-webkit-calendar-picker-indicator {
  filter: grayscale(1) brightness(0.6);
  cursor: pointer;
}

.forminator-custom-form input[type="number"] {
  -moz-appearance: textfield;
}

.forminator-custom-form input[type="number"]::-webkit-outer-spin-button,
.forminator-custom-form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* --- Select2 (Forminator's enhanced dropdowns) ------------------------- */
.forminator-custom-form .select2-container {
  width: 100% !important;
}

.forminator-custom-form .select2-container .select2-selection--single,
.forminator-custom-form .forminator-select-dropdown-container {
  height: auto;
  background: #FFFFFF;
  border: 1px solid var(--hg-rule);
  border-radius: 0;
  padding: 20px 22px;
  transition: border-color 0.35s ease;
}

.forminator-custom-form .select2-container--open .select2-selection--single,
.forminator-custom-form .select2-container--focus .select2-selection--single {
  border-color: var(--hg-gold);
}

.forminator-custom-form .select2-selection--single .select2-selection__rendered {
  padding: 0;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.3;
  color: var(--hg-ink);
}

.forminator-custom-form .select2-selection--single .select2-selection__arrow {
  display: none;
}

/* Dropdown panel — rendered at body level, so unscoped */
.select2-container--open .select2-dropdown,
.forminator-select-dropdown {
  background: #FFFFFF;
  border: 1px solid var(--hg-gold);
  border-radius: 0;
  box-shadow: 0 18px 48px rgba(11, 41, 31, 0.14);
}

.select2-container--open .select2-results__option,
.forminator-select-dropdown .forminator-select-dropdown-option {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  color: #1C231E;
  padding: 14px 22px;
}

.select2-container--open .select2-results__option--highlighted,
.select2-container--open .select2-results__option[aria-selected="true"] {
  background: #E7E6DE !important;
  color: #0B291F !important;
}

/* --- Checkbox + consent ------------------------------------------------ */
.forminator-custom-form .forminator-checkbox,
.forminator-custom-form .forminator-radio {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  cursor: pointer;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  color: var(--hg-ink-soft);
}

.forminator-custom-form .forminator-checkbox input[type="checkbox"],
.forminator-custom-form .forminator-radio input[type="radio"] {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin: 3px 0 0;
  accent-color: var(--hg-gold);
  -webkit-appearance: auto;
  appearance: auto;
}

/* Forminator draws its own faux box — hide it and use the native control */
.forminator-custom-form .forminator-checkbox-box,
.forminator-custom-form .forminator-radio-bullet {
  display: none;
}

.forminator-custom-form .forminator-checkbox-label,
.forminator-custom-form .forminator-radio-label {
  padding: 0;
}

/* --- Submit button ----------------------------------------------------- */
.forminator-custom-form .forminator-button-submit,
.forminator-custom-form button[type="submit"] {
  width: 100%;
  display: block;
  background: var(--hg-green-btn);
  color: var(--hg-cream-light);
  border: none;
  border-radius: 0;
  padding: 22px;
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.4s ease, color 0.4s ease;
}

.forminator-custom-form .forminator-button-submit:hover,
.forminator-custom-form .forminator-button-submit:focus,
.forminator-custom-form button[type="submit"]:hover {
  background: var(--hg-gold);
  color: var(--hg-green);
}

.forminator-custom-form .forminator-button-submit:disabled {
  opacity: 0.55;
  cursor: default;
}

.forminator-custom-form .forminator-button-submit .forminator-loading {
  border-color: rgba(244, 240, 232, 0.4);
  border-top-color: var(--hg-cream-light);
}

/* --- Validation + response messages ------------------------------------ */
.forminator-custom-form .forminator-error input,
.forminator-custom-form .forminator-error textarea,
.forminator-custom-form .forminator-error select,
.forminator-custom-form .forminator-has_error .forminator-input,
.forminator-custom-form .forminator-has_error .forminator-textarea {
  border-color: #9E3B2E;
  background: #FFFFFF;
}

.forminator-custom-form .forminator-error-message {
  margin: 8px 0 0;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: #9E3B2E;
  background: none;
  padding: 0;
  border: 0;
}

.forminator-custom-form .forminator-response-message:empty,
.forminator-custom-form .forminator-response-message[aria-hidden="true"] {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.forminator-custom-form .forminator-response-message {
  margin: 0 0 var(--hg-gap);
  padding: 20px 22px;
  border: 1px solid var(--hg-rule);
  border-radius: 0;
  background: #FFFFFF;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.7;
  color: var(--hg-ink);
}

.forminator-custom-form .forminator-response-message.forminator-error {
  border-color: #9E3B2E;
  color: #9E3B2E;
}

.forminator-custom-form .forminator-response-message.forminator-success {
  border-color: var(--hg-gold);
  color: var(--hg-green);
}

.forminator-custom-form .forminator-response-message p:last-child {
  margin-bottom: 0;
}

/* --- Description / helper text ----------------------------------------- */
.forminator-custom-form .forminator-description {
  margin: 8px 0 0;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 1.7;
  color: var(--hg-ink-soft);
}

.forminator-custom-form .forminator-description a {
  color: var(--hg-green);
  text-decoration: underline;
  text-decoration-color: var(--hg-rule);
  text-underline-offset: 3px;
}

.forminator-custom-form .forminator-description a:hover {
  color: var(--hg-gold);
}

/* --- On the dark green band (if you place the form on #0B291F) ---------
   Add class hg-form-on-dark to the wrapper.                             */
.hg-form-on-dark .forminator-custom-form .forminator-label,
.hg-form-on-dark .forminator-custom-form .forminator-description {
  color: rgba(244, 240, 232, 0.78);
}

.hg-form-on-dark .forminator-custom-form .forminator-checkbox {
  color: rgba(244, 240, 232, 0.78);
}

.hg-form-on-dark .forminator-custom-form .forminator-button-submit {
  background: var(--hg-gold);
  color: var(--hg-green);
}

.hg-form-on-dark .forminator-custom-form .forminator-button-submit:hover {
  background: var(--hg-cream-light);
}


/* Consent checkbox: inline like the brochure checkbox */
.forminator-ui .forminator-checkbox__wrapper {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.forminator-ui .forminator-checkbox__wrapper .forminator-consent {
  width: auto;
  flex: 0 0 auto;
}

.forminator-ui .forminator-consent__label {
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px;
  line-height: 22.4px;
  color: rgba(28, 35, 30, 0.78);
}

.forminator-ui .forminator-consent__label p {
  margin: 0 !important;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}


/* Horton Grange: Forminator datepicker (jQuery UI) */
#ui-datepicker-div.forminator-calendar {
  --hg-green: #233a29;
  --hg-deep: #0b291f;
  --hg-gold: #c8a44d;
  --hg-cream: #f5f0e8;
  --hg-line: rgba(200, 164, 77, 0.35);
  width: 340px;
  max-width: calc(100vw - 32px);
  padding: 0;
  margin-top: 6px;
  background: #fff;
  border: 1px solid var(--hg-line);
  border-radius: 0;
  box-shadow: 0 18px 40px -12px rgba(11, 41, 31, 0.28);
  font-family: Jost, sans-serif;
  color: var(--hg-deep);
  z-index: 9999 !important;
}

/* Header */
#ui-datepicker-div.forminator-calendar .ui-datepicker-header {
  position: relative;
  padding: 14px 52px;
  background: var(--hg-green);
  border: 0;
  border-radius: 0;
  color: var(--hg-cream);
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-title {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 0;
  line-height: 1;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-title select {
  -webkit-appearance: none;
  appearance: none;
  width: auto;
  margin: 0;
  padding: 4px 18px 4px 6px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23c8a44d' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 4px center;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  font-family: "Playfair Display", serif;
  font-size: 19px;
  color: var(--hg-cream);
  cursor: pointer;
  transition: border-color 0.2s;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-title select:hover,
#ui-datepicker-div.forminator-calendar .ui-datepicker-title select:focus {
  outline: none;
  border-bottom-color: var(--hg-gold);
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-title option {
  color: var(--hg-deep);
  background: #fff;
  font-family: Jost, sans-serif;
}

/* Prev / next arrows */
#ui-datepicker-div.forminator-calendar .ui-datepicker-prev,
#ui-datepicker-div.forminator-calendar .ui-datepicker-next {
  top: 50%;
  width: 36px;
  height: 36px;
  margin-top: -18px;
  background: none;
  border: 1px solid rgba(245, 240, 232, 0.25);
  border-radius: 50%;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-prev { left: 12px; }
#ui-datepicker-div.forminator-calendar .ui-datepicker-next { right: 12px; }
#ui-datepicker-div.forminator-calendar .ui-datepicker-prev:hover,
#ui-datepicker-div.forminator-calendar .ui-datepicker-next:hover {
  top: 50%;
  border-color: var(--hg-gold);
  background: rgba(200, 164, 77, 0.12);
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-prev:hover { left: 12px; }
#ui-datepicker-div.forminator-calendar .ui-datepicker-next:hover { right: 12px; }
#ui-datepicker-div.forminator-calendar .ui-datepicker-prev span,
#ui-datepicker-div.forminator-calendar .ui-datepicker-next span {
  display: none;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-prev::before,
#ui-datepicker-div.forminator-calendar .ui-datepicker-next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid var(--hg-gold);
  border-left: 1.5px solid var(--hg-gold);
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-prev::before {
  transform: translate(-30%, -50%) rotate(-45deg);
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-next::before {
  transform: translate(-70%, -50%) rotate(135deg);
}
#ui-datepicker-div.forminator-calendar .ui-state-disabled.ui-datepicker-prev,
#ui-datepicker-div.forminator-calendar .ui-state-disabled.ui-datepicker-next {
  opacity: 0.3;
}

/* Grid */
#ui-datepicker-div.forminator-calendar table.ui-datepicker-calendar {
  width: 100%;
  margin: 0;
  padding: 10px 12px 14px;
  border-collapse: separate;
  border-spacing: 2px;
  font-size: 15px;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar th {
  padding: 10px 0 8px;
  font-family: Jost, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--hg-gold);
  border: 0;
  background: none;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td {
  padding: 0;
  border: 0;
  background: none;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td a,
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: Jost, sans-serif;
  font-weight: 400;
  color: var(--hg-deep);
  text-align: center;
  text-decoration: none;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td a:hover {
  background: var(--hg-cream);
  border-color: var(--hg-line);
}
/* Today */
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td a.ui-state-highlight {
  position: relative;
  color: var(--hg-deep);
  font-weight: 500;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td a.ui-state-highlight::after {
  content: "";
  position: absolute;
  bottom: 7px;
  left: 50%;
  width: 4px;
  height: 4px;
  margin-left: -2px;
  border-radius: 50%;
  background: var(--hg-gold);
}
/* Selected */
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td a.ui-state-active,
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td.ui-datepicker-current-day a {
  background: var(--hg-green);
  border-color: var(--hg-green);
  color: var(--hg-cream);
  font-weight: 500;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td.ui-datepicker-current-day a::after {
  background: var(--hg-gold);
}
/* Unavailable / past */
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td.ui-state-disabled,
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td.ui-datepicker-unselectable {
  opacity: 1;
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td.ui-state-disabled span,
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td.ui-datepicker-unselectable span {
  color: rgba(11, 41, 31, 0.25);
  text-decoration: line-through;
  text-decoration-color: rgba(11, 41, 31, 0.15);
}
#ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td.ui-datepicker-other-month span {
  text-decoration: none;
}

/* Mobile */
@media (max-width: 600px) {
  #ui-datepicker-div.forminator-calendar {
    width: calc(100vw - 32px);
  }
  #ui-datepicker-div.forminator-calendar .ui-datepicker-header {
    padding: 12px 50px;
  }
  #ui-datepicker-div.forminator-calendar .ui-datepicker-title select {
    font-size: 17px;
  }
  #ui-datepicker-div.forminator-calendar table.ui-datepicker-calendar {
    padding: 8px 8px 12px;
  }
  #ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td a,
  #ui-datepicker-div.forminator-calendar .ui-datepicker-calendar td span {
    height: 44px;
    font-size: 16px;
  }
}/* ==========================================================================
   Horton Grange — "01 · The Rooms"
   Oxygen → Manage → Stylesheets → new stylesheet "rooms"
   Assumes Playfair Display + Jost are already loaded site-wide.
   All rules are scoped to .hg-rooms.
   ========================================================================== */

.hg-rooms {
	--hg-green: #0B291F;
	--hg-gold: #C8A44D;
	--hg-cream: #F4F0E8;
	--hg-ink: rgba(28, 35, 30, 0.82);
	--hg-ink-soft: rgba(28, 35, 30, 0.6);
	--hg-line: rgba(11, 41, 31, 0.16);
	--hg-pad: clamp(20px, 5vw, 56px);
	font-family: 'Jost', sans-serif;
}

.hg-rooms *,
.hg-rooms *::before,
.hg-rooms *::after { box-sizing: border-box; }



/* ---- header -------------------------------------------------------------- */

.hg-rooms__head {
	display: flex;
	justify-content: flex-end;
	margin-bottom: clamp(32px, 4vw, 46px);
}

/* ---- tabs ---------------------------------------------------------------- */

.hg-rooms__tabs {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid rgba(11, 41, 31, 0.2);
}

.hg-rooms__tab {
	flex: 0 1 auto;
	appearance: none;
	background: transparent;
	border: 0;
	color: rgba(28, 35, 30, 0.66);
	font-family: inherit;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	padding: 15px 26px;
	min-height: 48px;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.4s ease, color 0.4s ease;
}

.hg-rooms__tab + .hg-rooms__tab { border-left: 1px solid rgba(11, 41, 31, 0.2); }
.hg-rooms__tab:hover { color: var(--hg-green); }

.hg-rooms__tab.is-active {
	background: var(--hg-green);
	color: var(--hg-cream);
}

.hg-rooms__tab:focus-visible {
	outline: 2px solid var(--hg-gold);
	outline-offset: 2px;
}

/* ---- panel layout -------------------------------------------------------- */

.hg-rooms__panel {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: clamp(34px, 5vw, 60px);
	align-items: start;
}

.hg-rooms__panel[hidden] { display: none; }

.hg-rooms__hint {
	margin: 0 0 12px;
	font-size: 9px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(28, 35, 30, 0.5);
}

.hg-rooms__note {
	font-weight: 300;
	font-size: 14px;
	line-height: 1.8;
	color: var(--hg-ink-soft);
	margin: 22px 0 0;
	max-width: 46ch;
}

/* ---- room list ----------------------------------------------------------- */

.hg-rooms__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--hg-line);
}

.hg-room { border-bottom: 1px solid var(--hg-line); }

.hg-room__btn {
	display: flex;
	align-items: center;
	gap: 18px;
	width: 100%;
	appearance: none;
	background: transparent;
	border: 0;
	text-align: left;
	font-family: inherit;
	cursor: pointer;
	padding: 20px 18px 20px 0;
	min-height: 56px;
	transition: padding-left 0.45s cubic-bezier(.2, .7, .2, 1), background 0.45s ease;
}

.hg-room.is-active .hg-room__btn {
	padding-left: 18px;
	background: rgba(200, 164, 77, 0.12);
}

.hg-room__btn:focus-visible {
	outline: 2px solid var(--hg-gold);
	outline-offset: -2px;
}

.hg-room__num {
	font-size: 10px;
	letter-spacing: 0.14em;
	color: rgba(28, 35, 30, 0.4);
	transition: color 0.4s ease;
}

.hg-room.is-active .hg-room__num { color: var(--hg-gold); }

.hg-room__text {
	flex: 1;
	display: grid;
	gap: 5px;
	min-width: 0;
}

.hg-room__name {
	font-family: 'Playfair Display', serif;
	font-size: clamp(21px, 2.2vw, 27px);
	line-height: 1.15;
	color: rgba(28, 35, 30, 0.62);
	transition: color 0.4s ease;
}

.hg-room.is-active .hg-room__name { color: var(--hg-green); }

.hg-room__meta {
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(28, 35, 30, 0.5);
}

.hg-room__arrow {
	font-size: 14px;
	color: var(--hg-gold);
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity 0.4s ease, transform 0.45s cubic-bezier(.2, .7, .2, 1);
}

.hg-room.is-active .hg-room__arrow {
	opacity: 1;
	transform: translateX(0);
}

/* Inline image drawer — mobile / tablet only (desktop uses the preview pane) */
.hg-room__drawer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.5s cubic-bezier(.2, .7, .2, 1);
}

.hg-room__drawer-in { overflow: hidden; }

.hg-room.is-active .hg-room__drawer { grid-template-rows: 1fr; }

.hg-room__img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 0 0 20px;
}

/* ---- preview pane -------------------------------------------------------- */

.hg-rooms__preview {
	position: relative;
	display: none;
	background: var(--hg-green);
	overflow: hidden;
	min-height: 420px;
	height: clamp(460px, 56vw, 620px);
}

.hg-preview {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 0.55s ease;
	pointer-events: none;
}

.hg-preview.is-active { opacity: 1; }

.hg-preview__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform 1.6s cubic-bezier(.2, .7, .2, 1);
}

.hg-preview.is-active .hg-preview__img { transform: scale(1); }

.hg-preview__cap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 60px 34px 30px;
	background: linear-gradient(180deg, rgba(6, 20, 15, 0) 0%, rgba(6, 20, 15, 0.78) 100%);
	display: grid;
	gap: 8px;
}

.hg-preview__name {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	color: var(--hg-cream);
	font-size: clamp(26px, 2.6vw, 34px);
	line-height: 1.1;
}

.hg-preview__meta {
	color: var(--hg-gold);
	font-size: 10px;
	letter-spacing: 0.26em;
	text-transform: uppercase;
}

/* ---- breakpoints --------------------------------------------------------- */

/* Desktop: side-by-side, preview pane on, inline drawers off */
@media (min-width: 900px) {
	.hg-rooms__preview { display: block; }
	.hg-room__drawer { display: none; }
}

/* Tablet & down: single column, tabs go full width */
@media (max-width: 899px) {
	.hg-rooms__panel { grid-template-columns: 1fr; }
	.hg-rooms__head { justify-content: flex-start; }
	.hg-rooms__tabs { width: 100%; }
	.hg-rooms__tab { flex: 1 1 0; padding: 15px 14px; letter-spacing: 0.16em; }
}

@media (max-width: 560px) {
	.hg-rooms__tabs { flex-direction: column; }
	.hg-rooms__tab + .hg-rooms__tab {
		border-left: 0;
		border-top: 1px solid rgba(11, 41, 31, 0.2);
	}
	.hg-room__btn { gap: 14px; padding-right: 6px; }
	.hg-room.is-active .hg-room__btn { padding-left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.hg-rooms *,
	.hg-rooms *::before,
	.hg-rooms *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* screen-reader-only text, in case the theme does not define it */
.hg-rooms .screen-reader-text {
	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;
}

/* ---- responsive refinements (v2) ------------------------------------------
   Breakpoints: 1199 / 899 (layout switch, matches JS MOBILE_Q) / 767 / 479
   -------------------------------------------------------------------------- */

/* Images carry width/height="1000" attributes, which beat aspect-ratio.
   height:auto lets aspect-ratio + max-height actually control the size. */
.hg-room__img,
.hg-preview__img { max-width: 100%; }
.hg-room__img { height: auto; }

/* Desktop: more breathing room between the H2 and the rooms */
@media (min-width: 1200px) {
	.hg-rooms__head { margin-bottom: clamp(64px, 5.5vw, 88px); }
}

/* Desktop + tablet landscape: list | preview, fixed proportions */
@media (min-width: 900px) {
	.hg-rooms__panel {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	}
	.hg-rooms__preview {
		min-height: 0;
		height: clamp(420px, 44vw, 600px);
	}
}

/* Below 1200 there isn't room for the tabs beside the H2, so drop the
   -49px pull-up set on the Code Block in Oxygen and sit the tabs under it */
@media (max-width: 1199px) {
	.ct-section #code_block-10-74 { margin-top: 0; }
	.hg-rooms__head { justify-content: flex-start; margin-top: 24px; margin-bottom: 48px; }
}

/* Small laptops / tablet landscape (900 - 1199) */
@media (min-width: 900px) and (max-width: 1199px) {
	.hg-rooms__panel { gap: 32px; }
	.hg-rooms__preview { height: clamp(400px, 46vw, 500px); }
	.hg-preview__cap { padding: 48px 24px 22px; }
	.hg-preview__name { font-size: 26px; }
	.hg-room__btn { gap: 14px; padding: 16px 14px 16px 0; min-height: 52px; }
	.hg-room.is-active .hg-room__btn { padding-left: 14px; }
	.hg-room__name { font-size: 21px; }
	.hg-room__meta { letter-spacing: 0.18em; }
}

/* Accordion mode (tablet portrait + phones) */
@media (max-width: 899px) {
	.hg-rooms__panel { gap: 28px; }
	.hg-rooms__head { margin-bottom: 40px; }

	.hg-room__img {
		aspect-ratio: 16 / 9;
		max-height: 380px;
		margin: 2px 0 22px;
	}

	/* arrow becomes an open/close chevron */
	.hg-room__arrow {
		opacity: 0.55;
		transform: rotate(90deg);
		transition: opacity 0.4s ease, transform 0.4s ease;
	}
	.hg-room.is-active .hg-room__arrow {
		opacity: 1;
		transform: rotate(-90deg);
	}
}

/* Phone landscape / large phones */
@media (max-width: 767px) {
	.hg-room__img {
		aspect-ratio: 3 / 2;
		max-height: 52vh;
	}
}

/* Phone portrait */
@media (max-width: 479px) {
	.hg-rooms__head { margin-top: 20px; margin-bottom: 32px; }
	.hg-rooms__tab { padding: 13px 12px; font-size: 10px; min-height: 44px; }
	.hg-room__btn { gap: 12px; padding: 16px 4px 16px 0; min-height: 52px; }
	.hg-room.is-active .hg-room__btn { padding-left: 10px; }
	.hg-room__name { font-size: 20px; }
	.hg-room__meta { font-size: 9px; letter-spacing: 0.16em; }
	.hg-room__img { aspect-ratio: 4 / 3; margin-bottom: 18px; }
}
