:root{
--bg:#050505;
--panel:#101010;
--panel2:#151515;
--text:#ffffff;
--muted:#b6b6b6;
--line:rgba(255,255,255,.10);
--soft:rgba(255,255,255,.06);
--glow:rgba(255,255,255,.13);
--radius:28px;
}

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

html{
scroll-padding-top:90px;
}

body{
font-family:'Inter',sans-serif;
background:var(--bg);
color:var(--text);
line-height:1.6;
overflow-x:hidden;
}

body.menu-open{
overflow:hidden;
}

img{
max-width:100%;
display:block;
}

a{
color:inherit;
}

.container{
width:min(1700px,96%);
max-width:1700px;
margin:0 auto;
padding:0 24px;
}

header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:999;
background:rgba(5,5,5,.74);
backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);
border-bottom:1px solid var(--line);
}

nav{
height:78px;
display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
z-index:1001;
}

.logo img{
height:66px;
width:auto;
}

.nav-links{
display:flex;
gap:28px;
list-style:none;
align-items:center;
}

.nav-links a{
text-decoration:none;
font-size:.94rem;
font-weight:600;
color:#ededed;
opacity:.88;
transition:.25s;
}

.nav-links a:hover{
opacity:1;
}

.menu-toggle{
display:none;
width:44px;
height:44px;
border-radius:999px;
border:1px solid var(--line);
background:rgba(255,255,255,.05);
cursor:pointer;
z-index:1001;
}

.menu-toggle span{
display:block;
width:19px;
height:2px;
background:#fff;
margin:4px auto;
border-radius:20px;
transition:.25s;
}

.hero{
min-height:100vh;
position:relative;
display:flex;
align-items:center;
background:
radial-gradient(circle at 50% 15%, rgba(255,255,255,.12), transparent 28%),
linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.48), rgba(0,0,0,.86)),
url("images/570B46AF-2A1E-45D9-84DF-F36943FCE303.JPG");
background-size:cover;
background-position:center;
overflow:hidden;
}

.hero::after{
content:"";
position:absolute;
inset:auto 0 0;
height:180px;
background:linear-gradient(transparent,var(--bg));
}

.hero-content{
position:relative;
z-index:2;
padding-top:60px;
max-width:850px;
}

.eyebrow{
display:inline-flex;
align-items:center;
gap:9px;
padding:8px 14px;
border-radius:999px;
border:1px solid var(--line);
background:rgba(255,255,255,.07);
font-size:.88rem;
font-weight:800;
color:#ececec;
margin-bottom:22px;
}

.hero h1{
font-size:clamp(3.2rem,8vw,7.3rem);
line-height:.9;
letter-spacing:-.07em;
font-weight:900;
margin-bottom:24px;
}

.hero p{
max-width:730px;
font-size:1.17rem;
color:#d2d2d2;
margin-bottom:34px;
}

.hero-actions{
display:flex;
gap:14px;
flex-wrap:wrap;
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:14px 28px;
border-radius:999px;
font-weight:900;
text-decoration:none;
background:#fff;
color:#000;
border:1px solid #fff;
transition:.25s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 18px 45px rgba(255,255,255,.13);
}

.btn.dark{
background:rgba(255,255,255,.07);
color:#fff;
border-color:var(--line);
}

.stats{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:14px;
margin-top:42px;
max-width:760px;
}

.stat{
background:rgba(255,255,255,.06);
border:1px solid var(--line);
border-radius:22px;
padding:18px;
backdrop-filter:blur(10px);
}

.stat strong{
display:block;
font-size:1.6rem;
line-height:1;
letter-spacing:-.04em;
}

.stat span{
color:#c8c8c8;
font-size:.9rem;
}

section{
padding:105px 0;
position:relative;
}

.section-head{
max-width:780px;
margin:0 auto 52px;
text-align:center;
}

.section-title{
font-size:clamp(2rem,4.5vw,3.6rem);
line-height:1;
letter-spacing:-.055em;
font-weight:900;
margin-bottom:16px;
}

.section-subtitle{
color:var(--muted);
font-size:1.05rem;
}

/* WHY */
.why-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:18px;
}

.why-card{
position:relative;
overflow:hidden;
background:linear-gradient(180deg,#151515,#0d0d0d);
border:1px solid var(--line);
border-radius:var(--radius);
padding:28px;
min-height:230px;
transition:.3s;
}

.why-card::before{
content:"";
position:absolute;
inset:-70px -70px auto auto;
width:150px;
height:150px;
background:radial-gradient(circle, var(--glow), transparent 70%);
opacity:0;
transition:.3s;
}

.why-card:hover{
transform:translateY(-7px);
border-color:rgba(255,255,255,.22);
}

.why-card:hover::before{
opacity:1;
}

.icon{
width:46px;
height:46px;
border-radius:16px;
display:grid;
place-items:center;
background:rgba(255,255,255,.08);
border:1px solid var(--line);
font-size:1.35rem;
margin-bottom:20px;
}

.why-card h3{
font-size:1.12rem;
margin-bottom:10px;
}

.why-card p{
color:#bdbdbd;
font-size:.95rem;
}

/* SERVICES */
.services{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:20px;
}

.service-card{
position:relative;
overflow:hidden;
border-radius:30px;
border:1px solid var(--line);
background:
linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),
#0d0d0d;
padding:30px;
min-height:290px;
transition:.3s;
}

