
/* ============================================================================
   SAFETY & ACCOUNT PROTECTION v3 — designer rebuild from Figma (Wireframe - 1)
   ============================================================================
   Source frames : Figma growreach-homepage-v9: "Wireframe - 1" (1440x7388, web)
                   + "Safety Page v2 — MOBILE 390px" (390x8703, mobile)
   Design system : growreach-dark tokens as the base + the designer's approved
                   palette from the frames (deeper canvas #07071c, purple-tint
                   card borders, lavender text ramps). All values below are a
                   scoped mirror — no invented hexes outside this block.

   Surface       : Decide/Learn — trust-first risk disclosure, dark premium.
   Motion        : v1 system kept — IO reveals, staggered grids, SVG draw-ins,
                   glow CTA (ONE), reduced-motion collapse, no-JS visible.
   Breakpoints   : desktop >=1024, tablet 640-1023, phone <640, micro <=380.
   ============================================================================ */

.page-safetyPage_page {
  /* ── Canvas — designer's deeper base, replaces v1's #10141c root ── */
  --s-bg: #07071c;
  --s-surface: #10141c;          /* hero/browser/alt canvases */
  --s-surface-1: #161a25;        /* browser chrome, panels */
  --s-surface-2: #1f2431;        /* legal block, callout panels */

  /* ── Foreground ramps (from frames) ─────────────────────────────── */
  --s-fg: #fafafa;
  --s-fg-title: #e1f4ff;         /* emphasized titles, nav CTA text */
  --s-fg-brand: #a6d3ff;         /* logo second word, brand blue */
  --s-nav: #a3afd3;              /* header nav links */
  --s-fg-2: #c3cada;
  --s-fg-2b: #c3cce8;            /* hero subtitle */
  --s-muted: #9ba3b5;
  --s-chevron: #8181ac;

  /* ── Borders ────────────────────────────────────────────────────── */
  --s-border: #242832;
  --s-border-card: #2a295b;      /* gradient cards (designer) */
  --s-border-callout: #393e4c;   /* honest-risk / rule callout */
  --s-border-soft: rgba(255, 255, 255, 0.16);
  --s-border-lav: rgba(181, 177, 255, 0.3); /* header pill */

  /* ── Accent (neon — ONE weighted moment per screen) ─────────────── */
  --s-accent: #18fb6f;
  --s-accent-hover: #45ff8d;

  /* ── Primary action (blue gradient carries CTAs + hero glow) ────── */
  --s-primary: #0257fa;
  --s-primary-dark: #191bc5;
  --s-primary-gradient: linear-gradient(137.92deg, rgb(2, 87, 250) 9.96%, rgb(25, 27, 197) 89.92%);
  --s-accent-blue: #5992ff;
  --s-accent-blue-light: #3c7fff;

  /* ── Header CTA pill (designer's approved gradient) ─────────────── */
  --s-header-cta: linear-gradient(139.56deg, rgb(121, 9, 226) 8.28%, rgb(52, 116, 219) 91.72%);

  /* ── Card surface (designer's gradient card) ─────────────────────── */
  --s-card-grad: linear-gradient(180deg, rgba(149, 143, 255, 0.2), transparent 40%);

  /* ── Status ─────────────────────────────────────────────────────── */
  --s-success: #18fb6f;
  --s-warn: #e8b84a;
  --s-danger: #cc2f32;
  --s-do-check: #5992ff;
  --s-dont-x: #cc2f32;

  /* ── Typography ─────────────────────────────────────────────────── */
  --s-font: 'Plus Jakarta Sans', system-ui, sans-serif;
  --s-mono: 'Cousine', ui-monospace, 'JetBrains Mono', monospace;

  /* ── Radii & glows ──────────────────────────────────────────────── */
  --s-radius-sm: 8px;
  --s-radius-md: 12px;
  --s-radius-lg: 16px;
  --s-radius-pill: 999px;
  --s-cta-glow: 0 0 20px rgba(2, 87, 250, 0.35);
  --s-card-glow: 0 0 0 1px rgba(2, 87, 250, 0.18), 0 16px 40px rgba(2, 87, 250, 0.14);
  --s-card-lift: 0 20px 44px rgba(2, 87, 250, 0.22);

  background: var(--s-bg);
  color: var(--s-fg);
  font-family: var(--s-font);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

/* ════════════════════════════════════════════════════════════════════════════
   BASE / CONTAINERS
   ========================================================================== */

.page-safetyPage_page * { box-sizing: border-box; }

.page-safetyPage_page .safetyPage_container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

.page-safetyPage_page .safetyPage_section {
  position: relative;
  padding: 96px 0;
}

.page-safetyPage_page .safetyPage_section__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 56px;
}

