:root{
--background:#EBF2FA;
--text:#151516;
--bolt:#F7B500;
--plug:#A4BD00;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
background:var(--background);
color:var(--text);
font-family:"Inter", sans-serif;
line-height:1.6;
}

/* HIDDEN SEO H1 */
.seo-h1{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}

/* HERO */
.hero{
min-height:100vh;
min-height:100dvh;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
padding:20px 20px 40px;
}

/* LOGO WRAPPER */
.logo-wrapper{
width:95%;
max-width:900px;
margin-bottom:25px;
}

.logo{
display:block;
width:100%;
height:auto;
object-fit:contain;
animation:fadeIn 1.2s ease;
}

/* SUBHEAD */
.subheadline{
font-size:1.1rem;
letter-spacing:1px;
opacity:.85;
margin-bottom:30px;
}

/* BUTTONS */
.hero-buttons{
display:flex;
gap:16px;
flex-wrap:wrap;
justify-content:center;
}

.btn{
padding:14px 26px;
border-radius:10px;
font-weight:600;
text-decoration:none;
transition:.25s;
}

.email{
background:var(--bolt);
color:#000;
}

.schedule{
background:var(--plug);
color:#000;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 8px 20px rgba(0,0,0,.1);
}

/* SECTIONS */
.section{
max-width:750px;
margin:auto;
padding:80px 25px;
text-align:center;
}

.section h2{
font-size:2rem;
letter-spacing:1px;
margin-bottom:20px;
}

.section-intro{
font-size:1rem;
opacity:.8;
margin-bottom:20px;
}

.section-sub{
margin-top:18px;
font-size:1rem;
line-height:1.75;
opacity:.9;
}

/* SERVICES LIST */
.services{
list-style:none;
margin-top:20px;
text-align:left;
}

.services li{
padding:16px 12px;
border-bottom:1px solid rgba(0,0,0,.08);
display:flex;
flex-direction:column;
gap:4px;
}

.services li strong{
font-size:1rem;
font-weight:600;
}

.services li span{
font-size:0.88rem;
opacity:.7;
}

/* AREAS GRID */
.areas-grid{
list-style:none;
display:grid;
grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
gap:12px;
margin-top:24px;
}

.areas-grid li{
background:rgba(0,0,0,.04);
border-radius:8px;
padding:10px 14px;
font-size:0.95rem;
font-weight:500;
}

/* FOOTER */
footer{
margin-top:60px;
background:rgba(0,0,0,.03);
padding:45px 20px;
text-align:center;
}

footer p{
margin:6px 0;
}

.contact{
margin-bottom:30px;
}

.footer-areas{
margin-top:16px;
font-size:0.85rem;
opacity:.7;
line-height:1.8;
}

.legal{
font-size:.85rem;
opacity:.7;
}

/* FAQ ACCORDION */
.faq{
margin-top:24px;
text-align:left;
}

.faq-item{
border-bottom:1px solid rgba(0,0,0,.08);
overflow:hidden;
}

.faq-question{
width:100%;
background:none;
border:none;
padding:16px 12px;
text-align:left;
font-family:"Inter", sans-serif;
font-size:1rem;
font-weight:600;
color:var(--text);
cursor:pointer;
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
transition:.2s;
}

.faq-question::after{
content:"＋";
font-size:1.2rem;
font-weight:400;
flex-shrink:0;
transition:transform .3s ease;
}

.faq-item.open .faq-question::after{
transform:rotate(45deg);
}

.faq-question:hover{
color:var(--plug);
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height .4s ease, padding .3s ease;
padding:0 12px;
}

.faq-item.open .faq-answer{
max-height:300px;
padding:0 12px 16px;
}

.faq-answer p{
font-size:0.97rem;
line-height:1.75;
opacity:.85;
}

.faq-answer a{
color:var(--plug);
text-decoration:none;
}

.faq-answer a:hover{
text-decoration:underline;
}

/* REVIEWS */
.review-slider{
position:relative;
max-width:700px;
margin:40px auto 0;
overflow:hidden;
min-height:200px;
}

.review{
opacity:0;
transform:translateX(50px);
transition:all .6s ease;
position:absolute;
width:100%;
left:0;
top:0;
}

.review.active{
opacity:1;
transform:translateX(0);
position:relative;
}

.review p{
font-size:1.05rem;
line-height:1.7;
margin-bottom:15px;
}

.review span{
font-weight:600;
letter-spacing:1px;
color:var(--plug);
}

/* ANIMATIONS */
.reveal{
opacity:0;
transform:translateY(40px);
transition:all .8s ease;
}

.reveal.show{
opacity:1;
transform:translateY(0);
}

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

/* MOBILE */
@media(max-width:600px){

.hero{
padding:15px 15px 30px;
}

.logo-wrapper{
width:100%;
}

.subheadline{
font-size:0.95rem;
margin-bottom:20px;
}

.btn{
padding:12px 22px;
font-size:0.95rem;
}

.slide-btn{
padding:10px 12px;
font-size:16px;
}

.section{
padding:60px 20px;
}

.areas-grid{
grid-template-columns:repeat(auto-fit, minmax(130px, 1fr));
}

.faq-question{
font-size:0.95rem;
}

}

/* DESKTOP */
@media(min-width:768px){

.logo-wrapper{
max-width:950px;
}

.section{
padding:110px 20px;
}

}

/* LARGE DESKTOP */
@media(min-width:1200px){

.logo-wrapper{
max-width:1050px;
}

}

/* SLIDESHOW */
.slideshow-container{
position:relative;
max-width:900px;
margin:40px auto 0;
overflow:hidden;
border-radius:16px;
}

.slides{
position:relative;
}

.slide{
width:100%;
display:none;
border-radius:16px;
box-shadow:0 10px 25px rgba(0,0,0,.1);
}

.slide.active{
display:block;
}

/* ARROWS */
.slide-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
background:rgba(0,0,0,.4);
color:#fff;
border:none;
padding:12px 16px;
cursor:pointer;
border-radius:8px;
font-size:18px;
transition:.2s;
z-index:2;
}

.slide-btn:hover{
background:var(--bolt);
color:#000;
}

.prev{
left:10px;
}

.next{
right:10px;
}