.service-card.featured{
background:
linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04)),
#111;
}

.service-card:hover{
transform:translateY(-7px);
box-shadow:0 26px 80px rgba(0,0,0,.35);
border-color:rgba(255,255,255,.22);
}

.service-card small{
display:inline-block;
padding:6px 10px;
border-radius:999px;
border:1px solid var(--line);
background:rgba(255,255,255,.06);
font-weight:800;
color:#eaeaea;
margin-bottom:16px;
}

.service-card h3{
font-size:1.35rem;
line-height:1.15;
letter-spacing:-.03em;
margin-bottom:12px;
}

.service-card p{
color:#bdbdbd;
margin-bottom:18px;
}

.service-card ul{
list-style:none;
display:grid;
gap:9px;
color:#e0e0e0;
font-size:.95rem;
}

.service-card li::before{
content:"✓";
margin-right:9px;
font-weight:900;
}

/* BRANDS */
.brands{
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items:center;
gap:56px;
}

.brands img{
height:78px;
width:auto;
object-fit:contain;
filter:grayscale(100%);
opacity:.75;
transition:.25s;
}

.brands img:hover{
filter:none;
opacity:1;
transform:scale(1.05);
}

.carpro-logo{
filter:brightness(0) invert(1) grayscale(100%);
}

/* MASONRY */
.masonry{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
width:100%;
}

.masonry-item{
position:relative;
overflow:hidden;
border-radius:26px;
border:1px solid var(--line);
background:#111;
min-height:260px;
}

.masonry-item img{
width:100%;
height:100%;
object-fit:cover;
transition:.35s;
}

.masonry-item.tall{
height:520px;
}

.masonry-item.medium{
height:360px;
}

.masonry-item.short{
height:260px;
}

.masonry-item::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(transparent,rgba(0,0,0,.35));
opacity:0;
transition:.3s;
}

.masonry-item:hover img{
transform:scale(1.035);
}

.masonry-item:hover::after{
opacity:1;
}

/* BEFORE AFTER */
.before-after-slider{
position:relative;
height:460px;
overflow:hidden;
border-radius:30px;
border:1px solid var(--line);
background:#111;
user-select:none;
touch-action:none;
box-shadow:0 28px 80px rgba(0,0,0,.38);
}

.before-after-slider img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
}

.after-img{ z-index:1; }

.before-image{
position:absolute;
inset:0;
z-index:2;
overflow:hidden;
clip-path:inset(0 50% 0 0);
transition:clip-path .04s linear;
}

.slider-line{
position:absolute;
top:0;
left:50%;
height:100%;
width:2px;
background:#fff;
z-index:4;
transform:translateX(-50%);
box-shadow:0 0 22px rgba(0,0,0,.6);
pointer-events:none;
}

.slider-control{
position:absolute;
inset:0;
width:100%;
height:100%;
opacity:0;
z-index:5;
cursor:ew-resize;
}

.slider-handle{
position:absolute;
left:50%;
top:50%;
width:42px;
height:42px;
border-radius:50%;
background:#fff;
border:3px solid #050505;
z-index:6;
transform:translate(-50%,-50%);
pointer-events:none;
box-shadow:0 14px 40px rgba(0,0,0,.45);
}

.slider-handle::before,
.slider-handle::after{
content:"";
position:absolute;
top:50%;
width:8px;
height:8px;
border-top:2px solid #050505;
border-left:2px solid #050505;
}

.slider-handle::before{
left:10px;
transform:translateY(-50%) rotate(-45deg);
}

.slider-handle::after{
right:10px;
transform:translateY(-50%) rotate(135deg);
}

.slider-label{
position:absolute;
top:20px;
z-index:7;
padding:8px 13px;
border-radius:999px;
background:rgba(0,0,0,.65);
border:1px solid var(--line);
backdrop-filter:blur(8px);
font-size:.8rem;
font-weight:900;
letter-spacing:.05em;
}

.label-before{ left:20px; }
.label-after{ right:20px; }

/* GOOGLE REVIEW */
.google-card{
max-width:900px;
margin:auto;
border-radius:32px;
border:1px solid var(--line);
background:
radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 35%),
linear-gradient(180deg,#151515,#0d0d0d);
padding:34px;
box-shadow:0 28px 80px rgba(0,0,0,.32);
}

