:root{--bg:#020714;--text:#f7f9fc;--muted:#aeb9c9;--gold:#e9b536;--logo-size:min(76vw,74svh,980px);--spark:0;--cinematic-softness:1}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,"Helvetica Neue",sans-serif}body{overflow-x:hidden}.story{height:440vh;position:relative;background:#020714}.stage{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;isolation:isolate;background:#020714}
.atmosphere{position:absolute;inset:-10%;z-index:0;will-change:filter,opacity,transform;background:radial-gradient(circle at 50% 42%,rgba(28,71,145,.30),transparent 34%),radial-gradient(circle at 76% 23%,rgba(236,180,53,.10),transparent 22%),radial-gradient(circle at 17% 79%,rgba(30,86,171,.13),transparent 28%),linear-gradient(180deg,#020714 0%,#030a18 58%,#01040b 100%);transform:scale(1.05)}
.aurora{position:absolute;z-index:1;will-change:opacity,transform,filter;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.25;mix-blend-mode:screen}.aurora-a{width:36vw;height:36vw;left:12vw;top:13vh;background:rgba(29,92,205,.26)}.aurora-b{width:28vw;height:28vw;right:12vw;bottom:6vh;background:rgba(224,161,35,.13)}
.film-grain{position:absolute;inset:0;z-index:24;pointer-events:none;opacity:.028;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")}
.floor-glow{position:absolute;will-change:opacity,filter,transform;left:50%;bottom:-10vh;z-index:1;width:min(1040px,82vw);height:31vh;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(244,187,49,.17),rgba(30,83,169,.08) 38%,transparent 72%);filter:blur(30px);opacity:.86}.floor-line{position:absolute;will-change:opacity,transform;z-index:2;left:50%;bottom:8.5vh;width:min(900px,72vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(242,190,67,.42),rgba(255,255,255,.18),rgba(242,190,67,.42),transparent);opacity:.48}.vignette{position:absolute;will-change:opacity;inset:0;z-index:25;pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 42%,rgba(0,0,0,.20) 70%,rgba(0,0,0,.62) 110%)}
.logo-scene{position:absolute;z-index:6;inset:0;display:grid;place-items:center;perspective:1500px;opacity:0;transition:opacity .35s ease,filter .38s ease,transform .38s ease}.stage.motion-ready .logo-scene{opacity:1}.logo-frame{position:relative;width:var(--logo-size);aspect-ratio:1;transform-style:preserve-3d;will-change:transform;filter:drop-shadow(0 42px 70px rgba(0,0,0,.58))}.piece-layer{position:absolute;inset:0;transform-style:preserve-3d;z-index:3}.logo-piece{position:absolute;opacity:0;transform-style:preserve-3d;will-change:transform,opacity,filter;pointer-events:none}.logo-piece img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 11px 9px rgba(0,0,0,.42)) drop-shadow(0 0 2px rgba(255,192,69,.28));backface-visibility:hidden}.final-logo{position:absolute;inset:0;z-index:7;width:100%;height:100%;object-fit:contain;opacity:0;will-change:opacity,filter;pointer-events:none}.reflection{position:absolute;z-index:1;left:0;top:87%;width:100%;height:100%;object-fit:contain;transform:scaleY(-.30);transform-origin:50% 0;opacity:0;filter:blur(7px) saturate(.82);mask-image:linear-gradient(to bottom,rgba(0,0,0,.28),transparent 43%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.28),transparent 43%);pointer-events:none}
.spark{position:absolute;z-index:10;width:7px;height:7px;border-radius:50%;opacity:0;pointer-events:none;background:#fff;box-shadow:0 0 4px #fff,0 0 13px #ffd269,0 0 28px #ffab22,0 0 52px rgba(255,173,44,.55);transform:translate(-50%,-50%) scale(calc(.7 + var(--spark)*.7))}.spark::before,.spark::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#fff,transparent)}.spark::before{width:52px;height:1px}.spark::after{width:1px;height:52px;background:linear-gradient(180deg,transparent,#fff,transparent)}.spark-1{left:50%;top:5.4%}.spark-2{left:82.5%;top:25.5%}.spark-3{left:91%;top:48.2%}.spark-4{left:50%;top:92.4%}.spark-5{left:17.5%;top:31.5%}
.login-dock{--btn-shell:0;--btn-fill:0;--btn-text:0;--btn-glow:0;--btn-sheen:0;position:absolute;z-index:32;top:clamp(18px,3.2vh,34px);left:clamp(20px,4vw,68px);direction:ltr;perspective:1200px;opacity:0;transform:translate3d(-52px,-18px,-140px) rotateX(8deg) rotateY(-34deg) scale(.84);transform-origin:0 50%;will-change:transform,opacity;transition:filter .28s ease;pointer-events:none}.login-dock.is-enabled{pointer-events:auto}.login-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:138px;height:50px;padding:0 30px;border-radius:999px;text-decoration:none;overflow:hidden;color:#fff;background:linear-gradient(135deg,rgba(3,13,32,.74),rgba(5,15,41,.95));border:1px solid rgba(235,191,78,.32);box-shadow:0 20px 38px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12),0 0 calc(10px + var(--btn-glow)*30px) rgba(233,181,54,.30);cursor:pointer;transition:filter .28s ease,box-shadow .28s ease}.login-button:disabled{cursor:default;pointer-events:none;filter:saturate(.78) brightness(.86)}.login-dock.is-enabled .login-button{filter:none}.login-button::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(243,204,102,.95),rgba(188,129,21,.95) 30%,rgba(255,243,202,.92) 52%,rgba(171,120,23,.96) 72%,rgba(240,197,78,.95));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:calc(.06 + var(--btn-shell)*.94)}.login-button__inner,.login-button__glint,.login-button__text{position:absolute;inset:0;border-radius:inherit}.login-button__inner{inset:2px;background:linear-gradient(135deg,rgba(11,42,103,.96) 0%,rgba(17,58,135,.96) 18%,rgba(194,198,208,.90) 38%,rgba(231,235,241,.95) 47%,rgba(18,48,106,.98) 62%,rgba(8,25,66,.98) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 12px 16px rgba(255,255,255,.05),inset 0 -14px 18px rgba(0,0,0,.26);transform-origin:left center;transform:scaleX(calc(.24 + var(--btn-fill)*.76));opacity:calc(.08 + var(--btn-fill)*.92)}.login-button__glint{inset:-20% auto -20% -26%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.0),rgba(255,255,255,.72),rgba(255,225,145,.5),transparent);transform:translateX(calc(var(--btn-sheen)*360%)) skewX(-24deg);opacity:calc(var(--btn-sheen)*.9)}.login-button__text{position:relative;inset:auto;display:flex;align-items:center;justify-content:center;padding-inline:8px;font-size:16px;font-weight:800;letter-spacing:.02em;color:#fbfdff;text-shadow:0 2px 10px rgba(0,0,0,.45),0 0 18px rgba(255,204,100,.12);opacity:var(--btn-text);transform:translateY(calc((1 - var(--btn-text))*8px)) scale(calc(.92 + var(--btn-text)*.08))}.login-button:hover{box-shadow:0 22px 42px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.14),0 0 calc(14px + var(--btn-glow)*36px) rgba(233,181,54,.35)}
.login-modal{position:absolute;inset:0;z-index:70;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .34s ease,visibility .34s ease}.login-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.login-modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 36%,rgba(18,47,98,.20),transparent 36%),linear-gradient(180deg,rgba(4,7,15,.30),rgba(2,4,10,.70));backdrop-filter:blur(14px) saturate(.9);-webkit-backdrop-filter:blur(14px) saturate(.9)}.login-modal__wrap{position:absolute;inset:0;display:grid;place-items:center;padding:24px}
.login-panel{position:relative;direction:rtl;width:min(92vw,560px);padding:26px 24px 24px;border-radius:28px;background:linear-gradient(180deg,rgba(5,15,38,.88),rgba(4,11,29,.92));border:1px solid rgba(234,191,77,.22);box-shadow:0 40px 90px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.06);transform:translateY(18px) scale(.965);opacity:0;transition:transform .34s cubic-bezier(.2,.85,.2,1),opacity .34s ease}.login-modal.is-open .login-panel{transform:translateY(0) scale(1);opacity:1}.login-panel::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,224,138,.95),rgba(182,129,25,.82) 30%,rgba(255,255,255,.66) 52%,rgba(142,172,226,.34) 74%,rgba(236,188,58,.88) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.88}.login-panel::after{content:"";position:absolute;left:8%;right:8%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);opacity:.6}.login-panel__title{margin:4px 0 18px;font-size:clamp(24px,3vw,32px);font-weight:800;color:#f6f8fc;text-shadow:0 4px 22px rgba(0,0,0,.35)}.login-close{position:absolute;left:14px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(236,190,75,.28);background:linear-gradient(180deg,rgba(20,34,70,.85),rgba(7,13,30,.96));box-shadow:0 10px 22px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.08);cursor:pointer}.login-close span{position:absolute;left:50%;top:50%;width:16px;height:1.5px;background:#ebf1fb;border-radius:20px}.login-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}.login-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.login-form{display:grid;gap:15px}.field{display:grid;gap:8px}.field__label{font-size:13px;color:#d7deea;font-weight:700}.field__frame{position:relative;display:block;padding:1px;border-radius:18px;background:linear-gradient(135deg,rgba(239,196,82,.85),rgba(128,162,227,.32),rgba(239,196,82,.65));box-shadow:0 8px 22px rgba(0,0,0,.24)}.field__frame::after{content:"";position:absolute;inset:1px;border-radius:17px;background:linear-gradient(180deg,rgba(10,24,59,.96),rgba(7,15,34,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 -12px 20px rgba(0,0,0,.28)}.field__input{position:relative;z-index:1;width:100%;height:54px;padding:0 18px;border:0;background:transparent;color:#f7fbff;font-size:15px;outline:none}.field__input::placeholder{color:#8da0bc}
.login-status{min-height:22px;margin-top:-2px;font-size:13px;line-height:1.7;color:#d7b969;opacity:0;transform:translateY(-3px);transition:opacity .2s ease,transform .2s ease}.login-status.is-visible{opacity:1;transform:none}.login-status.is-error{color:#ff9b9b}.login-status.is-success{color:#9ee5b4}.login-form.is-busy .field__input,.login-form.is-busy .panel-primary-btn{pointer-events:none}.login-form.is-busy .panel-primary-btn{filter:saturate(.75) brightness(.82)}
.login-form__actions{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:4px}.panel-primary-btn{--panel-fill:1;position:relative;display:inline-flex;align-items:center;justify-content:center;height:54px;border-radius:999px;border:1px solid rgba(238,193,80,.34);background:linear-gradient(135deg,rgba(5,17,41,.76),rgba(9,20,49,.94));box-shadow:0 20px 34px rgba(0,0,0,.36),0 0 20px rgba(233,181,54,.14),inset 0 1px 0 rgba(255,255,255,.12);overflow:hidden;cursor:pointer;color:#fff;padding:0 26px}.panel-primary-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(243,204,102,.95),rgba(188,129,21,.95) 34%,rgba(255,243,202,.92) 52%,rgba(171,120,23,.96) 72%,rgba(240,197,78,.95));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.92}.panel-primary-btn__inner,.panel-primary-btn__glint,.panel-primary-btn__text{position:absolute;inset:0;border-radius:inherit}.panel-primary-btn__inner{inset:2px;background:linear-gradient(135deg,rgba(10,46,112,.96) 0%,rgba(18,58,140,.96) 18%,rgba(207,211,219,.90) 40%,rgba(231,235,241,.95) 49%,rgba(18,48,106,.98) 62%,rgba(8,25,66,.98) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 14px 16px rgba(255,255,255,.05),inset 0 -14px 18px rgba(0,0,0,.26)}.panel-primary-btn__glint{inset:-18% auto -18% -24%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.0),rgba(255,255,255,.72),rgba(255,225,145,.48),transparent);transform:translateX(240%) skewX(-24deg);opacity:.7}.panel-primary-btn__text{position:relative;inset:auto;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;letter-spacing:.01em;text-shadow:0 2px 10px rgba(0,0,0,.42)}
.panel-secondary-btn{height:54px;padding:0 18px;border-radius:999px;border:1px solid rgba(141,162,199,.24);background:linear-gradient(180deg,rgba(10,22,50,.76),rgba(5,11,26,.94));color:#dbe3ef;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)}
.loader{position:absolute;z-index:36;left:50%;top:50%;transform:translate(-50%,-50%);direction:ltr;display:flex;align-items:center;gap:13px;color:#cfd7e3;letter-spacing:.26em;font:700 10px/1 Arial;transition:opacity .4s ease,visibility .4s ease}.loader i{display:block;width:36px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:loadPulse 1.25s ease-in-out infinite}.stage.motion-ready .loader,.stage.motion-failed .loader{opacity:0;visibility:hidden}@keyframes loadPulse{0%,100%{transform:scaleX(.35);opacity:.35}50%{transform:scaleX(1);opacity:1}}
.fallback{position:absolute;z-index:4;left:50%;top:47%;width:min(720px,62vw);aspect-ratio:1;transform:translate(-50%,-50%);opacity:0;visibility:hidden;transition:opacity .4s ease;pointer-events:none}.fallback img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 38px 90px rgba(0,0,0,.6))}.stage.motion-failed .fallback{opacity:.96;visibility:visible}.stage.motion-failed .logo-scene{opacity:0}
.scroll-cue{position:absolute;z-index:29;left:50%;bottom:28px;transform:translateX(-50%);direction:ltr;text-align:center;color:#9ca9ba;font:700 9px/1 Arial;letter-spacing:.32em;transition:opacity .25s ease}.scroll-cue i{display:block;width:1px;height:42px;margin:10px auto 0;background:linear-gradient(#e5b544,transparent)}.screen-sweep{position:absolute;z-index:18;top:-12%;bottom:-12%;left:-34%;width:24%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.025),rgba(255,226,152,.16),rgba(255,255,255,.035),transparent);filter:blur(30px);transform:skewX(-14deg);opacity:0;mix-blend-mode:screen}.debug-hud{position:absolute;z-index:99;left:12px;bottom:12px;direction:ltr;padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(0,0,0,.7);color:#aef3b1;font:11px/1.4 monospace;white-space:pre}
.stage.modal-open .logo-scene,.stage.modal-open .floor-glow,.stage.modal-open .floor-line,.stage.modal-open .scroll-cue,.stage.modal-open .screen-sweep,.stage.modal-open .login-dock{filter:blur(7px) saturate(.88);transition:filter .34s ease}.stage.modal-open .logo-scene{transform:scale(.985)}.stage.modal-open .login-dock{opacity:.78}
@media(max-width:760px){:root{--logo-size:min(92vw,68svh)}.story{height:390vh}.login-dock{left:16px;top:18px}.login-button{min-width:118px;height:44px;padding:0 24px}.login-button__text{font-size:15px}.fallback{width:86vw;top:45%}.scroll-cue{bottom:18px}.floor-line{bottom:10vh;width:86vw}.login-modal__wrap{padding:16px}.login-panel{width:min(94vw,520px);padding:24px 18px 18px}.login-form__actions{grid-template-columns:1fr}.panel-secondary-btn,.panel-primary-btn{width:100%}}
@media(max-width:420px){:root{--logo-size:min(96vw,64svh)}.login-button{min-width:104px;height:40px;padding:0 20px}.login-button__text{font-size:14px}.login-panel__title{font-size:22px}.field__input{height:50px}.panel-primary-btn,.panel-secondary-btn{height:50px}}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .story{height:100svh}html:not(.force-motion) .film-grain,html:not(.force-motion) .screen-sweep,html:not(.force-motion) .scroll-cue,html:not(.force-motion) .spark{display:none!important}html:not(.force-motion) .logo-scene{opacity:1}html:not(.force-motion) .fallback{display:none}html:not(.force-motion) .loader{display:none}html:not(.force-motion) .piece-layer{display:none}html:not(.force-motion) .final-logo{opacity:1!important}html:not(.force-motion) .logo-frame{transform:none!important}html:not(.force-motion) .reflection{opacity:.08!important}html:not(.force-motion) .login-dock{opacity:1!important;transform:none!important}html:not(.force-motion) .login-button{--btn-shell:1!important;--btn-fill:1!important;--btn-text:1!important;--btn-glow:.16!important;--btn-sheen:.34!important}.login-modal,.login-panel{transition:none!important}}


/* V6.5 CINEMATIC LIGHTING PASS — ambient layers only; logo remains crisp */
.cinematic-haze,.cinematic-key,.cinematic-rim,.cinematic-bloom,.lock-bloom,.cinematic-grade{position:absolute;pointer-events:none;opacity:0;will-change:opacity,transform,filter}
.cinematic-haze{z-index:2;left:10%;right:10%;top:10%;bottom:6%;background:radial-gradient(ellipse at 50% 45%,rgba(57,105,190,.16) 0%,rgba(20,56,123,.09) 34%,rgba(7,20,50,.025) 58%,transparent 76%);filter:blur(54px);mix-blend-mode:screen;transform:scale(1.08)}
.cinematic-key{z-index:3;width:72vw;height:38vw;left:-20vw;top:-13vw;border-radius:50%;background:radial-gradient(ellipse at center,rgba(210,225,255,.18) 0%,rgba(91,137,221,.09) 30%,transparent 68%);filter:blur(46px);mix-blend-mode:screen;transform:rotate(-18deg) translate3d(0,0,0)}
.cinematic-rim{z-index:4;width:54vw;height:54vw;right:-18vw;top:3vh;border-radius:50%;background:radial-gradient(circle at center,rgba(255,214,112,.15) 0%,rgba(228,167,47,.065) 34%,transparent 67%);filter:blur(58px);mix-blend-mode:screen;transform:scale(.9)}
.cinematic-bloom{z-index:11;left:50%;top:46%;width:min(920px,78vw);aspect-ratio:1;transform:translate(-50%,-50%) scale(.86);border-radius:50%;background:radial-gradient(circle,rgba(255,236,183,.085) 0%,rgba(72,124,222,.055) 28%,rgba(16,45,102,.024) 48%,transparent 70%);filter:blur(36px);mix-blend-mode:screen}
.lock-bloom{z-index:12;left:50%;top:47%;width:min(760px,64vw);aspect-ratio:1;transform:translate(-50%,-50%) scale(.86);border-radius:50%;background:radial-gradient(circle,rgba(255,245,209,.22) 0%,rgba(240,185,65,.11) 21%,rgba(66,123,220,.045) 42%,transparent 69%);filter:blur(34px);mix-blend-mode:screen}
.cinematic-grade{z-index:23;inset:0;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.045),transparent 42%),linear-gradient(180deg,rgba(36,57,94,.035),transparent 34%,rgba(0,0,0,.08) 100%);mix-blend-mode:soft-light}
.logo-frame::after{content:"";position:absolute;z-index:8;inset:7%;border-radius:50%;pointer-events:none;opacity:var(--hero-halo,0);background:radial-gradient(circle,transparent 44%,rgba(255,220,129,.055) 58%,rgba(71,127,224,.04) 67%,transparent 74%);filter:blur(16px);mix-blend-mode:screen}
.stage.motion-ready .atmosphere,.stage.motion-ready .aurora,.stage.motion-ready .floor-glow,.stage.motion-ready .floor-line,.stage.motion-ready .cinematic-haze,.stage.motion-ready .cinematic-key,.stage.motion-ready .cinematic-rim,.stage.motion-ready .cinematic-bloom,.stage.motion-ready .lock-bloom,.stage.motion-ready .cinematic-grade{transition:opacity .12s linear,filter .12s linear,transform .12s linear}
@media(max-width:760px){.cinematic-key{width:110vw;height:70vw;left:-46vw;top:-12vw}.cinematic-rim{width:86vw;height:86vw;right:-40vw;top:15vh}.cinematic-haze{left:2%;right:2%;top:16%;bottom:10%;filter:blur(42px)}.cinematic-bloom{width:94vw}.lock-bloom{width:82vw}}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .cinematic-key,html:not(.force-motion) .cinematic-rim,html:not(.force-motion) .cinematic-haze,html:not(.force-motion) .cinematic-bloom,html:not(.force-motion) .lock-bloom{transition:none!important}.logo-frame::after{transition:none!important}}


