.sd-page,
.sd-guide-page {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(ellipse 72% 54% at 12% -12%, rgba(255, 115, 56, .13), transparent 64%),
    radial-gradient(ellipse 54% 42% at 92% 6%, rgba(215, 169, 69, .10), transparent 66%),
    linear-gradient(180deg, var(--noir-obsidian), var(--noir-deep) 48%, var(--noir-obsidian));
  color: var(--text-primary);
  font-family: var(--font-body);
}

.sd-page::before,
.sd-guide-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .07;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.72'/%3E%3C/svg%3E");
  mix-blend-mode: screen;
}

.sd-shell,
.g-wrap {
  position: relative;
  z-index: 1;
}

.sd-shell {
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 6rem);
}

.sd-head {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: end;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.sd-kicker,
.g-kicker {
  color: var(--accent);
  font: 700 .68rem/1 var(--font-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.sd-title,
.g-title {
  margin: .65rem 0 0;
  font-family: var(--font-display);
  font-weight: 900;
  line-height: .9;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sd-title {
  font-size: clamp(3rem, 10vw, 7rem);
}

.g-title {
  font-size: clamp(2.5rem, 8vw, 4.75rem);
}

.sd-title span,
.g-title span {
  color: var(--accent);
}

.sd-head p,
.g-lede {
  color: var(--text-secondary);
  line-height: 1.6;
}

.sd-head p {
  max-width: 34ch;
  margin: 0;
}

.sd-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 1.125rem;
  align-items: start;
}

.sd-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 115, 56, .08), transparent 36%),
    rgba(8, 9, 15, .86);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: .75rem;
  padding: 1.125rem;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .38);
}

.sd-field {
  display: grid;
  gap: .45rem;
  margin-bottom: .9rem;
}

.sd-field label {
  color: var(--text-secondary);
  font: 700 .68rem/1 var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sd-field input,
.sd-field select,
.sd-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: .5rem;
  background: rgba(3, 5, 8, .88);
  color: var(--text-primary);
  padding: .7rem .75rem;
  font: 500 .88rem/1.4 var(--font-body);
}

.sd-field input[type="file"] {
  cursor: pointer;
}

.sd-field textarea {
  min-height: 5.5rem;
  resize: vertical;
}

.sd-sub {
  color: var(--cyan, #47efff);
  font: 700 .63rem/1.3 var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 1.375rem 0 .75rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.sd-note,
.sd-status {
  color: var(--text-secondary);
  font-size: .78rem;
  line-height: 1.5;
}

.sd-note {
  margin: .5rem 0 0;
}

.sd-previews {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-bottom: .4rem;
}

.sd-previews:empty {
  display: none;
}

.sd-previews img,
.sd-previews video {
  width: 6.5rem;
  height: 6.5rem;
  object-fit: cover;
  border-radius: .5rem;
  border: 1px solid rgba(255, 255, 255, .14);
  background: var(--noir-void);
}

.sd-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}

.sd-btn {
  min-height: 2.5rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: .375rem;
  background: transparent;
  color: var(--text-primary);
  padding: 0 .875rem;
  font: 800 .68rem/1 var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .25s cubic-bezier(.16,1,.3,1), border-color .25s cubic-bezier(.16,1,.3,1), box-shadow .25s cubic-bezier(.16,1,.3,1);
}

.sd-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 115, 56, .45);
}

.sd-btn.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--text-primary);
  box-shadow: 0 0 20px rgba(255, 115, 56, .16);
}