/* Eyebrow — the neon annotation, ONE accent moment per section */
.page-safetyPage_page .safetyPage_eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--s-radius-pill);
  background: rgba(255, 255, 255, 0.04);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--s-accent);
  margin-bottom: 16px;
}

.page-safetyPage_page .safetyPage_eyebrow__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.page-safetyPage_page .safetyPage_h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--s-fg);
}

.page-safetyPage_page .safetyPage_lead {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--s-fg-2);
  max-width: 720px;
}

/* ════════════════════════════════════════════════════════════════════════════
   HEADER — fixed, blurred, designer's lavender pill nav
   ========================================================================== */

.page-safetyPage_page .safetyPage_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(7, 7, 28, 0.7);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid transparent;
}

.page-safetyPage_page .safetyPage_header__inner {
  width: 100%;
  max-width: 1280px;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page-safetyPage_page .safetyPage_logo {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--s-fg-title);
  text-decoration: none;
  white-space: nowrap;
}

.page-safetyPage_page .safetyPage_logo em {
  font-style: normal;
  color: var(--s-fg-brand);
}

.page-safetyPage_page .safetyPage_nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.page-safetyPage_page .safetyPage_nav a {
  font-size: 15px;
  letter-spacing: -0.09px;
  color: var(--s-nav);
  text-decoration: none;
  transition: color 0.2s ease-out;
}

.page-safetyPage_page .safetyPage_nav a:hover { color: var(--s-fg-title); }

.page-safetyPage_page .safetyPage_header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-safetyPage_page .safetyPage_header__login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 21px;
  border: 1px solid var(--s-border-lav);
  border-radius: var(--s-radius-sm);
  background: linear-gradient(176.8deg, rgba(181, 177, 255, 0.1) 4.8%, rgba(181, 177, 255, 0) 55.42%, rgba(181, 177, 255, 0) 95.2%);
  font-size: 14px;
  font-weight: 500;
  color: var(--s-fg-title);
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 0.2s ease-out;
}

.page-safetyPage_page .safetyPage_header__login:hover { border-color: rgba(181, 177, 255, 0.55); }

.page-safetyPage_page .safetyPage_header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 20px;
  border-radius: var(--s-radius-sm);
  background: var(--s-header-cta);
  font-size: 14px;
  font-weight: 500;
  color: var(--s-fg-title);
  text-decoration: none;
  white-space: nowrap;
  transition: filter 0.2s ease-out;
}

.page-safetyPage_page .safetyPage_header__cta:hover { filter: brightness(1.12); }

/* ════════════════════════════════════════════════════════════════════════════
   HERO — two-up: type-led copy + designer's 3D hero art, radial glows
   ========================================================================== */

.page-safetyPage_page .safetyPage_hero {
  position: relative;
  padding: 176px 0 96px;
  overflow: hidden;
}

/* Designer's atmospheric radial glows — blue wash + white sheen */
.page-safetyPage_page .safetyPage_hero::before,
.page-safetyPage_page .safetyPage_hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}

.page-safetyPage_page .safetyPage_hero::before {
  width: 1100px;
  height: 700px;
  top: -167px;
  left: 170px;
  background: radial-gradient(closest-side, rgba(47, 124, 246, 0.16), rgba(47, 124, 246, 0));
}

.page-safetyPage_page .safetyPage_hero::after {
  width: 900px;
  height: 560px;
  top: 244px;
  left: 270px;
  background: radial-gradient(closest-side at 50% 30%, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.05) 45%, rgba(255, 255, 255, 0) 60%, rgba(47, 95, 230, 0) 100%);
}

.page-safetyPage_page .safetyPage_hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}

.page-safetyPage_page .safetyPage_hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 640px;
}

.page-safetyPage_page .safetyPage_hero__title {
  font-size: 52px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -1px;
  color: var(--s-fg);
  margin-top: 4px;
}

.page-safetyPage_page .safetyPage_hero__subtitle {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.7;
  color: var(--s-fg-2b);
}

.page-safetyPage_page .safetyPage_hero__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 36px;
}

