/* ============================================================
   NEW ERA — portable single-file rebuild.
   Design tokens inlined from src/app/globals.css :root. The WebGL
   scene is a VERBATIM vanilla-three.js port of the production rig
   (src/views/home/particle-canvas.tsx + shaders/particles.ts +
   shaders/background.ts): one dense SphereGeometry rendered as
   additively-blended points morphs through seven scroll phases —
   sphere -> funnel -> DNA -> wave -> tunnel -> black-hole -> spiral
   galaxy — under an aurora fBm background quad and an UnrealBloom
   pass, all driven by ONE scroll clock that also feeds the overlay
   phases, the orbiting stat cards, and the per-word text reveals.
   There are no photographic assets in this template; the drama is
   the depth of the particle field behind the frosted glass.
============================================================ */
:root{
  --background:#030305;
  --foreground:#ffffff;
  --muted:#a0a0a0;

  /* Brand accent gradient stops — warm/cool pair used everywhere. */
  --accent-warm:#ffa091;
  --accent-cool:#8da9fc;

  /* Frosted-glass surfaces. */
  --surface-glass:rgba(255,255,255,0.04);
  --surface-glass-hover:rgba(255,255,255,0.08);
  --surface-icon:rgba(255,255,255,0.02);
  --surface-button:rgba(20,25,35,0.4);
  --surface-button-hover:rgba(30,35,50,0.5);
  --surface-card:rgba(8,10,16,0.9);

  --border-glass:rgba(255,255,255,0.08);
  --border-glass-strong:rgba(255,255,255,0.15);

  --width-card:clamp(220px,74vw,400px);

  /* Type scale — viewport-fluid clamp(min, vw, max); max = source px. */
  --text-display:clamp(34px,5.4vw,80px);
  --text-display-sm:clamp(30px,4.6vw,64px);
  --text-stat:clamp(44px,4.8vw,72px);
  --text-lead:clamp(15px,1.25vw,18px);
  --text-eyebrow:clamp(13px,0.95vw,14px);
  --text-kicker:clamp(12px,0.9vw,13px);
  --text-button:clamp(15px,1.1vw,16px);

  --leading-title:1.2;
  --tracking-title:-0.03em;

  --font-body:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-display:'Assistant',ui-sans-serif,system-ui,-apple-system,sans-serif;

  /* Approximates the source cubic-bezier(0.2,1,0.2,1) 1.2s reveal. */
  --reveal-ease:cubic-bezier(.2,1,.2,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden;overscroll-behavior-y:none;scrollbar-width:none;-webkit-tap-highlight-color:transparent}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
body{
  background:var(--background);
  color:var(--foreground);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
  overflow-x:hidden;
}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent-warm);outline-offset:2px}

/* ---- WebGL scene, pinned behind everything ---- */
#scene{position:fixed;inset:0;z-index:-10;pointer-events:none}
#scene canvas{display:block}

/* Big-bang white flash that scales out of the singularity (0.90->0.95). */
#glow{
  position:fixed;left:50%;top:50%;z-index:10;width:100px;height:100px;
  transform:translate(-50%,-50%) scale(0);opacity:0;border-radius:9999px;
  pointer-events:none;
  background:radial-gradient(circle, rgba(255,255,255,1) 40%, rgba(255,255,255,0) 80%);
  will-change:transform,opacity;
}

/* ---- Overlays ---- */
.overlay{
  position:fixed;inset:0;z-index:10;pointer-events:none;
  display:flex;padding:0 20px;text-align:center;
}
.overlay.hero{flex-direction:column;align-items:center;justify-content:center}
.overlay.wave{align-items:center;justify-content:center;gap:60px;padding:0 10vw;text-align:left}
.overlay.galaxy{flex-direction:column;align-items:center;justify-content:space-between;padding:15vh 20px}

/* Phase reveal — the source Reveal (HIDDEN_BELOW / VISIBLE / HIDDEN_ABOVE). */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1.2s var(--reveal-ease),transform 1.2s var(--reveal-ease)}
.state-visible .reveal{opacity:1;transform:translateY(0)}
.state-after   .reveal{opacity:0;transform:translateY(-30px)}
/* Before-state overlays stay fully hidden and non-interactive. */
.state-before,.state-after{}

