/* Sofapotatoes / public homepage art direction. */
.home-design {
  --bg-0:#080b10; --bg-1:#10151c; --bg-2:#171e27; --border:#25303c;
  --text-1:#f0f2f5; --text-2:#a2adbc; --text-3:#8491a3;
  position:relative; isolation:isolate; background:var(--bg-0); overflow:clip;
}
.home-design .container { max-width:1344px; }
.home-design .nova-grad-text { background:none; color:#ffaa70; -webkit-text-fill-color:currentColor; }
.home-design .eyebrow { color:#8f9bad; font-size:10px; letter-spacing:.17em; }
.home-design .eyebrow > span { color:#ffab70; margin-right:16px; }
.home-design .scroll-reveal::after { display:none; }
.site-header--home { background:rgba(8,11,16,.94); --border-faint:rgba(144,167,193,.1); }
.site-header--home .site-nav { max-width:1344px; min-height:80px; }
.site-header--home .status-strip__inner { max-width:1344px; }
.site-header--home .site-nav__link { font-size:13px; color:#a4adba; }
.site-header--home .site-nav__link[aria-current="page"] { color:#fff; }
.site-header--home .site-nav__link[aria-current="page"]::after { background:#ffab70; box-shadow:none; height:1px; }
.site-header--home .btn { border-radius:7px; }
.site-header--home .btn-subtle { background:transparent; border-color:#303946; }
.site-header--home .status-strip__meta { font-size:10px; color:#8290a3; }
.home-design .btn-primary { border-radius:8px; background:#2b61e8; box-shadow:0 6px 24px rgba(25,69,161,.18); }
.home-design .btn-primary:hover { background:#3973ff; box-shadow:0 8px 26px rgba(41,99,235,.26); }
.home-design .btn-lg { min-height:51px; padding-inline:23px; font-size:14px; }

/* A compact sphere leaves the headline and service navigation room to breathe. */
.nova-hero { padding:52px 0 0; }
.nova-hero__layout { width:100%; max-width:1344px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; align-items:center; }
.nova-hero__grid-lines { background-size:100px 100px; opacity:.34; mask-image:radial-gradient(ellipse at 68% 40%,#000,transparent 66%); }
.nova-hero__content { position:relative; z-index:2; padding-bottom:20px; }
.nova-hero__eyebrow { display:flex; align-items:center; gap:11px; color:#8998ab; font:500 10px/1.5 var(--font-mono); letter-spacing:.09em; }
.nova-hero__eyebrow > span:first-child { width:5px; height:5px; background:#ffac70; border-radius:50%; }
.nova-hero__eyebrow-line { width:24px; height:1px; background:#364150; }
.nova-hero__title { font-size:clamp(48px,4.9vw,76px); line-height:1.2; letter-spacing:-.065em; margin:27px 0 24px; font-weight:700; }
.nova-hero__line { white-space:nowrap; }
.nova-hero__line + .nova-hero__line { padding-bottom:0; }
.nova-hero__lede { max-width:430px; color:#a3afbf; font-size:15px; line-height:1.95; }
.nova-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:29px; }
.nova-hero__actions .btn { width:auto; gap:30px; }
.nova-secondary-action { border:0; background:none; color:#dce1e8; min-height:48px; padding:0; font-size:13px; }
.nova-secondary-action span { color:#8496ad; margin-left:12px; }
.nova-secondary-action:hover { color:#ffba85; }
.nova-hero__footnote { display:flex; gap:14px; align-items:center; color:#8995a6; font-size:11px; margin-top:23px; }
.nova-hero__footnote i { width:2px; height:2px; border-radius:50%; background:#647488; }
.nova-live-chip { margin-top:30px; min-height:30px; padding:0; font:400 11px/1.5 var(--font-body); color:#919fb1; background:none; border:0; backdrop-filter:none; }
.nova-live-chip__dot { width:5px; height:5px; }
.nova-live-chip__arrow { margin-left:5px; color:#8b99ac; }
.nova-hero__visual { width:100%; max-width:620px; justify-self:center; aspect-ratio:auto; margin:0; position:relative; }
.nova-world-heading { display:flex; align-items:center; justify-content:space-between; color:#62738b; padding:0 34px; font:500 9px/1.5 var(--font-mono); letter-spacing:.14em; }
.nova-world-heading span:last-child { letter-spacing:.12em; color:#919eae; }
.nova-network-status { display:flex; align-items:center; gap:13px; margin:22px 32px 0; padding:15px 0 0; border-top:1px solid #26303c; }
.nova-network-status > .nova-dot { width:5px; height:5px; }
.nova-network-status > div { display:flex; align-items:center; gap:16px; }
.nova-network-status div > span { color:#6c7a8f; font:500 8px/1.4 var(--font-mono); letter-spacing:.1em; }
.nova-network-status strong { color:#b6c2d2; font-size:11px; font-weight:400; }
.nova-network-status button { margin-left:auto; border:0; color:#a2b3c9; background:none; min-width:32px; min-height:32px; }
.nova-hero__baseline { margin-top:35px; padding-block:23px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #222c39; color:#6e7d92; font:400 10px/1.5 var(--font-mono); letter-spacing:.08em; }
.nova-hero__baseline a { color:#a6b2c1; min-height:32px; display:flex; align-items:center; gap:22px; }

/* True 3D projection, with geographically anchored labels above the light texture. */
.earth-experience { margin-top:-10px; }
.earth-stage { position:relative; aspect-ratio:1; width:100%; }
.earth-stage::before { content:''; position:absolute; inset:16%; border-radius:50%; background:radial-gradient(circle at 30% 20%,#112840,#050b17 70%); opacity:.4; }
.earth-stage[data-renderer="webgl"]::before { opacity:0; }
.earth-surface,.earth-effects,.earth-fallback,.earth-markers { position:absolute; inset:0; width:100%; height:100%; }
.earth-surface,.earth-effects { opacity:0; }
.earth-stage[data-renderer="webgl"] .earth-surface,.earth-stage[data-renderer="webgl"] .earth-effects { opacity:1; }
.earth-fallback { object-fit:contain; opacity:0; mix-blend-mode:screen; }
.earth-stage[data-renderer="fallback"] .earth-fallback { opacity:.8; }
.earth-markers { overflow:visible; pointer-events:none; }
.earth-leader { stroke:currentColor; stroke-width:1.5; filter:drop-shadow(0 1px 2px #000); }
.earth-pin-ring { transform-origin:0 0; animation:earth-pin 3s ease-out infinite paused; }
.earth-stage[data-motion="running"] .earth-pin-ring { animation-play-state:running; }
.earth-location { position:absolute; display:grid; grid-template-columns:30px auto; column-gap:10px; row-gap:3px; align-items:center; width:118px; min-height:55px; padding:10px 12px; background:rgba(7,13,21,.94); border:1px solid #3c4a5c; border-left:2px solid var(--pin-color); border-radius:6px; box-shadow:0 6px 24px #0009; transform:translate(-50%,-50%); pointer-events:none; }
.earth-location__code { color:var(--pin-color); font:500 10px/1 var(--font-mono); grid-row:span 2; }
.earth-location strong { color:#f5f7fb; font-size:15px; line-height:1.1; font-weight:600; }
.earth-location small { color:#91a1b6; font:500 7px/1.2 var(--font-mono); letter-spacing:.05em; white-space:nowrap; }
.earth-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:-21px 32px 0; position:relative; z-index:3; }
.earth-locations { display:flex; gap:5px; }
.earth-controls button { border:1px solid transparent; border-radius:4px; background:transparent; color:#a5b2c4; min-height:36px; font-size:10px; display:inline-flex; align-items:center; gap:6px; padding:5px 8px; }
.earth-controls button:hover:not(:disabled) { color:#fff; background:#182230; border-color:#2d3c50; }
.earth-controls button:disabled { opacity:.72; }
.earth-locations i { width:4px; height:4px; background:var(--pin-color); border-radius:50%; }
.earth-locations span { color:#60758c; font:500 8px/1 var(--font-mono); }
.earth-rotation > span { font-size:12px; width:13px; color:#aabbd2; }
@keyframes earth-pin { from { opacity:.65; transform:scale(.8); } to { opacity:0; transform:scale(1.65); } }

/* Service index and supporting sections use one restrained spacing system. */
.nova-marquee { padding-block:21px; background:#0c1118; border:0; margin-top:0; mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent); }
.nova-marquee__track { animation-duration:55s; }
.nova-marquee__item { font-size:11px; font-weight:400; color:#728197; gap:19px; letter-spacing:.08em; }
.nova-marquee__item i { color:#3b4f66; font-size:7px; }
.nova-pulse { padding:50px 0 0; }
.nova-pulse__grid { gap:0; }
.nova-pulse__tile { border:0; border-left:1px solid #25303d; background:none; border-radius:0; padding:0 30px; }
.nova-pulse__tile:first-child { border-left:0; padding-left:0; }
.nova-pulse__tile strong { font-size:40px; font-weight:500; color:#dce5f2; margin-block:4px; }
.nova-pulse__tile span { font-size:10px; font-weight:400; color:#96a5b8; letter-spacing:.05em; }
.nova-pulse__tile small { font-size:10px; color:#6b7c94; }
.nova-services { padding:100px 0 70px; }
.nova-section-head { gap:17px; margin-bottom:38px; }
.nova-section-head h2 { font-size:clamp(32px,3.3vw,46px); line-height:1.3; letter-spacing:-.045em; }
.nova-section-head > p { color:#8d9aad; font-size:13px; }
.nova-bento { grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.nova-card { gap:16px; padding:28px; min-height:345px; background:linear-gradient(145deg,#111923,#0b1017 72%); border:1px solid #24303e; border-radius:10px; }
.nova-card--wide { grid-row:auto; background:linear-gradient(145deg,#162331,#0c141e 72%); }
.nova-card:hover { border-color:#53687f; transform:translateY(-4px); }
.nova-card__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; position:relative; }
.nova-card__top > span { color:#62758f; font:400 11px/1 var(--font-mono); }
.nova-card__icon { border:0; background:none; box-shadow:none; width:35px; height:35px; border-radius:0; color:#a0b8d4; }
.nova-card__label { margin:0; color:#7e99b9; font-size:8px; letter-spacing:.16em; }
.nova-card h3,.nova-card--wide h3 { font-size:23px !important; letter-spacing:-.03em; font-weight:600; }
.nova-card p { font-size:12px; color:#94a3b8; line-height:1.9; max-width:290px; }
.nova-card__tags { gap:7px; margin-block:4px 12px; }
.nova-card__tags span { padding:3px 6px; font-size:9px; color:#8195af; border-color:#28384b; border-radius:3px; }
.nova-card__action { width:100%; border-top:1px solid #253347; padding-top:16px; display:flex; justify-content:space-between; color:#cad8ea; font-size:12px; font-weight:400; }
.nova-card__action span { color:#ffae75; }
.nova-rack { display:none; }
.nova-showcase { padding:64px 0 85px; }
.nova-showcase__layout { padding-top:55px; border-top:1px solid #25313e; gap:90px; }
.nova-showcase__copy h2 { font-size:clamp(30px,3vw,42px); line-height:1.35; margin-top:22px; }
.nova-showcase__copy > p { color:#8d9aad; font-size:13px; max-width:440px; }
.nova-checks { gap:13px; margin-block:23px 30px; }
.nova-checks li { font-size:12px; color:#b1bfd2; padding-left:24px; }
.nova-checks li::before { border:0; background:none; color:#6696d1; width:14px; font-size:10px; }
.nova-mock { transform:perspective(1800px) rotateY(-5deg) rotateX(3deg); border-color:#344457; border-radius:10px; background:linear-gradient(160deg,#192331,#0b111a); box-shadow:0 35px 75px #0008,0 0 75px #1c42741a; }
.nova-mock__bar { font-size:10px; padding:15px 18px; color:#8c9eb6; border-bottom-color:#2c3c50; }
.nova-mock__bar i { width:6px; height:6px; background:#43516a; }
.nova-mock__body { padding:25px; gap:26px; }
.nova-mock__server strong { font-size:13px; }
.nova-mock__server em { font-size:9px; }
.nova-meter { height:3px; }.nova-meter i { background:#649edb; }
.nova-mock__chart { border:0; background:#0b121c; border-radius:5px; padding:17px; }
.nova-mock__chart > span { font-size:9px; }
.nova-mock__note { font-size:8px; }
.nova-notices { padding:45px 0 80px; }
.nova-notices__empty { padding:25px 0; border:0; border-top:1px solid #273340; border-bottom:1px solid #1c2734; border-radius:0; }
.nova-notices__empty strong { color:#acb9cb; font-size:13px; font-weight:500; }
.nova-notices__empty p { font-size:11px; color:#6e8097; }
.nova-notices__list article { border-radius:7px; border-color:#273340; background:#101722; }
.nova-community { padding:0 0 90px; }
.nova-community__inner { grid-template-columns:minmax(0,1fr) auto; gap:48px; border-radius:10px; padding:49px 52px; border:1px solid #2c4059; background:radial-gradient(ellipse at 95% 10%,#1d365a66,transparent 65%),#111b29; }
.nova-community__inner::before,.nova-community__icon { display:none; }
.nova-community h2 { font-size:38px; line-height:1.3; letter-spacing:-.04em; margin-top:15px; }
.nova-community__content p { font-size:12px; max-width:400px; color:#8da1bc; margin-top:17px; }
.nova-community__action > span { font-size:9px; color:#7388a5; }
.home-design #home-services-title { scroll-margin-top:150px; }

/* Keep the shared footer's new commerce links, with the homepage palette. */
main[data-screen-label="home"] + .site-footer { margin-top:0; background:#0b1017; --border:#26313e; --border-faint:#202b38; --text-2:#97a6ba; --text-3:#708299; }
main[data-screen-label="home"] + .site-footer .container { max-width:1344px; }
main[data-screen-label="home"] + .site-footer .site-footer__grid { grid-template-columns:minmax(230px,1.6fr) repeat(4,minmax(72px,.7fr)) minmax(190px,1.1fr); gap:24px; }
main[data-screen-label="home"] + .site-footer .site-footer__intro p { font-size:12px; }
main[data-screen-label="home"] + .site-footer .site-footer__heading { color:#b4c0d1; font-size:10px; }
main[data-screen-label="home"] + .site-footer .site-footer__link,
main[data-screen-label="home"] + .site-footer .site-footer__contact { font-size:11px; }
main[data-screen-label="home"] + .site-footer .site-footer__merchant { margin-top:36px; }

@media (max-width:1100px) {
  main[data-screen-label="home"] + .site-footer .site-footer__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  main[data-screen-label="home"] + .site-footer .site-footer__intro { grid-column:1 / -1; max-width:480px; }
  main[data-screen-label="home"] + .site-footer section:last-child { grid-column:1 / -1; max-width:320px; }
  .nova-hero__layout { gap:18px; }
  .nova-hero__title { font-size:55px; }
  .nova-network-status > div { display:grid; gap:3px; }
  .nova-card { padding:23px; }.nova-card h3,.nova-card--wide h3 { font-size:20px !important; }
  .nova-showcase__layout { gap:45px; }
  .site-header--home .site-nav__links { background:#0b1018; }
}
@media (max-width:980px) {
  .nova-hero__layout { grid-template-columns:minmax(0,1fr); gap:38px; }
  .nova-hero__content { max-width:630px; padding-bottom:0; }
  .nova-hero__title { font-size:clamp(50px,8vw,68px); }
  .nova-hero__visual { max-width:550px; }
  .nova-hero__lede { max-width:510px; }
  .nova-world-heading { padding-inline:24px; }
  .nova-pulse__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .nova-pulse__tile { padding-inline:18px; }
  .nova-bento { grid-template-columns:1fr; gap:12px; }
  .nova-card { min-height:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }
  .nova-card__top { grid-row:1 / span 4; margin:0; align-self:stretch; display:flex; align-items:flex-start; max-width:100px; }
  .nova-card__label,.nova-card h3,.nova-card p,.nova-card__tags,.nova-card__action { grid-column:2; }
  .nova-card__top { grid-column:1; }
  .nova-card { grid-template-columns:80px minmax(0,1fr); }
  .nova-card p { max-width:100%; }
  .nova-card__tags { margin-bottom:5px; }
  .nova-showcase__layout { grid-template-columns:1fr; max-width:660px !important; gap:40px; }
  .nova-mock { transform:none; }
  .nova-community__inner { grid-template-columns:1fr; gap:25px; }
  .nova-community__action { justify-items:start; }
}
@media (max-width:640px) {
  main[data-screen-label="home"] + .site-footer .site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-header--home .site-nav { min-height:65px; }
  .nova-hero { padding-top:37px; }
  .nova-hero__eyebrow { font-size:8px; gap:8px; letter-spacing:.05em; }
  .nova-hero__eyebrow-line { width:16px; }
  .nova-hero__title { font-size:clamp(42px,12vw,60px) !important; letter-spacing:-.07em; margin-top:24px; }
  .nova-hero__lede { font-size:13px; line-height:1.95; }
  .nova-hero__actions { gap:17px; margin-top:24px; }
  .nova-hero__actions .btn { padding-inline:18px; min-height:49px; gap:20px; font-size:12px; }
  .nova-secondary-action { font-size:11px; }
  .nova-secondary-action span { margin-left:7px; }
  .nova-hero__footnote { margin-top:19px; font-size:10px; }
  .nova-live-chip { margin-top:23px; font-size:10px; }
  .nova-hero__layout { gap:31px; }
  .nova-hero__visual { width:100%; max-width:480px; }
  .nova-world-heading { padding-inline:10px; font-size:8px; }
  .earth-experience { margin-top:0; }
  .earth-location { width:101px; min-height:46px; padding:8px; column-gap:6px; grid-template-columns:27px auto; }
  .earth-location strong { font-size:13px; }.earth-location__code { font-size:9px; }.earth-location small { font-size:6px; }
  .earth-controls { margin:-9px 0 0; gap:7px; }
  .earth-controls button { padding-inline:6px; }
  .nova-network-status { margin:14px 5px 0; padding-top:12px; }
  .nova-network-status > div { display:flex; gap:11px; }
  .nova-network-status div > span { font-size:6px; }
  .nova-network-status strong { font-size:9px; }
  .nova-hero__baseline { margin-top:28px; padding-block:18px; font-size:8px; letter-spacing:0; gap:10px; }
  .nova-hero__baseline a { gap:7px; }
  .nova-marquee { padding-block:17px; }.nova-marquee__item { font-size:9px; }
  .nova-pulse { padding-top:33px; }
  .nova-pulse__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 0; }
  .nova-pulse__tile { padding-inline:19px; }
  .nova-pulse__tile:nth-child(3) { border-left:0; padding-left:0; }
  .nova-pulse__tile strong { font-size:33px; }
  .nova-pulse__tile small { font-size:8px; }
  .nova-services { padding:66px 0 32px; }.nova-section-head { gap:14px; margin-bottom:25px; }
  .nova-section-head h2 { font-size:30px; }.nova-section-head > p { font-size:11px; }
  .nova-card { padding:22px; grid-template-columns:34px minmax(0,1fr); gap:11px 14px; }
  .nova-card__top { display:grid; align-content:start; gap:20px; }
  .nova-card__icon { width:27px; height:27px; }
  .nova-card h3,.nova-card--wide h3 { font-size:20px !important; }
  .nova-card p { font-size:11px; }
  .nova-showcase { padding:28px 0 42px; }.nova-showcase__layout { padding-top:38px; }
  .nova-showcase__copy h2 { font-size:30px; }.nova-showcase__copy > p { font-size:12px; }
  .nova-checks li { font-size:11px; }.nova-mock__body { padding:20px; }
  .nova-mock__meters { grid-template-columns:repeat(3,1fr); }
  .nova-notices { padding:32px 0 48px; }
  .nova-community { padding-bottom:48px; }
  .nova-community__inner { padding:28px; }.nova-community h2 { font-size:29px; }
  .nova-community__content p { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { .earth-pin-ring { animation:none !important; } }