.page-safetyPage_page .safetyPage_hero__disclaimer {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--s-muted);
  max-width: 640px;
}

.page-safetyPage_page .safetyPage_hero__art {
  position: relative;
  width: 100%;
  max-width: 702px;
  aspect-ratio: 702 / 380;
  justify-self: end;
}

/* ── Buttons — homepage-consistent primary fill. ──
   The theme loads homepage_style.css (`.btn` shell) but NOT v24-page.css
   (where `.btn-primary-blue` lives — v24/v25 homepage only). Scope the exact
   homepage gradient here so the CTA is a filled blue button like the
   homepage, with the approved v4 blue glow on the page's primary CTAs. */
.page-safetyPage_page .btn-primary-blue {
  background-image: linear-gradient(102.04deg, rgb(2, 87, 250) 2.87%, rgb(25, 27, 197) 96.99%);
  color: #fafafa;
}

.page-safetyPage_page .btn-primary-blue:hover {
  background-image: linear-gradient(102.04deg, rgb(2, 87, 250) 2.87%, rgb(25, 27, 197) 96.99%);
  box-shadow: 0 0 0 5px rgba(166, 211, 255, 0.1);
  transform: translateY(-2px);
}

/* Approved v4 glow — hero + final CTA primary buttons only */
.page-safetyPage_page .safetyPage_hero__actions .btn-primary-blue,
.page-safetyPage_page .safetyPage_final__copy .btn-primary-blue {
  box-shadow: var(--s-cta-glow);
}

.page-safetyPage_page .safetyPage_hero__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ════════════════════════════════════════════════════════════════════════════
   GRADIENT CARDS (designer) — lift, purple-tint top, no left-border rails
   ========================================================================== */

.page-safetyPage_page .safetyPage_card {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--s-border-card);
  border-radius: var(--s-radius-md);
  background: var(--s-card-grad), var(--s-surface);
  padding: 24px;
  overflow: hidden;
}

.page-safetyPage_page .safetyPage_card:hover {
  border-color: rgba(255, 255, 255, 0.22);
}

.page-safetyPage_page .safetyPage_card--lift {
  transition: transform 0.2s ease-out, border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}

.page-safetyPage_page .safetyPage_card__icon-wrap {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--s-radius-md);
  background: rgba(255, 255, 255, 0.12);
  margin-bottom: 16px;
}

.page-safetyPage_page .safetyPage_card__icon { color: var(--s-fg); }

.page-safetyPage_page .safetyPage_card__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--s-fg);
  position: relative;
  z-index: 1;
}

.page-safetyPage_page .safetyPage_card__desc {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--s-muted);
}

/* ════════════════════════════════════════════════════════════════════════════
   SECTION 2 — WHY SAFETY MATTERS (3 risk cards)
   ========================================================================== */

.page-safetyPage_page .safetyPage_risk-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.page-safetyPage_page .safetyPage_context-line {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--s-border);
  max-width: 760px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--s-muted);
}

/* ════════════════════════════════════════════════════════════════════════════
   SECTION 3 — BROWSER-CHROME COMMENT SHOT + VERTICAL PILLARS + CALL-OUT
   ========================================================================== */

.page-safetyPage_page .safetyPage_s3-stack {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

/* Browser-chrome frame — dots + mono URL bar, designer palette */
.page-safetyPage_page .safetyPage_browser-shot {
  margin: 0;
  width: 100%;
  max-width: 640px;
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-md);
  overflow: hidden;
  background: var(--s-surface-2);
  box-shadow: 0 24px 70px rgba(2, 87, 250, 0.3);
}

.page-safetyPage_page .safetyPage_browser-shot__chrome {
  display: flex;
  align-items: center;
  gap: 7.5px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--s-border);
  background: var(--s-surface-1);
}

