:root {
  --ink: #151513;
  --ink-soft: #23231f;
  --paper: #f4f1e9;
  --paper-bright: #fbfaf6;
  --gold: #c69a45;
  --gold-light: #e2bd73;
  --line: rgba(21, 21, 19, 0.15);
  --white-line: rgba(255, 255, 255, 0.16);
  --radius: 4px;
  --shadow: 0 22px 55px rgba(15, 15, 12, 0.17);
  --container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper-bright);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.container { width: var(--container); margin-inline: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 1000; transform: translateY(-160%);
  padding: 12px 16px; background: white; color: black;
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: absolute; inset: 0 0 auto; z-index: 20; color: white;
  border-bottom: 1px solid var(--white-line);
}
.nav-wrap { height: 92px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; letter-spacing: 0.06em; }
.brand img { width: 62px; height: 62px; object-fit: cover; border-radius: 50%; }
.brand span { display: flex; flex-direction: column; line-height: 1; }
.brand strong { font-size: 0.92rem; letter-spacing: 0.16em; }
.brand small { margin-top: 6px; font-size: 0.68rem; letter-spacing: 0.28em; color: var(--gold-light); }
.site-nav { display: flex; align-items: center; gap: 30px; }
.site-nav a { position: relative; text-decoration: none; font-size: 0.84rem; font-weight: 650; letter-spacing: 0.06em; }
.site-nav > a:not(.nav-call)::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px;
  background: var(--gold-light); transition: right 180ms ease;
}
.site-nav > a:not(.nav-call):hover::after { right: 0; }
.nav-call { border: 1px solid rgba(255,255,255,0.55); padding: 12px 16px; }
.nav-call:hover { background: white; color: var(--ink); }
.menu-toggle { display: none; background: none; border: 0; padding: 8px; }
.menu-toggle > span:not(.sr-only) { width: 26px; height: 2px; background: white; margin: 5px 0; display: block; }

.hero { position: relative; min-height: 780px; height: 92svh; color: white; display: grid; align-items: center; overflow: hidden; background: #171713; }
.hero-media {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(13,13,11,0.91) 0%, rgba(13,13,11,0.71) 42%, rgba(13,13,11,0.18) 78%),
    linear-gradient(0deg, rgba(13,13,11,0.55), transparent 45%),
    url("/assets/hero.jpg") center 38% / cover no-repeat;
  transform: scale(1.02);
}
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 170px; background: linear-gradient(transparent, rgba(11,11,9,0.5)); }
.hero-content { position: relative; z-index: 2; padding-top: 95px; }
.eyebrow { margin: 0 0 20px; color: var(--gold-light); text-transform: uppercase; letter-spacing: 0.21em; font-size: 0.72rem; font-weight: 800; }
.eyebrow.dark { color: #9a7027; }
.hero h1 { margin: 0; max-width: 920px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.8rem, 7.8vw, 7.25rem); line-height: 0.92; letter-spacing: -0.055em; font-weight: 500; }
.hero h1 span { color: var(--gold-light); font-style: italic; }
.hero-copy { max-width: 660px; font-size: clamp(1.03rem, 2vw, 1.28rem); line-height: 1.65; color: rgba(255,255,255,0.8); margin: 28px 0 0; }
.hero-actions { display: flex; gap: 12px; margin-top: 38px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 0 25px; text-decoration: none; text-transform: uppercase; letter-spacing: 0.11em; font-size: 0.72rem; font-weight: 850; border: 1px solid transparent; cursor: pointer; transition: background 160ms ease, color 160ms ease, border 160ms ease, transform 160ms ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--gold); color: #14120e; }
.button-primary:hover { background: var(--gold-light); }
.button-ghost { border-color: rgba(255,255,255,0.55); color: white; }
.button-ghost:hover { background: white; color: var(--ink); }
.hero-points { display: flex; gap: 0; padding: 0; margin: 58px 0 0; list-style: none; }
.hero-points li { min-width: 190px; padding: 4px 30px 4px 0; margin-right: 30px; border-right: 1px solid var(--white-line); }
.hero-points li:last-child { border: 0; }
.hero-points strong, .hero-points span { display: block; }
.hero-points strong { font-size: 0.88rem; letter-spacing: 0.04em; }
.hero-points span { margin-top: 7px; color: rgba(255,255,255,0.57); font-size: 0.77rem; }
.scroll-cue { position: absolute; z-index: 3; right: 4vw; bottom: 42px; color: rgba(255,255,255,0.7); text-decoration: none; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.18em; transform: rotate(90deg); transform-origin: right center; }
.scroll-cue span { color: var(--gold-light); margin-left: 6px; }

