/* Core Reset */
/* * { margin: 0; padding: 0; box-sizing: border-box; } */
body {
    margin: 0;
}

body {
    /* Essential to prevent native scroll bounce */
   /* overscroll-behavior-y: none; */
    overflow: visible !important;  
}

#main-wrapper{width:100%}


/* The Solid White Box */
.modal-content {
    background: #FFF7EC;
    color: #333 !important;
    padding: 40px;
    width: 90%;
    text-align: center;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.5);
}


/* Full screen overlay */
.modal-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none; /* Hidden by default */
    align-items: center;
    justify-content: center;
    z-index: 1000;
    font-family: 'Manrope', sans-serif;
    backdrop-filter: blur(10px); /* Modern frosted glass effect */
}



/* The "Line" in the body */
.accent-line {
    height: 2px;
    width: 50px;
    background: #007bff;
    margin: 15px auto;
}




.modal-title {
	text-align:left;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

.accent-line {
    height: 3px;
    width: 40px;
    background: #007bff;
    margin: 0 0 20px;
}

.modal-description {
    font-size: 16px;
    color: #666;
    margin-bottom: 30px;
}

.btn-ok {
    background: #007bff;
    color: white;
    border: none;
    padding: 10px 40px;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-ok:hover {
    background: #0056b3;
    }

@keyframes slideDown {
    from { transform: translateY(-50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}






fieldset{opacity:0}
.screen-reader-response{ display:none; }




/* Default: Hide the message */
#rotate-message {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFF7EC;
    z-index: 9999;
    text-align: center;
    padding-top: 10%;
    color:#000;
}

#rotate-message img {
    width: 100px;
    margin-bottom: 20px;
}

/* Logic: If device is in LANDSCAPE, show message and hide everything else */
@media screen and (orientation: landscape) and (max-width: 950px) {
    #rotate-message {
        display: block;
    }
   
}







#master-wrapper {
    width: 100vw;
    /* 100dvh (Slider) + 50dvh (Info) + 100dvh (Section 3) */
    height: 250dvh; 
    transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1);
    will-change: transform;
}




.scroll-section {
    /* width: 100vw; */
     /*height: 100dvh;
     Locked height */
    position: relative;
    overflow: hidden; /* Prevents internal scrolling from fighting the master scroll */
}

/* Exception for Section 2 if you want it to remain 50dvh */
.info-section.scroll-section {
    /* height: 600px;  */
}

.info-section-img{
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}

/* first section */
/* The Main Section acting as the Slider Viewport */
section.slider {
    width: 100%;
    height: 1024px;
    position: relative;
    overflow: hidden;
    margin-left:auto;
    margin-right;
    touch-action: none; /* Disables browser-default swipe to allow custom JS swipe */
}

/* The wrapper that moves */
.slider-wrapper {
    display: flex;
    width: 100%; /* 3 slides = 300% */
    height: 100%;
    /* UPDATED: transition from 0.8s to 1s */
    transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1);
    will-change: transform;
}

/* Individual Slide */
.slide {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;      /* Vertical Center */
    justify-content: center;   /* Horizontal Center */
    text-align: center;
    color: white;
}

/* Full Screen Background Images */
.slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    filter: brightness(0.8); /* Helps text readability */
}

/* Content inside slide */
.slide-content {
	width: 799px;
	height:196px;
    z-index: 5;
}
/*
.slide-content span {
    text-transform: uppercase;
    letter-spacing: 5px;
    font-size: 0.9rem;
    display: block;
    margin-bottom: 10px;
}*/

.slide-content h1 {
	font-family: Libre Caslon Condensed;
	font-weight: 400;
	font-size: 80px;
	letter-spacing: 0px;
	text-align: center;
	color:#380000;
	line-height:90px;
}