/* Eyebrow pill — .top-label. */
.eyebrow{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  border-radius:9999px;background:var(--surface-glass);
  padding:10px 20px;font-size:var(--text-eyebrow);font-weight:500;color:var(--foreground);
  box-shadow:0 4px 20px rgba(0,0,0,0.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  white-space:nowrap;
}
.eyebrow .ring{
  position:absolute;inset:0;border-radius:9999px;padding:1px;
  background:linear-gradient(90deg,rgba(255,255,255,0.08),rgba(255,255,255,0.35),rgba(255,255,255,0.08));
  background-size:200% 100%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:shimmer 3s linear infinite;
}
.eyebrow svg{position:relative;width:14px;height:14px;flex-shrink:0}
.eyebrow .lbl{position:relative}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* Titles — .hero-title / .wave-title. Per-word reveal (inline-block words). */
.title{
  font-family:var(--font-display);font-weight:400;
  line-height:var(--leading-title);letter-spacing:var(--tracking-title);
  color:var(--foreground);
  display:flex;flex-wrap:wrap;
  /* Trailing-edge fade mask — .gradient-text mask in style.css. */
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 60%,rgba(0,0,0,0.2) 100%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 60%,rgba(0,0,0,0.2) 100%);
}
.title.center{justify-content:center;text-align:center}
.title.left{justify-content:flex-start;text-align:left}
.title.hero-title{font-size:var(--text-display)}
.title.wave-title{font-size:var(--text-display-sm)}
.title .word{
  display:inline-block;white-space:pre;
  opacity:0;transform:translateY(40px);filter:blur(16px);
  transition:opacity 1.1s var(--reveal-ease),transform 1.1s var(--reveal-ease),filter 1.1s var(--reveal-ease);
}
.title .sp{display:inline-block;width:.28em}
.state-visible .title .word{opacity:1;transform:translateY(0);filter:blur(0)}

/* Lead copy — .hero-subtitle / .wave-col-right. */
.lead{font-size:var(--text-lead);line-height:1.5;color:var(--muted)}

/* Glass buttons — .btn-primary / .btn-secondary. */
.btn-row{display:flex;gap:16px}
.btn{
  pointer-events:auto;position:relative;display:inline-flex;height:56px;align-items:center;justify-content:center;
  border-radius:9999px;font-size:var(--text-button);font-weight:500;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .3s ease;
}
.btn-primary{
  gap:12px;padding:0 16px 0 32px;color:var(--foreground);
  background:var(--surface-button);
  backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);
  box-shadow:
    inset 0 2px 10px rgba(255,255,255,0.35),
    inset 0 -6px 16px rgba(0,0,0,0.75),
    inset 0 0 0 1px rgba(255,255,255,0.05),
    0 8px 24px rgba(0,0,0,0.4);
}
.btn-primary:hover{transform:translateY(-2px);background:var(--surface-button-hover)}
.btn-primary .ring{
  position:absolute;inset:0;border-radius:9999px;padding:1px;
  background:linear-gradient(90deg,var(--accent-warm),var(--accent-cool),var(--accent-warm));
  background-size:200% 100%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:shimmer 4s linear infinite;
}
.btn-primary .lbl{position:relative}
.btn-primary .badge{
  position:relative;display:flex;width:32px;height:32px;align-items:center;justify-content:center;
  border-radius:9999px;background:var(--surface-icon);
}
.btn-primary .badge .bring{
  position:absolute;inset:0;border-radius:9999px;padding:1px;
  background-image:linear-gradient(135deg,var(--accent-warm),var(--accent-cool));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.btn-primary .badge svg{position:relative;width:12px;height:12px}
.btn-secondary{
  padding:0 32px;border:1px solid var(--border-glass);
  background:var(--surface-glass);color:rgba(255,255,255,0.75);
}
.btn-secondary:hover{
  transform:translateY(-2px);background:var(--surface-glass-hover);
  color:#fff;border-color:var(--border-glass-strong);
  box-shadow:0 12px 32px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.05);
}

/* Wave two-column layout. */
.wave .col-left{display:flex;flex:1;max-width:800px;flex-direction:column;align-items:flex-start}
.wave .col-right{display:flex;flex:1;max-width:500px;flex-direction:column;align-items:flex-start}
.wave .lead{text-align:left;margin-bottom:40px}

.hero .eyebrow-wrap{margin-bottom:40px}
.hero .title{margin-bottom:24px;max-width:1000px}
.hero .lead{margin-bottom:48px;max-width:600px}

.galaxy .top{display:flex;flex-direction:column;align-items:center}
.galaxy .top .eyebrow-wrap{margin-bottom:40px}
.galaxy .bottom{display:flex;flex-direction:column;align-items:center}
.galaxy .bottom .lead{margin-bottom:32px;max-width:600px}

