body{
margin:0;
font-family: 'Montserrat', sans-serif;
font-weight: 500;
color:#212121;
font-size:16px;
line-height:1.6;
}

.page-wrapper{
width: 100%;
margin:0 auto;
}


/* HEADER */

.header{
background:#ffffff;
padding:35px 20px;
overflow:hidden;
}

.header-inner{
display:flex;
align-items:center;
justify-content:space-between;
position:relative;
margin:0 auto;
}

.tagline{
font-size:16px;
font-weight:400;
font-style:italic;
color:#333333;
width:30%;
display:flex;
align-items:center;
line-height:20px;
letter-spacing:1.2px;
white-space:nowrap; 
}

.logo{
text-align:center;
width:45%;
}

.logo img{
height:325px;
margin-top:-90px;
margin-bottom:-100px;
}



.menu{
width:33%;
text-align:right;
}

.menu a{
margin-right: 25px;
text-decoration:none;
font-size:14px;
font-weight:500;
letter-spacing:1px;
color:#333333;
}

/* HAMBURGER */

.menu-toggle{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.menu-toggle span{
width:26px;
height:3px;
background:#333;
display:block;
}


/* HERO */

.definition{
background:#000;
color:#fff;
text-align:center;
padding-top:60px;  
padding-bottom:40px;
height: 130px;
font-size:30px;
line-height:12px;
letter-spacing:2.1px;
margin-top:10px;
}



.definition i{
font-style:italic;
}

.hero img{
width:100%;
display:block;
}

/* SERVICES */

.services{
text-align:center;
padding:70px 110px;
background:#ffffff;
}

.services h2,
.concierge h2{
font-size:28px;
font-weight:600;
margin-bottom:20px;
line-height:26px;
letter-spacing:1.6px;
color: #333333;
}


.service-list{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:16px;
list-style:none;
padding:0;
margin:12px 0;
margin-top: 40px;
font-size:18px;
font-weight:500;
color:#333333;
align-items:center;
line-height:12px;
letter-spacing:1.5px;
}



.service-list li{
display:flex;
align-items:center;
}

.service-list li::before{
content:"•";
color:#c40000;
margin-right:6px;
font-size:25px;
}

.options{
margin-top:50px;
font-size:16px;
color:#333333;
font-weight:600;
line-height:12px;
letter-spacing:1px;
}

.options p{
margin-bottom:5px;
line-height:12px;
}

.options ul{
display:flex;
justify-content:center;
gap:18px;
list-style:none;
padding:0;
margin:0;
}

.options li{
display:flex;
align-items:center;
margin-top: 18px;
font-weight: 500;
line-height:12px;
letter-spacing:1px;
}

.options li::before{
content:"•";
color:#c40000;
margin-right:6px;
font-size:25px;
}

/* CONCIERGE */

.concierge{
text-align:center;
font-size:18px;
font-weight:500;
padding:80px 160px;
line-height:12px;
letter-spacing:1px;
margin-top: -10px;
}

.concierge p{
max-width:1600px;
margin:0 auto;
font-size:16px;
font-weight:400;
line-height: 1.3;
}

/* GALLERY */

.gallery{
display:flex;
}

.half{
width:50%;
}

.half img{
width:100%;
display:block;
}

/* FOOTER */

.footer{
text-align:center;
background:#ffffff;
padding:60px 20px;
}

.footer-logo{
height: 135px !important;
width: 135px  !important;
}


.contact{
font-size:18px;
color: #333333;
font-weight:600;
margin-top:20px;
margin-bottom: 20px;
font-weight:400;
letter-spacing:1px;
line-height: 1.8;
}


.contact a{
  color:#333333;    
  text-decoration:none; 
}

.contact a:hover{
  text-decoration:none;
}

.appointment{
font-size:16px;
color: #333333;
font-weight:600;
letter-spacing:2px;
line-height: 1.8;
}

.divider{
width:650px;
height:1px;
background:#333333;
margin:10px auto;
}

hr{
width:650px;
background:#333333;
margin:10px auto;
}

.footer-nav{
display:flex;
justify-content:center;
align-items:center;
gap:20px;
margin-top:20px; 
flex-wrap:wrap;
}

.footer-nav a{
margin:0 12px;
font-size:15px;
text-decoration:none;
font-weight:500;
color:#333333;
letter-spacing:1px;
line-height: 1.8;
}


/* Menu */

.menu-toggle {
  width: 30px;
  height: 22px;
  position: relative;
  cursor: pointer;
}

.menu-toggle span {
  position: absolute;
  height: 3px;
  width: 100%;
  background: #000;
  left: 0;
  transition: 0.3s ease;
}

/* 3 lines position */
.menu-toggle span:nth-child(1) {
  top: 0;
}

.menu-toggle span:nth-child(2) {
  top: 9px;
}

.menu-toggle span:nth-child(3) {
  bottom: 0;
}

/* 🔥 OPEN STATE → X */
.menu-toggle.open span:nth-child(1) {
  transform: rotate(45deg);
  top: 9px;
}

.menu-toggle.open span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.open span:nth-child(3) {
  transform: rotate(-45deg);
  bottom: 9px;
}


/* Menu END */



@media (max-width:768px){

/* header */

.menu-toggle{
display:flex;
position:absolute;
right:20px;
top:35px;
}

.menu {
    display: none;
    flex-direction: column;
     width: 100%!important;;
    text-align: center!important;;
    line-height: 36px;
    margin-top: 15px;
  }

.menu.active{
display:flex;
}

.menu a{
margin:10px 0;
}

hr {
  width: 100%;
  background: #333333;
  margin: 10px auto;
}

.options li{
line-height: 27px;
}

.services h2,{
margin-bottom: -24px;
}

.concierge h2 {
 margin-bottom: -2px; 
}

.options ul li:nth-child(2) {
    display: flex;
    justify-content: center;
    list-style-position: inside;
}


.options ul li {
    line-height: 11.25;   /*  reduces purple gap (inside text) */
    margin-bottom: -8px;  /* controls gap between items */
  }

  .definition p {
    margin: 0;
    line-height: 1.4;
    text-align: center;
  }

  .definition p + p {
    margin-top: -2px; /* controls gap between lines */
  }  

/* tagline */

.tagline{
font-size:14px;
line-height:1.5;
letter-spacing:0.5px;
padding-bottom: 30px;
}

/* logo */

.logo img{
height:180px;
margin-top:-40px;
margin-bottom:-40px;
}

.logo {
    text-align: center;
    width: 100%!important;
  }

/* definition */

.definition{
padding:40px 20px;
font-size:22px;
line-height:1.5;
letter-spacing:0.5px;
height:auto;
}

/* services */

.services{
padding:50px 20px;
}

.services h2{
font-size:22px;
line-height:12px;
letter-spacing:0.5px;
}

.service-list{
font-size:14px;
gap:12px;
line-height:1.6;
letter-spacing:0.3px;
}

/* options */

.options{
font-size:14px;
line-height:1.5;
}

.options ul{
flex-direction:column;
gap:10px;
}

/* concierge */

.concierge{
padding:50px 20px;
font-size:16px;
line-height: 26px;
}

.concierge p{
font-size:15px;
}



/* gallery */

.gallery{
flex-direction:column;
}

.half{
width:100%;
}

/* footer */

.footer-logo{
height: 135px !important;
width: 135px !important;
}

.contact{
font-size:14px;
}

.appointment{
font-size:14px;
}

.footer-nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
}



.footer-nav a{
font-size:13px;
}

}



