/* Echo Audit page styles (extends services.css shell) */
.au-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.au-hp { position:absolute; left:-9999px; opacity:0; height:0; width:0; }

.au-form { display:flex; gap:10px; margin-top:28px; max-width:560px; flex-wrap:wrap; }
.au-form input[type="text"] {
  flex:1; min-width:240px; background:var(--ink-3); border:1px solid var(--line);
  border-radius:999px; padding:13px 22px; font-family:var(--font-b); font-size:15px;
  color:var(--ivory); outline:none; transition:border-color 0.25s var(--ease);
}
.au-form input[type="text"]:focus { border-color:var(--accent); }
.au-form input::placeholder { color:var(--ivory-mute); }
.au-error { margin-top:14px; color:var(--red); font-size:14px; }

.au-progress { padding-block:clamp(48px,6vw,80px); }
.au-progress__card {
  max-width:560px; background:var(--ink-3); border:1px solid var(--line);
  border-radius:14px; padding:clamp(28px,4vw,44px); text-align:center;
}
.au-spinner {
  width:40px; height:40px; margin:0 auto 18px; border-radius:50%;
  border:3px solid var(--line); border-top-color:var(--accent);
  animation:au-spin 0.9s linear infinite;
}
@keyframes au-spin { to { transform:rotate(360deg); } }
.au-progress__step { font-family:var(--font-d); font-weight:600; font-size:17px; }
.au-progress__hint { margin-top:10px; font-size:13.5px; color:var(--ivory-mute); }
@media (prefers-reduced-motion: reduce) { .au-spinner { animation:none; } }

.au-results { padding-block:clamp(40px,6vw,72px); }
.au-score-head { margin-bottom:32px; }
.au-score-big { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.au-score-label { font-size:14px; color:var(--ivory-dim); width:100%; }
.au-score-num { font-family:var(--font-d); font-weight:700; font-size:clamp(56px,9vw,96px); line-height:1; letter-spacing:-0.03em; color:var(--accent); }
.au-score-sub { font-size:16px; color:var(--ivory-mute); }
.au-score-note { margin-top:10px; font-size:13px; color:var(--ivory-mute); }

.au-sections { display:grid; gap:10px; max-width:760px; }
.au-sec {
  background:var(--ink-3); border:1px solid var(--line-soft); border-radius:10px;
  padding:16px 20px;
}
.au-sec__top { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.au-sec__name { font-family:var(--font-d); font-weight:600; font-size:15px; }
.au-sec__score { font-family:var(--font-d); font-weight:700; color:var(--accent); white-space:nowrap; }
.au-sec__score small { color:var(--ivory-mute); font-weight:400; }
.au-bar { height:6px; background:rgba(13,27,46,0.10); border-radius:3px; margin:10px 0 8px; overflow:hidden; }
.au-bar span { display:block; height:100%; width:100%; background:var(--accent); border-radius:3px; transform-origin:left; transform:scaleX(var(--fill,0)); transition:transform 0.8s var(--ease); }
.au-bar--low span { background:var(--red); }
.au-bar--mid span { background:#e0a020; }
.au-sec__verdict { font-size:13.5px; color:var(--ivory-dim); line-height:1.55; }
.au-sec__proj { font-size:12.5px; color:var(--ivory-mute); margin-top:6px; }
.au-sec__proj strong { color:var(--accent); font-weight:600; }
.au-sec__fixes { margin-top:10px; font-size:13.5px; color:var(--ivory-dim); }
.au-sec__fixes li { margin:4px 0 0 18px; }

.au-gate {
  margin-top:40px; max-width:640px; background:var(--ink-3);
  border:1px solid rgba(47,127,255,0.35); border-radius:14px;
  padding:clamp(24px,4vw,40px);
}
.au-gate h2 { font-family:var(--font-d); font-weight:600; font-size:clamp(20px,2.6vw,26px); letter-spacing:-0.02em; }
.au-gate p { margin-top:10px; font-size:14.5px; color:var(--ivory-dim); line-height:1.6; }
.au-gate form { margin-top:20px; display:flex; flex-direction:column; gap:14px; }
.au-gate__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px) { .au-gate__row { grid-template-columns:1fr; } }
.au-gate label { display:flex; flex-direction:column; gap:6px; font-size:12.5px; color:var(--ivory-mute); }
.au-gate input {
  background:var(--ink-2); border:1px solid var(--line); border-radius:8px;
  padding:11px 14px; font-family:var(--font-b); font-size:14.5px; color:var(--ivory); outline:none;
  transition:border-color 0.25s var(--ease);
}
.au-gate input:focus { border-color:var(--accent); }
.au-gate .btn-solid { align-self:flex-start; border:0; cursor:pointer; }
.au-gate__fine { font-size:12px; color:var(--ivory-mute); }

.au-full { margin-top:40px; max-width:760px; }
.au-projection {
  display:flex; align-items:center; gap:clamp(14px,3vw,28px);
  background:var(--ink-3); border:1px solid var(--line); border-radius:14px;
  padding:clamp(20px,3vw,32px); margin-bottom:22px; flex-wrap:wrap;
}
.au-proj-cell { display:flex; flex-direction:column; gap:4px; }
.au-proj-cell span { font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ivory-mute); }
.au-proj-cell strong { font-family:var(--font-d); font-weight:700; font-size:clamp(34px,5vw,52px); line-height:1; }
.au-proj-cell--target strong { color:var(--accent); }
.au-proj-arrow { font-size:clamp(22px,3vw,32px); color:var(--ivory-mute); }
.au-summary { font-size:15px; color:var(--ivory-dim); line-height:1.65; max-width:70ch; margin-bottom:26px; }
.au-traffic {
  margin-top:26px; background:var(--ink-3); border:1px solid var(--line-soft);
  border-radius:10px; padding:20px 22px; font-size:14px; color:var(--ivory-dim); line-height:1.65;
}
.au-traffic strong { color:var(--ivory); }
.au-cta-row { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