/* Centered, sequential cards with an uninterrupted backdrop for frosting. */
#dna-cards{position:fixed;inset:0;z-index:5;pointer-events:none}
.dna-card-wrap{position:absolute;left:50%;top:50%;visibility:hidden;transform:translate(-50%,-50%)}
.dna-card{
  width:min(400px,calc(100vw - 40px));padding:32px;border-radius:20px;
  border:0;
  background:linear-gradient(145deg,rgba(34,38,48,.82),rgba(9,12,20,.9));
  backdrop-filter:blur(40px) saturate(.55);-webkit-backdrop-filter:blur(40px) saturate(.55);
  box-shadow:0 16px 48px rgba(0,0,0,.28);text-align:left;
}
.dna-card .kicker{margin:0 0 7px;font-family:var(--font-body);font-size:13px;font-weight:400;line-height:1.4;letter-spacing:0;color:#d2d5de}
.dna-card .stat{display:block;margin:0 0 18px;font-family:var(--font-display);font-size:clamp(30px,4vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.025em;color:#fff}
.dna-card .desc{font-family:var(--font-body);font-size:15px;line-height:1.65;letter-spacing:0;color:#e2e4eb}
.agent-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.agent-icon{display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,1,.2,1);transition-delay:calc(var(--icon-index)*90ms)}
.agent-icon svg{width:26px;height:26px}
.agent-icon span{font-size:10px;line-height:1.4;letter-spacing:0;color:#d2d5de}
.is-active .agent-icon{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.agent-icon{transition:none;transform:none}}

/* Scroll driver — 14 screens tall (source body 1400vh). */
#scroll-driver{height:1400vh}

@media (max-width:1024px){
  .wave{flex-direction:column;align-items:flex-start;justify-content:center;gap:32px;padding:0 24px}
  /* Column direction: flex:1 would split the viewport in two and push the
     heading to the top and the body copy to the middle. The group is one
     block, centred as a whole. */
  .wave .col-left,.wave .col-right{flex:none;width:100%;max-width:100%}
  .wave .lead{margin-bottom:20px}
  .wave .lead:last-child{margin-bottom:0}
}
@media (max-width:768px){
  .btn-row{flex-direction:column;width:100%;max-width:300px}
  .btn{width:100%}
}

/* Frontness brand and English editorial refinement. */
.site-topbar{
  position:fixed;top:0;left:0;right:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;
  padding:24px clamp(20px,4vw,56px);pointer-events:none;
}
.topbar-brand,.topbar-login{pointer-events:auto}
.topbar-brand img{display:block;width:clamp(118px,10vw,148px);height:auto}
.topbar-login{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 20px;border-radius:9999px;
  font-size:14px;font-weight:500;color:#fff;
  background:rgba(20,25,35,.5);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.topbar-login:hover{transform:translateY(-1px);background:rgba(30,35,50,.7);border-color:rgba(255,255,255,.22)}
.scroll-hint{font-size:12px;line-height:1.5;letter-spacing:.02em;color:var(--muted)}
.galaxy .title{max-width:900px}
.wave .lead:last-child{margin-bottom:0}
.state-before .btn,.state-after .btn{pointer-events:none;visibility:hidden}
@media(max-width:1024px){
  .overlay.wave{flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:0 24px}
}
@media(max-width:600px){
  .hero .eyebrow-wrap{margin-bottom:28px}
  .hero .lead{margin-bottom:28px}
  .overlay.galaxy{padding:10vh 20px}
  .dna-card{padding:28px}
  .galaxy .btn-row{max-width:340px}
  .galaxy .btn-primary{padding-left:20px;gap:8px;font-size:14px;line-height:1.2;letter-spacing:0}
}

.hero .title{max-width:760px;text-wrap:balance}

.hero .title .sp:nth-child(4){flex-basis:100%;width:0;height:0}

/* Smaller signature below the introduction and a quiet thinking-like sweep. */
.hero .lead{margin-bottom:28px}
.hero .hero-brand{margin-bottom:32px}
.scroll-shimmer{display:inline-block;color:#a0a0a0}
@supports(background-clip:text){
  .scroll-shimmer{
    background:linear-gradient(100deg,#909090 0%,#909090 36%,#fff 49%,#909090 62%,#909090 100%);
    background-size:250% 100%;background-position:150% 0;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:scroll-thinking 3.2s linear infinite;
  }
}
@keyframes scroll-thinking{0%{background-position:150% 0}75%,100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.scroll-shimmer{animation:none;background:none;color:#a0a0a0}}
@supports not (backdrop-filter:blur(1px)){.dna-card{background:#0b0d14}}

/* A soft white sweep across the direct product headline. */
.hero .title{-webkit-mask-image:none;mask-image:none}
@supports(background-clip:text){
  .hero.state-visible .title .word{
    background-image:linear-gradient(105deg,#c8cbd2 0%,#c8cbd2 36%,#fff 49%,#c8cbd2 62%,#c8cbd2 100%);
    background-size:260% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:hero-thinking 5.5s linear infinite;
  }
  .hero .title .word:nth-child(4n+1){animation-delay:-.35s}
  .hero .title .word:nth-child(4n+3){animation-delay:-.1s}
}
@keyframes hero-thinking{0%{background-position:150% 0}75%,100%{background-position:-100% 0}}
.card-steps{display:flex;list-style:none;margin:42px 0 0;padding:0}
.card-steps li{position:relative;flex:1;text-align:center;font-size:10px;line-height:1.5;letter-spacing:0;color:#a9adba}
.card-steps li:not(:last-child)::after{content:"";position:absolute;top:4px;left:calc(50% + 9px);width:calc(100% - 18px);height:1px;background:rgba(255,255,255,.22)}
.step-dot{position:relative;display:block;width:9px;height:9px;margin:0 auto 9px;border:1px solid #8d929e;border-radius:50%;background:#222632}
.card-steps .is-complete .step-dot{background:#b9bfcd;border-color:#b9bfcd}
.card-steps .is-complete::after{background:#a9afbe}
.card-steps .is-current{color:#fff}
.card-steps .is-current .step-dot{background:#fff;border-color:#fff;outline:3px solid rgba(255,255,255,.13);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .hero.state-visible .title .word{animation:none;background:none;color:#fff}
}

/* Hero agent marks and viewport-anchored scroll cue. */
.hero-agents{display:flex;align-items:center;justify-content:center;gap:26px;margin:0 0 24px;color:#e5e7ee}
.hero-agents span,.hero-agents svg{display:block;width:25px;height:25px}
.hero .hero-brand{margin-bottom:0}
.hero-scroll{position:absolute;left:0;right:0;bottom:max(22px,env(safe-area-inset-bottom));display:flex;justify-content:center}
.hero-scroll .scroll-hint{display:flex;flex-direction:column;align-items:center;gap:9px;margin:0}
.scroll-arrow{display:block;width:22px;height:22px;color:#d2d5de}
.overlay.hero{padding-bottom:76px}
@media(max-height:600px){
  .hero .title{font-size:clamp(28px,5vh,48px);margin-bottom:16px}
  .hero .lead{margin-bottom:18px}
  .hero-agents{margin-bottom:16px}
  .hero-scroll{bottom:max(12px,env(safe-area-inset-bottom))}
}

/* Keep the cue readable over the bright lower edge of the particle field. */
.hero-scroll::before{content:"";position:absolute;left:0;right:0;top:-32px;bottom:calc(-1 * max(22px,env(safe-area-inset-bottom)));background:linear-gradient(transparent,rgba(3,3,5,.76) 55%,rgba(3,3,5,.9));pointer-events:none}
.hero-scroll .scroll-hint{position:relative;z-index:1}
.hero:not(.state-visible) .hero-scroll{visibility:hidden}
.scroll-arrow{color:#fff}

/* Clear active step and alternating vertical connections between cards. */
.hero .hero-brand{margin-bottom:32px}
.card-steps .is-current{font-weight:600}
.card-steps .is-current .step-dot{outline:none;border-color:#a6e5ff;background:radial-gradient(circle at 40% 35%,#fff 0%,#d8f6ff 24%,#65cdff 55%,#3975ff 100%);box-shadow:0 0 7px #8cdeff,0 0 16px #397aff,0 0 28px rgba(48,92,255,.6);animation:active-step 2s ease-in-out infinite}
.card-steps .is-current .step-dot::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(95,183,255,.8);border-radius:50%;animation:step-ripple 2s ease-out infinite}
@keyframes active-step{0%,100%{transform:scale(1);box-shadow:0 0 6px #8cdeff,0 0 14px #397aff,0 0 23px rgba(48,92,255,.5)}50%{transform:scale(1.25);box-shadow:0 0 9px #d8f6ff,0 0 22px #438bff,0 0 36px rgba(48,92,255,.75)}}
@keyframes step-ripple{0%{transform:scale(.65);opacity:.85}85%,100%{transform:scale(1.9);opacity:0}}
.card-connector{position:absolute;left:var(--connector-x);width:1px;height:clamp(64px,12vh,108px);pointer-events:none}
.connector-in{bottom:100%}
.connector-out{top:100%}
.card-connector i{display:block;position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.22),rgba(255,255,255,.7))}
.connector-in i{background:linear-gradient(to bottom,rgba(255,255,255,.22),rgba(255,255,255,.7))}
.card-connector::before,.card-connector::after{content:"";position:absolute;left:-3px;width:7px;height:7px;border-radius:50%;background:#e9edf7;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.card-connector::before{top:0}.card-connector::after{bottom:0}
.card-connector b{position:absolute;left:-2px;top:0;width:5px;height:5px;background:#fff;border-radius:50%;animation:connection-flow 2.6s ease-in-out infinite}
@keyframes connection-flow{0%{top:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{top:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){.card-steps .is-current .step-dot,.card-steps .is-current .step-dot::after,.card-connector b{animation:none}.card-connector b{display:none}}

/* Connectors are behind the cards and span their actual shared-track gap. */
#dna-cards{overflow:hidden}
.track-connector{z-index:0}
.dna-card-wrap{z-index:1}

/* The same restrained thinking sweep on all three card headings. */
@supports(background-clip:text){
  .dna-card-wrap.is-active .dna-card .stat{
    background-image:linear-gradient(105deg,#c8cbd2 0%,#c8cbd2 36%,#fff 49%,#c8cbd2 62%,#c8cbd2 100%);
    background-size:260% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:hero-thinking 5.5s linear infinite;
  }
}
@media(prefers-reduced-motion:reduce){
  .dna-card-wrap.is-active .dna-card .stat{animation:none;background:none;color:#fff}
}

/* Quiet the particle field only while the integrated-tools copy is visible. */
.integrations::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(3,3,5,.58);opacity:0;transition:opacity 1.2s var(--reveal-ease);pointer-events:none}
.integrations.state-visible::before{opacity:1}
.integrations .lead{color:#e2e4eb}

@media(max-width:1024px){.integrations .col-left,.integrations .col-right{flex:none;width:100%}.integrations .lead{margin-bottom:24px}.integrations .lead:last-child{margin-bottom:0}}

.search-console-copy{display:flex;align-items:flex-start;gap:16px}
.search-console-copy .google-mark{width:28px;height:28px;flex:0 0 28px;margin-top:2px}

/* Lower the entire closing group beneath the galaxy, keeping the footer in view. */
.overlay.galaxy{padding-bottom:max(24px,env(safe-area-inset-bottom))}

/* Early access: an email field and glass CTA, with native form validation. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.earlybird-form{display:flex;align-items:center;gap:12px;width:min(560px,calc(100vw - 40px));pointer-events:auto}
.earlybird-form input{flex:1;min-width:0;height:56px;padding:0 22px;border:1px solid rgba(180,194,230,.3);border-radius:9999px;background:rgba(12,16,25,.75);color:#fff;font:inherit;font-size:16px;box-shadow:inset 0 2px 10px rgba(255,255,255,.06);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.earlybird-form input::placeholder{color:#aeb3c0;opacity:1}
.earlybird-form .btn-primary{flex:none;width:auto;padding:0 26px;white-space:nowrap}
.earlybird-form .ring{pointer-events:none}
.galaxy:not(.state-visible) .earlybird-form{visibility:hidden;pointer-events:none}
/* Frontness replaces the form with this status only after a successful response. */
.galaxy .bottom > [data-frontness-done]{width:min(560px,calc(100vw - 40px));padding:16px 20px;color:#fff;font-size:16px;line-height:1.6;text-align:center;text-wrap:balance}
.galaxy:not(.state-visible) .bottom > [data-frontness-done]{visibility:hidden;pointer-events:none}
@media(max-width:600px){.earlybird-form{flex-direction:column;gap:12px;max-width:340px}.earlybird-form input,.earlybird-form .btn-primary{width:100%;flex:none}.earlybird-form .btn-primary{font-size:15px}}

/* Foten: bolaget, och de tre dokumenten. Länkarna är diskreta men ska gå att
   se — a{text-decoration:none} gäller hela sajten, så strecket sätts här. */
.company-footer nav a{color:inherit;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:1px;transition:color .2s,border-color .2s}
.company-footer nav a:hover{color:#fff;border-color:rgba(255,255,255,.6)}