.trust-strip { background: var(--gold); color: #17130d; }
.trust-row { min-height: 72px; display: flex; align-items: center; gap: 36px; font-size: 0.73rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.12em; }
.trust-row span:first-child { font-family: Georgia, serif; font-size: 1rem; text-transform: none; letter-spacing: 0.02em; font-style: italic; }
.trust-row i { width: 1px; height: 24px; background: rgba(0,0,0,0.35); }

.section { padding: 116px 0; }
.section-heading { display: grid; grid-template-columns: 1.4fr 0.75fr; gap: 70px; align-items: end; margin-bottom: 60px; }
.section-heading h2, .about-copy h2, .video-grid h2, .contact-intro h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: clamp(2.5rem, 4.9vw, 4.7rem); letter-spacing: -0.045em; line-height: 1.02; }
.section-heading > p, .video-grid > div > p:last-child, .contact-intro > p { color: #66655f; font-size: 1rem; line-height: 1.75; margin: 0; }
.services { background: var(--paper); }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.service-card { min-height: 330px; padding: 33px 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; background: rgba(255,255,255,0.14); }
.service-card.featured { background: var(--ink); color: white; }
.service-number { position: absolute; right: 24px; top: 23px; color: #9a968b; font-size: 0.68rem; letter-spacing: 0.13em; }
.service-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid var(--line); color: #9a7027; font-family: Georgia, serif; font-size: 1.8rem; }
.featured .service-icon { border-color: var(--white-line); color: var(--gold-light); }
.service-card h3 { font-family: Georgia, serif; font-size: 1.52rem; line-height: 1.2; font-weight: 500; max-width: 260px; margin: 60px 0 14px; }
.service-card p { margin: 0; color: #6d6b65; line-height: 1.65; font-size: 0.9rem; }
.featured p { color: rgba(255,255,255,0.6); }

.projects-section { background: var(--ink); color: white; }
.section-heading.light > p { color: rgba(255,255,255,0.6); }
.project-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-auto-rows: 285px; grid-auto-flow: dense; gap: 14px; }
.project { position: relative; overflow: hidden; margin: 0; background: #2b2b27; }
.project-tall { grid-row: span 2; }
.project-wide { grid-column: span 2; }
.project img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.7,.2,1); }
.project-team img { object-position: center 38%; }
.project:hover img { transform: scale(1.035); }
.project::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(0,0,0,0.78)); }
.project figcaption { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 22px; display: flex; justify-content: space-between; align-items: end; gap: 16px; }
.project figcaption span { font-family: Georgia, serif; font-size: 1.25rem; }
.project figcaption small { color: var(--gold-light); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.6rem; text-align: right; }

