/* Shared service editorial — every piece remains readable without this enhancement. */
.audit-page { --audit-gold: #d5b46b; --audit-line: #d5b46b29; color: #f2eee5; }
.audit-page *, .audit-page *::before, .audit-page *::after { box-sizing: border-box; }
.audit-page .page-intro h1 { text-wrap: balance; }
.audit-page .page-intro .eyebrow { display: flex; align-items: center; gap: 13px; color: var(--audit-gold); }
.audit-page .page-intro .eyebrow::before { content: ""; flex: 0 0 34px; height: 1px; background: var(--audit-gold); transform-origin: left; }
.audit-page .page-intro .eyebrow[data-audit-reveal="entering"]::before { animation: audit-rule-in .7s cubic-bezier(.22,.61,.36,1) var(--audit-reveal-delay, 0ms) both; }
.audit-page .audit-section { position: relative; border-top: 0; padding: 76px 0; }
.audit-page .audit-section::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, #d5b46b7a, #d5b46b14 82%); transform-origin: left center; }
.audit-page .audit-section-heading { grid-template-columns: 50px minmax(0, 1fr); gap: 22px; align-items: center; margin-bottom: 42px; }
.audit-page .audit-section-heading h2 { max-width: 760px; font-size: clamp(29px, 3.3vw, 44px); line-height: 1.14; }
.audit-page .audit-section-mark { display: flex; flex-direction: column; align-items: center; gap: 9px; color: var(--audit-gold); }
.audit-page .audit-section-mark > span { font-size: 10px; letter-spacing: .14em; }
.audit-page .audit-section-mark svg { width: 30px; height: 30px; }
.audit-page svg { stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.audit-page .audit-icon { display: block; width: 42px; height: 42px; flex: 0 0 42px; color: var(--audit-gold); }
.audit-page .audit-icon svg { display: block; width: 100%; height: 100%; overflow: visible; }
.audit-page p { overflow-wrap: break-word; }
.audit-page .audit-observation-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: 40px; }
.audit-page .audit-observation-list { padding: 0; margin: 0; list-style: none; }
.audit-page .audit-observation-list li { display: flex; align-items: center; gap: 21px; padding: 24px 0; border-bottom: 1px solid var(--audit-line); }
.audit-page .audit-observation-list li:first-child { padding-top: 8px; }
.audit-page .audit-observation-list p { color: #dfdbd1; font-size: 19px; line-height: 1.55; margin: 0; }
.audit-page .audit-observation-note { color: #9c978b; font-size: 14px; line-height: 1.6; margin: 24px 0 0 63px; }
.audit-page .audit-insight { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 34px 30px; border: 1px solid #d5b46b35; background: radial-gradient(ellipse at 0 0, #d5b46b15, transparent 80%), #0e0c09; }
.audit-page .audit-insight-icon { width: 58px; height: 58px; flex-basis: 58px; margin-bottom: 28px; }
.audit-page .audit-insight p { font-size: 21px; font-weight: 300; line-height: 1.55; letter-spacing: -.015em; color: #e2d5b5; margin: 0; }
.audit-page .audit-insight-copy { min-width: 0; }
.audit-page .audit-insight-copy h3 { font-size: clamp(24px, 2.3vw, 30px); font-weight: 300; line-height: 1.25; letter-spacing: -.025em; margin: 0 0 20px; }
.audit-page .audit-insight-copy p + p { margin-top: 18px; }
.audit-page .audit-insight-line { display: block; width: 70px; height: 1px; margin-top: 28px; background: var(--audit-gold); transform-origin: left; transition: width .6s cubic-bezier(.22,.61,.36,1); }
.audit-page .audit-insight:hover .audit-insight-line { width: 120px; }
.audit-page .audit-hover-surface { position: relative; isolation: isolate; overflow: hidden; transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease; }
.audit-page .audit-hover-surface::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(115deg, transparent 20%, #d5b46b16 50%, transparent 80%); translate: -110% 0; pointer-events: none; }
.audit-page .audit-hover-surface:is(:hover, :focus-within) { border-color: #d5b46b85; box-shadow: inset 0 0 25px #d5b46b07; }
.audit-page .audit-hover-surface:is(:hover, :focus-within)::after { animation: audit-surface-sweep .95s cubic-bezier(.22,.61,.36,1) both; }
.audit-page .audit-deliverables { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.audit-page .audit-deliverable { padding: 28px 24px 34px; border: 1px solid var(--audit-line); background: #0b0a08d9; }
.audit-page .audit-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }
.audit-page .audit-card-top .feature-number { margin: 0; color: #a18c59; font-size: 11px; letter-spacing: .1em; }
.audit-page .audit-deliverable h3 { font-size: clamp(25px, 2.2vw, 31px); line-height: 1.16; margin: 0 0 18px; }
.audit-page .audit-deliverable p { font-size: 15px; line-height: 1.7; margin: 0; color: #bcb6a8; }
.audit-page .audit-card-line { display: block; height: 1px; width: 34px; margin-top: 30px; background: var(--audit-gold); transition: width .55s cubic-bezier(.22,.61,.36,1); }
.audit-page .audit-deliverable:hover .audit-card-line { width: 80px; }
.audit-page .audit-related-card { display: flex; flex-direction: column; color: inherit; text-decoration: none; padding-bottom: 42px; }
.audit-page .audit-related-card p { flex: 1; }
.audit-page .audit-related-arrow { position: absolute; right: 24px; bottom: 26px; color: var(--audit-gold); font-size: 23px; transition: translate .45s cubic-bezier(.22,.61,.36,1); }
.audit-page .audit-related-card:is(:hover, :focus-visible) .audit-related-arrow { translate: 4px -4px; }
.audit-page .audit-related-card:focus-visible { outline: 2px solid var(--audit-gold); outline-offset: 4px; }
.audit-page .audit-related-card:focus-visible .audit-card-line { width: 80px; }
.audit-page .audit-process-intro { max-width: 810px; margin-bottom: 36px; }
.audit-page .audit-process-list { position: relative; margin-top: 0; }
.audit-page .audit-process-list::before { content: ""; position: absolute; width: 1px; left: 79px; top: 42px; bottom: 54px; background: linear-gradient(#d5b46b66, #d5b46b16); transform-origin: top; }
.audit-page .audit-process-list > li { position: relative; display: grid; grid-template-columns: 42px 42px minmax(0, 1fr); column-gap: 16px; align-items: start; padding: 30px 0; border-top: 1px solid var(--audit-line); }
.audit-page .audit-process-list .section-index { padding-top: 13px; font-size: 11px; color: #a48d59; }
.audit-page .audit-process-list .audit-icon { position: relative; background: #080807; }
.audit-page .audit-step-copy { min-width: 0; transition: translate .45s cubic-bezier(.22,.61,.36,1); }
.audit-page .audit-process-list > li:hover .audit-step-copy { translate: 4px 0; }
.audit-page .audit-step-copy h3 { font-size: clamp(22px, 2.2vw, 28px); margin: 0 0 10px; }
.audit-page .audit-step-copy p { font-size: 16px; line-height: 1.7; margin: 0; max-width: 730px; }
.audit-page .audit-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.audit-page .audit-choice { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 34px 30px; border: 1px solid var(--audit-line); background: #0b0a08c9; }
.audit-page .audit-choice > .audit-icon { margin-bottom: 26px; }
.audit-page .audit-choice h3 { font-size: clamp(25px, 2.4vw, 32px); line-height: 1.2; margin: 0 0 20px; }
.audit-page .audit-choice p { font-size: 16px; line-height: 1.75; margin: 0 0 18px; }
.audit-page .audit-choice-diagnostic { background: radial-gradient(ellipse at 0 0, #d5b46b16, transparent 80%), #100e09; }
.audit-page .audit-choice > .audit-action, .audit-page .audit-choice > .audit-text-action { margin-top: auto; }
.audit-page .audit-choice > .section-index { margin-bottom: 14px; font-size: 12px; color: var(--audit-gold); letter-spacing: .1em; }
.audit-page .audit-detail-list { list-style: none; padding: 0; margin: 22px 0; }
.audit-page .audit-detail-list > li { display: block; position: relative; padding: 12px 0 12px 21px; border-top: 0; border-bottom: 1px solid var(--audit-line); font-size: 15px; line-height: 1.65; color: #bcb6a8; }
.audit-page .audit-detail-list > li::before { content: ""; position: absolute; width: 5px; height: 5px; left: 0; top: 21px; border: 1px solid var(--audit-gold); rotate: 45deg; }
.audit-page .audit-detail-list strong { color: #e2d5b5; font-weight: 400; }
.audit-page .audit-inline-callout { display: flex; align-items: flex-start; gap: 26px; padding: 32px; margin: 32px 0 0; border: 1px solid var(--audit-line); background: radial-gradient(ellipse at 0 0, #d5b46b16, transparent 75%), #100e09; }
.audit-page .audit-inline-callout > div { min-width: 0; }
.audit-page .audit-inline-callout h3 { font-size: clamp(24px, 2.4vw, 31px); line-height: 1.22; margin: 0 0 16px; }
.audit-page .audit-inline-callout p { font-size: 16px; line-height: 1.75; margin: 0; max-width: 780px; }
.audit-page .audit-inline-callout p + p { margin-top: 18px; }
.audit-page .audit-text-action { display: inline-flex; align-items: center; gap: 16px; padding-top: 20px; font-size: 12px; line-height: 1.6; color: var(--audit-gold); }
.audit-page .audit-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; max-width: 342px; min-height: 56px; font-size: 12px; line-height: 1.4; padding: 18px 20px; white-space: normal; transition: background-color .3s ease, box-shadow .3s ease; }
.audit-page :is(.audit-action, .audit-text-action) > span { flex: none; transition: translate .4s cubic-bezier(.22,.61,.36,1); }
.audit-page :is(.audit-action, .audit-text-action):is(:hover, :focus-visible) > span { translate: 4px -3px; }
.audit-page .audit-action:is(:hover, :focus-visible) { box-shadow: 0 5px 28px #d5b46b23; }
.audit-page :is(.audit-action, .audit-text-action):focus-visible { outline: 2px solid var(--audit-gold); outline-offset: 5px; }
.audit-page .audit-faq { min-width: 0; }
.audit-page .audit-final { position: relative; isolation: isolate; overflow: hidden; padding: 54px 44px; margin: 30px 0 70px; border: 1px solid #d5b46b50; background: radial-gradient(ellipse at 100% 100%, #d5b46b1a, transparent 66%), #0e0c08; }
.audit-page .audit-final-heading, .audit-page .audit-final > p, .audit-page .audit-final-action { position: relative; z-index: 1; max-width: 670px; }
.audit-page .audit-final .section-index { display: block; margin-bottom: 18px; color: var(--audit-gold); font-size: 11px; letter-spacing: .12em; }
.audit-page .audit-final h2 { font-size: clamp(31px, 3.8vw, 47px); }
.audit-page .audit-final > p { margin: 25px 0 30px; max-width: 580px; font-size: 17px; line-height: 1.7; }
.audit-page .audit-final .audit-action { margin-top: 0; }
.audit-page .audit-final-compass { position: absolute; z-index: 0; width: min(36%, 300px); height: auto; right: -40px; top: 22%; color: #d5b46b; opacity: .12; stroke-width: .8; rotate: -12deg; transition: rotate 1.2s cubic-bezier(.22,.61,.36,1), opacity .6s ease; }
.audit-page .audit-final:hover .audit-final-compass { rotate: 12deg; opacity: .22; }

/* The audit owns entrances; this guard keeps legacy global reveal markers harmless. */
.audit-page [data-scroll-reveal] { opacity: 1 !important; translate: none !important; animation: none !important; }
.audit-page [data-audit-reveal="pending"] { opacity: 0; translate: 0 22px; }
.audit-page [data-audit-reveal="entering"] { animation: audit-content-in .76s cubic-bezier(.22,.61,.36,1) var(--audit-reveal-delay, 0ms) both; }
.audit-page.audit-motion-ready [data-audit-section]:not(.is-audit-in)::before { scale: 0 1; }
.audit-page .audit-section.is-audit-in::before { animation: audit-rule-in .9s cubic-bezier(.22,.61,.36,1) both; }
.audit-page [data-audit-reveal="entering"] :is(.audit-icon, .audit-section-mark) :is(path, circle, rect) { stroke-dasharray: 1; animation: audit-icon-draw .55s ease both; animation-delay: calc(var(--audit-reveal-delay, 0ms) + var(--audit-stroke-order, 0) * 55ms); }
.audit-page .audit-hover-surface:is(:hover, :focus-within) .audit-icon { animation: audit-icon-focus .65s cubic-bezier(.22,.61,.36,1) both; }
@keyframes audit-content-in { from { opacity: 0; translate: 0 22px; filter: blur(1px); } to { opacity: 1; translate: 0 0; filter: blur(0); } }
@keyframes audit-rule-in { from { scale: 0 1; opacity: .2; } to { scale: 1 1; opacity: 1; } }
@keyframes audit-icon-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes audit-icon-focus { 0% { scale: 1; rotate: 0deg; } 60% { scale: 1.1; rotate: -4deg; } 100% { scale: 1.04; rotate: 0deg; } }
@keyframes audit-surface-sweep { from { translate: -110% 0; } to { translate: 110% 0; } }
@media (max-width: 999px) {
  .audit-page .audit-observation-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .audit-page .audit-insight { flex-direction: row; align-items: center; gap: 26px; }
  .audit-page .audit-insight-icon { margin-bottom: 0; }
  .audit-page .audit-insight-line { display: none; }
  .audit-page .audit-choice { padding: 28px 22px; }
}
@media (max-width: 767px) {
  .audit-page .audit-section { padding: 54px 0; }
  .audit-page .audit-section-heading { grid-template-columns: 34px minmax(0, 1fr); gap: 16px; margin-bottom: 32px; }
  .audit-page .audit-section-mark svg { width: 26px; height: 26px; }
  .audit-page .audit-observation-list li { gap: 16px; padding: 22px 0; }
  .audit-page .audit-observation-list p { font-size: 17px; }
  .audit-page .audit-observation-note { margin-left: 0; }
  .audit-page .audit-insight { display: block; padding: 28px 24px; }
  .audit-page .audit-insight-icon { margin-bottom: 22px; }
  .audit-page .audit-insight p { font-size: 20px; }
  .audit-page .audit-deliverables, .audit-page .audit-choice-grid { grid-template-columns: minmax(0, 1fr); }
  .audit-page .audit-deliverable { padding: 28px 24px; }
  .audit-page .audit-card-top { margin-bottom: 24px; }
  .audit-page .audit-process-list::before { left: 52px; }
  .audit-page .audit-process-list > li { grid-template-columns: 24px 32px minmax(0, 1fr); column-gap: 12px; padding: 26px 0; }
  .audit-page .audit-process-list .audit-icon { width: 32px; height: 32px; flex-basis: 32px; }
  .audit-page .audit-process-list .section-index { padding-top: 8px; font-size: 9px; }
  .audit-page .audit-step-copy h3 { font-size: 21px; }
  .audit-page .audit-step-copy p { font-size: 15px; }
  .audit-page .audit-choice { padding: 28px 24px; }
  .audit-page .audit-inline-callout { display: block; padding: 28px 24px; }
  .audit-page .audit-inline-callout > .audit-icon { margin-bottom: 24px; }
  .audit-page .audit-related-card { padding-bottom: 42px; }
  .audit-page .audit-final { padding: 34px 24px; margin-bottom: 42px; }
  .audit-page .audit-final > p { font-size: 16px; }
  .audit-page .audit-final-compass { width: 210px; top: auto; bottom: -38px; right: -60px; opacity: .09; }
}
.motion-off .audit-page *, .motion-off .audit-page *::before, .motion-off .audit-page *::after { animation: none !important; transition: none !important; }
.motion-off .audit-page [data-audit-reveal] { opacity: 1 !important; translate: none !important; filter: none !important; }
@media (prefers-reduced-motion: reduce), print {
  .audit-page *, .audit-page *::before, .audit-page *::after { animation: none !important; transition: none !important; }
  .audit-page [data-audit-reveal] { opacity: 1 !important; translate: none !important; filter: none !important; }
  .audit-page.audit-motion-ready [data-audit-section]::before { scale: 1 1; }
}
