/* Approved constant-size cypress: light and green appear progressively for 12 seconds. */
.login-v019{
 --login-background:#070b09;--login-card:#0c1410;--login-field:#101b15;
 --login-line:#263d2e;--login-field-line:#67826e;--login-focus:#a7c7b0;
 --login-action:#356a4b;--login-action-hover:#42795a;
 --ink:#eef3ef;--muted:#acbaaf;--danger:#efa794;
 background:var(--login-background);color:var(--ink);color-scheme:dark
}
.login-v019 .login-side{background:var(--login-background)}
.login-v019 .login-card{background:var(--login-card);border-color:var(--login-line);box-shadow:0 18px 50px #0003}
.login-v019 .login-card h2,.login-v019 .login-card label{color:var(--ink)}
.login-v019 .login-note,.login-v019 .login-contact{color:var(--muted)}
.login-v019 .danger{color:var(--danger)}
.login-v019 .login-card-logo{filter:grayscale(1) invert(1) contrast(1.15);mix-blend-mode:screen;background:transparent}
.login-v019 .field{background:var(--login-field);border-color:var(--login-field-line);color:var(--ink);caret-color:var(--login-focus);font-size:16px;min-height:48px}
.login-v019 .field::placeholder{color:var(--muted)}
.login-v019 .field:focus{border-color:var(--login-focus);outline:2px solid var(--login-focus);outline-offset:3px}
.login-v019 .field:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--login-field) inset;caret-color:var(--login-focus)}
.login-v019 .primary{background:var(--login-action)!important;border-color:var(--login-action);min-height:48px}
.login-v019 .primary:hover{background:var(--login-action-hover)!important}
.login-v019 :is(button,input,a):focus-visible{outline-color:var(--login-focus)}
.login-v019 .login-footer-card{background:var(--login-card);border-color:var(--login-line);color:var(--muted);box-shadow:none}
.login-v019 .login-event{background:var(--login-card);border:1px solid var(--login-line);color:var(--ink)}
.login-v019 .login-hero.sarv-motion{background:#070b09!important;isolation:isolate}
.sarv-motion-scene{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.sarv-architecture{position:absolute;inset:0;background:url('/brand/architecture.png') 36% center/cover;filter:brightness(.78);animation:sarv-daylight 12s cubic-bezier(.35,0,.25,1) both}
.sarv-moving-wall{position:absolute;top:-4%;bottom:-4%;left:-3%;width:31%;background:linear-gradient(90deg,#060909,#151b19 90%,#252b27);box-shadow:18px 0 35px #0009;transform:skewY(-2deg);animation:sarv-wall-open 12s cubic-bezier(.35,0,.25,1) both}
.sarv-moving-wall:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 130px,#0005 131px,#ffffff08 132px),repeating-linear-gradient(90deg,transparent 0 180px,#0004 181px,#ffffff06 182px);opacity:.55}
.sarv-tree{position:absolute;left:-6%;bottom:4%;height:90%;width:52%;transform:none;animation:sarv-tree-emerge 12s cubic-bezier(.35,0,.25,1) both}
.sarv-tree img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.sarv-tree-base{filter:grayscale(1) brightness(.18)}
.sarv-tree-life{filter:brightness(.92) saturate(.85);animation:sarv-leaf-life 12s cubic-bezier(.35,0,.25,1) both}
.sarv-life-trunk{mask-image:linear-gradient(to bottom,transparent 69%,#000 81%)}
.sarv-life-low{mask-image:linear-gradient(to bottom,transparent 46%,#000 57%,#000 70%,transparent 82%)}
.sarv-life-mid{mask-image:linear-gradient(to bottom,transparent 16%,#000 30%,#000 45%,transparent 58%);animation-name:sarv-leaf-mid}
.sarv-life-tip{mask-image:linear-gradient(to bottom,#000 0%,#000 17%,transparent 31%);animation-name:sarv-leaf-tip}
.sarv-ground-fog{position:absolute;left:0;bottom:3%;width:55%;height:15%;background:radial-gradient(ellipse,#d6ded126,transparent 70%);filter:blur(18px);opacity:.6;animation:sarv-mist 12s ease-in-out both}
.sarv-motion .login-hero-shade{z-index:0;background:linear-gradient(90deg,#05060615,#05060660 35%,#050606e5 78%,#050606ef),linear-gradient(0deg,#060908b0,transparent 46%)}
.sarv-motion .login-hero-content{z-index:auto;padding:clamp(28px,4vw,58px);align-items:flex-start;justify-content:center}
.sarv-motion .login-logo-full{filter:grayscale(1) invert(1) contrast(1.15);mix-blend-mode:screen;background:transparent!important;padding:0;margin:0 0 26px auto;width:240px;height:139px;max-height:none;border-radius:0}
.sarv-motion .login-hero-copy{width:60%}
.sarv-motion .login-hero-copy h1{color:#f2f5f2;font-size:clamp(28px,2.8vw,43px);line-height:1.5}
.sarv-motion .login-hero-copy p{color:#c6cec8;font-size:15px;line-height:2}
.sarv-motion .login-hero-copy .eyebrow{color:#b8d1bf}
.sarv-motion .login-slogan{color:#b8d1bf;font-size:13px;line-height:2}
.sarv-motion .login-benefits{margin-top:30px;padding-top:0;gap:8px}
.sarv-motion .login-benefit{background:#ffffff08;border-color:#ffffff24;box-shadow:none;border-radius:12px;backdrop-filter:none;padding:12px 10px;gap:8px}
.sarv-motion .login-benefit b{color:#edf3ee}
.sarv-motion .login-benefit span{color:#b6c0b9}
.sarv-motion .benefit-icon{background:#dce9dd20;color:#b8d1bf}
.sarv-motion-controls{display:flex;gap:20px;align-self:flex-end;margin-top:16px}
.sarv-motion-controls button{border:0;background:transparent;color:#c2cec5;font-size:12px;padding:10px 0;min-height:44px}
.sarv-motion-controls button:hover{color:#fff;background:transparent}
.sarv-motion-controls button:focus-visible{outline-color:#b8d1bf}
.sarv-motion-controls button[hidden]{display:none!important}
.sarv-motion-paused .sarv-motion-scene *,.sarv-motion-pending .sarv-motion-scene *{animation-play-state:paused!important}
@keyframes sarv-tree-emerge{0%{opacity:.52}100%{opacity:1}}
@keyframes sarv-leaf-life{0%,10%{opacity:0;transform:translateX(0)}62%,100%{opacity:1;transform:translateX(0)}}
@keyframes sarv-leaf-mid{0%,27%{opacity:0;transform:translateX(-1px)}82%,100%{opacity:1;transform:translateX(0)}}
@keyframes sarv-leaf-tip{0%,44%{opacity:0;transform:translateX(1px)}100%{opacity:1;transform:translateX(0)}}
@keyframes sarv-daylight{0%{filter:brightness(.28)}100%{filter:brightness(.78)}}
@keyframes sarv-wall-open{0%,12%{transform:translateX(0) skewY(-2deg)}100%{transform:translateX(-45%) skewY(-2deg)}}
@keyframes sarv-mist{from{transform:translateX(-15px);opacity:.4}to{transform:translateX(20px);opacity:.65}}
@media(max-width:800px){
 .login-v019 .login-hero.sarv-motion,.sarv-motion .login-hero-content{min-height:420px}
 .sarv-motion .login-hero-content{padding:24px;justify-content:center}
 .sarv-motion .login-logo-full{position:static;width:150px;height:87px;margin:0 0 16px auto}
 .sarv-motion .login-hero-copy{width:67%;padding:0}
 .sarv-motion .login-hero-copy h1{font-size:24px;line-height:1.6}
 .sarv-motion .login-hero-copy p{font-size:12px}
 .sarv-motion .login-slogan{font-size:11px;margin-top:10px}
 .sarv-tree{left:-22%;width:80%;height:91%;bottom:3%}
 .sarv-moving-wall{width:44%;left:-10%}
 .sarv-motion-controls{gap:16px;margin-top:12px}
 .sarv-motion-controls button{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .sarv-motion-scene *{animation:none!important}
 .sarv-tree{opacity:1;transform:none}
 .sarv-tree-life{opacity:1;transform:none}
 .sarv-architecture{filter:brightness(.78)}
 .sarv-moving-wall{transform:translateX(-45%) skewY(-2deg)}
 .sarv-motion-controls{display:none}
}