/* STG adaptive performance v6.5.1
   Geometry and cinematic timing remain unchanged.
   Only expensive compositor effects are reduced. */

html.motion-perf-lite .film-grain,
html.motion-perf-lite .spark {
  display:none !important;
}

html.motion-perf-lite .aurora {
  filter:blur(32px) !important;
}

html.motion-perf-lite .floor-glow {
  filter:blur(16px) !important;
}

html.motion-perf-lite .cinematic-haze {
  filter:blur(20px) !important;
}

html.motion-perf-lite .cinematic-key {
  filter:blur(18px) !important;
}

html.motion-perf-lite .cinematic-rim {
  filter:blur(20px) !important;
}

html.motion-perf-lite .cinematic-bloom,
html.motion-perf-lite .lock-bloom {
  filter:blur(14px) !important;
}

html.motion-perf-lite .screen-sweep {
  filter:blur(10px) !important;
}

html.motion-perf-lite .reflection {
  filter:blur(3px)
         saturate(.90) !important;
}


/* ==========================================================================
   SAMIR_IOS_SAFE_MOTION_V652

   Final production iOS/WebKit-safe motion profile.

   Desktop and macOS Safari retain the original cinematic presentation.
   iOS keeps:
   - 2D piece motion
   - safe depth shadow
   - dynamic halo
   - rim light
   - lightweight reflection

   Expensive iOS compositor paths remain disabled.
   ========================================================================== */

