@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@500;600;700&display=swap");

:root{--ink:#101820;--ink2:#18222b;--brick:#aa4b31;--brick-dark:#863922;--sand:#e7d8c3;--cream:#f7f2e9;--white:#fff;--muted:#6d6b66;--line:#ddd2c3;--shadow:0 18px 48px rgba(16,24,32,.12)}
html{box-sizing:border-box;scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.62}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{background:#081016;color:#fff;font-size:13px}.topbar .wrap{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:18px}.topbar a{font-weight:800}.nav{position:sticky;top:0;z-index:100;background:rgba(247,242,233,.97);border-bottom:1px solid rgba(16,24,32,.08);backdrop-filter:blur(10px)}.nav-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.mark{width:46px;height:46px;display:grid;place-items:center;background:var(--brick);color:#fff;font-family:Georgia,serif;font-weight:900;font-style:italic;font-size:29px;transform:skew(-7deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.brand-text{display:block;line-height:1}.brand-text b{display:block;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:1.4px;font-size:20px;line-height:1}.brand-text small{display:block;font-size:10px;font-weight:900;letter-spacing:5px;margin-top:7px}.links{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:750}.links>a:not(.btn){padding:30px 0 27px;border-bottom:3px solid transparent}.links>a:not(.btn):hover{color:var(--brick);border-color:var(--brick)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;background:var(--brick);color:#fff;border:1px solid var(--brick);font-weight:850;letter-spacing:.01em;cursor:pointer;white-space:nowrap;flex-shrink:0}.btn:hover{background:var(--brick-dark);border-color:var(--brick-dark)}.btn.small{min-height:44px;padding:0 18px}.btn.ghost{background:transparent;border-color:rgba(255,255,255,.48);color:#fff}.btn.ghost:hover{background:#fff;color:var(--ink)}.btn.outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.outline:hover{background:var(--ink);color:#fff}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.mobile-nav{display:none;position:relative}.mobile-nav summary{list-style:none;width:48px;height:46px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:23px;height:2px;background:var(--ink);position:relative;content:""}.menu-lines:before{position:absolute;top:-7px}.menu-lines:after{position:absolute;top:7px}.mobile-nav[open] .menu-lines{background:transparent}.mobile-nav[open] .menu-lines:before{top:0;transform:rotate(45deg)}.mobile-nav[open] .menu-lines:after{top:0;transform:rotate(-45deg)}.mobile-panel{position:absolute;right:0;top:58px;width:min(330px,calc(100vw - 38px));background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);padding:12px;display:grid}.mobile-panel a{padding:13px 12px;font-weight:800;border-bottom:1px solid #eee}.mobile-panel .btn{margin-top:10px;border-bottom:0}.hero{position:relative;background:var(--ink);color:#fff;min-height:620px;overflow:hidden;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(10,16,22,.95) 0%,rgba(10,16,22,.80) 45%,rgba(10,16,22,.35) 100%),url('images/brick-home.jpg');background-size:cover;background-position:center}.hero .wrap{position:relative;z-index:2}.hero-copy{width:min(800px,72%);padding:95px 0}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:900;color:#e88965;margin:0 0 18px}.eyebrow.dark{color:var(--brick)}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,7vw,92px);line-height:.92;letter-spacing:-.04em;margin:0 0 26px}.hero h1 span{color:#de7955}.lead{font-size:clamp(18px,2vw,23px);max-width:720px;color:#e7edf1}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin:30px 0 42px}.proof{display:flex;border-top:1px solid rgba(255,255,255,.2);max-width:760px}.proof>div{padding:25px 35px 0 0;margin-right:35px}.proof strong{display:block;font-size:23px}.proof span{color:#b9c3ca;font-size:13px}.trust{background:var(--brick);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.trust-grid span{padding:18px 10px;border-right:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.section{padding:92px 0}.section.white{background:#fff}.section.dark{background:var(--ink);color:#fff}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:48px}.section-head h2,.content h2,.area-hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em}.section-head h2{font-size:clamp(38px,5vw,60px);line-height:1.02;margin:0}.section-head p:last-child{color:var(--muted);margin:0;font-size:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:#fff;border:1px solid var(--line);padding:22px;min-height:205px;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(16,24,32,.035)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-icon{font-size:22px;color:var(--brick);line-height:1}.card h3{font:700 21px Georgia,serif;margin:13px 0 8px}.card p{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.55}.card a{margin-top:auto;color:var(--brick);font-weight:850;font-size:13px}.about-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.image-stack{position:relative;padding:0 48px 48px 0}.image-stack img{width:100%;aspect-ratio:4/3;object-fit:cover}.years{position:absolute;right:0;bottom:0;background:var(--brick);color:#fff;padding:26px 30px}.years strong{font-size:44px;line-height:1}.years span{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;margin-top:6px}.content h2{font-size:clamp(38px,5vw,58px);line-height:1.03;margin:0 0 22px}.content p{font-size:17px;color:var(--muted)}.dark .content p{color:#c6d0d7}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:310px 260px;gap:14px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery figure:first-child{grid-row:1/3}.gallery figure:nth-child(4){grid-column:2/4}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:32px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.76));color:#fff;font-weight:850}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{border-top:3px solid var(--brick);padding-top:20px}.step strong{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--brick);color:#fff;border-radius:50%;margin-bottom:16px}.step h3{font:700 22px Georgia,serif;margin:0 0 8px}.step p{color:var(--muted)}.area{background:var(--ink);color:#fff}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.area-grid h2{font:700 clamp(40px,5vw,62px) Georgia,serif;margin:0 0 20px}.area-grid p{color:#c8d1d8}.area-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.2)}.area-list a{padding:18px 8px;border-bottom:1px solid rgba(255,255,255,.18);font-weight:800}.area-list a:hover{color:#e88965}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.facts{margin-top:32px}.fact{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line);padding:14px 0}.fact b{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.fact a{color:var(--brick);font-weight:750}.quote-form{background:#fff;border:1px solid var(--line);padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form label{font-size:13px;font-weight:850}.quote-form input,.quote-form textarea,.quote-form select{width:100%;margin-top:7px;padding:12px;border:1px solid #cfc7bb;background:#fff}.quote-form .full{grid-column:1/3}.form-status{display:none;color:#245b33;background:#eef8f0;padding:10px 12px}.form-status.show{display:block}footer{background:#080e13;color:#c8d0d6;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px}.footer-grid .brand{color:#fff}.footer-links{display:grid;align-content:start;gap:9px;font-size:14px}.footer-links strong{color:#fff;margin-bottom:8px}.footer-links a:hover{color:#e88965}.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.page-hero,.area-hero{background:var(--ink);color:#fff;padding:85px 0}.page-hero .wrap,.area-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.page-hero h1,.area-hero h1{font-size:clamp(48px,6vw,76px);line-height:.95;margin:0 0 22px}.page-hero p,.area-hero p{font-size:19px;color:#d6dee3;max-width:760px}.page-hero img,.area-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border:8px solid rgba(255,255,255,.08)}.breadcrumbs{font-size:12px;color:#9eabb4;margin-bottom:18px}.breadcrumbs a{color:#e88965}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.prose h2{font:700 38px Georgia,serif;margin:0 0 18px}.prose h3{font:700 27px Georgia,serif;margin:38px 0 12px}.prose p{font-size:17px;color:#4e5255}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0;padding:0;list-style:none}.check-list li{background:#fff;border-left:4px solid var(--brick);padding:14px 16px;font-weight:780}.side-card{background:#fff;border:1px solid var(--line);padding:28px;position:sticky;top:116px}.side-card h3{font:700 27px Georgia,serif;margin:0 0 12px}.side-card p{color:var(--muted)}.side-links{display:grid;margin:22px 0}.side-links a{padding:12px 0;border-top:1px solid var(--line);font-weight:780}.side-links a:hover{color:var(--brick)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:850;cursor:pointer}.faq p{margin:10px 0 0;color:var(--muted)}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.link-card{background:#fff;border:1px solid var(--line);padding:25px;min-height:190px;display:flex;flex-direction:column}.link-card h2,.link-card h3{font:700 25px Georgia,serif;margin:0 0 10px}.link-card p{color:var(--muted)}.link-card a{margin-top:auto;color:var(--brick);font-weight:850}.cta{background:var(--brick);color:#fff}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font:700 clamp(35px,5vw,54px) Georgia,serif;margin:0}.cta p{margin:8px 0 0;color:#f5ddd3}.cta .btn{background:#fff;color:var(--ink);border-color:#fff}.service-area-strip{display:flex;flex-wrap:wrap;gap:9px}.service-area-strip a{background:#fff;border:1px solid var(--line);padding:8px 12px;font-size:13px;font-weight:800}.service-area-strip a:hover{border-color:var(--brick);color:var(--brick)}
@media(max-width:980px){.links{display:none}.mobile-nav{display:block}.hero-copy{width:min(760px,88%)}.cards{grid-template-columns:1fr 1fr}.about-grid,.split,.section-head,.area-grid,.contact-grid,.page-hero .wrap,.area-hero .wrap,.two-col{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 250px 250px}.gallery figure:first-child{grid-column:1/3;grid-row:auto}.gallery figure:nth-child(4){grid-column:auto}.process{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.side-card{position:static}.page-hero img,.area-hero img{max-height:420px}.link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.topbar .wrap{min-height:34px}.topbar span{display:none}.nav-inner{min-height:70px}.mark{width:44px;height:44px}.brand-text b{font-size:11px}.hero{min-height:670px}.hero-bg{background-image:linear-gradient(180deg,rgba(10,16,22,.73),rgba(10,16,22,.96)),url('images/brick-home.jpg');background-position:center}.hero-copy{width:100%;padding:78px 0 70px}.hero h1{font-size:54px}.proof{display:grid;grid-template-columns:1fr}.proof>div{padding:16px 0;margin:0;border-bottom:1px solid rgba(255,255,255,.14)}.trust-grid{grid-template-columns:1fr 1fr}.section{padding:65px 0}.cards,.process,.link-grid{grid-template-columns:1fr}.section-head{gap:18px}.about-grid{gap:38px}.image-stack{padding:0 24px 24px 0}.years{padding:19px 22px}.gallery{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}.gallery figure:first-child,.gallery figure:nth-child(4){grid-column:auto}.area-list{grid-template-columns:1fr}.quote-form{grid-template-columns:1fr;padding:21px}.quote-form .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.legal{flex-direction:column}.page-hero,.area-hero{padding:60px 0}.page-hero h1,.area-hero h1{font-size:48px}.check-list{grid-template-columns:1fr}.cta .wrap{flex-direction:column;align-items:flex-start}.fact{grid-template-columns:1fr;gap:3px}.service-area-strip{display:grid;grid-template-columns:1fr 1fr}}

/* FINAL ORIGINAL-TYPOGRAPHY + FORM LAYOUT FIX */
/* Restore the bold condensed display treatment used in the original design. */
.hero h1,
.section-head h2,
.content h2,
.area-grid h2,
.page-hero h1,
.area-hero h1,
.prose h2,
.link-card h2,
.cta h2 {
  font-family: Impact, "Arial Narrow", "Arial Black", sans-serif;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.hero h1 {
  font-size: clamp(54px,7vw,96px);
  line-height: .9;
  letter-spacing: .3px;
}
.section h2 {
  font-size: clamp(42px,5vw,64px);
  line-height: 1.05;
}
.area-grid h2 {
  font-size: clamp(42px,5vw,62px);
  line-height: 1.05;
}
.page-hero h1,
.area-hero h1 {
  font-size: clamp(48px,6vw,76px);
  line-height: .95;
}

/* Keep the estimate form inside the same centered two-column layout as the contact copy. */
.contact-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 70px;
  align-items: start;
}
.quote-form {
  width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  box-shadow: var(--shadow);
}
.quote-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .7px;
}
.quote-form input,
.quote-form textarea,
.quote-form select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin-top: 0;
  border: 1px solid #cfc6ba;
  background: #fbf9f5;
  padding: 13px;
  color: var(--ink);
  outline: none;
}
.quote-form input:focus,
.quote-form textarea:focus,
.quote-form select:focus {
  border-color: var(--brick);
  box-shadow: 0 0 0 2px rgba(164,72,47,.1);
}
.quote-form .full {
  grid-column: 1 / -1;
}

@media(max-width:980px) {
  .contact-grid { grid-template-columns: 1fr; gap: 36px; }
}
@media(max-width:640px) {
  .hero h1 { font-size: 52px; }
  .quote-form { grid-template-columns: 1fr; padding: 20px; }
  .quote-form .full { grid-column: auto; }
}

/* Restore the original Charles A. Hall Masonry display typography. */
.hero h1,
.section-head h2,
.content h2,
.area-grid h2,
.area h2,
.page-hero h1,
.area-hero h1,
.prose h2,
.link-card h2,
.cta h2 {
  font-family: Impact, "Arial Narrow", sans-serif;
  text-transform: uppercase;
  letter-spacing: .3px;
  font-weight: 400;
}


/* FINAL LOGO ASSET */
.logo-brand{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  line-height:0;
}
.logo-brand img{
  display:block;
  width:250px;
  max-width:100%;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
}
.footer-logo-brand img{
  width:225px;
  max-height:58px;
}
@media(max-width:640px){
  .logo-brand img{width:190px;max-height:50px}
  .footer-logo-brand img{width:205px;max-height:54px}
}


/* ===== FINAL BRAND TYPOGRAPHY + HEADER LOGO ===== */
:root { --display-font: Impact, "Arial Narrow", "Noto Sans Display", sans-serif; }

/* Major headings: same heavy condensed contractor treatment as the approved preview. */
.hero h1,
.section-head h2,
.content h2,
.area-grid h2,
.area h2,
.page-hero h1,
.area-hero h1,
.prose h2,
.prose h3,
.link-card h2,
.link-card h3,
.cta h2,
.card h3,
.step h3,
.side-card h3 {
  font-family: var(--display-font) !important;
  font-weight: 900 !important;
  font-stretch: ultra-condensed;
  text-transform: uppercase;
  letter-spacing: .01em !important;
}
.hero h1 {
  font-size: clamp(58px, 7vw, 96px) !important;
  line-height: .92 !important;
}
.section-head h2,
.content h2,
.area-grid h2,
.area h2 {
  line-height: .96 !important;
}
.page-hero h1,
.area-hero h1 {
  line-height: .94 !important;
}

/* The selected brick-arch logo stays compact in the navigation. */
.nav-inner { min-height: 78px !important; }
.logo-brand {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  line-height: 0 !important;
  width: auto !important;
  max-width: none !important;
}
.nav .logo-brand img {
  display: block !important;
  width: 220px !important;
  max-width: 220px !important;
  height: auto !important;
  max-height: 54px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.footer-logo-brand img {
  width: 205px !important;
  max-width: 205px !important;
  height: auto !important;
  max-height: 50px !important;
}

@media (max-width: 980px) {
  .nav .logo-brand img { width: 195px !important; max-width: 195px !important; max-height: 48px !important; }
}
@media (max-width: 640px) {
  .nav-inner { min-height: 68px !important; }
  .nav .logo-brand img { width: 170px !important; max-width: 170px !important; max-height: 42px !important; }
  .footer-logo-brand img { width: 190px !important; max-width: 190px !important; max-height: 46px !important; }
  .hero h1 { font-size: 54px !important; }
}


/* ===== APPROVED READABILITY TYPOGRAPHY — 2026-08-24 =====
   Uses a wider condensed sans-serif instead of Impact so white display text
   stays crisp and readable on the dark navy sections. The same display family
   is used across the site so the typography remains consistent. */
:root {
  --display-font: "Arial Narrow", "Liberation Sans Narrow", "Helvetica Neue Condensed Bold", Arial, sans-serif;
}

.hero h1,
.section-head h2,
.content h2,
.area-grid h2,
.area h2,
.page-hero h1,
.area-hero h1,
.prose h2,
.prose h3,
.link-card h2,
.link-card h3,
.cta h2,
.card h3,
.step h3,
.side-card h3 {
  font-family: var(--display-font) !important;
  font-weight: 700 !important;
  font-stretch: condensed;
  text-transform: uppercase;
  letter-spacing: .015em !important;
}

/* Keep the approved hero scale, but give the wider face room to breathe. */
.hero h1 {
  font-size: clamp(58px, 6.6vw, 92px) !important;
  line-height: .92 !important;
  letter-spacing: .005em !important;
}

.section-head h2,
.content h2 {
  font-size: clamp(40px, 4.7vw, 58px) !important;
  line-height: .96 !important;
}

.area-grid h2,
.area h2 {
  font-size: clamp(42px, 4.7vw, 60px) !important;
  line-height: .96 !important;
}

.page-hero h1,
.area-hero h1 {
  font-size: clamp(48px, 5.5vw, 70px) !important;
  line-height: .95 !important;
}

.prose h2 {
  font-size: 40px !important;
  line-height: 1 !important;
}
.prose h3,
.side-card h3 {
  font-size: 26px !important;
  line-height: 1.05 !important;
}
.card h3 {
  font-size: 21px !important;
  line-height: 1.05 !important;
}
.step h3 {
  font-size: 22px !important;
  line-height: 1.05 !important;
}

/* Improve legibility on dark backgrounds without changing the palette. */
.section.dark h2,
.section.dark h3,
.area h2,
.area h3,
.page-hero h1,
.area-hero h1 {
  color: #fff;
}
.section.dark .step p,
.section.dark .section-head p,
.area-grid p,
.area p {
  color: #d7dfe4;
}
.section.dark .step h3,
.area-list a {
  color: #fff;
}

@media (max-width: 980px) {
  .hero h1 { font-size: clamp(54px, 8vw, 78px) !important; }
  .section-head h2,
  .content h2,
  .area-grid h2,
  .area h2 { font-size: clamp(40px, 6vw, 54px) !important; }
}
@media (max-width: 640px) {
  .hero h1 { font-size: 52px !important; line-height: .94 !important; }
  .section-head h2,
  .content h2,
  .area-grid h2,
  .area h2 { font-size: 42px !important; line-height: .98 !important; }
  .page-hero h1,
  .area-hero h1 { font-size: 44px !important; line-height: .98 !important; }
}


/* ===== APPROVED DESIGN — OSWALD + DM SANS ===== */
:root{
  --font-display:"Oswald","Roboto Condensed","Arial Narrow",sans-serif;
  --font-body:"DM Sans","Segoe UI",Arial,sans-serif;
}
html,body{font-family:var(--font-body)!important}
body{font-size:16px;line-height:1.55}

/* Display typography: readable condensed face approved in final visual. */
.hero h1,
.section-head h2,
.content h2,
.area-grid h2,
.area h2,
.page-hero h1,
.area-hero h1,
.prose h2,
.prose h3,
.link-card h2,
.link-card h3,
.cta h2,
.card h3,
.step h3,
.side-card h3{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  font-stretch:normal!important;
  text-transform:uppercase;
  letter-spacing:-.015em!important;
}
.hero h1{
  font-size:clamp(60px,5.7vw,88px)!important;
  line-height:.92!important;
  margin:0 0 24px!important;
}
.section-head h2,.content h2,.area-grid h2,.area h2{
  font-size:clamp(40px,4.25vw,58px)!important;
  line-height:.98!important;
}
.page-hero h1,.area-hero h1{
  font-size:clamp(50px,5.2vw,72px)!important;
  line-height:.96!important;
}
.prose h2{font-size:40px!important;line-height:1.04!important}
.prose h3,.side-card h3{font-size:27px!important;line-height:1.08!important}
.card h3{font-size:21px!important;line-height:1.05!important;margin:0 0 8px!important}
.step h3{font-size:21px!important;line-height:1.05!important;margin:0 0 9px!important}

/* Supporting condensed UI typography. */
.eyebrow,.links,.btn,.trust-grid span,.proof strong,.card a,.area-list a,
.footer-links strong,.fact b,.quote-form label,.breadcrumbs,.faq summary,
.check-list li,.side-links a,.link-card a,.years span{
  font-family:var(--font-display)!important;
}
.links{font-weight:600!important;letter-spacing:.005em}
.btn{font-weight:600!important;text-transform:uppercase;letter-spacing:.015em}
.eyebrow{font-weight:600!important;letter-spacing:.18em!important}
.trust-grid span{font-weight:600!important;letter-spacing:.03em!important}

/* Hero proportions and readable text. */
.hero-copy{width:min(660px,62%)!important;padding:78px 0 72px!important}
.lead{font-family:var(--font-body)!important;font-size:18px!important;line-height:1.55!important;max-width:610px!important}
.hero-actions{margin:26px 0 28px!important}
.hero-bg{background-image:linear-gradient(90deg,rgba(10,16,22,.94) 0%,rgba(10,16,22,.73) 44%,rgba(10,16,22,.18) 78%,rgba(10,16,22,.05) 100%),url('images/brick-home.jpg')!important}

/* Proof row icons from approved visual. */
.proof{max-width:700px!important;gap:0!important}
.proof-item{display:grid!important;grid-template-columns:36px auto!important;align-items:center!important;column-gap:12px!important;padding:18px 26px 0 0!important;margin-right:26px!important;min-width:0}
.proof-icon{display:block!important;width:32px!important;height:32px!important;color:#fff!important}
.proof-icon svg{display:block;width:100%;height:100%}
.proof-copy{display:block!important;color:inherit!important}
.proof-copy strong{font-size:20px!important;line-height:1!important;display:block!important}
.proof-copy>span{font-family:var(--font-body)!important;font-size:12px!important;line-height:1.3!important;color:#c6d0d7!important;display:block!important;margin-top:5px}

/* Service cards + approved masonry icons. */
.cards{gap:14px!important}
.card{min-height:0!important;padding:20px 22px!important;display:grid!important;grid-template-columns:44px 1fr!important;grid-template-rows:auto auto 1fr!important;column-gap:15px!important;align-items:start!important}
.card-icon{grid-column:1;grid-row:1/4;width:38px!important;height:38px!important;margin-top:0!important;line-height:1!important}
.card-icon svg{display:block;width:38px;height:38px;overflow:visible}
.card h3,.card p,.card a{grid-column:2}
.card p{font-family:var(--font-body)!important;font-size:14px!important;line-height:1.45!important;margin:0 0 12px!important}
.card a{font-weight:600!important;font-size:13px!important;text-transform:uppercase;letter-spacing:.01em}

/* Dark sections: same face but slightly more breathing room for white type. */
.section.dark .section-head h2,.area-grid h2{letter-spacing:-.01em!important}
.section.dark .section-head{margin-bottom:40px!important}
.section.dark .section-head p,.area-grid p{font-family:var(--font-body)!important;line-height:1.6!important}
.step p{font-family:var(--font-body)!important;color:#98a5ad!important;font-size:14px!important;line-height:1.55!important}

/* Body copy stays open and readable. */
.section-head p:last-child,.content p,.prose p,.side-card p,.link-card p,.faq p,.area-grid p,.fact,.footer-grid p{font-family:var(--font-body)!important}

@media(max-width:980px){
  .hero-copy{width:min(720px,86%)!important}
  .hero h1{font-size:clamp(56px,8vw,78px)!important}
}
@media(max-width:640px){
  .hero-copy{width:100%!important;padding:66px 0 56px!important}
  .hero h1{font-size:52px!important;line-height:.94!important}
  .section-head h2,.content h2,.area-grid h2,.area h2{font-size:40px!important}
  .page-hero h1,.area-hero h1{font-size:46px!important}
  .card{grid-template-columns:40px 1fr!important;padding:18px!important}
  .card-icon,.card-icon svg{width:34px!important;height:34px!important}
  .proof{display:grid!important}
  .proof-item{padding:14px 0!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.14)}
}


/* ===== CONTACT + FORM REFINEMENT 2026-08-24 ===== */
.quote-form .form-note{grid-column:1/-1;font-size:12px;color:var(--muted);margin:-3px 0 0}
