/* The RivalCheck site (/, /service). Everything is scoped under .scout-site because
   Propshaft's :app tag also loads this file on the ledger pages. */
.scout-site { margin: 0; min-height: 100vh; padding: 48px 20px; color: #18181b; box-sizing: border-box;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(1200px 600px at 10% -10%, #9cc8ff 0%, transparent 60%),
    radial-gradient(900px 700px at 110% 110%, #1d4ed8 0%, transparent 55%),
    linear-gradient(160deg, #3b82f6 0%, #1e40af 70%, #1e3a8a 100%) fixed; }
.scout-site *, .scout-site *::before, .scout-site *::after { box-sizing: border-box; }
.scout-site h1, .scout-site h2, .scout-site h3, .scout-site p { margin: 0; }
.scout-site a, .scout-site button:not(:disabled), .scout-site summary, .scout-site [role="button"] { cursor: pointer; }
.scout-site :focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }

.scout-card { max-width: 960px; margin: 0 auto; text-align: center; border-radius: 28px; padding: 40px 28px 44px;
  background: linear-gradient(180deg, #fff 0%, #fafafa 55%, #dcdcde 100%);
  box-shadow: 0 30px 80px rgba(15, 23, 42, .35), 0 0 0 1px rgba(255, 255, 255, .6) inset; }
.scout-mascot { display: block; width: 200px; height: 210px; margin: 0 auto 6px; }
.scout-mascot-sm { display: block; width: 120px; height: 126px; margin: 0 auto 4px; }
.scout-hero { position: relative; width: 200px; margin: 0 auto; }
.scout-bubble { position: absolute; left: 172px; top: 34px; white-space: nowrap; font-size: 12.5px; font-weight: 500; color: #3f3f46;
  background: #fff; border: 1px solid #e4e4e7; border-radius: 12px 12px 12px 3px; padding: 6px 10px;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .08); animation: scout-bubble .45s cubic-bezier(.3, 1.5, .6, 1) .8s both; transform-origin: 0 100%; }
.scout-brand { margin-top: 2px !important; font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: #52525b; }
.scout-brand::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 999px; background: #f59e0b; margin-right: 7px; vertical-align: 1px; }
.scout-h1 { font-size: clamp(30px, 5vw, 40px); line-height: 1.12; letter-spacing: -0.03em; font-weight: 700; margin-top: 10px; text-wrap: balance; }
.scout-lede { max-width: 480px; margin: 16px auto 0 !important; color: #71717a; font-size: 16.5px; line-height: 1.55; }

.scout-cta { margin-top: 30px; display: inline-flex; align-items: center; gap: 12px; max-width: 100%;
  background: #0a0a0a; color: #fff; border: 0; border-radius: 999px; padding: 15px 22px 15px 26px;
  font: 500 15px/1.3 Inter, sans-serif; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); text-align: left; }
.scout-cta:hover { background: #27272a; }
.scout-cta code { font: 500 14px/1.4 "JetBrains Mono", ui-monospace, Menlo, monospace; color: #e4e4e7; }
.scout-cta .scout-copy { flex: none; font-size: 12px; color: #a1a1aa; border-left: 1px solid #3f3f46; padding-left: 12px; }
.scout-hint { margin-top: 12px !important; font-size: 12.5px; color: #a1a1aa; }
.scout-hint b { color: #71717a; font-weight: 500; }

.scout-manual { max-width: 572px; margin: 14px auto 0; text-align: left; font-size: 13px; color: #52525b; }
.scout-manual summary { text-align: center; color: #71717a; list-style: none; }
.scout-manual summary::-webkit-details-marker { display: none; }
.scout-manual summary:hover { color: #18181b; }
.scout-manual pre { margin: 10px 0 0; padding: 12px 14px; border-radius: 12px; background: #0a0a0a; color: #e4e4e7;
  font: 12.5px/1.6 "JetBrains Mono", ui-monospace, Menlo, monospace; overflow-x: auto; white-space: pre; }
.scout-manual p { margin-top: 8px; line-height: 1.5; }

.scout-rows { max-width: 572px; margin: 40px auto 0; text-align: left; background: rgba(255, 255, 255, .75);
  border: 1px solid #ececee; border-radius: 16px; overflow: hidden; }
.scout-row { display: flex; gap: 14px; padding: 14px 18px; }
.scout-row + .scout-row { border-top: 1px solid #ececee; }
.scout-ico { flex: none; width: 30px; height: 30px; border-radius: 999px; background: #f4f4f5; display: grid; place-items: center; color: #52525b; }
.scout-row h3 { font-size: 14px; font-weight: 500; }
.scout-row p { font-size: 13px; color: #71717a; margin-top: 3px; line-height: 1.45; }
.scout-row code { font: 12px "JetBrains Mono", ui-monospace, monospace; }

.scout-fine { max-width: 560px; margin: 16px auto 0 !important; font-size: 12.5px; color: #71717a; line-height: 1.5; }
.scout-fine a, .scout-foot a, .scout-link { color: #3f3f46; text-decoration: underline; text-decoration-color: #d4d4d8; text-underline-offset: 3px; }
.scout-fine a:hover, .scout-foot a:hover, .scout-link:hover { text-decoration-color: #71717a; }

.scout-service { max-width: 572px; margin: 36px auto 0; text-align: left; border-radius: 16px; background: #fff;
  border: 1px solid #e4e4e7; padding: 18px 20px; display: flex; gap: 16px; align-items: center; }
.scout-service .scout-mini { width: 52px; height: 54px; flex: none; }
.scout-service h3 { font-size: 14.5px; font-weight: 600; }
.scout-service p { font-size: 13px; color: #71717a; margin-top: 3px; line-height: 1.45; }
.scout-pill { margin-left: auto; flex: none; font-size: 13px; font-weight: 500; color: #18181b; text-decoration: none;
  border: 1px solid #d4d4d8; border-radius: 999px; padding: 9px 14px; background: #fafafa; white-space: nowrap; }
.scout-pill:hover { background: #f4f4f5; }

.scout-foot { margin-top: 52px !important; font-size: 13px; color: #71717a; }
.scout-foot-nav { margin-top: 10px !important; font-size: 12px; color: #a1a1aa; display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.scout-foot-nav a { color: #a1a1aa; text-decoration: none; }
.scout-foot-nav a:hover { color: #52525b; }

/* /service */
.scout-offers { max-width: 572px; margin: 32px auto 0; display: grid; gap: 12px; grid-template-columns: 1fr 1fr; text-align: left; }
.scout-offer { background: #fff; border: 1px solid #e4e4e7; border-radius: 16px; padding: 18px; }
.scout-offer h3 { font-size: 14.5px; font-weight: 600; }
.scout-offer .scout-price { color: #18181b; font-size: 22px; font-weight: 700; letter-spacing: -0.02em; margin-top: 6px; }
.scout-offer .scout-price span { font-size: 13px; font-weight: 500; color: #71717a; }
.scout-offer p { font-size: 13px; color: #71717a; margin-top: 8px; line-height: 1.5; }
.scout-form { max-width: 572px; margin: 28px auto 0; text-align: left; background: #fff; border: 1px solid #e4e4e7; border-radius: 16px; padding: 20px; display: grid; gap: 14px; }
.scout-form label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; }
.scout-form label span { color: #a1a1aa; font-weight: 400; }
.scout-form input:not([type=submit]), .scout-form textarea { width: 100%; font: 14px/1.45 Inter, sans-serif; color: #18181b; background: #fafafa;
  border: 1px solid #d4d4d8; border-radius: 10px; padding: 10px 12px; }
.scout-form input:not([type=submit]):focus, .scout-form textarea:focus { outline: 2px solid #93c5fd; border-color: #60a5fa; background: #fff; }
.scout-form .scout-submit { justify-self: start; width: auto; background: #0a0a0a; color: #fff; border: 0; border-radius: 999px; padding: 12px 22px; font: 500 14px Inter, sans-serif; }
.scout-form .scout-submit:hover { background: #27272a; }
.scout-errors { font-size: 13px; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 10px 12px; }
.scout-site .scout-sent { max-width: 572px; margin: 28px auto 0; background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; border-radius: 16px; padding: 16px 20px; font-size: 14px; line-height: 1.5; }
.scout-back { display: inline-block; margin-bottom: 8px; font-size: 13px; color: #71717a; text-decoration: none; }
.scout-back:hover { color: #18181b; }

@media (max-width: 600px) {
  .scout-site { padding: 16px 10px; }
  .scout-card { padding: 28px 16px 32px; border-radius: 22px; }
  .scout-cta code { font-size: 12.5px; }
  .scout-service { flex-wrap: wrap; }
  .scout-service > div { flex: 1 1 200px; }
  .scout-pill { margin-left: 68px; }
  .scout-bubble { left: 158px; top: 40px; }
  .scout-offers { grid-template-columns: 1fr; }
}

/* Scout, the mascot (the scout-* class prefix dates from when the skill shared his name) */
.scout-bot .bob { animation: scout-bob 3.2s ease-in-out infinite; transform-origin: 84px 90px; }
.scout-bot .shadow { animation: scout-shadow 3.2s ease-in-out infinite; transform-origin: 84px 162px; }
.scout-bot .eyes { animation: scout-blink 5s infinite; transform-origin: 70px 72px; }
.scout-bot .look { animation: scout-look 7s ease-in-out infinite; }
.scout-bot .glint { animation: scout-glint 4.5s ease-in-out infinite; }
.scout-bot .ping { animation: scout-ping 2.4s ease-out infinite; transform-origin: 122px 22px; }
.scout-bot .bulb { animation: scout-bulb 2.4s ease-in-out infinite; }
@keyframes scout-bob { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-7px) rotate(2deg); } }
@keyframes scout-shadow { 0%, 100% { transform: scaleX(1); opacity: .30; } 50% { transform: scaleX(.8); opacity: .18; } }
@keyframes scout-blink { 0%, 44%, 48%, 100% { transform: scaleY(1); } 46% { transform: scaleY(.08); } }
@keyframes scout-look { 0%, 30% { transform: translateX(0); } 38%, 58% { transform: translateX(5px); } 66%, 100% { transform: translateX(0); } }
@keyframes scout-glint { 0%, 60% { transform: translateX(-60px); opacity: 0; } 70% { opacity: .9; } 85%, 100% { transform: translateX(60px); opacity: 0; } }
@keyframes scout-ping { 0% { transform: scale(.6); opacity: .7; } 100% { transform: scale(2.4); opacity: 0; } }
@keyframes scout-bubble { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
@keyframes scout-bulb { 0%, 100% { fill: #f472b6; } 50% { fill: #fb7185; } }
@media (prefers-reduced-motion: reduce) { .scout-bot *, .scout-bubble { animation: none !important; } }

/* Static-site additions: hidden honeypot field and the [hidden] error slot. */
.scout-site .scout-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.scout-site [hidden] { display: none !important; }
