/* ============================================================
   cybertool.fr — custom layer (loaded LAST, overrides Techguru)
   Reuses Techguru fonts/tokens; adds a clean, JS-free chrome.
   ============================================================ */

*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --ct-navy: #0a1f33;
  --ct-navy-2: #0f2942;
  --ct-ink: #17222e;
  --ct-muted: #5b6b7a;
  --ct-line: #e6ebf1;
  --ct-bg-soft: #f5f8fb;
  /* Hub = teal accent ; Freelance = blue accent (2 clusters, 1 brand) */
  --ct-teal: #12b39a;
  --ct-teal-d: #0e9a85;
  --ct-blue: #2d6cdf;
  --ct-blue-d: #1f56bd;
  --ct-accent: var(--ct-teal);
  --ct-radius: 14px;
  --ct-shadow: 0 8px 30px rgba(10, 31, 51, 0.08);
  --ct-shadow-sm: 0 4px 16px rgba(10, 31, 51, 0.06);
  --ct-font: "Space Grotesk", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

/* ---------- Safety net: never let template JS-reveal classes hide content ---------- */
.wow { visibility: visible !important; animation: none !important; }
[data-aos] { opacity: 1 !important; transform: none !important; }
.title-animation, .sec-title-animation, .sec-title-animation * { opacity: 1 !important; }
.custom-cursor__cursor, .custom-cursor__cursor-two, .preloader { display: none !important; }

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--ct-font);
  color: var(--ct-ink);
  margin: 0;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
.ct-main { display: block; min-height: 50vh; }
.ct-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ---------- Buttons ---------- */
.ct-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 26px; border-radius: 999px;
  font-weight: 600; font-size: 15px; line-height: 1; cursor: pointer;
  border: 1px solid transparent; transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.ct-btn:hover { transform: translateY(-2px); }
.ct-btn--teal { background: var(--ct-teal); color: #fff; }
.ct-btn--teal:hover { background: var(--ct-teal-d); color: #fff; }
.ct-btn--blue { background: var(--ct-blue); color: #fff; }
.ct-btn--blue:hover { background: var(--ct-blue-d); color: #fff; }
.ct-btn--ghost { background: transparent; color: var(--ct-navy); border-color: var(--ct-line); }
.ct-btn--ghost:hover { border-color: var(--ct-navy); color: var(--ct-navy); }
.ct-btn--light { background: #fff; color: var(--ct-navy); }

/* ---------- Header ---------- */
.ct-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--ct-line);
  transition: box-shadow .2s ease;
}
.ct-header.is-stuck { box-shadow: var(--ct-shadow-sm); }
.ct-header__inner { display: flex; align-items: center; justify-content: space-between; height: 74px; }
.ct-logo { display: inline-flex; align-items: baseline; gap: 2px; font-weight: 700; font-size: 22px; letter-spacing: -0.02em; color: var(--ct-navy); }
.ct-logo b { font-weight: 700; }
.ct-logo span { color: var(--ct-teal); }
.ct-logo .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--ct-teal); display: inline-block; margin-right: 8px; }

.ct-nav { display: flex; align-items: center; gap: 4px; }
.ct-nav__list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ct-nav__item { position: relative; }
.ct-nav__link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 14px; border-radius: 10px; font-weight: 500; font-size: 15px; color: var(--ct-ink);
}
.ct-nav__link:hover { background: var(--ct-bg-soft); color: var(--ct-navy); }
.ct-nav__caret { font-size: 10px; opacity: .6; }
.ct-nav__dropdown {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 268px;
  background: #fff; border: 1px solid var(--ct-line); border-radius: 12px; box-shadow: var(--ct-shadow);
  padding: 8px; opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: all .16s ease; list-style: none; margin: 0;
}
.ct-nav__item:hover .ct-nav__dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.ct-nav__dropdown a { display: block; padding: 10px 12px; border-radius: 8px; font-size: 14.5px; color: var(--ct-ink); }
.ct-nav__dropdown a:hover { background: var(--ct-bg-soft); color: var(--ct-teal-d); }
.ct-header__cta { display: flex; align-items: center; gap: 10px; }

