@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800&family=Inter:wght@400;600;700;800&display=swap');

:root{
  --navy:#07365c;
  --deep:#052c4e;
  --teal:#3f9aa5;
  --light:#d9eef0;
  --cream:#fffaf1;
  --gold:#e8b85a;
  --sand:#f3d99c;
  --ink:#102f4a;
}

*{box-sizing:border-box}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at 95% 4%, rgba(63,154,165,.18), transparent 24%),
    linear-gradient(180deg,#fffdf8 0%,var(--cream) 100%);
}

.container{width:min(1120px,92%);margin:auto}

.topbar{
  position:sticky;top:0;z-index:20;
  background:rgba(255,250,241,.96);
  border-bottom:2px solid rgba(63,154,165,.2);
  backdrop-filter:blur(10px);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.nav img{width:112px}
nav{display:flex;gap:26px}
nav a{font-weight:800;color:var(--navy);text-decoration:none}
.pill,.cta{
  display:inline-block;background:var(--navy);color:white;text-decoration:none;
  padding:12px 20px;border-radius:999px;font-weight:900;
  box-shadow:0 12px 26px rgba(7,54,92,.18);
}

.hero{padding:50px 0 36px}
.hero-grid{
  display:grid;grid-template-columns:.95fr 1.05fr;gap:38px;align-items:center;
}
.brand-logo{width:min(480px,100%);display:block;margin:auto}
.local-badge{
  display:inline-block;margin:22px 0 0;padding:10px 18px;border-radius:999px;
  background:var(--light);color:var(--navy);font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}
h1{
  margin:20px 0 0;
  font-family:"Playfair Display",Georgia,serif;
  color:var(--navy);
  font-size:clamp(3.4rem,8vw,6.6rem);
  line-height:.9;
}
h1 span{
  color:var(--teal);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-weight:400;
}
.promise{
  color:var(--navy);text-transform:uppercase;letter-spacing:.12em;
  font-weight:900;font-size:1.05rem;margin:24px 0;
}
.photo-card{position:relative;border-radius:42px;overflow:hidden;box-shadow:0 28px 70px rgba(7,54,92,.22);border:8px solid white}
.photo-card img{width:100%;display:block}
.paint-note{
  position:absolute;top:28px;right:28px;max-width:290px;background:rgba(217,238,240,.92);
  color:var(--navy);padding:18px 20px;border-radius:4px 24px 4px 24px;font-size:1rem;
}
.paint-note strong{text-transform:uppercase;letter-spacing:.06em}

.section{padding:66px 0}
.two-col{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:start}
.card,.paint-card,.why-card{
  background:rgba(255,255,255,.82);border:1px solid rgba(63,154,165,.25);
  box-shadow:0 18px 45px rgba(7,54,92,.08);border-radius:34px;
}
.service-card{padding:30px}
.section-title{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:22px}
.section-title span{height:2px;background:var(--gold);width:70px}
h2{
  margin:0 0 18px;color:var(--navy);font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.05;
}
.section-title h2{margin:0;text-transform:uppercase;letter-spacing:.05em;font-size:1.55rem}
.service-list{display:grid;gap:0}
.service-list div{
  position:relative;padding:16px 0 16px 64px;border-bottom:2px dotted rgba(63,154,165,.45);
}
.service-list div:last-child{border-bottom:0}
.service-list div:before{
  content:"";position:absolute;left:0;top:18px;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),#6cb8bf);
}
.service-list div:after{
  content:"♥";position:absolute;left:13px;top:24px;color:white;font-size:20px;font-weight:900;
}
.service-list b{color:var(--navy);text-transform:uppercase;letter-spacing:.08em}
.service-list p{margin:4px 0 0}

.about-stack{display:grid;gap:26px}
.paint-card{
  background:linear-gradient(180deg,rgba(217,238,240,.96),rgba(217,238,240,.76));
  padding:34px 42px;border-radius:8px 42px 8px 42px;
}
.paint-card h2,.why-card h2{
  font-family:"Brush Script MT","Segoe Script",cursive;color:var(--teal);font-weight:400;font-size:3rem;
}
.paint-card ul{list-style:none;margin:0;padding:0}
.paint-card li{position:relative;padding-left:34px;margin:15px 0;font-weight:700}
.paint-card li:before{
  content:"✓";position:absolute;left:0;top:1px;background:var(--teal);color:white;
  width:22px;height:22px;border-radius:50%;text-align:center;line-height:22px;font-size:14px;
}
.why-card{padding:34px 42px;background:#fffdf8}
.why-card p{font-size:1.12rem}

.contact-wave{
  background:
    linear-gradient(175deg, transparent 0 11%, var(--deep) 11% 100%);
  color:white;padding:80px 0 42px;
}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}
.call-box p{text-transform:uppercase;letter-spacing:.12em;color:#9bd1d6;font-weight:900}
.call-box a{font-size:clamp(2.5rem,6vw,5rem);font-weight:900;color:white;text-decoration:none}
.details{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-left:2px solid var(--gold);padding-left:34px;
}
.details p{margin:0}
.details strong{color:#9bd1d6;text-transform:uppercase;letter-spacing:.08em}
.details a{color:white;font-weight:800;text-decoration:none}

footer{
  text-align:center;background:var(--sand);color:var(--navy);padding:18px;
  text-transform:uppercase;letter-spacing:.16em;font-weight:900;
}

@media (max-width:850px){
  nav{display:none}
  .hero-grid,.two-col,.contact-grid,.details{grid-template-columns:1fr}
  .details{border-left:0;padding-left:0}
  .paint-note{position:static;border-radius:0}
  .hero-left{text-align:center}
  .service-card{padding:22px}
}