html.ios-motion-safe .stage {
  isolation:auto !important;
}

/* Decorative layers removed on iOS */
html.ios-motion-safe .film-grain,
html.ios-motion-safe .aurora,
html.ios-motion-safe .screen-sweep {
  display:none !important;
}

/* Background surfaces */
html.ios-motion-safe .atmosphere {
  filter:none !important;
  transform:none !important;
  will-change:auto !important;
}

html.ios-motion-safe .floor-glow {
  filter:none !important;
  transform:translateX(-50%) !important;
  will-change:auto !important;
}

html.ios-motion-safe .floor-line,
html.ios-motion-safe .vignette {
  filter:none !important;
  will-change:auto !important;
}

/* Flatten the core 3D scene */
html.ios-motion-safe .logo-scene {
  perspective:none !important;
  filter:none !important;
  transform:none !important;
  transition:opacity .35s ease !important;
}

html.ios-motion-safe .logo-frame {
  transform-style:flat !important;
  transform:none !important;
  filter:none !important;
  will-change:auto !important;
}

html.ios-motion-safe .piece-layer {
  transform-style:flat !important;
  transform:none !important;
}

/*
   Piece transform is intentionally NOT frozen here.
   The JS iOS branch provides translate(X/Y), rotateZ and scale only.
*/
html.ios-motion-safe .logo-piece {
  transform-style:flat !important;
  filter:none !important;
  will-change:opacity !important;
}

