@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
.vacancy-grid.single-vacancy{grid-template-columns:minmax(0,560px)}.vacancy-avatar{display:grid;place-items:center;margin:-3px 0 24px;padding:12px;background:radial-gradient(ellipse,#57f0bd12,transparent 70%);border-bottom:1px solid var(--line)}.vacancy-avatar img{width:100%;height:235px;object-fit:contain;filter:drop-shadow(0 10px 18px #0003)}.vacancy-card h3{overflow-wrap:normal;word-break:normal;hyphens:none;line-height:1.25}.avatar-picker{padding:0;margin:0 0 25px;border:0;min-width:0}.avatar-picker legend{font-size:13px;font-weight:600}.avatar-picker>p{font-size:12px;margin:8px 0 14px}.avatar-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.avatar-option{position:relative;margin:0;padding:10px 7px;border:1px solid var(--line);border-radius:10px;background:#0b0f1d;cursor:pointer;text-align:center;transition:border-color .2s,background .2s}.avatar-option:has(input:checked){background:#57f0bd10;border-color:var(--mint)}.avatar-option:has(input:focus-visible){outline:2px solid var(--mint);outline-offset:3px}.avatar-option input[type=radio]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.avatar-option img{display:block;height:85px;width:100%;object-fit:contain;margin-bottom:8px}.avatar-option span{font-size:10px;line-height:1.4;display:block}.avatar-option:has(input:checked):after{content:'✓';position:absolute;right:7px;top:5px;color:var(--mint);pointer-events:none}@media(max-width:750px){.vacancy-grid.single-vacancy{grid-template-columns:minmax(0,1fr)}.vacancy-avatar img{height:210px}.avatar-options{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-option img{height:100px}.avatar-option span{font-size:12px}}
.login-avatar{position:relative;height:180px;width:190px;margin:0 auto 8px}.login-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .2s,transform .3s}.login-avatar-covered{opacity:0;transform:translateY(8px)}.login-avatar.protecting .login-avatar-open{opacity:0;transform:translateY(5px)}.login-avatar.protecting .login-avatar-covered{opacity:1;transform:translateY(0)}.login-avatar-caption{text-align:center;font-size:12px;margin:0 0 24px;color:var(--mint)}.login-loading{width:400px;text-align:center}.login-loading-content{padding:30px 26px}.login-loading-content h2{font-size:25px}.login-loading-content p{font-size:13px}.login-loading-avatar{position:relative;width:175px;height:180px;margin:0 auto 22px;animation:login-float 1.5s ease-in-out infinite}.login-loading-avatar img{width:100%;height:100%;object-fit:contain}.login-lock{position:absolute;right:6px;bottom:3px;display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--mint);color:#08241f;border:4px solid #101425;font-weight:700}.login-loading-bar{height:4px;width:80%;margin:25px auto 5px;background:#273047;border-radius:4px;overflow:hidden}.login-loading-bar i{display:block;height:100%;background:var(--mint);transform-origin:left;animation:login-wait 3s linear forwards}@keyframes login-float{50%{transform:translateY(-6px)}}@keyframes login-wait{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:750px){.login-avatar{height:150px;width:160px}.login-loading-content{padding:26px 20px}}@media(prefers-reduced-motion:reduce){.login-avatar img{transition:none}.login-loading-avatar,.login-loading-bar i{animation:none}}
.steps-animated .step{overflow:hidden;transition:border-color .3s,box-shadow .3s,translate .3s}.steps-animated .step-avatar{transform-origin:50% 85%;animation:avatar-breathe 4.4s ease-in-out infinite;animation-play-state:paused}.steps-animated .step:nth-child(2) .step-avatar{animation-name:avatar-speak;animation-delay:-1.3s}.steps-animated .step:nth-child(3) .step-avatar{animation-name:avatar-approve;animation-delay:-2.6s}.steps-animated .step:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,#57f0bd09 48%,transparent 64%);background-size:250% 100%;animation:step-sheen 9s ease-in-out infinite;animation-play-state:paused}.steps-animated .step:nth-child(2):after{animation-delay:1.2s}.steps-animated .step:nth-child(3):after{animation-delay:2.4s}.steps-playing .step-avatar,.steps-playing .step:after{animation-play-state:running}@media(hover:hover){.steps-animated .step:hover{translate:0 -6px;border-color:#57f0bd77;box-shadow:0 18px 40px #0003,0 0 24px #57f0bd0c}.steps-animated .step:hover .step-avatar{filter:drop-shadow(0 12px 22px #57f0bd22)}}@keyframes avatar-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes avatar-speak{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-6px) rotate(-1.2deg)}}@keyframes avatar-approve{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.025)}}@keyframes step-sheen{0%,25%{background-position:150% 0;opacity:0}35%{opacity:1}55%,100%{background-position:-100% 0;opacity:0}}@media(prefers-reduced-motion:reduce){.steps-animated .step-avatar,.steps-animated .step:after{animation:none}.steps-animated .step{transition:none}.steps-animated .step:hover{translate:0 0}}
.process .step{position:relative;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#171d2b,#0d111d);min-width:0}.process .step:before{position:absolute;top:25px;left:24px;font-size:22px;z-index:1}.step-avatar{display:block;width:100%;height:230px;object-fit:contain;margin:0 auto 24px;filter:drop-shadow(0 10px 20px #0003)}.process .step h3{margin-top:0}.process .step p{margin-bottom:0}@media(max-width:750px){.step-avatar{height:210px}.process .step{padding:24px}}
.mascot-tip-button{position:absolute;top:27px;left:50%;translate:-50% 0;z-index:3;width:54px;height:54px;border-radius:50%;padding:0;background:#fff4a826;color:#fff4a8;border:1px solid #ffe06b99;box-shadow:0 0 22px #ffe06b44;animation:bulb-glow 2s ease-in-out infinite;font-size:28px}.mascot-tip-button:focus-visible{outline:3px solid var(--mint);outline-offset:5px}.mascot-guide{display:flex;align-items:center;gap:17px;margin-bottom:25px;padding:15px;background:linear-gradient(120deg,#57f0bd0c,#ae91ff0a);border:1px solid #57f0bd33;border-radius:13px}.mascot-guide img{width:60px;height:90px;object-fit:contain;flex-shrink:0}.mascot-guide .eyebrow{font-size:9px;letter-spacing:1px}.mascot-guide p{font-size:12px;line-height:1.65;margin:7px 0 0}.mascot-guide.large img{width:90px;height:125px}.mascot-guide.large p{font-size:14px}.mascot-facts details{border:1px solid var(--line);border-radius:10px;background:#0b0f1d;margin-bottom:12px;padding:16px}.mascot-facts summary{cursor:pointer;color:var(--mint);font-size:14px;font-weight:600}.mascot-facts p{font-size:13px;margin-bottom:0}@keyframes bulb-glow{50%{box-shadow:0 0 34px #ffe06b77;background:#fff4a83a}}@media(max-width:750px){.mascot-tip-button{top:26px;width:48px;height:48px}.mascot-guide{gap:12px;padding:12px}}@media(prefers-reduced-motion:reduce){.mascot-tip-button{animation:none}}
.art:has(.hero-mascot){height:410px}.orb.mascot-orb{width:290px;height:350px;background:radial-gradient(ellipse,#57f0bd18,transparent 68%);border-radius:0;box-shadow:none;transform:rotate(0);position:relative}.hero-mascot{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 25px #0005)}.art:has(.hero-mascot) .float.one{top:0;right:-10px}.art:has(.hero-mascot) .float.two{bottom:0;left:-15px}@media(max-width:750px){.art:has(.hero-mascot){height:360px}.orb.mascot-orb{width:250px;height:305px}.art:has(.hero-mascot) .float.one{right:0}.art:has(.hero-mascot) .float.two{left:0}}
.intro-active{overflow:hidden}.welcome-intro{position:fixed;inset:0;z-index:100;background:#080b15;display:grid;place-items:center;animation:intro-exit .4s 3.6s ease-in forwards}.intro-stage{position:relative;width:min(650px,90vw);height:min(520px,85svh);min-height:300px}.intro-halo{position:absolute;inset:0;background:radial-gradient(ellipse,#57f0bd15,transparent 65%)}.intro-logo{position:absolute;top:5%;left:20%;width:60%;height:auto;mix-blend-mode:screen;animation:intro-logo 1s both}.intro-cloud{position:absolute;width:90px;color:#b4ffe6;filter:drop-shadow(0 0 16px #57f0bd33);opacity:0;animation:intro-cloud-fall 2.2s ease-in-out both}.intro-cloud svg{width:100%;display:block}.intro-cloud.c1{left:11%;top:13%;--fall:190px;animation-delay:.25s}.intro-cloud.c2{left:43%;top:9%;--fall:210px;animation-delay:.5s}.intro-cloud.c3{left:76%;top:13%;--fall:190px;animation-delay:.75s}.intro-cloud.c4{left:44%;top:21%;width:60px;--fall:155px;animation-delay:1s}.intro-computers{position:absolute;left:3%;right:3%;top:61%;display:flex;justify-content:space-between;gap:18px;color:var(--mint)}.intro-computers>div{width:120px;text-align:center;animation:intro-pc .7s .4s both}.intro-computers svg{display:block;width:100%;height:auto}.intro-computers span{font-size:11px;color:var(--muted)}.intro-check{stroke-dasharray:50;stroke-dashoffset:50;animation:intro-check .4s 2.8s forwards}.intro-computers>div:nth-child(2) .intro-check{animation-delay:3s}.intro-computers>div:nth-child(3) .intro-check{animation-delay:3.2s}.intro-connections{position:absolute;top:30%;height:32%;left:20%;right:20%;display:flex;justify-content:space-between;opacity:.3}.intro-connections i{width:1px;height:100%;background:linear-gradient(transparent,var(--mint));transform-origin:top;animation:intro-line 1.2s 1s both}.intro-connections i:first-child{transform:rotate(22deg)}.intro-connections i:last-child{transform:rotate(-22deg)}.intro-caption{position:absolute;bottom:4%;width:100%;text-align:center;font-size:13px;color:var(--muted)}.intro-progress{position:absolute;bottom:1%;height:3px;left:30%;width:40%;background:#263147;border-radius:4px;overflow:hidden}.intro-progress i{display:block;height:100%;background:var(--mint);transform-origin:left;animation:intro-progress 3.6s linear both}@keyframes intro-logo{from{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:none}}@keyframes intro-cloud-fall{0%{opacity:0;transform:translateY(-35px) scale(.6)}20%{opacity:.85}80%{opacity:.6}100%{opacity:0;transform:translateY(var(--fall)) scale(.3)}}@keyframes intro-pc{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes intro-check{to{stroke-dashoffset:0}}@keyframes intro-line{from{opacity:0}to{opacity:1}}@keyframes intro-progress{from{scale:0 1}to{scale:1 1}}@keyframes intro-exit{to{opacity:0;visibility:hidden}}@media(max-width:600px){.intro-stage{height:400px}.intro-logo{left:8%;width:84%;top:8%}.intro-cloud{width:60px}.intro-cloud.c1,.intro-cloud.c3{--fall:150px}.intro-cloud.c2{--fall:170px}.intro-cloud.c4{width:45px;--fall:120px}.intro-computers>div{width:90px}.intro-computers{gap:15px;top:60%}.intro-caption{bottom:5%}}@media(prefers-reduced-motion:reduce){.welcome-intro,.intro-logo,.intro-cloud,.intro-computers>div,.intro-check,.intro-connections i,.intro-progress i{animation:none}.intro-cloud{display:none}.intro-check{stroke-dashoffset:0}.intro-progress i{scale:1 1}}
.pc-transfer{width:100%;max-width:340px;margin:0 auto 24px;color:var(--mint)}.pc-transfer svg{display:block;width:100%;height:auto;overflow:visible}.transfer-pc{stroke:var(--mint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:#151f2c}.transfer-pc .pc-screen{fill:#57f0bd10;stroke:#57f0bd55}.transfer-pc .screen-lines,.transfer-pc .screen-check{fill:none}.transfer-wire{opacity:.35}.transfer-message{fill:var(--mint);stroke:#0a3026;stroke-width:2;animation:pc-send 3s infinite ease-in-out;filter:drop-shadow(0 0 7px #57f0bd55)}.screen-check{animation:pc-receive 3s infinite;opacity:0}.pc-transfer text{fill:var(--muted);font:11px 'DM Sans',sans-serif}.anime-transfer .transfer-message,.anime-transfer .screen-check{animation:none}@keyframes pc-send{0%,10%{transform:translateX(0);opacity:0}20%{opacity:1}65%{transform:translateX(135px);opacity:1}75%,100%{transform:translateX(135px);opacity:0}}@keyframes pc-receive{0%,60%,100%{opacity:0}70%,90%{opacity:1}}@media(prefers-reduced-motion:reduce){.transfer-message,.screen-check{animation:none;opacity:1}.transfer-message{transform:translateX(65px)}}
.field-hint{font-size:12px;line-height:1.6;margin-top:0}
.brand-image{display:block;width:190px;height:auto;aspect-ratio:3 / 1;object-fit:contain;mix-blend-mode:screen}.orb-logo{width:74%;height:auto;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 3px 9px #0004)}footer .brand-image{width:165px;height:auto}
.vacancy-label{margin-top:20px;color:var(--purple);font-size:10px;font-weight:700;letter-spacing:1px}
.connection-dot{position:absolute;top:0;left:0;width:7px;height:7px;margin:-3.5px;background:var(--mint);border-radius:50%;box-shadow:0 0 12px var(--mint),0 0 25px #57f0bd66}.connection-dot.second{background:var(--purple);box-shadow:0 0 12px var(--purple)}.connection-dot.third{width:4px;height:4px;margin:-2px;opacity:.7}.art{isolation:isolate}.art .orbit{pointer-events:none}.art .float{z-index:1}@media(prefers-reduced-motion:reduce){.connection-dot{display:none}}
.submission-dialog{width:460px;text-align:center;box-shadow:0 24px 100px #0008;animation:submission-enter .3s ease-out}.submission-content{padding:38px 30px}.submission-content h2{font-size:27px;letter-spacing:-.8px}.submission-content p{font-size:14px}.submission-content .notice{margin-top:22px;text-align:left}.send-animation,.success-animation{position:relative;width:90px;height:90px;margin:0 auto 27px;display:grid;place-items:center;color:var(--mint);background:#57f0bd10;border-radius:50%}.send-animation svg,.success-animation svg{width:46px;height:46px}.send-animation svg{animation:send-float 1.6s ease-in-out infinite}.send-ring{position:absolute;inset:0;border:2px solid #57f0bd20;border-top-color:var(--mint);border-radius:50%;animation:send-spin 1s linear infinite}.success-animation{border:1px solid #57f0bd55;animation:submission-enter .4s ease-out}.success-animation path{stroke-dasharray:40;stroke-dashoffset:40;animation:check-draw .5s .1s ease-out forwards}.sending-dots{animation:send-dots 1s ease-in-out infinite}button:disabled{cursor:wait;opacity:.6}@keyframes send-spin{to{transform:rotate(360deg)}}@keyframes send-float{50%{transform:translate(3px,-4px)}}@keyframes submission-enter{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes send-dots{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.submission-dialog,.send-animation svg,.send-ring,.success-animation,.sending-dots{animation:none}.success-animation path{animation:none;stroke-dashoffset:0}}
:root{color-scheme:dark;--bg:#080b15;--panel:#111625;--line:#272d40;--muted:#a5aec3;--mint:#57f0bd;--purple:#ae91ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f5fb;font-family:'DM Sans',sans-serif}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1180px)/2));gap:20px}.brand{display:flex;align-items:center;gap:9px;font-family:'Space Grotesk';letter-spacing:1px;font-size:15px}.brand b{font-weight:400;color:var(--muted)}.logo{font-size:38px;font-weight:700;color:var(--mint);letter-spacing:-5px;margin-right:14px}.logo span{color:var(--purple)}nav{display:flex;gap:30px;font-size:13px;color:var(--muted)}main{min-height:70vh}.wrap{max-width:1180px;margin:auto;padding:0 28px}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 85% 50%,#25374777,transparent 48%),radial-gradient(ellipse at 5% 5%,#34224e77,transparent 55%)}.hero .wrap{padding-top:88px;padding-bottom:88px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:65px}.eyebrow{color:var(--mint);font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase}.pill{display:inline-block;padding:10px 14px;border:1px solid #57f0bd44;border-radius:30px;background:#57f0bd0c}h1,h2,h3{font-family:'Space Grotesk';letter-spacing:-1.5px}h1{font-size:clamp(42px,5vw,66px);line-height:1.08;margin:25px 0}h1 em{color:var(--mint);font-style:normal}p{color:var(--muted);line-height:1.75}button,.button{cursor:pointer;border:0;border-radius:9px;padding:14px 21px;background:var(--mint);color:#071d18;font:600 14px 'DM Sans';display:inline-flex;justify-content:center;align-items:center;gap:14px}button:hover,.button:hover{filter:brightness(1.1)}.secondary{background:#1b2132;color:#eef0f7;border:1px solid var(--line)}.hero p{max-width:510px;font-size:16px}.hero .button{margin:18px 0 25px}.meta{display:flex;gap:22px;font-size:12px;color:var(--muted);flex-wrap:wrap}.art{height:330px;position:relative;display:grid;place-items:center}.orb{width:255px;height:255px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#c6ffe5,#53cda4 23%,#345963 55%,#201b39 73%);box-shadow:0 0 90px #57f0bd19;display:grid;place-items:center;transform:rotate(-12deg);font-family:'Space Grotesk';font-size:170px;color:#08241f;letter-spacing:-15px}.orbit{position:absolute;width:350px;height:140px;border:1px solid #8baec655;border-radius:50%;transform:rotate(-28deg)}.float{position:absolute;padding:13px 19px;background:#151c2bec;border:1px solid #384356;border-radius:12px;font-size:12px;box-shadow:0 12px 50px #0005}.float.one{top:18px;right:0}.float.two{bottom:30px;left:0;color:var(--mint)}section{padding:65px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}h2{font-size:34px;margin:10px 0}h3{font-size:23px;margin:18px 0;letter-spacing:-.7px}.count{padding:8px 12px;border-radius:30px;background:#191f2e;color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,#171d2d,#101422);padding:27px}.card p{font-size:14px}.card .button{width:100%;margin-top:22px}.tag{font-size:10px;letter-spacing:1px;color:var(--mint);background:#57f0bd11;padding:7px 10px;border-radius:6px}.details{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:12px;color:var(--muted);line-height:2}.empty{grid-column:1/-1;padding:45px;border:1px dashed #394054;border-radius:14px;text-align:center}.steps{counter-reset:step}.step:before{counter-increment:step;content:'0' counter(step);color:var(--mint);font-family:'Space Grotesk';font-size:30px}.step h3{font-size:19px}.process{border-top:1px solid var(--line);background:#0d111d}footer{max-width:1180px;margin:auto;padding:32px 28px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}dialog{background:#101425;color:#f4f5fb;border:1px solid #35394f;border-radius:18px;padding:0;width:540px;max-width:calc(100% - 24px);max-height:90vh;overflow:auto}dialog::backdrop{background:#03050ddd;backdrop-filter:blur(8px)}.modalhead{padding:25px;border-bottom:1px solid var(--line);position:relative}.modalhead h2{font-size:25px}.close{position:absolute;right:20px;top:20px;padding:7px 12px;background:#242a3c;color:white}.progress{display:flex;gap:6px;margin-top:20px}.progress i{height:4px;background:#30354c;flex:1;border-radius:4px}.progress .done{background:var(--mint)}.formbody{padding:25px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:12px;font-weight:600;margin-bottom:17px}input,select,textarea{width:100%;margin-top:8px;padding:13px;border:1px solid #353a51;border-radius:8px;background:#0b0f1d;color:#f4f5fb;font:14px 'DM Sans'}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #57f0bd80}input[type=checkbox]{width:auto;margin:0 9px 0 0}.actions{display:flex;gap:10px;justify-content:flex-end;padding:20px 25px;border-top:1px solid var(--line)}.actions button:last-child{flex:1}.notice{padding:15px;background:#57f0bd0b;border:1px solid #57f0bd33;border-radius:9px;font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:20px}.error{color:#ffa1a1;font-size:13px}.admin{padding:55px 28px}.login{max-width:440px;margin:40px auto}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.adminlist{display:grid;gap:15px}.adminitem{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;justify-content:space-between;align-items:center;gap:20px}.adminitem p{margin:6px 0;font-size:13px}.adminitem h3{margin:0;font-size:20px}.filelinks{display:flex;gap:18px;flex-wrap:wrap;margin:15px 0;color:var(--mint);font-size:13px}audio{max-width:100%;height:35px}.full{width:100%}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--mint);color:#08241f;padding:14px 22px;border-radius:10px;display:none;z-index:9}@media(max-width:750px){header{height:74px;padding:0 20px}nav{gap:15px}nav a:first-child{display:none}.hero .wrap{grid-template-columns:1fr;padding-top:55px;padding-bottom:45px;gap:10px}.art{height:270px}.orb{height:210px;width:210px;font-size:140px}.orbit{width:290px}.grid{grid-template-columns:1fr}.sectionhead{align-items:start}h2{font-size:28px}.row{grid-template-columns:1fr}footer{flex-direction:column}.adminitem{align-items:start;flex-direction:column}section{padding:45px 0}.brand{font-size:12px}}

/* More breathing room between the main sections and their content. */
.hero .wrap{padding-top:110px;padding-bottom:110px}
section.wrap{padding:100px 28px}
.sectionhead{margin-bottom:44px}
.sectionhead p{margin-bottom:0}
.grid{gap:28px}
.process .steps{margin-top:44px}
.process section>h2{margin-top:16px}
footer{padding-top:44px;padding-bottom:44px}
@media(max-width:750px){
 .hero .wrap{padding-top:70px;padding-bottom:65px;gap:34px}
 section.wrap{padding:70px 24px}
 .sectionhead{margin-bottom:32px}
 .grid{gap:24px}
 .process .steps{margin-top:32px;gap:32px}
 footer{padding-top:34px;padding-bottom:34px}
}

@media(max-width:750px){header .brand-image{width:155px}footer .brand-image{width:150px}}

.art:has(.hero-mascot){height:490px}
.orb.mascot-orb{width:335px;height:435px;opacity:1}
.hero-mascot{opacity:1;filter:drop-shadow(0 15px 22px #0004);position:relative;z-index:1}
.art:has(.hero-mascot) .orbit{z-index:-1;width:400px;height:175px}
.art:has(.hero-mascot) .mascot-tip-button{top:auto;bottom:12px;left:50%;width:auto;height:auto;padding:10px 16px;gap:8px;font-size:20px;border-radius:30px;background:#1a2332}
.mascot-tip-button span{font-size:11px;color:#f7eab3;white-space:nowrap}
.art:has(.hero-mascot) .float.one{top:0;right:0}
.art:has(.hero-mascot) .float.two{bottom:55px;left:-10px}
@media(max-width:750px){.art:has(.hero-mascot){height:430px}.orb.mascot-orb{width:280px;height:375px}.art:has(.hero-mascot) .orbit{width:300px;height:140px}.art:has(.hero-mascot) .float.two{left:0;bottom:48px}}

/* Responsive layout: compact phones, landscape screens and tablets. */
img{max-width:100%}
main,section,.wrap,.grid>*,.row>*,.sectionhead>*,.adminitem>*{min-width:0}
p,.details,.adminitem,.filelinks{overflow-wrap:anywhere}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
@media(max-width:1000px) and (min-width:751px){
 .hero .wrap{gap:30px;grid-template-columns:1.2fr 1fr;padding-top:80px;padding-bottom:80px}
 h1{font-size:48px}
 .art:has(.hero-mascot){height:420px}
 .orb.mascot-orb{width:270px;height:365px}
 .art:has(.hero-mascot) .orbit{width:290px}
 .float{padding:11px 12px;font-size:11px}
 .process .grid{gap:16px}
 .process .step{padding:20px}
 .step-avatar{height:190px}
 #vacantes .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
 header{height:auto;min-height:76px;padding:12px 20px;gap:14px}
 header nav{flex-shrink:0}
 header nav a{font-size:12px;display:flex;align-items:center;min-height:44px}
 .hero .wrap{padding:48px 20px 58px;gap:32px}
 h1{font-size:clamp(35px,8.7vw,54px);line-height:1.13;letter-spacing:-1.4px}
 .hero p{font-size:15px}
 .hero .button{min-height:48px;width:100%;margin:16px 0 23px}
 .meta{gap:12px 18px;line-height:1.6;font-size:11px}
 .art:has(.hero-mascot){height:410px;width:100%;max-width:430px;margin:0 auto}
 .orb.mascot-orb{width:min(265px,82%);height:345px}
 .art:has(.hero-mascot) .orbit{width:min(300px,90%);height:125px}
 .art .float{font-size:11px;padding:10px 12px;max-width:90%}
 .art:has(.hero-mascot) .float.one{top:0;right:0}
 .art:has(.hero-mascot) .float.two{left:0;bottom:51px}
 section.wrap{padding:58px 20px}
 .sectionhead{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:28px}
 .sectionhead h2{font-size:28px;line-height:1.2}
 .sectionhead p{font-size:14px}
 .grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .card{padding:23px}
 .card h3{font-size:23px;line-height:1.25}
 .card .button{min-height:48px}
 .process .steps{gap:24px;margin-top:30px}
 .process .step{padding:24px}
 .step-avatar{height:220px;margin-bottom:24px}
 .process .step h3{font-size:21px}
 footer{padding:32px 20px;gap:18px}
 dialog{width:calc(100% - 24px);max-width:540px;max-height:calc(100dvh - 24px);border-radius:15px}
 .modalhead{padding:22px 20px}
 .modalhead h2{padding-right:30px;font-size:24px;line-height:1.25}
 .close{min-width:44px;min-height:44px;right:12px;top:12px}
 .formbody{padding:22px 20px}
 .row{grid-template-columns:minmax(0,1fr);gap:0}
 input,select,textarea{font-size:16px;min-height:48px}
 input[type=checkbox]{min-height:0;width:18px;height:18px;vertical-align:middle}
 label{font-size:13px;line-height:1.6}
 .actions{padding:16px 20px;gap:10px;background:#101425}
 .actions button{min-height:48px;padding:12px 16px;font-size:13px}
 .mascot-guide{gap:12px;padding:12px}
 .mascot-guide img{width:48px;height:75px}
 .mascot-guide p{font-size:12px}
 .submission-content{padding:28px 20px}
 .submission-content h2{font-size:25px}
 .admin{padding:36px 20px}
 .admin h1{font-size:32px!important}
 .login{margin:20px auto}
 .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .toolbar button{min-height:48px;padding:12px 10px;font-size:12px}
 .adminitem{padding:20px}
 .adminitem button{width:100%;min-height:48px}
 .adminitem h3{line-height:1.35}
 .filelinks a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:360px){
 header{padding-left:16px;padding-right:16px;gap:8px}
 header .brand-image{width:132px}
 header nav a{font-size:11px}
 .hero .wrap,section.wrap{padding-left:16px;padding-right:16px}
 .card{padding:20px}
 .art:has(.hero-mascot){height:380px}
 .orb.mascot-orb{height:315px}
 .art .float{font-size:10px}
 .actions{padding:14px}
 .actions button{padding:12px}
}
@media(max-height:550px) and (orientation:landscape){
 dialog{max-height:calc(100dvh - 16px)}
 .intro-stage{height:90svh;min-height:220px;max-width:450px}
 .intro-logo{width:45%;left:27.5%;top:0}
 .intro-computers{top:45%;left:10%;right:10%}
 .intro-computers>div{width:75px}
 .intro-caption{bottom:3%;font-size:11px}
}

/* Final phone layout, including avatar selection and the team dashboard. */
@media(max-width:750px){
 body{width:100%;overflow-x:clip}
 .wrap{width:100%}
 header .brand{flex:0 1 auto;min-width:0}
 header .brand-image{width:145px;max-width:100%;height:auto}
 header nav{gap:0}
 .eyebrow.pill{max-width:100%;font-size:10px;letter-spacing:1.2px;line-height:1.6;padding:9px 12px}
 .hero .meta span{max-width:100%}
 .vacancy-grid.single-vacancy{width:100%;grid-template-columns:minmax(0,1fr)}
 .vacancy-card{width:100%;padding:22px}
 .vacancy-avatar{margin:0 0 22px;padding:10px 0 20px}
 .vacancy-avatar img{width:100%;height:220px;object-fit:contain}
 .vacancy-label{font-size:10px;line-height:1.5;letter-spacing:.7px}
 .vacancy-card h3{font-size:25px;line-height:1.25;letter-spacing:-.6px;overflow-wrap:normal;word-break:normal}
 .vacancy-card p{font-size:14px;line-height:1.75}
 .vacancy-card .details{font-size:12px;line-height:1.85}
 .vacancy-card .button{font-size:14px;line-height:1.5;padding:14px 12px;width:100%;white-space:normal}
 .process .step{padding:24px 22px}
 .step-avatar{height:215px}
 .login{padding:24px 20px;max-width:100%}
 .login h2{font-size:30px;line-height:1.2}
 .login-avatar{width:175px;height:170px}
 .login-avatar-caption{font-size:12px;line-height:1.5;margin-bottom:20px}
 .login>p:not(.login-avatar-caption){font-size:14px}
 .login-loading{width:calc(100% - 28px);max-width:400px}
 .login-loading-avatar{width:155px;height:165px}
 .admin .sectionhead{gap:16px}
 .admin .sectionhead>div{width:100%}
 .admin .sectionhead p{overflow-wrap:anywhere}
 .admin .sectionhead #logout{width:100%;min-height:46px}
 .toolbar{margin:24px 0;gap:10px}
 .toolbar button{font-size:12px;line-height:1.5;white-space:normal}
 #admincontent>.card{padding:22px 18px}
 #admincontent audio{width:100%}
 .avatar-picker{margin-bottom:24px;width:100%}
 .avatar-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .avatar-option{padding:13px 9px;min-height:155px;display:flex;flex-direction:column;justify-content:center}
 .avatar-option img{height:108px;margin-bottom:8px}
 .avatar-option span{font-size:12px;line-height:1.4;overflow-wrap:normal}
 .avatar-option input[type=radio]{min-height:0}
 .mascot-guide.large{gap:14px}
 .mascot-guide.large img{width:70px;height:110px}
 .mascot-guide.large p{font-size:13px}
 .mascot-facts summary{min-height:28px;line-height:1.5}
 .modalhead .eyebrow.pill{margin-right:46px}
 .actions{padding-bottom:max(16px,env(safe-area-inset-bottom));flex-wrap:wrap}
 .actions button{min-height:48px}
 .actions button.secondary{flex:0 0 auto}
 .actions button:last-child{min-width:0}
 #toast{max-width:calc(100vw - 32px);width:max-content;text-align:center;font-size:13px;line-height:1.6;bottom:max(20px,env(safe-area-inset-bottom))}
 .intro-stage{width:90vw;max-width:430px}
 footer{padding-bottom:max(32px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){
 header .brand-image{width:125px}
 .vacancy-card{padding:20px}
 .vacancy-card h3{font-size:23px}
 .vacancy-avatar img{height:195px}
 .avatar-options{gap:9px}
 .avatar-option{padding:10px 6px;min-height:135px}
 .avatar-option img{height:90px}
 .avatar-option span{font-size:11px}
 .formbody,.modalhead{padding-left:16px;padding-right:16px}
 .actions{padding-left:16px;padding-right:16px}
 .login{padding:22px 17px}
 .mascot-guide{align-items:flex-start}
}

@media(max-width:750px){header nav a:first-child{display:flex}}

/* Submission feedback: centered, readable and independent of scroll reveals. */
.submission-dialog{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.submission-dialog .submission-content{width:100%;box-sizing:border-box;text-align:center}
.submission-dialog h2{padding:0;margin:16px 0 12px;line-height:1.25;overflow-wrap:normal;word-break:normal}
.submission-dialog p{margin:0 0 20px;line-height:1.65}
.submission-dialog .notice{margin:20px 0 24px;padding:16px;line-height:1.7}
.submission-dialog .pc-transfer{margin-bottom:20px;width:100%}
.submission-dialog .pc-transfer svg{overflow:hidden}
.submission-dialog .success-animation{margin-bottom:20px}
.submission-dialog #submission-done{min-height:50px;white-space:normal}
@media(max-width:750px){
 .submission-dialog{width:calc(100vw - 28px);max-width:420px;max-height:calc(100dvh - 32px);border-radius:20px}
 .submission-dialog .submission-content{padding:28px 22px 24px}
 .submission-dialog h2{font-size:25px;letter-spacing:-.6px}
 .submission-dialog .eyebrow{font-size:10px;letter-spacing:1.4px;line-height:1.6}
 .submission-dialog p{font-size:14px}
 .submission-dialog .notice{font-size:13px;text-align:left;border-radius:12px;margin-bottom:22px}
 .submission-dialog .pc-transfer{max-width:310px;min-height:115px}
 .submission-dialog .pc-transfer text{font-size:12px}
 .submission-dialog .success-animation{width:76px;height:76px}
 .submission-dialog #submission-done{font-size:15px;min-height:52px}
}
@media(max-width:360px){
 .submission-dialog .submission-content{padding:24px 18px 20px}
 .submission-dialog h2{font-size:23px}
 .submission-dialog .notice{padding:14px}
}
@media(max-height:550px){
 .submission-dialog .submission-content{padding:20px}
 .submission-dialog .pc-transfer{max-width:230px;min-height:0;margin-bottom:10px}
 .submission-dialog .success-animation{width:56px;height:56px;margin-bottom:12px}
 .submission-dialog h2{margin-top:10px;font-size:22px}
 .submission-dialog p{margin-bottom:12px}
 .submission-dialog .notice{margin:12px 0;padding:12px}
}
/* Verificación por correo: casillas cómodas para teclado móvil. */
.two-factor-card{width:min(100%,540px);margin:auto;padding:32px;text-align:center;animation:otp-enter .45s ease-out}
.two-factor-card h2{font-size:clamp(27px,6vw,36px);line-height:1.2;margin:20px 0 16px}
.two-factor-card strong{overflow-wrap:anywhere;color:var(--text,#f4f4ff)}
.two-factor-mascot{position:relative;width:150px;height:155px;margin:0 auto 20px}
.two-factor-mascot img{width:100%;height:100%;object-fit:contain}
.two-factor-mascot span{position:absolute;right:0;bottom:6px;background:#49edbe;color:#081018;border:5px solid #151b29;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font-size:25px;animation:otp-float 2.8s ease-in-out infinite}
.two-factor-steps{display:flex;justify-content:center;gap:14px;font-size:12px;color:#a4adc1;margin-bottom:24px}.two-factor-steps .active{color:#49edbe}
.two-factor-card form>label{display:block;text-align:left;margin-top:28px;margin-bottom:12px}
.otp-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.otp-inputs input{padding:0;min-width:0;width:100%;height:62px;text-align:center;font-size:27px;font-weight:700;border-radius:12px;border:1px solid #394358;background:#202a3e;transition:border-color .2s,box-shadow .2s,transform .2s}
.otp-inputs input:focus{outline:0;border-color:#49edbe;box-shadow:0 0 0 3px #49edbe22;transform:translateY(-2px)}.otp-inputs input.filled{border-color:#49edbe88}
.otp-expiry{font-size:13px;margin:12px 0 18px}.otp-help{border-top:1px solid #30384a;margin-top:24px;padding-top:14px}.otp-help p{font-size:13px}.otp-help button{width:100%;min-height:46px}.otp-back{background:transparent;color:#aab7cc;margin-top:10px}.two-factor-card button:disabled{opacity:.6;cursor:wait}
@keyframes otp-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes otp-float{50%{transform:translateY(-5px)}}
@media(max-width:480px){.two-factor-card{padding:24px 18px}.otp-inputs{gap:6px}.otp-inputs input{height:52px;font-size:24px}.two-factor-mascot{width:120px;height:126px}.two-factor-card p{font-size:15px}.two-factor-card .otp-expiry,.otp-help p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.two-factor-card,.two-factor-mascot span{animation:none}.otp-inputs input{transition:none}}