.slide-content h1 span{ color:#fff;font-style:italic ;     text-transform: none;}

.slide-content p {
    font-size: 1.2rem;
    opacity: 0.8;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Pagination Dots */
.dots {
    position: absolute;
    bottom: 40px;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 15px;
    z-index: 10;
}

.dot {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot.active {
    background: white;
    transform: scale(1.4);
    box-shadow: 0 0 10px rgba(255,255,255,0.5);
}

/* first section END  */


/* second section */

/* Second Section Styles */
.info-section {
    width: 100%;
    height: 50dvh;
    background-color: #FFF7EC;
    display: flex;
    align-items: center;      /* Vertical Center */
    justify-content: center;   /* Horizontal Center */
    position: relative;
    z-index: 20;
}

.info-container { 
    width: 1116px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 50px;
    margin-top: 168px;
}


.info-title h2 {
	font-family: Libre Caslon Condensed;
	font-weight: 400;
	
	font-size: 48px;
	line-height: 60px;
	letter-spacing: 1px;
	color:#380000;
}

.info-details {
    padding-left:70px;
}

.info-details p {
	font-weight: 500;
	font-size: 30px;
	line-height: 41px;
	letter-spacing: 0px;
	color: #121212;

}

.info-corner-image {

	width: 263.24999981946087px;
	height: 263.24999981946087px;

	opacity: 1;
	position: sticky;
	margin-bottom:40px;
	margin-left: calc(100% - 263px);
}
/* section two end */



/* section three */


#familyWork {
  
    
}

.section-three-wrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0; 
    position: relative; /* Necessary if children use absolute positioning */
}

.section-three {
  width: 100%;
  overflow: hidden;
  /* Combined Gradient and your New Image URL */

  /* Layout and Alignment */
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
  
  /* Required for the absolute bottom boxes */
  position: relative;
  
}
.section-three-image {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.section-three-image img {
    width: 100%;
    object-fit: cover;
    display: block;
	height:100dvh;
}


.section-three-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
}


.section-three-title {
    font-family: Manrope;
	font-weight: 500;
	font-style: Medium;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 19%;
	vertical-align: middle;
	text-transform: uppercase;
	color:#FFFFFF;

}
.section-three-subtitle {
    margin-top: 110px;
    color: #fff;
    font-family: "Libre Caslon Text", serif;
    font-size: 52px;
    line-height: 100%;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 30px;
	font-weight: 400;
}
.section-three-description {
    color: #FFF7EC;
    font-size: 24px;
    font-weight: 300;
}
.section-three-boxes-wrapper {
    /* position: absolute !important;
    bottom: 0 !important;
    left: 0; */
    width: 100%;
    z-index: 30;
    
    /* Ensure the internal container doesn't have extra margins 
       pulling it away from the bottom */
    margin-bottom: 0; 
        position: absolute;
    bottom: 0;
}
.section-three-boxes-container {
    width: 100%;
    justify-content: center;
    align-items: flex-end; /* Keeps all box bottoms level */
    gap: 0; /* Keeps boxes touching */
	display: flex;
	/* height:315px; */
}




.section-three-box-item {
    flex: 1;
    background-color: #ffffff; /* Default closed background */
    border: 1px solid #DFD1BA;
    border-right: none;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    padding: 30px 45px;
}

.section-three-item:last-child {
    border-right: 1px solid #DFD1BA;
}


.section-three-box-inner{
}
.box-title {
  color: #121212;
  font-family: "Manrope", sans-serif;
  font-size: 20px;
  letter-spacing: -3;
  font-weight: 400;
  transition: color 0.3s ease;
}
.box-icon {
    /* 1. Dimensions: Set a fixed width/height so the image is visible */
    display: inline-block;

    /* 2. Background Image Settings */
    background-image: url('/wp-content/uploads/2026/03/Mask-Group.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;

    /* 3. Cleanup: Hide the text '+' from the HTML if it exists */
    /* text-indent: -9999px; */
       color: #885C30;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
}

.section-three-box-item.is-open{
	
	/* padding-top:30px; */
}
/* 5. Effect when the box is open (Rotate the icon) */
.section-three-box-item.is-open .box-icon {
    transform: rotate(45deg); /* Rotates the plus to look like an 'x' */
    filter: brightness(0.8); /* Optional: darkens it slightly when active */
	background-image: url('/wp-content/uploads/2026/03/Mask-Group-1.png');
}

.section-three-box-item.is-open {
    background-color: #FFF7EC !important;
    border-top: 5px solid #885C30;
}

.section-three-box-item.is-open.box-title {
	font-family: "Libre Caslon Text", serif ;

	font-size:1.8dvh;
	line-height:0px;
	letter-spacing:0px;
	font-weight:400;

}
.section-three-box-item.is-open .box-icon {
    color: #714B25;
    font-family: "Libre Caslon Text", serif ;
    /* Optional: add a slight rotation for a more "active" feel */
    transform: rotate(180deg); 
}

.section-three-box-item.is-open .box-title,
.section-three-box-item.is-open .box-icon {
    font-size: 24px;
    letter-spacing:1%;
    font-weight:500;
	font-family: "Libre Caslon Text", serif ;
    color: #380000; /* Brown contrast for cream background */
}
.section-three-box-item.is-open .section-three-box-content {
    max-height: 315px; /* Allow enough space for description and link */
	padding-top:38px;
}
.section-three-box-header.is-open{
	padding-top: 12px;
}
.section-three-box-header { 
	width:100%;
	padding-top:10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	border-top: 1px solid rgba(255,255,255,0.1);
}

.box-divider {
	margin-top: 15px;
	margin-bottom: 20px;
	border: none;
	border-top-width: medium;
	border-top-style: none;
	border-top-color: currentcolor;
	border-top: 1px solid rgba(113, 75, 37, 0.2);
	border-color:#957846;
}
.box-learn-more {
  display: inline-block;
  color: #380000;
  text-decoration: none;
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 1px;	
        border-top: 1px solid #bbb2a275;
    padding-top: 25px;
    margin-top: 40px;
    width: 100%;

}

.section-three-box-content { 
    order: 1; /* Forces Content to stay ABOVE the header */
    max-height: 0; 
    overflow: hidden; 
    
    transition: max-height 0.6s cubic-bezier(0.16, 1, 0.3, 1), padding 0.5s ease; 
}

.section-three-box-content p {
    line-height:25px;
    padding-bottom:12px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}
.section-three-box-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}


.section-three-content-padding {
    padding: 0;
}
	
.section-three-content-padding p {
    color: #714B25; 
    font-family: "Manrope", sans-serif;
    font-size: 18px;
	
  }


/* section three end */


.split-container {
    display: flex;
    width: 100%;
    max-width: 1440px;
    margin-top: 70px;
}

.left-content, .right-accordions {
    flex: 1;
}



.section-four-accordion-content {
    display: none; /* Hidden by default */
    padding-bottom: 15px;
}


.section-four-accordion-item.active .accordion-content {
    display: block;
}


/* Target the pseudo-element of the .sign container */
.section-four-accordion-item .sign::before {
    content: "+";
    font-weight: bold;
    /* Optional: add transition for a smoother feel if you switch to rotation */
}

/* Change the content when the parent item is active */
.section-four-accordion-item.active .sign::before {
    content: "-";
}

.section-four-title{
	width:100%;
	font-family: Manrope;
	font-weight: 600;
	font-style: SemiBold;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 19%;
	vertical-align: middle;
	text-transform: uppercase;
	color:#714B25;
	padding-bottom:25px;
}

.section-four-subtitle{
	width:100%;
	font-family: Libre Caslon Condensed;
	font-weight: 400;
	font-style: Regular;
	font-size: 48px;
	leading-trim: NONE;
	line-height: 58px;
	letter-spacing: 0px;
	vertical-align: middle;
	color:#380000;
}

.section-four-side-img{
  height: 724px;
  width: 579px;
  border-radius:8px;
}



.white-section {

    background-color: #ffffff;
    align-items: center;
    justify-content: center;
	height: 1183px !important;
	width: 100% !important;
	padding-top:60px;
	
	display: block !important;

}

.section-head {

	width: 100% !important;
	display: block;
	margin-bottom: 60px;
	


}

.split-container {

    display: block;
    width: 1211px;
    margin-left: auto;
    margin-right: auto;
    gap: 40px;
}


.section-four-left-content {
    /* flex: 50;
    flex-shrink: 0;
    width:579px;
    float:left; */
}
.section-four-right-accordions {
    /* flex: 50;
    flex-shrink: 0;
    float:left;
    width:631px;
    padding-left:100px; */

}

.section-four-accordion-item {
 
     border-bottom: 1px solid #ddd;
    margin-bottom: 10px;

    border-bottom: 1px solid #ddd;
    margin-bottom: 10px;
    transition: all 0.5s ease-in-out;
}

.section-four-accordion-item:last-child {
    border-bottom: none;
}

.section-four-accordion-header {
    font-family: Libre Caslon Condensed;
	font-weight: 400;

	font-size: 32px;
	line-height: 100%;
	color:#121212;

    display: flex;
    justify-content: space-between;
    padding-top:15px;
    padding-bottom:25px;
    cursor: pointer;
    letter-spacing: 1px;
    transition: all 0.5s ease-in-out;

}



/* No space between the item and .active */
.section-four-accordion-item.active .section-four-accordion-content {
    display: block;
    transition: all 0.5s ease-in-out;
}


.section-four-accordion-content ol {
    padding-left: 20px;
    list-style: none; /* Removes the default bullet */
    padding: 0;
    margin: 0;
    margin-top:5px;
    padding-left:25px;
}

.section-four-accordion-content li {
    position: relative;
    padding-left: 30px; /* Space for the custom bullet */
    list-style: none;    /* Remove default dots */
    
    color: #714B25;
    margin-bottom: 15px;

font-family: Manrope;
font-weight: 500;
font-style: Medium;
font-size: 20px;
leading-trim: NONE;
line-height: 100%;
letter-spacing: 0%;
vertical-align: middle;


}

.section-four-accordion-content li::before {
    content: "";
    position: absolute;
    left: 0;
    /* Adjust top to align with the first line of text */
    top: 5px; 
    
    /* Set dimensions for your bullet image */
    width: 12px; 
    height: 12px;
    
    /* Apply the image */
    background-image: url('/wp-content/uploads/2026/03/Border.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.5s ease-in-out;
}
/* 1. Change the default hidden state */
.section-four-accordion-content {
    display: block;        /* Must be block to allow animation */
    max-height: 0;         /* Start at 0 height */
    overflow: hidden;      /* Hide the text inside */
    opacity: 0;            /* Start invisible */
    padding-bottom: 0;     /* Remove padding while closed */
    transition: max-height 0s ease-in-out, opacity 0.5s ease, padding 0.5s ease;
    
    
}

/* 2. Change the active state */
.section-four-accordion-item.active .section-four-accordion-content {
    max-height: 1000px;    /* A large enough value to fit your text */
    opacity: 1;            /* Fade in */
    padding-bottom: 15px;  /* Restore padding */
}

/* end section four*/













/* section five */















.section-five {
    /* height: 1095px;
    display: flex;
    flex-direction: column;
    overflow: hidden; */
}

.section-five-main-title{
	margin-top:30px;
	font-family: Manrope;
	font-weight: 500;
	font-style: Medium;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 16%;
	vertical-align: middle;
	text-transform: uppercase;
	color:#714B25;
	padding-bottom:0px;
}

.section-five-subtitle{

	font-family: 'Libre Caslon Condensed';
	font-weight: 400;
	font-style: Regular;
	font-size: 48px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0px;
	vertical-align: middle;
	color:#380000;
    margin: 0;

}
.section-five-header {
    /* height: 230px; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    width:1211px;
    margin-left:auto;
    margin-right:auto;
     */
    
}

.section-five-container {
    height: 870px;
    display: flex;
    width: 100%;
    gap: 0;
    margin-left:auto;
    margin-right:auto;
}

.section-five-item-content h3{

	font-family: Libre Caslon Condensed;
	font-weight: 400;
	font-style: Regular;
	font-size: 48px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0px;
	vertical-align: middle;
	color:#FFFFFF;
}


.section-five-item {
    position: relative;
    flex: 20; /* Default 20% width */
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    cursor: pointer;
    overflow: hidden;
}

/* Linear Gradient Overlay */
.section-five-item .overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(360deg, #000000 0%, rgba(0, 0, 0, 0) 66.96%);
    z-index: 1;
}

/* Expanded State: 60% Width */
.section-five-item.active, 
.section-five-item:hover {
    flex: 60;
}

/* Ensure other items shrink when one is hovered */
.section-five-container:hover .section-five-item:not(:hover) {
    flex: 20;
    
}


.section-five-item-content {
	width:809px;
	margin-left:auto;
	margin-right:auto;
    position: absolute;
    bottom:70px;
    left: 40px;
    right: 40px;
    z-index: 2;
    color: white;
}

/* Content Visibility Logic */
.section-five-item .sub, 
.section-five-item .desc {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease;
    display: none;
    
    
	font-family: Manrope;
	font-weight: 400;
	font-style: Regular;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 33px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #FFF7EC;
}

/* Show Subtitle and Description only when 60% visible */
.section-five-item.active .sub, .section-five-item.active .desc,
.section-five-item:hover .sub, .section-five-item:hover .desc {
    opacity: 1;
    transform: translateY(0);
    display: block;
    
    
	font-family: Manrope;
	font-weight: 400;
	font-style: Regular;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 30px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #FFF7EC;
}


/* --- 1. DEFAULT STATE (The "20" Width) --- */
.section-five-item-content h3 {
    color: #FFFFFF;

   
    font-family: Manrope;
	/* font-weight: 500; */
	font-style: Medium;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 100%;
	vertical-align: middle;

    
    /* Smooth transition for the font-size change */
    transition: font-size 0.5s cubic-bezier(0.25, 1, 0.5, 1), margin 0.5s ease;
}

/* --- 2. EXPANDED STATE (The "80" Width) --- */
/* When the item is hovered or active, increase the font size */
.section-five-item:hover .section-five-item-content h3,
.section-five-item.active .section-five-item-content h3 {
    margin-bottom: 10px; /* Adds space above the appearing description */

	font-family: Libre Caslon Condensed;
	font-weight: 400;
	font-style: Regular;
	font-size: 48px;
	leading-trim: NONE;
	line-height:100%;
	/* letter-spacing: 0px; */
	vertical-align: middle;
}




/* end section five*/





/* section six*/





.services-one{
}

.services-one .services-grid{
	margin-top:130px;
}
.services-two{
	height:370px;
	padding-bottom:50px;
}

.services-section {

}

.services-container {
    width: 1345px;

    margin-left:auto;
    margin-top:-15px;
	margin-right:auto;
}

.services-header {
    text-align: center;

}

.services-header .main-title {

	font-family: Manrope;
	font-weight: 500;
	font-style: Medium;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 16%;
	vertical-align: middle;
	text-transform: uppercase;
	color: #380000;
}

.sub-title{
	margin-top:28px;
	font-family: Libre Caslon Condensed;
	font-weight: 400;
	font-style: Regular;
	font-size: 52px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0px;
	text-align: center;
	vertical-align: middle;
	color:#380000;

}


.services-grid {
    display: flex;
    justify-content: space-between;
}



.service-item {
	text-align: center;
	width: 322px;
	float: left;
	margin-left: 0px;

	padding: 0px;
    
}

.item-icon {
    width: 100px;           /* Scaled icon */
    height: 100px;
    object-fit: contain;    /* Prevents distortion */
}

.line-separator {
	display: block;
	margin-bottom: 20px;
	margin-top: 15px;
	margin-left: auto;
	margin-right: auto;
    width: auto;
}


.service-item h3 {
	 font-family: Libre Caslon Condensed;
	font-weight: 400;
	font-style: Regular;
	
	leading-trim: NONE;
	
	letter-spacing: 1px;
	text-align: center;
	vertical-align: middle;
	color: #380000;
	
	
	margin: 0;
    font-size: 32px;       /* Consistent typography */
    line-height: 37px;
    width: 100%;
    word-wrap: break-word;
}







/* Responsive: 1 column on mobile */
@media (max-width: 768px) {
    .services-grid {
        grid-template-columns: 1fr;
    }
}







/* edn section six*/












/* section seven */



/* CONTACT SECTION STYLES */
.contact-section {
	height:1112px;
    background-color: #ffffff;
    display: block;
    align-items: center;
    width: 100%;
    position: relative;
}

.contact-container {
    display: flex;
    width: 1600px;
    align-items: stretch;
	margin-left:auto;
	margin-right:auto;
	margin-top:140px;
}
.contact-text{
	margin-left:130px;
	width: 782.1471557617188;
	height: 335px;
	gap: 20px;
	angle: 0 deg;
	opacity: 1;


}

div.wpcf7-response-output {
    margin: 10px 0 0 !important;
    padding: 10px !important;
}

/* This prevents the browser from jumping to the anchor */
:target {
    scroll-margin-top: 100px;
}

/* Left Column Styling */
.contact-info {

    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Keeps text at top, image at bottom */
    padding-bottom: 20px;
    width:757px;
    gap:40px;
 }

.contact-title {

	font-family: Libre Caslon Condensed;
	font-weight: 400;
	font-style: Regular;
	font-size: 80px;
	leading-trim: NONE;
	line-height: 98px;
	letter-spacing: 1px;
	vertical-align: middle;
	margin-bottom: 20px;
	color:#380000;
}

.contact-desc {
    font-family: Manrope;
	font-weight: 400;
	font-style: Regular;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 33px;
	letter-spacing: 0%;
	vertical-align: middle;
	color:#714B25;
	width:440px;
	margin-bottom:20px;
}
.contact-bottom-img{
	margin-left:120px;
	margin-top: 145px;
}
.contact-bottom-img img {
    width: 310px;
    
    	
    height: auto;
    display: block;
}

/* Right Column Form Styling */
.contact-form-wrapper {
    flex: 50;
}

#contactForm{
	width:80%;
}
.form-group {
	/* height: 113px; */
    display: flex;
    flex-direction: column;
}

.form-group label {
	font-family: Manrope;
	font-weight: 500;
	font-style: Medium;
	font-size: 18px;
	leading-trim: NONE;

	letter-spacing: 0px;
	color:#380000;
}

/* Underline-only inputs */
.form-group input, 
.form-group textarea {
    border: none;
    height: 60px;
    border-bottom: 1px solid #380000;

    background: transparent;
    color: #380000;
    font-size: 16px;
    outline: none;
    transition: border-color 0.3s ease;
    width: 100%;
}

.form-group textarea {
    resize: none;
	padding-top:20px;
}

/* Specific Placeholder Color */
.form-group input::placeholder, 
.form-group textarea::placeholder {
    color: #714B25;
    opacity: 0.7;
    font-size:16px;
    font-family: 'Manrope', sans-serif;
    
   
}



/* Focus State */
.form-group input:focus, 
.form-group textarea:focus {
    border-bottom: 1px solid #380000;
    font-size: 16px
}

/* Submit Button */
.form-submit-container {
    margin-top: 30px;
}

.submit-btn {
    background-color: #380000;
    color: #ffffff;
    border: none;
    padding-top:15px;
    padding-bottom:15px;
    padding-right:32px;
    padding-left:32px;
    font-size: 1.35dvh;
    font-weight: 400;
    letter-spacing: 0px;
    cursor: pointer;
	border-radius:5px;
    transition: all 0.3s ease;
}

.submit-btn:hover {
    background-color: #520000;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(56, 0, 0, 0.2);
}



/* Fixes the WordPress span wrapper from breaking your flex/margins */
.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Ensure the submit button keeps your specific design */
.submit-btn.wpcf7-submit {
    /* Your button styles here */
    cursor: pointer;
}



/* Style the "One or more fields have an error" box at the bottom */
.wpcf7-response-output {

    color: #d85040 !important;
    margin-top: 20px !important;
    padding: 10px !important;
    font-family: 'Manrope', sans-serif;
    text-align: center;
}

/* Style the small "Please fill out this field" tips below each input */
.wpcf7-not-valid-tip {
    color: #ff4d4d;
    font-size: 12px;
    font-weight: 600;
    margin-top: 5px;
    display: block;
    font-size:1.5dvh;
	font-family: 'Manrope';
	position: unset; 
}

/* Optional: Highlight the input border in red when it fails */
.wpcf7-not-valid {
    border: 1px solid #ff4d4d !important;
}



/* Remove default glow and add a clean theme-colored border */
.wpcf7-text:focus,
.wpcf7-textarea:focus,
.wpcf7-tel:focus,
.wpcf7-email:focus {
    outline: none !important;
    box-shadow: none !important;
    /* border: 1px solid #714B25 !important;  Use your specific theme color here */
    transition: border-color 0.3s ease;
    padding-top:17px;
    padding-bottom:17px;
}

#wpcf7-f190-o1{
	/* width:540px; */
    margin-left: 70px;
}

