.welcome-screen{
  --welcome-deep:#061b14;
  --welcome-green:#0b3d2c;
  --welcome-surface:#102a21;
  --welcome-line:rgba(177,220,105,.2);
  --welcome-lime:#a7d64c;
  --welcome-mint:#dff0bd;
  position:fixed;
  inset:0;
  z-index:200000;
  min-height:100svh;
  overflow-x:hidden;
  overflow-y:auto;
  isolation:isolate;
  background:
    radial-gradient(circle at 22% 48%,rgba(96,160,55,.16),transparent 31%),
    radial-gradient(circle at 84% 34%,rgba(68,131,77,.13),transparent 28%),
    linear-gradient(138deg,#04130e 0%,var(--welcome-deep) 48%,#07150f 100%);
  color:#f8fbf7;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.welcome-screen[hidden]{display:none}
.welcome-screen::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:-4;
  opacity:.2;
  background-image:
    repeating-radial-gradient(ellipse at 12% 44%,transparent 0 54px,rgba(161,208,91,.18) 56px 57px,transparent 59px 82px),
    repeating-radial-gradient(ellipse at 78% 39%,transparent 0 76px,rgba(161,208,91,.11) 78px 79px,transparent 81px 112px);
  transform:translate3d(-1%,0,0) scale(1.02);
  animation:welcome-contour-drift 20s ease-in-out infinite alternate;
}
.welcome-screen::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(4,19,14,.22),transparent 25% 74%,rgba(4,19,14,.26));
}
.welcome-screen.is-leaving{animation:welcome-screen-out 680ms cubic-bezier(.4,0,.2,1) both}
.welcome-nav{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:min(1500px,calc(100% - 72px));
  min-height:clamp(72px,9vh,92px);
  margin:0 auto;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.welcome-brand{display:flex;align-items:center;gap:13px}
.welcome-brand-mark{
  width:55px;
  height:48px;
  overflow:hidden;
  border:1px solid rgba(170,215,91,.25);
  border-radius:14px;
  background:rgba(171,215,91,.07);
  box-shadow:0 14px 34px rgba(0,0,0,.17),inset 0 1px rgba(255,255,255,.06);
}
.welcome-brand-mark img{width:222px;height:48px;object-fit:contain;object-position:left center;transform:translateX(-1px)}
.welcome-brand strong,.welcome-brand small{display:block}
.welcome-brand strong{font-size:21px;letter-spacing:-.035em}
.welcome-brand small{margin-top:1px;color:#a8bdb3;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.welcome-system-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 12px;
  border:1px solid rgba(168,214,76,.18);
  border-radius:999px;
  background:rgba(9,39,28,.55);
  color:#c4d4cb;
  font-size:10px;
  font-weight:800;
  letter-spacing:.035em;
  backdrop-filter:blur(12px);
}
.welcome-system-status i{width:8px;height:8px;border-radius:50%;background:var(--welcome-lime);box-shadow:0 0 0 6px rgba(167,214,76,.1),0 0 22px rgba(167,214,76,.5);animation:welcome-status-pulse 2.4s ease-in-out infinite}
.welcome-content{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(420px,.78fr);
  align-items:center;
  gap:clamp(54px,7vw,118px);
  width:min(1500px,calc(100% - 72px));
  min-height:calc(100svh - 132px);
  margin:0 auto;
  padding:clamp(28px,5vh,52px) 0 clamp(54px,7vh,78px);
}
.welcome-copy{position:relative;z-index:2;max-width:780px;animation:welcome-copy-in 820ms cubic-bezier(.22,1,.36,1) 80ms both}
.welcome-racecar{
  position:absolute;
  z-index:0;
  top:49%;
  left:-5%;
  width:min(76vw,1120px);
  height:auto;
  opacity:.095;
  pointer-events:none;
  filter:grayscale(.25) saturate(.7);
  transform:translate3d(-3%,-50%,0) rotate(-5deg);
  transform-origin:center;
  animation:welcome-racecar-drift 15s ease-in-out infinite alternate;
}
.welcome-kicker{display:flex;align-items:center;gap:11px;margin:0 0 25px;color:#bad18f;font-size:10px;font-weight:900;letter-spacing:.19em;text-transform:uppercase}
.welcome-kicker::before{content:"";width:36px;height:2px;border-radius:999px;background:var(--welcome-lime);box-shadow:0 0 15px rgba(167,214,76,.45)}
.welcome-copy h1{max-width:760px;margin:0;font-size:clamp(58px,6.1vw,104px);font-weight:920;letter-spacing:-.065em;line-height:.87;text-wrap:balance}
.welcome-copy h1 span{display:block;margin-top:11px;background:linear-gradient(100deg,#dcefb4 5%,#a9d84e 54%,#76b943 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.welcome-lead{max-width:665px;margin:30px 0 0;color:#c0d0c8;font-size:clamp(16px,1.35vw,21px);line-height:1.55;text-wrap:balance}
.welcome-capabilities{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}
.welcome-capabilities span{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(195,225,145,.13);border-radius:10px;background:rgba(14,48,35,.44);color:#d3dfd8;font-size:10px;font-weight:850;backdrop-filter:blur(8px)}
.welcome-capabilities span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--welcome-lime);box-shadow:0 0 11px rgba(167,214,76,.46)}
.welcome-access{
  position:relative;
  z-index:2;
  min-height:0;
  overflow:hidden;
  padding:clamp(26px,3vw,40px);
  border:1px solid rgba(177,220,105,.24);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(17,47,36,.93),rgba(8,29,21,.96));
  box-shadow:0 35px 90px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.07);
  animation:welcome-card-in 860ms cubic-bezier(.22,1,.36,1) 150ms both;
  backdrop-filter:blur(18px);
}
.welcome-access::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:inherit;
  background:linear-gradient(115deg,transparent 0 36%,rgba(186,229,110,.13) 46%,transparent 57%);
  transform:translateX(-70%);
  animation:welcome-card-sheen 7s ease-in-out 2s infinite;
}
.welcome-access::after{content:"";position:absolute;right:-80px;bottom:-80px;width:230px;height:230px;border:1px solid rgba(167,214,76,.12);border-radius:50%;box-shadow:0 0 0 32px rgba(167,214,76,.025),0 0 0 72px rgba(167,214,76,.02)}
.welcome-access-head{position:relative;z-index:1}
.welcome-access-head span{display:block;color:#9fbbad;font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.welcome-access h2{margin:10px 0 9px;font-size:clamp(30px,2.5vw,41px);letter-spacing:-.045em;line-height:1.02}
.welcome-access p{max-width:420px;margin:0;color:#aabdb4;font-size:13px;line-height:1.55}
.welcome-orbit{
  position:relative;
  display:grid;
  place-items:center;
  width:clamp(102px,13vh,150px);
  height:clamp(102px,13vh,150px);
  margin:clamp(10px,2vh,20px) auto;
}
.welcome-orbit-ring{position:absolute;border:1px solid rgba(175,218,100,.16);border-radius:50%}
.welcome-orbit-ring.one{inset:4px;animation:welcome-orbit 12s linear infinite}
.welcome-orbit-ring.two{inset:25px;border-style:dashed;animation:welcome-orbit 9s linear infinite reverse}
.welcome-orbit-ring::before{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--welcome-lime);box-shadow:0 0 16px rgba(167,214,76,.7)}
.welcome-orbit-core{display:grid;place-items:center;width:clamp(58px,7vh,72px);height:clamp(58px,7vh,72px);border:1px solid rgba(174,218,95,.28);border-radius:21px;background:linear-gradient(145deg,rgba(167,214,76,.2),rgba(33,99,57,.22));box-shadow:0 16px 35px rgba(0,0,0,.23),0 0 42px rgba(142,190,75,.1)}
.welcome-digisolos-mark{display:block;width:clamp(50px,6vh,63px);height:clamp(50px,6vh,63px);background:url("images/logo-digisolos.png") center top/116px 116px no-repeat;filter:drop-shadow(0 0 12px rgba(163,213,76,.18))}
.welcome-start{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:58px;
  padding:0 20px 0 22px;
  border:1px solid #b5df5c;
  border-radius:14px;
  background:linear-gradient(96deg,#398a31,#79c428);
  box-shadow:0 15px 38px rgba(57,139,49,.23),inset 0 1px rgba(255,255,255,.22);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.01em;
  transition:transform 200ms cubic-bezier(.22,1,.36,1),box-shadow 200ms ease,filter 200ms ease;
}
.welcome-start:hover{transform:translateY(-3px);filter:saturate(1.08);box-shadow:0 20px 46px rgba(69,161,51,.34),inset 0 1px rgba(255,255,255,.26)}
.welcome-start:focus-visible{outline:3px solid rgba(214,241,163,.7);outline-offset:4px}
.welcome-start b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(4,32,20,.2);font-size:18px;transition:transform 200ms cubic-bezier(.22,1,.36,1)}
.welcome-start:hover b{transform:translateX(3px)}
.welcome-access-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;margin-top:17px;color:#879f93;font-size:9px;font-weight:800}
.welcome-access-foot span{display:inline-flex;align-items:center;gap:7px}
.welcome-access-foot span::before{content:"";width:6px;height:6px;border-radius:50%;background:#6dad50}
.welcome-grid-floor{
  position:absolute;
  z-index:-2;
  right:-10%;
  bottom:-33%;
  left:-10%;
  height:58%;
  opacity:.26;
  transform:perspective(520px) rotateX(63deg) translateY(30%);
  transform-origin:center bottom;
  background-image:linear-gradient(rgba(166,214,83,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(166,214,83,.2) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 74%,transparent);
  animation:welcome-grid-flow 8s linear infinite;
}
.welcome-footnote{position:absolute;right:36px;bottom:20px;left:36px;z-index:3;display:flex;justify-content:space-between;gap:16px;color:#799287;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.welcome-open{overflow:hidden}
body.welcome-open>.shell{visibility:hidden}

@keyframes welcome-contour-drift{0%{transform:translate3d(-1%,0,0) scale(1.02)}100%{transform:translate3d(2%,-1%,0) scale(1.055)}}
@keyframes welcome-status-pulse{0%,100%{opacity:.6;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
@keyframes welcome-copy-in{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
@keyframes welcome-card-in{from{opacity:0;transform:translate3d(32px,18px,0) scale(.98)}to{opacity:1;transform:none}}
@keyframes welcome-card-sheen{0%,62%{transform:translateX(-75%)}85%,100%{transform:translateX(75%)}}
@keyframes welcome-orbit{to{transform:rotate(360deg)}}
@keyframes welcome-grid-flow{to{background-position:0 38px,38px 0}}
@keyframes welcome-racecar-drift{0%{transform:translate3d(-3%,-50%,0) rotate(-5deg)}100%{transform:translate3d(1%,-52%,0) rotate(-3deg)}}
@keyframes welcome-screen-out{to{opacity:0;transform:scale(1.018);filter:blur(4px);visibility:hidden}}

@media(max-width:1050px){
  .welcome-content{grid-template-columns:1fr minmax(370px,.76fr);gap:42px}
  .welcome-copy h1{font-size:clamp(53px,7vw,78px)}
  .welcome-racecar{top:35%;left:-18%;width:125%;opacity:.07}
  .welcome-access{min-height:455px;padding:34px}
}
@media(max-height:900px) and (min-width:821px){
  .welcome-content{gap:clamp(34px,5vw,76px);padding-top:24px;padding-bottom:46px}
  .welcome-copy h1{font-size:clamp(50px,5.3vw,82px)}
  .welcome-kicker{margin-bottom:16px}
  .welcome-capabilities{margin-top:22px}
  .welcome-access h2{font-size:clamp(28px,2.1vw,35px)}
  .welcome-access p{font-size:12px}
  .welcome-access-foot{margin-top:11px}
  .welcome-footnote{bottom:10px}
}
@media(max-height:720px) and (min-width:821px){
  .welcome-content{align-items:center}
  .welcome-copy,.welcome-access{align-self:center}
  .welcome-orbit{width:86px;height:86px;margin:7px auto}
  .welcome-orbit-core{width:52px;height:52px;border-radius:16px}
  .welcome-digisolos-mark{width:46px;height:46px;background-size:98px 98px}
}
@media(max-width:820px){
  .welcome-screen{overflow-x:hidden;overflow-y:auto}
  .welcome-nav,.welcome-content{width:min(100% - 34px,690px)}
  .welcome-nav{min-height:82px}
  .welcome-content{grid-template-columns:1fr;gap:36px;padding:48px 0 84px}
  .welcome-copy{text-align:center;margin:auto}
  .welcome-kicker,.welcome-capabilities{justify-content:center}
  .welcome-lead{margin-inline:auto}
  .welcome-access{width:100%;max-width:570px;min-height:440px;margin:auto}
  .welcome-footnote{position:relative;right:auto;bottom:auto;left:auto;width:min(100% - 34px,690px);margin:-55px auto 22px}
}
@media(max-width:540px){
  .welcome-nav{min-height:74px}
  .welcome-brand-mark{width:47px;height:42px}.welcome-brand-mark img{height:42px}
  .welcome-brand strong{font-size:18px}.welcome-brand small{font-size:8px}
  .welcome-system-status{padding:8px;font-size:0}.welcome-system-status i{margin:0}
  .welcome-content{padding-top:38px}
  .welcome-copy h1{font-size:47px}
  .welcome-lead{font-size:15px}
  .welcome-capabilities{gap:6px}.welcome-capabilities span{padding:8px 10px;font-size:9px}
  .welcome-access{padding:27px 22px;border-radius:24px}
  .welcome-access h2{font-size:30px}
  .welcome-orbit{width:145px;height:145px;margin-block:20px}
  .welcome-access-foot{font-size:8px}
  .welcome-footnote span:last-child{display:none}
}
@media print{.welcome-screen{display:none!important}body.welcome-open>.shell{visibility:visible!important}}
@media(prefers-reduced-motion:reduce){
  .welcome-screen::before,.welcome-system-status i,.welcome-copy,.welcome-access,.welcome-access::before,.welcome-orbit-ring,.welcome-grid-floor,.welcome-racecar{animation:none!important}
  .welcome-start{transition:none}
}