.google-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin-bottom:28px;
}

.google-logo{
display:flex;
align-items:center;
gap:12px;
font-weight:900;
font-size:1.25rem;
}

.g-icon{
width:38px;
height:38px;
border-radius:50%;
background:#fff;
color:#111;
display:grid;
place-items:center;
font-weight:900;
}

.rating{
text-align:right;
}

.rating strong{
font-size:1.9rem;
letter-spacing:-.04em;
}

.rating div{
color:#f2f2f2;
letter-spacing:2px;
}

.review-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:16px;
}

.review{
background:rgba(255,255,255,.055);
border:1px solid var(--line);
border-radius:22px;
padding:20px;
}

.review-head{
display:flex;
align-items:center;
gap:12px;
margin-bottom:12px;
}

.avatar{
width:38px;
height:38px;
border-radius:50%;
background:#fff;
color:#000;
display:grid;
place-items:center;
font-weight:900;
}

.review h3{
font-size:1rem;
}

.review small{
color:#aaa;
}

.review p{
color:#cfcfcf;
font-size:.95rem;
}

/* CTA */
.cta{
padding:0;
}

.cta-box{
position:relative;
overflow:hidden;
border-radius:36px;
min-height:420px;
display:flex;
align-items:center;
background:
linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.46)),
url("images/IMG_0556.JPG");
background-size:cover;
background-position:center;
border:1px solid var(--line);
}

.cta-content{
position:relative;
z-index:2;
padding:60px;
max-width:700px;
}

.cta h2{
font-size:clamp(2.1rem,5vw,4.4rem);
line-height:1;
letter-spacing:-.055em;
margin-bottom:18px;
}

.cta p{
color:#d2d2d2;
font-size:1.08rem;
margin-bottom:28px;
}

/* CONTACT */
.contact-card{
max-width:760px;
margin:auto;
text-align:center;
background:linear-gradient(180deg,#151515,#0d0d0d);
border:1px solid var(--line);
border-radius:32px;
padding:42px 28px;
}

.contact-card p{
margin:12px 0;
color:#d7d7d7;
}

.contact-card a:not(.btn){
text-decoration:none;
}

.map-link{
display:inline-block;
margin-top:8px;
text-decoration:underline!important;
text-underline-offset:4px;
color:#e6e6e6;
}

footer{
padding:42px 20px;
text-align:center;
color:#9a9a9a;
border-top:1px solid var(--line);
}

.floating-btn{
position:fixed;
right:24px;
bottom:24px;
z-index:998;
background:#fff;
color:#000;
text-decoration:none;
border-radius:999px;
font-weight:900;
padding:14px 22px;
box-shadow:0 16px 45px rgba(0,0,0,.4);
transition:.25s;
}

.floating-btn:hover{
transform:translateY(-3px);
}

.reveal{
opacity:0;
transform:translateY(26px);
transition:opacity .7s ease, transform .7s ease;
}

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

@media(max-width:1000px){
.why-grid,
.services{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.review-grid{
grid-template-columns:1fr;
}

.masonry{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:768px){
nav{
height:70px;
}

.logo img{
height:55px;
}

.menu-toggle{
display:block;
}

.nav-links{
position:fixed;
top:0;
right:-100%;
width:82%;
max-width:360px;
height:100vh;
background:rgba(5,5,5,.97);
backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);
border-left:1px solid var(--line);
flex-direction:column;
justify-content:center;
gap:28px;
transition:.3s ease;
}

.nav-links.active{
right:0;
}

.menu-toggle.active span:nth-child(1){
transform:translateY(6px) rotate(45deg);
}

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

.menu-toggle.active span:nth-child(3){
transform:translateY(-6px) rotate(-45deg);
}

.hero{
min-height:94vh;
}

.hero-content{
padding-top:80px;
}

.hero h1{
font-size:3.2rem;
}

.hero p{
font-size:1rem;
}

.stats{
grid-template-columns:1fr;
}

section{
padding:78px 0;
}

.why-grid,
.services{
grid-template-columns:1fr;
}

.brands img{
height:55px;
}

.masonry{
grid-template-columns:1fr;
}

.masonry-item.tall,
.masonry-item.medium,
.masonry-item.short{
height:320px;
}

.before-after-slider{
height:330px;
border-radius:24px;
}

.google-card{
padding:22px;
border-radius:26px;
}

.google-top{
align-items:flex-start;
flex-direction:column;
}

.rating{
text-align:left;
}

.cta-box{
min-height:430px;
border-radius:28px;
}

.cta-content{
padding:34px 24px;
}

.floating-btn{
right:16px;
bottom:16px;
padding:12px 18px;
font-size:.9rem;
}
}
