/* Font Face Declarations */
/* Reset and Base Styles */
*{
 margin:0;
 padding:0;
 box-sizing:border-box;
}
html{
 scroll-behavior:smooth;
 overflow-x:hidden;
}
body{
 font-family:'Roboto',Arial,sans-serif !important;
 font-weight:400;
 line-height:1.6;
 color:#333;
 background-color:#fff;
 overflow-x:hidden;
}
.site-container{
 margin:0 100px;
 max-width:calc(100vw - 200px);
}
img{
 max-width:100%;
 height:auto;
 display:block;
}
a{
 text-decoration:none;
 color:inherit;
}
/* Typography */
h1,h2,h3,h4,h5,h6{
 font-family:'Bodoni Moda',Georgia,serif !important;
 font-weight:600;
 line-height:1.2;
 margin-bottom:1rem;
}
.section-title{
 font-size:3rem;
 text-align:center;
 margin-bottom:3rem;
 color:#2c2c2c;
}
/* Top Bar */
.top-bar{
 position:fixed;
 top:0;
 left:0;
 right:0;
 background:#000000;
 z-index:1001;
 padding:0.5rem 0;
 font-size:0.9rem;
 margin:0;
}
.top-bar-container{
 max-width:none;
 margin:0;
 padding:0 100px;
 display:flex;
 justify-content:center;
}
.top-bar-contact{
 display:flex;
 gap:1rem;
 color:#ffd653;
 align-items:center;
}
.top-bar-phone{
 font-weight:600;
 color:#ffd653;
}
.top-bar-separator{
 color:#ffd653;
 font-weight:400;
}
.top-bar-address{
 color:#ffd653;
}
/* Header */
.header{
 position:fixed;
 top:2rem;
 left:0;
 right:0;
 background:#212121;
 backdrop-filter:blur(10px);
 z-index:1100;
 padding:1rem 0;
 border-bottom:1px solid rgba(0,0,0,0.1);
 margin:0;
}
.nav-container{
 max-width:none;
 margin:0;
 padding:0 100px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 flex-wrap:wrap;
 gap:1rem;
}
.nav-logo{
 margin-bottom:5px;
}
.logo-image{
 height:50px;
 width:auto;
 max-width:250px;
}
.nav-menu{
 display:flex;
 list-style:none;
 gap:3rem;
 align-items:center;
 flex:1;
 justify-content:flex-end;
}
.nav-link{
 font-size:0.9rem;
 font-weight:500;
 color:#fff;
 transition:color 0.3s ease;
 text-transform:uppercase;
 letter-spacing:0.5px;
}
.nav-link:hover{
 color:#ffd653;
}
/* Dropdown Menu Styles */
.nav-item{
 position:relative;
}
.nav-item.has-dropdown .nav-link{
 display:flex;
 align-items:center;
 gap:0.5rem;
}
.nav-item.has-dropdown .nav-link::after{
 content:'';
 width:0;
 height:0;
 border-left:4px solid transparent;
 border-right:4px solid transparent;
 border-top:4px solid #fff;
 transition:transform 0.3s ease,border-top-color 0.3s ease;
}
/* Desktop only - hover behavior for arrow */
@media (hover:hover) and (pointer:fine){
 .nav-item.has-dropdown:hover .nav-link::after{
 transform:rotate(180deg);
 border-top-color:#ffd653;
}
}
/* Mobile and touch devices - click behavior only for arrow */
.nav-item.has-dropdown.mobile-dropdown-active .nav-link::after{
 transform:rotate(180deg);
 border-top-color:#ffd653;
}
.dropdown-menu{
 position:absolute;
 top:100%;
 left:0;
 background:#212121;
 min-width:260px;
 border-radius:8px;
 opacity:0;
 visibility:hidden;
 transform:translateY(-10px);
 transition:all 0.3s ease;
 z-index:1200;
 margin-top:0.75rem;
 list-style:none;/* Remove circular bullet points */
}
/* Desktop only - hover behavior */
@media (hover:hover) and (pointer:fine){
 .nav-item.has-dropdown:hover .dropdown-menu{
 opacity:1;
 visibility:visible;
 transform:translateY(0);
}
}
/* Mobile and touch devices - click behavior only */
.nav-item.has-dropdown.mobile-dropdown-active .dropdown-menu{
 opacity:1;
 visibility:visible;
 transform:translateY(0);
}
.dropdown-menu .dropdown-item{
 display:block;
 padding:0.75rem 1rem;
 color:#fff;
 text-decoration:none;
 transition:all 0.3s ease;
 font-size:0.85rem;
 font-weight:400;
 text-transform:uppercase;
 letter-spacing:0.5px;
 border-bottom:1px solid rgba(255,255,255,0.1);
 white-space:nowrap;
}
.dropdown-menu .dropdown-item:last-child{
 border-bottom:none;
}
.dropdown-menu .dropdown-item:hover{
 background:rgba(255,214,83,0.1);
 color:#ffd653;
}
.dropdown-menu .dropdown-item:first-child{
 border-radius:8px 8px 0 0;
}
.dropdown-menu .dropdown-item:last-child{
 border-radius:0 0 8px 8px;
}
/* Service Page Styles */
.service-page{
 padding:2rem 0 1rem 0;
}
/* Breadcrumb Navigation */
.breadcrumb-container{
 margin:0 100px;
 margin-bottom:2rem;
}
.breadcrumb{
 font-size:0.9rem;
 color:#666;
}
.breadcrumb-link{
 color:#666;
 text-decoration:none;
 transition:color 0.3s ease;
}
.breadcrumb-link:hover{
 color:#2c2c2c;
}
.breadcrumb-separator{
 margin:0 0.5rem;
 color:#666;
}
.breadcrumb-current{
 color:#2c2c2c;
 font-weight:500;
}
/* Service Page Header */
.service-page-header{
 text-align:center;
 margin-bottom:3rem;
}
.service-page-title{
 font-family:'Bodoni Moda',Georgia,serif;
 font-size:3rem;
 font-weight:400;
 color:#2c2c2c;
 margin-bottom:1rem;
 letter-spacing:0.5px;
}
.service-page-subtitle{
 font-size:1.1rem;
 color:#666;
 line-height:1.6;
 margin:0 auto;
 max-width:600px;
}
/* Service Page Content */
.service-page-content{
 margin:0 100px;
}
/* Fix service grid layout to prevent extra empty rows */
.services-grid{
 grid-template-rows:auto !important;
 margin-bottom:50px;
}
.services-header-bar{
 display:flex;
 justify-content:flex-start;
 align-items:center;
 margin-bottom:2rem;
}
.services-count{
 font-size:0.9rem;
 color:#666;
 font-weight:500;
}
/* Service Gallery Grid - Fixed 4 columns */
.service-gallery-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:2rem;
 margin:0;
 margin-bottom:50px;
}
/* Tablet responsive breakpoints */
@media (min-width:600px) and (max-width:1023px){
 .service-gallery-grid{
 grid-template-columns:repeat(2,1fr);
}
}
.service-gallery-item{
 display:flex;
 flex-direction:column;
}
.service-gallery-image{
 width:100%;
 margin-bottom:1rem;
 position:relative;
}
.promo-text{
 color:#b8860b !important;
 font-weight:700;
 font-size:0.85em;
 letter-spacing:0.04em;
}
.service-gallery-image img{
 width:100%;
 height:auto;
 object-fit:contain;
 display:block;
 border-radius:8px;
}
.service-gallery-title{
 font-family:'Bodoni Moda',Georgia,serif;
 font-size:1.3rem;
 font-weight:500;
 color:#2c2c2c;
 text-align:left;
 margin:0 0 0.5rem 0;
 line-height:1.3;
}
.service-gallery-price{
 font-size:1.1rem;
 font-weight:600;
 color:#2c2c2c;
 text-align:left;
 margin:0;
}
/* Search Icon */
.search-icon-container{
 display:flex;
 align-items:center;
 margin-left:1rem;
}
.search-button{
 background:none;
 border:none;
 color:#fff;
 cursor:pointer;
 padding:0.5rem;
 border-radius:4px;
 transition:color 0.3s ease,background-color 0.3s ease;
 display:flex;
 align-items:center;
 justify-content:center;
}
.search-button:hover{
 color:#ffd653;
 background-color:rgba(255,214,83,0.1);
}
/* Hide mobile elements on desktop,show desktop search */
@media (min-width:1300px){
 .burger-menu,
 .mobile-nav-controls{
 display:none;/* Hide mobile search and burger menu */
}
 
 .search-nav-item{
 display:block;/* Show desktop search button */
}
}
/* Desktop search button styling */
.search-nav-item{
 display:none;/* Hidden on mobile by default */
}
/* Force show desktop search on larger screens */
@media (min-width:1025px){
 .search-nav-item{
 display:block !important;/* Force show desktop search button */
}
}
.search-nav-item .search-button{
 background:none;
 border:none;
 color:#fff;
 cursor:pointer;
 padding:0.5rem;
 border-radius:4px;
 transition:color 0.3s ease,background-color 0.3s ease;
 display:flex;
 align-items:center;
 justify-content:center;
}
.search-nav-item .search-button:hover{
 color:#ffd653;
 background-color:rgba(255,214,83,0.1);
}
.search-nav-item .search-button svg{
 width:18px;
 height:18px;
}
.search-button svg{
 width:18px;
 height:18px;
}
/* Search Overlay */
.search-overlay{
 display:none;
 position:fixed;
 top:0;
 left:0;
 width:100%;
 height:100%;
 background:rgba(0,0,0,0.8);
 z-index:2000;
 backdrop-filter:blur(5px);
 opacity:0;
 transition:all 0.3s ease;
}
.search-overlay.active{
 display:flex;
 opacity:1;
 align-items:center;
 justify-content:center;
}
.search-container{
 background:#fff;
 border-radius:12px;
 width:90%;
 max-width:600px;
 max-height:80vh;
 overflow:hidden;
 box-shadow:0 20px 40px rgba(0,0,0,0.3);
 transform:translateY(50px);
 transition:transform 0.3s ease;
}
.search-overlay.active .search-container{
 transform:translateY(0);
}
.search-header{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:1.5rem 2rem 1rem;
 border-bottom:1px solid #eee;
}
.search-header h3{
 margin:0;
 font-family:'Bodoni Moda',Georgia,serif;
 font-size:1.5rem;
 color:#2c2c2c;
}
.close-search{
 background:none;
 border:none;
 font-size:2rem;
 color:#999;
 cursor:pointer;
 padding:0;
 line-height:1;
 transition:color 0.3s ease;
}
.close-search:hover{
 color:#2c2c2c;
}
.search-input-container{
 padding:0 2rem;
 display:flex;
 gap:1rem;
 align-items:center;
}
#searchInput{
 flex:1;
 padding:1rem;
 border:2px solid #000;
 border-radius:50px;
 font-size:1rem;
 font-family:'Roboto',Arial,sans-serif;
 transition:border-color 0.3s ease;
}
#searchInput:focus{
 outline:none;
 border-color:#000;
}
.search-submit{
 background:#000;
 border:none;
 padding:1rem;
 border-radius:50px;
 color:#fff;
 cursor:pointer;
 display:flex;
 align-items:center;
 justify-content:center;
 transition:background-color 0.3s ease;
}
.search-submit:hover{
 background:#ffd653;
}
.search-results{
 padding:1.5rem 2rem 2rem;
 max-height:400px;
 overflow-y:auto;
}
.search-prompt{
 color:#999;
 text-align:center;
 font-style:italic;
 margin:0;
}
/* Search Results Styling */
.search-result-item{
 display:flex;
 align-items:center;
 padding:1rem;
 margin-bottom:0.5rem;
 border-radius:8px;
 background:#f8f9fa;
 transition:all 0.2s ease;
 border:1px solid #eee;
}
.search-result-item:hover{
 background:#000;
 transform:translateY(-1px);
 box-shadow:0 4px 12px rgba(0,0,0,0.2);
}
.search-result-item:hover .search-result-name{
 color:#fff;
}
.search-result-item:hover .search-result-price{
 color:#ffd653;
}
.search-result-item:last-child{
 margin-bottom:0;
}
.search-result-content{
 display:flex;
 justify-content:space-between;
 align-items:center;
 width:100%;
}
.search-result-name{
 font-family:'Roboto',Arial,sans-serif;
 font-size:0.95rem;
 font-weight:500;
 color:#2c2c2c;
 flex-grow:1;
}
.search-result-price{
 font-family:'Roboto',Arial,sans-serif;
 font-size:0.9rem;
 font-weight:600;
 color:#ffd653;
 margin-left:1rem;
}
.search-result-item:last-child{
 border-bottom:none;
}
.search-result-title{
 font-weight:600;
 color:#2c2c2c;
 margin:0 0 0.5rem 0;
}
.search-result-excerpt{
 color:#666;
 font-size:0.9rem;
 margin:0;
 line-height:1.4;
}
.search-highlight{
 background-color:#ffd653;
 padding:0 2px;
 border-radius:2px;
}
/* Hero Section */
.hero{
 padding:2rem 0;
 background:url('attached_assets/Web_BG_1770779593629.webp') center bottom/cover no-repeat;
 min-height:100vh;
 width:100%;
 display:flex;
 align-items:center;
 position:relative;
 margin:0;
}
.hero-container{
 width:100%;
 margin:0;
 padding:0 100px;
 display:flex;
 justify-content:flex-start;
 align-items:center;
 position:relative;
 z-index:1;
}
.hero-content{
 max-width:650px;
}
.hero-title{
 font-family:'Bodoni Moda',Georgia,serif !important;
 font-size:clamp(2.5rem,5vw,4rem);
 font-weight:700;
 line-height:1.15;
 color:#fff;
 margin-bottom:1.5rem;
 letter-spacing:1px;
 text-shadow:0 4px 8px rgba(0,0,0,0.3);
}
.hero-title .and-beauty{
 display:inline-flex;
 gap:0.5ch;
 align-items:baseline;
 white-space:nowrap;
}
.hero-title .and{
 font-size:1em;
 letter-spacing:0.08em;
}
.hero-title .beauty{
 font-weight:700;
}
.hero-subtitle{
 font-size:1.1rem;
 color:#fff;
 margin-bottom:2rem;
 line-height:2.5;
 text-shadow:0 2px 4px rgba(0,0,0,0.3);
}
.cta-button{
 display:inline-block;
 background:#000;
 color:#ffd653;
 padding:1rem 2rem;
 border-radius:50px;
 font-weight:600;
 font-size:0.9rem;
 letter-spacing:1px;
 text-transform:uppercase;
 transition:all 0.3s ease;
 border:2px solid #000;
}
.cta-button:hover{
 background:#ffd653;
 color:#000;
 border-color:#ffd653;
}
.cta-button.primary{
 background:#D4A574;
 border-color:#D4A574;
 color:#fff;
}
.cta-button.primary:hover{
 background:transparent;
 color:#ffd653;
}
.cta-button.secondary{
 background:transparent;
 color:#2c2c2c;
 border-color:#2c2c2c;
}
.cta-button.secondary:hover{
 background:#ffd653;
 color:#2c2c2c;
}
.hero-image{
 position:relative;
 border-radius:50px;
 overflow:hidden;
 box-shadow:0 20px 40px rgba(0,0,0,0.1);
}
.hero-image img{
 width:100%;
 height:auto;
 object-fit:cover;
}
/* Services Section */
.services{
 padding:0;
 background:#fff;
 width:100vw;
 margin-left:calc(-50vw + 50%);
 margin-top:0;
}
.services-header{
 text-align:center;
 margin-bottom:0;
 height:250px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;
 padding:0 2rem;
 background:#F5C842;
 color:#2c2c2c;
 width:100%;
}
.services-tagline{
 font-size:1rem;
 margin-bottom:1rem;
 font-weight:500;
 font-family:'Roboto',Arial,sans-serif;
}
.services-title{
 font-size:clamp(1.5rem,3vw,2.2rem);
 font-weight:400;
 max-width:800px;
 margin:0 auto;
 line-height:1.3;
 font-family:'Roboto',Arial,sans-serif;
}
.services-container{
 width:100%;
 margin:0;
 padding:4rem 100px 6rem;
 background:#fff;
}
.services-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 grid-template-rows:repeat(2,1fr);
 gap:2rem;
 margin-top:3rem;
 justify-items:center;
}
@media (max-width:1200px){
 .services-grid{
 grid-template-columns:repeat(3,1fr);
 grid-template-rows:auto;
}
}
@media (max-width:900px){
 .services-grid{
 grid-template-columns:repeat(2,1fr);
 grid-template-rows:auto;
}
}
@media (max-width:593px){
 .services-grid{
 display:none !important;
}
}
/* Simple Mobile Services List */
@media (max-width:950px){
 .services-grid{
 display:none !important;
}
 
 .services-container{
 padding:2rem 1rem 3rem;
}
 
 .mobile-services-list{
 display:block;
 margin-top:2rem;
}
 
 .mobile-service-item{
 margin-bottom:3rem;
 padding:0;
}
 
 .mobile-service-image{
 width:100%;
 max-width:300px;
 aspect-ratio:4 / 5;
 border-radius:15px;
 overflow:hidden;
 margin:0 auto 1.5rem auto;
 background:#f8f8f8;
}
 
 .mobile-service-image img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
}
 
 .mobile-service-title{
 font-family:'Bodoni Moda',serif;
 font-size:1.8rem;
 font-weight:600;
 color:#2c2c2c;
 margin-bottom:1rem;
 text-align:center;
 line-height:1.2;
}
 
 .mobile-service-description{
 font-family:'Roboto',Arial,sans-serif;
 font-size:1rem;
 line-height:1.6;
 color:#666;
 text-align:center;
 max-width:400px;
 margin:0 auto;
 padding-bottom:35px;
}
}
@media (min-width:951px){
 .mobile-services-list{
 display:none;
}
}
@media (min-width:1300px){
 .service-image img{
 height:450px;
 width:auto;
 object-fit:contain;
 object-position:center;
}
}
.service-card{
 background:transparent;
 border-radius:0;
 overflow:visible;
 box-shadow:none;
 transition:transform 0.3s ease;
}
.service-card:hover{
 transform:translateY(-2px);
}
.service-image{
 overflow:hidden;
 border-radius:12px;
 margin-bottom:1.5rem;
 box-shadow:0 8px 24px rgba(0,0,0,0.12);
}
.service-image img{
 width:100%;
 height:auto;
 display:block;
 transition:transform 0.3s ease;
}
.service-card:hover .service-image img{
 transform:scale(1.05);
}
.service-card .service-title{
 font-size:1.2rem;
 margin:0 0 0.8rem 0;
 color:#000000 !important;
 font-family:'Roboto',Arial,sans-serif;
 font-weight:600;
 cursor:pointer;
 transition:color 0.3s ease;
}
.service-card .service-title:hover{
 color:#ffd653 !important;
}
.service-card:hover .service-title{
 color:#ffd653 !important;
}
.service-price{
 font-size:1.1rem;
 font-weight:600;
 color:#000000 !important;
 margin:0.5rem 0;
 font-family:'Roboto',Arial,sans-serif;
 transition:color 0.3s ease;
}
.service-description{
 padding:0;
 color:#666;
 line-height:1.6;
 font-size:0.9rem;
}
/* About Section - Split Layout */
.about{
 background:#fff;
 margin-top:70px;
 margin-bottom:70px;
 padding:80px 0;
}
.about-container{
 margin:0 100px;
 max-width:calc(100vw - 200px);
 display:grid;
 grid-template-columns:1fr auto;
 gap:80px;
 align-items:flex-start;
}
.about-content{
 max-width:500px;
 text-align:left;
}
.about-title{
 font-size:3rem;
 color:#2c2c2c;
 margin-bottom:2rem;
 line-height:1.2;
 font-family:'Bodoni Moda',Georgia,serif;
}
.about-description{
 font-size:1.1rem;
 color:#666;
 line-height:1.7;
 margin-bottom:2.5rem;
}
.about-cta{
 display:inline-block;
 background:#2c2c2c;
 color:#fff;
 padding:1rem 2rem;
 font-weight:600;
 font-size:0.9rem;
 letter-spacing:1px;
 text-transform:uppercase;
 transition:all 0.3s ease;
 border:2px solid #2c2c2c;
 border-radius:50px;
 text-decoration:none;
}
.about-cta:hover{
 background:#ffd653;
 color:#000;
 border-color:#ffd653;
}
.about-media-grid{
 display:grid;
 grid-template-columns:repeat(3,338px);
 grid-template-rows:600px;
 gap:20px;
 height:600px;
}
.media-item{
 border-radius:12px;
 overflow:hidden;
 box-shadow:0 10px 30px rgba(0,0,0,0.1);
 position:relative;
 width:338px;
 height:600px;
}
.media-item.video-item{
 height:600px;
}
.media-item.review-image{
 height:600px;
}
/* Hide review image between mobile and 1520px viewport - working selector */
@media screen and (min-width:769px) and (max-width:1519px){
 .about-media-grid .media-item.review-image{
 display:none !important;
}
}
/* Tablet version:Scale down videos to fit on right side */
@media screen and (min-width:769px) and (max-width:1079px){
 .about-container{
 gap:40px;
 margin:0 50px;
 max-width:calc(100vw - 100px);
}
 
 .about-media-grid{
 grid-template-columns:repeat(2,250px);
 grid-template-rows:400px;
 gap:15px;
 height:400px;
}
 
 .media-item{
 width:250px;
 height:400px;
}
 
 .media-item.review-image{
 height:400px;
}
}
/* Fix contact form centering for viewports less than 1300px */
@media screen and (min-width:769px) and (max-width:1299px){
 .contact-form-container{
 padding:60px 20px;
}
 
 .contact-form-container .container{
 max-width:none;
 width:100%;
 display:flex;
 justify-content:center;
}
 
 .contact-form,
 .fs-form{
 max-width:400px;
 width:100%;
}
 
 /* Override inline styles for form inputs */
 .fs-input{
 width:100% !important;
 max-width:400px;
 box-sizing:border-box;
}
 
 .fs-textarea{
 width:100% !important;
 max-width:400px;
 box-sizing:border-box;
}
 
 .fs-button{
 width:100% !important;
 max-width:400px;
 box-sizing:border-box;
}
}
.media-item img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
}
.video-item video{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
 border-radius:12px;
}
/* Mobile Responsive for About Section */
@media (max-width:768px){
 .about-container{
 grid-template-columns:1fr;
 gap:40px;
 padding:0;
}
 
 .about-content{
 text-align:center !important;
 padding:0 1rem;
 width:100%;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
}
 
 .about-media-grid{
 grid-template-columns:1fr;
 grid-template-rows:auto;
 height:auto;
 gap:15px;
 width:100vw;
 margin-left:calc(-50vw + 50%);
 padding:0 1rem;
 box-sizing:border-box;
}
 
 .media-item{
 width:100%;
 height:400px;
}
 
 .media-item video,
 .media-item img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
}
 
 /* Override tablet padding for mobile */
 .nav-container{
 padding:0.5rem 1rem !important;
}
 
 .nav-menu.active{
 padding-left:0 !important;
}
 
}
/* Reviews Section */
.reviews-section{
 padding:6rem 0;
 background:#ffffff;
 overflow:hidden;
 position:relative;
}
.reviews-header{
 text-align:center;
 margin-bottom:4rem;
 max-width:800px;
 margin-left:auto;
 margin-right:auto;
 padding:0 2rem;
}
.reviews-stars-img{display:block;height:36px;width:auto;margin:0 auto 20px;}
.reviews-title{
 font-family:'Bodoni Moda',Georgia,serif;
 font-size:3rem;
 color:#2c2c2c;
 margin-bottom:1rem;
 font-weight:600;
 line-height:1.2;
}
.reviews-subtitle{
 font-size:1.1rem;
 color:#666;
 line-height:1.6;
 max-width:600px;
 margin:0 auto;
}
.reviews-carousel-container{
 position:relative;
 overflow-x:hidden;
 overflow-y:visible;
 width:100%;
 display:flex;
 flex-direction:column;
 gap:2rem;
}
.reviews-carousel-container::before,
.reviews-carousel-container::after{
 content:'';
 position:absolute;
 top:0;
 bottom:0;
 width:200px;
 z-index:10;
 pointer-events:none;
}
/* Reduce blur width on mobile */
@media (max-width:768px){
 .reviews-carousel-container::before,
 .reviews-carousel-container::after{
 width:80px;
}
}
/* Services grid: tablet only (951px-1299px) */
@media (min-width:951px) and (max-width:1299px){
 .services-grid{
 display:grid !important;
 grid-template-columns:repeat(2,1fr) !important;
 grid-template-rows:auto !important;
 gap:1.5rem !important;
 margin-top:3rem;
 justify-items:center;
 align-items:stretch;
}
}
@media (max-width:480px){
 .reviews-carousel-container::before,
 .reviews-carousel-container::after{
 width:50px;
}
}
.reviews-carousel-container::before{
 left:0;
 background:linear-gradient(to right,#ffffff,transparent);
}
.reviews-carousel-container::after{
 right:0;
 background:linear-gradient(to left,#ffffff,transparent);
}
.reviews-carousel{
 overflow-x:hidden;
 overflow-y:visible;
 display:flex;
 gap:2rem;
 width:max-content;
}
.reviews-carousel-top{
 animation:scrollReviews 40s linear infinite;
}
.reviews-carousel-bottom{
 animation:scrollReviews 40s linear infinite;
}
/* CSS-based hover pause - more reliable than JS */
.reviews-carousel-container:hover .reviews-carousel-top,
.reviews-carousel-container:hover .reviews-carousel-bottom{
 animation-play-state:paused !important;
}
.review-card{
 flex:0 0 400px;
 background:#f5f5f5;
 border:1px solid #e0e0e0;
 border-radius:50px;
 padding:1.5rem;
 box-shadow:0 2px 8px rgba(0,0,0,0.1);
 position:relative;
 transition:transform 0.3s ease;
 min-height:fit-content;
}
.review-card:hover{
 transform:translateY(-2px);
 box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.review-card:hover ~ * .reviews-carousel-top,
.review-card:hover ~ * .reviews-carousel-bottom,
.reviews-carousel:has(.review-card:hover) .reviews-carousel-top,
.reviews-carousel:has(.review-card:hover) .reviews-carousel-bottom{
 animation-play-state:paused !important;
}
/* Tablet responsive for review cards */
@media (max-width:768px){
 .review-card{
 flex:0 0 300px;
}
}
.review-avatar{
 width:40px;
 height:40px;
 border-radius:50%;
 background-size:cover;
 background-position:center;
 margin-bottom:1rem;
 border:2px solid #f0f0f0;
}
.review-content{
 flex:1;
}
.review-header{
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-bottom:0.5rem;
}
.review-name{
 font-weight:600;
 color:#000000;
 font-size:0.95rem;
 cursor:pointer;
 text-decoration:underline;
 transition:color 0.3s ease;
}
.review-name:hover{
 color:#ffd653;
}
.review-time{
 font-size:0.85rem;
 color:#666;
}
.review-stars{
 color:#ffc107;
 font-size:1rem;
 margin-bottom:0.75rem;
 letter-spacing:2px;
}
.review-text{
 color:#333;
 font-size:0.9rem;
 line-height:1.5;
 margin-bottom:0.5rem;
 display:-webkit-box;
 -webkit-line-clamp:3;
 -webkit-box-orient:vertical;
 overflow:hidden;
 transition:all 0.3s ease;
}
.review-text.expanded{
 display:block !important;
 -webkit-line-clamp:unset !important;
 line-clamp:unset !important;
 -webkit-box-orient:unset !important;
 overflow:visible !important;
 white-space:normal !important;
 max-height:none !important;
 height:auto !important;
 transition:none !important;
}
.review-card .review-more{
 cursor:pointer;
 color:#1a73e8;
 text-decoration:underline;
 margin-top:8px;
 touch-action:manipulation;
 position:relative;
 z-index:20;
 padding:8px 4px;
 display:inline-block;
 min-height:30px;
 min-width:80px;
}
/* Ensure review cards can expand vertically for full text display */
.review-card{
 overflow:visible !important;
 height:auto !important;
}
.review-card.expanded{
 height:auto !important;
 max-height:none !important;
 overflow:visible !important;
}
.review-more{
 color:#1a73e8;
 font-size:0.85rem;
 cursor:pointer;
 font-weight:500;
 touch-action:manipulation;
 -webkit-touch-callout:none;
 -webkit-user-select:none;
 -khtml-user-select:none;
 -moz-user-select:none;
 -ms-user-select:none;
 user-select:none;
 padding:8px 4px;
 margin:4px 0;
 display:inline-block;
 min-height:20px;
 position:relative;
 z-index:10;
}
.google-logo{
 position:absolute;
 top:1rem;
 right:1rem;
 width:20px;
 height:20px;
 display:flex;
 align-items:center;
 justify-content:center;
 z-index:5;
 pointer-events:none;
}
@keyframes scrollReviews{
 0%{
 transform:translateX(0);
}
 100%{
 transform:translateX(-50%);
}
}
/* Questions Section */
.questions{
 padding:120px 0;
 background:#ffd653;
 text-align:center;
 width:100vw;
 margin-left:calc(-50vw + 50%);
}
.questions-container{
 max-width:800px;
 margin:0 auto;
 padding:0 20px;
}
.questions-content{
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:30px;
}
.questions-title{
 font-family:'Bodoni Moda',Georgia,serif;
 font-size:3rem;
 font-weight:400;
 color:#2c2c2c;
 margin:0;
 line-height:1.2;
}
.questions-subtitle{
 font-size:1.1rem;
 color:#666;
 margin:0;
 max-width:700px;
 line-height:1.5;
}
.questions-button{
 background:#2c2c2c;
 color:white;
 padding:15px 40px;
 text-decoration:none;
 border-radius:50px;
 font-weight:600;
 font-size:0.9rem;
 letter-spacing:1px;
 text-transform:uppercase;
 transition:all 0.3s ease;
 display:inline-block;
 border:2px solid #2c2c2c;
}
.questions-button:hover{
 background:white;
 color:#2c2c2c;
 border-color:white;
 transform:translateY(-2px);
}
/* Footer */
.footer{
 background:#000000;
 color:#fff;
 padding:4rem 0 2rem;
 width:100vw;
 margin-left:calc(-50vw + 50%);
}
.footer-container{
 max-width:none;
 margin:0;
 padding:0 100px;
 position:relative;
}
.footer-main{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:4rem;
 margin-bottom:3rem;
 align-items:start;
}
.footer-left{
 max-width:700px;
 margin-left:0;
 padding-left:0;
}
.footer-title{
 font-family:'Bodoni Moda',Georgia,serif;
 font-size:3rem;
 color:#ffffff;
 margin-bottom:3.5rem;
 line-height:1.3;
 font-weight:400;
 text-align:left;
 max-width:600px;
 width:100%;
}
.footer-brand{
 margin-bottom:2rem;
}
.footer-logo-img{
 height:50px;
 width:auto;
 margin-bottom:2rem;
}
.footer-contact-info{
 color:#ccc;
 text-align:left;
}
.footer-contact-info p{
 margin-bottom:0.5rem;
}
.footer-right{
 max-width:none;
 width:auto;
}
.newsletter-title{
 font-size:3rem;
 margin-bottom:1.5rem;
 color:#fff;
}
.newsletter-form{
 display:flex;
 margin-bottom:1rem;
 align-items:stretch;
}
.newsletter-input{
 flex:1;
 padding:1rem;
 border:none;
 background:#333;
 color:#fff;
 border-radius:50px 0 0 50px;
 width:100%;
 max-width:900px;
}
.newsletter-input::placeholder{
 color:#999;
}
.newsletter-button{
 background:#ffd653;
 color:#000;
 border:none;
 padding:1rem 2rem;
 font-weight:600;
 letter-spacing:1px;
 cursor:pointer;
 transition:background 0.3s ease;
 text-transform:uppercase;
 border-radius:0 50px 50px 0;
}
.newsletter-button:hover{
 background:#ffd653;
}
.newsletter-disclaimer{
 color:#ccc;
 font-size:0.9rem;
 margin-bottom:2rem;
}
.social-links{
 display:flex;
 gap:1rem;
}
.social-link{
 width:40px;
 height:40px;
 background:#333;
 color:#fff;
 display:flex;
 align-items:center;
 justify-content:center;
 border-radius:50%;
 transition:background 0.3s ease;
}
.social-link:hover{
 background:#ffd653;
}
.footer-bottom{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding-top:2rem;
 flex-wrap:wrap;
 gap:1rem;
}
.footer-nav{
 display:flex;
 gap:2rem;
 flex-wrap:wrap;
}
.footer-nav a{
 color:#ccc;
 font-size:0.9rem;
 font-weight:500;
 text-transform:uppercase;
 letter-spacing:0.5px;
 transition:color 0.3s ease;
}
.footer-nav a:hover{
 color:#ffd653;
}
.footer-copyright{
 color:#666;
 font-size:0.9rem;
 margin:0;
}
/* Desktop-only logo adjustments */
@media (min-width:769px){
 .logo-image{
 height:45px;
 transform:translateY(5px);
}
}
/* Responsive Design */
@media (max-width:1299px){
 .top-bar-contact{
 flex-direction:row;
 gap:0.5rem;
 text-align:center;
 font-size:0.75rem;
}
 
 .top-bar-phone,
 .top-bar-address{
 font-size:0.75rem;
}
 
 .top-bar-separator{
 font-size:0.75rem;
 margin:0 0.3rem;
}
 
 .top-bar-container{
 padding:0 1rem;
}
 
 .header{
 top:2rem;
}
 
 .hero{
 padding:12rem 0 4rem;
}
 
 .hero::before{
 content:'';
 position:absolute;
 top:0;
 left:0;
 right:0;
 bottom:0;
 background:rgba(0,0,0,0.65);
 z-index:1;
}
 
 .hero-container{
 position:relative;
 z-index:2;
}
 
 .nav-container{
 flex-direction:row;
 justify-content:space-between;
 align-items:center;
 gap:1rem;
 padding:0.5rem 100px;
}
 
 .nav-menu{
 display:none;
 position:fixed;
 top:5rem;
 left:0;
 width:100%;
 min-height:calc(100vh - 5rem);
 background:rgba(0,0,0,0.95);
 flex-direction:column;
 padding:1rem 0 0 0;
 z-index:1000;
 overflow-y:auto;
}
 
 .nav-menu .search-icon-container{
 display:none;
}
 
 .nav-menu .search-nav-item{
 display:none !important;
}
 
 .nav-menu.active{
 display:flex;
 pointer-events:auto;
 z-index:1300;
 margin-top:12px;
 justify-content:flex-start;
 align-items:stretch;
 padding-left:70px;
}
 
 /* Hero content tablet styling */
 .hero-container{
 padding-left:0 !important;
 padding-right:0 !important;
}
 
 .hero .hero-content{
 width:616px !important;
 max-width:none !important;
 padding-left:100px !important;
 padding-right:0 !important;
}
 
 /* Simple Mobile Navigation Styles */
 .nav-menu .nav-item{
 width:100%;
 opacity:1 !important;
 transform:none !important;
 transition:none !important;
 animation:none !important;
}
 
 .nav-menu .nav-link{
 display:block;
 padding:0.75rem 2rem;
 color:#fff;
 text-decoration:none;
 font-size:1rem;
 font-weight:500;
 letter-spacing:1px;
 text-align:left;
}
 
 .nav-menu .nav-link:hover{
 background-color:rgba(255,214,83,0.1);
 color:#ffd653;
}
 
 /* Services Toggle Styles */
 .services-toggle{
 display:flex;
 justify-content:space-between;
 align-items:center;
 cursor:pointer;
}
 
 .services-arrow{
 font-size:0.8rem;
 transition:transform 0.3s ease;
}
 
 .services-toggle.active .services-arrow{
 transform:rotate(180deg);
}
 
 /* Services Submenu */
 .services-submenu{
 max-height:0;
 overflow:hidden;
 transition:max-height 0.4s ease,padding 0.4s ease;
 background-color:rgba(42,42,42,0.95);
 border-left:2px solid #ffd653;
 margin:0;
 margin-top:0.5rem;
 padding:0;
 list-style:none;
}
 
 .services-submenu.active{
 max-height:500px;
 padding:0.5rem 0;
}
 
 .services-submenu .nav-link{
 padding:0.75rem 2.5rem;
 font-size:0.9rem;
 font-weight:400;
 color:rgba(255,255,255,0.9);
 border-bottom:1px solid rgba(255,255,255,0.05);
 white-space:nowrap;
}
 
 .services-submenu .nav-link:hover{
 background-color:rgba(255,214,83,0.08);
 color:#ffd653;
}
 
 .services-submenu li:last-child .nav-link{
 border-bottom:none;
}
 
 .mobile-nav-controls{
 display:flex;
 align-items:center;
 gap:1rem;
}
 
 .logo-image{
 height:40px;
 max-width:200px;
 transform:none;
}
 
 /* Service Page Mobile Styles */
 .breadcrumb-container{
 margin:0 1rem;
 margin-bottom:50px !important;
}
 
 
 .service-page-content{
 margin:0 1rem;
}
 
 .service-page-title{
 font-size:2.2rem;
}
 
 .service-page-subtitle{
 font-size:1rem;
 padding:0 1rem;
}
 
 .service-page .service-page-header{
 margin-top:50px !important;
}
 
 
 /* Service Gallery Mobile Styles */
 .service-gallery-grid{
 grid-template-columns:repeat(2,1fr) !important;
 gap:1rem !important;
}
 
 .service-gallery-title{
 font-size:1.1rem;
}
 
 .service-gallery-price{
 font-size:0.9rem;
}
 
 .burger-menu{
 display:flex;
 flex-direction:column;
 cursor:pointer;
 background:none;
 border:none;
 padding:0;
 width:24px;
 height:18px;
 justify-content:space-between;
}
 
 .burger-line{
 width:100%;
 height:2px;
 background:#fff;
 transition:all 0.3s ease;
}
 
 .burger-menu.active .burger-line:nth-child(1){
 transform:rotate(45deg) translate(6px,6px);
}
 
 .burger-menu.active .burger-line:nth-child(2){
 opacity:0;
}
 
 .burger-menu.active .burger-line:nth-child(3){
 transform:rotate(-45deg) translate(6px,-6px);
}
 
 .search-icon-container{
 margin:0;
}
 
 .hero-container{
 grid-template-columns:1fr;
 gap:2rem;
 text-align:left;
 padding:0 !important;
}
 
 .hero{
 background-position:60% center;
 min-height:100vh;
}
 
 .hero-content{
 max-width:none;
 text-align:left;
 padding:0 20px !important;
}
 
 .hero-title,
 .hero-subtitle{
 text-align:left;
}
 
 .hero-title{
 font-size:2.5rem;
}
 
 
 .services{
 width:100%;
 margin-left:0;
}
 
 .site-container{
 margin:0;
 max-width:none;
}
 
 .footer-main{
 display:flex;
 flex-direction:column;
 gap:2rem;
 align-items:flex-start;
}
 
 .footer-left{
 width:100%;
 max-width:none;
 order:1;
}
 
 .footer-right{
 width:100%;
 order:2;
}
 
 .footer-bottom{
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 padding-top:1rem;
 gap:1.5rem;
 order:3;
}
 
.footer-nav{
 grid-template-columns:repeat(3,1fr);
 grid-template-rows:repeat(2,1fr);
 gap:1rem 2rem;
 max-width:400px;
}
 
 .footer-title{
 font-size:clamp(1.8rem,6vw,2.5rem);
 max-width:none;
 margin-bottom:2rem;
 white-space:nowrap;
}
 
 .footer{
 margin-left:0;
}
 
 .footer-container{
 padding:0 105px;
}
 
 .newsletter-title{
 font-size:2rem;
 margin-top:2rem;
}
 
 .newsletter-form{
 flex-direction:row;
 align-items:stretch;
 max-width:100%;
}
 
 .newsletter-input{
 border-radius:25px 0 0 25px;
}
 
 .newsletter-button{
 border-radius:0 25px 25px 0;
 padding:0.8rem 1.2rem;
 font-size:0.8rem;
 white-space:nowrap;
}
 
 .footer-nav{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 grid-template-rows:repeat(2,1fr);
 gap:1rem 2rem;
 max-width:400px;
}
 
 .contact-actions{
 flex-direction:column;
 align-items:center;
}
 
 .testimonials-grid{
 grid-template-columns:1fr;
}
}
@media (max-width:480px){
 .section-title{
 font-size:2.5rem;
}
 
 .hero-title{
 font-size:2rem;
}
 
 .review-card{
 flex:0 0 280px;
 padding:1.2rem;
}
}
@media (max-width:380px){
 .hero-title .and-beauty{
 white-space:normal;
}
 
 .hero-title .and{
 font-size:1em;
}
 
 .about-title{
 font-size:2.5rem;
}
 
 .testimonials-title{
 font-size:2.5rem;
}
 
 .contact-title{
 font-size:2.5rem;
}
 
 .services-title{
 font-size:1.5rem;
}
 
 .hero-container{
 padding-top:2rem;
}
 
 .contact-info{
 grid-template-columns:1fr;
}
 
 .review-card{
 flex:0 0 250px;
 padding:1rem;
}
}
/* Performance and Accessibility */
.cta-button:focus,
.nav-link:focus,
.social-link:focus,
.newsletter-button:focus{
 outline:2px solid #D4A574;
 outline-offset:2px;
}
/* Respect reduced motion preferences */
@media (prefers-reduced-motion:reduce){
 *{
 animation-duration:0.01ms !important;
 animation-iteration-count:1 !important;
 transition-duration:0.01ms !important;
}
 
 /* Ensure burger menu state changes are instant for reduced motion users */
 .burger-menu.active .burger-line:nth-child(1){
 transform:rotate(45deg) translate(6px,6px) !important;
}
 
 .burger-menu.active .burger-line:nth-child(2){
 opacity:0 !important;
}
 
 .burger-menu.active .burger-line:nth-child(3){
 transform:rotate(-45deg) translate(6px,-6px) !important;
}
}
/* Print styles */
@media print{
 .header,
 .cta-button{
 display:none;
}
 
 body{
 font-size:12pt;
 line-height:1.4;
 color:#000;
 background:#fff;
}
 
 h1,h2,h3{
 page-break-after:avoid;
}
}
/* About Page Styles */
.about-page{
 padding:0;
 margin:0;
 background:#fff;
}
.about-header{
 padding:80px 100px;
 text-align:center;
 background:#fff;
 margin-top:120px;
}
.about-header-content{
 max-width:800px;
 margin:0 auto;
}
.about-main-title{
 font-size:3.5rem;
 color:#2c2c2c;
 margin-bottom:2rem;
 line-height:1.2;
 font-weight:400;
}
/* Desktop-only single line title */
@media (min-width:992px){
 .about-main-title{
 white-space:nowrap;
}
}
.about-main-subtitle{
 font-size:1.1rem;
 color:#666;
 line-height:1.7;
 margin:0;
}
.about-section{
 padding:0;
 margin:0;
}
.about-section-container{
 display:grid;
 grid-template-columns:1fr 1fr;
 min-height:600px;
 align-items:stretch;
}
.about-section-container.reverse{
 grid-template-columns:1fr 1fr;
}
.about-text-content{
 padding:80px 60px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 background:#fff;
}
/* Left align first and third sections with header logo */
.rooted-in-care .about-text-content,
.care-section .about-text-content{
 padding-left:100px;
}
.about-text-content.green-bg{
 background:#e8f4e8;
}
.about-section-title{
 font-size:3rem;
 color:#2c2c2c;
 margin-bottom:2rem;
 line-height:1.2;
 font-weight:400;
}
.about-section-description{
 font-size:1.1rem;
 color:#666;
 line-height:1.7;
 margin:0;
}
.about-image-content{
 overflow:hidden;
 position:relative;
}
.about-image-content img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
}
/* Reverse layout for wellness section */
.wellness-section .about-section-container{
 grid-template-columns:1fr 1fr;
}
/* Mobile Responsive for About Page */
@media (max-width:768px){
 .about-header{
 padding:40px 1rem;
 margin-top:120px;
}
 
 .about-main-title{
 font-size:2.5rem;
}
 
 .about-main-subtitle{
 font-size:1rem;
}
 
 .about-section-container,
 .about-section-container.reverse,
 .wellness-section .about-section-container{
 grid-template-columns:1fr;
 min-height:auto;
}
 
 .about-text-content{
 padding:40px 1rem;
 order:2;
}
 
 /* Center alignment for "Led by..." section on mobile */
 .rooted-in-care .about-text-content,
 .care-section .about-text-content{
 padding-left:1rem;
 text-align:center;
}
 
 .about-image-content{
 min-height:300px;
 order:1;
}
 
 .about-section-title{
 font-size:2rem;
 margin-bottom:1.5rem;
}
 
 .about-section-description{
 font-size:1rem;
}
 
 /* Keep text first for mobile in all sections */
 .rooted-in-care .about-text-content{
 order:1;
}
 
 .rooted-in-care .about-image-content{
 order:2;
}
 
 .wellness-section .about-text-content{
 order:1;
}
 
 .wellness-section .about-image-content{
 order:2;
}
 
 .care-section .about-text-content{
 order:1;
}
 
 .care-section .about-image-content{
 order:2;
}
}
/* Contact Page Styles */
.contact-page{
 margin:0;
 background:#fff;
}
/* Contact Hero Section */
.contact-hero{
 padding:96px 100px 80px;
 text-align:center;
 background:#fff;
 margin-top:120px;
}
.contact-hero-container{
 max-width:800px;
 margin:0 auto;
}
.contact-hero-title{
 font-size:3.5rem;
 color:#2c2c2c;
 margin-bottom:2rem;
 line-height:1.2;
 font-weight:400;
}
.contact-hero-description{
 font-size:1.1rem;
 color:#666;
 line-height:1.6;
 margin-bottom:0;
}
/* Contact Section */
.contact-section{
 padding:0;
 background:#fff;
}
.contact-container{
 display:grid;
 grid-template-columns:1fr 1fr;
 min-height:600px;
 align-items:stretch;
}
/* Contact Info Column */
.contact-info{
 padding:80px 60px;
 padding-left:100px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 background:#fff;
 gap:3rem;
}
.contact-info-group{
 margin-bottom:0;
}
.contact-info-title{
 font-size:1.5rem;
 color:#2c2c2c;
 margin-bottom:1rem;
 font-weight:500;
}
.contact-info-text{
 font-size:1rem;
 color:#666;
 line-height:1.6;
 margin:0;
}
.contact-link{
 color:#666;
 text-decoration:none;
 transition:color 0.3s ease;
}
.contact-link:hover{
 color:#f4c430;
 text-decoration:underline;
}
/* Contact Form Column */
.contact-form-container{
 background:#2c2c2c;
 padding:80px 60px;
 display:flex;
 align-items:center;
 justify-content:center;
 overflow:hidden;
}
.contact-form-container .container{
 width:100%;
 max-width:400px;
}
.contact-form,
.fs-form{
 width:100%;
 max-width:400px;
 display:flex;
 flex-direction:column;
 gap:1.5rem;
}
/* Form fields styling */
.fs-field{
 display:flex;
 flex-direction:column;
}
.fs-label{
 color:#fff;
 font-size:0.9rem;
 margin-bottom:0.5rem;
 font-weight:400;
}
.fs-input,
.fs-textarea{
 padding:1rem;
 border:none;
 border-radius:4px;
 background:#fff;
 font-size:1rem;
 font-family:inherit;
 transition:box-shadow 0.3s ease;
 width:100%;
 box-sizing:border-box;
}
.fs-input:focus,
.fs-textarea:focus{
 outline:none;
 box-shadow:0 0 0 2px #f4c430;
}
.fs-textarea{
 resize:vertical;
 min-height:120px;
}
.fs-button-group{
 margin-top:1rem;
}
.fs-button{
 background:#ffd653;
 color:#2c2c2c;
 border:none;
 padding:1rem 2rem;
 border-radius:4px;
 font-size:1rem;
 font-weight:500;
 cursor:pointer;
 transition:all 0.3s ease;
 width:100%;
 text-transform:uppercase;
 letter-spacing:0.5px;
}
.fs-button:hover{
 background:#e6c247;
 transform:translateY(-1px);
}
.form-group{
 display:flex;
 flex-direction:column;
}
.form-label{
 color:#fff;
 font-size:0.9rem;
 margin-bottom:0.5rem;
 font-weight:400;
}
.form-input,
.form-textarea{
 padding:1rem;
 border:none;
 border-radius:4px;
 background:#fff;
 font-size:1rem;
 font-family:inherit;
 transition:box-shadow 0.3s ease;
}
.form-input:focus,
.form-textarea:focus{
 outline:none;
 box-shadow:0 0 0 2px #f4c430;
}
.form-textarea{
 resize:vertical;
 min-height:120px;
}
.form-submit-btn{
 background:#f4c430;
 color:#2c2c2c;
 border:none;
 padding:1rem 2rem;
 font-size:0.9rem;
 font-weight:600;
 letter-spacing:0.5px;
 cursor:pointer;
 transition:all 0.3s ease;
 text-transform:uppercase;
 margin-top:1rem;
}
.form-submit-btn:hover{
 background:#e6b32a;
 transform:translateY(-1px);
}
.form-submit-btn:disabled{
 opacity:0.6;
 cursor:not-allowed;
 transform:none;
}
/* Google Maps Section */
.map-section{
 padding:0;
 background:#f8f8f8;
}
.map-container{
 width:100%;
 height:400px;
}
.map-container iframe{
 width:100%;
 height:100%;
 display:block;
}
/* Mobile Responsive for Contact Page */
@media (max-width:768px){
 .contact-hero{
 padding:32px 1rem;
 margin-top:120px;
}
 
 .contact-hero-title{
 font-size:2.5rem;
}
 
 .contact-hero-description{
 font-size:1rem;
}
 
 .contact-container{
 grid-template-columns:1fr;
 min-height:auto;
}
 
 .contact-info{
 padding:40px 1rem;
 order:1;
 gap:2rem;
}
 
 .contact-form-container{
 padding:40px 1rem;
 order:2;
 box-sizing:border-box;
 overflow:hidden;
 width:100%;
}
 
 .contact-form-container .container{
 max-width:none;
 width:100%;
 padding:0;
 margin:0;
 box-sizing:border-box;
}
 
 .contact-form,
 .fs-form{
 max-width:none;
 width:calc(100% - 0px);
 margin:0;
 padding:0;
 box-sizing:border-box;
}
 
 .fs-field{
 width:100%;
 margin-bottom:1rem;
 display:flex;
 flex-direction:column;
 box-sizing:border-box;
}
 
 .fs-input,
 .fs-textarea{
 font-size:16px;/* Prevent zoom on iOS */
 max-width:calc(100vw - 2rem);/* Align to page margins like search icon */
 width:100%;
 padding:0.75rem;
 box-sizing:border-box;
 border-radius:4px;
 border:none;
 margin:0;
}
 
 .fs-button-group{
 width:100%;
 margin-top:1rem;
 display:flex;
 flex-direction:column;
 box-sizing:border-box;
}
 
 .fs-button{
 width:100%;
 max-width:calc(100vw - 2rem);/* Match input width - align to page margins */
 padding:1rem;
 font-size:16px;
 box-sizing:border-box;
 margin:0;
}
 
 .contact-info-title{
 font-size:1.25rem;
}
 
 .map-container{
 height:300px;
}
}
/* Active nav link styling for contact page */
.nav-link.active{
 color:#f4c430;
 font-weight:500;
}
/* Force refresh */
/* Clickable Service Cards */
.service-link{
 text-decoration:none;
 color:inherit;
 display:flex;
 flex-direction:column;
 transition:all 0.3s ease;
 cursor:pointer;
}
.service-link:hover{
 text-decoration:none;
 color:inherit;
 transform:translateY(-2px);
}
.service-link:focus{
 outline:none;/* Remove click outline */
}
.service-link .service-gallery-title{
 transition:color 0.3s ease;
}
.service-link:hover .service-gallery-title{
 color:#f4c430;
}
.service-link .service-gallery-image img{
 transition:transform 0.3s ease;
}
.service-link:hover .service-gallery-image img{
 transform:scale(1.02);
}
/* New Service Hero Layout */
.service-hero-new{
 padding:70px 0 80px;
 background:#fff;
}
.service-hero-new-container{
 margin:0;
 padding:0 100px;/* Match header padding */
 max-width:100vw;
}
.service-layout{
 display:flex;
 align-items:flex-start;/* Align content to top of visual */
 gap:20px;/* 20px between visual and copy */
 margin-bottom:60px;
}
/* Left:Image - Aligned with logo */
.service-image-left{
 flex-shrink:0;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
}
/* Breadcrumb Navigation */
.service-breadcrumb{
 margin-bottom:50px;/* 50px white space before visual */
 font-size:0.9rem;
}
.breadcrumb-link{
 color:#666;
 text-decoration:none;
 transition:color 0.3s ease;
}
.breadcrumb-link:hover{
 color:#2c2c2c;
}
.breadcrumb-separator{
 margin:0 0.5rem;
 color:#999;
}
.breadcrumb-current{
 color:#2c2c2c;
 font-weight:500;
}
.service-image-main{
 height:700px;/* Fixed height */
 width:auto;/* Proportional width */
 border-radius:16px;
 object-fit:cover;
 transition:transform 0.3s ease;
}
/* Hover effect for individual service page hero images */
.service-image-left:hover .service-image-main{
 transform:scale(1.05);
 cursor:pointer;
}
/* Right:Content */
.service-content-right{
 flex:1;
 width:850px;/* Fixed 850px width */
 max-width:850px;
 padding:0;/* Remove top/bottom padding to align with visual top */
 padding-left:130px;/* 80px + 50px = 130px left padding */
}
.service-main-title{
 font-size:2.5rem;
 color:#2c2c2c;
 margin:0 0 2rem 0;
 font-weight:400;
 line-height:1.2;
}
.service-pricing{
 margin-bottom:2.5rem;
}
.price-main{
 font-size:2rem;
 color:#2c2c2c;
 font-weight:600;
 margin-bottom:0.5rem;
}
.price-subtitle{
 color:#666;
 font-size:1rem;
}
/* Description Section */
.service-description-section{
 margin-bottom:2rem;
 border-top:1px solid #e0e0e0;
 padding-top:1.5rem;
}
.description-header{
 display:flex;
 justify-content:space-between;
 align-items:center;
 cursor:pointer;
 margin-bottom:1rem;
}
.description-header h3{
 margin:0;
 font-size:1.2rem;
 color:#2c2c2c;
 font-weight:500;
}
.description-toggle-icon{
 font-size:1.5rem;
 color:#666;
 font-weight:300;
 transition:transform 0.3s ease;
}
.description-content{
 transition:all 0.3s ease;
}
.description-content p{
 color:#666;
 line-height:1.6;
 margin:0 0 16px;
}
.description-content p:last-child{
 margin-bottom:0;
}
/* Sharing */
.service-sharing{
 display:flex;
 align-items:center;
 gap:1rem;
 margin-bottom:2rem;
}
.sharing-label{
 color:#2c2c2c;
 font-weight:500;
}
.sharing-icons{
 display:flex;
 gap:0.8rem;
}
.share-icon{
 color:#666;
 transition:color 0.3s ease;
 padding:5px;
}
.share-icon:hover{
 color:#f4c430;
}
/* Book Appointment Button in Right Column */
.book-appointment-right{
 margin-top:2rem;
}
.book-appointment-btn-inline{
 background:#000;/* Black background to match homepage */
 color:#ffd653;/* Gold text to match homepage */
 border:2px solid #000;
 border-radius:50px;/* Rounded to match homepage */
 padding:1rem 2rem;
 font-size:0.9rem;
 font-weight:600;
 letter-spacing:1px;
 cursor:pointer;
 transition:all 0.3s ease;
 text-transform:uppercase;
 width:100%;
 max-width:300px;
}
.book-appointment-btn-inline:hover{
 background:#ffd653;/* Gold background on hover */
 color:#000;/* Black text on hover */
 border-color:#ffd653;
}
/* Fix for booking button text truncation - prevent wrapping and ensure proper sizing */
.cta-button,
.book-appointment-btn-inline,
a[href*="janeapp.com"]{
 display:inline-flex;
 align-items:center;
 white-space:nowrap;
 width:fit-content !important;
 max-width:100%;
 line-height:1;
 overflow:visible;
}
/* Optional responsive adjustment for small screens */
@media (max-width:480px){
 .cta-button,
 .book-appointment-btn-inline,
 a[href*="janeapp.com"]{
 font-size:clamp(0.85rem,3.5vw,1rem);
}
}
/* Mobile Responsive */
@media (max-width:1024px){
 .service-hero-new-container{
 padding:0 50px;
}
 
 .service-layout{
 flex-direction:column;
 gap:40px;
 align-items:center;
}
 
 .service-image-left{
 align-items:center;
}
 
 .service-content-right{
 width:100%;
 max-width:850px;
 text-align:left;
 padding-left:60px;/* Reduced padding on tablet */
 padding-top:0;
}
 
 .service-image-main{
 height:600px;
}
 
 .service-main-title{
 font-size:2rem;
}
}
@media (max-width:768px){
 .service-hero-new-container{
 padding:0 20px;
}
 
 .service-hero-new{
 padding:50px 0 60px;
}
 
 /* Jawline page:70% spacing reduction (100px → 30px total) - mobile only */
 .jawline-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .jawline-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Lips page:40% spacing reduction (100px → 60px total) - mobile only */
 .lips-page .breadcrumb-container{
 margin-bottom:30px !important;
}
 
 .lips-page ~ .service-hero-new{
 padding-top:30px !important;
}
 
 /* Upper face volumizing page:70% spacing reduction (100px → 30px total) - mobile only */
 .upper-face-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .upper-face-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 
 /* Tirzepatide page:70% spacing reduction (100px → 30px total) - mobile only */
 .tirzepatide-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .tirzepatide-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Semaglutide page:70% spacing reduction (100px → 30px total) - mobile only */
 .semaglutide-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .semaglutide-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Inner beauty page:70% spacing reduction (100px → 30px total) - mobile only */
 .inner-beauty-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .inner-beauty-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Hangover relief page:70% spacing reduction (100px → 30px total) - mobile only */
 .hangover-relief-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .hangover-relief-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Myers cocktail page:70% spacing reduction (100px → 30px total) - mobile only */
 .myers-cocktail-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .myers-cocktail-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* NAD Infusions page:70% spacing reduction (100px → 30px total) - mobile only */
 .nad-infusions-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .nad-infusions-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Face and neck rejuvenation page:70% spacing reduction (100px → 30px total) - mobile only */
 .face-neck-rejuvenation-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .face-neck-rejuvenation-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Hair restoration page:70% spacing reduction (100px → 30px total) - mobile only */
 .hair-restoration-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .hair-restoration-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Body rejuvenation page:70% spacing reduction (100px → 30px total) - mobile only */
 .body-rejuvenation-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .body-rejuvenation-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Jeuveau page:70% spacing reduction (100px → 30px total) - mobile only */
 .jeuveau-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .jeuveau-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Xeomin page:70% spacing reduction (100px → 30px total) - mobile only */
 .xeomin-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .xeomin-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Botox page:70% spacing reduction (100px → 30px total) - mobile only */
 .botox-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .botox-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Derma PRP page:70% spacing reduction (100px → 30px total) - mobile only */
 .derma-prp-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .derma-prp-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Cellenis Derma PRP page:70% spacing reduction (100px → 30px total) - mobile only */
 .cellenis-derma-prp-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .cellenis-derma-prp-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Peptide Therapy page:70% spacing reduction (100px → 30px total) - mobile only */
 .peptide-therapy-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .peptide-therapy-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 
 /* Vitamin D3 page:70% spacing reduction (100px → 30px total) - mobile only */
 .vitamin-d3-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .vitamin-d3-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 /* Vitamin B12 page:70% spacing reduction (100px → 30px total) - mobile only */
 .vitamin-b12-page .breadcrumb-container{
 margin-bottom:15px !important;
}
 
 .vitamin-b12-page ~ .service-hero-new{
 padding-top:15px !important;
}
 
 .service-content-right{
 width:100%;
 max-width:90vw;
 text-align:left;
 padding-left:30px;/* Minimal padding on mobile */
 padding-top:0;
}
 
 .service-image-main{
 height:500px;
}
 
 .service-main-title{
 font-size:1.8rem;
}
 
 .price-main{
 font-size:1.5rem;
}
 
 .service-breadcrumb{
 margin-bottom:30px;
}
}
/* Final Mobile Override for All Services Grid - MUST BE LAST */
@media (max-width:768px){
 .service-gallery-grid{
 display:grid !important;
 grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 gap:1rem !important;
}
}
/* Mobile-only footer styling - revert to left-aligned with logo */
@media (max-width:768px){
 .footer{
 margin-left:0 !important;
}
 
 .footer-container{
 padding:0 1rem !important;
}
 
 .footer-main{
 display:block !important;
 gap:2rem;
}
 
 .footer-left{
 width:100% !important;
 max-width:none !important;
 margin-bottom:2rem;
 text-align:left !important;
}
 
 .footer-title{
 text-align:left !important;
 font-size:2rem !important;
 margin-bottom:1.5rem;
}
 
 .footer-brand{
 text-align:left !important;
}
 
 .footer-contact-info{
 text-align:left !important;
}
 
 .footer-right{
 width:100% !important;
 text-align:left !important;
}
 
 .newsletter-title{
 text-align:left !important;
 font-size:1.8rem !important;
 margin-top:1rem;
}
 
 .social-links{
 justify-content:flex-start !important;
}
 
 .footer-bottom{
 text-align:left !important;
 align-items:flex-start !important;
}
 
 .footer-nav{
 justify-content:flex-start !important;
 text-align:left !important;
}
}
/* Responsive visibility utilities */
@media (max-width:1024px){
 .desktop-only{
 display:none !important;
}
 .mobile-only{
 display:block !important;
}
}
@media (min-width:1025px){
 .desktop-only{
 display:block !important;
}
 .mobile-only{
 display:none !important;
}
}
/* FINAL MOBILE OVERRIDE - MUST BE LAST - HIGHEST SPECIFICITY */
@media (max-width:768px){
 /* Complete hero reset for mobile alignment */
 .hero-container{
 padding:0 !important;
 margin:0 !important;
 transform:translateY(-60px) !important;
}
 
 .hero .hero-content,
 .hero-content{
 padding:0 20px !important;
 margin:0 !important;
 max-width:none !important;
 text-align:left !important;
}
 
 .hero-subtitle{
 line-height:2 !important;
}
 
 /* Site-wide mobile resets */
 .site-container{
 margin:0 !important;
 max-width:100vw !important;
}
 
 .about-container{
 margin:0 !important;
 max-width:100% !important;
 padding:0 !important;
}
 
 .about-content{
 max-width:800px;
 margin:0 auto;
 text-align:center !important;
 padding:0 2rem;
}
}
/* Clean Tablet Isolation (769px - 1299px) */
@media (min-width:769px) and (max-width:1299px){
 .hero-container{
 padding-left:0 !important;
 padding-right:0 !important;
}
 
 .hero .hero-content{
 width:616px !important;
 max-width:none !important;
 padding-left:100px !important;
 padding-right:0 !important;
}
 
 /* Remove margin from site-container on homepage tablet version */
 .site-container{
 margin:0 !important;
 max-width:100vw !important;
}
 
 /* Service pages formatting for tablet */
 .breadcrumb-container{
 padding-left:100px !important;
 margin-left:0px !important;
}
 
 .services-count{
 padding-left:85px !important;
}
 
 /* 4 columns for service gallery on tablet */
 .service-gallery-grid{
 grid-template-columns:repeat(4,minmax(0,1fr)) !important;
 gap:1.5rem !important;
 padding-left:85px !important;
}
 
 /* All services page specific styling */
 .service-gallery-grid.active{
 padding-left:85px !important;
}
}
/* FINAL MOBILE HERO OVERRIDES - MUST BE ABSOLUTE LAST TO WIN CASCADE */
@media screen and (max-width:768px){
 .hero .hero-container,
 .hero-container{
 transform:translateY(-180px) !important;
 padding:0 !important;
 margin:0 !important;
}
 
 .hero .hero-subtitle,
 .hero-subtitle{
 line-height:2 !important;
}
}
/* Service menu rows: ensure gap between description and price on all pages */
.service-menu > div{gap:2rem!important;}
/* ── Explore Related Services Section ────────────────────────────── */
.related-services-section{
 background:#fff;
 padding:6rem 100px;
}
.related-services-header{
 text-align:center;
 margin-bottom:4rem;
 max-width:800px;
 margin-left:auto;
 margin-right:auto;
}
.related-services-title{
 font-family:'Bodoni Moda',Georgia,serif !important;
 font-size:3rem;
 font-weight:600;
 color:#2c2c2c;
 margin-bottom:1rem;
 line-height:1.2;
}
.related-services-grid{
 display:grid;
 grid-template-columns:repeat(3,350px);
 gap:2rem;
 justify-content:center;
}
.related-service-card{
 display:flex;
 flex-direction:column;
 text-decoration:none;
 color:inherit;
 background:#fff;
 border-radius:10px;
 overflow:hidden;
 width:350px;
 max-width:350px;
 border:1px solid #f0f0f0;
 transition:box-shadow 0.3s ease, transform 0.3s ease;
}
.related-service-card:hover{
 box-shadow:0 8px 30px rgba(0,0,0,0.1);
 transform:translateY(-3px);
}
.related-service-image{
 width:100%;
}
.related-service-image img{
 width:100%;
 height:auto;
 display:block;
 border-radius:10px 10px 0 0;
 transition:transform 0.4s ease;
}
.related-service-card:hover .related-service-image img{
 transform:scale(1.04);
}
.related-service-info{
 padding:1.25rem 1.5rem 1.5rem;
 display:flex;
 flex-direction:column;
 gap:0.5rem;
 flex:1;
}
.related-service-name{
 font-family:'Bodoni Moda',Georgia,serif !important;
 font-size:1.2rem;
 font-weight:500;
 color:#2c2c2c;
 margin:0;
 line-height:1.3;
}
.related-service-price{
 font-size:1rem;
 font-weight:600;
 color:#555;
 margin:0;
}
.related-service-btn{
 display:inline-block;
 margin-top:0.75rem;
 padding:0.65rem 1.5rem;
 background:#000;
 color:#ffd653;
 font-size:0.8rem;
 font-weight:600;
 letter-spacing:1px;
 text-transform:uppercase;
 border-radius:50px;
 align-self:flex-start;
 transition:background 0.3s ease, color 0.3s ease;
}
.related-service-card:hover .related-service-btn{
 background:#ffd653;
 color:#000;
}
@media (max-width:1150px){
 .related-services-section{
  padding:5rem 50px;
 }
 .related-services-grid{
  grid-template-columns:repeat(2,350px);
 }
 .related-service-card{
  width:350px;
 }
}
@media (max-width:780px){
 .related-services-section{
  padding:4rem 24px;
 }
 .related-services-grid{
  grid-template-columns:350px;
 }
 .related-service-card{
  width:350px;
 }
 .related-services-title{
  font-size:2rem;
 }
}
@media (max-width:400px){
 .related-services-grid{
  grid-template-columns:1fr;
 }
 .related-service-card{
  width:100%;
  max-width:100%;
 }
}
@media (max-width:1299px){
.nav-menu{height:calc(100dvh - 5rem);min-height:0!important;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.nav-item.has-dropdown > .dropdown-menu{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;min-width:0!important;margin:.5rem 0 0 0!important;transform:none!important;box-shadow:none!important;border-radius:0!important;z-index:auto!important;}
.nav-item.has-dropdown:not(.mobile-dropdown-active) > .dropdown-menu{display:none!important;opacity:1!important;visibility:visible!important;}
.nav-item.has-dropdown.mobile-dropdown-active > .dropdown-menu{display:block!important;opacity:1!important;visibility:visible!important;max-height:none!important;overflow:visible!important;}
}