.ct-burger { display: none; background: none; border: 0; padding: 8px; cursor: pointer; color: var(--ct-navy); font-size: 22px; }

/* Mobile drawer */
.ct-drawer { display: none; }
@media (max-width: 991px) {
  .ct-nav, .ct-header__cta .ct-btn { display: none; }
  .ct-burger { display: inline-flex; }
  .ct-drawer {
    display: block; position: fixed; inset: 0 0 0 auto; width: min(88vw, 360px);
    background: #fff; box-shadow: var(--ct-shadow); z-index: 1100;
    transform: translateX(100%); transition: transform .25s ease; padding: 22px; overflow-y: auto;
  }
  .ct-drawer.is-open { transform: translateX(0); }
  .ct-drawer__overlay { position: fixed; inset: 0; background: rgba(10, 31, 51, .45); z-index: 1050; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
  .ct-drawer__overlay.is-open { opacity: 1; pointer-events: auto; }
  .ct-drawer__close { position: absolute; top: 16px; right: 16px; background: none; border: 0; font-size: 22px; cursor: pointer; }
  .ct-drawer__list { list-style: none; margin: 24px 0 0; padding: 0; }
  .ct-drawer__list > li { border-bottom: 1px solid var(--ct-line); }
  .ct-drawer__list a { display: block; padding: 13px 4px; font-weight: 500; }
  .ct-drawer__sub { list-style: none; margin: 0 0 8px; padding: 0 0 0 14px; }
  .ct-drawer__sub a { padding: 9px 4px; font-size: 14px; color: var(--ct-muted); }
}

/* ---------- Section scaffolding ---------- */
.ct-section { padding: 84px 0; }
.ct-section--soft { background: var(--ct-bg-soft); }
.ct-section--navy { background: var(--ct-navy); color: #dfe8f1; }
.ct-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ct-teal-d); margin-bottom: 14px; }
.ct-eyebrow--blue { color: var(--ct-blue); }
.ct-title { font-size: clamp(28px, 4vw, 42px); line-height: 1.1; letter-spacing: -0.02em; color: var(--ct-navy); margin: 0 0 16px; font-weight: 700; }
.ct-section--navy .ct-title { color: #fff; }
.ct-lead { font-size: 18px; color: var(--ct-muted); max-width: 640px; margin: 0 0 32px; }
.ct-section--navy .ct-lead { color: #a9bccd; }

/* ---------- Hero ---------- */
.ct-hero { background: linear-gradient(180deg, #fff 0%, var(--ct-bg-soft) 100%); padding: 72px 0 64px; border-bottom: 1px solid var(--ct-line); }
.ct-hero__badge { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--ct-line); border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 500; color: var(--ct-muted); margin-bottom: 20px; }
.ct-hero h1 { font-size: clamp(34px, 5.2vw, 58px); line-height: 1.05; letter-spacing: -0.03em; color: var(--ct-navy); margin: 0 0 18px; font-weight: 700; }
.ct-hero p { font-size: 19px; color: var(--ct-muted); max-width: 620px; margin: 0 0 30px; }
.ct-hero__paths { display: flex; flex-wrap: wrap; gap: 14px; }

/* ---------- Audience split (two clusters, distinct CTAs) ---------- */
.ct-cards { display: grid; gap: 22px; }
.ct-cards--3 { grid-template-columns: repeat(3, 1fr); }
.ct-cards--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .ct-cards--3, .ct-cards--2 { grid-template-columns: 1fr; } }

.ct-card { background: #fff; border: 1px solid var(--ct-line); border-radius: var(--ct-radius); padding: 26px; box-shadow: var(--ct-shadow-sm); transition: transform .15s ease, box-shadow .15s ease; height: 100%; }
.ct-card:hover { transform: translateY(-4px); box-shadow: var(--ct-shadow); }
.ct-card h3 { font-size: 20px; color: var(--ct-navy); margin: 0 0 10px; font-weight: 700; }
.ct-card p { color: var(--ct-muted); font-size: 15px; margin: 0 0 16px; }
.ct-card__link { font-weight: 600; color: var(--ct-teal-d); display: inline-flex; align-items: center; gap: 6px; }
.ct-card--blue .ct-card__link { color: var(--ct-blue); }

/* Reform card status badges */
.ct-badge { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; margin-bottom: 14px; }
.ct-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ct-badge--en-vigueur { color: #1f9d57; background: #e7f6ee; }
.ct-badge--a-venir { color: #b7791f; background: #fbf1dd; }
.ct-badge--en-debat { color: #6b46c1; background: #efeafc; }

/* Two big audience panels on the home page */
.ct-audience { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 900px) { .ct-audience { grid-template-columns: 1fr; } }
.ct-panel { border-radius: 18px; padding: 40px; border: 1px solid var(--ct-line); }
.ct-panel--hub { background: linear-gradient(160deg, #f0fbf8, #ffffff); }
.ct-panel--pro { background: linear-gradient(160deg, #eef3fd, #ffffff); }
.ct-panel h2 { font-size: 26px; color: var(--ct-navy); margin: 12px 0 12px; }
.ct-panel p { color: var(--ct-muted); margin: 0 0 24px; }

/* ---------- aiomi strip ---------- */
.ct-aiomi { background: var(--ct-navy); color: #fff; border-radius: 18px; padding: 34px 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ct-aiomi h3 { margin: 0 0 6px; font-size: 22px; color: #fff; }
.ct-aiomi p { margin: 0; color: #9fb4c7; max-width: 560px; }

/* ---------- Footer ---------- */
.ct-footer { background: var(--ct-navy); color: #b8c8d6; padding: 64px 0 28px; }
.ct-footer a { color: #b8c8d6; }
.ct-footer a:hover { color: #fff; }
.ct-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
@media (max-width: 900px) { .ct-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 560px) { .ct-footer__grid { grid-template-columns: 1fr; } }
.ct-footer h4 { color: #fff; font-size: 15px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 16px; }
.ct-footer ul { list-style: none; margin: 0; padding: 0; }
.ct-footer li { margin-bottom: 10px; font-size: 14.5px; }
.ct-footer__brand p { color: #8ea3b6; font-size: 14.5px; line-height: 1.6; }
.ct-footer__cluster-label { font-size: 11px; color: var(--ct-teal); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; }
.ct-footer__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13.5px; color: #7f95a8; }
.ct-footer__social { display: flex; gap: 10px; }
.ct-footer__social a { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.ct-footer__social a:hover { background: var(--ct-teal); border-color: var(--ct-teal); }
.ct-footer__social svg { width: 18px; height: 18px; }

/* utility */
.ct-mt-0 { margin-top: 0; }
.ct-center { text-align: center; }
.ct-max { max-width: 720px; margin-left: auto; margin-right: auto; }

/* ---------- Inner page header ---------- */
.ct-pagehead { background: linear-gradient(160deg, var(--ct-navy), var(--ct-navy-2)); color: #fff; padding: 54px 0 48px; }
.ct-pagehead--pro { background: linear-gradient(160deg, #10233b, #14345c); }
.ct-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13.5px; color: #9fb4c7; margin-bottom: 18px; }
.ct-breadcrumb a:hover { color: #fff; }
.ct-breadcrumb .sep { opacity: .5; }
.ct-breadcrumb .current { color: #cfe0ee; }
.ct-pagehead h1 { font-size: clamp(28px, 4.4vw, 44px); line-height: 1.08; letter-spacing: -0.02em; margin: 0 0 14px; color: #fff; }
.ct-pagehead p { color: #a9bccd; font-size: 18px; max-width: 680px; margin: 0; }
.ct-pagehead__meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 20px; }
.ct-updated { font-size: 13px; color: #9fb4c7; }

/* ---------- Article / prose ---------- */
.ct-article { padding: 56px 0 72px; }
.ct-prose { max-width: 760px; }
.ct-prose h2 { font-size: 26px; color: var(--ct-navy); margin: 40px 0 14px; letter-spacing: -0.01em; }
.ct-prose h3 { font-size: 20px; color: var(--ct-navy); margin: 26px 0 10px; }
.ct-prose p, .ct-prose li { color: #37474f; font-size: 16.5px; line-height: 1.7; }
.ct-prose ul { padding-left: 20px; }
.ct-prose a { color: var(--ct-blue); text-decoration: underline; text-underline-offset: 3px; }

.ct-answer { background: var(--ct-bg-soft); border-left: 4px solid var(--ct-teal); border-radius: 10px; padding: 20px 22px; margin: 0 0 28px; }
.ct-answer strong { color: var(--ct-navy); }

.ct-keyfacts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 8px 0 32px; }
@media (max-width: 700px) { .ct-keyfacts { grid-template-columns: 1fr; } }
.ct-keyfact { border: 1px solid var(--ct-line); border-radius: 12px; padding: 16px 18px; }
.ct-keyfact span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--ct-muted); margin-bottom: 6px; }
.ct-keyfact strong { color: var(--ct-navy); font-size: 16px; }

.ct-tool { border: 2px dashed var(--ct-line); border-radius: 14px; padding: 28px; text-align: center; background: #fff; margin: 28px 0; }
.ct-tool__tag { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--ct-teal-d); font-weight: 600; }
.ct-tool h3 { margin: 8px 0 6px; color: var(--ct-navy); }
.ct-tool p { color: var(--ct-muted); margin: 0; }

.ct-faq { margin: 12px 0 0; }
.ct-faq details { border: 1px solid var(--ct-line); border-radius: 12px; padding: 4px 18px; margin-bottom: 12px; }
.ct-faq summary { cursor: pointer; font-weight: 600; color: var(--ct-navy); padding: 14px 0; list-style: none; }
.ct-faq summary::-webkit-details-marker { display: none; }
.ct-faq details[open] summary { border-bottom: 1px solid var(--ct-line); }
.ct-faq details p { color: #37474f; padding: 12px 0; margin: 0; }

.ct-sources { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--ct-line); font-size: 14px; color: var(--ct-muted); }
.ct-sources h3 { font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: var(--ct-muted); margin: 0 0 8px; }

.ct-related { margin-top: 48px; }
.ct-related h3 { font-size: 15px; text-transform: uppercase; letter-spacing: .06em; color: var(--ct-muted); margin-bottom: 14px; }
.ct-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 700px) { .ct-related__grid { grid-template-columns: 1fr; } }
.ct-related a { display: block; border: 1px solid var(--ct-line); border-radius: 12px; padding: 16px; font-weight: 600; color: var(--ct-navy); }
.ct-related a:hover { border-color: var(--ct-teal); }

.ct-todo { background: #fff8e6; border: 1px solid #f3e2b3; color: #8a6d1f; border-radius: 10px; padding: 10px 14px; font-size: 13.5px; margin: 0 0 22px; }

/* ---------- Contact form ---------- */
.ct-form { display: grid; gap: 18px; }
.ct-field { display: grid; gap: 7px; }
.ct-field label { font-weight: 600; font-size: 14px; color: var(--ct-navy); }
.ct-field input, .ct-field select, .ct-field textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--ct-line); border-radius: 10px; font: inherit; color: var(--ct-ink); background: #fff; }
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus { outline: none; border-color: var(--ct-blue); box-shadow: 0 0 0 3px rgba(45, 108, 223, .15); }
.ct-form button { justify-self: start; }
.ct-form__note { font-size: 13px; color: var(--ct-muted); margin: 0; }

/* ---------- Checklist tool ---------- */
.ct-check { border: 1px solid var(--ct-line); border-radius: 16px; padding: 28px; background: #fff; box-shadow: var(--ct-shadow-sm); margin: 28px 0; }
.ct-check__head { margin-bottom: 20px; }
.ct-check__head h3 { margin: 8px 0 6px; color: var(--ct-navy); }
.ct-check__head p { color: var(--ct-muted); margin: 0; font-size: 14.5px; }
.ct-check__q { border: 0; padding: 0; margin: 0 0 20px; }
.ct-check__q legend { font-weight: 600; color: var(--ct-navy); font-size: 15.5px; margin-bottom: 10px; padding: 0; }
.ct-check__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.ct-check__opt { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--ct-line); border-radius: 10px; padding: 10px 14px; cursor: pointer; font-size: 14.5px; transition: all .12s ease; }
.ct-check__opt:hover { border-color: var(--ct-teal); }
.ct-check__opt.is-sel { border-color: var(--ct-teal); background: #eafaf6; color: var(--ct-navy); font-weight: 600; }
.ct-check__opt input { accent-color: var(--ct-teal); }
.ct-check button[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
.ct-check__score { text-align: center; padding: 24px; border-radius: 14px; margin-bottom: 22px; }
.ct-check__score--ok { background: #e7f6ee; }
.ct-check__score--mid { background: #fbf1dd; }
.ct-check__score--low { background: #fce8e8; }
.ct-check__score-num { font-size: 52px; font-weight: 700; color: var(--ct-navy); line-height: 1; }
.ct-check__score-num span { font-size: 20px; color: var(--ct-muted); font-weight: 500; }
.ct-check__score-label { font-weight: 600; margin: 6px 0 14px; color: var(--ct-navy); }
.ct-check__bar { height: 10px; background: rgba(10, 31, 51, .1); border-radius: 999px; overflow: hidden; max-width: 420px; margin: 0 auto; }
.ct-check__bar-fill { height: 100%; background: var(--ct-teal); border-radius: 999px; transition: width .4s ease; }
.ct-check__score--mid .ct-check__bar-fill { background: #d9a441; }
.ct-check__score--low .ct-check__bar-fill { background: #d9534f; }
.ct-check__recs { padding-left: 0; list-style: none; margin: 0 0 18px; }
.ct-check__recs li { position: relative; padding: 12px 12px 12px 42px; border: 1px solid var(--ct-line); border-radius: 10px; margin-bottom: 10px; color: #37474f; font-size: 15px; line-height: 1.55; }
.ct-check__recs li::before { content: "→"; position: absolute; left: 16px; top: 12px; color: var(--ct-teal-d); font-weight: 700; }

/* ============================================================
   ScamRadar product page (/scamradar/) — its own dark identity,
   still anchored in the cybertool brand (navy base).
   ============================================================ */
.sr { --sr-blue: #2f8fe8; --sr-red: #f2554b; --sr-green: #33c27f; }
.sr-hero { background: linear-gradient(165deg, #0b1a2b 0%, #12293f 100%); color: #fff; padding: 76px 0 68px; }
.sr-hero__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .sr-hero__inner { grid-template-columns: 1fr; gap: 36px; } }
.sr-logo { display: inline-flex; align-items: center; gap: 10px; font-size: 30px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 18px; }
.sr-logo span { color: var(--sr-blue); }
.sr-hero h1 { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 16px; color: #fff; }
.sr-hero p.sr-lead { font-size: 18.5px; color: #a9c0d4; margin: 0 0 26px; max-width: 34em; }
.sr-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.sr-chip { display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 7px 14px; font-size: 13.5px; color: #cfe0ee; }
.sr-hero__shot { justify-self: center; }
.sr-hero__shot img { width: min(240px, 62vw); border-radius: 22px; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 24px 60px rgba(0,0,0,.45); display: block; }

.sr-cta { display: inline-flex; align-items: center; gap: 10px; background: var(--sr-blue); color: #fff; font-weight: 600; padding: 15px 28px; border-radius: 12px; font-size: 16px; }
.sr-cta:hover { background: #2478cc; color: #fff; }
.sr-cta--soon { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: #cfe0ee; cursor: default; }
.sr-cta--soon:hover { background: rgba(255,255,255,.1); color: #cfe0ee; }

/* Screenshot gallery */
.sr-shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 26px 0 0; }
@media (max-width: 900px) { .sr-shots { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 560px) { .sr-shots { grid-template-columns: 1fr 1fr; gap: 12px; } }
.sr-shot figure { margin: 0; }
.sr-shot img { width: 100%; height: auto; border-radius: 16px; border: 1px solid var(--ct-line); background: #0b1a2b; display: block; }
.sr-shot figcaption { font-size: 13.5px; color: var(--ct-muted); margin-top: 10px; line-height: 1.45; }

/* Stats */
.sr-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 26px 0 8px; }
@media (max-width: 780px) { .sr-stats { grid-template-columns: repeat(2, 1fr); } }
.sr-stat { text-align: center; border: 1px solid var(--ct-line); border-radius: 14px; padding: 22px 14px; background: #fff; }
.sr-stat b { display: block; font-size: 30px; line-height: 1.05; color: var(--ct-navy); letter-spacing: -.02em; }
.sr-stat span { display: block; margin-top: 6px; font-size: 13.5px; color: var(--ct-muted); }

/* Caution box (honest limits) */
.sr-caution { border: 1px solid #f0d9a8; background: #fdf8ec; border-left: 4px solid #d9a441; border-radius: 12px; padding: 20px 22px; margin: 22px 0; }
.sr-caution p { margin: 0 0 10px; color: #6b5518; }
.sr-caution p:last-child { margin-bottom: 0; }

/* Privacy list */
.sr-privacy { list-style: none; padding: 0; margin: 18px 0 0; }
.sr-privacy li { position: relative; padding: 13px 14px 13px 44px; border: 1px solid var(--ct-line); border-radius: 12px; margin-bottom: 10px; font-size: 15.5px; color: #37474f; line-height: 1.55; background: #fff; }
.sr-privacy li::before { content: "✓"; position: absolute; left: 15px; top: 13px; color: #1f9d57; font-weight: 700; }

/* ---------- Age scanner ---------- */
.ct-scan__form { display: flex; gap: 10px; flex-wrap: wrap; }
.ct-scan__form input { flex: 1 1 260px; padding: 12px 14px; border: 1px solid var(--ct-line); border-radius: 10px; font: inherit; }
.ct-scan__form input:focus { outline: none; border-color: var(--ct-teal); box-shadow: 0 0 0 3px rgba(18, 179, 154, .15); }
.ct-scan__error { color: #b23131; background: #fce8e8; border: 1px solid #f3caca; border-radius: 10px; padding: 10px 14px; margin-top: 14px; }
.ct-scan__result { margin-top: 20px; }
.ct-scan__summary { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; font-weight: 600; font-size: 14px; }
.ct-scan__summary .pass { color: #1f9d57; }
.ct-scan__summary .warn { color: #b7791f; }
.ct-scan__summary .fail { color: #d9534f; }
.ct-scan__list { list-style: none; margin: 0; padding: 0; }
.ct-scan__row { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--ct-line); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.ct-scan__row p { margin: 2px 0 0; color: var(--ct-muted); font-size: 14px; }
.ct-scan__row strong { color: var(--ct-navy); font-size: 15px; }
.ct-scan__pill { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; color: #fff; }
.ct-scan__row--pass .ct-scan__pill { background: #1f9d57; }
.ct-scan__row--warn .ct-scan__pill { background: #d9a441; }
.ct-scan__row--fail .ct-scan__pill { background: #d9534f; }
.ct-scan__row--info .ct-scan__pill { background: #2d6cdf; }
