
:root{
--bg:#120f25;
--panel:#1e1838;
--panel2:#292046;
--purple:#6d55ff;
--purple2:#8b7dff;
--text:#ffffff;
--muted:#c2c2d6;
--border:rgba(255,255,255,.08);
}

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Arial,Helvetica,sans-serif;
background:var(--bg);
color:var(--text);
line-height:1.6;
}

.container{
width:min(1200px,calc(100% - 32px));
margin:auto;
}

.header{
position:sticky;
top:0;
background:rgba(18,15,37,.92);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--border);
z-index:100;
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
min-height:86px;
}

.brand{
display:flex;
align-items:center;
gap:16px;
}

.brand img{
width:70px;
height:70px;
object-fit:cover;
border-radius:18px;
background:#fff;
padding:4px;
}

.brand h3{
margin:0;
font-size:28px;
}

.brand p{
margin:0;
color:var(--muted);
}

nav{
display:flex;
gap:24px;
}

nav a{
color:var(--muted);
text-decoration:none;
font-weight:700;
}

.call-btn,.primary-btn,.secondary-btn,button{
padding:14px 24px;
border-radius:999px;
font-weight:800;
text-decoration:none;
border:none;
cursor:pointer;
}

.call-btn,.primary-btn,button{
background:linear-gradient(135deg,var(--purple),var(--purple2));
color:#fff;
}

.secondary-btn{
background:rgba(255,255,255,.05);
border:1px solid var(--border);
color:#fff;
}

.hero{
position:relative;
padding:90px 0;
background:
radial-gradient(circle at top right, rgba(109,85,255,.25), transparent 35%),
linear-gradient(180deg,#17122e,#120f25);
overflow:hidden;
}

.hero-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:60px;
align-items:center;
}

.hero h1{
font-size:clamp(46px,6vw,78px);
line-height:1;
margin:18px 0 24px;
}

.hero p{
font-size:18px;
color:var(--muted);
}

.eyebrow{
color:#9f8fff;
font-size:13px;
font-weight:900;
letter-spacing:.14em;
text-transform:uppercase;
}

.hero-buttons{
display:flex;
gap:14px;
margin:32px 0;
flex-wrap:wrap;
}

.tag-row,
.areas-grid{
display:flex;
gap:12px;
flex-wrap:wrap;
}

.tag-row span,
.areas-grid span{
padding:12px 16px;
border-radius:999px;
background:rgba(255,255,255,.05);
border:1px solid var(--border);
font-weight:700;
}

.hero-card{
background:var(--panel);
padding:26px;
border-radius:34px;
border:1px solid var(--border);
box-shadow:0 30px 80px rgba(0,0,0,.4);
}

.hero-card img{
width:100%;
display:block;
border-radius:26px;
}

.services,
.about,
.areas,
.contact{
padding:90px 0;
}

.section-header{
margin-bottom:34px;
}

.section-header h2,
.about h2,
.areas h2,
.contact h2{
font-size:clamp(34px,4vw,56px);
line-height:1.1;
margin-top:10px;
}

.cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.card{
background:var(--panel);
padding:26px;
border-radius:28px;
border:1px solid var(--border);
}

.card img{
width:100%;
border-radius:22px;
margin-bottom:18px;
}

.card p{
color:var(--muted);
}

.featured{
grid-column:span 2;
}

.about{
background:linear-gradient(180deg,#17122e,#1d1735);
}

.about-grid,
.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
align-items:center;
}

.about-image{
width:100%;
border-radius:34px;
background:#fff;
padding:12px;
}

.about ul{
padding-left:20px;
color:var(--muted);
}

.contact{
background:#17122e;
}

.form{
display:grid;
gap:16px;
background:var(--panel);
padding:30px;
border-radius:30px;
border:1px solid var(--border);
}

.form input,
.form textarea{
padding:16px;
border-radius:16px;
border:1px solid rgba(255,255,255,.08);
background:#120f25;
color:#fff;
font:inherit;
}

.form textarea{
min-height:140px;
}

.phone{
display:inline-block;
margin-top:20px;
font-size:42px;
font-weight:900;
color:#a595ff;
text-decoration:none;
}

.footer{
padding:28px 0;
border-top:1px solid var(--border);
}

.footer-row{
display:flex;
justify-content:space-between;
gap:20px;
flex-wrap:wrap;
color:var(--muted);
}

@media(max-width:980px){

nav{
display:none;
}

.hero-grid,
.about-grid,
.contact-grid,
.cards{
grid-template-columns:1fr;
}

.featured{
grid-column:auto;
}

.hero{
padding-top:60px;
}

}


/* Expanded service cards */
.card{
min-height:340px;
display:flex;
flex-direction:column;
justify-content:flex-start;
gap:14px;
}

.card::after{
content:"✔ Licensed Plumbing Service";
margin-top:auto;
font-size:14px;
font-weight:700;
color:#9f8fff;
opacity:.9;
}

.card h3{
font-size:34px;
margin-bottom:8px;
}

.card p{
font-size:20px;
line-height:1.7;
max-width:90%;
}

.featured{
min-height:420px;
}


.companies{
padding:90px 0;
background:linear-gradient(180deg,#120f25,#17122e);
}

.companies h2{
font-size:clamp(34px,4vw,56px);
line-height:1.1;
margin-top:10px;
margin-bottom:40px;
}