@media (max-width:1024px){

.header-inner{
flex-direction:column;
text-align:center;
}

.tagline{
width:100%;
margin-left:0;
justify-content:center;
text-align:center;
padding-bottom:30px;
}

.logo {
  text-align: center;
  width: 40%;
}

.logo img{
height:240px;
margin-top:-60px;
margin-bottom:-60px;
}

.menu {
  width: 30%;
  text-align: right;
}

.menu a{
margin:0 12px;
}

.services{
padding:60px 40px;
}

.concierge{
padding:60px 40px;
}

.divider{
max-width:500px;
width:100%;
}

hr {
  width: 100%;
  background: #333333;
  margin: 10px auto;
}

.options li{
line-height: 27px;
}

.services h2{
margin-bottom: -24px;
}

.concierge h2 {
 margin-bottom: -2px; 
}

.options ul li:nth-child(2) {
    display: flex;
    justify-content: center;
    list-style-position: inside;
}

.options ul li {
    line-height: 1.25;   /*  reduces purple gap (inside text) */
    margin-bottom: -8px;  /* controls gap between items */
  }
  
   .definition p {
    margin: 0;
    line-height: 1.4;
    text-align: center;
  }

  .definition p + p {
    margin-top: -2px; /* controls gap between lines */
  }   

.footer-logo{
height: 135px !important;
width: 135px !important;
}

}