.page-safetyPage_page .safetyPage_browser-shot__dot {
  width: 9.4px;
  height: 9.4px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.page-safetyPage_page .safetyPage_browser-shot__dot--r { background: var(--s-danger); }
.page-safetyPage_page .safetyPage_browser-shot__dot--y { background: var(--s-warn); }
.page-safetyPage_page .safetyPage_browser-shot__dot--g { background: var(--s-success); }

.page-safetyPage_page .safetyPage_browser-shot__url {
  margin-left: 8px;
  flex: 1 1 auto;
  max-width: 260px;
  padding: 4px 12px;
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-pill);
  background: var(--s-surface-2);
  font-family: var(--s-mono);
  font-size: 10.4px;
  letter-spacing: 0.02em;
  color: var(--s-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-safetyPage_page .safetyPage_browser-shot__screen {
  background: var(--s-surface);
  line-height: 0;
}

.page-safetyPage_page .safetyPage_browser-shot__screen img {
  display: block;
  width: 100%;
  height: auto;
}

/* Pillars — 3 gradient cards in a row; ghost numerals behind titles */
.page-safetyPage_page .safetyPage_pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
}

.page-safetyPage_page .safetyPage_pillar__ghost {
  position: absolute;
  top: -6px;
  right: 14px;
  font-size: 60px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -2px;
  color: rgba(225, 244, 255, 0.22);
  pointer-events: none;
  user-select: none;
}

.page-safetyPage_page .safetyPage_pillar__title {
  padding-top: 16px;
  font-size: 17px;
  color: var(--s-fg-title);
}

.page-safetyPage_page .safetyPage_pillar__bullets {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  padding: 0;
}

.page-safetyPage_page .safetyPage_pillar__bullets li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--s-muted);
}

.page-safetyPage_page .safetyPage_pillar__check {
  color: var(--s-do-check);
  flex-shrink: 0;
  margin-top: 3px;
}

/* § call-out — "What LinkedIn's rules actually ban" */
.page-safetyPage_page .safetyPage_callout {
  width: 100%;
  max-width: 860px;
  background: var(--s-surface-2);
  border: 1px solid var(--s-border-callout);
  border-radius: var(--s-radius-lg);
  padding: 32px;
}

.page-safetyPage_page .safetyPage_callout__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--s-fg);
  margin-bottom: 14px;
}

.page-safetyPage_page .safetyPage_callout__body {
  font-size: 14px;
  line-height: 1.7;
  color: var(--s-fg-2);
}

.page-safetyPage_page .safetyPage_callout__body p + p { margin-top: 14px; }

.page-safetyPage_page .safetyPage_callout__body .safetyPage_clause {
  color: var(--s-fg);
  font-weight: 500;
  padding: 14px 0;
  border-top: 1px solid var(--s-border);
  border-bottom: 1px solid var(--s-border);
}

/* ════════════════════════════════════════════════════════════════════════════
   SECTION 4 — DASHBOARD IMAGE + DOES / DOESN'T + HONEST-RISK
   ========================================================================== */

.page-safetyPage_page .safetyPage_dash-img {
  width: 100%;
  max-width: 920px;
  margin: 0 auto 40px;
  border-radius: var(--s-radius-lg);
  overflow: hidden;
  line-height: 0;
}

.page-safetyPage_page .safetyPage_dash-img img {
  display: block;
  width: 100%;
  height: auto;
}

.page-safetyPage_page .safetyPage_do-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 40px;
}

.page-safetyPage_page .safetyPage_do-col {
  gap: 16px;
}

.page-safetyPage_page .safetyPage_do-col__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--s-fg);
  margin-bottom: 4px;
}

.page-safetyPage_page .safetyPage_do-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.page-safetyPage_page .safetyPage_do-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--s-fg-2);
}

.page-safetyPage_page .safetyPage_do-list__icon {
  flex-shrink: 0;
  margin-top: 4px;
}

.page-safetyPage_page .safetyPage_do-list__icon { color: var(--s-do-check); }
.page-safetyPage_page .safetyPage_do-list__icon--x { color: var(--s-dont-x); }

/* honest-risk block — the legal core */
.page-safetyPage_page .safetyPage_honest {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
  border: 1px solid var(--s-border-callout);
  border-radius: var(--s-radius-lg);
  background: var(--s-surface-2);
  padding: 32px 32px 32px 48px;
}

.page-safetyPage_page .safetyPage_honest::before {
  content: '';
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 0;
  width: 2px;
  background: var(--s-accent);
  box-shadow: 0 0 12px rgba(24, 251, 111, 0.4);
}

.page-safetyPage_page .safetyPage_honest p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--s-fg);
  font-weight: 500;
}

/* ════════════════════════════════════════════════════════════════════════════
   SECTION 5 — ACCOUNT READINESS (new designer section: image + 4 steps)
   ========================================================================== */

.page-safetyPage_page .safetyPage_readiness-img {
  width: 100%;
  max-width: 840px;
  margin: 0 auto 40px;
  border-radius: 20px;
  overflow: hidden;
  line-height: 0;
  box-shadow: 0 24px 70px rgba(2, 87, 250, 0.25);
}

