:root { --page-width:1180px; --page-gutter:24px; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.safe-page { margin:0; overflow-x:clip; background:#030509; font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; }
.safe-content { position:relative; min-height:100vh; overflow-x:clip; }
.safe-content section { scroll-margin-top:108px; }
.safe-content .mechanism-section { padding-top:100px; }
.safe-content .mechanism-content { min-width:0; }
.safe-content .mechanism-headline { margin:0; }
.safe-content .animate-on-scroll { opacity:1; transform:none; }
.safe-page.enhanced .safe-content .animate-on-scroll:not(.visible) { opacity:0; transform:translateY(24px); }
.safe-content .faq-list.animate-on-scroll { opacity:1; transform:none; }
.safe-content .faq-item { opacity:1; }
.safe-page.enhanced .safe-content .faq-list:not(.visible) .faq-item { opacity:0; }
.safe-content .brain-cta-section { background:#030509; }
.safe-content #brain-canvas-container { position:relative; width:100%; height:100%; }
.safe-content .safe-brain-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:.72; }
.safe-content #brain-canvas-container:has(canvas) .safe-brain-fallback { display:none; }
.safe-content .case-content[hidden] { display:none; }
.safe-content button { font:inherit; }
.safe-content :is(a,button):focus-visible { outline:2px solid #9b6bff; outline-offset:5px; }
.safe-content .news-carousel-wrapper:is(:hover,:focus-within) .news-carousel-track { animation-play-state:paused; }
.safe-content .news-carousel-wrapper:focus-within { overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
.safe-content .news-carousel-wrapper:focus-within .news-carousel-track { animation:none; }
.safe-universe { position:fixed; inset:0; overflow:hidden; pointer-events:none; }
#safe-stars { display:block; width:100%; height:100%; }
.safe-page .footer-section { position:relative; }
.safe-page .header .nav-link[aria-current='page'] { color:#c592ff; }
.safe-page .header.light-mode .nav-link[aria-current='page'] { color:#7913fc; }
@media(max-width:768px) {
  :root { --page-gutter:20px; }
  .safe-content .mechanism-section { padding-top:72px; }
  .safe-content .news-card { width:min(370px,calc(100vw - 48px)); }
}
@media(max-width:480px) { :root { --page-gutter:16px; } }

/* The homepage's typography, stellar material and grid introduce Safe. */
.safe-content .safe-hero {
  position:relative;
  isolation:isolate;
  color-scheme:dark;
  background:radial-gradient(ellipse at 78% 48%,#0a101b66,transparent 58%),#030509;
  overflow:hidden;
}
.safe-hero__stars {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.safe-content .safe-hero__container {
  position:relative;
  display:grid;
  grid-template-columns:1.08fr 1fr;
  align-items:center;
  gap:48px;
  max-width:calc(var(--page-width) + var(--page-gutter)*2);
  min-height:100svh;
  margin-inline:auto;
  padding:148px var(--page-gutter) 72px;
}
.safe-hero__copy {
  position:relative;
  isolation:isolate;
  min-width:0;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
.safe-hero__copy::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-64px;
  background:rgb(3 5 9 / 65%);
  mask-image:linear-gradient(90deg,transparent,#000 64px,#000 calc(100% - 64px),transparent),linear-gradient(180deg,transparent,#000 64px,#000 calc(100% - 64px),transparent);
  mask-composite:intersect;
  pointer-events:none;
}
.safe-content .safe-hero__eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
  color:#c2c9d4;
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.safe-hero__eyebrow::before {
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:#c592ff;
  box-shadow:0 0 12px #c592ff66;
}
.safe-content .safe-hero h1 {
  color:#fff;
  font-size:clamp(44px,4.5vw,64px);
  font-weight:600;
  line-height:1.06;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.safe-hero h1 span { display:block; }
.safe-content .safe-hero__description {
  max-width:540px;
  margin-top:26px;
  color:#b5b5bf;
  font-size:16px;
  line-height:1.65;
  letter-spacing:-.012em;
  text-wrap:pretty;
}
.safe-content .safe-hero__expertise {
  max-width:470px;
  margin-top:18px;
  color:#e0e0e6;
  font-size:16px;
  line-height:1.6;
  letter-spacing:-.012em;
  text-wrap:pretty;
}
.safe-content .safe-hero__action { margin-top:30px; }
.safe-content .safe-hero__cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:50px;
  padding:14px 24px;
  border:1px solid #fff;
  border-radius:999px;
  background:#fff;
  color:#18181d;
  font-size:14px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.01em;
  text-decoration:none;
  transition:background .2s ease,box-shadow .2s ease;
}
.safe-hero__cta svg { flex-shrink:0; transition:transform .2s ease; }
.safe-content .safe-hero__note { margin-top:12px; color:#939ba8; font-size:12px; line-height:1.5; }
.safe-hero__figure { width:100%; aspect-ratio:1; pointer-events:none; }
@media(hover:hover) and (pointer:fine) {
  .safe-hero__cta:hover { box-shadow:0 0 28px rgb(255 255 255 / 16%); }
  .safe-hero__cta:hover svg { transform:translateX(3px); }
}
@media(max-width:1024px) and (min-width:761px) {
  .safe-content .safe-hero__container { grid-template-columns:1.3fr 1fr; gap:28px; }
  .safe-content .safe-hero h1 { font-size:clamp(40px,5vw,50px); }
}
@media(max-width:760px) {
  .safe-content .safe-hero__container { grid-template-columns:1fr; gap:12px; padding-top:122px; padding-bottom:36px; }
  .safe-hero__copy { width:100%; max-width:560px; margin-inline:auto; }
  .safe-hero__copy::before { inset:-32px; mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent),linear-gradient(180deg,transparent,#000 32px,#000 calc(100% - 32px),transparent); }
  .safe-content .safe-hero__eyebrow { margin-bottom:18px; }
  .safe-content .safe-hero h1 { font-size:clamp(34px,10.3vw,56px); }
  .safe-content .safe-hero__description { margin-top:22px; font-size:15px; line-height:1.65; }
  .safe-content .safe-hero__expertise { margin-top:16px; font-size:15px; }
  .safe-content .safe-hero__action { margin-top:26px; }
  .safe-hero__figure { order:-1; max-width:420px; width:88%; margin-inline:auto; }
  /* Short phones: the globe yields height so the whole headline stays in the first screen. */
  .safe-hero__figure { max-width:clamp(200px,calc(100svh - 158px - clamp(108px,33vw,178px)),420px); }
}
/* Low landscape phones: a compact two-column first screen, as on the homepage. */
@media(min-width:540px) and (max-width:760px) and (max-height:520px) {
  .safe-content .safe-hero__container { grid-template-columns:minmax(0,1fr) clamp(140px,calc(100vh - 128px),40%); grid-template-columns:minmax(0,1fr) clamp(140px,calc(100svh - 128px),40%); gap:24px; padding-top:104px; padding-bottom:24px; }
  .safe-content .safe-hero h1 { font-size:clamp(26px,4.3vw,32px); }
  .safe-content .safe-hero__description { margin-top:14px; font-size:14px; line-height:1.5; }
  .safe-content .safe-hero__expertise { margin-top:10px; font-size:14px; line-height:1.5; }
  .safe-content .safe-hero__action { margin-top:18px; }
  .safe-hero__figure { order:0; align-self:start; width:100%; max-width:none; height:max(140px,calc(100vh - 128px)); height:max(140px,calc(100svh - 128px)); aspect-ratio:auto; margin-inline:0; }
}
@media(forced-colors:active) {
  .safe-hero__stars,.safe-hero__figure,.safe-hero__copy::before { display:none; }
  .safe-content .safe-hero__cta { border:1px solid ButtonText; }
}
@media(forced-colors:active) and (max-width:760px) {
  .safe-content .safe-hero__container { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .safe-content *, .safe-content *::before, .safe-content *::after { animation:none!important; transition:none!important; }
  .safe-page.enhanced .safe-content .animate-on-scroll, .safe-page.enhanced .safe-content .faq-list .faq-item { opacity:1; transform:none; }
  .safe-content .news-carousel-wrapper { overflow-x:auto; mask-image:none; -webkit-mask-image:none; padding-inline:var(--page-gutter); }
  .safe-content .news-card[aria-hidden='true'] { display:none; }
}