/* Responsive Layout */
@media (max-width: 992px) {
    .contact-container {
        flex-direction: column;
        gap: 50px;
    }
    
    .contact-info {
        min-height: auto;
        justify-content: flex-start;
    }

    .contact-bottom-img {
        margin-top: 40px;
    }
}

/* section seven end */




}









/* Mobile Responsive adjustment */
@media (max-width: 768px) {
    .info-container {
        flex-direction: column;
        text-align: center;
        gap: 30px;
        padding: 40px 20px;
    }
    .info-title, .info-details {
        text-align: center;
    }
    .info-title h2 {
        font-size: 2rem;
    }
	.info-corner-image { max-width: 200px; }

}
.accordion-content{display:none;}
/* Corrected Version */
.accordion-item.active .accordion-content {
    display: block;
}
.side-img{
  height: 57dvh;
  width: 100%;
}


/* Default state */
.sign::before {
    content: "+";
    display: inline-block;
	font-size:30px;
	color:#380000;
	font-family: Manrope;
}

/* Active state (when parent has .active class) */
.accordion-item.active .sign::before {
    content: "−"; /* Using a proper minus sign character */
}
/* end second section*/











@media (max-width: 767px) {

		.slide img{
			width: 100%;
			height: 650px;
			angle: 0 deg;
			opacity: 1;
		}

		section.slider{
			height:650px;
		}

		.slide {
			width: 100vw !important; /* Uses 100% of the viewport width */
			height: 100%;
			position: relative;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: flex-start;
			text-align: center;
			left: 50%;
			right: 50%;
			margin-left: -50%;
			margin-right: -50%;
		}


		.slide-content{
			width:100%;
			height:147px;
			margin-top:252px;
			margin-left:auto;
			margin-right:auto;
		}

		.slide-content h1{
		margin-left:auto;
		margin-right:auto;
			width: 284px;
			height: 147px;
			angle: 0 deg;
			font-size:40px;
			opacity: 1;
			line-height:48px;
		}
		.info-section{
			
			align-items: self-start;
		}
		.info-section.scroll-section{
			width: 100%;
			height: 550px;
			
			angle: 0 deg;
			opacity: 1;
		}

		.info-container {
			flex-direction: column; /* Stacks Title above Details */
			width: 294px;
			height: 277px;
			margin-top: 80px;
			left: 41px;
			gap: 0px;
			angle: 0 deg;
			opacity: 1;

		
		}

    .info-title{
		width: 100% !important;
		padding:0px;
        text-align: left; /* Ensures clean alignment on mobile */
    } 
    .info-details {
        width: 100% !important;
        text-align: left; /* Ensures clean alignment on mobile */
    }

	 .info-title h2 {
		font-size: 32px;
		leading-trim: NONE;
		line-height: 100%;
		letter-spacing: 1px;
		vertical-align: middle;
		padding:0px;
        margin: 0;
	  }

    /* Prevents the corner image from covering text on small phones */
    .info-corner-image {
        max-width: 19dvh;
        opacity: 0.5; /* Optional: makes it subtle so text stays readable */
    }
    
    
    .info-details p{
		font-size:24px;
		line-height:35px;
		margin-top:20px;
    }
	.info-details p img {
		text-align: right;
		margin-left: 163px;
		height:131px;
		width:131px;
		opacity:1;
	}



	/* --- 1. Section Container --- */
    .section-three {
        height: auto !important; /* Allow growth so text isn't cut off */
        min-height: 28dvh; 
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        overflow: visible !important;
        position: relative;
        padding-bottom: 0;
        background: none !important; /* Move background to the image layer */
    }

    /* --- 2. The Image Layer (Set to 28dvh) --- */
    .section-three-image {
        position: relative;
        height: 28dvh !important; /* More image visibility */
        width: 100%;
        overflow: hidden;
    }

    .section-three-image img {
        height: 28dvh !important;
        width: 100% !important;
        object-fit: cover !important;
        display: block;
    }

    /* Overlay for the image area specifically */
    .section-three-image::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.3); /* Slight dark wash */
        z-index: 2;
    }

    /* --- 3. Wrapper & Content (Moves below the image) --- */
  

    .section-three-title {
        font-size: 16px !important;
    }

    .section-three-subtitle {
        margin-top: 10px !important;
        font-size: 32px !important;
        line-height: 40px !important;
        color: #fff !important;
    }

    .section-three-description {
        font-size: 16px !important;
        line-height: 26px !important;
        color: #FFF !important;
    }

    /* --- 4. The Boxes Table (Vertical Stack) --- */
    .section-three-boxes-wrapper {
        position: relative !important;
        width: 100% !important;
        left: 0 !important;
        bottom: 0 !important;
        z-index: 20;
    }

    .section-three-boxes-container {
        flex-direction: column !important;
        align-items: stretch !important;
        display: flex !important;
        width: 100%;
    }

    .section-three-box-item {
        /* width: 100% !important; */
        border-right: 1px solid #DFD1BA !important;
        border-top: 1px solid #DFD1BA !important;
        flex: none !important;
        padding: 15px 30px;
    }

    .section-three-box-item:last-child {
        border-bottom: 1px solid #DFD1BA !important;
    }

    .section-three-box-header {
    }

    .box-title {
        font-size: 1.8dvh !important;
        letter-spacing: 0 !important;
    }

    .section-three-box-item.is-open .box-title {
        font-size: 24px !important;
    }

    /* --- 5. Internal Content Spacing --- */
    .section-three-box-content {
        /* padding: 0 6dvw !important; */
    }

    .section-three-box-item.is-open .section-three-box-content {
        /* padding-bottom: 4dvh !important; */
        padding: 0;
    }

    .section-three-content-padding p {
        font-size:14px !important;
        margin-bottom: 1dvh !important;
    }


	/* 1. Stack the layout vertically */
    .white-section {
        padding: 0dvh;
        padding-bottom:0dvh;
        height: auto ; /* Allow content to flow naturally */
    }
	.white-accordian{
		padding-top:1.5dvh;
		padding-left:1.7dvh;
		padding-right:1.7dvh;
	}
    .split-container {
        flex-direction: column ;
        width: 100% ;
        height: auto ;
        gap: 20px ;
        padding-left:1.7dvh;
        padding-right:1.7dvh;
    }
	.section-four-accordion-content ol{
		/* padding-left:15px; */
	}
    /* 2. Reset the Left Content (Title & Image) */
    .section-four-left-content {
        flex: none ;
        width: 100% ;
        padding-top: 0 ;
        text-align: left;
    }

    .section-four-title {
       font-size: 16px;
       line-height: 1.2;
       padding:0px;
    }

    .section-four-subtitle {
       font-size: 32px;
       line-height: 1.2;
    }

    .section-four-side-img {
        height: auto ;
        max-height: 350px ;
        width: 100% ;
        margin-bottom: 10px ;
    }

    /* 3. Reset the Right Content (Accordions) */
    .section-four-right-accordions {
        flex: none ;
        width: 100% ;
        margin-top: 0 ; /* Removes the desktop 27dvh gap */
    }

    .section-four-accordion-header {
        font-size: 22px ; /* Easier to tap and read */
        padding: 15px 0 ;
    }

    /* 4. Fix List Items (The dots/bullets) */
    .section-four-accordion-content li {
        font-size: 2dvh ; /* Standard mobile reading size */
        padding-left: 25px ;
        margin-bottom: 15px ;
    }

    .section-four-accordion-content li::before {
        width: 12px ;
        height: 12px ;
    }
	
	.section-four-accordion-item:last-child {
		     border-bottom: 1px solid #ddd !important;
	}
	/* Adjusted Mobile Header */
    .section-five-header {
      
    }

    .section-five-subtitle {
        font-size: 32px !important;
        line-height: normal;
    }

    /* Horizontal Strip for translateX logic */
    .section-five-container {
        display: flex !important;
        flex-direction: column;
        height: auto;
    }

    .section-five-item {
        flex: 0 0 100vw !important; /* Force items into a row for swiping */
        width: 100vw !important;
        height: 75dvh !important;
        display: flex !important;
        align-items: flex-end !important;
        /* padding: 0 0 40px 0 !important; */
    }

    /* Force all text to be visible on mobile */
    .section-five-item .desc {
        opacity: 1 !important;
        display: block !important;
        transform: translateY(0) !important;
        font-size:16px !important;
        line-height:24px !important;
        margin-bottom: 0dvh !important; /* Your requested layout offset */
    }

    .section-five-item-content {
        position: relative !important;
        bottom: 20px !important;
        left: 0 !important;
        padding-left:20px;
        padding-right:20px;
        /* top:20% !important; */
    }

    .section-five-item-content h3 {
        font-size: 32px !important;
        line-height:42px !important;
        display: block !important;
        margin-bottom: 10px !important;
    }
