/* ============================================================
   SUMMIT REMODEL STANDARD v1 — override layer
   Locked 2026-08-28. Spec: Summit Knowledge/sops/SOP-summit-remodel-standard-v1.md
   Derived from blackwallbuilders.com/miami + vistaconstructionmiami.com
   Loaded AFTER style.css — intentionally overrides the service-trade shell.
   Accent discipline: client brand color < 5% of page surface.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&family=Montserrat:wght@400;500;600&display=swap');

:root{
  --ink:#111111;
  --ink-soft:#4a4a4a;
  --gray:#838383;
  --line:#e4e4e4;
  --bg:#ffffff;
  --bg-alt:#f7f7f5;
  --char:rgba(18,18,18,.82);
  --accent:#1a2fd6;      /* Art Lego blue — EMPHASIS ONLY */
  --accent-soft:#1fa89c; /* cyan — icon strokes only */
  --radius:4px;
  --shadow:0 18px 50px rgba(0,0,0,.13);
}

/* ---------- type ---------- */
body{
  font-family:"Montserrat",system-ui,sans-serif;
  color:var(--ink-soft);
  font-size:1.02rem;
  line-height:1.75;
  background:var(--bg);
}
h1,h2,h3,h4{font-family:"Poppins",system-ui,sans-serif;color:var(--ink);}
h1{
  font-weight:400;
  font-size:clamp(2.1rem,4.6vw,3.4rem);
  line-height:1.14;
  letter-spacing:.02em;
  text-transform:uppercase;
}
h2{
  font-weight:500;
  font-size:clamp(1.35rem,2.5vw,1.85rem);
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:.65em;
}
h3{font-weight:500;font-size:1.1rem;letter-spacing:.01em;}
p{color:var(--ink-soft);}
.section{padding:88px 0;}
.section-alt{background:var(--bg-alt);}

/* section eyebrow */
.eyebrow{
  display:block;font-family:"Montserrat",sans-serif;font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gray);
  font-weight:600;margin-bottom:14px;
}