.page-safetyPage_page .safetyPage_readiness-img img {
  display: block;
  width: 100%;
  height: auto;
}

.page-safetyPage_page .safetyPage_step-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.page-safetyPage_page .safetyPage_step-card {
  gap: 0;
}

.page-safetyPage_page .safetyPage_step-card .safetyPage_card__icon-wrap {
  margin-bottom: 18px;
}

.page-safetyPage_page .safetyPage_step-card .safetyPage_card__title {
  font-size: 16px;
  padding-top: 8px;
}

/* ════════════════════════════════════════════════════════════════════════════
   SECTION 6 — PERSONAS (mobile frame only; desktop frame omits this section)
   ========================================================================== */

.page-safetyPage_page .safetyPage_personas {
  display: none;
}

.page-safetyPage_page .safetyPage_persona-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 920px;
  margin: 0 auto;
}

.page-safetyPage_page .safetyPage_persona {
  align-items: center;
  text-align: center;
}

.page-safetyPage_page .safetyPage_persona__avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--s-border-card);
  margin-bottom: 16px;
}

.page-safetyPage_page .safetyPage_persona__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ════════════════════════════════════════════════════════════════════════════
   SECTION 7 — FAQ (details accordion, designer's 7 questions)
   ========================================================================== */

.page-safetyPage_page .safetyPage_faq {
  max-width: 700px;
  margin: 0 auto;
}

.page-safetyPage_page .safetyPage_faq__item {
  border-bottom: 1px solid var(--s-border);
}

.page-safetyPage_page .safetyPage_faq__item:first-child {
  border-top: 1px solid var(--s-border);
}

.page-safetyPage_page .safetyPage_faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 4px;
  cursor: pointer;
  list-style: none;
  font-size: 17px;
  font-weight: 600;
  color: var(--s-fg-title);
}

.page-safetyPage_page .safetyPage_faq__q::-webkit-details-marker { display: none; }

.page-safetyPage_page .safetyPage_faq__chevron {
  color: var(--s-chevron);
  flex-shrink: 0;
  transition: transform 0.25s ease-out;
}

.page-safetyPage_page .safetyPage_faq__item[open] .safetyPage_faq__chevron {
  transform: rotate(180deg);
}

.page-safetyPage_page .safetyPage_faq__a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease-out;
}

.page-safetyPage_page .safetyPage_faq__item[open] .safetyPage_faq__a {
  grid-template-rows: 1fr;
}

.page-safetyPage_page .safetyPage_faq__a-inner {
  overflow: hidden;
}

.page-safetyPage_page .safetyPage_faq__a-inner p {
  padding: 0 4px 20px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--s-fg-2);
}

/* ════════════════════════════════════════════════════════════════════════════
   SECTION 8 — FINAL CTA + LEGAL
   ========================================================================== */

.page-safetyPage_page .safetyPage_final {
  background: var(--s-bg);
  overflow: clip;
}

.page-safetyPage_page .safetyPage_final__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 60px 0 100px;
}

.page-safetyPage_page .safetyPage_final__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 640px;
}

.page-safetyPage_page .safetyPage_final__copy p {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--s-fg-2);
  padding-bottom: 24px;
}

.page-safetyPage_page .safetyPage_legal {
  width: 100%;
  max-width: 918px;
  background: var(--s-surface-2);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-lg);
  padding: 24px 28px;
}

.page-safetyPage_page .safetyPage_legal p {
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--s-fg-2);
}

.page-safetyPage_page .safetyPage_legal p + p { margin-top: 10px; }

/* ════════════════════════════════════════════════════════════════════════════
   MOTION — IO reveals, staggered grids, SVG draw-ins (v1 system kept)
   ========================================================================== */

