:root{
--green:#1C455A;
--green-dark:#123547;
--gold:#D4AF37;
--white:#FFFFFF;
--muted:rgba(255,255,255,.78);
--line:rgba(255,255,255,.20);
--shadow:0 22px 55px rgba(0,0,0,.22);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{min-height:100%}
body{
font-family:"Poppins",sans-serif;
color:var(--white);
background:radial-gradient(circle at top center,rgba(255,255,255,.08),transparent 36%),var(--green);
overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.welcome-screen{min-height:100vh;display:grid;place-items:center;padding:36px 20px}
.welcome-card{width:min(860px,96vw);text-align:center}
.welcome-logo{display:block;width:132px;max-width:34vw;height:auto;margin:0 auto 22px;animation:logoEntrance .75s ease both}
.welcome-card h1{font-size:clamp(2.7rem,7vw,4.4rem);line-height:1;letter-spacing:.02em}
.company-name{margin-top:12px;color:var(--muted);font-size:18px}
.loader-area{width:min(440px,100%);margin:38px auto 0;transition:opacity .5s ease,transform .5s ease}
.loader-area.is-complete{opacity:0;transform:translateY(-16px)}
.progress-track{width:100%;height:9px;overflow:hidden;background:var(--line);border-radius:999px}
.progress-fill{width:0;height:100%;background:var(--white);border-radius:inherit;transition:width .08s linear}
#progressPercent{display:block;margin-top:15px;font-size:18px}
#progressStatus{min-height:24px;margin-top:8px;color:var(--muted);font-size:14px}
.language-selector{display:none;opacity:0;transform:translateY(20px)}
.language-selector.is-visible{display:block;animation:selectorEntrance .7s ease forwards}
.welcome-text{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.language-selector h2{margin-top:14px;color:var(--white);font-size:clamp(1.9rem,4.2vw,2.8rem)}
.language-description{margin-top:10px;color:var(--muted);font-size:16px}
.language-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.language-button{
display:flex;flex-direction:column;align-items:center;justify-content:center;
min-height:145px;padding:24px 18px;color:var(--green);background:var(--white);
border:1px solid rgba(255,255,255,.45);border-radius:18px;box-shadow:var(--shadow);
transition:color .25s ease,background-color .25s ease,box-shadow .25s ease,transform .25s ease
}
.language-button:hover,.language-button:focus-visible{
color:var(--white);background:var(--green-dark);box-shadow:0 28px 65px rgba(0,0,0,.28);
transform:translateY(-6px);outline:none
}
.language-button strong{font-size:20px;letter-spacing:.04em}
.language-button span{margin-top:8px;font-size:14px;opacity:.75}
.global-message{margin-top:30px;color:rgba(255,255,255,.68);font-size:13px;letter-spacing:1px}
@keyframes logoEntrance{from{opacity:0;transform:translateY(-18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes selectorEntrance{to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){
.welcome-screen{align-items:start;padding-top:46px}
.language-options{grid-template-columns:1fr}
.language-button{min-height:105px}
}
@media(max-width:420px){
.welcome-logo{width:104px}
.company-name{font-size:16px}
.language-description{font-size:14px}
}