@media (max-width:480px){

.logo img{
height:140px;
}


.logo {
    text-align: center;
    width: 100%;
}

.tagline{
width:100%;
margin-left:0;
justify-content:center;
text-align:center;
padding-bottom:30px;
}

.definition{
font-size:18px;
}

.services h2{
font-size:20px;
line-height: 1.2;
}

.service-list{
font-size:13px;
}

.contact{
font-size:13px;
}

.footer-logo{
height: 135px !important;
width: 135px !important;
}

hr {
  width: 100%;
  background: #333333;
  margin: 10px auto;
}

.options li{
line-height: 27px;
}

.services h2{
margin-bottom: -24px;
}

.concierge h2 {
 margin-bottom: -2px; 
}

.options ul li:nth-child(2) {
    display: flex;
    justify-content: center;
    list-style-position: inside;
}

.options ul li {
    line-height: 1.25;   /*  reduces purple gap (inside text) */
    margin-bottom: -8px;  /* controls gap between items */
  }
  
  .definition p {
    margin: 0;
    line-height: 1.4;
    text-align: center;
  }

  .definition p + p {
    margin-top: -2px; /* controls gap between lines */
  }    

}




/* ================= FYI PAGE ================= */

.page-title{
background:#000;
color:#fff;
text-align:center;
padding:20px 0;
font-size:42px;
letter-spacing:3.5px;
margin-bottom:40px;
}

.fyi-content{
max-width:1180px;
margin:0 auto;
padding:0 20px;
font-size:16px;
font-weight: 500;
line-height:1.3;
letter-spacing:0.9px;
color:#333333;
}

.fyi-content p{
margin-bottom:0px;
}

/* list */

.fyi-list{
margin:10px 0;
padding-left:20px;
}

.fyi-list li{
color:#333333;
}

.fyi-list li::marker{
color:#c40000;
}

.footer-logo{
height: 135px !important;
width: 135px !important;
}

.gap-6{
padding-bottom:1px;
}

.gap-12{
padding-top: 12px;    
margin-bottom: -4px !important;
}

.gap-16{
padding-top:32px;
}

.gap-32{
padding-top:52px;
padding-bottom:-52px;
}

/* image */

.fyi-image img{
width:100%;
display:block;
margin-top:50px;
}

/* top divider */

.top-divider{
height:4px;
background:#333333;
margin:30px 0 5px 0;
margin-bottom: 7px;
margin-top: 10px;
}


.top-divider-footer{
height:4px;
background:#333333;
margin:30px 0 5px 0;
margin-top: 10px;
}


@media (max-width:1024px){

.page-title{
font-size:32px;
letter-spacing:2px;
padding:18px 0;
}

.fyi-content{
max-width:900px;
font-size:18px;
line-height:1.7;
padding:0 30px;
}

.top-divider,
.top-divider-footer{
height:3px;
margin:20px 0;
}

}



@media (max-width:768px){

/* title */

.page-title{
font-size:24px;
letter-spacing:1px;
padding:15px 10px;
margin-bottom:30px;
}

/* content */

.fyi-content{
max-width:100%;
font-size:15px;
line-height:1.6;
letter-spacing:0.3px;
padding:0 20px;
}

/* list */

.fyi-list{
padding-left:18px;
}

.fyi-list li{
margin-bottom:8px;
}

/* image */

.fyi-image{
padding:0 15px;   /* adds breathing space on mobile */
}

.fyi-image img{
width:100%;
height:auto;      /* 🔥 prevents distortion */
margin-top:25px;
}

/* divider */

.top-divider,
.top-divider-footer{
height:2px;
margin:15px 0;
}

}


@media (max-width:480px){

.page-title{
font-size:20px;
letter-spacing:0.5px;
}

.fyi-content{
font-size:14px;
line-height:1.6;
}

}





/* ================= CONTACT PAGE ================= */

.contact-content{
max-width:1100px;
margin:0 auto;
padding:60px 20px;
text-align:center;
}


.contact-text{
font-size:16px;
line-height:1.7;
margin-bottom:40px;
margin-top: -50px;
}

.page-title{
background:#000;
color:#fff;
text-align:center;
padding:20px 0;
font-size:42px;
letter-spacing:3.5px;
margin-bottom:40px;
overflow:hidden;   /* 🔥 permanent fix */
}

/* form */

.contact-form{
max-width:700px;
margin:0 auto;
}

.form-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px; /* 🔥 better spacing */
margin-bottom:18px;
}

.form-row label{
width:40%;
text-align:left;
font-size:14px;
}

.form-row input{
width:60%;
padding:12px;
border:none;
background:#ccc;
font-size:14px;
}

/* button */

.send-btn{
margin-top:25px;
padding:12px 30px;
background:#000000;
color:#fff;
border:none;
border-radius:25px;
cursor:pointer;
font-size:14px;
}

/* text */

