.hero-blueprint {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  border: 1px solid rgba(21, 82, 143, .22);
  border-radius: 120px 12px 120px 12px;
  background: linear-gradient(145deg, #fafdff, #eaf3fb);
  box-shadow: 0 20px 50px rgba(21, 82, 143, .12);
}

.hero-blueprint::before {
  content: "PROPERTY REVIEW / SC-01";
  position: absolute;
  top: 30px;
  left: 42px;
  color: #15528f;
  font: 800 .65rem Manrope, sans-serif;
  letter-spacing: .16em;
}

.hero-blueprint::after {
  content: "";
  position: absolute;
  inset: 22px -18px -18px 22px;
  border: 2px solid #f2a45f;
  border-radius: 120px 12px 120px 12px;
  z-index: -1;
}

.blueprint-grid {
  position: absolute;
  inset: 0;
  opacity: .45;
  background-image: linear-gradient(rgba(21,82,143,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(21,82,143,.09) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 88%, transparent);
}

.property-outline { position: absolute; width: 285px; height: 230px; left: 50%; top: 47%; transform: translate(-50%,-50%); }
.property-outline span { position: absolute; display: block; border-color: #15528f; }
.property-outline .roof { width: 190px; height: 190px; left: 48px; top: -10px; border-left: 5px solid #15528f; border-top: 5px solid #15528f; transform: rotate(45deg); border-radius: 5px; }
.property-outline .wall { top: 88px; height: 139px; border-left: 5px solid #15528f; }
.property-outline .left-wall { left: 21px; }.property-outline .right-wall { right: 20px; }
.property-outline .floor { left: 21px; right: 20px; bottom: 0; border-top: 5px solid #15528f; }
.property-outline .window { width: 58px; height: 56px; left: 58px; top: 124px; border: 4px solid #f2a45f; box-shadow: inset 0 25px 0 -23px #f2a45f, inset 29px 0 0 -27px #f2a45f; }
.property-outline .door { width: 52px; height: 91px; right: 60px; bottom: 4px; border: 4px solid #15528f; border-bottom: 0; }
.property-outline .door::after { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#f2a45f; right:7px; top:43px; }

.scan-ring { position:absolute; border-radius:50%; border:1px dashed rgba(242,164,95,.48); left:50%; top:47%; transform:translate(-50%,-50%); animation:blueprint-pulse 4s ease-in-out infinite; }
.ring-one { width:390px; height:390px; }.ring-two { width:480px; height:480px; animation-delay:1s; }
@keyframes blueprint-pulse { 50% { transform:translate(-50%,-50%) scale(1.035); opacity:.4; } }

.blueprint-label { position:absolute; display:flex; gap:9px; align-items:center; padding:9px 12px; border:1px solid rgba(21,82,143,.16); border-radius:8px; background:rgba(255,255,255,.92); box-shadow:0 8px 24px rgba(21,82,143,.09); font-size:.69rem; color:#607284; }
.blueprint-label i { width:9px; height:9px; border-radius:50%; background:#f2a45f; box-shadow:0 0 0 5px rgba(242,164,95,.13); }
.blueprint-label b { display:block; color:#15528f; font-size:.75rem; }.blueprint-label span { white-space:nowrap; }
.label-moisture { top:114px; right:26px; }.label-visual { left:22px; top:243px; }.label-testing { right:22px; bottom:98px; }
.blueprint-status { position:absolute; left:42px; bottom:38px; }
.blueprint-status span { display:block; color:#c96d25; font-size:.62rem; letter-spacing:.16em; font-weight:800; margin-bottom:5px; }
.blueprint-status strong { color:#15528f; font:800 1.05rem/1.25 Manrope,sans-serif; }
.hero-blueprint .visual-badge { left:auto; right:28px; bottom:28px; }

@media (max-width: 980px) { .hero-blueprint { max-width:650px; min-height:520px; } }
@media (max-width: 640px) {
  .hero-blueprint { min-height:420px; border-radius:70px 10px 70px 10px; }
  .hero-blueprint::after { display:none; }
  .property-outline { transform:translate(-50%,-50%) scale(.75); }
  .ring-one { width:290px;height:290px }.ring-two { width:360px;height:360px }
  .blueprint-label { transform:scale(.86); }.label-moisture { right:2px;top:87px }.label-visual { left:0;top:205px }.label-testing { right:0;bottom:88px }
  .blueprint-status { left:25px;bottom:24px }.hero-blueprint .visual-badge { display:none; }
}


/* Full-width mold inspection photo behind the complete hero section. */
.hero {
  background:
    linear-gradient(90deg, rgba(7,31,56,.96) 0%, rgba(11,49,91,.91) 42%, rgba(11,49,91,.68) 68%, rgba(7,31,56,.38) 100%),
    url("assets/mold-inspection-hero.png") center / cover no-repeat;
}
.hero::before {
  background:rgba(7,31,56,.08);
  backdrop-filter:none;
}
.hero-grid { position:relative; z-index:1; }
.hero-blueprint { background:rgba(248,252,255,.7); backdrop-filter:blur(5px); }

@media (max-width: 980px) {
  .hero {
    background:
      linear-gradient(rgba(7,31,56,.93), rgba(11,49,91,.88)),
      url("assets/mold-inspection-hero.png") 62% center / cover no-repeat;
  }
}

/* Premium high-contrast inspection card over the photographic hero. */
.hero-blueprint {
  min-height:560px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px 28px 100px 28px;
  background:
    radial-gradient(circle at 88% 12%, rgba(242,164,95,.18), transparent 27%),
    linear-gradient(145deg, rgba(11,49,91,.98), rgba(21,82,143,.96));
  box-shadow:0 30px 70px rgba(7,31,56,.28);
  backdrop-filter:none;
}
.hero-blueprint::before {
  top:28px;
  left:32px;
  color:#ffd2aa;
}
.hero-blueprint::after {
  inset:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px 20px 84px 20px;
  z-index:1;
  pointer-events:none;
}
.blueprint-grid {
  opacity:.13;
  background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);
}
.property-outline span { border-color:#fff; }
.property-outline .roof { border-left-color:#fff; border-top-color:#fff; }
.property-outline .wall { border-left-color:#fff; }
.property-outline .floor { border-top-color:#fff; }
.property-outline .door { border-color:#fff; border-bottom:0; }
.property-outline .window { border-color:#f2a45f; box-shadow:inset 0 25px 0 -23px #f2a45f,inset 29px 0 0 -27px #f2a45f; }
.property-outline .door::after { background:#f2a45f; }
.scan-ring { border-color:rgba(242,164,95,.34); }
.blueprint-label {
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 28px rgba(4,31,59,.22);
}
.blueprint-label b { color:#15528f; }
.blueprint-label i { background:#f2a45f; }
.blueprint-status { left:34px; bottom:34px; }
.blueprint-status span { color:#ffd2aa; }
.blueprint-status strong { color:#fff; font-size:1.08rem; }
.hero-blueprint .visual-badge {
  right:28px;
  bottom:28px;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 15px 35px rgba(4,31,59,.25);
}

@media (max-width:640px) {
  .hero-blueprint { min-height:420px; border-radius:22px 22px 64px 22px; }
  .hero-blueprint::after { display:block; inset:10px; border-radius:16px 16px 52px 16px; }
}

/* Hero inspection box removed; give the copy a clean, balanced reading width. */
.hero-grid {
  grid-template-columns:minmax(0,760px);
  justify-content:start;
}
.hero-copy {
  max-width:720px;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.hero .hero-copy h1 { color:#fff; text-shadow:0 4px 20px rgba(4,31,59,.28); }
.hero .hero-copy h1 em { color:#ffb979; }
.hero .hero-copy > p:not(.lead) { color:#dce9f5; }
.hero .hero-copy .lead { color:#ffd2aa; }
.hero .hero-copy .eyebrow { color:#ffd2aa; }
.hero .hero-copy .eyebrow span { background:#f2a45f; }
.hero .trust-row { color:#fff; }
.hero .btn-call { background:#f2a45f; color:#10263b; box-shadow:0 12px 28px rgba(4,31,59,.28); }
.hero .btn-call:hover { background:#ffb979; }
.hero .hero-actions .btn-outline { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }
.hero .hero-actions .btn-outline:hover { background:#fff; color:#15528f; }

@media (max-width:640px) {
  .hero-copy { padding:0; border-radius:0; }
}

/* Footer social links */
.footer-brand p { max-width:290px; }
.social-links { display:flex; gap:10px; margin-top:24px; }
.social-links a {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  background:rgba(255,255,255,.06);
  color:#fff;
  transition:transform .25s, background .25s, border-color .25s;
}
.social-links svg { width:18px; height:18px; fill:currentColor; }
.social-links a:hover { transform:translateY(-3px); background:#f2a45f; border-color:#f2a45f; color:#071f38; }

/* High-conversion phone and email contact points */
.topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topbar-contact { display:flex; align-items:center; gap:18px; }
.topbar-contact a { margin-left:0; }
.topbar-contact a:first-child { color:#ffd2aa; }
.phone-symbol { font-size:1.05em; line-height:1; }
.hero-contact-line { display:flex; align-items:center; gap:10px; margin-top:24px; color:#15528f; font-weight:700; }
.hero-contact-line span { color:#607284; font-size:.9rem; }
.hero-contact-line a { font-family:Manrope,sans-serif; font-size:1.15rem; border-bottom:2px solid #f2a45f; }
.btn-call { box-shadow:0 12px 28px rgba(21,82,143,.22); }

@media (max-width:640px) {
  .topbar-inner { justify-content:center; }
  .topbar-inner > span { display:none; }
  .topbar-contact { width:100%; justify-content:space-between; gap:10px; font-size:.68rem; }
  .hero-contact-line { flex-wrap:wrap; }
}

/* Lead capture form */
.lead-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; position:relative; z-index:1; }
.lead-copy { color:#fff; padding-top:18px; }
.lead-copy p { color:#d9e8f5; max-width:520px; }
.direct-contact { margin-top:32px; }
.direct-contact > a { display:inline-flex; align-items:center; gap:14px; padding:14px 18px; border:1px solid rgba(255,255,255,.2); border-radius:12px; background:rgba(255,255,255,.08); }
.direct-contact > a > span { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:#f2a45f; color:#3c2412; font-size:1.25rem; }
.direct-contact small,.direct-contact strong { display:block; }
.direct-contact small { color:#c4d7e8; }
.direct-contact strong { font:800 1.15rem Manrope,sans-serif; }
.direct-contact > span { display:block; margin-top:10px; color:#a9c3da; font-size:.78rem; }
.lead-form { background:#fff; color:#10263b; padding:34px; border-radius:20px; box-shadow:0 28px 70px rgba(4,31,59,.28); }
.form-heading { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:24px; }
.form-heading h3,.form-heading p { margin:0; }
.form-heading h3 { font-size:1.45rem; }
.form-heading p { font-size:.76rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.form-grid label { display:block; }
.form-grid label > span { display:block; margin-bottom:6px; color:#243d54; font-size:.8rem; font-weight:700; }
.form-wide { grid-column:1 / -1; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; border:1px solid #cfdae4; border-radius:9px; background:#f9fbfd; color:#10263b; font:inherit; font-size:.9rem; padding:12px 13px; outline:none; transition:border-color .2s, box-shadow .2s, background .2s; }
.form-grid textarea { resize:vertical; min-height:105px; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:#15528f; background:#fff; box-shadow:0 0 0 3px rgba(21,82,143,.12); }
.form-submit { width:100%; margin-top:20px; border:0; cursor:pointer; font-size:.95rem; }
.form-submit:disabled { opacity:.65; cursor:wait; transform:none; }
.form-status { min-height:24px; margin:12px 0 0; text-align:center; font-size:.86rem; font-weight:700; }
.form-status.success { color:#167245; }
.form-status.error { color:#b42318; }
.form-privacy { margin:4px 0 0; text-align:center; font-size:.72rem; color:#778898; }
.form-honeypot { position:absolute!important; left:-9999px!important; opacity:0!important; }

@media (max-width:980px) {
  .lead-section { grid-template-columns:1fr; gap:38px; }
  .lead-copy { padding-top:0; }
}
@media (max-width:640px) {
  .lead-form { padding:25px 18px; border-radius:15px; }
  .form-grid { grid-template-columns:1fr; }
  .form-wide { grid-column:auto; }
  .form-heading { display:block; }
  .form-heading p { margin-top:5px; }
}

/* Reliable SVG icon system */
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.service-icon svg,.badge-icon svg,.map-pin svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.badge-icon svg { width:21px; height:21px; }
.map-pin svg { width:48px; height:48px; }
.compare-icon svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.inline-check { width:17px; height:17px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; vertical-align:-3px; }
.inline-arrow { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* Trust-building inspection photography */
.field-gallery { background:#f7fafc; }
.photo-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:22px; }
.photo-card { position:relative; margin:0; overflow:hidden; min-height:280px; border-radius:18px; background:#dfe9f2; box-shadow:0 16px 38px rgba(21,82,143,.12); }
.photo-card-wide { grid-row:span 2; min-height:590px; }
.photo-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s ease; }
.photo-card:hover img { transform:scale(1.025); }
.photo-card figcaption { position:absolute; left:20px; right:20px; bottom:18px; padding:14px 16px; border-radius:11px; background:rgba(7,31,56,.88); color:#fff; backdrop-filter:blur(5px); }
.photo-card figcaption span,.photo-card figcaption strong { display:block; }
.photo-card figcaption span { color:#ffd2aa; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.before-after { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.before-after .photo-card { min-height:285px; box-shadow:none; }
.photo-tag { position:absolute; top:14px; left:14px; z-index:2; padding:6px 11px; border-radius:100px; background:#fff; color:#10263b; font-size:.72rem; font-weight:800; box-shadow:0 5px 16px rgba(7,31,56,.16); }
.photo-tag.before { border-left:4px solid #f2a45f; }
.photo-tag.after { border-left:4px solid #2c9b65; }
.gallery-note { margin:18px 0 0; text-align:center; font-size:.76rem; color:#778898; }

@media (max-width:800px) {
  .photo-grid { grid-template-columns:1fr; }
  .photo-card-wide { grid-row:auto; min-height:420px; }
}
@media (max-width:520px) {
  .before-after { grid-template-columns:1fr; }
  .photo-card,.before-after .photo-card { min-height:260px; }
}

/* Embedded Google service-area map */
.google-map { padding:0; overflow:hidden; display:block; background:#e7f0f7; border:1px solid rgba(21,82,143,.12); box-shadow:0 20px 45px rgba(21,82,143,.13); }
.google-map iframe { width:100%; height:370px; display:block; border:0; filter:saturate(.85) contrast(1.03); }
.map-open-link { position:absolute; right:14px; bottom:14px; display:flex; align-items:center; gap:7px; padding:10px 14px; border-radius:9px; background:#fff; color:#15528f; font-size:.78rem; font-weight:800; box-shadow:0 8px 24px rgba(7,31,56,.18); }
.map-open-link:hover { background:#15528f; color:#fff; }
.service-city-list { display:flex; flex-wrap:wrap; gap:9px; margin:24px 0 20px; }
.service-city-list span { display:inline-flex; align-items:center; padding:8px 12px; border:1px solid rgba(21,82,143,.16); border-radius:100px; background:#fff; color:#15528f; font-size:.78rem; font-weight:700; box-shadow:0 5px 14px rgba(21,82,143,.07); }
.service-city-list span::before { content:""; width:6px; height:6px; margin-right:7px; border-radius:50%; background:#f2a45f; }
.area-note { margin-top:0; font-size:.88rem; }

@media (max-width:640px) {
  .google-map iframe { height:330px; }
}

/* Keep the expanded desktop navigation neat and readable. */
@media (min-width:981px) {
  .nav-links { gap:18px; font-size:.84rem; }
  .nav-cta { margin-left:4px; padding:12px 16px; }
}

/* Sticky header and anchor offset */
.site-header {
  position:sticky;
  top:0;
  width:100%;
  z-index:1000;
  box-shadow:0 4px 20px rgba(7,31,56,.05);
}
.site-header.scrolled {
  box-shadow:0 12px 30px rgba(7,31,56,.14);
}
#services,
#comparison,
#process,
#faq,
#service-areas,
#about,
#contact { scroll-margin-top:125px; }

@media (max-width:640px) {
  #services,
  #comparison,
  #process,
  #faq,
  #service-areas,
  #about,
  #contact { scroll-margin-top:108px; }
}