html.ios-motion-safe .logo-piece img {
  filter:none !important;
  backface-visibility:visible !important;
}

html.ios-motion-safe .final-logo {
  filter:none !important;
  will-change:opacity !important;
}

/* Flatten login compositor state on iOS */
html.ios-motion-safe .login-dock {
  perspective:none !important;
  transform:none !important;
  filter:none !important;
  will-change:opacity !important;
}

html.ios-motion-safe .login-modal__backdrop {
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

html.ios-motion-safe .stage.modal-open .logo-scene,
html.ios-motion-safe .stage.modal-open .floor-glow,
html.ios-motion-safe .stage.modal-open .floor-line,
html.ios-motion-safe .stage.modal-open .scroll-cue,
html.ios-motion-safe .stage.modal-open .screen-sweep,
html.ios-motion-safe .stage.modal-open .login-dock {
  filter:none !important;
  transform:none !important;
}

/* --------------------------------------------------------------------------
   Safe depth shadow
   -------------------------------------------------------------------------- */

html.ios-motion-safe .logo-frame::before {
  content:"";
  position:absolute;
  z-index:0;

  left:13%;
  right:13%;
  bottom:-3%;

  height:22%;

  pointer-events:none;

  border-radius:50%;

  background:
    radial-gradient(
      ellipse at center,
      rgba(0,0,0,.46) 0%,
      rgba(0,0,0,.28) 34%,
      rgba(0,0,0,.13) 52%,
      rgba(0,0,0,.045) 64%,
      transparent 78%
    );

  opacity:.78;
}

/* --------------------------------------------------------------------------
   Safe dynamic halo
   Uses the original --hero-halo timeline.
   -------------------------------------------------------------------------- */

html.ios-motion-safe .logo-frame::after {
  inset:5% !important;

  border-radius:50% !important;

  opacity:var(--hero-halo,0) !important;

  background:
    radial-gradient(
      circle at 50% 50%,
      transparent 34%,
      rgba(255,231,165,.025) 43%,
      rgba(255,215,112,.095) 54%,
      rgba(102,153,235,.060) 65%,
      rgba(47,98,190,.025) 72%,
      transparent 80%
    ) !important;

  filter:none !important;
  mix-blend-mode:normal !important;

  -webkit-mask-image:none !important;
  mask-image:none !important;

  box-shadow:none !important;

  transform:none !important;
  transform-style:flat !important;

  will-change:auto !important;
}

/* --------------------------------------------------------------------------
   Safe rim light
   -------------------------------------------------------------------------- */

.ios-safe-rim {
  display:none;
}

html.ios-motion-safe .ios-safe-rim {
  display:block;

  position:absolute;
  z-index:6;

  inset:7.5%;

  pointer-events:none;

  border-radius:50%;

  border:1px solid rgba(255,224,145,.12);

  border-top-color:rgba(255,246,218,.30);
  border-left-color:rgba(239,198,96,.22);
  border-right-color:rgba(98,153,238,.16);
  border-bottom-color:rgba(55,99,178,.08);

  background:
    radial-gradient(
      circle at 50% 50%,
      transparent 0%,
      transparent 60%,
      rgba(255,237,191,.025) 61.5%,
      rgba(246,200,94,.060) 63.5%,
      rgba(102,156,239,.040) 66%,
      transparent 69%
    );

  opacity:var(--hero-halo,0);

  filter:none;
  mix-blend-mode:normal;

  box-shadow:none;

  -webkit-mask-image:none;
  mask-image:none;

  transform:none;
  transform-style:flat;

  will-change:auto;
}

/* --------------------------------------------------------------------------
   Safe reflection
   Original opacity timeline remains driven by JavaScript.
   -------------------------------------------------------------------------- */

html.ios-motion-safe .reflection {
  display:block !important;

  z-index:1 !important;

  left:0 !important;
  top:91% !important;

  width:100% !important;
  height:100% !important;

  object-fit:contain !important;

  transform:scaleY(-.16) !important;
  transform-origin:50% 0 !important;

  filter:none !important;

  -webkit-mask-image:none !important;
  mask-image:none !important;

  mix-blend-mode:normal !important;

  box-shadow:none !important;

  backface-visibility:visible !important;

  will-change:auto !important;

  pointer-events:none !important;
}

/* End SAMIR_IOS_SAFE_MOTION_V652 */


/* ==========================================================================
   SAMIR_BRAND_WORDMARK_V1
   TEST scroll-synchronised corporate wordmark
   ========================================================================== */

.brand-wordmark{
  position:absolute;
  z-index:32;

  left:50%;

  /*
   * floor-line already sits at 10vh from the bottom.
   * This places the wordmark in the visual breathing space
   * between the completed emblem and that line.
   */
  bottom:calc(10vh + 27px);

  width:max-content;
  max-width:90vw;

  direction:ltr;
  unicode-bidi:isolate;

  pointer-events:none;
  user-select:none;

  opacity:0;

  transform:
    translate3d(-50%,14px,0)
    scale(.985);

  transform-origin:50% 50%;

  filter:blur(8px);

  clip-path:inset(0 50% 0 50%);
  -webkit-clip-path:inset(0 50% 0 50%);

  color:rgba(235,241,250,.96);

  font-family:
    "Avenir Next",
    "Segoe UI",
    Arial,
    Helvetica,
    sans-serif;

  font-size:clamp(10px,.78vw,14px);
  font-weight:600;
  line-height:1;

  letter-spacing:.42em;

  /*
   * compensates visually for the final trailing tracking
   * so the text remains optically centred.
   */
  padding-left:.42em;

  text-transform:uppercase;

  text-shadow:
    0 1px 0 rgba(255,255,255,.11),
    0 5px 16px rgba(0,0,0,.72),
    0 0 18px rgba(53,109,205,.10);

  will-change:
    opacity,
    transform,
    filter,
    letter-spacing,
    clip-path;

  contain:layout style;
}

.brand-wordmark span{
  display:block;

  background:
    linear-gradient(
      98deg,
      rgba(166,184,210,.72) 0%,
      rgba(231,238,249,.94) 26%,
      rgba(255,255,255,1) 44%,
      rgba(226,184,91,.96) 50%,
      rgba(255,255,255,1) 57%,
      rgba(217,228,244,.94) 75%,
      rgba(149,171,204,.72) 100%
    );

  background-size:220% 100%;
  background-position:100% 50%;

  -webkit-background-clip:text;
  background-clip:text;

  -webkit-text-fill-color:transparent;
  color:transparent;

  filter:
    drop-shadow(0 0 8px rgba(220,170,65,.05));
}

/*
 * Tiny luminous anchor behind the wordmark.
 * It is intentionally subtle; the floor line must remain the visual terminus.
 */
.brand-wordmark::before{
  content:"";

  position:absolute;
  left:50%;
  top:50%;

  width:118%;
  height:32px;

  transform:translate(-50%,-50%);

  background:
    radial-gradient(
      ellipse at center,
      rgba(49,101,190,.08) 0%,
      rgba(222,173,71,.025) 37%,
      transparent 72%
    );

  filter:blur(10px);

  pointer-events:none;
  z-index:-1;
}


/* Login modal follows the same cinematic blur language. */
.stage.modal-open .brand-wordmark{
  filter:blur(7px) saturate(.88) !important;
  transition:filter .34s ease;
}


/* Tablet / phone */
@media(max-width:760px){

  .brand-wordmark{
    bottom:calc(10vh + 22px);

    max-width:88vw;

    font-size:clamp(9px,2.45vw,11px);

    letter-spacing:.29em;
    padding-left:.29em;
  }

}


/* Very narrow phones */
@media(max-width:420px){

  .brand-wordmark{
    bottom:calc(10vh + 19px);

    font-size:9px;

    letter-spacing:.24em;
    padding-left:.24em;
  }

}


/*
 * Reduced motion:
 * logo already has a static accessible end-state in this profile,
 * so the company name must also be fully visible.
 */
@media(prefers-reduced-motion:reduce){

  html:not(.force-motion) .brand-wordmark{
    opacity:1 !important;

    transform:
      translate3d(-50%,0,0)
      scale(1) !important;

    filter:none !important;

    clip-path:inset(0 0 0 0) !important;
    -webkit-clip-path:inset(0 0 0 0) !important;

    letter-spacing:.24em !important;
    padding-left:.24em !important;
  }

}


/*
 * iOS/WebKit safety profile.
 * Progress is still controlled by JS, but expensive animated blur
 * is removed to keep the existing iOS-safe philosophy intact.
 */
html.ios-motion-safe .brand-wordmark{
  filter:none !important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}


/* SAMIR_LAYOUT_TUNING_V1_BEGIN
   TEST ONLY
   - wordmark centered lower in the logo/floor-line gap
   - mobile login dock moved away from top browser/safe-area edge
*/

/* Desktop:
   Previous effective value: calc(10vh + 27px)
   New value: 16px lower
*/
.brand-wordmark{
  bottom:calc(10vh + 11px);
}


/* Mobile */
@media(max-width:760px){

  /* Keep the wordmark visually centred in the smaller mobile gap. */
  .brand-wordmark{
    bottom:calc(10vh + 8px);
  }

  /*
   * Existing mobile position was top:18px.
   * Give the control more touch-safe breathing room.
   *
   * First declaration is the broad compatibility fallback.
   * Second declaration additionally respects iOS/notch safe-area.
   */
  .login-dock{
    top:30px;
    top:max(
      30px,
      calc(env(safe-area-inset-top, 0px) + 12px)
    );
  }
}


/* Narrow phones */
@media(max-width:420px){

  .brand-wordmark{
    bottom:calc(10vh + 6px);
  }

}

/* SAMIR_LAYOUT_TUNING_V1_END */


/* SAMIR_LOGIN_AUTOFILL_FIX_V2_BEGIN
 *
 * Clean replacement for rejected V1.
 *
 * IMPORTANT:
 * This rule does NOT paint an Autofill background.
 * It keeps the original input appearance in place by delaying
 * browser-injected Autofill background/text-color transitions.
 *
 * Geometry and existing visual design remain owned by the
 * original .field__frame / .field__input rules.
 */

/* Chromium / Safari */
#loginUser:-webkit-autofill,
#loginUser:-webkit-autofill:hover,
#loginUser:-webkit-autofill:focus,
#loginUser:-webkit-autofill:active,
#loginPass:-webkit-autofill,
#loginPass:-webkit-autofill:hover,
#loginPass:-webkit-autofill:focus,
#loginPass:-webkit-autofill:active {
    -webkit-text-fill-color: currentColor !important;
    caret-color: currentColor;

    transition:
        background-color 999999s linear 0s,
        color 999999s linear 0s !important;
}

/* Standards selector, including current Firefox implementations */
#loginUser:autofill,
#loginPass:autofill {
    transition:
        background-color 999999s linear 0s,
        color 999999s linear 0s !important;
}

/* SAMIR_LOGIN_AUTOFILL_FIX_V2_END */