.page-safetyPage_page .safetyPage_reveal {
  opacity: 1;
  transform: none;
  transition: opacity 0.5s ease-out, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.page-safetyPage_page.safetyPage_js .safetyPage_reveal:not(.is-visible) {
  opacity: 0;
  transform: translateY(18px);
}

.page-safetyPage_page [data-safetyPage-stagger] > * {
  opacity: 1;
  transform: none;
  transition: opacity 0.5s ease-out, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.page-safetyPage_page.safetyPage_js [data-safetyPage-stagger] > *:not(.is-visible) {
  opacity: 0;
  transform: translateY(16px);
}

.page-safetyPage_page .safetyPage_hero__in {
  opacity: 1;
  transform: none;
  transition: opacity 0.55s ease-out, transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.page-safetyPage_page.safetyPage_js .safetyPage_hero__in:not(.is-visible) {
  opacity: 0;
  transform: translateY(18px);
}

/* Draw-in icons — strokes animate once when revealed */
.page-safetyPage_page .safetyPage_draw path,
.page-safetyPage_page .safetyPage_draw circle {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  transition: stroke-dashoffset 0.6s ease-out 0.1s;
}

.page-safetyPage_page.safetyPage_js .safetyPage_draw.is-visible path,
.page-safetyPage_page.safetyPage_js .safetyPage_draw.is-visible circle {
  stroke-dashoffset: 0;
}

.page-safetyPage_page.safetyPage_js .safetyPage_draw:not(.is-visible) path,
.page-safetyPage_page.safetyPage_js .safetyPage_draw:not(.is-visible) circle {
  stroke-dashoffset: 60;
}

/* ════════════════════════════════════════════════════════════════════════════
   BREAKPOINTS
   ========================================================================== */

@media (max-width: 1023px) {

  .page-safetyPage_page .safetyPage_hero__grid {
    grid-template-columns: 1fr;
  }

  .page-safetyPage_page .safetyPage_hero__art {
    max-width: 560px;
    justify-self: center;
  }

  .page-safetyPage_page .safetyPage_hero__copy { max-width: 720px; }

  .page-safetyPage_page .safetyPage_hero__title { font-size: clamp(38px, 7vw, 48px); }

  .page-safetyPage_page .safetyPage_risk-grid,
  .page-safetyPage_page .safetyPage_step-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-safetyPage_page .safetyPage_pillar-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .page-safetyPage_page .safetyPage_header__inner { padding: 0 24px; }

  .page-safetyPage_page .safetyPage_nav { display: none; }

  .page-safetyPage_page .safetyPage_section { padding: 72px 0; }

  /* Tablet DOES — single column */
  .page-safetyPage_page .safetyPage_do-grid {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .page-safetyPage_page .safetyPage_callout,
  .page-safetyPage_page .safetyPage_honest {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 639px) {

  /* Mobile frame canvas — designer's mobile frame sits on #10141c */
  .page-safetyPage_page { background: #10141c; }

  .page-safetyPage_page .safetyPage_container { padding: 0 16px; }

  .page-safetyPage_page .safetyPage_section { padding: 48px 0; }

  .page-safetyPage_page .safetyPage_hero {
    padding: 64px 0 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .page-safetyPage_page .safetyPage_hero__copy {
    justify-content: center;
    text-align: left;
  }

  .page-safetyPage_page .safetyPage_hero__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .page-safetyPage_page .safetyPage_hero__title { font-size: 36px; }
  .page-safetyPage_page .safetyPage_hero__subtitle { font-size: 14px; }

  .page-safetyPage_page .safetyPage_eyebrow {
    font-size: 9.5px;
    letter-spacing: 2px;
    padding: 6px 10px;
  }

  .page-safetyPage_page .safetyPage_h2 { font-size: 24px; }
  .page-safetyPage_page .safetyPage_lead { font-size: 14px; }

  .page-safetyPage_page .safetyPage_hero__actions .btn, .page-safetyPage_page .safetyPage_final__copy .btn { width: 100%; }

  .page-safetyPage_page .safetyPage_risk-grid,
  .page-safetyPage_page .safetyPage_pillar-grid,
  .page-safetyPage_page .safetyPage_step-grid,
  .page-safetyPage_page .safetyPage_persona-grid {
    grid-template-columns: 1fr;
  }

  .page-safetyPage_page .safetyPage_pillar__ghost {
    top: -4px;
    right: 12px;
    font-size: 44px;
  }

  .page-safetyPage_page .safetyPage_section__head { margin-bottom: 28px; }

  .page-safetyPage_page .safetyPage_callout,
  .page-safetyPage_page .safetyPage_honest,
  .page-safetyPage_page .safetyPage_legal { padding: 24px; }

  .page-safetyPage_page .safetyPage_honest { padding-left: 36px; }

  .page-safetyPage_page .safetyPage_browser-shot__url { max-width: 160px; }

  /* Personas — the mobile frame keeps this section, desktop hides it */
  .page-safetyPage_page .safetyPage_personas { display: block; }
}

@media (max-width: 380px) {
  .page-safetyPage_page .safetyPage_hero__actions { gap: 12px; }
  .page-safetyPage_page .safetyPage_eyebrow { font-size: 8.5px; letter-spacing: 1.5px; }
  .page-safetyPage_page .safetyPage_pillar__ghost { font-size: 36px; }
}

/* ════════════════════════════════════════════════════════════════════════════
   HOVER-CAPABLE DEVICES — lift effects only where hover exists
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {
  .page-safetyPage_page .safetyPage_card--lift:hover {
    transform: translateY(-2px);
    border-color: rgba(2, 87, 250, 0.45);
    box-shadow: var(--s-card-glow), var(--s-card-lift);
  }

  .page-safetyPage_page .safetyPage_card--lift:hover .safetyPage_card__icon,
  .page-safetyPage_page .safetyPage_card--lift:hover .safetyPage_pillar__check {
    color: var(--s-accent-blue-light);
  }

  .page-safetyPage_page .safetyPage_do-col:hover .safetyPage_do-list__icon { color: var(--s-accent-blue-light); }
}

/* ════════════════════════════════════════════════════════════════════════════
   REDUCED MOTION — everything visible, no animation
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .page-safetyPage_page *,
  .page-safetyPage_page *::before,
  .page-safetyPage_page *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .page-safetyPage_page .safetyPage_reveal,
  .page-safetyPage_page [data-safetyPage-stagger] > *,
  .page-safetyPage_page .safetyPage_hero__in {
    opacity: 1 !important;
    transform: none !important;
  }

  .page-safetyPage_page .safetyPage_draw path,
  .page-safetyPage_page .safetyPage_draw circle {
    stroke-dashoffset: 0 !important;
  }

  .page-safetyPage_page .safetyPage_btn--glow::before {
    animation: none !important;
    opacity: 0.6;
  }

  .page-safetyPage_page .safetyPage_card--lift:hover,
  .page-safetyPage_page .safetyPage_btn:hover {
    transform: none;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   PRINT — the page is a risk-disclosure document; prints clean
   ========================================================================== */

@media print {
  .page-safetyPage_page {
    background: #ffffff;
    color: #1a1a1a;
  }

  .page-safetyPage_page .safetyPage_header,
  .page-safetyPage_page .safetyPage_hero::before,
  .page-safetyPage_page .safetyPage_hero::after,
  .page-safetyPage_page .safetyPage_btn--glow::before,
  .page-safetyPage_page .safetyPage_hero__art,
  .page-safetyPage_page .safetyPage_dash-img,
  .page-safetyPage_page .safetyPage_readiness-img,
  .page-safetyPage_page .safetyPage_browser-shot {
    display: none;
  }

  .page-safetyPage_page .safetyPage_reveal,
  .page-safetyPage_page [data-safetyPage-stagger] > *,
  .page-safetyPage_page .safetyPage_hero__in {
    opacity: 1 !important;
    transform: none !important;
  }

  .page-safetyPage_page .safetyPage_card,
  .page-safetyPage_page .safetyPage_callout,
  .page-safetyPage_page .safetyPage_honest,
  .page-safetyPage_page .safetyPage_legal {
    background: #ffffff;
    border-color: #d0d0d0;
    box-shadow: none;
  }

  .page-safetyPage_page .safetyPage_h2,
  .page-safetyPage_page .safetyPage_card__title,
  .page-safetyPage_page .safetyPage_honest p {
    color: #1a1a1a;
  }

  .page-safetyPage_page .safetyPage_lead,
  .page-safetyPage_page .safetyPage_card__desc,
  .page-safetyPage_page .safetyPage_do-list li,
  .page-safetyPage_page .safetyPage_faq__a-inner p,
  .page-safetyPage_page .safetyPage_legal p {
    color: #333333;
  }

  .page-safetyPage_page .btn {
    border: 1px solid #1a1a1a;
    background: #ffffff;
    color: #1a1a1a;
  }

  .page-safetyPage_page .safetyPage_honest::before {
    background: #1a1a1a;
    box-shadow: none;
  }

  .page-safetyPage_page .safetyPage_pillar__ghost { display: none; }

  .page-safetyPage_page .safetyPage_section__head,
  .page-safetyPage_page .safetyPage_card,
  .page-safetyPage_page .safetyPage_faq__item {
    break-inside: avoid;
  }
}
