/* Page-specific presentation. Shared Home and contact styles remain intact. */
.audit-document { scroll-padding-top: 120px; scroll-behavior: auto; }
.audit-page :is(h1, h2, p, a) { overflow-wrap: normal; word-break: normal; hyphens: none; }
.audit-page :is(.audit-opening-grid, .audit-section-grid) > * { min-width: 0; }
.audit-page .header-contact { display: flex; }
.audit-page .audit-opening {
  background: radial-gradient(ellipse at 85% 45%, #24477370, transparent 55%), var(--ink);
  border-bottom: 1px solid var(--rule);
}
.audit-page .audit-opening-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr);
  align-items: center;
  gap: 56px;
  padding-block: 86px 94px;
}
.audit-page .audit-opening h1 {
  font-size: clamp(2.4rem, 4.6vw, 4.5rem);
  line-height: 1.07;
  max-width: 760px;
}
.audit-page .audit-opening-copy > p {
  max-width: 650px;
  margin-top: 32px;
  font-size: 1.0625rem;
  line-height: 1.8;
}
.audit-page .audit-planes {
  position: relative;
  height: 330px;
  perspective: 1000px;
  isolation: isolate;
}
.audit-page .audit-plane {
  position: absolute;
  width: 77%;
  height: 178px;
  border: 1px solid #86acde;
  background: linear-gradient(135deg, #31578680, #14274618);
  transform: rotateX(48deg) rotateZ(-28deg);
  box-shadow: 0 26px 50px #03081150;
}
.audit-page .plane-one { left: 18%; top: 14px; border-color: #587cae; }
.audit-page .plane-two { left: 12%; top: 83px; }
.audit-page .plane-three { left: 6%; top: 152px; border-color: #bdd7fc; }
.audit-page .audit-plane-axis {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: -12px;
  width: 1px;
  background: linear-gradient(transparent, #aacbfb99, transparent);
}
.audit-page .audit-section { padding-block: 86px; }
.audit-page .audit-section-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 7vw, 100px);
}
.audit-page .audit-heading { position: relative; padding-left: 32px; }
.audit-page .audit-heading h2 {
  font-size: clamp(2rem, 3.15vw, 3rem);
  line-height: 1.13;
  max-width: 470px;
}
.audit-page .audit-thread {
  position: absolute;
  top: 9px;
  bottom: 0;
  left: 0;
  width: 1px;
  min-height: 55px;
  background: linear-gradient(#86a8d5, #86a8d514);
}
.audit-page .audit-thread::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  width: 7px;
  height: 7px;
  background: var(--blue);
}
.audit-page .light-section .audit-thread { background: linear-gradient(#6b85ac, #6b85ac22); }
.audit-page .light-section .audit-thread::before { background: #3e6ab3; }
.audit-page .audit-copy { max-width: 650px; }
.audit-page .audit-copy p { font-size: 1.0625rem; line-height: 1.8; }
.audit-page .audit-copy p + p { margin-top: 24px; }
.audit-page .audit-scope .audit-copy p:last-child {
  padding-top: 24px;
  border-top: 1px solid var(--line-light);
}
.audit-page .audit-findings {
  background: radial-gradient(ellipse at 10% 80%, #203d6a55, transparent 65%), var(--deep);
}
.audit-page .audit-apps { background: #142540; border-top: 1px solid var(--rule); }
.audit-page .audit-apps .audit-heading h2 { font-size: clamp(1.875rem, 2.7vw, 2.6rem); }
.audit-page .audit-corrections .audit-copy p:last-child {
  padding-block: 20px;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  color: #173763;
}
.audit-page .audit-limits { background: #0b1425; }
.audit-page .audit-contact {
  padding-block: 92px 100px;
  border-top: 1px solid #425c80;
  background: linear-gradient(125deg, #203e68, #122844 75%);
}
.audit-page .audit-contact h2 { font-size: clamp(2.25rem, 3.9vw, 3.7rem); }
.audit-page .audit-contact p { color: #c4d3e7; }
.audit-page a { scroll-margin-block: 130px 24px; }
.audit-page .site-footer nav a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }
@media (prefers-reduced-motion: no-preference) {
  .audit-page .audit-planes { animation: audit-settle .8s ease-out; }
}
@keyframes audit-settle {
  from { translate: 0 12px; }
  to { translate: 0 0; }
}
@media (max-width: 1100px) {
  .audit-document { scroll-padding-top: 24px; }
  .audit-page .site-header { position: relative; padding-right: 24px; }
  .audit-page .site-header nav { flex: 1 1 auto; }
  .audit-page .header-contact { margin-left: auto; padding: 12px 0 18px; }
  .audit-page .audit-opening-grid { gap: 36px; padding-block: 66px 72px; }
  .audit-page .audit-opening h1 { font-size: clamp(2.4rem, 5.4vw, 3.75rem); }
  .audit-page .audit-planes { height: 285px; }
  .audit-page .audit-plane { height: 145px; }
  .audit-page .plane-two { top: 72px; }
  .audit-page .plane-three { top: 130px; }
  .audit-page .audit-section { padding-block: 64px; }
  .audit-page a { scroll-margin-block: 24px; }
}
@media (max-width: 800px) {
  .audit-page .audit-opening-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .audit-page .audit-opening h1 { max-width: 680px; }
  .audit-page .audit-planes { width: min(360px, 88%); height: 245px; justify-self: end; }
  .audit-page .audit-plane { height: 128px; }
  .audit-page .plane-one { top: 0; }
  .audit-page .plane-two { top: 52px; }
  .audit-page .plane-three { top: 104px; }
  .audit-page .audit-section-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .audit-page .audit-heading { padding-left: 26px; }
  .audit-page .audit-heading h2 { max-width: 650px; }
  .audit-page .audit-thread { bottom: 4px; min-height: 0; }
}
@media (max-width: 650px) {
  .audit-page .site-header { padding: 0; }
  .audit-page .site-header nav { flex-basis: 100%; font-size: .8125rem; gap: 0 22px; }
  .audit-page .header-contact { margin: 0; padding: 12px 20px 18px; font-size: .875rem; }
  .audit-page .audit-opening-grid { padding-block: 44px 48px; gap: 32px; }
  .audit-page .audit-opening h1 { font-size: clamp(2.2rem, 9.8vw, 3.65rem); letter-spacing: -.045em; }
  .audit-page .audit-opening-copy > p { margin-top: 24px; font-size: 1rem; }
  .audit-page .audit-planes { justify-self: center; height: 225px; }
  .audit-page .audit-section { padding-block: 48px; }
  .audit-page .audit-heading h2 { font-size: 2rem; }
  .audit-page .audit-apps .audit-heading h2 { font-size: 1.875rem; }
  .audit-page .audit-copy p { font-size: 1rem; }
  .audit-page .audit-contact { padding-block: 52px 60px; }
  .audit-page .audit-contact h2 { font-size: 2.25rem; }
}
@media print {
  .audit-page .audit-planes { display: none; }
  .audit-page .audit-opening-grid, .audit-page .audit-section-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .audit-page .audit-heading { break-after: avoid; }
}
