/* Scoped to the standalone SEO pilot; shared site styles remain unchanged. */
.seo-shell { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--header-height) + 3rem) 1.25rem 4rem; background: radial-gradient(circle at 18% 30%, rgba(5,42,48,.9), transparent 38%), radial-gradient(circle at 86% 12%, rgba(167,255,220,.1), transparent 26%), linear-gradient(145deg,var(--color-bg-deep),var(--color-teal-950)); }
.seo-entry { width: 100%; max-width: 36rem; margin-inline: auto; }
.seo-intro { text-align: center; margin-bottom: 1.75rem; }
.seo-intro h1 { font-size: clamp(2rem,4vw,2.8rem); line-height: 1.12; }
.seo-intro p { margin: 1rem auto 0; max-width: 32rem; }
.seo-panel { padding: clamp(1.25rem,3vw,2rem); }
.seo-panel .form-field { margin-bottom: 1.2rem; }
.seo-panel .form-field > label:has(input[type=checkbox]) { display: flex; align-items: flex-start; gap: .65rem; font-size: .9375rem; line-height: 1.55; }
.seo-panel input[type=checkbox] { flex-shrink: 0; margin-top: .3rem; accent-color: #a7ffdc; }
.seo-panel .form-privacy { margin-top: .4rem; font-size: .875rem; line-height: 1.5; }
.seo-panel button[type=submit] { width: 100%; }
.seo-footnote, .seo-demo { font-size: .875rem; text-align: center; line-height: 1.6; margin: 1rem 0; }
.seo-demo { color: #a7ffdc; margin-top: 0; }
.seo-privacy { margin-top: .75rem; font-size: .875rem; }
.seo-privacy summary { cursor: pointer; text-align: center; }
.seo-privacy .prose { margin-top: 1rem; }
.seo-privacy .prose p { font-size: .875rem; }
#seo-status:empty { display: none; }
#seo-status { margin: 1.25rem 0; text-align: center; }
.seo-progress { text-align: center; padding: 2rem 0 0; }
.seo-progress h2 { font-size: 1.75rem; margin-top: 2rem; }
.seo-scan { position: relative; width: 210px; height: 150px; border: 1px solid rgba(167,255,220,.45); border-radius: 12px; margin: auto; overflow: hidden; background: rgba(5,42,48,.45); box-shadow: 0 0 45px rgba(66,224,194,.08); }
.seo-scan__chrome { height: 26px; display: flex; align-items: center; gap: 5px; padding-left: 12px; border-bottom: 1px solid rgba(167,255,220,.2); }
.seo-scan__chrome i { width: 4px; height: 4px; border-radius: 50%; background: #a7ffdc; opacity: .6; }
.seo-scan__layout { padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.seo-scan__layout span { height: 28px; border-radius: 4px; background: rgba(167,255,220,.12); }
.seo-scan__layout span:first-child { grid-column: 1/-1; height: 17px; width: 75%; }
.seo-scan__layout span:last-child { height: 6px; width: 70%; }
.seo-scan__beam { position: absolute; inset: 26px 0 auto; height: 35px; border-bottom: 1px solid #a7ffdc; background: linear-gradient(transparent,rgba(167,255,220,.18)); animation: seo-sweep 2.8s ease-in-out infinite alternate; }
.seo-progress.is-paused .seo-scan__beam { animation-play-state: paused; opacity: .3; }
#seo-results { width: 100%; max-width: 72rem; margin-inline: auto; padding-block: 1rem; }
#seo-results > .container { width: 100%; padding-inline: 0; }
@keyframes seo-sweep { from { transform: translateY(0); } to { transform: translateY(85px); } }
@media(prefers-reduced-motion:reduce) { .seo-scan__beam { animation: none; transform: translateY(40px); } }
@media(max-width:600px) { .seo-shell { padding-top: calc(var(--header-height) + 2rem); justify-content: flex-start; } }

.seo-discussion h2 { font-size: clamp(1.6rem,3vw,2.1rem); margin-bottom: .8rem; }
.seo-discussion > p { max-width: 44rem; }
.seo-discussion .btn { width: auto; margin-top: 1.25rem; }
.seo-discussion .form-privacy { text-align: left; margin-top: 1rem; font-size: .9375rem; line-height: 1.6; }
#seo-discussion-status:not(:empty) { margin-top: 1rem; color: #a7ffdc; }
.seo-panel .form-privacy { text-align: left; }

/* Results: findings first, a focused invitation, then optional supporting detail. */
#seo-results { max-width: 64rem; padding-block: 1rem; }
.seo-results-header { text-align: center; max-width: 64rem; margin: 0 auto 3rem; }
.seo-result-label { color: #a7ffdc; font-size: .875rem; margin-bottom: .9rem; }
#results-title { font-size: clamp(2rem,4vw,3rem); line-height: 1.12; text-wrap: balance; }
#seo-coverage { margin: 1rem auto 0; max-width: none; text-wrap: wrap; }
.seo-summary { display: flex; justify-content: center; margin: 2rem auto 0; }
.seo-summary-item { flex: 1; max-width: 11rem; padding: .25rem 1rem; display: grid; gap: .25rem; }
.seo-summary-item + .seo-summary-item { border-left: 1px solid rgba(167,255,220,.16); }
.seo-summary-item strong { font-size: 1.75rem; color: #a7ffdc; font-weight: 600; }
.seo-summary-item span { font-size: .875rem; }
.seo-findings-heading { text-align: center; margin: 0 auto 1.5rem; }
.seo-findings-heading h3 { font-size: 1.5rem; }
.seo-findings-heading p { margin-top: .5rem; }
.seo-findings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.seo-finding:only-child { grid-column: 1/-1; width: 100%; max-width: 44rem; justify-self: center; }
.seo-finding { padding: clamp(1.25rem,3vw,2rem); min-width: 0; }
.seo-finding-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.seo-finding-number { font-size: 1.25rem; color: #a7ffdc; }
.seo-priority { font-size: .8125rem; border: 1px solid rgba(167,255,220,.22); border-radius: 100px; padding: .25rem .7rem; }
.seo-finding h4 { font-size: 1.3rem; margin: 0 0 .8rem; }
.seo-finding-next { line-height: 1.65; }
.seo-finding-details { margin-top: 1.25rem; border-top: 1px solid rgba(167,255,220,.12); padding-top: 1rem; }
.seo-finding-details summary,.seo-report-detail summary { cursor: pointer; font-weight: 500; }
.seo-finding-details p,.seo-finding-details ul { margin-top: 1rem; }
.seo-finding-details li,.seo-report-detail li { margin-block: .6rem; overflow-wrap: anywhere; }
#seo-results .seo-discussion { margin: 2.5rem 0 1.75rem; padding: clamp(1.5rem,3vw,2.5rem); display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: center; text-align: center; width: 100%; }
#seo-results .seo-discussion h2 { font-size: clamp(1.5rem,2.8vw,2rem); text-wrap: balance; }
.seo-discussion-action { text-align: center; }
#seo-results .seo-discussion .btn { display: inline-flex; width: auto; max-width: 100%; margin: 0; white-space: normal; }
#seo-results .seo-discussion .form-privacy { text-align: center; max-width: 22rem; margin: .8rem auto 0; }
.seo-supporting-details { max-width: 48rem; margin-inline: auto; }
.seo-report-detail { padding: 1rem .25rem; border-bottom: 1px solid rgba(167,255,220,.14); }
.seo-report-detail > :not(summary) { margin-top: 1rem; }
.seo-results-footer { text-align: center; margin-top: 2rem; }
@media(max-width:700px) { .seo-findings-grid { grid-template-columns: 1fr; } #seo-results .seo-discussion { grid-template-columns: 1fr; text-align: center; gap: 1.25rem; } .seo-summary-item { padding-inline: .5rem; } }

/* Final results polish: clear numbers, inset evidence, and a quieter invitation. */
.seo-summary-item strong { font-size: clamp(2.6rem,5vw,3.5rem); line-height: 1.1; letter-spacing: -.045em; }
.seo-summary-item { gap: .65rem; }
.seo-finding-top { justify-content: flex-start; margin-bottom: 1.1rem; }
.seo-finding-details ul, .seo-report-detail ul { padding-inline-start: 1.5rem; list-style-position: outside; }
.seo-finding-details li, .seo-report-detail li { padding-inline-start: .3rem; }
.seo-finding-details li::marker, .seo-report-detail li::marker { color: #a7ffdc; }
#seo-results .seo-discussion { position: relative; grid-template-columns: 1fr; gap: 1.5rem; border-color: rgba(167,255,220,.23); background: radial-gradient(ellipse at 100% 0%,rgba(167,255,220,.09),transparent 65%),linear-gradient(120deg,rgba(5,42,48,.8),rgba(12,25,28,.95)); box-shadow: 0 16px 48px rgba(0,0,0,.13); }
.seo-discussion-kicker { font-size: .8125rem; color: #a7ffdc; margin: 0 0 1rem; letter-spacing: .015em; }
#seo-results .seo-discussion h2 { max-width: none; margin-bottom: 1rem; text-wrap: wrap; }
.seo-discussion-copy > p:last-child { font-size: 1rem; line-height: 1.7; max-width: 65ch; margin-inline: auto; }
.seo-discussion-action { border: 0; padding: 0; }
#seo-results .seo-discussion .form-privacy { font-size: .875rem; max-width: none; line-height: 1.6; }
.seo-finding { transition: border-color .2s ease,box-shadow .2s ease; }
.seo-finding:hover { border-color: rgba(167,255,220,.3); box-shadow: 0 12px 36px rgba(0,0,0,.13); }
@keyframes seo-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.seo-results-enter .seo-results-header { animation: seo-arrive .45s ease both; }
.seo-results-enter #seo-result-content { animation: seo-arrive .5s .1s ease both; }
.seo-results-enter .seo-discussion { animation: seo-arrive .5s .2s ease both; }
.seo-results-enter .seo-supporting-details { animation: seo-arrive .5s .3s ease both; }
@media(max-width:700px) { #seo-results .seo-discussion { grid-template-columns: 1fr; gap: 1.5rem; } #seo-results .seo-discussion h2,.seo-discussion-copy > p:last-child { margin-inline: auto; } .seo-discussion-action { border: 0; padding: 0; } }
@media(prefers-reduced-motion:reduce) { .seo-results-enter .seo-results-header,.seo-results-enter #seo-result-content,.seo-results-enter .seo-discussion,.seo-results-enter .seo-supporting-details { animation: none; } #seo-results .seo-discussion .btn,.seo-finding { transition: none; } #seo-results .seo-discussion .btn:hover:not(:disabled) { transform: none; } }

/* Raised priority badges and a shared content width for single-result reports. */
#seo-results .seo-discussion h2 { margin-inline: auto; }
.seo-findings-grid { gap: 3.5rem 1.5rem; padding-top: 1.75rem; }
.seo-finding { position: relative; overflow: visible; padding-top: 2.8rem; background: radial-gradient(ellipse at 12% 0%,rgba(167,255,220,.09),transparent 65%),linear-gradient(140deg,#0b292e,#142022); box-shadow: 0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(167,255,220,.08); }
.seo-finding-top { position: absolute; top: 0; left: 1.75rem; transform: translateY(-50%); margin: 0; }
.seo-priority { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1rem; font-size: .9375rem; line-height: 1.2; font-weight: 600; color: #c4ffe9; background: linear-gradient(135deg,#214b46,#173a39); border: 1px solid rgba(167,255,220,.4); box-shadow: 0 7px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12); }
.seo-priority::before { content: ''; width: .4rem; height: .4rem; border-radius: 50%; background: #a7ffdc; box-shadow: 0 0 9px rgba(167,255,220,.3); }
.seo-finding:hover { box-shadow: 0 21px 48px rgba(0,0,0,.26),inset 0 1px 0 rgba(167,255,220,.12); }
#seo-results .seo-discussion { box-shadow: 0 18px 44px rgba(0,0,0,.2),inset 0 1px 0 rgba(167,255,220,.06); }
@media(max-width:700px) { .seo-finding-top { left: 1.25rem; } }
/* Consistent results edges and a gentle moving highlight. */
.seo-priority::before { content: none; }
.seo-supporting-details { max-width: none; }
#seo-results:has(.seo-finding:only-child) .seo-supporting-details { max-width: 44rem; }
.seo-performance::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(110deg,transparent 38%,rgba(167,255,220,.025) 45%,rgba(207,255,240,.09) 50%,rgba(167,255,220,.025) 55%,transparent 62%); background-size: 300% 100%; background-position: 100% 0; animation: seo-light-sweep 10s ease-in-out infinite; }
@keyframes seo-light-sweep { 0%,15% { background-position: 100% 0; opacity: 0; } 20% { opacity: 1; } 55% { background-position: 0% 0; opacity: 1; } 65%,100% { background-position: 0% 0; opacity: 0; } }
@media(prefers-reduced-motion:reduce) { .seo-performance::after { animation: none; display: none; } }
/* Bound the shared card hover glow itself; keep overflow for the raised badge. */
.seo-finding::before {
  inset: 0;
  width: auto;
  height: auto;
  aspect-ratio: auto;
  border-radius: inherit;
  background: radial-gradient(circle at top right, rgba(167,255,220,.08), transparent 15rem);
}
/* Programmatic announcement target, not an interactive keyboard control. */
.seo-check-page #results-title:focus { outline: none; }
/* Give entry and results the same visual language without widening the fields. */
.seo-entry { max-width: 44rem; }
.seo-intro { max-width: 40rem; margin-inline: auto; margin-bottom: 2rem; }
.seo-intro h1 { font-size: clamp(2rem,4vw,3rem); text-wrap: balance; }
.seo-panel { position: relative; isolation: isolate; padding: clamp(1.5rem,4vw,2.5rem); border-color: rgba(167,255,220,.23); background: radial-gradient(ellipse at 12% 0%,rgba(167,255,220,.09),transparent 65%),linear-gradient(140deg,#0b292e,#142022); box-shadow: 0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(167,255,220,.08); }
.seo-panel:hover { transform: none; }
.seo-panel::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: -1; background: linear-gradient(110deg,transparent 38%,rgba(167,255,220,.025) 45%,rgba(207,255,240,.09) 50%,rgba(167,255,220,.025) 55%,transparent 62%); background-size: 300% 100%; background-position: 100% 0; animation: seo-light-sweep 10s ease-in-out infinite; }
#seo-form-view { max-width: 34rem; width: 100%; margin-inline: auto; }
.seo-panel .form-control { background-color: rgba(7,23,26,.7); }
.seo-panel:focus-within::after { animation: none; opacity: 0; }
@media(prefers-reduced-motion:reduce) { .seo-panel::after { animation: none; display: none; } }
/* Quieter hover treatment; retain the slow light sweep and resting depth. */
.seo-check-page .seo-panel:hover,
.seo-check-page .seo-finding:hover,
#seo-results .seo-discussion:hover { transform: none; }
.seo-check-page .seo-panel:hover::before,
.seo-check-page .seo-finding:hover::before,
#seo-results .seo-discussion:hover::before { opacity: .25; }
.seo-check-page .seo-finding:hover { background: radial-gradient(ellipse at 12% 0%,rgba(167,255,220,.06),transparent 65%),linear-gradient(140deg,#0b292e,#142022); border-color: rgba(167,255,220,.25); box-shadow: 0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(167,255,220,.08); }
.seo-check-page .seo-panel:hover { background: radial-gradient(ellipse at 12% 0%,rgba(167,255,220,.06),transparent 65%),linear-gradient(140deg,#0b292e,#142022); }

#seo-discussion-status.is-confirmed { margin: 0; padding: 1rem 0; }
#seo-discussion-status.is-confirmed strong { display: block; font-size: 1.5rem; margin-bottom: .65rem; }
#seo-discussion-status.is-confirmed span { display: block; max-width: 65ch; margin-inline: auto; color: var(--color-text-muted, #b3c5c7); line-height: 1.65; }
#seo-discussion-status:focus { outline: none; }

/* A separate homepage lab test; the SEO findings remain usable while it runs. */
.seo-performance { position:relative; max-width:64rem; margin:2.5rem auto; padding:clamp(1.5rem,4vw,2.5rem); }
.seo-performance > h3, .seo-performance > p { text-align:center; }
.seo-performance-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.75rem 0; text-align:center; }
.seo-performance-metrics > div { display:flex; flex-direction:column; gap:.5rem; }
.seo-performance-metrics strong { font-size:clamp(1.8rem,4vw,2.6rem); color:var(--color-accent, #a4ffe2); line-height:1.2; }
.seo-performance-metrics span { font-size:.9rem; }
.seo-performance .seo-report-detail { margin-top:1.25rem; border-top:1px solid rgba(167,255,220,.12); border-bottom:0; padding:1rem 0 0; }
@media(max-width:520px) { .seo-performance-metrics { grid-template-columns:1fr; gap:1.5rem; } }

#seo-results:has(.seo-finding:only-child) .seo-performance { max-width:44rem; }
.seo-performance:hover::before { opacity:.25; }

/* Tinted labels retain their wording so meaning never depends on color. */
.seo-check-page .seo-tone--attention { color:#ffd0c7; background:#3c292a; border-color:#a66b61; }
.seo-check-page .seo-tone--review { color:#ffe0a3; background:#383123; border-color:#997d48; }
.seo-check-page .seo-tone--optional { color:#c9e2ff; background:#243441; border-color:#6383a2; }
.seo-check-page .seo-tone--good { color:#c4ffe9; background:#193d36; border-color:#548e7c; }
.seo-performance-metrics .seo-performance-rating { align-self:center; border-width:1px; border-style:solid; border-radius:100px; padding:.3rem .7rem; font-size:.875rem; line-height:1.35; font-weight:600; }

.seo-results-header #results-title { max-width:48rem; margin-inline:auto; }

.seo-health-status { display:inline-flex; align-items:center; padding:.45rem .9rem; margin-bottom:1.1rem; border:1px solid; border-radius:100px; font-size:.9375rem; font-weight:600; line-height:1.3; box-shadow:0 5px 18px rgba(0,0,0,.18); }
#seo-health-reason { max-width:none; margin:1rem auto 0; line-height:1.65; text-wrap:wrap; }

#seo-tested-website { margin:1.5rem auto 0; font-size:1rem; overflow-wrap:anywhere; }

.seo-performance-metrics .seo-metric-explanation { line-height:1.5; margin-top:.35rem; }
.seo-performance-guidance { border-top:1px solid rgba(167,255,220,.12); padding-top:1.25rem; }
.seo-performance-guidance h4 { margin:0 0 .75rem; font-size:1.15rem; }
.seo-performance-guidance ul { padding-left:1.4rem; }
.seo-performance-guidance li { margin:.65rem 0; line-height:1.6; }
.seo-performance-guidance p { margin-top:1rem; font-size:.9375rem; }

/* Keep report edges stable regardless of the number of findings. */
#seo-results .seo-finding:only-child,
#seo-results:has(.seo-finding:only-child) .seo-performance,
#seo-results:has(.seo-finding:only-child) .seo-supporting-details,
#seo-results .seo-discussion { max-width: 64rem; width: 100%; }
#seo-form-view { max-width: 44rem; }

/* Match contact-form verification; center any required challenge. */
.seo-turnstile { display: flex; justify-content: center; }
.seo-turnstile .cf-turnstile { width: 100%; max-width: 22rem; }

/* Show useful progress while Google's independent mobile test finishes. */
.seo-performance-loading { display:grid; justify-items:center; gap:.85rem; padding:1.5rem 0; text-align:center; }
.seo-performance-spinner { width:2.5rem; height:2.5rem; border:3px solid rgba(167,255,220,.16); border-top-color:#a7ffdc; border-radius:50%; animation:seo-performance-spin 1.1s linear infinite; }
.seo-performance-loading p { margin:0; }
.seo-performance-loading-title { font-weight:600; }
.seo-performance-arrive > :not(h3) { animation:seo-arrive .35s ease both; }
@keyframes seo-performance-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .seo-performance-spinner,.seo-performance-arrive > :not(h3) { animation:none; } }

#seo-results .seo-discussion-copy[hidden] { display: none; }

.seo-form-error { padding: 1rem 1.25rem; margin: 0 0 1.5rem; border: 1px solid #e5ad78; border-radius: .75rem; background: rgba(120,65,25,.18); color: #ffe0c2; line-height: 1.6; }

/* Share site panel surfaces; keep severity pills and scan/performance animations. */
@media screen {
  .seo-check-page .seo-finding, .seo-check-page .seo-finding:hover {
    background: var(--panel-supporting);
    border-color: var(--color-border);
    box-shadow: none;
  }
  .seo-check-page .seo-panel, .seo-check-page .seo-panel:hover,
  #seo-results .seo-discussion {
    background: var(--panel-conversion);
    border-color: var(--color-border-accent);
    box-shadow: var(--panel-shadow);
  }
  .seo-check-page .seo-finding::before { display: none; }
}