/* ---------- topbar ---------- */
.topbar{background:var(--ink);color:#fff;font-size:.78rem;letter-spacing:.04em;border:0;}
.topbar a{color:#fff;font-weight:600;}
.topbar .badge{background:transparent;color:#fff;padding:0;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;}

/* ---------- header: wordmark + white phone pill ---------- */
.site-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:none;}
.brand img{height:38px;border-radius:0;}
.brand-text .name{
  font-family:"Poppins",sans-serif;font-weight:500;font-size:1.12rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
}
.brand-text .tag{font-size:.62rem;letter-spacing:.16em;color:var(--gray);}
.main-nav a{
  font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:500;color:var(--ink-soft);
}
.main-nav a.active,.main-nav a:hover{color:var(--ink);border-bottom:1px solid var(--accent);}
.call-btn{
  background:#fff!important;color:var(--ink)!important;
  border:1px solid var(--ink);border-radius:999px;
  font-weight:600;letter-spacing:.04em;box-shadow:none;
}
.call-btn:hover{background:var(--ink)!important;color:#fff!important;}
.call-btn svg{color:currentColor;}

/* ---------- buttons: near-black, restrained ---------- */
.btn{
  font-family:"Montserrat",sans-serif;font-weight:600;
  font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  border-radius:var(--radius);padding:15px 30px;
}
.btn-primary{
  background:var(--ink);color:#fff;border:1px solid var(--ink);
  box-shadow:none;
}
.btn-primary:hover{background:#2c2c2c;}
.btn-outline{
  background:transparent;color:#fff;border:1px solid rgba(255,255,255,.65);
}
.btn-outline:hover{background:#fff;color:var(--ink);}

/* ---------- HERO: full-bleed twilight, photo-led ---------- */
.hero{min-height:88vh;display:flex;align-items:center;background:#0b0b0b;}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 58%;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(8,8,8,.82) 0%,rgba(8,8,8,.58) 44%,rgba(8,8,8,.28) 72%,rgba(8,8,8,.42) 100%);
}
.hero .wrap{
  display:grid;grid-template-columns:1fr;gap:40px;
  padding:96px 20px 88px;
}
@media(min-width:1000px){
  .hero .wrap{grid-template-columns:1.08fr .92fr;align-items:center;gap:56px;}
}
.hero-copy .promo-pill{
  background:transparent;border:0;padding:0;color:#cfcfcf;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  margin-bottom:20px;display:inline-block;
}
.hero-copy .promo-pill svg,.hero-copy .promo-pill img{display:none;}
.hero-copy h1{color:#fff;margin-bottom:.42em;}
/* italic tagline — Blackwall signature */
.hero-copy .sub{
  font-family:"Poppins",sans-serif;font-style:italic;font-weight:300;
  color:#d6d6d6;font-size:1.06rem;line-height:1.62;max-width:52ch;
  letter-spacing:.01em;
}
/* two-column service list replaces icon trust row */
.hero-trust{
  display:grid!important;grid-template-columns:1fr 1fr;gap:6px 26px;
  margin:26px 0 0;padding:0;max-width:none;
}
.hero-trust li{
  list-style:none;color:#e2e2e2;font-size:.92rem;font-weight:400;
  letter-spacing:.02em;padding-left:14px;position:relative;
  border:0;background:none;
}
.hero-trust li::before{
  content:"";position:absolute;left:0;top:.72em;
  width:5px;height:5px;background:var(--accent-soft);border-radius:50%;
}
.hero-trust svg{display:none;}
.hero-cta-row{margin-top:32px;gap:14px;}

/* floating charcoal lead card */
.lead-card{
  background:var(--char);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:6px;box-shadow:var(--shadow);
  padding:34px 30px;
}
.lead-card h2{color:#fff;font-size:1.32rem;letter-spacing:.03em;text-transform:none;font-weight:500;}
.lead-card .sub-note{color:#b6b6b6;font-size:.9rem;line-height:1.6;}
.lead-card label{color:#cdcdcd;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600;}
.lead-card input,.lead-card select,.lead-card textarea{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;border-radius:var(--radius);
}
.lead-card input::placeholder,.lead-card textarea::placeholder{color:#8f8f8f;}
.lead-card input:focus,.lead-card select:focus,.lead-card textarea:focus{
  outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(26,47,214,.22);
}
.lead-card select option{background:#1a1a1a;color:#fff;}
.lead-card .btn-primary{
  background:#fff;color:var(--ink);border-color:#fff;width:100%;
}
.lead-card .btn-primary:hover{background:#e8e8e8;}
.lead-card .disclaimer,.lead-card .form-note{color:#a5a5a5;font-size:.82rem;}
.lead-card a{color:#fff;text-decoration:underline;}

/* ---------- credibility strip: hairlines, no icon boxes ---------- */
.trustbar{background:#fff;border-bottom:1px solid var(--line);padding:26px 0;}
.trustbar .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
.trustbar .item{
  display:flex;align-items:center;gap:10px;
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  font-weight:600;color:var(--ink-soft);
  padding:4px 30px;border-right:1px solid var(--line);
}
.trustbar .item:last-child{border-right:0;}
.trustbar .item svg{width:16px;height:16px;color:var(--accent-soft);}

/* ---------- services: two-column list, hairline dividers ---------- */
.services-grid{
  display:grid;grid-template-columns:1fr;gap:0;
  border-top:1px solid var(--line);
}
@media(min-width:860px){.services-grid{grid-template-columns:1fr 1fr;column-gap:60px;}}
.service-card{
  background:transparent;border:0;border-bottom:1px solid var(--line);
  border-radius:0;box-shadow:none;padding:26px 4px;
  transition:padding-left .3s ease;
}
.service-card:hover{box-shadow:none;transform:none;padding-left:12px;}
.service-card .icon,.service-card>svg{display:none;}
.service-card h3{
  font-size:1.04rem;letter-spacing:.05em;text-transform:uppercase;
  font-weight:500;margin-bottom:.4em;color:var(--ink);
}
.service-card p{font-size:.93rem;color:var(--gray);margin:0;}
.service-card a{color:var(--accent);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;}

/* ---------- OUR WORK gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(min-width:900px){.gallery{grid-template-columns:repeat(4,1fr);}}
.gallery figure,.gallery a,.gallery .shot{margin:0;overflow:hidden;border-radius:var(--radius);}
.gallery img{
  width:100%;height:260px;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.gallery img:hover{transform:scale(1.03);}
.gallery-note{
  color:var(--gray);font-size:.8rem;font-style:italic;
  margin-top:18px;text-align:center;
}

/* ---------- aerial band ---------- */
.area-band{position:relative;min-height:340px;display:flex;align-items:center;overflow:hidden;}
.area-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.area-band::after{content:"";position:absolute;inset:0;background:rgba(10,10,10,.52);}
.area-band .wrap{position:relative;z-index:2;text-align:center;}
.area-band h2{color:#fff;margin-bottom:.3em;}
.area-band p{color:#dcdcdc;max-width:56ch;margin:0 auto;}

/* ---------- why-us split ---------- */
.split{display:grid;grid-template-columns:1fr;gap:44px;align-items:center;}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px;}}
.split img{border-radius:var(--radius);width:100%;height:100%;object-fit:cover;max-height:520px;}
.split ul{padding-left:0;}
.split li{
  list-style:none;padding:12px 0 12px 20px;position:relative;
  border-bottom:1px solid var(--line);font-size:.95rem;
}
.split li::before{
  content:"";position:absolute;left:0;top:1.35em;width:6px;height:6px;
  background:var(--accent);border-radius:50%;
}
.split li svg{display:none;}

/* ---------- final CTA band ---------- */
.cta-band{background:var(--ink);color:#fff;padding:78px 0;}
.cta-band h2{color:#fff;}
.cta-band p{color:#c6c6c6;}
.cta-band .btn-primary{background:#fff;color:var(--ink);border-color:#fff;}
.cta-band .btn-outline{border-color:rgba(255,255,255,.6);color:#fff;}

/* ---------- footer ---------- */
.site-footer{background:#fff;color:var(--ink-soft);border-top:1px solid var(--line);}
.site-footer .footer-h{
  color:var(--ink);font-size:.75rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:600;
}
.site-footer a{color:var(--ink-soft);}
.site-footer a:hover{color:var(--accent);}
.footer-brand img{height:34px;border-radius:0;}
.footer-bottom{border-top:1px solid var(--line);color:var(--gray);font-size:.8rem;}

/* ---------- sticky mobile bar ---------- */
.sticky-bar{background:var(--ink);border-top:0;}
.sticky-bar a{letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:600;}

/* ---------- misc ---------- */
.gbp-embed iframe,iframe{border-radius:var(--radius);box-shadow:none;border:1px solid var(--line);}
a{text-decoration:none;}
main p a,.prose a{color:var(--accent);text-decoration:underline;}
@media(max-width:700px){
  .section{padding:60px 0;}
  .hero .wrap{padding:72px 20px 60px;}
  .hero-trust{grid-template-columns:1fr;}
  .trustbar .item{border-right:0;padding:6px 16px;}
  .gallery img{height:190px;}
}
