:root {
  --gold: #f5b800;
  --gold-dark: #d89b00;
  --black: #090909;
  --charcoal: #171717;
  --cream: #f6f0e5;
  --warm: #e6d7bb;
  --white: #fff;
  --text: #181818;
  --muted: #5c5a56;
  --shadow: 0 16px 40px rgba(0,0,0,.14);
  --radius: 8px;
  --header-height: 86px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 14px); }
body { margin: 0; font-family: "Montserrat", Arial, sans-serif; color: var(--text); background: var(--cream); line-height: 1.5; overflow-x: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 9999; background: var(--gold); padding: 10px 16px; font-weight: 800; transition: top .2s; }
.skip-link:focus { top: 12px; }

.site-loader { position: fixed; inset: 0; z-index: 9998; display: grid; place-items: center; background: #050505; transition: opacity .5s ease, visibility .5s ease; }
.site-loader.is-hidden { opacity: 0; visibility: hidden; }
.loader-logo, .brand-mark { font-family: "Arial Black", Impact, sans-serif; font-weight: 900; font-style: italic; letter-spacing: -4px; color: #050505; -webkit-text-fill-color: #050505; -webkit-text-stroke: 2px var(--gold); text-shadow: none; }
.loader-logo { font-size: clamp(4rem, 12vw, 8rem); }

.site-header { height: var(--header-height); position: sticky; top: 0; z-index: 1000; background: rgba(8,8,8,.97); border-bottom: 1px solid rgba(245,184,0,.25); backdrop-filter: blur(12px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 15px; min-width: 310px; }
.brand-mark { font-size: 3.4rem; line-height: .9; }
.brand-copy { display: grid; gap: 2px; color: white; text-transform: uppercase; line-height: 1.05; }
.brand-copy strong { max-width: 190px; font-size: .76rem; letter-spacing: .04em; }
.brand-copy small { color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .03em; }
.site-nav { display: flex; align-items: center; gap: 28px; }
.nav-link { position: relative; color: #fff; font-weight: 700; font-size: .88rem; padding: 32px 0 28px; }
.nav-link::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 19px; height: 3px; background: var(--gold); transition: right .25s ease; }
.nav-link:hover::after, .nav-link.active::after { right: 0; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.25); background: transparent; border-radius: 4px; padding: 10px; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: #fff; transition: transform .25s, opacity .25s; }

.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 22px; border: 1px solid var(--gold); border-radius: 4px; background: var(--gold); color: #090909; font-family: "Bebas Neue", Impact, sans-serif; font-size: 1.14rem; letter-spacing: .025em; cursor: pointer; box-shadow: 0 8px 22px rgba(245,184,0,.18); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); background: #ffc61d; box-shadow: 0 12px 28px rgba(245,184,0,.28); }
.button-small { min-height: 44px; padding: 0 20px; white-space: nowrap; }
.button-outline { color: white; background: rgba(0,0,0,.45); border-color: rgba(245,184,0,.75); box-shadow: none; }
.button-outline:hover { background: #111; }
.button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }

.hero { min-height: 540px; position: relative; overflow: hidden; background: #090909; display: grid; align-items: center; }
.hero-image { position: absolute; inset: 0; background: url('../images/hero-parking-lot.jpg') center/cover no-repeat; animation: heroZoom 18s ease-in-out infinite alternate; }
@keyframes heroZoom { from { transform: scale(1); } to { transform: scale(1.035); } }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.97) 0%, rgba(0,0,0,.86) 31%, rgba(0,0,0,.46) 56%, rgba(0,0,0,.1) 100%); }
.hero-content { position: relative; color: white; padding-block: 78px; }
.eyebrow { color: var(--gold); text-transform: uppercase; font-size: .76rem; font-weight: 800; letter-spacing: .15em; margin: 0 0 13px; }
.hero h1 { max-width: 670px; margin: 0; font-family: "Bebas Neue", Impact, sans-serif; font-size: clamp(3.7rem, 7vw, 6rem); font-weight: 400; line-height: .91; letter-spacing: .01em; text-shadow: 0 5px 18px rgba(0,0,0,.4); }
.hero h1 span { color: var(--gold); }
.title-stripe { width: 68px; height: 4px; background: var(--gold); margin: 22px 0; }
.hero-copy { max-width: 525px; margin: 0 0 28px; font-size: 1rem; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }

.section { padding: 48px 0; background: linear-gradient(135deg, #faf6ee, #f2eadc); }
.section-heading { display: grid; grid-template-columns: minmax(20px, 90px) auto minmax(20px, 90px); align-items: center; justify-content: center; gap: 22px; margin-bottom: 30px; }
.section-heading span { height: 2px; background: var(--gold); }
.section-heading h2 { margin: 0; font-family: "Bebas Neue", Impact, sans-serif; font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 400; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }

.audience-section { padding-top: 42px; padding-bottom: 34px; }
.audience-grid { display: grid; grid-template-columns: repeat(6, 1fr); }
.audience-item { min-height: 145px; padding: 8px 18px; display: grid; place-items: center; align-content: center; gap: 9px; text-align: center; border-right: 1px solid rgba(0,0,0,.13); }
.audience-item:last-child { border-right: 0; }
.audience-item svg { width: 66px; height: 66px; fill: none; stroke: #0b0b0b; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.audience-item svg .accent { stroke: var(--gold); stroke-width: 3.5; }
.audience-item h3 { margin: 0; font-family: "Bebas Neue", Impact, sans-serif; font-size: 1.35rem; line-height: 1.05; font-weight: 400; text-transform: uppercase; }

.services-section { padding-top: 22px; }
.services-grid { display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid rgba(0,0,0,.1); background: rgba(255,255,255,.22); }
.service-card { padding: 24px 13px 22px; text-align: center; min-height: 225px; border-right: 1px solid rgba(0,0,0,.1); transition: transform .22s ease, background .22s ease, box-shadow .22s ease; }
.service-card:last-child { border-right: 0; }
.service-card:hover { transform: translateY(-7px); background: #fff; box-shadow: var(--shadow); position: relative; z-index: 2; }
.service-icon { height: 56px; display: grid; place-items: center; color: #0b0b0b; font-size: 3.2rem; line-height: 1; text-shadow: 2px 2px 0 rgba(245,184,0,.55); }
.service-card h3 { margin: 12px 0 8px; font-family: "Bebas Neue", Impact, sans-serif; font-size: 1.25rem; line-height: 1.05; font-weight: 400; text-transform: uppercase; }
.service-card p { margin: 0; font-size: .69rem; line-height: 1.45; }
.line-icon { display: flex; justify-content: center; align-items: center; gap: 5px; transform: perspective(100px) rotateX(55deg); }
.line-icon i { display: block; width: 7px; height: 47px; background: linear-gradient(var(--gold) 0 10%, #111 10% 18%, var(--gold) 18% 28%, #111 28% 36%, var(--gold) 36% 46%, #111 46% 54%, var(--gold) 54% 64%, #111 64% 72%, var(--gold) 72% 82%, #111 82% 90%, var(--gold) 90%); }
.stack-icon { position: relative; }
.stack-icon i { position: absolute; width: 55px; height: 16px; background: #111; transform: skewX(-18deg); border: 1px solid var(--gold); }
.stack-icon i:nth-child(1){ transform: translateY(-12px) skewX(-18deg); }
.stack-icon i:nth-child(2){ transform: translateY(0) skewX(-18deg); }
.stack-icon i:nth-child(3){ transform: translateY(12px) skewX(-18deg); }

.results-section { padding-top: 22px; }
.comparison-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.comparison-card { overflow: hidden; background: #111; color: white; border-radius: var(--radius); box-shadow: var(--shadow); }
.comparison-stage { position: relative; height: 265px; overflow: hidden; }
.comparison-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; user-select: none; pointer-events: none; }
.comparison-after-wrap { position: absolute; inset: 0; width: 50%; overflow: hidden; }
.comparison-after { width: calc(100vw - 40px); max-width: 578px; }
.comparison-range { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; }
.comparison-handle { position: absolute; z-index: 4; top: 50%; left: 50%; width: 42px; height: 42px; border-radius: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; background: white; color: #111; font-weight: 900; box-shadow: 0 3px 12px rgba(0,0,0,.35); pointer-events: none; }
.comparison-handle::before, .comparison-handle::after { content: ""; position: absolute; left: 50%; width: 2px; height: 112px; background: white; transform: translateX(-50%); }
.comparison-handle::before { bottom: 41px; }
.comparison-handle::after { top: 41px; }
.image-label { position: absolute; z-index: 3; top: 14px; padding: 5px 14px; background: #070707; color: white; font-family: "Bebas Neue", Impact, sans-serif; font-size: 1rem; letter-spacing: .04em; }
.label-before { left: 14px; }
.label-after { right: 14px; background: var(--gold); color: #080808; }
.comparison-card footer { padding: 11px 18px; text-align: center; font-size: .82rem; }
.comparison-card footer span { color: var(--gold); margin-right: 8px; }

.why-section { padding-top: 28px; padding-bottom: 30px; }
.value-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.value-item { display: grid; grid-template-columns: 55px 1fr; gap: 13px; padding: 8px 17px; border-right: 1px solid rgba(0,0,0,.12); }
.value-item:last-child { border-right: 0; }
.value-icon { color: var(--gold); font-size: 2.4rem; font-weight: 900; line-height: 1; text-shadow: 1px 1px 0 #a76f00; }
.value-item h3 { margin: 0 0 5px; font-family: "Bebas Neue", Impact, sans-serif; font-size: 1.15rem; line-height: 1.05; font-weight: 400; text-transform: uppercase; }
.value-item p { margin: 0; font-size: .68rem; line-height: 1.45; }

.process-section { padding-top: 15px; padding-bottom: 38px; }
.process-heading h2 { display: flex; gap: 8px; align-items: baseline; }
.process-heading b { color: var(--gold-dark); font-weight: 400; }
.process-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); position: relative; }
.process-grid::before { content: ""; position: absolute; top: 18px; left: 10%; right: 10%; height: 2px; background: var(--gold); }
.process-item { position: relative; padding: 0 18px; display: grid; grid-template-columns: 50px 1fr; grid-template-rows: 40px auto auto; column-gap: 10px; align-items: start; }
.process-number { grid-column: 1 / -1; justify-self: center; z-index: 2; display: grid; place-items: center; width: 36px; height: 36px; background: #0b0b0b; color: white; border-radius: 50%; font-weight: 800; border: 3px solid var(--cream); }
.process-icon { grid-row: 2 / 4; display: grid; place-items: center; min-height: 70px; font-size: 2.5rem; color: #111; }
.process-item h3 { margin: 12px 0 4px; font-family: "Bebas Neue", Impact, sans-serif; font-size: 1.15rem; font-weight: 400; text-transform: uppercase; }
.process-item p { margin: 0; font-size: .68rem; line-height: 1.5; }

.contact-section { background: #0b0b0b url('../images/asphalt-texture.jpg') center/cover; color: white; padding: 42px 0 34px; }
.contact-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 46px; align-items: center; }
.contact-intro { padding-right: 38px; border-right: 3px solid var(--gold); }
.contact-intro h2 { margin: 0 0 25px; font-family: "Bebas Neue", Impact, sans-serif; font-size: clamp(2.4rem, 4vw, 3.4rem); line-height: .96; font-weight: 400; }
.contact-intro h2 span { color: var(--gold); }
.contact-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.contact-list li { display: grid; grid-template-columns: 25px 1fr; gap: 8px; align-items: center; font-size: .88rem; }
.contact-list li > span { color: var(--gold); font-size: 1.2rem; }
.contact-list p { margin: 0; }
.assessment-form { display: grid; gap: 11px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.assessment-form label { display: block; }
.assessment-form label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.assessment-form input, .assessment-form select, .assessment-form textarea { width: 100%; border: 0; border-radius: 3px; background: rgba(255,255,255,.96); color: #111; padding: 13px 14px; outline: 2px solid transparent; transition: outline-color .2s, box-shadow .2s; }
.assessment-form input:focus, .assessment-form select:focus, .assessment-form textarea:focus { outline-color: var(--gold); box-shadow: 0 0 0 4px rgba(245,184,0,.18); }
.assessment-form textarea { resize: vertical; min-height: 95px; }
.form-button { width: 100%; border: 0; }
.privacy-note { margin: -2px 0 0; text-align: center; color: #ddd; font-size: .68rem; }
.honeypot { position: absolute !important; left: -10000px !important; }

.site-footer { background: #070707; color: white; border-top: 1px solid rgba(245,184,0,.35); }
.footer-grid { display: grid; grid-template-columns: 1.45fr .7fr 1.1fr .75fr 1fr; gap: 28px; padding: 30px 0 24px; }
.footer-grid > div:not(:first-child) { border-left: 1px solid rgba(255,255,255,.14); padding-left: 24px; }
.footer-brand { display: grid; align-content: start; gap: 6px; }
.footer-brand .brand-mark { font-size: 3.7rem; }
.footer-brand strong { font-size: .7rem; text-transform: uppercase; }
.footer-brand small { color: var(--gold); font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.footer-grid h3 { margin: 0 0 10px; font-size: .72rem; text-transform: uppercase; color: white; }
.footer-grid a, .footer-grid span { display: block; color: #e6e6e6; font-size: .68rem; line-height: 1.6; }
.footer-grid a:hover { color: var(--gold); }
.mini-map { margin-top: 13px; color: var(--gold); font-weight: 900; letter-spacing: .15em; }
.social-row { display: flex; gap: 10px; margin-bottom: 10px; }
.social-row a { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: white; background: #1167b1; font-weight: 800; font-size: .9rem; }
.social-row a:last-child { background: white; color: #4285f4; }
.stars { color: var(--gold); letter-spacing: 3px; }
.copyright { text-align: center; color: #ccc; font-size: .65rem; padding: 12px 20px 18px; border-top: 1px solid rgba(255,255,255,.08); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .brand-copy { display: none; }
  .brand { min-width: auto; }
  .site-nav { gap: 19px; }
  .services-grid { grid-template-columns: repeat(4, 1fr); }
  .service-card { border-bottom: 1px solid rgba(0,0,0,.1); }
  .service-card:nth-child(4) { border-right: 0; }
  .service-card:nth-child(5), .service-card:nth-child(6), .service-card:nth-child(7) { border-bottom: 0; }
  .value-grid { grid-template-columns: repeat(3, 1fr); gap: 18px 0; }
  .value-item:nth-child(3) { border-right: 0; }
  .process-item { grid-template-columns: 40px 1fr; padding: 0 10px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:nth-child(4), .footer-grid > div:nth-child(5) { margin-top: 8px; }
}

@media (max-width: 820px) {
  :root { --header-height: 74px; }
  .container { width: min(100% - 28px, 720px); }
  .site-header { height: var(--header-height); }
  .brand-mark { font-size: 2.9rem; }
  .menu-toggle { display: block; }
  .site-nav { position: fixed; top: var(--header-height); left: 0; right: 0; padding: 20px; background: #090909; display: grid; gap: 0; border-top: 1px solid rgba(245,184,0,.25); box-shadow: 0 15px 30px rgba(0,0,0,.35); transform: translateY(-130%); opacity: 0; pointer-events: none; transition: transform .28s ease, opacity .28s ease; }
  .site-nav.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nav-link { padding: 14px 4px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .nav-link::after { bottom: 6px; }
  .nav-cta { margin-top: 14px; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .hero { min-height: 610px; }
  .hero-image { background-position: 68% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.79) 65%, rgba(0,0,0,.45)); }
  .hero-content { padding-block: 62px; }
  .eyebrow { display: none; }
  .hero h1 { font-size: clamp(3.6rem, 13vw, 5.5rem); max-width: 580px; }
  .audience-grid { grid-template-columns: repeat(3, 1fr); }
  .audience-item { border-bottom: 1px solid rgba(0,0,0,.12); }
  .audience-item:nth-child(3n) { border-right: 0; }
  .audience-item:nth-child(n+4) { border-bottom: 0; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card:nth-child(n) { border-right: 1px solid rgba(0,0,0,.1); border-bottom: 1px solid rgba(0,0,0,.1); }
  .service-card:nth-child(2n) { border-right: 0; }
  .service-card:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .comparison-grid { grid-template-columns: 1fr; }
  .comparison-after { max-width: 720px; width: calc(100vw - 28px); }
  .value-grid { grid-template-columns: 1fr 1fr; }
  .value-item:nth-child(n) { border-right: 1px solid rgba(0,0,0,.12); }
  .value-item:nth-child(2n) { border-right: 0; }
  .value-item:last-child { grid-column: 1 / -1; border-right: 0; max-width: 520px; justify-self: center; }
  .process-grid { grid-template-columns: 1fr; gap: 18px; }
  .process-grid::before { left: 18px; top: 20px; bottom: 20px; width: 2px; height: auto; }
  .process-item { grid-template-columns: 50px 1fr; grid-template-rows: auto auto; padding-left: 0; }
  .process-number { grid-column: 1; grid-row: 1 / 3; align-self: start; margin-top: 0; }
  .process-icon { grid-column: 2; grid-row: 1; justify-content: start; min-height: auto; display: none; }
  .process-item h3, .process-item p { grid-column: 2; }
  .process-item h3 { margin-top: 2px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-intro { padding: 0 0 26px; border-right: 0; border-bottom: 3px solid var(--gold); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:nth-child(n) { border-left: 0; padding-left: 0; }
}

@media (max-width: 560px) {
  .section { padding: 38px 0; }
  .hero { min-height: 620px; }
  .hero h1 { font-size: clamp(3.1rem, 15vw, 4.6rem); }
  .hero-copy { font-size: .92rem; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .section-heading { grid-template-columns: 30px auto 30px; gap: 10px; }
  .section-heading h2 { font-size: 2rem; white-space: normal; text-align: center; }
  .audience-grid { grid-template-columns: 1fr 1fr; }
  .audience-item:nth-child(n) { border-right: 1px solid rgba(0,0,0,.12); border-bottom: 1px solid rgba(0,0,0,.12); }
  .audience-item:nth-child(2n) { border-right: 0; }
  .audience-item:nth-child(n+5) { border-bottom: 0; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card:nth-child(n) { border-right: 0; border-bottom: 1px solid rgba(0,0,0,.1); min-height: auto; }
  .comparison-stage { height: 230px; }
  .value-grid { grid-template-columns: 1fr; }
  .value-item:nth-child(n) { border-right: 0; border-bottom: 1px solid rgba(0,0,0,.12); padding-block: 16px; }
  .value-item:last-child { grid-column: auto; border-bottom: 0; }
  .process-heading h2 { display: block; }
  .process-heading b { display: block; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* V1.1: stable form rendering for Edge/Intel graphics and browser zoom. */
.contact-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.contact-grid {
  align-items: stretch;
}
.contact-intro,
.assessment-form {
  position: relative;
  min-width: 0;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
  backface-visibility: visible;
}
.contact-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.assessment-form {
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  contain: layout style;
}
.form-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.assessment-form label {
  position: relative;
  min-width: 0;
}
.assessment-form input,
.assessment-form select,
.assessment-form textarea {
  display: block;
  min-width: 0;
  max-width: 100%;
  background: #fff;
  transform: none !important;
  filter: none !important;
  -webkit-font-smoothing: antialiased;
}
.assessment-form textarea {
  overflow: auto;
}
.form-button,
.privacy-note {
  position: relative;
  z-index: 1;
}
@media (max-width: 560px) {
  .form-row { grid-template-columns: minmax(0, 1fr); }
}


/* V1.2 EDGE-SAFE OVERRIDES
   This review build deliberately avoids GPU-composited transforms and hidden-label clipping
   in the assessment area so Microsoft Edge/Intel graphics render it cleanly. */
.site-header { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.hero-image { animation: none !important; transform: none !important; }
.reveal, .reveal.is-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
.button, .button:hover, .service-card, .service-card:hover { transform: none !important; }

.contact-section {
  position: relative;
  overflow: visible;
  isolation: auto;
  background-color: #0b0b0b;
  background-image: linear-gradient(rgba(8,8,8,.94), rgba(8,8,8,.94)), url('../images/asphalt-texture.jpg');
  background-position: center;
  background-size: cover;
  color: #fff;
  padding: 42px 0 34px;
}
.contact-layout {
  display: flex;
  align-items: center;
  gap: 46px;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}
.contact-intro-static {
  flex: 0 1 39%;
  min-width: 0;
  padding-right: 38px;
  border-right: 3px solid var(--gold);
}
.contact-intro-static h2 {
  margin: 0 0 25px;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  line-height: .96;
  font-weight: 400;
}
.contact-intro-static h2 span { color: var(--gold); }
.assessment-form-static {
  flex: 1 1 61%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
  position: static;
  opacity: 1;
  transform: none;
  contain: none;
}
.form-pair-static {
  display: flex;
  gap: 11px;
  min-width: 0;
}
.form-pair-static > * { flex: 1 1 0; min-width: 0; }
.assessment-form-static input,
.assessment-form-static select,
.assessment-form-static textarea {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 3px;
  background: #fff;
  color: #111;
  padding: 13px 14px;
  outline: 2px solid transparent;
  box-shadow: none;
  transform: none;
  filter: none;
  appearance: auto;
  -webkit-appearance: auto;
}
.assessment-form-static textarea { resize: vertical; min-height: 95px; overflow: auto; }
.assessment-form-static input:focus,
.assessment-form-static select:focus,
.assessment-form-static textarea:focus {
  outline-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(245,184,0,.18);
}
.form-button-static {
  width: 100%;
  min-height: 48px;
  border: 0;
  position: static;
  transform: none !important;
}
.privacy-note-static {
  margin: -2px 0 0;
  text-align: center;
  color: #ddd;
  font-size: .68rem;
  position: static;
}
@media (max-width: 820px) {
  .contact-layout { flex-direction: column; align-items: stretch; gap: 26px; width: min(100% - 28px, 720px); }
  .contact-intro-static { flex-basis: auto; padding: 0 0 26px; border-right: 0; border-bottom: 3px solid var(--gold); }
}
@media (max-width: 560px) {
  .form-pair-static { flex-direction: column; }
}


/* V1.3: safe loading intro + true asphalt-black PPLS letter fill.
   The intro animates only its own opacity and is removed from the DOM after loading.
   It never transforms or composites the page underneath, preserving the stable Edge form fix. */
body.site-loading { overflow: hidden; }
.brand-mark,
.loader-logo {
  color: #050505 !important;
  -webkit-text-fill-color: #050505 !important;
  -webkit-text-stroke: 2px var(--gold);
  text-shadow: none !important;
}
.site-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid !important;
  place-items: center;
  background: #050505;
  opacity: 1;
  visibility: visible;
  transition: opacity .52s ease, visibility .52s ease;
  contain: strict;
}
.site-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.loader-inner {
  width: min(520px, calc(100% - 48px));
  text-align: center;
  opacity: 0;
  animation: loaderContentFade 1s ease .14s forwards;
}
.loader-logo {
  line-height: .9;
  letter-spacing: -5px;
}
.loader-rule {
  width: 0;
  height: 3px;
  margin: 22px auto 16px;
  background: var(--gold);
  animation: loaderRuleGrow .7s ease .42s forwards;
}
.loader-inner p {
  margin: 0;
  color: var(--gold);
  font-size: clamp(.72rem, 2.4vw, .92rem);
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.5;
  text-transform: uppercase;
  opacity: 0;
  animation: loaderTaglineFade .55s ease .72s forwards;
}
@keyframes loaderContentFade { to { opacity: 1; } }
@keyframes loaderRuleGrow { to { width: 92px; } }
@keyframes loaderTaglineFade { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .loader-inner,
  .loader-rule,
  .loader-inner p { animation: none !important; opacity: 1; }
  .loader-rule { width: 92px; }
}

/* V1.4 QA: prevent narrow-screen grid and icon overflow. */
html { overflow-x: clip; }
.audience-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.audience-item,
.service-card { min-width: 0; }
.line-icon {
  width: 82px;
  margin-inline: auto;
  transform: rotateX(55deg);
  transform-origin: center;
}
@media (max-width: 820px) {
  .audience-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .line-icon { transform: none; width: 78px; }
}
@media (max-width: 560px) {
  .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audience-item { padding-inline: 6px; }
  .audience-item h3 { font-size: 1.15rem; overflow-wrap: anywhere; }
  .services-grid { grid-template-columns: minmax(0, 1fr); }
  .service-card { overflow: hidden; }
  .line-icon { width: 74px; }
}

/* Launch-safe production refinements */
.results-note {
  max-width: 760px;
  margin: -0.25rem auto 2rem;
  text-align: center;
  color: rgba(255,255,255,0.72);
  font-size: 0.88rem;
  line-height: 1.6;
}
.footer-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0.85rem;
  color: var(--gold, #f5b800);
  font-weight: 800;
  text-decoration: none;
}
.footer-contact-link:hover,
.footer-contact-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