.sd-btn.visual {
  border-color: rgba(71, 239, 255, .58);
  color: var(--cyan, #47efff);
}

.sd-btn[disabled] {
  opacity: .5;
  cursor: progress;
}

.sd-btn:focus-visible,
.sd-field input:focus-visible,
.sd-field textarea:focus-visible,
.sd-field select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.sd-report {
  display: grid;
  gap: .875rem;
}

.sd-report:empty::before {
  content: "Your diagnosis will appear here.";
  color: var(--text-secondary);
  font-size: .88rem;
}

.sd-verdict h2 {
  margin: 0 0 .5rem;
  font: 900 1.625rem/1.1 var(--font-display);
  text-transform: uppercase;
}

.sd-verdict p,
.sd-finding p,
.sd-route,
.sd-report li {
  color: var(--text-secondary);
}

.sd-findings {
  display: grid;
  gap: .65rem;
}

.sd-finding {
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: .625rem;
  padding: .75rem;
  background: rgba(255, 255, 255, .03);
}

.sd-finding b {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  display: block;
  margin-bottom: .375rem;
}

.sd-finding p {
  margin: 0 0 .375rem;
  font-size: .84rem;
  line-height: 1.5;
}

.sd-report ol,
.sd-report ul {
  margin: .375rem 0 0;
  padding-left: 1.25rem;
}

.sd-report li {
  margin: 0 0 .3rem;
  font-size: .84rem;
  line-height: 1.5;
}

.sd-prompt {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  font-size: .82rem;
  color: rgba(216, 255, 248, .94);
  background: rgba(0, 0, 0, .38);
  border: 1px solid rgba(71, 239, 255, .14);
  border-radius: .5rem;
  padding: .75rem;
  margin-top: .375rem;
}

.sd-route {
  border-left: 2px solid var(--gold, #d7a945);
  padding-left: .75rem;
  margin-top: .375rem;
  font-size: .84rem;
  line-height: 1.5;
}

.sd-status {
  min-height: 1.25rem;
  color: var(--cyan, #47efff);
  margin-top: .75rem;
}

.g-wrap {
  width: min(760px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 4.5rem) 0;
}

.g-lede {
  font-size: 1.06rem;
  max-width: 60ch;
  margin: 0 0 1.75rem;
}

.g-wrap h2 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin: 2.25rem 0 .65rem;
  padding-top: 1.375rem;
  border-top: 1px solid rgba(255, 255, 255, .10);
}

.g-wrap p,
.g-wrap ul,
.g-wrap ol {
  line-height: 1.7;
  color: var(--text-secondary);
}

.g-wrap ul,
.g-wrap ol {
  padding-left: 1.375rem;
}

.g-wrap li {
  margin: 0 0 .45rem;
}

.g-wrap strong {
  color: var(--text-primary);
}

.g-note {
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(71, 239, 255, .045);
  padding: .9rem 1rem;
  border-radius: .5rem;
  color: var(--text-secondary);
  font-size: .9rem;
  line-height: 1.6;
}

.g-cta {
  display: inline-block;
  margin-top: 2rem;
  background: var(--accent);
  color: var(--text-primary);
  text-decoration: none;
  font: 800 .75rem/1 var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .875rem 1.25rem;
  border-radius: .375rem;
}

.g-cta:focus-visible {
  outline: 2px solid var(--cyan, #47efff);
  outline-offset: 3px;
}

.g-wrap a {
  color: var(--gold, #d7a945);
}

@media (max-width: 860px) {
  .sd-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sd-btn {
    transition: none;
  }
}

/* ══════════════════════════════════════════════════════════════════
   Shot Doctor Guide — premium redesign (sdg-*). Namespaced so it never
   touches the tool page's .sd-* / .g-* rules. Uses the brand tokens.
   ══════════════════════════════════════════════════════════════════ */
.sd-page, .sd-guide-page { --sdg-ease: cubic-bezier(.16,1,.3,1); --sdg-line: rgba(255,255,255,.1); --sdg-line2: rgba(255,255,255,.16); }
.sdg { position: relative; z-index: 1; width: min(1080px, calc(100% - 40px)); margin: 0 auto; }
.sdg-orbs { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.sdg-orb { position: absolute; border-radius: 50%; filter: blur(72px); opacity: .4; will-change: transform; }
.sdg-orb.a { width: 44vw; height: 44vw; left: -12vw; top: -14vw; background: radial-gradient(circle, rgba(255,115,56,.5), transparent 66%); animation: sdgDrift1 24s var(--sdg-ease) infinite alternate; }
.sdg-orb.b { width: 38vw; height: 38vw; right: -10vw; top: 8vw; background: radial-gradient(circle, rgba(71,239,255,.26), transparent 66%); animation: sdgDrift2 28s var(--sdg-ease) infinite alternate; }
.sdg-orb.c { width: 32vw; height: 32vw; left: 26vw; bottom: -16vw; background: radial-gradient(circle, rgba(215,169,69,.2), transparent 68%); animation: sdgDrift1 32s var(--sdg-ease) infinite alternate-reverse; }
@keyframes sdgDrift1 { to { transform: translate3d(8%,6%,0) scale(1.12); } }
@keyframes sdgDrift2 { to { transform: translate3d(-7%,9%,0) scale(1.08); } }

.sdg-kicker { display: inline-flex; align-items: center; gap: .55rem; font: 700 .69rem/1 var(--font-mono); letter-spacing: .26em; text-transform: uppercase; color: var(--accent); }
.sdg-kicker::before { content: ""; width: 26px; height: 1px; background: var(--accent); }
.sdg h2 { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.7rem, 4.3vw, 2.7rem); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 .55rem; text-transform: uppercase; text-wrap: balance; }
.sdg-lede { font-size: clamp(1rem, 1.9vw, 1.16rem); line-height: 1.6; color: var(--text-secondary); max-width: 62ch; text-wrap: pretty; }
.sdg-sec { padding: clamp(3.4rem, 8vw, 6.2rem) 0; }
.sdg-sec-head { max-width: 60ch; margin-bottom: 2rem; }

.sdg-hero { min-height: 88vh; display: grid; grid-template-columns: 1.05fr .95fr; gap: 2.75rem; align-items: center; padding: 6rem 0 2.5rem; }
.sdg-hero h1 { font-family: var(--font-display); font-weight: 900; font-size: clamp(3rem, 8.5vw, 5.75rem); line-height: .9; letter-spacing: -.03em; text-transform: uppercase; margin: 1rem 0 1.1rem; text-wrap: balance; }
.sdg-hero h1 em { font-style: normal; color: var(--accent); }
.sdg-hero .sdg-lede { max-width: 46ch; }
.sdg-cta-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.9rem; }
.sdg-btn { display: inline-flex; align-items: center; gap: .55rem; min-height: 3rem; padding: 0 1.4rem; border-radius: .5rem; font: 800 .72rem/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: transform .4s var(--sdg-ease), box-shadow .4s var(--sdg-ease), border-color .4s var(--sdg-ease); }
.sdg-btn.primary { background: var(--accent); color: #150a04; box-shadow: 0 12px 40px rgba(255,115,56,.28); }
.sdg-btn.primary:hover { transform: translateY(-2px); box-shadow: 0 18px 54px rgba(255,115,56,.42); }
.sdg-btn.ghost { border: 1px solid var(--sdg-line2); color: var(--text-primary); }
.sdg-btn.ghost:hover { border-color: var(--accent); transform: translateY(-2px); }
.sdg-btn:focus-visible { outline: 2px solid var(--cyan, #47efff); outline-offset: 3px; }

.sdg-scan { position: relative; aspect-ratio: 16/10; border: 1px solid var(--sdg-line2); border-radius: 1rem; overflow: hidden; background: linear-gradient(160deg, #0a1220, #05080f 70%); box-shadow: 0 40px 100px rgba(0,0,0,.55); }
.sdg-scan svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.sdg-sweep { position: absolute; left: 0; right: 0; height: 34%; top: -34%; background: linear-gradient(180deg, transparent, rgba(71,239,255,.16) 60%, rgba(71,239,255,.5)); border-bottom: 1px solid rgba(71,239,255,.7); animation: sdgSweep 3.4s var(--sdg-ease) infinite; will-change: transform; }
@keyframes sdgSweep { 0% { transform: translateY(0); } 70% { transform: translateY(410%); } 100% { transform: translateY(410%); opacity: 0; } }
.sdg-tag { position: absolute; font: 600 .62rem/1 var(--font-mono); letter-spacing: .06em; color: var(--text-primary); background: rgba(3,6,9,.74); border: 1px solid var(--sdg-line2); padding: .32rem .5rem; border-radius: .4rem; white-space: nowrap; }
.sdg-tag i { color: var(--accent); font-style: normal; }
.sdg-tag.t1 { top: 20%; left: 13%; } .sdg-tag.t2 { top: 55%; right: 11%; } .sdg-tag.t3 { bottom: 13%; left: 21%; }
.sdg-dot circle { animation: sdgPulse 2.6s ease-in-out infinite; }
@keyframes sdgPulse { 0%,100% { opacity: .35; } 50% { opacity: 1; } }

.sdg-flow { display: flex; flex-wrap: wrap; align-items: stretch; }
.sdg-step { flex: 1 1 168px; position: relative; padding: 1.4rem 1.1rem; }
.sdg-step:not(:last-child)::after { content: ""; position: absolute; top: 2.6rem; right: 0; width: 2px; height: calc(100% - 2.6rem); background: linear-gradient(180deg, var(--sdg-line2), transparent); }
.sdg-n { font: 800 .74rem/1 var(--font-mono); color: var(--accent); letter-spacing: .1em; }
.sdg-g { width: 2.9rem; height: 2.9rem; margin: .75rem 0 .9rem; display: grid; place-items: center; border: 1px solid var(--sdg-line2); border-radius: .75rem; background: rgba(255,255,255,.02); }
.sdg-step h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.12rem; margin: 0 0 .35rem; letter-spacing: -.01em; }
.sdg-step p { font-size: .85rem; margin: 0; color: var(--text-secondary); line-height: 1.5; }
.sdg-step:first-child .sdg-g { border-color: rgba(255,115,56,.5); background: rgba(255,115,56,.07); }
.sdg-step:last-child .sdg-g { border-color: rgba(215,169,69,.5); background: rgba(215,169,69,.08); }
@media (min-width: 760px) {
  .sdg-step:not(:last-child)::after { top: 2.35rem; right: -30%; left: auto; width: 60%; height: 2px; background: linear-gradient(90deg, var(--accent), rgba(71,239,255,.4)); background-size: 200% 100%; animation: sdgFlowline 3s linear infinite; }
}
@keyframes sdgFlowline { to { background-position: -200% 0; } }

.sdg-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.sdg-mode { border: 1px solid var(--sdg-line); border-radius: 1rem; padding: 1.6rem; background: linear-gradient(180deg, rgba(255,255,255,.03), transparent); }
.sdg-mode.visual { border-color: rgba(71,239,255,.28); background: linear-gradient(180deg, rgba(71,239,255,.06), transparent); }
.sdg-mk { font: 700 .68rem/1 var(--font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--dim, #6c819e); }
.sdg-mode.visual .sdg-mk { color: var(--cyan, #47efff); }
.sdg-mode h3 { font-family: var(--font-display); font-weight: 800; font-size: 1.4rem; margin: .6rem 0 .6rem; letter-spacing: -.02em; }
.sdg-mode p { font-size: .92rem; margin: 0 0 .9rem; color: var(--text-secondary); line-height: 1.55; }
.sdg-mode ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.sdg-mode li { font-size: .86rem; color: var(--text-secondary); padding-left: 1.35rem; position: relative; line-height: 1.45; }
.sdg-mode li::before { content: ""; position: absolute; left: .15rem; top: .5rem; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.sdg-mode.visual li::before { background: var(--cyan, #47efff); }
.sdg-key { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--sdg-line); font-size: .8rem; color: var(--dim, #7a94b4); line-height: 1.55; }

.sdg-anatomy { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2.25rem; align-items: center; }
.sdg-report { border: 1px solid var(--sdg-line2); border-radius: 1rem; background: linear-gradient(180deg, rgba(10,16,26,.92), rgba(5,8,15,.92)); padding: 1.25rem; box-shadow: 0 40px 100px rgba(0,0,0,.5); }
.sdg-report .sdg-verdict { font: 700 .62rem/1 var(--font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--cyan, #47efff); }
.sdg-report h4 { font-family: var(--font-display); font-weight: 800; font-size: 1.3rem; margin: .5rem 0 .25rem; letter-spacing: -.02em; }
.sdg-report .sdg-sub { font-size: .82rem; color: var(--text-secondary); margin: 0 0 1rem; line-height: 1.5; }
.sdg-finding { border: 1px solid var(--sdg-line); border-radius: .625rem; padding: .7rem .75rem; margin-bottom: .55rem; background: rgba(255,255,255,.02); }
.sdg-fh { display: flex; align-items: center; gap: .5rem; margin-bottom: .35rem; }
.sdg-sev { font: 700 .58rem/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; padding: .25rem .45rem; border-radius: .3rem; }
.sdg-sev.high { background: rgba(255,115,56,.16); color: #ffb493; }
.sdg-sev.med { background: rgba(215,169,69,.16); color: #e7cf86; }
.sdg-fc { font: 700 .7rem/1 var(--font-mono); color: #d7e2f1; letter-spacing: .02em; }
.sdg-finding p { font-size: .78rem; margin: 0; color: var(--text-secondary); line-height: 1.45; }
.sdg-repaired { margin-top: .75rem; }
.sdg-rl { font: 700 .62rem/1 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gold, #d7a945); margin-bottom: .45rem; }
.sdg-repaired pre { margin: 0; font-family: var(--font-mono); font-size: .74rem; line-height: 1.55; color: rgba(216,255,248,.94); background: rgba(0,0,0,.5); border: 1px solid var(--sdg-line); border-radius: .5rem; padding: .75rem; white-space: pre-wrap; overflow-wrap: anywhere; }

.sdg-cats { display: flex; flex-wrap: wrap; gap: .6rem; }
.sdg-cat { display: inline-flex; align-items: center; gap: .55rem; padding: .65rem .9rem .65rem .75rem; border: 1px solid var(--sdg-line); border-radius: 100px; background: rgba(255,255,255,.02); font: 600 .82rem/1 var(--font-body); color: #d7e2f1; transition: transform .35s var(--sdg-ease), border-color .35s var(--sdg-ease), background .35s var(--sdg-ease); }
.sdg-cat:hover { transform: translateY(-3px); border-color: rgba(255,115,56,.5); background: rgba(255,115,56,.06); }
.sdg-cat svg { width: 1rem; height: 1rem; flex: none; color: var(--accent); }

.sdg-hand { display: flex; flex-wrap: wrap; gap: .75rem; }
.sdg-pill { display: inline-flex; align-items: center; gap: .65rem; padding: .9rem 1.15rem; border: 1px solid var(--sdg-line); border-radius: .75rem; background: rgba(255,255,255,.02); text-decoration: none; color: var(--text-primary); font-weight: 600; font-size: .9rem; transition: transform .35s var(--sdg-ease), border-color .35s var(--sdg-ease); }
.sdg-pill:hover { transform: translateY(-3px); border-color: rgba(71,239,255,.45); }
.sdg-pill svg { width: 1.15rem; height: 1.15rem; color: var(--cyan, #47efff); }

.sdg-close { text-align: center; padding: clamp(4.4rem, 11vw, 8rem) 0; }
.sdg-close h2 { font-size: clamp(2.2rem, 6vw, 4.2rem); }
.sdg-close .sdg-lede { margin: 0 auto 1.6rem; }

/* progressive-enhancement reveals: visible by default, motion layered by JS */
.motion .sdg-reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s var(--sdg-ease), transform .7s var(--sdg-ease); }
.motion .sdg-reveal.in { opacity: 1; transform: none; }
.motion .sdg-stagger > * { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--sdg-ease), transform .6s var(--sdg-ease); }
.motion .sdg-stagger.in > * { opacity: 1; transform: none; }
.motion .sdg-stagger.in > *:nth-child(2) { transition-delay: .05s; }
.motion .sdg-stagger.in > *:nth-child(3) { transition-delay: .1s; }
.motion .sdg-stagger.in > *:nth-child(4) { transition-delay: .15s; }
.motion .sdg-stagger.in > *:nth-child(5) { transition-delay: .2s; }
.motion .sdg-stagger.in > *:nth-child(n+6) { transition-delay: .25s; }

@media (max-width: 860px) {
  .sdg-hero { grid-template-columns: 1fr; gap: 2rem; min-height: 0; padding: 5.5rem 0 1.25rem; }
  .sdg-modes, .sdg-anatomy { grid-template-columns: 1fr; }
  .sdg-anatomy { gap: 1.4rem; }
  .sdg-step:not(:last-child)::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sdg-orb, .sdg-sweep, .sdg-dot circle, .sdg-step:not(:last-child)::after { animation: none !important; }
  .sdg-sweep { display: none; }
  .motion .sdg-reveal, .motion .sdg-stagger > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ── Shot Doctor tool page: premium lift, consistent with the guide ── */
.sd-page .sd-title-accent { display: block; width: min(180px, 42%); height: 3px; margin-top: .8rem; border-radius: 3px; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--accent), rgba(71,239,255,.5)); animation: sdAccentIn 1s .35s var(--sdg-ease) forwards; }
@keyframes sdAccentIn { to { transform: scaleX(1); } }
.sd-page .sd-panel { animation: sdPanelIn .7s var(--sdg-ease) both; }
.sd-page form.sd-panel { animation-delay: .08s; }
.sd-page .sd-report { animation-delay: .16s; }
@keyframes sdPanelIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.sd-report .sd-finding { animation: sdFindingIn .5s var(--sdg-ease) both; }
.sd-report .sd-finding:nth-child(2) { animation-delay: .06s; }
.sd-report .sd-finding:nth-child(3) { animation-delay: .12s; }
.sd-report .sd-finding:nth-child(n+4) { animation-delay: .18s; }
@keyframes sdFindingIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .sd-page .sd-title-accent { animation: none; transform: scaleX(1); }
  .sd-page .sd-panel, .sd-report .sd-finding { animation: none; }
}