.section-five-item:hover .section-five-item-content h3{
      font-size: 32px !important;
}
    .section-five-item .overlay {
        background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 100%) !important;
    }
		
	  .section-five-container .section-five-item {
		}

		/* Show only the active one */
		.section-five-container .section-five-item.active {
			opacity: 1 !important;
		}
    
    
    

.services-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns for tablets */
        gap: 40px 20px;
        padding: 0 20px;
    }



	.services-grid{
		text-align:center;
	}


	.services-section {
        /* On mobile, we let the section grow with content */
        height: auto;
        min-height: 100dvh;
        padding: 8dvh 0;
    }

    .services-container {
        height: auto;
        padding: 0 5dvh; /* Side padding relative to height */
    }

    .services-header {
        margin-bottom: 5dvh;
        text-align:center;
    }

    .main-title {
		font-family: Manrope;
		font-weight: 600;
		font-style: SemiBold;
		font-size: 16px;
		leading-trim: NONE;
        line-height: 30px !important;
		letter-spacing: 19%;
		vertical-align: middle;
		color:#714B25;
		text-transform: uppercase;
 
        padding-top: 0;
        font-size: 1.8dvh; /* Slightly smaller than desktop */
    }

    .sub-title {
        font-size: 4dvh; /* Scaled down from 5.2dvh */
        margin-top: 1.5dvh;
        color:#380000;
        font-family: Libre Caslon Condensed;
		font-weight: 400;
		font-style: Regular;
		leading-trim: NONE;
		letter-spacing: 0%;
    }

    .services-grid {
        /* Switch to 1 column */
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 6dvh; /* Vertical gap between items */
    }
	.service-item {
		display: flex;
		flex-direction: column; /* Forces elements into individual rows */
		align-items: center;    /* Horizontal centering */
		justify-content: center; /* Vertical centering */
		text-align: center;
		width: 100%;
		height: auto;
		margin-bottom: 4dvh;    /* Space between grid items */
	}

	.item-icon {
		display: block;
		width: 10dvh;
		height: 10dvh;
		margin-bottom: 2dvh;    /* Space below the icon */
		object-fit: contain;
	}

	.line-separator {
		display: block;
		width:auto;           /* Adjust width as needed */
		height: auto;
	        margin-bottom: 10px;
        margin-top: 0;
	}

	.service-item h3 {
	
		font-family: Libre Caslon Condensed;
		font-weight: 400;
		font-style: Regular;
		leading-trim: NONE;
		line-height: 100%;
		letter-spacing: 0px;
		text-align: center;
		vertical-align: middle;
		color:#380000;
	
	
		margin: 0;
		font-size: 3dvh;
		line-height: 1.2;
	}



/* Responsive: 1 column on mobile */
@media (max-width: 768px) {
    .services-grid {
        grid-template-columns: 1fr;
    }
}


    
    
    
    
    
    
    
    
    
    
    
}







































