:root{--navy:#003b5c;--cyan:#00a1a7;--steel:#7a7f85;--ink:#102732;--mist:#f3f7f7;--white:#fff;--line:#dce6e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Arial,Roboto,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}h1,h2,h3,.eyebrow,.button,.nav{font-family:Montserrat,Arial Narrow,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;font-size:clamp(2.7rem,7vw,6.6rem);line-height:.98}h2{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.5rem);line-height:1.08}h3{line-height:1.2}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:50;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;height:94px;padding:0 max(4vw,24px);display:flex;position:sticky;top:0}.brand img{object-fit:contain;width:190px;height:auto}.nav{align-items:center;gap:clamp(16px,2vw,32px);font-size:.79rem;font-weight:700;display:flex}.nav a:hover{color:var(--cyan)}.nav-contact{background:var(--navy);border-radius:2px;padding:12px 20px;color:#fff!important}.menu-button{background:0 0;border:0;padding:10px;display:none}.menu-button span{background:var(--navy);width:25px;height:2px;margin:5px;display:block}.hero{grid-template-columns:1.25fr .75fr;min-height:calc(100vh - 94px);display:grid;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;padding:clamp(70px,9vw,140px) max(5vw,30px);display:flex}.hero-copy h1{max-width:950px;margin:24px 0 30px}.hero-copy>p{color:#4d626c;max-width:700px;font-size:1.2rem}.eyebrow{text-transform:uppercase;color:var(--cyan);letter-spacing:.18em;font-size:.75rem;font-weight:800}.eyebrow.light{color:#7ee4e7}.actions{gap:12px;margin-top:18px;display:flex}.button{letter-spacing:.04em;cursor:pointer;border:0;border-radius:2px;justify-content:center;align-items:center;padding:15px 23px;font-size:.8rem;font-weight:800;display:inline-flex}.button.primary{background:var(--cyan);color:#002f46}.button.ghost{border:1px solid var(--navy);color:var(--navy)}.button.light{color:var(--navy);background:#fff}.hero-panel{background:var(--navy);color:#fff;justify-content:center;align-items:center;min-height:620px;display:flex;position:relative;overflow:hidden}.triangle-mark{background:var(--cyan);clip-path:polygon(50% 0,100% 100%,0 100%);place-items:center;width:230px;height:210px;display:grid;transform:rotate(8deg)}.triangle-mark span{font-size:3rem;font-weight:900;transform:translateY(30px)rotate(-8deg)}.hero-panel p{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;line-height:2;position:absolute;bottom:8%;right:7%}.orbit{border:1px solid #fff3;border-radius:50%;position:absolute}.orbit-one{width:520px;height:520px}.orbit-two{width:760px;height:760px}.section{padding:clamp(70px,9vw,130px) max(5vw,30px)}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px;display:flex}.section-head h2{max-width:720px;margin:12px 0 0}.text-link{color:var(--navy);border-bottom:2px solid var(--cyan);white-space:nowrap;font-weight:700}.service-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.service-card{border-right:1px solid var(--line);min-height:310px;padding:35px 28px 20px 0}.service-card+article{padding-left:28px}.service-card span{color:var(--cyan);font-size:.75rem;font-weight:800}.service-card h3{margin:55px 0 20px;font-size:1.35rem}.service-card p{color:#5e6e76;font-size:.94rem}.metrics{background:var(--mist);grid-template-columns:repeat(4,1fr);padding:55px max(5vw,30px);display:grid}.metrics div{border-left:1px solid #cbd9dc;flex-direction:column;padding:20px 28px;display:flex}.metrics strong{color:var(--navy);font-size:2.6rem;line-height:1}.metrics span{text-transform:uppercase;letter-spacing:.08em;margin-top:15px;font-size:.77rem}.split-callout{background:var(--navy);color:#fff;grid-template-columns:1.2fr .8fr;align-items:center;gap:10vw;display:grid}.split-callout h2{margin-top:15px}.split-callout p{color:#c8dde3}.split-callout .button{margin-top:18px}.page-hero{background:var(--navy);color:#fff;padding:clamp(80px,10vw,150px) max(5vw,30px)}.page-hero h1{max-width:1100px;margin:25px 0;font-size:clamp(3.2rem,8vw,7.5rem)}.page-hero p{color:#c9dce3;max-width:760px;font-size:1.2rem}.prose-grid{grid-template-columns:1fr 1fr;gap:10vw;display:grid}.prose-grid p{color:#536973}.big-number{color:var(--cyan);font-size:5rem;font-weight:900;line-height:1}.statement{border-left:3px solid var(--cyan);padding-left:40px}.statement span{text-transform:uppercase;letter-spacing:.15em;color:var(--cyan);font-size:.75rem;font-weight:800}.statement h3{margin:10px 0 45px;font-size:1.55rem}.value-grid{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.value-grid article{background:#fff;min-height:210px;padding:38px}.value-grid h3{color:var(--navy)}.value-grid p{color:#5d7079}.service-list article{border-top:1px solid var(--line);grid-template-columns:70px 1fr .8fr;gap:35px;padding:45px 0;display:grid}.service-list article>span{color:var(--cyan);font-weight:800}.service-list h2{font-size:2rem}.service-list aside{border-left:2px solid var(--cyan);padding-left:30px}.service-list aside b{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.cta-inline{background:var(--mist);grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;display:grid}.cta-inline h2{margin:0;font-size:2.2rem}.cta-inline p{margin:0}.notice{border-left:4px solid var(--cyan);max-width:780px;margin-bottom:70px;padding-left:35px}.notice span{color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800}.project-template{border:1px solid var(--line);padding:45px}.project-template>div>span{color:var(--steel);text-transform:uppercase;font-size:.75rem}.project-template dl{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:20px;margin:40px 0 0;padding-top:30px;display:grid}.project-template dt{text-transform:uppercase;color:var(--cyan);font-size:.72rem;font-weight:800}.project-template dd{margin:8px 0 0}.quality-grid{grid-template-columns:.55fr 1.45fr;align-items:center;gap:8vw;display:grid}.iso-card{background:var(--cyan);color:#002e43;aspect-ratio:1;flex-direction:column;justify-content:center;align-items:center;display:flex}.iso-card span{font-size:4rem;font-weight:900;line-height:1}.iso-card strong{font-size:1.7rem}.quality-grid blockquote{margin:20px 0;font-family:Georgia,serif;font-size:clamp(1.4rem,2.4vw,2.2rem);line-height:1.45}.roles-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.roles-grid article{border:1px solid var(--line);padding:30px}.application{background:var(--navy);color:#fff;grid-template-columns:.8fr 1.2fr;gap:8vw;display:grid}.application p{color:#c5d8de}.contact-grid{grid-template-columns:.75fr 1.25fr;gap:9vw;display:grid}.contact-note{border-top:1px solid var(--line);color:#5e7079;flex-direction:column;margin-top:50px;padding-top:25px;display:flex}.contact-form{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-form label{text-transform:uppercase;letter-spacing:.08em;flex-direction:column;font-size:.75rem;font-weight:700;display:flex}.contact-form .button,.form-status{grid-column:1/-1}.contact-form label:has(textarea){grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{color:var(--ink);font:inherit;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #b7c7cc;margin-top:8px;padding:14px;font-size:1rem}.form-status{color:#07535a;background:#e8f7f5;margin:0;padding:15px;font-size:.9rem}.project-stats{background:var(--cyan);grid-template-columns:repeat(4,1fr);padding:45px max(5vw,30px);display:grid}.project-stats div{border-left:1px solid #003b5c40;flex-direction:column;padding:15px 28px;display:flex}.project-stats strong{color:var(--navy);font-size:clamp(2rem,4vw,3.4rem);line-height:1}.project-stats span{text-transform:uppercase;letter-spacing:.08em;color:#064c62;margin-top:12px;font-size:.72rem}.project-source{text-align:right;color:#5d7079;font-size:.88rem}.project-list{border-top:1px solid var(--line)}.project-card{border-bottom:1px solid var(--line);grid-template-columns:130px 1.25fr .65fr;gap:40px;padding:48px 0;scroll-margin-top:120px;display:grid}.project-index{flex-direction:column;display:flex}.project-index span{color:var(--cyan);font-size:2rem;font-weight:900}.project-index b{text-transform:uppercase;letter-spacing:.12em;color:var(--steel);margin-top:8px;font-size:.7rem}.project-main h3{color:var(--navy);margin-bottom:16px;font-size:clamp(1.35rem,2.5vw,2.05rem)}.project-main p{color:#536973}.project-card dl{border-left:2px solid var(--cyan);margin:0;padding-left:28px}.project-card dl div+div{margin-top:24px}.project-card dt{text-transform:uppercase;letter-spacing:.12em;color:var(--steel);font-size:.68rem;font-weight:800}.project-card dd{margin:6px 0 0}.project-card code{background:var(--mist);color:var(--navy);padding:6px 8px;font-family:Arial,sans-serif}.consortium{background:var(--mist);border-left:3px solid var(--cyan);padding:15px;font-size:.9rem}.evidence-note{background:var(--navy);color:#fff;grid-template-columns:.8fr 1.2fr;gap:9vw;display:grid}.evidence-note p{color:#c8dde3}.evidence-note p+p{margin-top:25px}.site-footer{color:#41555e;background:#eaf0f1;grid-template-columns:1.5fr repeat(3,1fr);gap:55px;padding:70px max(5vw,30px) 25px;display:grid}.site-footer img{width:180px;height:auto}.site-footer h3{text-transform:uppercase;letter-spacing:.13em;color:var(--navy);font-size:.75rem}.site-footer a,.site-footer div>span{margin:8px 0;font-size:.88rem;display:block}.site-footer>div:first-child p{max-width:300px}.site-footer small{border-top:1px solid #cad7da;grid-column:1/-1;margin-top:30px;padding-top:22px}@media (max-width:1000px){.menu-button{display:block}.nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;padding:25px;display:none;position:absolute;top:94px;left:0;right:0}.nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-panel{min-height:430px}.service-grid,.metrics,.project-stats,.value-grid,.site-footer{grid-template-columns:1fr 1fr}.service-list article{grid-template-columns:55px 1fr}.service-list aside{grid-column:2}.cta-inline{grid-template-columns:1fr}.roles-grid{grid-template-columns:1fr 1fr}.project-card{grid-template-columns:80px 1fr}.project-card dl{grid-column:2}}@media (max-width:650px){.site-header{height:80px}.brand img{width:155px}.nav{top:80px}.hero{min-height:auto}.hero-copy{padding-top:75px}.hero-panel{min-height:350px}.triangle-mark{width:170px;height:155px}.section-head{flex-direction:column;align-items:start}.service-grid,.metrics,.project-stats,.prose-grid,.value-grid,.quality-grid,.roles-grid,.application,.contact-grid,.site-footer,.evidence-note{grid-template-columns:1fr}.service-card,.service-card+article{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:30px 0}.metrics div,.project-stats div{border-top:1px solid #cbd9dc;border-left:0}.split-callout{grid-template-columns:1fr}.project-template{padding:25px}.project-template dl{grid-template-columns:1fr 1fr}.quality-grid{gap:45px}.iso-card{max-width:330px}.service-list article{grid-template-columns:40px 1fr;gap:15px}.project-source{text-align:left}.project-card{grid-template-columns:1fr;gap:18px}.project-card dl{border-left:0;border-top:2px solid var(--cyan);grid-column:auto;padding-top:20px;padding-left:0}.contact-form{grid-template-columns:1fr}.site-footer small{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hero{background:linear-gradient(110deg,#fff 0%,#f5f9f9 100%);grid-template-columns:1.05fr .95fr}.hero-visual{background:var(--navy);min-height:620px;margin:0;position:relative;overflow:hidden}.hero-visual img{object-fit:cover;object-position:58% center}.hero-visual:after{content:"";background:linear-gradient(90deg,#003b5c14,#0000 40%,#003b5c2e);position:absolute;inset:0}.hero-visual figcaption{z-index:2;color:#fff;border-left:4px solid var(--cyan);background:#00263ae6;flex-direction:column;padding:22px 25px;display:flex;position:absolute;bottom:28px;left:32px;right:32px}.hero-visual figcaption span{color:#7ee4e7;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}.hero-visual figcaption b{margin-top:5px;font-size:.92rem}.hero-visual figcaption small{opacity:.7;margin-top:5px}.visual-story,.project-feature,.people-feature{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(40px,7vw,110px);display:grid}.visual-story,.project-feature{background:var(--mist)}.visual-story figure,.project-feature figure,.people-feature figure{min-height:520px;margin:0;position:relative;overflow:hidden}.visual-story img,.project-feature img,.people-feature img{object-fit:cover}.visual-story figcaption,.project-feature figcaption,.people-feature figcaption{color:#fff;background:#00263ae0;padding:9px 12px;font-size:.72rem;position:absolute;bottom:16px;left:18px}.visual-story h2,.project-feature h2,.people-feature h2{margin:18px 0 25px}.visual-story p,.project-feature p,.people-feature p{color:#536973;font-size:1.06rem}.visual-story .text-link{margin-top:15px;display:inline-block}.mini-timeline{color:var(--navy);align-items:center;margin-top:38px;display:flex}.mini-timeline span{font-size:.76rem;line-height:1.45}.mini-timeline b{font-size:.92rem}.mini-timeline i{background:var(--cyan);flex:1;height:2px;margin:0 16px;position:relative}.mini-timeline i:after{content:"";background:var(--cyan);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;right:0}.verification{background:#fff7df;border-left:3px solid #e1a526;padding:15px;font-size:.9rem;color:#624c16!important}@media (max-width:1000px){.hero{grid-template-columns:1fr}.hero-visual{min-height:470px}.visual-story,.project-feature,.people-feature{grid-template-columns:1fr}.visual-story figure,.project-feature figure,.people-feature figure{min-height:430px}}@media (max-width:650px){.hero-visual{min-height:380px}.hero-visual figcaption{padding:15px 18px;bottom:16px;left:18px;right:18px}.visual-story figure,.project-feature figure,.people-feature figure{min-height:320px}.mini-timeline{align-items:flex-start}.mini-timeline i{margin-top:12px}}.recruitment-banner{color:#fff;background:#2b4050;border-bottom:8px solid #fb8858;grid-template-columns:1fr minmax(260px,360px);align-items:stretch;gap:0;min-height:340px;display:grid;overflow:hidden}.recruitment-banner figure{background:#2b4050;min-height:340px;margin:0;position:relative}.recruitment-banner figure:before{content:"UTP a cargo del proyecto";z-index:2;color:#b7c0c4;text-transform:uppercase;white-space:nowrap;letter-spacing:.13em;font-size:.62rem;font-weight:800;position:absolute;top:72px;left:50%;transform:translate(-50%)}.recruitment-banner figure img{object-fit:contain;mix-blend-mode:screen;opacity:.92;padding:72px 22px 28px}.campaign-copy{flex-direction:column;justify-content:center;padding:clamp(42px,5vw,72px) max(5vw,40px);display:flex;position:relative;overflow:hidden}.campaign-copy:before{content:"";background:#fb8858;border-radius:50%;width:190px;height:190px;position:absolute;top:-95px;right:-70px}.campaign-copy:after{content:"";opacity:.85;background:repeating-linear-gradient(135deg,#889091 0 8px,#0000 8px 17px);width:160px;height:55px;position:absolute;bottom:0;right:4%}.campaign-label{color:#fff;text-transform:uppercase;letter-spacing:.1em;z-index:1;background:#fb8858;border-radius:999px;width:max-content;padding:7px 14px;font-size:.7rem;font-weight:800;position:relative}.recruitment-banner h2{color:#fb9a70;z-index:1;max-width:900px;margin:18px 0;font-size:clamp(2rem,4vw,4.25rem);line-height:1;position:relative}.recruitment-banner p{color:#eef1f2;z-index:1;max-width:760px;margin:0;font-size:1.05rem;position:relative}.banner-button{color:#263b4a;white-space:nowrap;z-index:2;background:#fb8858;width:max-content;margin-top:25px;position:relative;box-shadow:0 8px 20px #0003}.active-callout{background:var(--navy);color:#fff;grid-template-columns:1fr auto;align-items:center;gap:50px;padding:clamp(45px,6vw,80px) max(5vw,30px);display:grid}.active-callout h2{margin:12px 0;font-size:clamp(2rem,4vw,3.4rem)}.active-callout p{color:#c8dde3;margin:0}.project-index em{color:#075d58;text-transform:uppercase;letter-spacing:.08em;background:#dff7f2;width:max-content;margin-top:14px;padding:5px 9px;font-size:.68rem;font-style:normal;font-weight:800;display:inline-block}.application>.button{align-self:center}@media (max-width:750px){.recruitment-banner,.active-callout{grid-template-columns:1fr}.recruitment-banner figure{aspect-ratio:auto;border-top:1px solid #ffffff1f;min-height:150px}.recruitment-banner figure:before{top:22px}.recruitment-banner figure img{padding:32px 42px 8px}.campaign-copy{padding:38px 24px 48px}.recruitment-banner .button,.active-callout .button{width:100%}.campaign-copy:after{opacity:.45}}
