/* Public homepage design preview. Not included by the published site. */
@font-face {
  font-family:'General Sans';
  src:url('/assets/fonts/general-sans/GeneralSans-Variable.woff2') format('woff2');
  font-weight:200 700;
  font-style:normal;
  font-display:swap;
}
:root { --bg:#090f18; --bg2:#101a28; --panel:#152236; --tx:#edf3fc; --tx2:#afbed2; --tx3:#8da2bc; --accent:#83baff; --maxw:1440px; --radius:8px; }
body.homepage-concept { --font:'General Sans',Arial,sans-serif; background:var(--bg); font-family:var(--font); letter-spacing:0; }
.homepage-concept button,.homepage-concept summary { font-family:inherit; }
.wrap { padding-inline:48px; }
nav { background:rgba(9,15,24,.94); }
nav .wrap { height:80px; }
nav .links { gap:22px; font-size:14px; font-weight:500; color:#fff; letter-spacing:.01em; line-height:1; }
nav.rr-language-nav .links { gap:32px; }
nav.rr-language-nav .links > a { display:inline-flex; align-items:center; min-height:44px; transition:opacity 420ms cubic-bezier(.25,.1,.25,1); }
nav.rr-language-nav .links > a:hover { color:#fff; }
@media (hover:hover) and (pointer:fine) {
  nav.rr-language-nav .links:has(> a:hover) > a:not(:hover) { opacity:.62; }
}
@media (min-width:1101px) and (max-width:1280px) {
  nav.rr-language-nav .links { gap:24px; }
}
nav .right > .btn-ghost { border-color:transparent; background:transparent; box-shadow:none; }
nav .right > .btn { font-weight:500; letter-spacing:.01em; }
nav .right > .btn-ghost:hover { border-color:transparent; background:transparent; color:#fff; }
.homepage-concept :is(.hero p.sub, .shead p, .ftext p, .card p, .gf-body p, .capabilities p, .quiet-grid p, .closing p, .price > p, .article .lead) { font-weight:600; }
.homepage-concept .hero .microcopy,.homepage-concept.rr-standalone .subtitle { font-weight:600; }
.logo { font-size:19px; letter-spacing:-.025em; }
.btn { border-radius:5px; font-size:14px; font-weight:600; }
.btn-download,.btn-download:hover,.btn-primary { background:linear-gradient(110deg,#245aca,#337cd8); color:#fff; box-shadow:none; }
.btn-download::after { display:none; }
.btn-download svg { display:none; }
.btn-download:hover { background:linear-gradient(110deg,#3066d4,#3c88e2); }
.btn-lg { padding:15px 22px; }
.eyebrow,.ftext .tag { color:#a9adb1; font:500 11px/1.5 var(--font); letter-spacing:.1em; text-transform:uppercase; }
.hero { padding:92px 0 0; text-align:left; border:0; }
.hero-intro { display:grid; grid-template-columns:1.65fr 1fr; align-items:end; gap:70px; }
.hero h1 { font-size:80px; line-height:1.04; letter-spacing:-.045em; font-weight:600; margin:25px 0 0; }
.hero h1 span { color:#93b7df; }
.hero p.sub { font-size:18px; line-height:1.5; max-width:440px; margin:0; }
.hero .cta { justify-content:flex-start; align-items:center; flex-wrap:wrap; margin:26px 0 16px; gap:20px; }
.text-link { font-size:14px; white-space:nowrap; border-bottom:1px solid #626568; padding:6px 0; }
.text-link span { margin-left:8px; }
.hero .microcopy { font-size:11px; color:#92969b; }
.heroshot { max-width:none; margin:68px 0 0; border:1px solid #29425f; padding:10px; border-radius:10px; background:#111e30; }
.product-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px 18px; color:#a6abb2; font:500 10px/1.4 var(--font); text-transform:uppercase; letter-spacing:.08em; }
.product-bar span:first-child { color:#e2e4e7; }
.shot { border-radius:4px; border-color:#303439; box-shadow:none; }
.heroshot .shot { aspect-ratio:1.74; object-fit:cover; }
.trustbar { justify-content:space-between; margin:0; padding:26px 0; border-bottom:1px solid #303234; color:#9fa3a8; font-size:12px; gap:14px; }
.trustbar .tick { background:#9fa3a8; width:3px; height:3px; }
section { padding:110px 0; }
.shead { max-width:760px; margin-bottom:60px; }
.shead h2 { font-size:48px; font-weight:550; line-height:1.12; letter-spacing:-.035em; margin-top:22px; }
.shead p { max-width:550px; font-size:17px; margin-top:22px; }
.frow { grid-template-columns:1fr 1.75fr; gap:72px; margin:0 0 104px; align-items:center; }
.frow:nth-child(even) .ftext { order:0; }
.ftext h3 { font-size:32px; font-weight:550; line-height:1.14; letter-spacing:-.025em; margin:22px 0; }
.ftext p { font-size:15px; line-height:1.75; }
.ftext .text-link { display:inline-block; margin-top:24px; color:var(--tx); }
.feature-image { padding:24px; background:#142237; border:1px solid #29415e; border-radius:8px; }
.feature-image .shot { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; background:#0c1017; }
.feature-caption { display:flex; justify-content:space-between; gap:14px; font:500 10px var(--font); color:#9a9ea4; margin-top:18px; text-transform:uppercase; letter-spacing:.07em; }
.review-section { background:linear-gradient(125deg,#101c2e,#10243c); color:#edf4ff; padding:100px 0; border-block:1px solid #29425f; }
.review-section .shead { display:grid; grid-template-columns:1.5fr 1fr; gap:80px; max-width:none; align-items:end; }
.review-section .eyebrow { color:#91c3fa; }
.review-section .shead p { color:#b1c2d7; font-size:16px; }
.review-section .text-link { display:inline-block; margin-top:24px; color:#94c7ff; border-color:#43668f; }
.review-section .feature-image { max-width:none; margin:0; background:#162a42; border-color:#305173; padding:20px; }
.review-section .shot { aspect-ratio:auto; object-fit:contain; }
.capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:42px; }
.capabilities > div { border-top:1px solid #304b69; padding-top:20px; }
.capabilities b { font-size:14px; font-weight:600; }
.capabilities p { color:#b1c2d7; font-size:13px; margin-top:8px; }
.quiet-section { border-bottom:1px solid #303234; }
.quiet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; }
.quiet-grid article { border-top:1px solid #36393c; padding-top:24px; }
.quiet-grid .number { font:500 11px var(--font); color:#8d9297; }
.quiet-grid h3 { font-size:21px; font-weight:500; margin:24px 0 12px; }
.quiet-grid p { color:var(--tx2); font-size:14px; line-height:1.7; }
.quiet-grid a { display:inline-block; margin-top:24px; }
.details-section { padding:84px 0; }
.faq { max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:30px 64px; }
.qa { border-top:1px solid #36393c; padding-top:22px; }
.qa h4 { font-size:16px; font-weight:500; }
.qa p { color:var(--tx2); }
.roadmap-details { border-block:1px solid #36393c; padding:24px 0; margin-top:56px; }
.roadmap-details > summary { cursor:pointer; font-size:16px; }
.roadmap-details .grid { margin-top:30px; }
.roadmap-details .ic { display:none; }
.roadmap-details .card { background:transparent; border-radius:4px; }
.roadmap-details .card p { color:var(--tx2); }
.closing { padding:90px 0; border-top:1px solid #303234; }
.closing .wrap { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.closing h2 { font-weight:550; font-size:48px; letter-spacing:-.035em; line-height:1.1; }
.closing p { color:var(--tx2); margin-top:18px; font-size:14px; }
.closing .btn { flex-shrink:0; }
footer .wrap { align-items:flex-start; gap:40px; }
.footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.footer-brand .logo { min-height:46px; }
.footer-brand > a[aria-label] { margin:0!important; }
footer .fcols { flex-wrap:wrap; gap:40px; }
.footer-note { font-size:11px; color:#888e92; border-top:1px solid #303234; margin-top:40px; padding-top:24px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #83baff; outline-offset:5px; }
.site-mouse-trail { position:fixed; inset:0; width:100vw; height:100vh; z-index:90; pointer-events:none; }
.site-motion-toggle { display:block; min-height:36px; margin:12px 0 0; padding:6px 0; border:0; background:transparent; color:var(--tx3); font:500 12px/1.5 var(--font); cursor:pointer; }
.site-motion-toggle:hover { color:var(--tx); }
.site-motion-controls { max-width:1440px; margin-inline:auto; padding-inline:48px; }
.rr-standalone .site-motion-controls { padding-inline:0; }

/* Moving light fields sit behind the content, never over text or controls. */
.homepage-concept .hero,.homepage-concept .review-section { position:relative; isolation:isolate; overflow:clip; background:#060c16; }
.homepage-concept .hero > .wrap,.homepage-concept .review-section > .wrap { position:relative; z-index:1; }
.ambient-light { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; contain:strict; }
.ambient-light span { position:absolute; display:block; border-radius:50%; animation-play-state:paused!important; }
.ambient-light.is-active span { animation-play-state:running!important; }
.ambient-violet { width:115%; height:105%; left:10%; top:-44%; background:radial-gradient(ellipse at center,rgba(40,124,245,.65) 0%,rgba(28,83,181,.38) 24%,rgba(14,43,103,.13) 47%,transparent 67%); animation:ambient-violet 14s ease-in-out infinite alternate; }
.ambient-blue { width:120%; height:95%; left:-38%; top:12%; background:radial-gradient(ellipse at center,rgba(38,92,201,.48) 0%,rgba(21,57,133,.28) 28%,transparent 66%); animation:ambient-blue 17s ease-in-out infinite alternate; }
.ambient-shadow { width:100%; height:100%; left:-20%; top:-15%; background:radial-gradient(ellipse at center,rgba(2,7,15,.94) 10%,rgba(3,10,22,.65) 40%,transparent 68%); animation:ambient-shadow 12s ease-in-out infinite alternate; }
.ambient-light::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,10,21,.13),transparent 45%,#090f18 99%); }
.review-section .ambient-violet { left:-25%; top:-30%; animation-delay:-5s; }
.review-section .ambient-blue { left:25%; top:18%; animation-delay:-8s; }
.review-section .ambient-shadow { left:30%; top:-20%; animation-delay:-3s; }
.review-section .ambient-light::after { background:linear-gradient(180deg,#090f18 0%,transparent 20%,transparent 75%,#090f18 100%); }
.homepage-concept .review-section { border-color:#20364f; }
.homepage-concept .heroshot { position:relative; border-color:rgba(125,185,255,.43); background:rgba(15,29,49,.92); box-shadow:0 0 90px -24px rgba(35,112,226,.4),0 30px 85px -25px rgba(1,1,9,.85); }
.homepage-concept .heroshot::before { content:""; position:absolute; height:1px; inset:-1px 10% auto; background:linear-gradient(90deg,transparent,#a5d2ff,transparent); pointer-events:none; }
.review-section .feature-image { background:rgba(19,38,65,.85); border-color:rgba(116,179,248,.4); box-shadow:0 0 100px -30px rgba(29,100,211,.45),0 28px 70px -20px rgba(3,2,12,.7); }
.homepage-concept .btn-download { box-shadow:0 3px 22px -7px rgba(61,136,249,.6),inset 0 1px rgba(196,224,255,.22); }
.homepage-concept .btn-download:hover { box-shadow:0 5px 28px -5px rgba(61,136,249,.65),inset 0 1px rgba(196,224,255,.25); }
@keyframes ambient-violet {
  from { transform:translate3d(-14%,-3%,0) rotate(-12deg) scale(.94); opacity:.7; }
  to { transform:translate3d(14%,20%,0) rotate(14deg) scale(1.13); opacity:1; }
}
@keyframes ambient-blue {
  from { transform:translate3d(23%,-15%,0) rotate(8deg) scale(1.05); opacity:.65; }
  to { transform:translate3d(-7%,18%,0) rotate(-15deg) scale(.86); opacity:1; }
}
@keyframes ambient-shadow {
  from { transform:translate3d(-14%,7%,0) rotate(-20deg); opacity:.8; }
  to { transform:translate3d(25%,-12%,0) rotate(20deg); opacity:.98; }
}
@media(max-width:860px) {
  .ambient-violet { width:150%; left:-10%; top:-35%; }
  .ambient-blue { width:150%; left:-40%; top:0; }
  .ambient-shadow { width:130%; left:-50%; }
}
@media(max-width:1080px) {
  .site-motion-controls { padding-inline:28px; }
  .wrap { padding-inline:28px; }
  nav .links { gap:16px; }
  nav .links a:nth-child(2),nav .links a:nth-child(4) { display:none; }
  .hero-intro { grid-template-columns:1.4fr 1fr; gap:32px; }
  .hero h1 { font-size:68px; }
  .frow { gap:32px; }
}
@media(max-width:860px) {
  .site-motion-controls { padding-inline:24px; }
  .wrap { padding-inline:24px; }
  nav .wrap { height:68px; }
  nav .links { display:none; }
  .hero { padding-top:55px; }
  .hero-intro,.review-section .shead { grid-template-columns:1fr; gap:28px; }
  /* The shared locale stylesheet sets an !important mobile heading size. */
  .homepage-concept .hero h1 { font-size:44px!important; line-height:1.1; }
  .hero p.sub { max-width:480px; font-size:16px; }
  .hero .cta { flex-direction:row; align-items:center; }
  .hero .cta .btn { width:auto; }
  .heroshot { margin-top:38px; padding:6px; }
  .product-bar { font-size:8px; padding:7px 4px 12px; }
  .product-bar span:last-child { display:none; }
  .trustbar { display:grid; grid-template-columns:1fr 1fr; font-size:11px; padding:22px 0; }
  section,.review-section { padding:64px 0; }
  .shead { margin-bottom:40px; }
  .shead h2,.closing h2 { font-size:30px; }
  .frow { grid-template-columns:1fr; gap:26px; margin-bottom:64px; }
  .ftext { max-width:540px; }
  .ftext h3 { font-size:28px; }
  .feature-image,.review-section .feature-image { padding:12px; }
  .feature-caption { font-size:8px; margin-top:12px; }
  .capabilities,.quiet-grid,.faq { grid-template-columns:1fr; gap:28px; }
  .closing .wrap { flex-direction:column; align-items:flex-start; }
  footer .wrap { flex-direction:column; }
  .footer-brand { flex-direction:row; flex-wrap:wrap; gap:24px; }
}
@media(max-width:390px) {
  .wrap { padding-inline:24px; }
  nav .right { gap:6px; }
  nav .right .btn { padding:10px; font-size:11px; }
  .homepage-concept .hero h1 { font-size:44px!important; }
  .hero .cta { gap:14px; }
  .hero .btn-lg { padding:14px 16px; }
}
