/* Local SEO-Audit direction: an inspection bench, not a generic brand orbit. */
.au { --navy: var(--ink-soft); }
.au-hero { min-height: 0; }
.au-hero .gx-hero__inner { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); align-items: center; gap: 0 clamp(1.5rem,4vw,4rem); padding-top: 104px; }
.au-hero .gx-hero__copy { max-width: none; padding-block: clamp(2rem,5svh,4rem); }
.au-hero h1 { max-width: none; font-size: clamp(3.2rem,5.2vw,5.65rem); line-height: .97; }
.au-hero .gx-eyebrow { margin-bottom: 1rem; }
.au-hero .gx-lead { max-width: 46ch; margin-top: 1.35rem; font-size: 1rem; }
.au-hero .gx-actions { margin-top: 1.65rem; gap: .8rem 1.5rem; }
.au-hero .gx-chapters { grid-column: 1 / -1; padding-block: .55rem .75rem; }
.au-hero .gx-hero__stage { position: relative; inset: auto; width: 100%; height: clamp(380px,65svh,610px); margin: 0; align-self: center; }
.au-inspector { pointer-events: auto; }
.au-scope .gx-scope__stage { pointer-events: auto; }
.au-inspector .gx-canvas { height: calc(100% - 105px); bottom: auto; }
.au-controls { position: absolute; bottom: 42px; left: 2%; right: 2%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; pointer-events: auto; }
.au-controls button { position: relative; min-height: 48px; padding: .65rem .7rem .85rem; border: 0; background: transparent; color: var(--muted-on-dark); cursor: pointer; font-size: .95rem; font-weight: 550; text-align: left; transition: color 180ms; }
.au-controls button[aria-pressed="true"],.au-controls button:hover { color: var(--white); }
.au-tab__line { position: absolute; height: 2px; bottom: 0; left: .7rem; right: .7rem; background: rgba(195,206,201,.2); overflow: hidden; }
.au-tab__line i { display: block; width: 100%; height: 100%; background: var(--accent); transform: scaleX(0); transform-origin: left center; }
.au-controls button[aria-pressed="true"] .au-tab__line i { transform: scaleX(var(--slide-progress,0)); }
.au-readout { position: absolute; bottom: 6px; left: 4%; right: 4%; text-align: center; color: var(--text-on-dark); font-size: .85rem; }
.au:not(.service-enhanced) .au-controls { display: none; }
.au-fallback { position: absolute; width: min(82%,520px); top: calc(50% - 52px); left: 50%; padding: 0 2rem 2rem; border: 1px solid var(--line-on-dark); background: var(--ink-soft); transform: translate(-50%,-50%) rotate(-4deg); }
.au-fallback__bar { margin-inline: -2rem; padding: .8rem 1.2rem; border-bottom: 1px solid var(--line-on-dark); color: var(--muted-on-dark); font-size: .8rem; }
.au-fallback strong { display: block; padding-block: 2.5rem; font-size: clamp(1.7rem,3vw,3rem); line-height: 1; letter-spacing: -.04em; }
.au-fallback > span { color: var(--accent); font-size: .85rem; }
.au-fallback__scan { height: 2px; margin-top: 2rem; background: var(--accent); }
.is-live > .au-fallback,.is-live > .au-stack-fallback { display: none; }
.au-legend path { fill: none; stroke: #8faaa0; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.au-legend .is-on { stroke: var(--accent); stroke-width: 3; }
.au-stack-fallback { display: grid; position: absolute; inset: 20% 10%; align-content: center; gap: 1.2rem; transform: rotate(-6deg); }
.au-stack-fallback span { display: block; padding: 2rem; background: var(--ink-soft); color: var(--accent); border: 1px solid var(--line-on-dark); }
.au-scope .gx-scope__stage { height: min(calc(100svh - 105px),760px); min-height: 460px; }
.au-scope .gx-tag { top: auto; bottom: 20px; left: 50%; transform: translateX(-50%); max-width: 90%; background: transparent; clip-path: none; font-size: .9rem; }
.au-scope .gx-scope__parts { padding-block: 8svh 4svh; }
.au-scope .gx-part { min-height: 72svh; }
.au-diagnosis { display: grid; grid-template-columns: minmax(0,1fr) 100px minmax(0,1fr); align-items: center; gap: clamp(1rem,3vw,3rem); padding: clamp(2rem,4vw,4rem); margin-top: 3rem; background: var(--ink); color: var(--white); min-height: 420px; }
.au-diagnosis__site { min-width: 0; border: 1px solid var(--line-on-dark); background: var(--ink-soft); transform: perspective(1000px) rotateY(12deg); transform-origin: right center; padding: 0 1.5rem 1.5rem; }
.au-windowbar { display: flex; gap: 5px; padding: .75rem; margin-inline: -1.5rem; border-bottom: 1px solid var(--line-on-dark); }
.au-windowbar i { width: 6px; height: 6px; background: #a7bcb1; border-radius: 50%; }
.au-diagnosis__site > p { color: var(--text-on-dark); font-size: .8rem; margin-top: 1rem; }
.au-diagnosis__site strong { display: block; padding-block: 1rem; font-size: clamp(1.6rem,2.6vw,2.7rem); font-stretch: 80%; letter-spacing: -.035em; line-height: 1.05; }
.au-code { display: block; padding: 1rem; font-family: inherit; border-left: 3px solid var(--accent); background: var(--ink); color: var(--accent); overflow-wrap: anywhere; }
.au-diagnosis__caption { display: block; margin-top: 1rem; color: var(--text-on-dark); font-size: .8rem; }
.au-diagnosis__bridge { display: grid; justify-items: center; gap: 1rem; color: var(--accent); font-size: .85rem; text-align: center; }
.au-diagnosis__bridge svg { width: 52px; height: 52px; transform: rotate(45deg); transition: transform 500ms; }
.au-diagnosis__result { position: relative; display: grid; min-width: 0; }
.au-alerts,.au-finding { grid-area: 1 / 1; transition: opacity 450ms,transform 450ms; }
.au-alerts { display: grid; gap: .5rem; }
.au-alerts span { display: block; padding: .85rem 1.1rem; border: 1px solid var(--line-on-dark); font-size: .92rem; background: var(--ink-soft); }
.au-alerts__important { color: var(--accent); }
.au-finding { align-self: center; padding: clamp(1.5rem,3vw,2.5rem); background: var(--accent); color: var(--ink); opacity: 0; transform: translateY(15px); }
.au-finding__label { font-size: .85rem; font-weight: 600; }
.au-finding h3 { font-size: clamp(1.8rem,3vw,3rem); font-stretch: 80%; line-height: 1; letter-spacing: -.04em; margin-top: 1rem; }
.au-finding p { margin-top: 1rem; }
.au-finding__next { display: block; margin-top: 1.5rem; border-top: 1px solid rgba(7,17,15,.2); padding-top: 1rem; font-size: .86rem; }
[data-state="after"] .au-alerts { opacity: 0; transform: translateY(-15px); }
[data-state="after"] .au-finding { opacity: 1; transform: none; }
[data-state="after"] .au-diagnosis__bridge svg { transform: rotate(45deg) translate(5px,-5px); }
.au-process-copy { max-width: 38ch; color: var(--text-on-dark); margin-top: 1.8rem; }
.au-scope-map { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-block: 2rem; }
.au-scope-map span { border-bottom: 2px solid var(--accent); padding-block: .6rem; font-weight: 600; }
@media(max-width:900px) {
 .au-hero .gx-hero__inner { grid-template-columns: minmax(0,1fr); padding-top: 96px; }
 .au-hero .gx-hero__copy { max-width: 42rem; padding-block: 1.5rem 1rem; }
 .au-hero h1 { font-size: clamp(3.1rem,7.8vw,4.6rem); }
 .au-hero .gx-hero__stage { height: clamp(300px,50svh,480px); max-width: 650px; justify-self: center; }
 .au-controls { bottom: 36px; }
 .au-readout { bottom: 4px; font-size: .82rem; }
 .au-fallback { width: min(78%,440px); }
 .au-scope .gx-scope__stage { height: clamp(230px,38svh,380px); min-height: 230px; top: 76px; }
 .au-scope .gx-part { min-height: 64svh; padding-top: 5svh; }
 .au-scope .gx-tag { bottom: 8px; font-size: .8rem; }
 .au-stack-fallback { inset: 5% 10%; gap: .5rem; }
 .au-stack-fallback span { padding: 1rem; }
 .au-diagnosis { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; padding: 1.5rem; }
 .au-diagnosis__bridge { display: none; }
 .au-diagnosis__site { transform: none; }
}
@media(max-width:600px) {
 .au-hero h1 { font-size: clamp(2.8rem,12.6vw,4rem); }
 .au-hero .gx-hero__copy { padding-block: .65rem .25rem; }
 .au-hero .gx-eyebrow { margin-bottom: .75rem; }
 .au-hero .gx-lead { margin-top: 1rem; }
 .au-hero .gx-actions { margin-top: 1.15rem; gap: .6rem 1rem; }
 .au-hero .gx-actions .gx-link { font-size: .85rem; }
 .au-hero .gx-hero__stage { height: 320px; }
 .au-controls button { padding-inline: .5rem; font-size: .9rem; }
 .au-hero .gx-chapters { gap: .1rem 1rem; font-size: .8rem; }
 .au-fallback { padding-bottom: 1rem; }
 .au-fallback strong { font-size: 1.6rem; padding-block: 1.2rem; }
 .au-diagnosis { grid-template-columns: minmax(0,1fr); padding: 1.25rem; margin-inline: calc(var(--page-gutter)*-1); }
 .au-diagnosis__result { min-height: 290px; }
 .au-diagnosis__site strong { font-size: 2.1rem; }
 .au-diagnosis__site { padding-bottom: 1.25rem; }
}
@media(min-width:901px) and (max-height:740px) {
 .au-hero .gx-hero__inner { padding-top: 96px; }
 .au-hero .gx-hero__copy { padding-block: 1.2rem; }
 .au-hero h1 { font-size: clamp(2.9rem,4.65vw,4.4rem); }
 .au-hero .gx-lead { margin-top: 1rem; }
 .au-hero .gx-actions { margin-top: 1.1rem; }
 .au-hero .gx-hero__stage { height: clamp(340px,69svh,460px); }
}
@media(max-height:480px) and (max-width:900px) {
 .au-hero h1 { font-size: 2.65rem; }
 .au-hero .gx-hero__copy { padding-top: .5rem; }
 .au-hero .gx-hero__stage { height: 320px; }
}
@media(max-height:480px) and (min-width:640px) and (max-width:900px) {
 .au-hero .gx-hero__copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 2rem; max-width: none; }
 .au-hero .gx-eyebrow { grid-column: 1 / -1; }
 .au-hero h1 { grid-row: 2 / span 2; }
 .au-hero .gx-lead { grid-column: 2; grid-row: 2; margin-top: 0; }
 .au-hero .gx-actions { grid-column: 2; grid-row: 3; margin-top: 1rem; align-self: start; }
 .au-hero .gx-actions .gx-link { display: none; }
}
@media(prefers-reduced-motion:reduce) { .au-diagnosis__site { transform: none; } }