.process-section { background: var(--paper-bright); }
.process-list { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.process-list li { padding: 32px 26px 0 0; margin-right: 26px; border-right: 1px solid var(--line); }
.process-list li:last-child { margin-right: 0; border-right: 0; }
.process-list span { color: #9a7027; font-size: 0.69rem; letter-spacing: 0.15em; }
.process-list h3 { font-family: Georgia, serif; font-weight: 500; font-size: 1.45rem; margin: 35px 0 13px; }
.process-list p { color: #706f69; margin: 0; line-height: 1.62; font-size: 0.88rem; }

.about-section { background: var(--paper); overflow: hidden; }
.about-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: clamp(60px, 10vw, 130px); }
.about-logo-wrap { min-height: 540px; background: white; display: grid; place-items: center; position: relative; box-shadow: var(--shadow); }
.about-logo-wrap::before { content: ""; position: absolute; width: 165%; height: 70%; background: var(--gold); left: -80%; top: 15%; z-index: 0; }
.about-logo-wrap img { width: min(82%, 430px); position: relative; z-index: 1; }
.about-badge { position: absolute; z-index: 2; bottom: 26px; right: -24px; background: var(--ink); color: white; padding: 17px 21px; letter-spacing: 0.12em; font-size: 0.65rem; line-height: 1.45; }
.about-badge strong { color: var(--gold-light); }
.about-copy h2 { font-size: clamp(2.45rem, 4.4vw, 4.2rem); }
.about-copy .lead { font-family: Georgia, serif; font-size: 1.28rem; line-height: 1.55; color: #34332f; margin: 30px 0 18px; }
.about-copy > p:not(.eyebrow):not(.lead) { color: #696862; line-height: 1.75; }
.company-data { display: grid; grid-template-columns: 1fr 1fr; margin: 35px 0 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.company-data div { padding: 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.company-data dt { font-size: 0.63rem; letter-spacing: 0.12em; color: #8a877e; text-transform: uppercase; }
.company-data dd { margin: 7px 0 0; font-weight: 700; font-size: 0.85rem; }

.video-section { background: #25241f; color: white; }
.video-grid { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 70px; align-items: center; }
.video-grid > div > p:last-child { color: rgba(255,255,255,0.58); margin-top: 24px; max-width: 390px; }
.video-grid video { width: 100%; max-height: 620px; background: #0f0f0e; box-shadow: 0 25px 70px rgba(0,0,0,0.4); }

.contact-section { padding: 120px 0; color: white; background: #11110f; }
.contact-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(60px, 9vw, 120px); }
.contact-intro h2 { font-size: clamp(2.7rem, 5vw, 4.8rem); }
.contact-intro > p { color: rgba(255,255,255,0.58); margin-top: 25px; max-width: 470px; }
.contact-links { margin-top: 45px; border-top: 1px solid var(--white-line); }
.contact-links a { display: block; padding: 19px 0; border-bottom: 1px solid var(--white-line); text-decoration: none; }
.contact-links small { display: block; margin-bottom: 7px; color: var(--gold-light); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.61rem; }
.contact-links strong { font-size: 0.91rem; overflow-wrap: anywhere; }
.contact-form { background: var(--paper-bright); color: var(--ink); padding: clamp(25px, 4vw, 48px); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-form > label, .field-row label { display: block; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.64rem; font-weight: 800; margin-bottom: 20px; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea {
  width: 100%; border: 0; border-bottom: 1px solid #aaa69d; background: transparent; border-radius: 0;
  padding: 13px 2px 11px; color: var(--ink); outline: none; text-transform: none; letter-spacing: normal; margin-top: 6px;
}
.contact-form textarea { resize: vertical; min-height: 110px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-bottom-color: var(--gold); box-shadow: 0 1px 0 var(--gold); }
.contact-form .consent { display: flex; align-items: flex-start; gap: 11px; text-transform: none; letter-spacing: 0; line-height: 1.45; color: #6d6a63; font-weight: 500; }
.consent input { margin-top: 3px; accent-color: var(--gold); }
.consent a { color: #7d591c; }
.form-button { border: 0; margin-top: 8px; min-width: 190px; }
.honeypot { display: none; }

.site-footer { background: #090908; color: rgba(255,255,255,0.72); padding: 68px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1.25fr 0.8fr 1.05fr 0.9fr; gap: 35px; }
.footer-brand { color: white; }
.footer-grid > div:first-child > p { color: var(--gold-light); font-family: Georgia, serif; font-style: italic; }
.footer-grid small { color: #77746d; text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.61rem; }
.footer-grid p { line-height: 1.7; font-size: 0.79rem; }
.footer-grid a { text-decoration: none; }
.footer-grid a:hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 27px; margin-top: 46px; border-top: 1px solid var(--white-line); color: #6c6963; font-size: 0.69rem; }
.footer-bottom a { text-decoration: none; }
.mobile-whatsapp { display: none; }

.simple-page { min-height: 100vh; background: var(--paper); }
.simple-header { background: var(--ink); color: white; position: static; }
.simple-main { padding: 85px 0 110px; }
.prose { width: min(780px, 100%); }
.prose h1 { font-family: Georgia, serif; font-weight: 500; font-size: clamp(2.9rem, 7vw, 5rem); line-height: 1; letter-spacing: -0.045em; margin: 0 0 30px; }
.prose h2 { font-family: Georgia, serif; font-size: 1.6rem; font-weight: 500; margin: 38px 0 12px; }
.prose p, .prose li { line-height: 1.75; color: #64625c; }
.prose a { color: #805c1f; }
.thank-you-card { padding: clamp(30px, 7vw, 75px); background: white; box-shadow: var(--shadow); }

@media (max-width: 900px) {
  .site-header { position: absolute; }
  .menu-toggle { display: block; position: relative; z-index: 31; }
  .site-nav {
    display: none; position: fixed; inset: 0; z-index: 30; background: #11110f;
    padding: 115px 30px 40px; flex-direction: column; align-items: flex-start; gap: 0;
  }
  .site-nav.open { display: flex; }
  .site-nav a { width: 100%; padding: 18px 0; font-family: Georgia, serif; font-size: 1.6rem; border-bottom: 1px solid var(--white-line); }
  .nav-call { margin-top: 22px; text-align: center; font-family: inherit !important; font-size: 0.9rem !important; }
  .hero { min-height: 720px; height: 90svh; }
  .section-heading, .about-grid, .video-grid, .contact-grid { grid-template-columns: 1fr; }
  .section-heading { gap: 25px; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .process-list { grid-template-columns: 1fr 1fr; gap: 40px 0; }
  .project-grid { grid-template-columns: 1fr 1fr; }
  .project-wide { grid-column: span 2; }
  .project:last-child { grid-column: 1 / -1; }
  .about-logo-wrap { min-height: 450px; width: min(620px, 90%); }
  .video-grid { gap: 45px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  :root { --container: min(100% - 28px, 1180px); }
  .nav-wrap { height: 78px; }
  .brand img { width: 50px; height: 50px; }
  .brand strong { font-size: 0.78rem; }
  .brand small { font-size: 0.57rem; }
  .hero { min-height: 690px; height: 88svh; }
  .hero-media { background-position: 58% center; }
  .hero-content { padding-top: 60px; }
  .hero h1 { font-size: clamp(3.25rem, 15vw, 5rem); }
  .hero-copy { font-size: 0.98rem; line-height: 1.6; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-points { margin-top: 40px; }
  .hero-points li { min-width: 0; flex: 1; padding-right: 12px; margin-right: 12px; }
  .hero-points li:nth-child(3) { display: none; }
  .hero-points strong { font-size: 0.76rem; }
  .hero-points span { font-size: 0.68rem; }
  .scroll-cue { display: none; }
  .trust-row { overflow-x: auto; gap: 22px; min-height: 60px; white-space: nowrap; }
  .trust-row i { display: none; }
  .section { padding: 82px 0; }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2, .about-copy h2, .video-grid h2, .contact-intro h2 { font-size: clamp(2.35rem, 11vw, 3.3rem); }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 290px; }
  .project-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .project { height: 330px; }
  .project-tall { grid-row: auto; }
  .project-wide, .project:last-child { grid-column: auto; }
  .project-team { height: 480px; }
  .process-list { grid-template-columns: 1fr; gap: 35px; }
  .process-list li { border-right: 0; margin-right: 0; padding-right: 0; }
  .process-list h3 { margin-top: 18px; }
  .about-logo-wrap { min-height: 340px; width: calc(100% - 18px); }
  .about-badge { right: -18px; }
  .company-data { grid-template-columns: 1fr; }
  .video-grid { gap: 30px; }
  .contact-section { padding: 85px 0; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form { padding: 25px 19px; }
  .form-button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 12px; }
  .mobile-whatsapp { display: block; position: fixed; z-index: 15; right: 14px; bottom: 14px; padding: 13px 17px; background: #1d9b58; color: white; text-decoration: none; border-radius: 999px; font-size: 0.72rem; font-weight: 800; box-shadow: 0 10px 30px rgba(0,0,0,0.28); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Company branding and featured diagnostic inspections. */
.brand img { width: 245px; height: auto; max-height: 70px; object-fit: contain; border-radius: 3px; padding: 9px 12px; background: #fff; }
.site-nav { gap: 22px; }
.about-logo-wrap img { width: min(88%, 460px); }
.hero-inspection { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; padding: 12px 16px; border: 1px solid rgba(226,189,115,.5); text-decoration: none; color: #f0d193; font-size: .82rem; background: rgba(6,28,49,.65); border-radius: 3px; }
.hero-inspection > span:last-child { font-weight: 800; }
.hero-points { margin-top: 32px; }
.inspection-section { background: #071e34; color: #fff; padding: 88px 0; position: relative; overflow: hidden; border-top: 1px solid #d2ad61; }
.inspection-heading { max-width: 890px; text-align: center; margin: 0 auto 46px; }
.inspection-heading .eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; }
.inspection-heading h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.4rem, 4.5vw, 4.2rem); font-weight: 500; line-height: 1.1; letter-spacing: -.04em; }
.inspection-heading h2 em { color: #e2bd73; }
.inspection-heading > p:not(.eyebrow) { color: #c5ced7; max-width: 770px; margin: 24px auto; font-size: 1rem; line-height: 1.75; }
.inspection-dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: #e2bd73; box-shadow: 0 0 0 0 rgba(226,189,115,.45); animation: inspection-beacon 3s ease-in-out infinite; }
.inspection-booking { display: flex; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap; margin-top: 30px; }
.inspection-price { color: #c5ced7; font-size: .85rem; display: flex; align-items: center; gap: 12px; }
.inspection-price strong { font-family: Georgia, serif; font-weight: 500; color: #fff; font-size: 2.6rem; }
.inspection-cta { gap: 18px; animation: inspection-glow 3.5s ease-in-out infinite; }
.inspection-equipment { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.equipment-card { overflow: hidden; border: 1px solid rgba(226,189,115,.28); border-radius: 5px; background: #102c45; }
.equipment-image { height: 280px; background: #fff; display: flex; align-items: center; justify-content: center; padding: 22px; }
.equipment-image img { width: 100%; height: 100%; object-fit: contain; }
.equipment-copy { padding: 28px 30px 30px; }
.equipment-number { font-size: .65rem; font-weight: 750; letter-spacing: .16em; color: #e2bd73; }
.equipment-copy h3 { font-family: Georgia, serif; font-size: 1.9rem; font-weight: 500; line-height: 1.2; margin: 14px 0; }
.equipment-copy p { margin: 0; color: #c5ced7; font-size: .9rem; line-height: 1.7; }
.inspection-thermal { margin: 24px 0 0; min-height: 275px; position: relative; overflow: hidden; border-radius: 5px; background: #0a1724; }
.inspection-thermal > img { width: 100%; height: 300px; object-fit: cover; }
.inspection-thermal::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(2,14,27,.95),rgba(2,14,27,.6) 48%,rgba(2,14,27,.05)); }
.inspection-thermal figcaption { position: absolute; z-index: 1; top: 50%; left: 38px; right: 24px; transform: translateY(-50%); }
.inspection-thermal figcaption > span { font-family: Georgia,serif; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.inspection-thermal figcaption p { color: #e2bd73; font-size: .85rem; line-height: 1.7; }
.inspection-thermal figcaption small { color: #aebcc9; font-size: .7rem; }
@keyframes inspection-beacon { 0%,100% { box-shadow: 0 0 0 0 rgba(226,189,115,.35); } 50% { box-shadow: 0 0 0 7px rgba(226,189,115,0); } }
@keyframes inspection-glow { 0%,100% { box-shadow: 0 0 0 0 rgba(226,189,115,.05); } 50% { box-shadow: 0 0 24px 3px rgba(226,189,115,.24); } }
@media (max-width: 900px) {
  .brand img { width: 220px; max-height: 65px; }
  .equipment-image { height: 250px; }
}
@media (max-width: 600px) {
  .brand img { width: 205px; max-height: 60px; }
  .inspection-section { padding: 65px 0; }
  .inspection-heading .eyebrow { letter-spacing: .12em; font-size: .65rem; }
  .inspection-heading h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .inspection-heading > p:not(.eyebrow) { font-size: .94rem; }
  .inspection-booking { flex-direction: column; gap: 18px; }
  .inspection-cta { width: 100%; }
  .inspection-equipment { grid-template-columns: 1fr; gap: 18px; }
  .equipment-image { height: 260px; }
  .equipment-copy { padding: 24px; }
  .inspection-thermal figcaption { left: 24px; }
  .inspection-thermal::after { background: rgba(2,14,27,.7); }
  .hero-inspection { font-size: .75rem; gap: 10px; }
  .hero { min-height: 800px; }
}
@media (prefers-reduced-motion: reduce) {
  .inspection-dot, .inspection-cta { animation: none; }
}

/* Visible, slow attention accents for the inspection service. */
.hero-inspection { animation: inspection-banner-pulse 2.4s ease-in-out infinite; }
.inspection-dot { width: 10px; height: 10px; flex-basis: 10px; animation: inspection-beacon 2.4s ease-in-out infinite; }
.inspection-cta { position: relative; overflow: hidden; animation: inspection-button-pulse 2.4s ease-in-out infinite; }
.inspection-cta::before { content: ''; position: absolute; top: -40%; bottom: -40%; width: 35%; left: -60%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent); transform: skewX(-20deg); animation: inspection-shine 3.2s ease-in-out infinite; pointer-events: none; }
.equipment-card { border: 2px solid #d7ad59; animation: inspection-frame-pulse 2.8s ease-in-out infinite; }
.equipment-card:nth-child(2) { animation-delay: .7s; }
.equipment-image { position: relative; overflow: hidden; }
.equipment-image img { animation: inspection-camera-float 3.4s ease-in-out infinite; }
.equipment-card:nth-child(2) img { animation-delay: .8s; }
.equipment-image::after { content: ''; position: absolute; left: 0; right: 0; height: 3px; top: 0; background: #d3a23d; box-shadow: 0 0 14px 4px rgba(211,162,61,.4); opacity: .8; animation: inspection-camera-scan 4s ease-in-out infinite; pointer-events: none; }
.equipment-card:nth-child(2) .equipment-image::after { animation-delay: 1s; }
@keyframes inspection-banner-pulse {
  0%,100% { border-color: rgba(226,189,115,.6); box-shadow: 0 0 0 0 rgba(226,189,115,.35); background: rgba(6,28,49,.7); }
  50% { border-color: #f5d995; box-shadow: 0 0 0 7px rgba(226,189,115,.12), 0 0 25px rgba(226,189,115,.25); background: rgba(104,76,27,.55); }
}
@keyframes inspection-button-pulse {
  0%,100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(226,189,115,.45); }
  50% { transform: scale(1.045); box-shadow: 0 0 0 9px rgba(226,189,115,.12), 0 0 34px 6px rgba(226,189,115,.4); }
}
@keyframes inspection-frame-pulse {
  0%,100% { border-color: #987535; box-shadow: 0 0 0 rgba(226,189,115,0); }
  50% { border-color: #ffe0a0; box-shadow: 0 0 28px 4px rgba(226,189,115,.35); }
}
@keyframes inspection-camera-float {
  0%,100% { transform: translateY(5px) scale(.97); }
  50% { transform: translateY(-7px) scale(1.025); }
}
@keyframes inspection-camera-scan {
  0% { top: 4%; opacity: 0; }
  15% { opacity: .8; }
  75% { opacity: .8; }
  90%,100% { top: 96%; opacity: 0; }
}
@keyframes inspection-shine { 0%,25% { left: -60%; } 70%,100% { left: 140%; } }
@media (prefers-reduced-motion: reduce) {
  .hero-inspection, .inspection-cta, .equipment-card, .equipment-image img,
  .inspection-cta::before, .equipment-image::after { animation: none; }
  .inspection-cta::before, .equipment-image::after { display: none; }
}
