@charset "UTF-8";
:root{--navy:#0b2a4a;--navy-deep:#061d35;--navy-light:#12436d;--blue:#003893;--sky:#dff1fd;--yellow:#fcd116;--red:#ce1126;--ink:#17283c;--muted:#607187;--light:#f4f7fa;--border:#e3eaf0;--white:#fff;--shadow:0 18px 55px rgba(8,36,65,.1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}img{display:block}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f0bc3b;outline-offset:3px}::selection{background:#f9df55;color:#051629}.wrap{width:min(1220px,calc(100% - 64px));margin-inline:auto}.section-pad{padding-block:110px}.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.17em;color:#18689b;text-transform:uppercase}.eyebrow-line{width:28px;height:2px;background:var(--yellow);display:inline-block;vertical-align:middle;margin-right:10px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;letter-spacing:-.045em}h2{font-size:clamp(2.2rem,4.1vw,3.7rem);font-weight:790}h2 span{color:#3a7196}p{color:var(--muted)}.skip-link{position:fixed;z-index:300;left:14px;top:-60px;padding:9px 16px;background:white;color:black}.skip-link:focus{top:10px}.button{min-height:52px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:9px;font-weight:750;font-size:.92rem;transition:transform .2s,box-shadow .2s,background .2s;border:1px solid transparent;line-height:1.25;text-align:center}.button:hover{transform:translateY(-2px)}.button span:last-child{font-size:1.22rem}.button-primary{background:var(--yellow);color:var(--navy-deep);box-shadow:0 12px 26px rgba(252,209,22,.15)}.button-primary:hover{background:#ffe24a;box-shadow:0 16px 36px rgba(252,209,22,.22)}.button-deep{background:var(--navy);color:white}.button-deep:hover{background:#1c4b75}.button-outline{border-color:rgba(255,255,255,.4);color:white;background:rgba(255,255,255,.05)}.button-outline:hover{background:rgba(255,255,255,.14)}
/* Header */
.site-header{height:88px;background:#fff;position:sticky;z-index:100;top:0;box-shadow:0 1px 0 rgba(14,48,82,.1)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;flex:0 0 auto;width:240px}.brand img{width:100%;height:auto}.main-nav{display:flex;align-items:center;gap:31px}.main-nav a{font-size:.86rem;font-weight:720;color:#30445a;transition:color .2s;white-space:nowrap}.main-nav a:hover{color:var(--blue)}.main-nav .nav-cta{background:var(--navy);color:white;border-radius:7px;padding:13px 18px;margin-left:4px}.main-nav .nav-cta:hover{color:#fff;background:var(--navy-light)}.main-nav .nav-cta span{margin-left:9px}.menu-toggle{display:none}
/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(125deg,#061b32 0%,#0b2a4a 56%,#15507d 115%)}.hero:before{content:"";position:absolute;width:670px;height:670px;border-radius:50%;right:-260px;top:-380px;background:radial-gradient(circle,rgba(0,90,157,.36),transparent 70%)}.hero:after{content:"";width:490px;height:490px;border:1px solid rgba(186,213,240,.09);border-radius:50%;position:absolute;left:-320px;bottom:-360px}.hero-stars{position:absolute;inset:0;background-image:radial-gradient(rgba(177,211,243,.28) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to left,black,transparent 55%);opacity:.22}.hero-layout{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;min-height:675px;padding-block:95px 102px}.hero-copy{position:relative;z-index:2;max-width:655px}.hero-eyebrow{color:#b9cfe2}.hero h1{font-size:clamp(2.8rem,5vw,5.1rem);font-weight:800;letter-spacing:-.065em;line-height:1.065;margin:24px 0 26px}.hero h1 em{font-style:normal;color:var(--yellow);display:inline}.hero-copy>p{font-size:1.08rem;line-height:1.85;max-width:575px;color:#cbd8e5;margin-bottom:32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-trust{margin-top:42px;display:flex;gap:22px;flex-wrap:wrap;font-size:.74rem;font-weight:650;color:#c8d7e5}.check{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(117,185,220,.12);border:1px solid rgba(150,210,242,.35);margin-right:7px;color:#f7d826}.hero-bottom{display:flex;height:6px;position:relative;z-index:5}.hero-bottom span:first-child{width:50%;background:var(--yellow)}.hero-bottom span:nth-child(2){width:25%;background:var(--blue)}.hero-bottom span:last-child{flex:1;background:var(--red)}
.hero-art{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center;isolation:isolate}.orbit-circle{position:absolute;border:1px solid rgba(158,208,237,.15);border-radius:50%;z-index:-1}.orbit-one{width:520px;height:520px}.orbit-two{width:625px;height:625px}.hero-visual{position:relative;max-width:465px;width:100%;aspect-ratio:1/1;min-height:415px;border:1px solid rgba(191,220,238,.22);border-radius:25px;background:linear-gradient(150deg,rgba(249,252,255,.14),rgba(29,72,106,.18) 50%,rgba(8,25,48,.7));backdrop-filter:blur(8px);box-shadow:0 45px 100px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.12);transform:rotate(2deg);padding:28px;display:flex;flex-direction:column;justify-content:space-between}.graphic-top,.graphic-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.microtag{display:inline-flex;align-items:center;gap:8px;letter-spacing:.12em;font-weight:800;font-size:.6rem;color:#cbddeb}.pulse{width:8px;height:8px;background:#fcd116;border-radius:50%;box-shadow:0 0 0 4px rgba(252,209,22,.13)}.graph-lines{font-size:2rem;color:var(--yellow)}.symbol-glow{position:relative;display:flex;justify-content:center;align-items:center;min-height:275px}.symbol-glow:before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;background:#f1f8fb;filter:blur(70px);opacity:.88;z-index:-1}.symbol-glow img{width:100%;max-width:382px;filter:drop-shadow(0 18px 17px rgba(0,0,0,.16))}.graphic-bottom{font-size:.77rem;color:#cbdcec;border-top:1px solid rgba(245,250,255,.18);padding-top:18px}.mini-colors{display:flex;border-radius:8px;overflow:hidden;height:6px;width:96px}.mini-colors i{height:100%;width:50%;background:var(--yellow)}.mini-colors i:nth-child(2){width:25%;background:var(--blue)}.mini-colors i:nth-child(3){width:25%;background:var(--red)}.float-chip{position:absolute;z-index:3;display:flex;gap:11px;align-items:center;padding:12px 18px;border:1px solid #e4eef5;border-radius:14px;background:#fff;color:var(--navy);box-shadow:0 20px 48px rgba(0,0,0,.16);min-width:190px}.float-chip strong,.float-chip small{display:block;line-height:1.4}.float-chip strong{font-size:.85rem}.float-chip small{font-size:.7rem;color:#6c7e90}.float-chip-left{left:-45px;bottom:74px;transform:rotate(-4deg)}.float-chip-right{right:-22px;top:79px;transform:rotate(4deg)}.chip-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff7c7;color:#b18a00;font-size:1.3rem}.chip-blue{background:#e8f3ff;color:#065a99}
/* Intro */
.intro-section{background:white}.intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:12%;align-items:center}.section-lead h2{margin:20px 0 0}.intro-aside p{line-height:1.95;font-size:1.03rem;margin:0 0 24px}.text-link{font-weight:800;color:var(--navy);display:inline-flex;align-items:center;gap:15px;border-bottom:2px solid #e6ce35;padding-bottom:8px}.text-link:hover{gap:20px}
/* Services */
.services{background:var(--light)}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:38px}.section-heading h2{margin:16px 0 0;max-width:700px}.section-heading>p{max-width:335px;line-height:1.85;margin:0 0 6px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{background:white;border:1px solid #e6edf2;border-radius:17px;padding:28px 27px 23px;display:flex;flex-direction:column;min-height:380px;transition:transform .25s,box-shadow .25s,border-color .25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#bcd6e6}.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:40px}.service-number{font-size:.71rem;letter-spacing:.11em;color:#8b9aab;font-weight:800}.icon-disc{width:65px;height:65px;border-radius:18px;background:#eef5fa;display:grid;place-items:center;color:#0d578b}.icon-disc svg{width:37px;height:37px}.service-card:nth-child(2) .icon-disc{background:#fff8dc;color:#ba9010}.service-card:nth-child(3) .icon-disc{background:#fff0f1;color:#b72339}.service-card h3{font-size:1.38rem;margin-bottom:14px;letter-spacing:-.035em}.service-card>p{line-height:1.85;font-size:.94rem;margin-bottom:25px}.service-foot{margin-top:auto;border-top:1px solid #edf1f5;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.service-foot span{font-size:.72rem;color:#8391a0}.service-foot a{flex:none;display:grid;place-items:center;border-radius:50%;background:#edf4f9;color:#155479;width:34px;height:34px;font-size:1.2rem}.service-note{font-size:.75rem;margin:21px 0 0;color:#697e8e}
/* Process */
.method{background:#fff}.method-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:105px;align-items:center}.method-copy h2{margin:17px 0 22px}.method-copy p{font-size:1rem;line-height:1.9;max-width:395px;margin-bottom:28px}.method-steps{display:flex;flex-direction:column}.method-step{display:flex;align-items:start;gap:25px;padding:27px 0;border-bottom:1px solid #e8eef3}.method-step:first-child{border-top:1px solid #e8eef3}.step-num{font-size:1.6rem;min-width:50px;font-weight:800;color:#c5d7e4;line-height:1.3}.method-step h3{font-size:1.18rem;margin:0 0 9px}.method-step p{font-size:.88rem;margin:0;line-height:1.8}.step-decoration{font-size:1.22rem;margin-left:auto;color:#9fb5c4}
/* About */
.about{background:#f5f8fb}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-art{position:relative;padding-bottom:30px}.about-scene{min-height:420px;border-radius:19px;background:linear-gradient(145deg,#a2d3ed,#3679a9 65%,#123c66);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 25px 65px rgba(9,41,74,.14)}.about-scene-top{display:flex;justify-content:space-between;gap:20px;font-size:.7rem;letter-spacing:.09em;font-weight:780;color:#fff;padding:25px}.about-scene-top span:last-child{color:#eaf6ff;font-size:.56rem}.about-scene svg{display:block;width:100%;height:270px;margin-top:auto}.scene-caption{position:absolute;bottom:63px;left:24px;background:rgba(255,255,255,.9);border-radius:8px;padding:10px 14px;display:flex;gap:8px;align-items:center;color:var(--navy);font-size:.72rem;font-weight:760}.scene-dot{height:8px;width:8px;border-radius:50%;background:var(--yellow)}.about-corner{position:absolute;right:-22px;bottom:0;background:var(--yellow);border-radius:11px;padding:18px 24px;box-shadow:0 16px 30px rgba(12,35,56,.08)}.about-corner span,.about-corner strong{display:block;color:#15283c;line-height:1.35}.about-corner span{font-size:.67rem;letter-spacing:.1em;font-weight:850}.about-corner strong{font-size:1.07rem}.about-copy h2{margin:17px 0 25px}.about-copy>p{line-height:1.9;margin-bottom:23px}.about-points{display:flex;flex-direction:column;gap:16px}.about-points>div{display:flex;align-items:start;gap:13px}.point-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dfeef8;color:#18618d;font-weight:800;flex:none;margin-top:3px}.about-points p{margin:0}.about-points strong,.about-points small{display:block}.about-points strong{font-size:.9rem}.about-points small{font-size:.83rem;color:#7b8b99}
/* Candidate */
.candidate{background:#fff}.candidate-wrap{padding:54px 68px;border-radius:22px;display:grid;grid-template-columns:290px 1fr;gap:90px;align-items:center;background:linear-gradient(100deg,#eaf4fc,#f8fbfd 70%);border:1px solid #e5eef5}.candidate-graphic{position:relative;display:flex;justify-content:center;align-items:center;min-height:260px}.candidate-graphic:before{content:"";position:absolute;width:250px;height:250px;background:#d5eafa;border-radius:50%}.cv-paper{position:relative;display:flex;flex-direction:column;gap:12px;width:162px;height:208px;padding:31px 21px;background:#fff;border-radius:10px;box-shadow:0 23px 38px rgba(20,57,99,.15);transform:rotate(-9deg)}.paper-bubble{height:41px;width:41px;border-radius:50%;background:#d7eaff;margin-bottom:10px}.paper-line{display:block;width:100%;height:9px;border-radius:10px;background:#d8e6f1}.paper-line.short{width:62%}.cv-sparkle{position:absolute;top:30px;right:12px;color:#e1b900;font-size:4rem}.candidate-content h2{margin:16px 0 21px}.candidate-content p{max-width:670px;line-height:1.9}.candidate-content .cv-note{font-size:.76rem;color:#6a7d90;margin:18px 0 0}.cv-note strong{color:#223b53}
/* Contact */
.contact{background:#f5f7fa}.contact-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:80px;align-items:start}.contact-copy{padding-top:19px}.contact-copy h2{margin:21px 0}.contact-copy>p{max-width:420px;line-height:1.9}.contact-details{margin-top:38px;display:flex;flex-direction:column;gap:24px}.contact-details>a,.contact-details>div{display:flex;gap:14px;align-items:center}.contact-details a:hover strong{color:#00649b}.contact-icon{border:1px solid #d7e3ed;border-radius:12px;background:white;display:grid;place-items:center;width:48px;height:48px;font-size:1.5rem;color:var(--navy)}.contact-details small,.contact-details strong{display:block}.contact-details small{color:#84909d;font-size:.74rem}.contact-details strong{color:#253d51;font-size:.91rem}.contact-form{background:white;border:1px solid #e4ebf1;box-shadow:0 22px 70px rgba(27,49,75,.06);border-radius:17px;padding:36px}.form-top{display:flex;justify-content:space-between;color:#14608e;font-size:.69rem;letter-spacing:.13em;font-weight:800;margin-bottom:15px}.form-step{color:#a6b1bc}.contact-form h3{font-size:1.65rem;margin:0 0 9px}.contact-form>p{font-size:.84rem;line-height:1.65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 17px;margin-top:26px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:.79rem;font-weight:760;color:#31465c}.contact-form label span{color:#bc2330}.contact-form input,.contact-form select,.contact-form textarea{font-weight:500;color:#25374a;background:#fbfcfe;width:100%;border:1px solid #dfe7ee;border-radius:8px;padding:13px 13px;min-height:49px;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#3983b4;box-shadow:0 0 0 3px rgba(57,131,180,.1)}.contact-form textarea{resize:vertical}.form-grid+label{margin-top:20px}.contact-form .privacy-hint{font-size:.72rem;color:#8494a2;margin:18px 0 17px}.privacy-hint a{color:#0e648e;text-decoration:underline}.form-submit{width:100%;border:0}.form-status{margin:10px 0 0;font-size:.78rem;color:#49677f;min-height:1.2em}
/* Footer */
.site-footer{background:#061c32;color:#f0f6fb;padding-top:62px}.footer-main{display:flex;justify-content:space-between;gap:65px;padding-bottom:57px}.footer-brand img{width:253px}.footer-brand p{font-size:.88rem;color:#a9bdd0;margin:12px 0}.footer-links{display:flex;gap:80px}.footer-links>div{display:flex;flex-direction:column;gap:12px}.footer-links strong{font-size:.78rem;color:white;margin-bottom:8px}.footer-links a{font-size:.78rem;color:#a9bfd0}.footer-links a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);display:flex;gap:30px;justify-content:space-between;align-items:center;min-height:78px;font-size:.7rem;color:#91aabe}.footer-bottom a:hover{color:white}.footer-flag{display:flex;width:65px;height:5px;overflow:hidden}.footer-flag i{display:block;background:var(--yellow);width:50%}.footer-flag i:nth-child(2){background:var(--blue);width:25%}.footer-flag i:nth-child(3){background:var(--red);width:25%}.float-whatsapp{position:fixed;z-index:90;right:25px;bottom:24px;display:grid;place-items:center;width:57px;height:57px;border-radius:50%;background:#1bb869;color:white;box-shadow:0 9px 35px rgba(7,64,43,.28);transition:transform .25s}.float-whatsapp:hover{transform:translateY(-4px) scale(1.04)}.float-whatsapp svg{width:31px;height:31px}
/* Legal */
.privacy-page{background:#f6f9fc}.legal-container{max-width:820px;padding-top:85px;padding-bottom:115px}.legal-container h1{font-size:clamp(2.3rem,5vw,3.5rem);margin:17px 0 26px}.legal-container h2{font-size:1.45rem;margin:36px 0 11px}.legal-container p{line-height:1.9}.legal-container p a{color:#00649b;text-decoration:underline}.legal-warning{border-left:5px solid #e6b800;background:#fff8d8;padding:18px 22px;color:#574916}.simple-footer{text-align:center;background:var(--navy);padding:25px;color:#d3e3ef;font-size:.8rem}
/* Subtle animation; respects reduced-motion */
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}}
@media(max-width:1120px){.main-nav{gap:19px}.brand{width:215px}.hero-layout{grid-template-columns:1fr .9fr;gap:20px}.hero h1{font-size:clamp(2.9rem,4.7vw,4.4rem)}.hero-art{transform:scale(.86);margin-inline:-25px}.method-grid{gap:50px}.about-grid{gap:50px}.contact-grid{gap:43px}}
@media(max-width:850px){.wrap{width:min(100% - 42px,720px)}.section-pad{padding-block:78px}.site-header{height:78px}.brand{width:196px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:12px;border:0;background:transparent;border-radius:9px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);transition:.2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-nav{position:absolute;display:none;top:78px;left:0;right:0;background:#fff;box-shadow:0 20px 36px rgba(13,34,57,.14);padding:15px 25px 26px;flex-direction:column;align-items:stretch;gap:3px}.main-nav.is-open{display:flex}.main-nav a{padding:10px 13px;font-size:.95rem}.main-nav .nav-cta{text-align:center;margin:10px 0 0;padding:13px}.hero-layout{min-height:unset;grid-template-columns:1fr;padding-block:65px 75px}.hero-copy{max-width:680px}.hero-copy>p{max-width:650px}.hero-art{margin:15px auto 0;transform:none;width:min(100%,590px)}.hero-visual{width:min(100%,440px)}.intro-grid,.method-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.intro-aside{max-width:640px}.section-heading{align-items:start;flex-direction:column;gap:15px}.section-heading>p{max-width:650px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-grid{gap:20px}.method-copy p{max-width:700px}.about-art{max-width:600px}.about-grid .about-copy{order:0}.contact-copy{padding-top:0}.contact-details{flex-direction:row;flex-wrap:wrap;gap:20px 34px}.candidate-wrap{grid-template-columns:220px 1fr;padding:36px;gap:34px}.candidate-graphic{min-height:210px}.candidate-graphic:before{height:195px;width:195px}.cv-paper{transform:rotate(-9deg) scale(.83)}.footer-main{gap:35px}.footer-links{gap:35px}}
@media(max-width:600px){.wrap{width:calc(100% - 34px)}.section-pad{padding-block:67px}.eyebrow{font-size:.66rem}.hero-layout{padding-top:59px;padding-bottom:62px}.hero h1{font-size:clamp(2.6rem,11vw,3.8rem);line-height:1.1}.hero-copy>p{font-size:.96rem;line-height:1.78}.hero-actions{gap:10px}.hero-actions .button{width:100%}.hero-trust{gap:8px 16px;margin-top:30px}.hero-art{min-height:300px;transform:scale(.85);margin:-25px auto -20px;width:110%;transform-origin:center}.hero-visual{min-height:345px;padding:18px;aspect-ratio:1/1}.symbol-glow{min-height:215px}.float-chip{min-width:unset;padding:10px;gap:7px}.float-chip strong{font-size:.72rem}.float-chip small{font-size:.57rem}.float-chip-left{left:-10px;bottom:28px}.float-chip-right{right:-5px;top:53px}.chip-icon{width:27px;height:27px}.orbit-one{width:400px;height:400px}.orbit-two{width:500px;height:500px}h2{font-size:clamp(2.08rem,9vw,2.8rem)}.section-heading h2{margin-top:16px}.service-grid{grid-template-columns:1fr}.service-card{min-height:unset;padding:25px}.card-top{margin-bottom:28px}.service-card>p{margin-bottom:28px}.method-step{gap:17px}.about-scene{min-height:330px}.about-scene svg{height:215px}.about-scene-top{padding:19px}.about-scene-top span:last-child{display:none}.about-corner{right:-6px}.candidate-wrap{grid-template-columns:1fr;gap:0;padding:27px}.candidate-graphic{min-height:180px}.candidate-content{padding:12px 0}.candidate-content h2{margin-bottom:15px}.contact-details{flex-direction:column}.contact-grid{gap:30px}.contact-form{padding:25px 21px}.form-grid{grid-template-columns:1fr;gap:17px}.footer-main{flex-direction:column;gap:32px;padding-bottom:40px}.footer-links{gap:60px}.footer-bottom{flex-wrap:wrap;justify-content:start;padding-block:19px;gap:13px 20px}.float-whatsapp{width:51px;height:51px;right:16px;bottom:18px}.float-whatsapp svg{width:28px;height:28px}}
@media(max-width:370px){.hero h1{font-size:2.55rem}.hero-trust{flex-direction:column}.hero-art{transform:scale(.76);margin-inline:-25px}.candidate-wrap{padding:20px}.footer-links{gap:28px}}
@media print{.site-header{position:static}.float-whatsapp,.menu-toggle,.hero-actions,.candidate .button,.contact-form{display:none!important}.hero{background:#0b2a4a!important;color:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.section-pad{padding-block:35px}.reveal{opacity:1!important;transform:none!important}}

/* v1.2: dirección corporativa de referencia en el pie, sin teléfono privado */
.footer-brand .footer-address{display:flex;align-items:flex-start;gap:10px;max-width:410px;margin-top:20px;font-size:.83rem;line-height:1.75;color:#b9cada}.footer-location-icon{font-size:1.35rem;color:#fcd116;line-height:1.05;flex:none}


/* v1.3 - nuevas oportunidades sin modificar los bloques preexistentes */
.main-nav .nav-cv{color:var(--blue);font-weight:850}
.jobs-section{background:#ffffff;border-top:1px solid var(--border)}
.jobs-heading{margin-bottom:32px}
.jobs-list{display:grid;gap:18px}
.jobs-empty{display:flex;align-items:center;gap:26px;padding:36px 38px;border-radius:18px;background:linear-gradient(108deg,#edf5fc,#f7fafc);border:1px solid #dce9f3}
.jobs-empty-icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border-radius:18px;background:#fff;color:#c19d08;font-size:2.4rem;box-shadow:0 8px 28px rgba(30,63,97,.06)}
.jobs-empty>div:nth-child(2){flex:1}
.jobs-empty h3{font-size:1.45rem;letter-spacing:-.025em;margin-bottom:10px}
.jobs-empty p{margin:0;line-height:1.75}
.jobs-empty .button{flex:none}
.jobs-footnote{font-size:.82rem;margin:23px 0 0;color:#74879a}
.job-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:30px 34px;background:#fff;border:1px solid #dde8f0;border-radius:17px;box-shadow:0 7px 35px rgba(8,36,65,.045);transition:box-shadow .2s,border-color .2s}
.job-card:hover{border-color:#b5d4e7;box-shadow:var(--shadow)}
.job-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}
.job-card-meta span{display:inline-flex;align-items:center;padding:6px 10px;background:#eef6fa;color:#295877;border-radius:7px;font-size:.74rem;font-weight:760}
.job-card h3{font-size:1.45rem;line-height:1.18;letter-spacing:-.03em;margin:0 0 10px}
.job-card p{margin:0;color:#6b7f91;max-width:810px;line-height:1.78}
.job-card .job-client{margin-top:12px;color:#40617b;font-size:.84rem;font-weight:700}
.job-card .button{white-space:nowrap}
@media(min-width:851px) and (max-width:1120px){.main-nav{gap:14px}.main-nav a{font-size:.77rem}.brand{width:198px}.header-inner{gap:15px}}
@media(max-width:850px){.main-nav .nav-cv{font-weight:850}.jobs-empty{align-items:flex-start;flex-wrap:wrap}.jobs-empty .button{margin-left:90px}.job-card{grid-template-columns:1fr;gap:20px}.job-card .button{justify-self:start}}
@media(max-width:600px){.jobs-empty{padding:23px;gap:16px}.jobs-empty-icon{width:46px;height:46px;flex-basis:46px;font-size:1.7rem}.jobs-empty>div:nth-child(2){flex:1 1 calc(100% - 65px)}.jobs-empty h3{font-size:1.15rem}.jobs-empty .button{width:100%;margin-left:0}.job-card{padding:22px}.job-card h3{font-size:1.3rem}.job-card .button{width:100%}}
/* Página de envío de candidatura */
.apply-hero{position:relative;background:linear-gradient(120deg,#061d35,#12436d);color:#fff;padding:78px 0 86px;overflow:hidden}
.apply-hero:after{content:"";position:absolute;right:-110px;bottom:-140px;width:400px;height:400px;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.apply-hero .eyebrow{color:#d2e9f6}
.apply-hero h1{font-size:clamp(2.7rem,5vw,4.3rem);max-width:720px;margin:20px 0}
.apply-hero h1 em{color:var(--yellow);font-style:normal}
.apply-hero p{color:#cfe0ed;max-width:710px;font-size:1.03rem;line-height:1.8}
.apply-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);align-items:start;gap:34px;margin-top:-34px;position:relative;padding-bottom:95px}
.apply-form{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:36px}
.apply-form h2{font-size:1.9rem;margin:0 0 12px}
.apply-intro{font-size:.92rem;margin:0 0 25px}
.apply-form label{display:flex;flex-direction:column;font-size:.83rem;font-weight:760;color:#314e65;gap:6px}
.apply-form input:not([type=checkbox]),.apply-form select,.apply-form textarea{width:100%;padding:12px 14px;border:1px solid #d9e4ed;border-radius:9px;color:#1f364b;background:#fff;min-height:48px;font-size:.93rem}
.apply-form input[type=file]{height:auto;padding:13px!important}
.apply-form input[readonly]{background:#f2f5f8;color:#41596f}
.apply-form textarea{resize:vertical}
.apply-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.apply-form .apply-full{grid-column:1/-1}
.apply-form .apply-helper{font-size:.76rem;color:#627589;font-weight:450;line-height:1.6}
.apply-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:11px!important;margin-top:23px;line-height:1.6;font-weight:500!important;color:#435b70!important}
.apply-check input{margin:5px 0 0;flex:none;accent-color:var(--navy)}
.apply-check a{color:#00649b;text-decoration:underline}
.apply-form .form-submit{margin-top:24px;width:100%}
.apply-aside{background:#f0f6fb;border-radius:18px;border:1px solid #e1edf5;padding:30px;display:grid;gap:23px}
.apply-aside img{width:190px;height:auto}
.apply-aside h3{font-size:1.18rem;margin:0 0 8px}
.apply-aside p{font-size:.9rem;line-height:1.75;margin:0}
.apply-aside .apply-mail{font-weight:750;color:var(--navy);word-break:break-word}
.apply-aside .privacy-warning{background:#fff8dc;border-left:3px solid #dbb400;padding:12px 14px;font-size:.81rem;color:#695a31}
.apply-footer{padding:27px;background:var(--navy);color:#c8d9e7;text-align:center;font-size:.83rem}
.apply-error{margin-top:15px;font-size:.85rem;color:#a52d34;font-weight:700}
.apply-anti-bot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;white-space:nowrap}
.thanks-main{min-height:70vh;display:grid;place-items:center;padding:65px 20px;background:#f5f8fb}
.thanks-card{width:min(650px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;padding:45px;text-align:center}
.thanks-icon{font-size:3rem;color:#2f8c68}
.thanks-card h1{font-size:2rem;margin:17px 0}
@media(max-width:850px){.apply-layout{grid-template-columns:1fr}.apply-aside{grid-row:2}.apply-hero{padding:62px 0 65px}}
@media(max-width:600px){.apply-layout{padding-bottom:55px}.apply-form{padding:23px 20px}.apply-form-fields{grid-template-columns:1fr;gap:16px}.apply-hero h1{font-size:2.55rem}.apply-aside{padding:23px}.thanks-card{padding:30px 23px}}

/* v1.4: idioma circular ES / KI / EN. El anillo de colores SOLO aparece al seleccionar. */
.lang-switcher{display:flex;align-items:center;flex:none;gap:7px;margin-left:auto;white-space:nowrap}
.lang-button{position:relative;z-index:0;isolation:isolate;width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#f1f5f9;color:#183b59;font-size:.68rem;font-weight:850;letter-spacing:.02em;line-height:1;transition:transform .18s,color .18s,background .18s;box-shadow:inset 0 0 0 1px #d8e4ed}
.lang-button:hover{transform:translateY(-1px);background:#e9f1f8}
.lang-button.is-selected{box-shadow:none;background:#fff;color:var(--navy)}
.lang-button.is-selected::before{content:"";position:absolute;z-index:-2;inset:-2px;border-radius:50%;background:conic-gradient(from -90deg,#fcd116 0% 50%,#0869b7 50% 75%,#df2344 75% 100%)}
.lang-button.is-selected::after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:50%;background:#fff}
.lang-button.is-selected[data-lang="en"]::before{background:conic-gradient(from -90deg,#163a80 0% 26%,#fff 26% 39%,#c6263e 39% 63%,#fff 63% 74%,#163a80 74% 100%)}
.lang-button.is-selected[data-lang="ki"]{color:#123d63}
.lang-button:focus-visible{outline:3px solid #1b6596;outline-offset:5px}
/* Conservamos la distribución de todas las secciones; sólo adaptamos el encabezado. */
@media(min-width:1381px){.header-inner{gap:17px}.brand{width:200px}.main-nav{gap:18px}.main-nav a{font-size:.78rem}.main-nav .nav-cta{padding:12px 13px}.lang-button{width:36px;height:36px}.lang-switcher{gap:6px}}
@media(min-width:851px) and (max-width:1380px){
 .site-header{height:78px}.brand{width:196px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:12px;border:0;background:transparent;border-radius:9px;order:3}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);transition:.2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .main-nav{position:absolute;display:none;top:78px;left:0;right:0;background:#fff;box-shadow:0 20px 36px rgba(13,34,57,.14);padding:15px 25px 26px;flex-direction:column;align-items:stretch;gap:3px}.main-nav.is-open{display:flex}.main-nav a{padding:10px 13px;font-size:.95rem}.main-nav .nav-cta{text-align:center;margin:10px 0 0;padding:13px}
 .lang-switcher{order:2;margin-left:auto}
}
@media(max-width:850px){.menu-toggle{order:3}.lang-switcher{order:2;margin-left:auto}.header-inner{gap:11px}}
@media(max-width:600px){.brand{width:clamp(118px,38vw,172px)}.lang-switcher{gap:5px}.lang-button{width:34px;height:34px;font-size:.62rem}.menu-toggle{padding:7px}.menu-toggle span{width:22px}}
@media(max-width:355px){.header-inner{gap:6px}.brand{width:118px}.lang-button{width:31px;height:31px}.lang-switcher{gap:3px}.menu-toggle{padding:4px}}
@media print{.lang-switcher{display:none!important}}

/* v1.5 — navegación y selector unidos a la derecha, logotipo permanece a la izquierda.
   El espacio flexible sólo queda ENTRE la marca y los enlaces, no entre menú e idiomas. */
@media(min-width:1381px){
  .header-inner.wrap{width:min(1600px,calc(100% - 64px));justify-content:flex-end;gap:18px}
  .header-inner .brand{margin-right:auto}
  .header-inner .main-nav{margin-left:auto;gap:clamp(12px,1vw,20px)}
  .header-inner .lang-switcher{margin-left:3px}
}

/* v1.6 — avoid mobile overflow on the CV page when KI/EN labels are selected. */
@media(max-width:600px){
 .apply-site-header{height:auto;min-height:90px}
 .apply-site-header .header-inner{height:auto;min-height:90px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand langs' 'back back';padding-top:8px;padding-bottom:9px;gap:4px 10px}
 .apply-site-header .brand{grid-area:brand;max-width:170px}
 .apply-site-header .lang-switcher{grid-area:langs;margin:0;justify-self:end}
 .apply-site-header .header-inner>.button{grid-area:back;justify-self:start;min-height:30px;padding:3px 10px;font-size:.76rem}
}

/* v1.7: correo directo, mismas estructuras visuales. */
.turnstile-box{margin-top:16px;min-height:12px}
.config-notice{color:#7b5a15;background:#fff7df;border:1px solid #f3dfae;border-radius:9px;padding:12px 14px;font-size:.86rem;line-height:1.5}
.config-notice[hidden]{display:none}
.form-submit[disabled]{opacity:.52;cursor:not-allowed;filter:grayscale(.3)}
#form-status,#postular-estado{min-height:1.2em}


/* v1.8 — Dark mode: same composition; contrast-aware dark surfaces. */
.theme-toggle{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #d8e4ed;border-radius:50%;background:#f1f5f9;color:#153b59;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer}
.theme-toggle:hover{background:#e5f0f8;transform:translateY(-1px)}
.theme-toggle:focus-visible{outline:3px solid #f2c529;outline-offset:4px}
.theme-sun{display:none}
html[data-theme="dark"] .theme-sun{display:block}
html[data-theme="dark"] .theme-moon{display:none}
html[data-theme="dark"]{color-scheme:dark;--ink:#eaf1fc;--muted:#aec2d6;--light:#0b1e32;--border:#2c465d;--white:#10283e;--shadow:0 18px 50px rgba(0,0,0,.23)}
html[data-theme="dark"] body{background:#091b2e;color:var(--ink)}
html[data-theme="dark"] p{color:var(--muted)}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3{color:#eef5ff}
html[data-theme="dark"] h2 span{color:#8bc7ed}
html[data-theme="dark"] .eyebrow{color:#8fcaec}
html[data-theme="dark"] .site-header{background:#0c2239;box-shadow:0 1px 0 #31465c}
html[data-theme="dark"] .main-nav a{color:#d1dfea}
html[data-theme="dark"] .main-nav .nav-cv{color:#9bd2ff}
html[data-theme="dark"] .main-nav .nav-cta{color:#fff;background:#164a76}
html[data-theme="dark"] .main-nav .nav-cta:hover{background:#26668f}
html[data-theme="dark"] .menu-toggle span{background:#e5f1ff}
html[data-theme="dark"] .lang-button{background:#173249;color:#d7e7f8;box-shadow:inset 0 0 0 1px #39536b}
html[data-theme="dark"] .lang-button:hover{background:#234460}
html[data-theme="dark"] .lang-button.is-selected{background:#0f2238;color:#fff;box-shadow:none}
html[data-theme="dark"] .lang-button.is-selected::after{background:#0f2238}
html[data-theme="dark"] .theme-toggle{background:#173249;border-color:#39536b;color:#f9d75d}
html[data-theme="dark"] .theme-toggle:hover{background:#234460}
html[data-theme="dark"] .hero{background:linear-gradient(125deg,#061424 0%,#091c31 55%,#103c60 115%)}
html[data-theme="dark"] .hero h1{color:#fff}
html[data-theme="dark"] .hero-copy>p{color:#c8d9e7}
html[data-theme="dark"] .symbol-glow:before{background:#5099c7;opacity:.33}
html[data-theme="dark"] .float-chip{background:#163149;color:#f1f7ff;border-color:#42627a}
html[data-theme="dark"] .float-chip small{color:#aec5d8}
html[data-theme="dark"] .intro-section,html[data-theme="dark"] .method,html[data-theme="dark"] .candidate,html[data-theme="dark"] .jobs-section{background:#091b2e}
html[data-theme="dark"] .services,html[data-theme="dark"] .about,html[data-theme="dark"] .contact,html[data-theme="dark"] .thanks-main,html[data-theme="dark"] .privacy-page{background:#0c2035}
html[data-theme="dark"] .text-link{color:#b6dcfa}
html[data-theme="dark"] .service-card,html[data-theme="dark"] .job-card,html[data-theme="dark"] .contact-form,html[data-theme="dark"] .apply-form,html[data-theme="dark"] .thanks-card{background:#132b43;border-color:#304960}
html[data-theme="dark"] .service-card:hover,html[data-theme="dark"] .job-card:hover{border-color:#5784a5}
html[data-theme="dark"] .service-number,html[data-theme="dark"] .service-foot span,html[data-theme="dark"] .service-note{color:#a6bcd0}
html[data-theme="dark"] .service-foot,html[data-theme="dark"] .method-step{border-color:#304960}
html[data-theme="dark"] .step-num,html[data-theme="dark"] .step-decoration{color:#8fb5d1}
html[data-theme="dark"] .icon-disc,html[data-theme="dark"] .service-foot a{background:#1d405c;color:#c2e5ff}
html[data-theme="dark"] .service-card:nth-child(2) .icon-disc{background:#4c422a;color:#ffe086}
html[data-theme="dark"] .service-card:nth-child(3) .icon-disc{background:#432b3a;color:#ffb3c0}
html[data-theme="dark"] .point-icon{background:#244e68;color:#b9e0fa}
html[data-theme="dark"] .about-points small{color:#adc2d6}
html[data-theme="dark"] .candidate-wrap{background:linear-gradient(115deg,#142e49,#12283c 72%);border-color:#31506b}
html[data-theme="dark"] .candidate-graphic:before{background:#244b67}
html[data-theme="dark"] .cv-paper{background:#e5edf5}
html[data-theme="dark"] .candidate-content .cv-note,html[data-theme="dark"] .jobs-footnote{color:#b8c9d8}
html[data-theme="dark"] .jobs-empty{background:linear-gradient(110deg,#16314a,#11273e);border-color:#39546b}
html[data-theme="dark"] .jobs-empty-icon{background:#23425b;color:#ffdc75}
html[data-theme="dark"] .job-card-meta span{background:#1d425c;color:#c5e8ff}
html[data-theme="dark"] .job-card p,html[data-theme="dark"] .job-card .job-client{color:#b0c6dc}
html[data-theme="dark"] .contact-icon{background:#1b3751;color:#b9e3ff;border-color:#385873}
html[data-theme="dark"] .contact-details strong{color:#e0eefd}
html[data-theme="dark"] .contact-details small{color:#aac3d6}
html[data-theme="dark"] .contact-form label,html[data-theme="dark"] .apply-form label{color:#dae8f7}
html[data-theme="dark"] .contact-form label span{color:#ff98a8}
html[data-theme="dark"] .contact-form input,html[data-theme="dark"] .contact-form select,html[data-theme="dark"] .contact-form textarea,html[data-theme="dark"] .apply-form input:not([type=checkbox]),html[data-theme="dark"] .apply-form select,html[data-theme="dark"] .apply-form textarea{background:#0c2035;color:#eaf4fd;border-color:#3b5a70}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#a3b8cb;opacity:1}
html[data-theme="dark"] .contact-form .privacy-hint,html[data-theme="dark"] .apply-form .apply-helper{color:#b2c4d6}
html[data-theme="dark"] .privacy-hint a,html[data-theme="dark"] .apply-check a,html[data-theme="dark"] .legal-container a{color:#9bd8ff}
html[data-theme="dark"] .apply-form input[readonly]{background:#183149;color:#c2d6eb}
html[data-theme="dark"] .apply-check{color:#cbdbec!important}
html[data-theme="dark"] .apply-aside{background:#152e46;border-color:#38526c}
html[data-theme="dark"] .apply-aside .apply-mail{color:#bce3ff}
html[data-theme="dark"] .apply-aside .privacy-warning,html[data-theme="dark"] .config-notice,html[data-theme="dark"] .legal-warning{background:#3c331c;color:#ffe2a0;border-color:#b88d19}
html[data-theme="dark"] .form-status{color:#c0d5ea}
html[data-theme="dark"] .form-top{color:#93cefa}
html[data-theme="dark"] .form-step{color:#9ab4c9}
html[data-theme="dark"] .thanks-icon{color:#7dddb7}
html[data-theme="dark"] .site-footer{background:#061424}
html[data-theme="dark"] .skip-link{background:#fff;color:#071a2d}
html[data-theme="dark"] .theme-icon{color:#ffe28c}
html[data-theme="dark"] .button-deep{background:#24577e;color:#fff}
html[data-theme="dark"] .button-deep:hover{background:#316e9a}
html[data-theme="dark"] .button-primary{color:#061d35}
@media (max-width:1380px){html[data-theme="dark"] .main-nav{background:#0c2239}}
@media (max-width:600px){.site-header .theme-toggle{width:31px;height:31px}.site-header .theme-icon{width:17px;height:17px}.site-header .lang-switcher{gap:4px}}
@media (max-width:390px){.site-header .brand{width:clamp(98px,31vw,118px)}.site-header .lang-button{width:29px;height:29px;font-size:.58rem}.site-header .theme-toggle{width:29px;height:29px}.site-header .header-inner{gap:6px}.site-header .menu-toggle{padding:5px}}
@media (max-width:600px){.apply-site-header .header-inner{grid-template-columns:minmax(0,1fr) auto}.apply-site-header .brand{max-width:140px}}
@media print{html[data-theme="dark"] body{background:#fff;color:#17283c}}

/* v1.8.5 — Política de privacidad */
.legal-policy{padding-block:58px 92px;max-width:960px}.legal-policy .legal-heading{padding:18px 0 15px;border-bottom:1px solid var(--border)}.legal-policy h1{font-size:clamp(2.3rem,5vw,3.7rem);line-height:1.12;letter-spacing:-.05em;margin:18px 0 16px}.legal-policy .legal-intro{font-size:1.08rem;line-height:1.85;color:#556d80;max-width:760px}.legal-policy .legal-date{font-size:.8rem;color:#71849a;margin:17px 0 10px}.legal-policy section{scroll-margin-top:110px;margin-top:37px}.legal-policy section h2{font-size:clamp(1.32rem,2.8vw,1.7rem);letter-spacing:-.025em;line-height:1.3;margin:0 0 16px;color:var(--navy)}.legal-policy section p,.legal-policy section li{font-size:.96rem;line-height:1.85;color:#455f76}.legal-policy section p{margin:0 0 16px}.legal-policy ul{padding-left:24px;margin:12px 0 20px}.legal-policy li{margin:7px 0}.legal-policy a{color:#006ba3;text-decoration:underline;text-underline-offset:3px}.legal-policy .legal-toc{margin:24px 0 33px;padding:20px 24px;background:#f1f7fb;border:1px solid #e0edf5;border-radius:14px}.legal-policy .legal-toc strong{font-size:.9rem;color:#284e6b;display:block;margin-bottom:13px}.legal-policy .legal-toc>div{display:flex;flex-wrap:wrap;gap:8px 20px}.legal-policy .legal-toc a{font-size:.84rem}.legal-table-wrap{overflow-x:auto;border:1px solid #dfe8ef;border-radius:12px;margin:15px 0 18px}.legal-table{border-collapse:collapse;min-width:620px;width:100%;font-size:.84rem;line-height:1.6}.legal-table th{background:#edf5f9;text-align:left;color:#173f60;font-weight:750;padding:13px 16px}.legal-table td{padding:13px 16px;vertical-align:top;border-top:1px solid #e5edf3;color:#435d72}.legal-table th:first-child,.legal-table td:first-child{min-width:155px}.legal-policy .legal-end{margin-top:48px;padding:28px 32px;background:#f0f7fb;border:1px solid #d7e8f2;border-radius:16px}.legal-policy .legal-end strong{font-size:1.1rem;color:#19415e}.legal-policy .legal-end p{margin:9px 0 22px}.legal-policy .legal-end .button{color:#fff;text-decoration:none}.simple-footer a{color:inherit;text-decoration:underline}
html[data-theme="dark"] .legal-policy .legal-heading{border-color:#34506c}html[data-theme="dark"] .legal-policy .legal-intro,html[data-theme="dark"] .legal-policy section p,html[data-theme="dark"] .legal-policy section li{color:#c4d6e3}html[data-theme="dark"] .legal-policy .legal-date{color:#aac1d1}html[data-theme="dark"] .legal-policy section h2{color:#e6f1f8}html[data-theme="dark"] .legal-policy a{color:#79caff}html[data-theme="dark"] .legal-policy .legal-toc,html[data-theme="dark"] .legal-policy .legal-end{background:#132c48;border-color:#34516c}html[data-theme="dark"] .legal-policy .legal-toc strong,html[data-theme="dark"] .legal-policy .legal-end strong{color:#e3f2ff}html[data-theme="dark"] .legal-table-wrap{border-color:#3a5570}html[data-theme="dark"] .legal-table th{background:#1a3956;color:#f2f9ff}html[data-theme="dark"] .legal-table td{border-color:#3a5570;color:#d9e9f3;background:#132c48}html[data-theme="dark"] .legal-policy .legal-end .button{color:white}
@media(max-width:600px){.legal-policy{padding-block:34px 65px}.legal-policy .legal-toc{padding:16px}.legal-policy section{margin-top:30px}.legal-policy .legal-end{padding:23px}}


/* ROALECC v1.8.9 — Cabecera visual continua inspirada en Quito. Fotografía ilustrativa de diseño. */
html:not([data-theme="dark"]) .hero{background:#fcfdff;color:#122943}
html:not([data-theme="dark"]) .hero h1{color:#102946}
html:not([data-theme="dark"]) .hero-eyebrow{color:#38546a}
html:not([data-theme="dark"]) .hero-copy>p{color:#536a81}
html:not([data-theme="dark"]) .hero-trust{color:#526e80}
html:not([data-theme="dark"]) .check{border-color:#cee1ec;background:#eff6fb;color:#1777a9}
html:not([data-theme="dark"]) .hero .button-outline{border-color:#b8cad8;color:#16334e;background:#fff}
html:not([data-theme="dark"]) .hero .button-outline:hover{background:#e8f3fb}
html:not([data-theme="dark"]) .hero:before,html:not([data-theme="dark"]) .hero:after{opacity:0}
html:not([data-theme="dark"]) .hero-stars{opacity:0}
html[data-theme="dark"] .hero{background:linear-gradient(112deg,#09182c 0%,#0c2540 55%,#102c4c 100%)}
.hero .hero-layout{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:12px;min-height:640px;padding-block:72px 83px}
.hero .hero-copy{z-index:3;max-width:635px;min-width:0}
.hero .hero-copy h1{font-size:clamp(2.8rem,4.35vw,4.75rem)}
.hero .hero-ecuador-art{position:relative;isolation:isolate;min-height:405px;width:min(75vw,1070px);margin-left:-68px;margin-right:calc((min(1220px,100vw - 64px) - 100vw)/2);transform:none!important;overflow:visible}
.hero-landscape{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:block;pointer-events:none}
.hero-landscape img{display:block;width:100%;height:auto;max-width:none}
.hero-landscape .landscape-dark{display:none}
html[data-theme="dark"] .hero-landscape .landscape-light{display:none}
html[data-theme="dark"] .hero-landscape .landscape-dark{display:block}
.hero .hero-ecuador-art .float-chip{z-index:4;position:absolute;min-width:0;padding:13px 19px;display:flex;align-items:center;gap:12px;border-radius:15px;transform:none;background:rgba(255,255,255,.96);border:1px solid rgba(228,237,246,.85);box-shadow:0 12px 31px rgba(2,28,51,.16);color:#173047;backdrop-filter:blur(12px)}
.hero .hero-ecuador-art .float-chip strong{font-size:.86rem;line-height:1.35;display:block;font-weight:800}
.hero .hero-ecuador-art .float-chip small{font-size:.71rem;color:#6c8399;display:block;white-space:nowrap}
.hero .hero-ecuador-art .chip-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;background:#fff4c3;color:#ad8400;border-radius:11px;font-size:1.2rem}
.hero .hero-ecuador-art .chip-blue{background:#e4f1fc;color:#206ca3;font-size:1.4rem}
.hero .hero-ecuador-art .float-chip-left{left:11%;bottom:11%}
.hero .hero-ecuador-art .float-chip-right{right:5%;top:10%}
html[data-theme="dark"] .hero .hero-ecuador-art .float-chip{background:rgba(250,253,255,.96);color:#19384e;box-shadow:0 15px 34px rgba(0,0,0,.24)}
@media(max-width:1120px){.hero .hero-layout{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:0}.hero .hero-ecuador-art{margin-left:-36px;width:min(80vw,1000px);min-height:360px}.hero .hero-copy h1{font-size:clamp(2.7rem,4.4vw,4.2rem)}}
@media(max-width:850px){.hero .hero-layout{grid-template-columns:1fr;padding-block:64px 60px;min-height:unset;gap:20px}.hero .hero-copy{max-width:680px}.hero .hero-ecuador-art{width:calc(100% + 42px);min-height:330px;margin:0 -21px;transform:none!important}.hero .hero-landscape{top:50%;width:100%}.hero .hero-ecuador-art .float-chip-left{bottom:5%;left:7%}.hero .hero-ecuador-art .float-chip-right{top:4%;right:7%}}
@media(max-width:600px){.hero .hero-layout{padding-top:44px;padding-bottom:35px;gap:24px}.hero .hero-copy h1{font-size:clamp(2.25rem,10vw,3.4rem)}.hero .hero-ecuador-art{width:calc(100% + 34px);min-height:245px;margin-inline:-17px}.hero .hero-ecuador-art .float-chip{padding:9px 11px;gap:8px;border-radius:11px}.hero .hero-ecuador-art .float-chip strong{font-size:.71rem}.hero .hero-ecuador-art .float-chip small{font-size:.58rem}.hero .hero-ecuador-art .chip-icon{height:27px;width:27px;font-size:.93rem}.hero .hero-ecuador-art .float-chip-left{left:3%;bottom:1%}.hero .hero-ecuador-art .float-chip-right{right:3%;top:0}.hero .hero-trust{margin-top:22px}}
@media(max-width:390px){.hero .hero-ecuador-art{min-height:220px}.hero .hero-ecuador-art .float-chip small{white-space:normal}}

/* ROALECC 1.9.0: logotipo oficial protagonista en Nosotros (claro y oscuro). */
.about-scene-branded{
  position:relative;isolation:isolate;justify-content:initial;
  background:linear-gradient(145deg,#fff 0%,#f0f7fe 50%,#dceafa 100%);
  border:1px solid rgba(24,82,133,.13);box-shadow:0 25px 65px rgba(9,41,74,.10);
}
.about-scene-branded:before{content:"";position:absolute;z-index:-1;width:395px;height:395px;border:1px solid rgba(13,72,135,.08);border-radius:50%;right:-160px;top:-170px;box-shadow:0 0 0 62px rgba(25,84,149,.025),0 0 0 130px rgba(25,84,149,.018)}
.about-scene-branded .about-scene-top{position:relative;color:#26547a;flex:none}
.about-scene-branded .about-scene-top span:last-child{color:#4f7698}
.about-brand-stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:255px;padding:30px 42px 70px;position:relative}
.about-company-logo{width:min(100%,430px);height:auto;max-height:155px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(13,52,84,.07))}
.about-logo-dark{display:none}
.about-brand-stripe{display:flex;position:absolute;left:0;right:0;bottom:0;height:7px;overflow:hidden}
.about-brand-stripe i:nth-child(1){flex:2;background:#fbd010}
.about-brand-stripe i:nth-child(2){flex:1;background:#0d4ba0}
.about-brand-stripe i:nth-child(3){flex:1;background:#ec1731}
.about-scene-branded .scene-caption{bottom:49px;z-index:2;background:rgba(255,255,255,.95);box-shadow:0 5px 18px rgba(18,50,88,.09)}
html[data-theme="dark"] .about-scene-branded{background:linear-gradient(145deg,#102d4b,#0d2843 56%,#154469);border-color:rgba(142,190,229,.17);box-shadow:0 25px 65px rgba(0,0,0,.16)}
html[data-theme="dark"] .about-scene-branded .about-scene-top{color:#d7e8f8}
html[data-theme="dark"] .about-scene-branded .about-scene-top span:last-child{color:#9bc1e1}
html[data-theme="dark"] .about-logo-light{display:none}
html[data-theme="dark"] .about-logo-dark{display:block;filter:drop-shadow(0 9px 22px rgba(0,0,0,.25))}
html[data-theme="dark"] .about-scene-branded .scene-caption{background:rgba(237,245,253,.94);color:#12324f}
@media(max-width:600px){.about-brand-stage{min-height:215px;padding:28px 25px 77px}.about-company-logo{max-width:355px}.about-scene-branded .scene-caption{bottom:39px;left:16px;font-size:.67rem}}


/* ROALECC v1.9.1: white navigation + full-width blue Ecuador-themed scene; HTML accessibility preserved. */
.hero-white-header,.hero-white-header.site-header,html[data-theme="dark"] .hero-white-header.site-header{background:#fff;box-shadow:0 1px 0 rgba(14,48,82,.12)}
.hero-white-header .main-nav a,html[data-theme="dark"] .hero-white-header .main-nav a{color:#283e58}
.hero-white-header .main-nav a:hover,html[data-theme="dark"] .hero-white-header .main-nav a:hover{color:#076da7}
.hero-white-header .main-nav .nav-cv,html[data-theme="dark"] .hero-white-header .main-nav .nav-cv{color:#076a9a}
.hero-white-header .main-nav .nav-cta,html[data-theme="dark"] .hero-white-header .main-nav .nav-cta{color:#fff;background:#0b2a4a}
.hero-white-header .lang-button,html[data-theme="dark"] .hero-white-header .lang-button{background:#f0f5f9;color:#355575;box-shadow:inset 0 0 0 1px #cfdee9}
.hero-white-header .lang-button.is-selected,html[data-theme="dark"] .hero-white-header .lang-button.is-selected{background:#0b2a4a;color:#fff;box-shadow:none}
.hero-white-header .lang-button.is-selected::after,html[data-theme="dark"] .hero-white-header .lang-button.is-selected::after{background:#0b2a4a}
.hero-white-header .theme-toggle,html[data-theme="dark"] .hero-white-header .theme-toggle{background:#f0f5f9;border-color:#cfdee9;color:#0b2a4a}
.hero-white-header .menu-toggle span,html[data-theme="dark"] .hero-white-header .menu-toggle span{background:#0b2a4a}
html:not([data-theme="dark"]) .hero,html[data-theme="dark"] .hero{background:linear-gradient(110deg,#061a32 0%,#0a3567 62%,#0a4b83 100%);color:#fff}
.hero{isolation:isolate}
.hero:before{inset:0;left:0;top:0;right:0;bottom:0;width:auto;height:auto;border-radius:0;position:absolute;content:"";z-index:-1;background:url('assets/hero-quiteno-dia-limpio.webp') center center/cover no-repeat;opacity:1}
html[data-theme="dark"] .hero:before{filter:brightness(.78) saturate(.9)}
.hero:after{display:none}
.hero .hero-stars{opacity:0}
.hero .hero-layout{display:flex;align-items:center;position:relative;min-height:715px;padding:75px 0 79px;gap:0}
.hero .hero-copy{width:min(53%,665px);max-width:665px;min-width:0;position:relative;z-index:5}
.hero .hero-copy h1{font-size:clamp(2.9rem,4.35vw,4.8rem);line-height:1.07;color:#fff}
.hero .hero-eyebrow{color:#e0eafa}
.hero .hero-copy>p{max-width:600px;color:#deebf7;line-height:1.7}
.hero .hero-trust{color:#d0e0ee}
.hero .check{color:#ffdf49;background:rgba(172,213,250,.12);border-color:rgba(189,223,246,.35)}
.hero .button-outline,html:not([data-theme="dark"]) .hero .button-outline{color:#fff;background:rgba(6,33,69,.32);border-color:rgba(211,228,244,.55)}
.hero .button-outline:hover{background:rgba(47,115,172,.32)}
.hero .hero-geotarget-art{position:absolute;z-index:3;inset:auto -7vw auto auto;right:calc((min(1220px,100vw - 64px) - 100vw)/2 - 30px);width:min(72vw,1150px);height:610px;min-height:0;margin:0;transform:none!important;display:block;pointer-events:none;overflow:visible}
.hero-geo-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.geo-ring{stroke:rgba(198,229,255,.16);stroke-width:1.4;fill:none}
.geo-ring-inner{stroke:rgba(198,229,255,.12)}
.geo-arrow{fill:none;stroke:#dcefff;stroke-width:2.1;stroke-linecap:round;opacity:.85}
.geo-pins path{fill:#ffcc16}
.geo-pins circle{fill:#0a508a}
.geo-chip{display:flex;align-items:center;gap:12px;position:absolute;z-index:2;min-width:190px;max-width:260px;padding:12px 14px;background:rgba(14,56,102,.86);border:1px solid rgba(190,224,249,.4);border-radius:13px;box-shadow:0 14px 36px rgba(2,12,28,.17);color:#fff;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.geo-chip-symbol{display:grid;place-items:center;flex:none;background:rgba(204,226,252,.2);width:38px;height:38px;border-radius:9px;font-size:1.5rem;color:#ffe040;line-height:1}
.geo-chip strong{display:block;font-size:.83rem;line-height:1.3;font-weight:800;color:#fff}
.geo-chip small{display:block;font-size:.68rem;line-height:1.35;color:#d0e2f4;margin-top:3px;white-space:nowrap}
.geo-chip-select{top:16%;left:17%}
.geo-chip-follow{top:5%;right:9%}
.geo-chip-evaluate{top:47%;right:2%}
.geo-chip-supervise{top:63%;left:18%}
@media(min-width:1500px){.hero .hero-geotarget-art{width:1100px;right:3vw}}
@media(max-width:1120px){.hero .hero-layout{min-height:645px}.hero .hero-copy{width:57%}.hero .hero-copy h1{font-size:clamp(2.65rem,4.5vw,3.95rem)}.hero .hero-geotarget-art{width:73vw;right:-95px;height:540px}.geo-chip{padding:9px 11px;gap:7px;min-width:0}.geo-chip-symbol{width:31px;height:31px;font-size:1.25rem}.geo-chip strong{font-size:.72rem}.geo-chip small{font-size:.59rem}}
@media(max-width:850px){
 .hero-white-header .main-nav,html[data-theme="dark"] .hero-white-header .main-nav{background:#fff}
 .hero .hero-layout{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding-block:58px 30px;gap:12px}
 .hero .hero-copy{width:100%;max-width:640px}
 .hero .hero-copy h1{font-size:clamp(2.75rem,7vw,4rem)}
 .hero:before{background-position:center center}
 .hero .hero-geotarget-art{position:relative;top:auto;right:auto;width:min(100%,740px);height:430px;min-height:0;margin:10px auto 0;transform:none!important}
 .geo-chip-select{left:6%;top:14%}.geo-chip-follow{top:1%;right:4%}.geo-chip-evaluate{right:0;top:47%}.geo-chip-supervise{left:6%;top:66%}
}
@media(max-width:600px){
 .hero .hero-layout{padding-block:44px 30px;gap:18px}
 .hero .hero-copy h1{font-size:clamp(2.45rem,9.7vw,3.25rem);line-height:1.09}
 .hero .hero-copy>p{line-height:1.7}
 .hero:before{background-position:57% center}
 .hero .hero-geotarget-art{width:calc(100% + 12px);height:300px;margin-left:-6px;margin-top:0}
 .geo-chip{padding:7px;gap:6px;border-radius:9px}
 .geo-chip-symbol{width:25px;height:25px;font-size:1rem}
 .geo-chip strong{font-size:.68rem}
 .geo-chip small{font-size:.54rem;white-space:normal}
 .geo-chip-select{top:7%;left:0}
 .geo-chip-follow{top:0;right:0}
 .geo-chip-evaluate{top:53%;right:0}
 .geo-chip-supervise{top:69%;left:0}
 .geo-ring,.geo-ring-inner{opacity:.6}
}
@media(max-width:370px){.hero .hero-geotarget-art{height:260px}.geo-chip{max-width:155px}.geo-chip small{font-size:.49rem}}
@media(prefers-reduced-motion:reduce){.hero-geotarget-art,.hero-copy{transition:none!important;animation:none!important}}

/* Final cascade fix: v1.8.9 light-mode overrides must not dim the blue full-bleed hero. */
html:not([data-theme="dark"]) .hero:before,html[data-theme="dark"] .hero:before{opacity:1;display:block}
html:not([data-theme="dark"]) .hero h1,html[data-theme="dark"] .hero h1{color:#fff}
html:not([data-theme="dark"]) .hero .hero-eyebrow,html[data-theme="dark"] .hero .hero-eyebrow{color:#d9eafa}
html:not([data-theme="dark"]) .hero .hero-copy>p,html[data-theme="dark"] .hero .hero-copy>p{color:#e1edf7}
html:not([data-theme="dark"]) .hero .hero-trust,html[data-theme="dark"] .hero .hero-trust{color:#d6e6f2}
html:not([data-theme="dark"]) .hero .check,html[data-theme="dark"] .hero .check{color:#f9d443;background:rgba(170,206,238,.13)}
@media(min-width:1121px){.geo-chip-select{left:42%}.geo-chip-supervise{left:38%}}
@media(min-width:851px) and (max-width:1120px){.geo-chip-select{left:43%}.geo-chip-supervise{left:40%}}
/* Legibility: subtle gradient over scenery, especially on narrow screens. */
.hero:after{display:block;inset:0;width:auto;height:auto;left:0;right:0;top:0;bottom:0;border:none;border-radius:0;background:linear-gradient(90deg,rgba(4,23,46,.28),rgba(5,33,65,.10) 60%,transparent 85%);pointer-events:none;z-index:0}
.hero .hero-layout{z-index:1}
@media(max-width:600px){.hero:after{background:linear-gradient(180deg,rgba(4,19,38,.86) 0%,rgba(6,27,49,.64) 42%,rgba(6,30,54,.15) 66%,transparent 100%)}}


/* ROALECC v1.9.2: images are separate HD resources, and BOTH themes retain corporate-blue hero. */
html:not([data-theme="dark"]) .hero{
  background:linear-gradient(116deg,#062652 0%,#08528d 62%,#0a5f98 100%);color:#fff;
}
html[data-theme="dark"] .hero{
  background:linear-gradient(116deg,#031629 0%,#092e55 67%,#0b3c64 100%);color:#fff;
}
html:not([data-theme="dark"]) .hero:before{
  background-image:url('assets/hero-quiteno-dia-limpio.webp');
  background-size:cover;
  background-position:center center;
  filter:none;
}
html[data-theme="dark"] .hero:before{
  background-image:url('assets/hero-quiteno-atardecer-limpio.webp');
  background-size:cover;
  background-position:center center;
  filter:none;
}
/* Keep the white navigation and original logo in both themes. */
.hero-white-header,html[data-theme="dark"] .hero-white-header.site-header{background:#fff}
/* Cards stay clearly readable without overexposing the darker landscape. */
html:not([data-theme="dark"]) .hero .geo-chip{
  background:rgba(9,65,116,.89);border-color:rgba(197,229,255,.55);
}
html[data-theme="dark"] .hero .geo-chip{
  background:rgba(5,34,69,.91);border-color:rgba(163,199,229,.43);
}
/* Clear on top of blue while protecting body copy. */
html:not([data-theme="dark"]) .hero:after{
  background:linear-gradient(90deg,rgba(2,24,52,.28),rgba(6,45,88,.12) 58%,transparent 84%);
}
html[data-theme="dark"] .hero:after{
  background:linear-gradient(90deg,rgba(2,14,33,.32),rgba(3,23,50,.14) 58%,transparent 85%);
}
@media(max-width:600px){
 html:not([data-theme="dark"]) .hero:before,html[data-theme="dark"] .hero:before{
  background-position:63% center;
 }
 html:not([data-theme="dark"]) .hero:after{
  background:linear-gradient(180deg,rgba(3,23,50,.88),rgba(6,44,81,.66) 41%,rgba(5,47,89,.16) 67%,transparent 100%);
 }
 html[data-theme="dark"] .hero:after{
  background:linear-gradient(180deg,rgba(2,13,31,.91),rgba(4,25,52,.73) 42%,rgba(4,27,58,.19) 67%,transparent 100%);
 }
}


/* ROALECC 1.9.3 — Logo accesible y de alto contraste en la tarjeta «¿Cómo funciona?».
   En modo claro se muestra el logo corporativo, en modo oscuro el SVG monocromo blanco.
   La etiqueta HTML, la cabecera y los formularios conservan su comportamiento. */
.apply-aside .apply-aside-brand{display:block;max-width:210px}
.apply-aside .apply-aside-brand img{display:block;width:100%;height:auto;max-width:210px}
.apply-aside .apply-aside-brand .apply-aside-logo-white{display:none}
html[data-theme="dark"] .apply-aside .apply-aside-brand .apply-aside-logo-normal{display:none}
html[data-theme="dark"] .apply-aside .apply-aside-brand .apply-aside-logo-white{display:block}


/* ROALECC v1.9.4 — hero sin marcos incrustados, imágenes de origen nítidas y tarjetas equilibradas.
   Los recursos son paisajes conceptuales; textos/tarjetas/mapa siguen siendo HTML y SVG. */
html:not([data-theme="dark"]) .hero{background:#0b467a;}
html[data-theme="dark"] .hero{background:#071c36;}
html:not([data-theme="dark"]) .hero:before,html[data-theme="dark"] .hero:before{
  inset:0;width:auto;height:auto;position:absolute;z-index:-1;
  background-size:cover;background-position:56% 52%;background-repeat:no-repeat;
  filter:none;opacity:1;transform:none;
}
html:not([data-theme="dark"]) .hero:before{background-image:url('assets/hero-quiteno-dia-limpio.webp');}
html[data-theme="dark"] .hero:before{background-image:url('assets/hero-quiteno-atardecer-limpio.webp');}
html:not([data-theme="dark"]) .hero:after{
  background:linear-gradient(90deg,rgba(7,36,68,.96) 0%,rgba(7,42,79,.94) 27%,rgba(7,49,88,.78) 42%,rgba(7,45,82,.34) 62%,transparent 83%);
}
html[data-theme="dark"] .hero:after{
  background:linear-gradient(90deg,rgba(4,22,45,.96) 0%,rgba(5,28,56,.96) 28%,rgba(6,28,54,.80) 44%,rgba(5,27,53,.38) 64%,transparent 84%);
}
.hero .hero-layout{min-height:720px;}
.hero .hero-geotarget-art{
 width:min(58vw,1020px);right:0;height:570px;pointer-events:none;z-index:3;
}
/* Reorganizar las tres etiquetas, sin una tarjeta flotando encima del horizonte. */
.hero .geo-chip-select{top:20%;left:27%;}
.hero .geo-chip-evaluate{top:48%;right:2%;}
.hero .geo-chip-supervise{top:70%;left:31%;}
.hero .geo-chip{max-width:min(27vw,260px);min-width:unset;}
.hero .geo-chip small{white-space:normal;}
.hero .geo-ring{stroke:rgba(198,229,255,.11);}
.hero .geo-ring-inner{stroke:rgba(198,229,255,.075);}
.hero .geo-arrow{stroke:rgba(227,242,255,.74);stroke-width:1.7;}
@media(min-width:1500px){.hero .hero-geotarget-art{right:0;width:min(59vw,1060px);}}
@media(min-width:851px) and (max-width:1120px){
  .hero .hero-geotarget-art{width:59vw;right:0;}
  .hero .geo-chip-select{left:29%;top:17%;}
  .hero .geo-chip-supervise{left:30%;top:72%;}
  .hero .geo-chip-evaluate{right:0;top:48%;}
}
@media(max-width:850px){
 html:not([data-theme="dark"]) .hero:before,html[data-theme="dark"] .hero:before{inset:0;background-position:64% center;}
 html:not([data-theme="dark"]) .hero:after{background:linear-gradient(180deg,#092849 0%,rgba(8,44,80,.98) 25%,rgba(9,45,78,.73) 48%,rgba(8,44,77,.32) 73%,rgba(7,35,68,.18) 100%);}
 html[data-theme="dark"] .hero:after{background:linear-gradient(180deg,#061c36 0%,rgba(6,28,54,.98) 27%,rgba(6,28,54,.72) 51%,rgba(6,28,54,.22) 77%,rgba(5,28,52,.18) 100%);}
 .hero .hero-geotarget-art{width:min(100%,700px);right:auto;height:390px;}
 .hero .geo-chip{max-width:220px;}
 .hero .geo-chip-select{left:13%;top:10%;}
 .hero .geo-chip-evaluate{right:2%;top:44%;}
 .hero .geo-chip-supervise{left:11%;top:70%;}
}
@media(max-width:600px){
 html:not([data-theme="dark"]) .hero:before,html[data-theme="dark"] .hero:before{inset:0;background-position:60% center;}
 .hero .hero-layout{padding-bottom:40px;}
 .hero .hero-geotarget-art{width:calc(100% + 10px);margin-left:-5px;height:295px;}
 .hero .geo-chip{max-width:174px;}
 .hero .geo-chip-select{left:6%;top:8%;}
 .hero .geo-chip-evaluate{right:0;top:46%;}
 .hero .geo-chip-supervise{left:5%;top:73%;}
}


/* ROALECC 1.9.5 — refinamiento de tarjetas del hero sin tocar paisajes ni la marca.
   Tarjetas compactas, sin rectángulos pesados y con separación real respecto al titular. */
.hero .geo-chip{
  width:clamp(205px,18.2vw,252px);min-width:0;max-width:none;min-height:76px;
  padding:13px 16px 13px 15px;gap:13px;align-items:center;
  border:1px solid rgba(199,225,248,.34);border-radius:21px;
  background:linear-gradient(135deg,rgba(9,40,74,.88),rgba(20,74,119,.81));
  color:#fff;box-shadow:0 13px 29px rgba(2,16,39,.21),inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  overflow:hidden;
}
.hero .geo-chip:before{
  content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;
  border-radius:0 4px 4px 0;background:#fcd116;
}
.hero .geo-chip-symbol{
  display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;
  color:#ffdd46;background:rgba(184,219,255,.13);font-size:1rem;
  box-shadow:inset 0 0 0 1px rgba(201,229,255,.09);
}
.hero .geo-chip-symbol svg{width:23px;height:23px;display:block}
.hero .geo-chip strong{font-size:.9rem;letter-spacing:-.01em;line-height:1.28;font-weight:800}
.hero .geo-chip small{font-size:.72rem;line-height:1.4;margin-top:4px;color:#d8e8f6;white-space:normal}
html:not([data-theme="dark"]) .hero .geo-chip{
  background:linear-gradient(135deg,rgba(7,54,98,.88),rgba(15,86,136,.83));
  border-color:rgba(212,236,255,.4);
}
html[data-theme="dark"] .hero .geo-chip{
  background:linear-gradient(135deg,rgba(6,26,55,.92),rgba(15,55,99,.85));
  border-color:rgba(182,215,248,.32);
}
/* Todas las tarjetas a la derecha de la zona tipográfica: sin invadir el H1. */
.hero .geo-chip-select{top:10%;left:48%;}
.hero .geo-chip-evaluate{top:43%;right:1.8%;}
.hero .geo-chip-supervise{top:75%;left:42%;}
.hero .geo-arrow{stroke-width:1.5;opacity:.64}
.hero .geo-pins path{fill:#fcd116}
@media(min-width:1500px){
 .hero .geo-chip-select{left:58%;top:10%}
 .hero .geo-chip-supervise{left:54%;top:74%}
}
@media(min-width:851px) and (max-width:1280px){
 .hero .geo-chip{width:208px;min-height:66px;padding:10px 12px;gap:9px;border-radius:17px}
 .hero .geo-chip-symbol{flex-basis:34px;width:34px;height:34px;border-radius:10px}
 .hero .geo-chip-symbol svg{width:19px;height:19px}
 .hero .geo-chip strong{font-size:.78rem}
 .hero .geo-chip small{font-size:.64rem}
 .hero .geo-chip-select{top:7%;left:57%}
 .hero .geo-chip-evaluate{right:0;top:40%}
 .hero .geo-chip-supervise{top:77%;left:48%}
}
@media(max-width:850px){
 .hero .geo-chip{width:210px;min-height:67px;padding:10px 12px;border-radius:16px;gap:10px}
 .hero .geo-chip-symbol{flex-basis:35px;width:35px;height:35px;border-radius:11px}
 .hero .geo-chip-symbol svg{width:20px;height:20px}
 .hero .geo-chip strong{font-size:.78rem}
 .hero .geo-chip small{font-size:.64rem}
 .hero .geo-chip-select{top:6%;left:32%}
 .hero .geo-chip-evaluate{right:2%;top:41%}
 .hero .geo-chip-supervise{top:73%;left:20%}
}
@media(max-width:600px){
 .hero .hero-geotarget-art{height:320px}
 .hero .geo-chip{width:167px;min-height:59px;padding:8px 9px;gap:7px;border-radius:14px}
 .hero .geo-chip-symbol{flex-basis:30px;width:30px;height:30px;border-radius:10px}
 .hero .geo-chip-symbol svg{width:18px;height:18px}
 .hero .geo-chip strong{font-size:.68rem}
 .hero .geo-chip small{font-size:.55rem;margin-top:2px}
 .hero .geo-chip-select{top:4%;left:32%}
 .hero .geo-chip-evaluate{right:0;top:40%}
 .hero .geo-chip-supervise{left:3%;top:74%}
}

/* v1.9.6: aclaración de privacidad cuando KI está seleccionado. */
.kichwa-partial-note{display:none;margin:0 0 14px;padding:10px 14px;border-left:3px solid #f4c321;border-radius:6px;background:rgba(244,195,33,.10);font-size:.9rem;line-height:1.5;color:inherit;}
html[data-roalecc-locale="ki"] .kichwa-partial-note{display:block;}


/* ROALECC v1.9.8 — Portada móvil: misma catedral que en escritorio,
   sin el recorte que producía background-size: cover en una sección alta.
   Los elementos interactivos, la portada de escritorio y los dos paisajes se mantienen. */
@media (max-width:850px) {
  /* Fondo corporativo continuo para el texto: el paisaje pasa a la zona panorámica. */
  html:not([data-theme="dark"]) .hero:before,
  html[data-theme="dark"] .hero:before {
    background-image:none;
    background:none;
  }
  html:not([data-theme="dark"]) .hero {
    background:linear-gradient(145deg,#082b52 0%,#10578c 72%,#0c4777 100%);
  }
  html[data-theme="dark"] .hero {
    background:linear-gradient(145deg,#04172f 0%,#0a2f55 76%,#061e3b 100%);
  }
  html:not([data-theme="dark"]) .hero:after,
  html[data-theme="dark"] .hero:after {
    background:linear-gradient(180deg,rgba(4,22,44,.30),transparent 60%);
  }
  .hero .hero-geotarget-art {
    isolation:isolate;
    position:relative;
    width:min(100%,700px);
    height:380px;
    margin:4px auto 0;
  }
  .hero .hero-geotarget-art:before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:-12px -32px -14px;
    background-image:url('assets/hero-quiteno-dia-limpio.webp');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:right center;
    -webkit-mask-image:linear-gradient(to bottom,transparent,black 11%,black 88%,transparent);
    mask-image:linear-gradient(to bottom,transparent,black 11%,black 88%,transparent);
    pointer-events:none;
  }
  html[data-theme="dark"] .hero .hero-geotarget-art:before {
    background-image:url('assets/hero-quiteno-atardecer-limpio.webp');
  }
  /* En pantallas pequeñas los chips se colocan a la izquierda de la catedral. */
  .hero .hero-geotarget-art .geo-chip-select {top:7%;left:0;right:auto;}
  .hero .hero-geotarget-art .geo-chip-evaluate {top:40%;left:0;right:auto;}
  .hero .hero-geotarget-art .geo-chip-supervise {top:73%;left:0;right:auto;}
  .hero .hero-geo-lines {opacity:.23;}
  /* Control de tema siempre visible, con una forma y un color diferenciables. */
  .site-header .lang-switcher {display:flex;align-items:center;flex-shrink:0;}
  .site-header .theme-toggle,
  html[data-theme="dark"] .site-header .theme-toggle {
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 38px;
    width:38px;
    height:38px;
    border:2px solid #d9ad00;
    background:#fff5c7;
    color:#092c52;
    position:relative;
    z-index:2;
  }
  .site-header .theme-toggle .theme-icon{width:20px;height:20px;stroke-width:2.1;}
  .site-header .theme-toggle .theme-moon{display:block;}
  .site-header .theme-toggle .theme-sun{display:none;}
  html[data-theme="dark"] .site-header .theme-toggle .theme-moon{display:none;}
  html[data-theme="dark"] .site-header .theme-toggle .theme-sun{display:block;}
}
@media (max-width:600px) {
  .hero .hero-geotarget-art {width:100%;height:360px;margin-top:6px;}
  .hero .hero-geotarget-art:before {inset:-10px -17px -12px;background-position:right center;}
  .hero .hero-geotarget-art .geo-chip {width:145px;max-width:145px;min-height:53px;}
  .hero .hero-geotarget-art .geo-chip-symbol {flex-basis:27px;width:27px;height:27px;}
  .hero .hero-geotarget-art .geo-chip strong {font-size:.69rem;}
  .hero .hero-geotarget-art .geo-chip small {font-size:.54rem;}
  .site-header .header-inner {gap:6px;}
  .site-header .lang-switcher {gap:4px;}
  .site-header .theme-toggle,html[data-theme="dark"] .site-header .theme-toggle {flex-basis:35px;width:35px;height:35px;}
}
@media (max-width:370px) {
  .hero .hero-geotarget-art {height:315px;}
  .hero .hero-geotarget-art .geo-chip {width:127px;max-width:127px;padding:7px 8px;gap:6px;}
  .hero .hero-geotarget-art .geo-chip small {font-size:.49rem;}
  .site-header .brand {width:clamp(86px,28vw,105px);}
  .site-header .lang-button {width:27px;height:27px;font-size:.57rem;}
  .site-header .lang-switcher {gap:3px;}
  .site-header .theme-toggle,html[data-theme="dark"] .site-header .theme-toggle {flex-basis:33px;width:33px;height:33px;}
  .site-header .menu-toggle {padding:4px;}
}

/* ROALECC v1.9.9: contraste del sol en la cabecera clara. Igual azul marino que la luna. */
.hero-white-header .theme-toggle .theme-sun,
html[data-theme="dark"] .hero-white-header .theme-toggle .theme-sun {
  color:#0b2a4a;
  stroke:#0b2a4a;
}
@media (max-width:768px) {
  .site-header .theme-toggle .theme-sun,
  html[data-theme="dark"] .site-header .theme-toggle .theme-sun {
    color:#0b2a4a;
    stroke:#0b2a4a;
  }
}

/* v2.0.8: selector de CV traducible; input nativo permanece operable con teclado y pantalla táctil. */
.apply-file-picker{display:flex;align-items:center;gap:10px;min-height:64px;padding:10px 14px;position:relative;border:1px solid #c7d7e7;border-radius:12px;background:rgba(2,15,34,.025);flex-wrap:wrap;cursor:pointer;}
.apply-file-picker .apply-file-action{display:inline-block;border-radius:4px;background:#58606b;color:#fff;padding:6px 12px;font-size:.95rem;line-height:1.35;font-weight:620;}
.apply-file-picker .apply-file-selection{font-size:.9rem;font-weight:640;overflow-wrap:anywhere;flex:1;min-width:180px;}
.apply-form .apply-file-picker input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;padding:0!important;margin:0;cursor:pointer;z-index:1;}
.apply-file-picker:focus-within{outline:3px solid #f0bc3b;outline-offset:3px;}
html[data-theme="dark"] .apply-file-picker{background:rgba(2,15,34,.22);border-color:#365875;}

/* v2.1.3 — texto de requisitos en tarjetas de ofertas */
.job-card .job-requirements{margin-top:12px;white-space:pre-line;color:#4c657a;font-size:.88rem}
.job-card p{white-space:pre-line}

/* v2.2.2 · Información complementaria de evaluación y verificaciones */
.service-evaluation{margin-top:26px;padding:27px 29px;border-radius:16px;border:1px solid #d9e6ef;background:#fff;line-height:1.75;color:#233d53}
.service-evaluation h3{font-size:1.16rem;margin:0 0 9px;color:#102f49}
.service-evaluation p{margin:0 0 9px;font-size:.89rem}
.service-evaluation .service-evaluation-note{margin:0;color:#577084;font-size:.81rem}
html[data-theme="dark"] .service-evaluation{background:#132b43;border-color:#304960;color:#dce8f4}
html[data-theme="dark"] .service-evaluation h3{color:#f0f6ff}
html[data-theme="dark"] .service-evaluation .service-evaluation-note{color:#b2c4d6}
@media(max-width:600px){.service-evaluation{padding:22px 19px}}