.no-solicitation{
margin-top:25px;
font-size:12px;
letter-spacing:1px;
font-weight: 600;
}

.contact-note{
margin-top:40px;
font-size:13px;
letter-spacing:1px;
}

.footer-logo{
height: 135px  !important;
width: 135px  !important;
}

/* ================= TABLET ================= */

@media (max-width:1024px){

.contact-content{
padding:50px 30px;
}

.contact-form{
max-width:600px;
}


}

/* ================= MOBILE ================= */

@media (max-width:768px){

.form-row{
flex-direction:column;
align-items:flex-start;
gap:8px;
}

.form-row label{
width:100%;
font-size:13px;
}

.form-row input{
width:95%;
padding:10px;
}

.contact-text{
font-size:14px;
line-height:1.6;
}

.send-btn{
width:100%; /* 🔥 full width button */
}

}

/* ================= SMALL MOBILE ================= */

@media (max-width:480px){

.contact-content{
padding:40px 15px;
}

.contact-text{
font-size:13px;
}

.contact-note{
font-size:12px;
}

}





/* ================= ABOUT PAGE ================= */

/* IMAGE */

.about-image{
text-align:center;
margin-top:20px;
}

.about-image img{
width:50%;
height: 100%;
max-width:720px;
display:block;
margin:0 auto;
margin-top:-10px;
}

.about-caption{
font-size:12px;
color:#333;
margin-top:8px;
margin-bottom:25px;
letter-spacing:0.3px;
}

/* QUOTE BAR */

.about-quote{
background:#bfbfbf;
padding:12px 20px;
text-align:center;
font-size:16px;
font-style:italic;
color:#333;
letter-spacing:0.3px;
margin:0 auto 40px;
max-width:100%;
}

/* CONTENT */

.about-content{
max-width:975px;
margin:0 auto;
text-align:center;
padding:0 20px 30px;
}

/* HEADINGS */

.about-content h2{
font-size:26px;
font-weight:500;
margin-bottom:18px;
letter-spacing:1px;
color:#222;
}

/* PARAGRAPHS */

.about-content p{
font-size:16px;
font-weight: 500;
line-height:1.3;
color:#333;
margin-bottom:18px;
}

/* SPACING BETWEEN SECTIONS */

.about-content + .about-content{
margin-top:10px;
}


@media (max-width:768px){

.about-image img{
max-width:100%;
}

.about-caption{
font-size:11px;
}

.about-quote{
font-size:13px;
padding:10px 12px;
margin-bottom:30px;
}

.about-content{
padding:0 15px 25px;
}

.about-content h2{
font-size:20px;
margin-bottom:15px;
}

.about-content p{
font-size:13px;
line-height:1.7;
}

}




/* ================= QUALITY PAGE ================= */

.quality-intro{
max-width:900px;
margin:40px auto 10px;
text-align:center;
padding:0 20px;
}

.quality-intro p{
font-size:18px;
line-height:1.7;
letter-spacing:1px;
color:#333;
}

/* GRID */

.quality-grid{
max-width:1100px;
margin:40px auto;
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:40px 30px;
padding:0 20px;
}

/* ITEM */

.quality-item{
text-align:center;
}

.quality-item img{
width:100%;
max-width:260px;
display:block;
margin:0 auto 15px;
}

.quality-item p{
font-size:15px;
line-height:1.6;
color:#333;
}

/* FOOTER SEPARATOR */

.footer-separator{
width:80%;
height:2px;
background:#333;
margin:60px auto 20px;
}


.footer-logo{
height: 135px  !important;
width: 135px  !important;
}

/* MOBILE */

@media (max-width:768px){

#tabs{
flex-direction:column;
gap:20px;
}

#accordion, .browser{
width:100%;
}

/* better spacing */

#accordion li a{
padding:12px 0;
font-size:14px;
}

/* text */

.addon{
font-size:13px;
line-height:1.5;
}

/* FIX IMAGE HEIGHT */

.browser{
height:auto;          
padding:15px;
}

.browser > div{
position:relative;    
transform:none !important;
opacity:1 !important;
}

.browser > div:not(.active){
display:none;
}

}

/* i-pad menu */

@media (max-width: 1024px) {
 .menu-toggle {
    display: flex;
    position: absolute;
    right: 20px;
    top: 35px;
   
    }
    
    .menu {
    display: none;
    flex-direction: column;
    width: 100% !important;
    text-align: center !important;
    line-height: 36px;
    margin-top: 15px;
    }
   
   .menu-toggle span{
    width:26px;
height:3px;
background:#333;
display:block;
}   

 .menu.active {
    display: flex;
  }
}


/* i-pad menu */